버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

코드 블럭
$ python3
>>> tf.test.is_gpu_available() 
Use ‘tf.config.list_physical_devices(‘GPU’)’ instead.

또는 

$ python3
>>> tf.test.is_gpu_availble()
True

위 결과처럼 나올 경우 GPU 사용

...

opencv 설치

  1. opencv 삭제

코드 블럭
$ sudo apt-get install python3-opencv 
$ sudo apt-get remove python3-opencv
  1. swap 공간 할당

정보

opencv 전체 빌드에는 약 8GB 이상의 램이 필요하며, Jetson nano는 ram이 4GB 이기 때문에 swap 공간을 할당해주어야 합니다.

코드 블럭
# 현재경로 : ~/
$ git clone https://github.com/JetsonHacksNano/installSwapfile.git  
$ cd installSwapfile
$ ./installSwapfile.sh
  1. mediapipe source clone

코드 블럭
$ cd ~
$ git clone https://github.com/google/mediapipe.git 
$ cd mediapipe

...

  1. opencv 삭제

코드 블럭
$ sudo apt-get install python3-opencv 
$ sudo apt-get remove python3-opencv
$ sudo apt purge libopencv-dev libopencv-python libopencv-samples libopencv*

  1. opencv가 남아있는지 확인

코드 블럭
$ pkg-config --modversion opencv4

  1. 패키지 업데이트 및 필요한 패키지 설치

코드 블럭
$ sudo apt update
코드 블럭
$ sudo apt install -y python3-pip python-dev python3-dev python-numpy python3-numpy
$ sudo sh -c "echo '/usr/local/cuda/lib64' >> /etc/ld.so.conf.d/nvidia-tegra.conf"
$ sudo apt install -y qt5-default
$ sudo apt install -y build-essential cmake git unzip pkg-config libswscale-dev
$ sudo apt install -y libcanberra-gtk* libgtk2.0-dev
$ sudo apt install -y libtbb2 libtbb-dev libavresample-dev libvorbis-dev libxine2-dev
$ sudo apt install -y curl

  1. 사진, 비디오 포맷 설치

코드 블럭
$ sudo apt-get install -y libxvidcore-dev libx264-dev libgtk-3-dev
$ sudo apt install -y libjpeg-dev libpng-dev libtiff-dev
$ sudo apt install -y libmp3lame-dev libtheora-dev libfaac-dev libopencore-amrnb-dev
$ sudo apt install -y libopencore-amrwb-dev libopenblas-dev libatlas-base-dev
$ sudo apt install -y libopencv-core-dev  libopencv-highgui-dev libopencv-calib3d-dev libopencv-features2d-dev libopencv-imgproc-dev libopencv-video-dev
$ sudo chmod 744 setup_opencv.sh
$ ./setup_opencv.sh
코드 블럭
$ sudo pip3 install opencv_contrib_python
$ sudo apt install curl

...

 libblas-dev liblapack-dev libeigen3-dev libgflags-dev
$ sudo apt install -y protobuf-compiler libprotobuf-dev libgoogle-glog-dev  
$ sudo apt install -y libavcodec-dev libavformat-dev gfortran libhdf5-dev
$ sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ sudo apt install -y libv4l-dev v4l-utils qv4l2 v4l2ucp libdc1394-22-dev

  1. opencv & contrib modules 설치 및 압축해제

코드 블럭
# 현재 경로 : ~
$ curl -L https://github.com/opencv/opencv/archive/4.5.1.zip -o opencv-4.5.1.zip
$ curl -L https://github.com/opencv/opencv_contrib/archive/4.5.1.zip -o opencv_contrib-4.5.1.zip
코드 블럭
$ unzip opencv-4.5.1.zip
$ unzip opencv_contrib-4.5.1.zip

  1. build 폴더 생성 및 이동

코드 블럭
# 현재 경로 : ~/opencv-4.5.1
$ mkdir build
$ cd build

  1. opencv와 contribs modules 빌드 (많은 시간 소요)

코드 블럭
$ cmake -D WITH_CUDA=ON \
        -D ENABLE_PRECOMPILED_HEADERS=OFF \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.1/modules \
        -D WITH_GSTREAMER=ON \
        -D WITH_LIBV4L=ON \
        -D BUILD_opencv_python2=ON \
        -D BUILD_opencv_python3=ON \
        -D BUILD_TESTS=OFF \
        -D BUILD_PERF_TESTS=OFF \
        -D BUILD_EXAMPLES=OFF \
        -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.1/modules \
        -D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \
        -D CUDA_ARCH_BIN="7.2" \
        -D CUDA_ARCH_PTX="" \
        -D WITH_CUDNN=ON \
        -D WITH_CUBLAS=ON \
        -D ENABLE_FAST_MATH=ON \
        -D CUDA_FAST_MATH=ON \
        -D OPENCV_DNN_CUDA=ON \
        -D ENABLE_NEON=ON \
        -D WITH_QT=OFF \
        -D WITH_OPENMP=ON \
        -D WITH_OPENGL=ON \
        -D BUILD_TIFF=ON \
        -D WITH_FFMPEG=ON \
        -D WITH_TBB=ON \
        -D BUILD_TBB=ON \
        -D WITH_EIGEN=ON \
        -D WITH_V4L=ON \
        -D OPENCV_ENABLE_NONFREE=ON \
        -D INSTALL_C_EXAMPLES=ON \
        -D INSTALL_PYTHON_EXAMPLES=ON \
        -D BUILD_NEW_PYTHON_SUPPORT=ON \
        -D BUILD_opencv_python3=TRUE \
        -D OPENCV_GENERATE_PKGCONFIG=ON \
        -D BUILD_EXAMPLES=OFF ..
코드 블럭
# 코어 개수에 따라 옵션을 주세요 
# 예) make -j4

$ make
$ sudo make install
$ sudo ldconfig

mediapipe 설치

https://drive.google.com/file/d/1lHr9Krznst1ugLF_ElWGCNi_Y4AmEexx/view?usp=sharing 다운로드

...

코드 블럭
$ unzip mediapipe-bin.zip
$ cd mediapipe-bin
$ sudo pip3 install numpy-1.19.4-cp36-none-manylinux2014_aarch64.whl mediapipe-0.8.5_cuda102-cp36-none-linux_aarch64.whl
$ pip3 install dataclasses

mediapipe (

...

HandTracking) 예제 실행

코드 블럭
$ git clone https://github.com/Melvinsajith/How-to-Install-Mediapipe-in-Jetson-Nano.git 
$ cd How-to-Install-Mediapipe-in-Jetson-Nano

...