Jetson Nano 기본 세팅


Jetson nano에 OS를 설치하고 난 후 기본 세팅과 프로젝트에 필요한 라이브러리를 설치한다.
아래 순서를 따라하도록 한다.

OS 기본 세팅

참고자료

OS 기본 세팅을 마친 후 터미널을 열어 최신 상태로 update와 upgrade를 해준다.

# update & upgrade
sudo apt-get update
sudo apt-get upgrade

방열판 제어

방열팬이 있다면 방열팬을 부착하고 아래 github에 접속해 방열팬을 제어할 수 있게 한다.


방열판 제어


VSCode 설치

jetpack에 VSCode를 설치하여 프로그램을 구동할 수 있는 환경을 만들어 준다.
VSCode는 터미널에서 쉽게 설치할 수 있다.

# VScode install

# 1. vscode 다운로드
git clone https://github.com/JetsonHacksNano/installVSCode.git

# 2. install 파일이 있는 폴더로 이동
cd installVSCode

# 3. 설치 파일 실행
./installVSCode.sh

라이브러리 설치

이제부터 프로젝트에 필요한 라이브러리를 설치해 주도록 한다.
순서는 아래와 같다.

1. pip, pkg 설치
2. opencv
3. cmake
4. dlib
5. face_recognition

순서로 설치해준 후 프로그램을 실행시켜 잘 작동하는지 확인하는 것이 중요하다.
각 라이브러리는 설치까지 시간이 소요되므로 jetpack에 화면보호기 설정을 해주는 것이 좋다.


pip, package 설치

python 2.7 버전의 pip 설치

sudo apt-get install python-pip

각종 패키지 설치

sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev

python3 버전의 pip 설치

sudo apt-get install python3-pip

pip3 업그레이드, 패키지 설치

sudo pip3 install -U pip testresources setuptools

python3 각종 패키지 설치

sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras-preprocessing==1.1.1 keras-applications==1.0.8 gast==0.2.2 enum34 futures protobuf pybind11

opencv install

opencv 설치

mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip
wget -O opencv_contrib.zip
https://github.com/opencv/opencv_contrib/archive/3.4.0.zip

unzip opencv.zip
unzip opencv_contrib.zip

cd opencv-3.4.0
mkdir build
cd build

opencv build

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.0/modules \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 \
-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \
-D PYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages\
-D PYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so\
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
../

방열팬 설정

# 방열팬이 있을 경우
make -j4

# 없을 경우
make -j2

opencv 컴파일

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

dlib 설치

# 행렬 계산에 필요한 numpy 설치
pip3 install numpy

엔비디아 cuda 라이브러리에 jetson nano 버그가 있으므로 dlib 설치시 변경점이 있다.

wget http://dlib.net/files/dlib-19.17.tar.bz2

tar jxvf dlib-19.17.tar.bz2

cd dlib-19.17

gedit dlib/cuda/cudnn_dlibapi.cpp

forward_algo = forward_best_algo; ->//forward_algo = forward_best_algo; //주석처리

설치

sudo python3 setup.py install

sudo pip3 install face_recognition

설치를 완료하면 Jetson nano에 정상적으로 프로젝트를 실행시킬 수 있다.