目标检测算法很多,但那些在COCO等数据集上登顶的算法往往模型较大、计算复杂度高,其实大家更关心的是“开源”且“实时”目标检测方法。
今天向大家介绍一篇目标检测综述,其对常见的开源实时目标检测算法进行了比较研究,从精度、速度、鲁棒性、消耗能量等角度做了细致的比较,非常值得参考。
这篇论文发表于Transactions on Machine Learning Research,作者信息:
作者来自荷兰 NavInfo Europe 公司。
论文题目:
A Comprehensive Study of Real-Time Object Detection Networks Across Multiple Domains: A Survey
论文地址:
https://arxiv.org/pdf/2208.10895.pdf
下表列出了作者比较的目标检测算法、backbone、数据集和测试硬件:
下图则是该文所列算法使用HarDNet-68 backbone在COCO数据集上的评估结果:
可见NanoDet除了对抗鲁棒性稍差,各方面评估结果均较高!
下表列出了所有参与比较的算法的细节总览:
ThunderNet 主要部件示意图:
YOLO 主要部件示意图:
SSD 主要部件示意图:
CenterNet 主要部件示意图:
FCOS主要部件示意图:
NanoDet 主要部件示意图:
DETR 主要部件示意图:
TTFNet 主要部件示意图:
下图列出了使用的数据集的基本情况:
下表展示了,不同检测算法使用9种不同backbone在COCO数据集上的测试结果:
可见,精度上FCOS、NanoDet、CenterNet都很优秀,推理速度上NanoDet、CenterNet更胜一筹,耗费能量上NanoDet仍然优秀到底了。
其可视化的散点图如下:
所有检测模型与backbone的组合在COCO与VOC数据集上的比较结果:
可见,NanoDet + ShuffleNet-v2 是被点名表扬最多的那个组合。
不同大小的目标检测结果:
对于中、大目标,大多数算法都有比较好的表现,小目标检测性能的比较是重头戏,可见NanoDet、FCOS表现依旧领跑。
如下图,鲁棒性测试比较中,随着自然和人为干扰因素的增强,各种算法均表现出较大的性能下降。
当然,这一轮比较,NanoDet性能掉的相对更猛一点,但大家都很拉胯,其实差距也没那么大。
在BDD数据集上的比较结果:
在TensorRT硬件推理方面,YOLO表现得更加友好:
一些检测结果示例:
总结起来,NanoDet是实时目标检测的首选算法!
更多详细内容请查看原论文:
https://arxiv.org/pdf/2208.10895.pdf
更多CV类综述论文推荐:
https://github.com/52CV/CV-Surveys