ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

点击我爱计算机视觉标星,更快获取CVML新技术


ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

今天跟大家分享一篇前天新出的论文《ThunderNet: Towards Real-time Generic Object Detection》,来自国防科大与旷视的研究团队(孙剑老师在列)提出了首个能够在移动端ARM芯片实时运行的两阶段通用目标检测算法ThunderNet(寓意像Thunder雷一样快^_^),并称该算法后续将开源!

以下是作者信息:

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

论文地址:

https://arxiv.org/pdf/1903.11752v1.pdf

一作为来自国防科大的Zheng Qin和旷视的Zeming Li。

提出问题

目标检测的算法有很多,但要在移动平台,比如手机上的ARM CPU实时还比较难,主流的state-of-the-art目标检测算法无法实时,而一些号称可以跑起来的算法距离state-of-the-art的精度差距太大。

作者希望设计速度快而精度高的算法,满足移动端的部署需求。

下图是该文提出的ThunderNet算法的三个版本与目前轻量级检测网络在COCO test-dev数据集上的精度和计算量的比较图,可见ThunderNet在精度达到或超过之前轻量级检测网络的同时,降低了计算量。

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

以上均为在CPU上单线程运行结果,MobileNet-SSD运行在骁龙820,MobileNet/MobileNetV2-SSDLite运行在骁龙810,Pelee运行在Intel i7-6700K (4.0 GHz),ThunderNet运行在骁龙845。

算法思想

作者是在经典的两阶段目标检测算法的基础上做的改进。

网络结构如下:

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

作者分两个方向做了5点改进:

一、改进速度。

1. 使用轻量级、面向目标检测任务设计的骨干网Snet。

网络参数如下:

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

2. 压缩RPN网络部分,降低候选目标区域生成的时间。

3. R-CNN子网络使用1024维的全连接层,提高速度。

二、改进特征表示的鉴别性。

1. 设计了上下文增强模块CEM结构,它可以有效结合三个尺度的特征图,编码更多的上下文信息,增大感受野,生成更具鉴别性的特征。

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

2. 设计了空间注意力模块SAM结构,它可以利用RPN中学习到的信息,从上下文增强模块提精特征图的特征分布。

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

实验结果

作者在VOC 2007 test数据集上的实验结果如下,与现有其他算法相比,在保持高精度同时,计算量也处于最低水平。

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

下图是在COCO test-dev数据集上与其他算法的比较,同样达到了计算量小精度高的目标。

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

以下是一些检测结果示例:

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

在运行速度方面,该算法能到达到与MobileNet-SSD相当的精度,此时在ARM上运行24.1fps,x86上运行47.3fps。使用SNet146骨干网的ThunderNet精度超过YOLOv2,而计算量仅为其1/37。

期待作者早日放出代码!

加群交流

关注最新目标检测技术,欢迎加入52CV-目标检测交流群,下方扫码CV君拉你入群,验证信息请务必注明:目标检测。

ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

喜欢在QQ交流的童鞋可以加52CV官方QQ群:702781905

(不会时时在线,如果没能及时通过还请见谅)


ThunderNet:国防科大、旷视提出首个在ARM上实时运行的通用目标检测算法

长按关注我爱计算机视觉

麻烦给我一个“在看”