Paper: https://arxiv.org/pdf/2105.12931.pdf
Special made for a bare Raspberry Pi 4, see Q-engineering deep learning examples
Model | framework | model | size | mAP | Jetson Nano 2015 MHz |
RPi 4 64-OS 1950 MHz |
---|---|---|---|---|---|---|
Ultra-Light-Fast | ncnn | slim-320 | 320x240 | 67.1 | - FPS | 26 FPS |
Ultra-Light-Fast | ncnn | RFB-320 | 320x240 | 69.8 | - FPS | 23 FPS |
Ultra-Light-Fast | MNN | slim-320 | 320x240 | 67.1 | 70 FPS | 65 FPS |
Ultra-Light-Fast | MNN | RFB-320 | 320x240 | 69.8 | 60 FPS | 56 FPS |
Ultra-Light-Fast | OpenCV | slim-320 | 320x240 | 67.1 | 48 FPS | 40 FPS |
Ultra-Light-Fast | OpenCV | RFB-320 | 320x240 | 69.8 | 43 FPS | 35 FPS |
Ultra-Light-Fast + Landmarks | ncnn | slim-320 | 320x240 | 67.1 | 50 FPS | 24 FPS |
LFFD | ncnn | 5 stage | 320x240 | 88.6 | 16.4 FPS | 4.85 FPS |
LFFD | ncnn | 8 stage | 320x240 | 88.6 | 11.7 FPS | 3.45 FPS |
LFFD | MNN | 5 stage | 320x240 | 88.6 | 2.6 FPS | 2.17 FPS |
LFFD | MNN | 8 stage | 320x240 | 88.6 | 1.8 FPS | 1.49 FPS |
CenterFace | ncnn | - | 320x240 | 93 | 16.5 FPS | 6.8 FPS |
YoloV5 face | ncnn | - | 320x320 | 93.6 | - FPS | 17.2 FPS |
YoloV5 face | ncnn | - | 480x480 | 93.6 | - FPS | 7.2 FPS |
YoloV5 face | ncnn | - | 640x640 | 93.6 | - FPS | 4.0 FPS |
YoloV5 face | ncnn | - | 1280x1280 | 93.6 | - FPS | 1.0 FPS |
YoloV5 face | ncnn | - | 1920x1920 | 93.6 | - FPS | 0.5 FPS |
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
)
To extract and run the network in Code::Blocks
$ mkdir MyDir
$ cd MyDir
$ wget https://github.com/Qengineering/YoloV5-face-ncnn-RPi4/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:
9.jpg
11.jpg
26.jpg
selfie.jpg
YoloV5-face.cpb
main.cpp
yolov5-blazeface.bin
yolov5-blazeface.param
To run the application load the project file YoloV5-face.cbp in Code::Blocks. More info or
The accuracity depends on the target size which can be set in main.cpp
at line 30 face_detector.detect(m, objects, 640);
.
if you want to connect a camera to the app, follow the instructions at Hands-On.
target size 1280.
target size 640.
target size 640.