Hướng dẫn cài đặt thư viện OpenCV và Tensorflow trên hệ điều hành Ubuntu Jetson Nano

Hướng dẫn cài đặt thư viện OpenCV và Tensorflow trên hệ điều hành Ubuntu Jetson Nano

11:41 - 20/08/2019

Hãy cùng bắt đầu lập trình AI trên Jetson Nano bằng việc cài đặt thư viện OpenCV nhé !!! 

NVIDIA Jetson AGX Orin hiệu suất AI mạnh nhất của NVIDIA Jetson Family với 275 TOPS, 2048 NVIDIA® CUDA® cores, 64 Tensor Cores
NVIDIA Jetson AGX Orin Hardware Layout and GPIO Expansion Header Pinout
NVIDIA Jetson là nền tảng hàng đầu thế giới dành cho Trí tuệ nhân tạo (AI) và Deep Learning
Jetson Stats dùng cho Giám sát và Điều khiển trên NVIDIA Jetson Ecosystem [Xavier NX, Nano, AGX Xavier, TX1, TX2]
Xilinx Kria Edge AI SOM ra mắt với Developer Kit

Hướng dẫn cài đặt thư viện OpenCV và thư viện Tensorflow trên hệ điều hành Ubuntu Jetson Nano


Xin chào các bạn !

Như các bạn đã biết, thư viện OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (Computer vision), xử lý ảnh và máy học (machine learning) và các tính năng tăng tốc GPU trong thời gian thực.

OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại. Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android. OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực

OpenCV được viết bằng C/C++ có thể tận dụng lợi thế của xử lý đa lõi. Được sử dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần. Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác mỏ, bản đồ trên web hoặc công nghệ robot.

Sự phát triển của trí tuệ nhân tạo dẫn đến việc tìm hiểu về machine learning và deep learning đã trở thành xu thế hiện nay. Việc sử dụng các thư viện có sẵn để tính toán đã giúp việc tiếp cận các bài toán trở nên đơn giản hơn.Tensorflow là một thư viện mã nguồn mở cung cấp khả năng xử lí tính toán số học dựa trên biểu đồ mô tả sự thay đổi của dữ liệu. Tensorflow được sử dụng khi bạn cần giải quyết các bài toán supervised learning.

Hôm nay mình sẽ hướng dẫn các bạn cách cài đặt thư viện OpenCVTensorflow trên hệ điều hành Ubuntu 18.04 trong loạt bài viết về Jetson Nano nhé !!!

Nào hãy mở cửa sổ Terminal lên và chúng ta cùng bắt đầu nhé !!!


GIỚI THIỆU VỀ JETPACK


JetPack 4.2.2 là phiên bản sản xuất mới nhất hỗ trợ các mô-đun Jetson AGX Xavier, mô-đun Jetson TX2, Jetson TX1 và Jetson Nano.

Tất cả các tính năng đều giống như JetPack 4.2.1, ngoại trừ:

+ Thêm hỗ trợ cho Jetson AGX Xavier 8GB

+ Thêm hỗ trợ cho DeepStream 4.0.1

Ngoài các tính năng được liệt kê bên dưới, JetPack 4.2.1 cũng giới thiệu hai tính năng beta: NVIDIA Container Runtime với tích hợp Docker và hỗ trợ TensorRT cho các hoạt động INT-8 DLA.

Các thành phần chứa trong JetPack :

+ L4T R32.2 (K4.9)

+ Ubuntu 18.04 LTS aarch64

+ CUDA 10.0.326

+ cuDNN 7.5.0.66

+ TenorRT 5.1.6.1

+ VisionWorks 1.6

+ OpenCV 3.3.1

+ Hệ thống Nsight 2019.4

+ Đồ họa Nsight 2019.2

+ Trình quản lý SDK 0.9.13

Chính vì vậy, các bạn chỉ cần cài gói Jetpack này như cài một hệ điều hành Ubuntu bình thường, các bạn cũng đã có thể sử dụng Opencv, nhưng đây là bản Opencv dành cho Python2, nên các bạn sử dụng Python3 thì cần cài đặt theo các bước ở phần dưới (Cài đặt thư viện opencv)

Link tải và cài đặt Jetpack : https://developer.nvidia.com/embedded/jetpack


Bạn có thể tham khảo Jetpack 4.3 ở phía dưới. Gói này đã hỗ trợ OpenCV trên cả python2 và python3.


CÁCH 1 : CÀI ĐẶT THƯ VIỆN OPENCV TRỰC TIẾP


Bước 1 : Cập nhật và nâng cấp các gói cài đặt mặc định của hệ điều hành Ubuntu :


sudo apt-get update

sudo apt-get upgrade


Bước 2 : Cài đặt các công cụ cho nhà phát triển :


sudo apt -y install build-essential checkinstall cmake pkg-config

sudo apt -y install git gfortran


Bước 3 : Cài đặt các gói Input / Output hình ảnh :


sudo apt -y install libjpeg8-dev libpng-dev

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"

sudo apt install libjasper1 libjasper-dev


Bước 4 : Cài đặt thư viện phát triển GTK :


sudo apt -y install libgtk-3-dev libtbb-dev qt5-default


Bước 5 : Cài đặt một số các gói phụ thuộc khác :


sudo apt -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libdc1394-22-dev

sudo apt -y install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

sudo apt -y install libatlas-base-dev

sudo apt -y install libfaac-dev libmp3lame-dev libtheora-dev

sudo apt -y install libxvidcore-dev libx264-dev

sudo apt -y install libopencore-amrnb-dev libopencore-amrwb-dev

sudo apt -y install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen x264 v4l-utils


Bước 6 : Tải xuống các gói opencv và opencv_contrib từ Github :


git clone https://github.com/opencv/opencv.git

git clone https://github.com/opencv/opencv_contrib.git


Bước 7 : Biên dịch và cài đặt :


cd opencv

mkdir build

cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \

          -D CMAKE_INSTALL_PREFIX=/usr/local \

          -D INSTALL_C_EXAMPLES=ON \

          -D INSTALL_PYTHON_EXAMPLES=ON \

          -D OPENCV_EXTRA_MODULES_PATH= ~/opencv_contrib/modules \

          -D PYTHON_EXECUTABLE=/usr/bin/python3 \

          -D BUILD_EXAMPLES=ON ..

huong-d%E1%BA%ABn-cai-dat-thu-vien-opencv-tren-he-dieu-hanh-ubuntu-jetson-nano


Bước 8 : Biên dịch OpenCV trong thư mục cùng với cmake :


make -j4

 huong-d%E1%BA%ABn-cai-dat-thu-vien-opencv-tren-he-dieu-hanh-ubuntu-jetson-nano-1


Bước 9 : Thực hiện việc cài đặt trong hệ thống Ubuntu :


sudo make install

sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'

sudo ldconfig

huong-d%E1%BA%ABn-cai-dat-thu-vien-opencv-tren-he-dieu-hanh-ubuntu-jetson-nano-2

sudo apt -y install python3-opencv

huong-d%E1%BA%ABn-cai-dat-thu-vien-opencv-tren-he-dieu-hanh-ubuntu-jetson-nano-3

sudo find / -type f -name "cv2*.so"

cd /usr/lib/python3.6/dist-packages

sudo mv cv2.cpython-36m-aarch64-linux-gnu.so cv2.so


Bước 10 : Kiểm tra xem OpenCV đã cài đặt thành công chưa :


python3

import cv2

huong-d%E1%BA%ABn-cai-dat-thu-vien-opencv-tren-he-dieu-hanh-ubuntu-jetson-nano-4


CÁCH 2 :  CÀI ĐẶT JETPACK 4.3 ĐƯỢC CÀI SẴN OPENCV 


Hiện tại đã có JetPack 4.3 bạn có thể sử dụng OpenCV hỗ trợ cho cả Python2 và Python3. Tuy nhiên chưa bao gồm thư viện TENSORFLOW


Các bạn có thể xem các tính năng chi tiết mới nhất của JetPack tại đây (JetPack Release Notes)

Các bạn có thể tải phiên bản mới nhất tại đây (Jetpack 4.3 for Jetson Nano)


CÀI ĐẶT THƯ VIỆN TENSORFLOW :


Bước 1 : Cài đặt trình quản lý gói pip của Python :


wget https://bootstrap.pypa.io/get-pip.py

sudo python3 get-pip.py

huong-d%E1%BA%ABn-cai-dat-thu-vien-opencv-tren-he-dieu-hanh-ubuntu-jetson-nano-5


Bước 2 : Cài đặt thư viện numpy bằng câu lệnh :


sudo pip install numpy

huong-d%E1%BA%ABn-cai-dat-thu-vien-opencv-tren-he-dieu-hanh-ubuntu-jetson-nano-6


Bước 3 : Cài đặt thư viện Tensorflow chính thức dành cho Jetson Nano bằng câu lệnh :


sudo pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu==1.13.1+nv19.3


Bước 4 : Kiểm tra thư viện đã cài thành công chưa :


python3

import tensorflow as tf

huong-d%E1%BA%ABn-cai-dat-thu-vien-opencv-tren-he-dieu-hanh-ubuntu-jetson-nano-11

Vậy là chúng ta đã cùng nhau cài đặt thành công thư viện OpenCV và thư viện Tensorflow, các bạn có thể thỏa sức sáng tạo code Xử lý Ảnh với vô vàn các project thú vị !!!


ĐỌC THÊM


So sánh Jetson Nano với Raspberry Pi 4 : Liệu Jetson Nano có thay thế được Raspberry Pi ?

Cách view Desktop Ubuntu sang Windows 10 sử dụng công cụ RDP (Remote Desktop Protocol)

Cài đặt hệ điều hành Ubuntu 18.04 cho Jetson Nano Developer Kit

Cài đặt thư viện OpenCV 3.4.0 cho Jetson Nano Developer Kit

Cài đặt một số thư viện khác cho Xử lý Ảnh (dlib, pyqt4, numpy, sklearn, ...)

Kết nối camera CSI cho Jetson Nano Developer Kit

Hướng dẫn giao thức UART truyền nhận giữa Jetson Nano và máy tính Window 10

Hướng dẫn sử dụng SSH, WinSCP và Remote Desktop cho NVIDIA Jetson Nano


SẢN PHẨM THAM KHẢO


NVIDIA Jetson Nano B01- phiên bản mới nhất của Jetosn Nano đã có mặt trên MLab

Link sản phẩm tham khảo :

+ List sản phẩm dành cho Jetson Nano : Link

+ Jetson Nano Cũ (bản A02) : Link

+ Jetson Nano Mới (bản B01) : Link


Nếu các bạn có bất kỳ ý tưởng mới nào đừng ngần ngại mà hãy inbox trực tiếp cho fanpage . Xin chào và hẹn gặp lại các bạn trong các bài viết tiếp theo !!!

PIVIETNAM.COM.VN CHÚC CÁC BẠN THÀNH CÔNG !!!

Thực hiện bài viết : Bùi Minh Đức


Để cập nhật các tin tức công nghệ mới các bạn làm theo hướng dẫn sau đây :


Các bạn vào Trang chủ >> Tin tức. ở mục này có các bài viết kỹ thuật thuộc các lĩnh vực khác nhau các bạn có thể lựa chọn lĩnh vực mà mình quan tâm để đọc nhé !!!

Các bạn cũng có thế kéo xuống cuối trang để xem những tin tức công nghệ mới nhất.