본문 바로가기
NVIDIA Jetson

YOLOv4 on NVIDIA Jetson Nano

by choice1219 2021. 5. 10.

안녕하세요. 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 파일을 다운로드 합니다.

    github.com/AlexeyAB/darknet

 

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