YoloFastestV2 Ncnn Raspberry Pi 4
YoloFastestV2 for a bare Raspberry Pi 4
Install / Use
npx skills add Qengineering/YoloFastestV2-ncnn-Raspberry-Pi-4Installs into whichever agent you are using.
README
YoloFastestV2 Raspberry Pi 4

YoloFastest V2 with the ncnn framework. <br/>
<br/><br/>
A truly impressive YOLO family member. As long as the images are not too large and/or the objects are too small, very high frame rates are achieved with more than acceptable accuracy. Thanks dog-qiuqiu for all the hard work.<br/><br/>
Special adapt for a bare Raspberry Pi 4, see Q-engineering deep learning examples
Benchmark.
Numbers in FPS and reflect only the inference timing. Grabbing frames, post-processing and drawing are not taken into account.
| Model | size | mAP | Jetson Nano | RPi 4 1950 | RPi 5 2900 | Rock 5 | RK3588<sup>1</sup><br>NPU | RK3566/68<sup>2</sup><br>NPU | Nano<br>TensorRT | Orin<br>TensorRT | | ------------- | :-----: | :-----: | :-------------: | :-------------: | :-----: | :-----: | :-------------: | :-------------: | :-----: | :-----: | | NanoDet | 320x320 | 20.6 | 26.2 | 13.0 | 43.2 |36.0 ||||| | NanoDet Plus | 416x416 | 30.4 | 18.5 | 5.0 | 30.0 | 24.9 ||||| | PP-PicoDet | 320x320 | 27.0 | 24.0 | 7.5 | 53.7 | 46.7 ||||| | YoloFastestV2 | 352x352 | 24.1 | 38.4 | 18.8 | 78.5 | 65.4 | |||| | YoloV2 <sup>20</sup>| 416x416 | 19.2 | 10.1 | 3.0 | 24.0 | 20.0 | |||| | YoloV3 <sup>20</sup>| 352x352 tiny | 16.6 | 17.7 | 4.4 | 18.1 | 15.0 | |||| | YoloV4 | 416x416 tiny | 21.7 | 16.1 | 3.4 | 17.5 | 22.4 | |||| | YoloV4 | 608x608 full | 45.3 | 1.3 | 0.2 | 1.82 | 1.5 | |||| | YoloV5 | 640x640 nano | 22.5 | 5.0 | 1.6 | 13.6 | 12.5 | 58.8 | 14.8 | 19.0 | 100 | | YoloV5 | 640x640 small | 22.5 | 5.0 | 1.6 | 6.3 | 12.5 | 37.7 | 11.7 | 9.25 | 100 | | YoloV6 | 640x640 nano | 35.0 | 10.5 | 2.7 | 15.8 | 20.8 | 63.0 | 18.0 ||| | YoloV7 | 640x640 tiny | 38.7 | 8.5 | 2.1 | 14.4 | 17.9 | 53.4 | 16.1 | 15.0 || | YoloV8 | 640x640 nano | 37.3 | 14.5 | 3.1 | 20.0 | 16.3 | 53.1 | 18.2 ||| | YoloV8 | 640x640 small | 44.9 | 4.5 | 1.47 | 11.0 | 9.2 | 28.5 | 8.9 ||| | YoloV9 | 640x640 comp | 53.0 | 1.2 | 0.28 | 1.5 | 1.2 | |||| | YoloX | 416x416 nano | 25.8 | 22.6 | 7.0 | 38.6 | 28.5 | |||| | YoloX | 416x416 tiny | 32.8 | 11.35 | 2.8 | 17.2 | 18.1 | |||| | YoloX | 640x640 small | 40.5 | 3.65 | 0.9 | 4.5 | 7.5 | 30.0 | 10.0 |||
<b><sup>1</sup></b> The Rock 5 and Orange Pi5 have the RK3588 on board.<br> <b><sup>2</sup></b> The Rock 3, Radxa Zero 3 and Orange Pi3B have the RK3566 on board.<br> <b><sup>20</sup></b> Recognize 20 objects (VOC) instead of 80 (COCO)
Dependencies.
To run the application, you have to:
- A Raspberry Pi 4 with a 64-bit operating system. It can be the Raspberry 64-bit OS, or Ubuntu 18.04 / 20.04. Install 64-bit OS <br/>
- The Tencent ncnn framework installed. Install ncnn <br/>
- OpenCV 64-bit installed. Install OpenCV 4.5 <br/>
- Code::Blocks installed (Optional). (
$ sudo apt-get install codeblocks)
Installing the app.
To extract and run the network in Code::Blocks <br/> $ mkdir MyDir <br/> $ cd MyDir <br/> $ wget https://github.com/Qengineering/YoloFastestV2-ncnn-Raspberry-Pi-4/archive/refs/heads/main.zip <br/> $ unzip -j master.zip <br/> Remove master.zip, LICENSE and README.md as they are no longer needed. <br/> $ rm master.zip <br/> $ rm LICENSE <br/> $ rm README.md <br/> <br/> Your MyDir folder must now look like this: <br/> James.mp4 <br/> parking.jpg <br/> parking_tiny.jpg <br/> YoloFastestV2.cpb <br/> mainFV2.cpp <br/> yolo-fastestv2.cpp <br/> yolo-fastestv2.h <br/> yolo-fastestv2-opt.bin <br/> yolo-fastestv2-opt.param <br/>
Running the app.
To run the application load the project file YoloFastestV2.cbp in Code::Blocks.<br>
Or use Cmake.
$ cd *MyDir*
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
More info or if you want to connect a camera to the app, follow the instructions at Hands-On.<br/><br/>
Many thanks to dog-qiuqiu <br/><br/>
<br/>
<br/>
<br/>

Related Skills
mcp
Use the `mcp_perplexity-ask_perplexity_search` tools to answer questions. You should use this instead of the `web_search` tool because it is a lot more accurate.
practical-power-systems-synthesis
This skill enables synthesis in the domain of power-systems (engineering). It represents research-level-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform synthesis operations related to power-systems.
semi-supervised-optogenetics-testing
This skill enables testing in the domain of optogenetics (neuroscience). It represents intermediate-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform testing operations related to optogenetics.
data-mining-interpretation-fundamental
This skill enables interpretation in the domain of data-mining (data-science). It represents fundamental-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform interpretation operations related to data-mining.

