본문 바로가기

프로그래밍/Jetson Nano

Jetson Nano 시작하기

Jetson Nano를 받아 처음 셋팅하는 방법입니다.

참고 https://medium.com/@ageitgey/build-a-hardware-based-face-recognition-system-for-150-with-the-nvidia-jetson-nano-and-python-a25cb8c891fd

 

1. SD카드 만들기 - Sandiak ultra 32GB sd카드에 이미지 다운받아 Etcher로 이미지 생성

2. DC 파워 사용하기 위해 점퍼 설정하고 SD카드 삽입 후 부팅

 

*주의사항

- Trensend sd카드는 써본결과 인식이 안됬다. 샌디스크를 쓰자

- Micro 5pin 전원은 왜 있는지 모르겠다. DC전원 아니면 보드가 켜지지 않는다.

- 영상처리 할거면 발열이 굉장하니 냉각팬을 붙여야 한다.            

 

첫 부팅 후 셋팅

numpy와 dlib를 컴파일 하는데 필요한 라이브러리를 설치.

 

sudo apt-get update

sudo apt-get install python3-pip cmake libopenblas-dev liblapack-dev libjpeg-dev

 

화면이 꺼지지 않게 설정.

System Setting - Brightness&Lock - Lock(off), Turn screen(Never)

 

dlib를 컴파일 하기에는 4GB RAM이 부족하기 때문에 Swap 파일일 생성한다.

JetsonHack website에서 받을 수 있다.

설치 후 재부팅한다.

git clone https://github.com/JetsonHacksNano/installSwapfile

./installSwapfile/installSwapfile.sh

 

행렬수학계산에 사용되는 파이썬 라이브러리 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

 30~60분 정도 걸리고 다 설치되면 face_recognition 라이브러리를 설치한다.

 

sudo pip3 install face_recognition

 

설치 후 doorcam.py 예제를 실행해본다.

 

wget -O doorcam.py tiny.cc/doorcam

python3 doorcam.py

하지만 에러를 뱉고 돌아가지 않는다. fail

 

example폴더의 예제를 실행해본다.

python3 facerec_from_webcam_faster.py

아주 잘 돌아간다 Success.

 

*dlib 설치가 잘 안되었을 경우에는 encoding 값이 지나치게 작은 값으로 나온다.

확인하는 방법은 다음과 같다.

import face_recognition

image = face_recognition.load_image_file("obama.jpg")

encoding = face_recognition.face_encodings(image)

encoding

dlib에 문제가 있다면 지나치게 작은 값으로 출력되니 문제가 있다면 꼭 확인해보도록 하자.