Darknet YOLOv3 on Jetson Nano
We installed Darknet, a neural network framework, on Jetson Nano in order to build an environment to run the object detection model YOLOv3.
Object detection results by YOLOv3 & Tiny YOLOv3
We performed the object detection of the test images of GitHub – udacity/CarND-Vehicle-Detection: Vehicle Detection Project using the built environment.
The left and right images show the object detection results of YOLOv3 and Tiny YOLOv3, respectively.
Setup
Darknet
Darknet is a neural network framework. See Darknet: Open Source Neural Networks in C for more information. The source is published on GitHub – pjreddie/darknet: Convolutional Neural Networks.
This time we used the repository: GitHub – AlexeyAB/darknet: Windows and Linux version of Darknet Yolo v3 & v2 Neural Networks for object detection (Tensor Cores are used).
Create the ~/github directory beforehand and execute the following command.
$ cd ~/github $ git clone https://github.com/AlexeyAB/darknet $ cd darknet $ git checkout darknet_yolo_v3 -b jetson_nano
Change the Makefile in the ~/github/darknet directory as follows:
GPU=1 CUDNN=1 OPENCV=1 ARCH= -gencode arch=compute_53,code=[sm_53,compute_53]
Finally, run make.
$ PATH=/usr/local/cuda/bin:$PATH make -j$(nproc)
YOLOv3 & Tiny YOLOv3
Download the pre-trained weight files of YOLOv3 and Tiny YOLOv3 from YOLO: Real-Time Object Detection to ~/github/darknet directory.
$ cd ~/github/darknet $ wget https://pjreddie.com/media/files/yolov3.weights $ wget https://pjreddie.com/media/files/yolov3-tiny.weights
Run the following command to test YOLOv3.
$ cd ~/github/darknet $ ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
Run the following command to test Tiny YOLOv3.
$ cd ~/github/darknet $ ./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg
Summary
We installed Darknet, a neural network framework, on Jetson Nano in order to build an environment to run the object detection model YOLOv3.