Important information delivered promptly
Programmers transitioning to AI are following this account👇👇👇
In the past two years, object detection algorithms have developed rapidly. At a glance, single-stage algorithms have almost unified object detection, with various high-performance object detection algorithms emerging continuously. I remember that after YOLOv4 was released, improvements based on YOLO became unstoppable, with various improved versions achieving higher accuracy, faster speeds, and smaller model sizes. More lightweight models have emerged, making them more suitable for deployment on mobile devices. This article takes some time to review some popular lightweight object detection algorithms on GitHub, which will be helpful for future engineering practices.
1. YOLOv5
GitHub: https://github.com/ultralytics/yolov5
When it comes to the most popular object detection algorithm currently, YOLOv5 undoubtedly takes the crown. If YOLOv4 was the fuse, then YOLOv5 is the spark that ignited the object detection field. I remember when it first came out, it was labeled as “not proper and not rightful” because there was no paper produced, and many works highly overlapped with YOLOv4. Many industry professionals were reluctant to acknowledge it as the “orthodox” of the YOLO series. However, as time progressed, YOLOv5 gradually proved itself with its high accuracy, low latency, ease of training, easy deployment, and user-friendly features, leading to its popularity surpassing YOLOv4 and becoming the mainstream in the object detection field. The authors have continuously maintained it, with newer versions achieving higher accuracy, faster speeds, and smaller models. As of now, YOLOv5 has iterated to its sixth version.
I won’t elaborate too much on the principles of YOLOv5. The hub offers five baseline versions: x, l, m, s, n. The first four models have always been available. Although their model sizes are already quite small compared to other algorithms, they are still a bit too large for mobile devices. Therefore, the author launched the n version, specifically designed for mobile devices, with a parameter count of only 1.9M and a mean average precision (mAP) of 28.4. The accuracy metrics for each model are as follows:

2. YOLOX
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
YOLOX is the rising star of the YOLO series this year. When it first came out, various exaggerated headlines scared me (I must say that some public account’s clickbait titles are too disgusting). Fortunately, its strength is solid, and it has garnered a wave of fans. The key point is that it has provided the deployment code for you, making it a true industry conscience and setting a benchmark for future object detection algorithms.
There are many resources online explaining the principles of YOLOX, so I won’t go into detail. Let’s take a look at YOLOX’s accuracy metrics. Compared to YOLOv5, it seems that every version shows a significant improvement in accuracy. I haven’t compared it in actual projects, but it has gained considerable recognition within the industry over the past six months since its release. Both are excellent algorithms, and I can only say that everyone has their preferences; I want them all!


Since this article mainly introduces lightweight models, we will focus on the lightweight Nano and Tiny versions. The Nano version achieves a precision of 25.8 with a parameter count of 0.91M at a scale of 416, which is quite good. Looking at the Tiny version, it has always been a feature of the YOLO series, and YOLOX continues to carry on this work, significantly improving the accuracy of the Tiny version while reducing the parameter count to achieve a score of 32.8. It’s worth noting that when YOLOv3 was released in 2018, the highest precision was only 33. Now the accuracy of the Tiny version has caught up with the original v3, which makes one marvel at the rapid development of object detection technology over the past two years. There’s a vague sense of foreboding about being overwhelmed, so everyone must keep learning and not slack off!

3. NanoDet
GitHub: https://github.com/RangiLyu/nanodet
Another choice besides YOLO, the mobile-side 97FPS Anchor-Free object detection model NanoDet is now open source.
Super simple auxiliary modules accelerate training convergence and significantly improve accuracy! The real-time version of NanoDet, NanoDet-Plus, is here!
NanoDet was very popular when it first came out last year, based on the FCOS improved anchor-free algorithm, achieving a good balance between speed and accuracy, and is quite friendly for deployment. At that time, I also tried this model, but the training results were not particularly good, so I didn’t use it much. Just as I was about to forget it, the NanoDet-Plus version came out!
Super simple auxiliary modules accelerate training convergence and significantly improve accuracy! Compared to the previous generation NanoDet, it achieved a 30% accuracy improvement with just a 1 millisecond increase in latency. Compared to other lightweight models like YOLOv5-n and YOLOX-Nano, it has also improved significantly in both accuracy and speed! At the same time, NanoDet-Plus improved the code and architecture, proposing a very simple training auxiliary module that makes the model easier to train! The new version is also easier to deploy, providing demos for ncnn, OpenVINO, MNN, and Android apps!
Let’s look at the accuracy metrics for NanoDet-Plus. With a parameter count of 1.17M, it achieved a mAP of 30.4 at a size of 416, and the 1.5x version even reached 34.1, with a parameter count of only 2.44M:

4. PicoDet
GitHub: https://github.com/PaddlePaddle/PaddleDetection
ARM-CPU150FPS | PicoDet helps achieve ultra-real-time detection on mobile (strongly recommended for engineers to learn).
The algorithm is good, but Baidu’s promotional titles are consistently exaggerated, leading to much criticism upon release. However, this does not affect our learning as the algorithm itself is solid.
The authors studied the applicability of the anchor-free strategy in lightweight object detection models, enhanced the Backbone structure, and designed a lightweight Neck structure to improve the network’s feature extraction capability. They improved the label assignment strategy and loss function, making training more stable and efficient.
Through these optimizations, they created a new real-time object detection architecture called PP-PicoDet, which achieves superior object detection performance on mobile devices. Compared to other popular models, this model architecture achieves a better balance between accuracy and latency. PicoDet-S has only 0.99M parameters with an mAP of 30.6%. Compared to YOLOX-Nano, the mAP improved by 4.8%, while the mobile CPU latency decreased by 55%. Compared to NanoDet, the mAP improved by 7.1%. When the input size is 320, it achieves 123 FPS on mobile ARM CPUs (150 FPS using Paddle Lite). PicoDet-L has an mAP of 40.9% with only 3.3M parameters, an improvement of 3.7% in mAP, and is 44% faster than YOLOv5s. As shown in the figure below, this model far exceeds the latest results in lightweight object detection.

This work is an open-source project by Baidu, and PP-PicoDet has also joined the PaddleDetection family. If you want to use it, you need to familiarize yourself with the PaddlePaddle framework. By the way, PaddlePaddle has been doing a lot of open-source work recently, covering various fields with decent results, but unfortunately, its framework ecosystem has not been very strong.
5. Yolo-Fastest
GitHub: https://github.com/dog-qiuqiu/Yolo-Fastest
GitHub: https://github.com/dog-qiuqiu/Yolo-FastestV2
Yolo-Fastest: An ultra-ultra-fast open-source ARM real-time object detection algorithm.
Yolo-FastestV2: Faster, lighter, can reach 300FPS on mobile with only 250k parameters.
Yolo-Fastest is probably the first object detection algorithm to bring the YOLO series parameters below 1M. I remember being shocked when it first came out; the model size was only 1.3M, which made me realize for the first time that object detection algorithms could be designed to be so small. If you’re interested, you can check out the two articles above for more details, and it has been updated to version V2 with the following accuracy metrics:


6. YOLOv5-Lite
GitHub: https://github.com/ppogg/YOLOv5-Lite
YOLOv5-Lite: Lighter, faster, and easier to deploy YOLOv5.
A very excellent lightweight improved version of YOLOv5, with the overall algorithm being basically consistent with YOLOv5, achieving model compression by modifying YOLOv5’s backbone.
It provides different versions based on different backbones: s, c, g versions. The s version uses ShuffleNet as the backbone, the c version uses LCNet, and the g version uses Repvgg. The comparison of accuracy with various lightweight algorithms is as follows:

This project is user-friendly, with an out-of-the-box method similar to YOLOv5, making it easy to get started with decent accuracy, and is very worth learning.
7. MutualGuide
GitHub: https://github.com/ZHANGHeng19931123/MutualGuide
[BMVC2021] Next-generation compact object detector MutualGuide.
I stumbled upon this project; it’s not exactly lightweight as the provided model parameters are quite large, but since the backbones used are relatively lightweight, I decided to include it.
Project features:
Compared to many existing general object detection frameworks, MutualGuide is specially designed for embedded devices, offering significant advantages in detection speed.
Supports various detection heads such as RetinaNet, FCOS, YOLOF, and various feature extraction networks such as ResNet, VGG, RepVGG, ShuffleNet, allowing you to customize your model structure flexibly.
Incorporates engineering techniques to improve detection performance, such as Mixup, EMA, Cosine lr decay, Context Enhancement Module, GFocal loss, Balanced L1 loss, GIOU loss.
Supports training and testing on custom datasets, mixed-precision training, and TensorRT inference acceleration.
The project structure is clear, suitable for beginners to get started and familiarize themselves with the object detection pipeline.

8. YOLOv6
GitHub: https://github.com/meituan/YOLOv6
YOLOv6: An open-source framework for fast and accurate object detection.
YOLOv6 is an object detection framework developed by Meituan’s Visual Intelligence Department, dedicated to industrial applications. This framework focuses on both detection accuracy and inference efficiency. Among commonly used model sizes in the industry: YOLOv6-nano achieves an accuracy of 35.0% AP on COCO and an inference speed of 1242 FPS on T4; YOLOv6-s achieves an accuracy of 43.1% AP on COCO and an inference speed of 520 FPS on T4. In terms of deployment, YOLOv6 supports deployment on different platforms such as GPU (TensorRT), CPU (OPENVINO), ARM (MNN, TNN, NCNN), greatly simplifying the adaptation work during engineering deployment.
Currently, only three small models have been released. It’s uncertain whether the larger models do not meet the standards of the previous ones or for other reasons, but the performance of the released small models is quite good, so it’s worth trying them in projects.


9. FastestDet
GitHub: https://github.com/dog-qiuqiu/FastestDet
FastestDet: Faster than Yolo-Fastest! Stronger! Simpler! A newly designed ultra-real-time Anchor-free object detection algorithm.
This may be the smallest object detection network currently available. The author is the same as the previous fastest-yolo creator, with extreme parameter compression. Although the accuracy is somewhat lower, considering the ability to compress the model parameters so small, it is still worth learning about, especially for scenarios where accuracy requirements are not very high. FastestDet is designed to replace the Yolo-Fastest series algorithms. Compared to existing lightweight object detection algorithms like YOLOv5n, YOLOX-Nano, NanoDet, and PP-YOLO-Tiny, FastestDet is several orders of magnitude smaller in terms of both speed and parameter count (don’t compare int8 models with my fp32 models; it’s unfair). However, naturally, the accuracy is not as high. FastestDet is designed for ARM platforms with scarce computing resources, emphasizing single-core performance. In practical business scenarios, not all CPU resources will be allocated to the inference framework for model inference. If you want to run real-time object detection on devices like Raspberry Pi, RK3399, or RK3568, FastestDet is a good choice. Alternatively, if you want to run on mobile devices without occupying too many CPU resources, you can use a single core and set CPU sleep to run FastestDet under low power conditions.

Download 1: Chinese Version of OpenCV-Contrib Extension Module Tutorial
Reply "Chinese Tutorial for Extension Modules" in the "Beginner's Guide to Vision" public account backend to download the first Chinese version of the OpenCV extension module tutorial available online, covering installation of extension modules, SFM algorithms, stereo vision, object tracking, biological vision, super-resolution processing, and more than twenty chapters of content.
Download 2: 52 Lectures on Python Vision Practical Projects
Reply "Python Vision Practical Projects" in the "Beginner's Guide to Vision" public account backend to download 31 vision practical projects, including image segmentation, mask detection, lane detection, vehicle counting, eyeliner addition, license plate recognition, character recognition, emotion detection, text content extraction, and face recognition, to help you quickly learn computer vision.
Download 3: 20 Lectures on OpenCV Practical Projects
Reply "20 Lectures on OpenCV Practical Projects" in the "Beginner's Guide to Vision" public account backend to download 20 practical projects based on OpenCV for advanced learning.
Discussion Group
Welcome to join the public account reader group to exchange ideas with peers; currently, there are WeChat groups for SLAM, 3D vision, sensors, autonomous driving, computational photography, detection, segmentation, recognition, medical imaging, GAN, algorithm competitions, etc. (which will gradually be subdivided). Please scan the WeChat number below to join the group, and note: "Nickname + School/Company + Research Direction", for example: "Zhang San + Shanghai Jiao Tong University + Vision SLAM". Please follow the format; otherwise, you will not be approved. After successful addition, you will be invited to relevant WeChat groups based on your research direction. Please do not send advertisements in the group; otherwise, you will be removed. Thank you for your understanding~