/YoloV4-ncnn-Jetson-Nano

YoloV4 for Jetson Nano

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

YoloV4 Jetson Nano

output image

YoloV4 with the ncnn framework.

License

Paper: https://arxiv.org/pdf/2004.10934.pdf

Special made for a Jetson Nano see Q-engineering deep learning examples


Benchmark.

Model size mAP Jetson Nano RPi 4 1950 RPi 5 2900 Rock 5
NanoDet 320x320 20.6 26.2 FPS 13.0 FPS 43.2 FPS 36.0 FPS
NanoDet Plus 416x416 30.4 18.5 FPS 5.0 FPS 30.0 FPS 24.9 FPS
PP-PicoDet 320x320 27.0 24.0 FPS 7.5 FPS 53.7 FPS 46.7 FPS
YoloFastestV2 352x352 24.1 38.4 FPS 18.8 FPS 78.5 FPS 65.4 FPS
YoloV2 20 416x416 19.2 10.1 FPS 3.0 FPS 24.0 FPS 20.0 FPS
YoloV3 20 352x352 tiny 16.6 17.7 FPS 4.4 FPS 18.1 FPS 15.0 FPS
YoloV4 416x416 tiny 21.7 16.1 FPS 3.4 FPS 26.8 FPS 22.4 FPS
YoloV4 608x608 full 45.3 1.3 FPS 0.2 FPS 1.82 FPS 1.5 FPS
YoloV5 640x640 small 22.5 5.0 FPS 1.6 FPS 14.9 FPS 12.5 FPS
YoloV6 640x640 nano 35.0 10.5 FPS 2.7 FPS 25.0 FPS 20.8 FPS
YoloV7 640x640 tiny 38.7 8.5 FPS 2.1 FPS 21.5 FPS 17.9 FPS
YoloV8 640x640 nano 37.3 14.5 FPS 3.1 FPS 20.0 FPS 16.3 FPS
YoloV8 640x640 small 44.9 4.5 FPS 1.47 FPS 11.0 FPS 9.2 FPS
YoloX 416x416 nano 25.8 22.6 FPS 7.0 FPS 34.2 FPS 28.5 FPS
YoloX 416x416 tiny 32.8 11.35 FPS 2.8 FPS 21.8 FPS 18.1 FPS
YoloX 640x640 small 40.5 3.65 FPS 0.9 FPS 9.0 FPS 7.5 FPS

20 Recognize 20 objects (VOC) instead of 80 (COCO)


Dependencies.

April 4 2021: Adapted for ncnn version 20210322 or later

To run the application, you have to:

  • The Tencent ncnn framework installed. Install ncnn
  • Code::Blocks installed. ($ sudo apt-get install codeblocks)

Installing the app.

To extract and run the network in Code::Blocks
$ mkdir MyDir
$ cd MyDir
$ wget https://github.com/Qengineering/YoloV4-ncnn-Jetson-Nano/archive/refs/heads/main.zip
$ unzip -j master.zip
Remove master.zip, LICENSE and README.md as they are no longer needed.
$ rm master.zip
$ rm LICENSE
$ rm README.md

Your MyDir folder must now look like this:
parking.jpg
busstop.jpg
YoloV4.cpb
yolov4-tiny-opt.bin
yolov4-tiny-opt.param


Running the app.

To run the application load the project file YoloV4.cbp in Code::Blocks.
Next, follow the instructions at Hands-On.

You can switch between the YoloV4 tiny and the YoloV4 full version by the define at line 26
When deploying the full version, you have to download the 250 MB deep learning weight file yolov4-opt.bin from Mega.

Many thanks to nihui again!

output image


paypal