https://github.com/qengineering/lffd-mnn-raspberry-pi-4
Face detection with MNN for Raspberry Pi 4
https://github.com/qengineering/lffd-mnn-raspberry-pi-4
aarch64 deep-learning face-detection lffd mnn mnn-framework raspberry-pi-4 raspberry-pi-64-os
Last synced: 5 months ago
JSON representation
Face detection with MNN for Raspberry Pi 4
- Host: GitHub
- URL: https://github.com/qengineering/lffd-mnn-raspberry-pi-4
- Owner: Qengineering
- License: bsd-3-clause
- Created: 2021-04-15T10:32:13.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-04-15T10:44:17.000Z (about 4 years ago)
- Last Synced: 2024-11-27T11:36:26.457Z (7 months ago)
- Topics: aarch64, deep-learning, face-detection, lffd, mnn, mnn-framework, raspberry-pi-4, raspberry-pi-64-os
- Language: C++
- Homepage: https://qengineering.eu/deep-learning-examples-on-raspberry-32-64-os.html
- Size: 24.2 MB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LFFD face detection Raspberry Pi 4

## LFFD face detection with the MNN framework.
[](https://opensource.org/licenses/BSD-3-Clause)
Paper: https://arxiv.org/pdf/1904.10633.pdf
Special made for a bare Raspberry Pi 4 see [Q-engineering deep learning examples](https://qengineering.eu/deep-learning-examples-on-raspberry-32-64-os.html)------------
## Benchmark.
| 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** |------------
## 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](https://qengineering.eu/install-raspberry-64-os.html)
- The Alibaba's MNN framework installed. (https://qengineering.eu/install-mnn-on-raspberry-pi-4.html)
- OpenCV 64 bit installed. [Install OpenCV 4.5](https://qengineering.eu/install-opencv-4.5-on-raspberry-64-os.html)
- 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/LFFD-MNN-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:
images folder
Walks2.mp4
FaceDetection_LFFD_MNN.cpb
main.cpp
LFFD_MNN.h
LFFD_MNN.cpp
symbol_10_320_20L_5scales_v2_deploy.mnn
symbol_10_560_25L_8scales_v1_deploy.mnn------------
## Running the app.
To run the application load the project file FaceDetection_LFFD_MNN.cbp in Code::Blocks.
Next, follow the instructions at [Hands-On](https://qengineering.eu/deep-learning-examples-on-raspberry-32-64-os.html#HandsOn).
