【目标检测】ThunderNet: 超轻量型检测网络,旷视科技

paper:ThunderNet: Towards Real-time Generic Object Detection

论文链接:https://arxiv.org/abs/1903.11752?context=cs.CV

开源代码:https://github.com/qixuxiang/Pytorch_Lightweight_Network 1

不得不说,ThunderNet 做的速度非常快。文章也有很多insight的东西。

官方的定义是这样的:第一个实现了在ARM平台上的实时检测器和最快的单线程速度。

个人觉得,输入分辨率和网络骨干能力的耦合度这一点是值得思考的。目前已经开源了,非常值得学习。


摘要:

移动平台上的实时通用对象检测是一项至关重要但具有挑战性的计算机视觉任务。然而,先前基于CNN的检测器遭受巨大的计算成本,这阻碍了它们在计算受限的场景中的实时推断。在本文中,我们研究了两级探测器在实时通用检测中的有效性,并提出了一种名为ThunderNet的轻量级两阶段目标检测器。在骨干部分,我们分析了先前轻量级骨架的缺点,并提出了一种用于物体检测的轻量级骨架。在检测部分,我们利用极其高效的RPN和检测头设计。为了生成更具辨别力的特征表示,我们设计了两个高效的架构块,上下文增强模块和空间注意模块。最后,我们研究了输入分辨率,主干和检测头之间的平衡。与轻型一级探测器相比,ThunderNet在PASCAL VOC和COCO基准测试中仅占计算成本的40%,性能卓越。没有花里胡哨,我们的模型在基于ARM的设备上以24.1 fps运行。据我们所知,这是第一个在ARM平台上报告的实时检测器。


Model

image

基本架构:

1、ThunderNet使用320×320像素作为网络的输入分辨率。

2、整体的网络结构分为两部分:Backbone部分和Detection部分。网络的骨干部分为SNet

3、SNet是基于ShuffleNetV2进行修改得到的。 网络的检测部分,利用了压缩的RPN网络,修改自Light-Head R-CNN网络用以提高效率。 并提出Context Enhancement Module整合局部和全局特征增强网络特征表达能力。 并提出Spatial Attention Module空间注意模块,引入来自RPN的前后景信息用以优化特征分布。


Backbone

image

SNet49用于更快的推理;
SNet535用于更好的精度;
SNet146用于更好的速度/精度权衡。

1、在实践中,观察到输入分辨率应该与骨干网络的能力相匹配。 具有大输入的小骨干和具有小输入的大骨干都不是最佳的选择,作者使用320*320大小的输入图像。

2、骨干网络需要具有两大特点,第一:大的感受野很重要。第二:浅层特征位置信息丰富,深层特征区分度更大,因此需要兼顾这两种特征。而作者认为主流的轻量级网络违法了上述原则,于是结合上述特性对ShuffleNetV2进行修改并命名为SNet。


Detection

image

Detection部分改进1:

  • 检测部分沿用了Light-Head R-CNN网络的结构,虽然该网络使用轻量级的检测器,但当与上述的SNet这个更轻量级的骨干网络耦合时它仍然太重,并且会引起骨干网络和检测器之间的不平衡。 这种不平衡不仅导致冗余计算,而且增加了过拟合的风险。
  • 为了解决这个问题,作者使用一个5×5的深度可分离卷积(mobilenetv1中)和1×1卷积,替换原始RPN网络中的3×3的卷积。并且在RPN网络中使用的尺度大小为{32×32,64×64,128×128,256×256,512×512},anchor的长宽比为{1:2,3:4,1:1,4:3,2:1}。其余参数和Light-Head R-CNN中的一致。

image


 

image

Detection部分改进2(Context Enhancement Module):

  • Light-Head R-CNN网络中在骨干网络之后利用GCN:Global Convolutional Network产生更小的特征图,这虽然增加了感受野但却提升了计算复杂度,因此ThunderNet没有使用GCN。
  • 然而,感受野小且在没有GCN的情况下网络很难提取到足够的可分辨的特征信息。 为了解决这个问题,作者使用了特征金字塔网络FPN。 然而,原始的FPN结构涉及许多额外的卷积和多个检测分支,这增加了计算成本并且引起了巨大的运行时间延迟。因此,基于FPN,作者提出了Context Enhancement Module (CEM)。

关键思想:聚合多尺度局部信息和全局信息,以生成区分性更强的特征。

  • 尺度一:C4特征图上应用1×1卷积以将通道数量压缩为α×p×p = 245
  • 尺度二:C5进行上采样 + C5特征图上应用1×1卷积以将通道数量压缩为α×p×p = 245
  • 尺度三:Cglb进行Broadcast + Cglb特征图上应用1×1卷积以将通道数量压缩为α×p×p = 245 。
  • 通过利用局部和全局信息,CEM有效地扩大了感受野,并细化了薄特征图的表示能力。与先前的FPN结构相比,CEM仅涉及两个1×1卷积和fc层,这更加计算友好。

image

Detection部分改进3(Spatial Attention Module):

  • 关键思想:使用来自RPN学习到的知识来细化特征图的特征分布,在RoI扭曲空间维度之前显式地重新加权特征图,使得目标的特征被强烈关注。
  • 计算公式:image
  • 这里θ是个尺寸变换,以匹配两组特征图中的通道数。 sigmoid函数用于约束[0,1]内的值。 最后,通过生成的特征映射对,使得CEM进行重新加权,以获得更好的特征分布。

Experiment

VOC 2007:

image


COCO:
 

image

image

发布了49 篇原创文章 · 获赞 41 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/DL_wly/article/details/100142316