문서 이력
일자 | 변경내용 | 작성자 |
---|---|---|
2023. 01. 01 | 문서 초안 작성 | @ |
문서개요
Jetson Nano (jetpack version 4.6.1) 에서 mediapipe를 설치하고, USB 카메라를 사용한 Hand Tracking 예제를 실행하는 과정을 서술합니다.
절차
tensorflow (GPU사용) 설치
mediapipe를 이용하기 위해서는 tensorflow가 설치되어야 합니다.
apt update
$ sudo apt update
종속 패키지 설치
$ sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran $ sudo apt-get install python3-pip $ sudo pip3 install -U pip testresources setuptools $ sudo ln -s /usr/include/locale.h /usr/include/xlocale.h $ pip3 install Cython==0.29.36 $ pip3 install pkgconfig $ git clone https://github.com/h5py/h5py.git $ cd h5py $ H5PY_SETUP_REQUIRES=0 pip3 install . --no-deps --no-build-isolation $ sudo pip3 install -U numpy==1.19.4 future mock keras_preprocessing keras_applications gast==0.2.1 protobuf pybind11 packaging $ sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v461 tensorflow
tensorflow gpu 사용 확인
$ python3 >>> tf.test.is_gpu_available() Use ‘tf.config.list_physical_devices(‘GPU’)’ instead. 또는 $ python3 >>> tf.test.is_gpu_availble() True
위 결과처럼 나올 경우 GPU 사용
mediapipe, opencv 설치
opencv 삭제
$ sudo apt-get install python3-opencv $ sudo apt-get remove python3-opencv
swap 공간 할당
opencv 전체 빌드에는 약 8GB 이상의 램이 필요하며, Jetson nano는 ram이 4GB 이기 때문에 swap 공간을 할당해주어야 합니다.
# 현재경로 : ~/ $ git clone https://github.com/JetsonHacksNano/installSwapfile.git $ cd installSwapfile $ ./installSwapfile.sh
mediapipe source clone
$ cd ~ $ git clone https://github.com/google/mediapipe.git $ cd mediapipe
opencv 설치 (시간 많이 소요됨)
$ sudo apt-get 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
mediapipe 관련 추가 설치
https://drive.google.com/file/d/1lHr9Krznst1ugLF_ElWGCNi_Y4AmEexx/view?usp=sharing 다운로드
$ sudo apt install unzip
$ 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 (hand) 예제 실행
$ git clone https://github.com/Melvinsajith/How-to-Install-Mediapipe-in-Jetson-Nano.git $ cd How-to-Install-Mediapipe-in-Jetson-Nano
$ python3 Hand_counter.py 또는 $ python3 HandTrackingModule.py