Skip to content

Qengineering/NanoDet-ncnn-Raspberry-Pi-4

Repository files navigation

NanoDet on Raspberry Pi 4

output image

NanoDet with the ncnn framework.

License

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

Specially made for a bare Raspberry Pi 4 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.

To run the application, you have to:

  • A Raspberry Pi 4 with a 32 or 64-bit operating system. It can be the Raspberry 64-bit OS, or Ubuntu 18.04 / 20.04. Install 64-bit OS
  • The Tencent ncnn framework installed. Install ncnn
  • OpenCV 64-bit installed. Install OpenCV 4.5
  • 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/NanoDet-ncnn-Raspberry-Pi-4/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:
James.mp4
parking.jpg
busstop.jpg
NanoDet.cpb
NanoDet.cpp
nanodet_m.bin
nanodet_m.param


Running the app.

To run the application load the project file NanoDet.cbp in Code::Blocks. More info or
if you want to connect a camera to the app, follow the instructions at Hands-On.

Many thanks to nihui again!

output image


paypal