1 轻量级目标检测模型

目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。目前目标检测算法发展和更新非常快,各种改进的目标检测算法不仅在精度上越来越高,体积越来于晓,并且推理速度越来越快。许多考虑在边缘设备和移动设备上部署高性能的实时目标检测算法,在对目标检测模型轻量化上不断努力。这篇文章整理目前开源的轻量级目标检测模型,方便以后自己在工作中方便查找以及比较各个轻量级目标检测模型的性能。

需要注意的是以下所提到的模型在基础测试中所显示的推理时间都只是模型的推理时间,而不是前处理+模型推理时间+结果后处理的总时长,所以在部署模型完成之后检测速度可能并没有达到实时。

2 yolov5n

github:https://github.com/ultralytics/yolov5

Yolov5中的n基线版本专为移动端设计,参数仅为1.9m,map精度也提高到了28.4,非常适合在移动端部署。

轻量级目标检测模型和算法整理-StubbornHuang Blog

3 yolox-nano

github:https://github.com/Megvii-BaseDetection/YOLOX

YOLOX是YOLO的无锚版本,设计更简单但性能更好!它旨在弥合研究界和工业界之间的差距。

yolox也提供了两个轻量级基线模型,yolox-nano和yolox-tiny,其中nano模型,参数只有0.9m,map为25.8;yolox-tiny,参数为5.06m,map提升到了32.8。

轻量级目标检测模型和算法整理-StubbornHuang Blog

4 nanodet

github:https://github.com/RangiLyu/nanodet

与上一代NanoDet相比,在仅增加1毫秒多的延时的情况下,精度提升了30%。与YOLOv5-n, YOLOX-Nano等其他轻量级模型相比,在精度和速度上也都高了不少!同时NanoDet-Plus改进了代码和架构,提出了一种非常简单的训练辅助模块,使模型变得更易训练!同时新版本也更易部署,同时提供ncnn、OpenVINO、MNN以及安卓APP的Demo!

其中NanoDet-m参数只有0.95m,在320x320分辨率下mAP为20.6;NanoDet-Plus-m进行了大幅升级,参数仅为1.17m,在320x320分辨率下mAP为27.0,416x416分辨率下为30.4。

轻量级目标检测模型和算法整理-StubbornHuang Blog

5 PicoDet

github:https://github.com/PaddlePaddle/PaddleDetection

PaddleDetection中提出了全新的轻量级系列模型PP-PicoDet,在移动端具有卓越的性能,成为全新SOTA轻量级模型。

轻量级目标检测模型和算法整理-StubbornHuang Blog

与其他轻量级目标检测框架的对比

轻量级目标检测模型和算法整理-StubbornHuang Blog

6 yolo-fastest

github:

Yolo-Fastest注重的就是单核的实时推理性能,在满足实时的条件下的低CPU占用,不单单只是能在手机移动端达到实时,还要在RK3399,树莓派4以及多种Cortex-A53低成本低功耗设备上满足一定实时性,毕竟这些嵌入式的设备相比与移动端手机要弱很多,但是使用更加广泛,成本更加低廉。

轻量级目标检测模型和算法整理-StubbornHuang Blog

7 yolov5-lite

github:https://github.com/ppogg/YOLOv5-Lite

在yolov5上进行一系列的消融实验,使其更轻(更小的Flops、更低的内存、更少的参数)和更快(添加shuffle通道、yolov5头进行通道减少。它可以推断在Raspberry Pi 4B上至少10+ FPS输入320×320的帧)并且更容易部署(去除了Focus层和四个切片操作,将模型量化精度降低到可接受的范围)。

轻量级目标检测模型和算法整理-StubbornHuang Blog

8 FastestDet

github:https://github.com/dog-qiuqiu/FastestDet

FastestDet是设计用来接替yolo-fastest系列算法,相比于业界已有的轻量级目标检测算法如yolov5n, yolox-nano, nanoDet, pp-yolo-tiny, FastestDet和这些算法压根儿不是一个量级,FastestDet无论在速度还是参数量上,都是要小好几个数量级的(不要在拿int8的模型和我fp32的模型比体积了,不公平),但是精度自然而然也比不过。FastestDet是针对计算资源紧缺的ARM平台设计的,突出单核效能,因为在实际业务场景中,不会把所有CPU资源都给推理框架做模型推理的,假如说你想在例如树莓派, RK3399, RK3568去跑实时目标检测,那么FastestDet是比较好的选择,或者移动端上不想占用太多cpu资源,也可以去用单核并设置cpu sleep去推理FastestDet,在低功耗的条件下运行算法。

轻量级目标检测模型和算法整理-StubbornHuang Blog

9 YOLOv6Lite

github:https://github.com/meituan/YOLOv6

轻量级目标检测模型和算法整理-StubbornHuang Blog

参考链接