旷视研究院提出一个轻量级的两阶段目标检测器,称之为 ThunderNet,其设计针对的是当前最优的两阶段检测器中的最耗计算量的结构。相较于其他的一阶段轻量级检测器,ThunderNet 表现优异,在 PASCAL 和 COCO 上,其计算成本下降了 40%。另外,不借助额外和附加,ThunderNet 在 ARM 设备上的运行速度高达 24.1 fps。据知,ThunderNet 首次在 ARM 端上实现了基于单线程的实时通用目标检测。该篇论文被ICCV2019接收。
论文名称:ThunderNet: Towards Real-time Generic Object Detection
论文地址:https://arxiv.org/abs/1903.11752(文末可直接下载)
导语
移动端实时通用物体检测是计算机视觉领域中一项十分关键却又充满挑战的任务。相较于服务器级别的 GPU,移动设备算力比较受限,跑在移动设备上的检测器则更为受限。
然而,现代的 CNN 检测器又是很耗卡的,需要大量计算才能获得理想的精度,进而妨碍其在手机等智能设备上的实时运行。
从网络结构来讲,CNN 检测器可分为两部分:1)Backbone 部分,提取图像的特征;2)Detection 部分,检测图像中的物体实例。
在 backbone 部分,当前最优的检测器多是大型网络,并且需要输入大量图像,从而需要大量计算。
在 detection 部分,CNN 检测器可分为 one-stage 和 two-stage 两种。两阶段检测器通常有RPN 和 detection head 这样的组件,并且为了取得更高的精度,检测的组件往往较大,但这并不适用于移动端设备。
一阶段检测器则直接预测边界框和类别的概率,其检测部分由附加层组成并生成预测,从而被看成是实时检测的关键。
但是,一阶段检测器无法对每个 RoI 进行特征提取和识别,其结果要比两阶段的粗糙。
这启发本文重新思考:在实时检测方面,两阶段检测器会超越一阶段检测器吗?
简介
本文中,旷视研究院提出一个轻量级的两阶段通用物体检测器,称之为 ThunderNet,其设计针对的是当前最优的两阶段检测器中的最耗计算量的结构。
图 1:ThunderNet 和其他轻量级检测器在 COCO test-dev 上的性能对比;ThunderNet 实现精度和效率的双重提升。
在 backbone 部分,本文研究了先前轻量级 backbone 的缺点,并提出一个专为目标检测而设计的轻量级 backbone——SNet。
在 detection 部分,本文按照 Light-Head R-CNN 的 detection head 设计,进一步压缩 RPN 和 R-CNN subnet。
为消除由小的 Backbone 和特征图引起的性能下降,旷视研究院设计了两个高效的架构模块:CEM(Context Enhancement Module) 和 SAM(Spatial Attention Module)。
CEM 通过整合不同尺寸的特征图以利用局部和全局语境信息;SAM 则使用从 RPN 中已学到的信息优化 RoI warping 中的特征分布。
最后,本文还研究了输入分辨率、backbone、detection head 之间的平衡。图 2 给出了 ThunderNet 的整体架构。
图 2:ThunderNet 架构
ThunderNet
本节将会讲述 ThunderNet 的细节。ThunderNet 的设计主要围绕效率,但在精度上也取得了优异的成绩。
Backbone Part
输入分辨率。两阶段检测器的输入分辨率通常很大。为提升推理速度,ThunderNet 使用的输入分辨率是 320×320。
Backbone 网络。它给出输入图像的基本特征表示,并对精度和效率有重大影响。其中,感受野的大小在 CNN 模型中扮演关键角色:通常,早期阶段的特征图提取低阶特征,描述了空间细节信息,特征图较大,而晚期阶段的特征图提取高阶特征,判别力更强,特征图较小。
先前的轻量级 backbones 的设计并不好。ShuffleNetV1/V2 感受野受限,ShuffleNetV2 和 MobileNetV2 低阶特征不足,Xception 在算力较少的情况下会出现高阶特征不足。
基于此,本文从 ShuffleNetV2 出发,构建了一个针对实时检测的轻量级 backbone,称之为SNet,它分为三种:1)用于更快推理的 SNet49,2)用于更高精度的 SNet535,以及3)用于速度/精度更好权衡的 SNet535。表 1 给出了 SNet 的完整架构。
表 1:SNet 架构
Detection Part
压缩 RPN 和 Detection Head。两阶段检测器通常采用较大的 RPN 和 detection head。尽管 Light-Head R-CNN 使用轻量级 detection head,但还是造成了 backbone 与其他检测部分的失衡。
为此,通过用一个 5×5 depth-wise conv 和一个 256 通道的 1×1 conv 代替原始的 256 通道的 3×3 conv,本文对 RPN 进行了压缩。
在 detection head 方面,本文则进一步缩小了特征图以消除多余的计算。
CEM。CNN 比较容易受到感受野小的影响,并且在没有 GCN(Global Convolutional Network)的情况下,无法编码充足的语境信息。解决这一问题的一个通常方法是 FPN(Feature Pyramid Network),但目前的 FPN 多会有很多额外的卷积和多个检测分支,这增加了计算成本,并引起了巨大的运行时延迟。
为此,本文设计了 CEM,以增大感受野。CEM 的核心思想聚合多个尺度的局部和全局语义信息,以生成更具判别力的特征。图 3 给出这一模块的结构。
图 3:CEM 结构
SAM。相较于大模型,ThunderNet 使用了轻量级 backbone 和较小的输入图像,从而更加难于学到一个合适的特征分布。
出于这一原因,旷视研究院设计了一个计算友好的空间注意力模块 SAM,以便在 RoI warping之前,重新调整特征图的权重。
SAM 的关键在于使用来自 RPN 的知识优化特征图的特征分布。RPN 在 ground truths 的监督之下被训练以识别前景区域,因此它的中间特征可以用来区分前景特征和背景特征。
图 4 给出了SAM 的结构。
图 4:SAM 结构
实验
在本节中,旷视研究院在两个经典数据集 PASCAL VOC 和 COCO 上对 ThunderNet 做了性能评估。
Results on PASCAL VOC
ThunderNet 在 PASCAL VOC 2007 测试集上的单一模型结果如下表所示:
表 2:在 VOC 2007 test 上的评估结果
值得注意的是,相较于大型检测器,ThunderNet 仅需要更少的计算量就可以取得更好的精度,这表明,ThunderNet 在速度和精度之间取得了一个非常好的权衡。
Results on MS COCO
ThunderNet 在 MS COCO test-dev 上的评估结果如下表所示:
表 3:在 COCO test-dev 上的评估结果
值得一提的是,ThunderNet 取得了相对更好的 AP_75,表明了其定位能力更好,这也与本文设计两步法实时检测器的初衷相一致。
而且,由上表可知,ThunderNet 还可以提纲更加精确的边界框,这进一步证明了在实时检测任务上,两阶段检测器要优于一阶段检测器。
结论
本文研究了两步法检测器在实时通用物体检测任务上的效率,并提出一种轻量级的两阶段检测器,称之为 ThunderNet。
在 backbone 部分,本文分析了先前轻量级 backbones 的缺点,并提出一个针对目标检测任务的轻量级 backbone。
在 detection 部分,本文在 detection head 和 RPN 上采用了一个极其高效的设计。CEM 和SAM 被设计以提升特征表示。
最后,本文研究了输入分辨率、backbone 和 detection head 之间的平衡。相较于一阶段检测器,ThunderNet 取得了更优的检测精度,并且计算成本显著降低。
据知,ThunderNet 在 ARM 上实现了首个实时检测器,并取得了最快的单线程速度。
参考文献
- J. Dai, Y. Li, K. He, and J. Sun. R-fcn: Object detection via region-based fully convolutional networks. In Advances in neural information processing systems, pages 379–387, 2016.
- T.-Y. Lin, P. Dolla ́r, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature pyramid networks for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2117–2125, 2017.
- T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dolla ́r. Focal loss for dense object detection. In Proceedings of the IEEE international conference on computer vision, pages 2980– 2988, 2017.
- A.G.Howard,M.Zhu,B.Chen,D.Kalenichenko,W.Wang, T. Weyand, M. Andreetto, and H. Adam. Mobilenets: Effi- cient convolutional neural networks for mobile vision appli- cations. arXiv preprint arXiv:1704.04861, 2017.
- S.Ren,K.He,R.Girshick,andJ.Sun.Fasterr-cnn:Towards real-time object detection with region proposal networks. In Advances in neural information processing systems, pages 91–99, 2015.
- M. Sandler, A. Howard, M. Zhu, A. Zhmoginov, and L.C. Chen. Mobilenetv2: Inverted residuals and linear bottle- necks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4510–4520, 2018.
- Z. Li, C. Peng, G. Yu, X. Zhang, Y. Deng, and J. Sun. Light-head r-cnn: In defense of two-stage object detector. arXiv preprint arXiv:1711.07264, 2017.
- Z. Li, C. Peng, G. Yu, X. Zhang, Y. Deng, and J. Sun. Detnet: Design backbone for object detection. In The European Conference on Computer Vision (ECCV), 2018.
- T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dolla ́r, and C. L. Zitnick. Microsoft coco: Common objects in context. In European conference on computer vision, pages 740–755. Springer, 2014.
专栏文章推荐
- AAAI20 | 旷视研究院提出TextScanner:确保字符阅读顺序,实现文字识别新突破
- CrowdHuman+Double Anchor:强强联合,推动密集行人检测技术落地
- DetNAS:首个搜索物体检测Backbone的方法(已开源)
欢迎关注旷视研究院极术社区专栏,定期更新最新旷视研究院成果
加入旷视:career@megvii.com
文件名 | 大小 | 下载次数 | 操作 |
---|---|---|---|
ThunderNet Towards Real-time Generic Object Detection.pdf | 4.25MB | 0 | 下载 |