안녕하세요. VeriLog입니다.
오늘은 대표적인 Object Detection 알고리즘인 YOLOv4를 Jetson Nano에서 구현하는 법에 대해 포스팅하려고 합니다.
저의 환경은 다음과 같습니다.
- Jetson Nano
- JetPack version: 4.5.1
먼저 Jetson Nano에 대한 초시 세팅이 필요합니다. 초기 세팅법은 이전 포스팅을 참고해주세요.
2019.10.25 - [NVIDIA Jetson] - Getting Started with Jetson Nano
Getting Started with Jetson Nano
Today, I would like to share how to set up Jetson Nano. Reference: Nvidia Site https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#intro Here is pre-requisite materials. 1. A..
verilog-119b.tistory.com
1. Darknet 다운로드 및 설정
1) Git Source 다운로드
- Jetson Nano에서 터미널을 열어주신 후, 아래 명령어를 사용하여 Darknet을 다운로드 받아주세요.
git clone https://github.com/AlexeyAB/darknet.git
2) nvcc 설정
- Darknet은 CUDA, cuDNN, OpenCV를 사용합니다.
- JetPack은 이미 CUDA, cuDNN, OpenCV를 설치해놨기 때문에 추가 설치할 필요는 없습니다.
- 다만, 설정이 안되어 있기 때문에, 추가적인 경로 설정을 해주셔야합니다.
- 터미널 창에서 아래 코드를 수행시키면, 새 창이 뜹니다.
sudo gedit ~/.bashrc
- 새 창 맨 밑줄에 아래 두 줄을 추가 후 저장해주세요.
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}$
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
- 이후, 터미널을 껐다가 새로 켜야 반영이 됩니다.
3) Darknet make
- 터미널을 새로 킨 상태에서 아래 명령어를 통해 Darknet 폴더로 이동합니다.
cd darknet
- Darknet 폴더 안에 있는 Makefile을 연 후, 아래와 같이 GPU, cuDNN, OpenCV를 활성화 해주세요.
sudo gedit Makefile
GPU=1
CUDNN=1
CUDNN_HALF=0
OPENCV=1
- make 명령어를 통해, 빌드합니다.
make
4) weight file 다운로드
- AlexeyAB 깃허브에 접속 후, yolov4.weights 파일을 다운로드 합니다.
AlexeyAB/darknet
YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet ) - AlexeyAB/darknet
github.com
2. Demo
1) 이미지 파일 데모
./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg
2) 웹캠 데모
- 웹캠 데모를 위해서는 usb 카메라 연결이 필요합니다.
- 기본적으로 camera 번호는 0번으로 세팅되지만, 다른 번호로 세팅이 된 경우, -c 이후에 숫자를 1, 2, 3 등으로 변경해보시면 됩니다.
(Pi Camera와 같은 CSI 방식은 다른 형식을 사용해야합니다.)
./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -c 0
*결과사진 및 영상은 추후에 업로드 하도록 하겠습니다.
질문 있으시면 댓글로 남겨주시면, 답변드리겠습니다.
'NVIDIA Jetson' 카테고리의 다른 글
Jetson Nano Visual Studio Code & Arduino install Guide (2) | 2021.05.12 |
---|---|
Jetson Inference Using OpenCV (0) | 2019.11.05 |
Getting Started with Jetson Nano (0) | 2019.10.25 |