目标检测经典论文:ThunderNet: Towards Real-time Generic Object Detection(arxiv2019)
版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/shanglianlm/article/details/88932983
ThunderNet:第一个实现了在ARM平台上的实时检测器和最快的单线程速度。
论文地址:https://arxiv.org/pdf/1903.11752.pdf

ThunderNet主要基于Shufflenet v2和Lighthead r-cnn改进,阅读ThunderNet前,建议对Shufflenet v2和Lighthead r-cnn有一定了解。 Shufflenet v2:Practical guidelines for efficient cnn architecture design Lighthead r-cnn: In defense of two-stage object detector
主流的轻量级网络详解: ShuffleNet V1/V2 | 轻量级深层神经网络 MobileNets V1/V2 | 轻量级深层神经网络 SqueezeNext | 轻量级深层神经网络 SqueezeNet | 轻量级深层神经网络
1 算法思想
本文创新点颇多,而且很辅以充实的实验分析和对比。首先是整体架构如下图,整体的网络结构分为两部分:Backbone部分和Detection部分。网络的骨干部分为SNet,SNet是基于ShuffleNetV2进行修改得到的。 网络的检测部分,利用了压缩的RPN网络,修改自Light-Head R-CNN网络用以提高效率。 并提出Context Enhancement Module整合局部和全局特征增强网络特征表达能力。 并提出Spatial Attention Module空间注意模块,引入来自RPN的前后景信息用以优化feature map的特征分布。

2 主干部分(Backbone Part)
2-1 输入分辨率(Input Resolution)
ThunderNet采用的输入分辨率为320 * 320,主要是为了加快速度。同时作者通过实验分析,得出输入分辨率和主干网络应该相符( the input resolution should match the capability of the backbone),大分辨率小主干网络和小分辨率大主干网络都是不可取的。实验对比见表 4。
小的输入图片产生更小的feature maps 但是会导致严重的细节丢失,而且很难通过增大主干网络来修复;
另一方面,小的主干网络很难编码大的输入图片所包含的富裕信息。

2-2 主干网络(Backbone Networks)
作者认为骨干网络需要具有两大特点,第一:较大的感受野。第二:浅层特征位置信息丰富,深层特征区分度更大,因此Backbone Networks需要同时兼顾这两种特征。
作者认为,ShuffleNetV1/V2限制了感受野。ShuffleNetV2 和MobileNetV2 缺乏浅层特征,而Xception 在计算预算低下的情况下缺乏深层特征。
基于此,作者对ShufflenetV2提出下列改进:
- 使用5×5 depthwise convolutions替换原来ShufflenetV2中所有的3×3 depthwise convolutions来增大感受野(从121 到 193 );
- 在SNet146 和 SNet535, 去除 Conv5 ,同时在浅层特征提取阶段加入更多通道以增加底层特征;
- 在SNet49中,压缩Conv5 的通道为 512,同时在浅层特征提取阶段加入更多通道,以便实现浅层和深层特征间更好的平衡;
作者同时认为去掉Conv5,骨干网络就无法提取足够的信息。而且要是保留1024维度的Conv5层,骨干网络就会受到有限的浅层特征的影响。
提出了三种不同形式的SNet网络(见表 1),SNet49用于更快的推理,SNet535用于更好的精度,SNet146用于更好的速度/精度权衡。
3 检测部分(Detection Part)
3-1 压缩RPN (Compressing RPN )
- .使用一个5×5 depthwise convolution 和一个256-channel 1×1 convolution取代原始RPN中256-channel 3×3 convolution,来增大感受野和编码更多信息;
- 采用5个尺度分别为322,642,1282,2562,5122{32^{2}, 64^{2}, 128^{2},256^{2}, 512^{2}}322,642,1282,2562,5122和5个长宽比分别为1:2,3:4,1:1,4:3,2:1{1:2, 3:4, 1:1, 4:3, 2:1}1:2,3:4,1:1,4:3,2:1生成anchor boxes;
3-2 压缩检测头(Compressing Detection Head)
- 在 RoI warping前面的α × p × p channels的feature map 中使用α = 5 (p = 7)替换原来的α = 10 (p = 7);
- 使用PSRoI align代替RoI warping;
- R-CNN子网络使用1024维的全连接层,提高速度;
3-3 上下文增强模块(Context Enhancement Module)
Context Enhancement Module整合局部和全局特征增强网络特征表达能力。CEM融合来自三个尺度的特征图:C4,C5和Cglb(在C5上应用global average pooling得到的全局特征信息),见图 3。
- C4:C4特征图上应用1×1卷积将通道数量压缩为α×p×p = 245
- C5:C5进行2X上采样,C5特征图上应用1×1卷积将通道数量压缩为α×p×p = 245
- Cglb:Cglb进行Broadcast ,Cglb特征图上应用1×1卷积将通道数量压缩为α×p×p = 245 。
CEM 增大感受野的同时,增强feature map的表达能力。因为CEM只有两个1*1卷积和一个全连接层,因此计算也很高效。

3-4 空间注意力模块(Spatial Attention Module)
Spatial Attention Module空间注意模块,通过引入来自RPN的前后景信息用以优化feature map的特征分布(前景信息多,背景信息少),见图 4。
SAM融合分别来自于CEM的 thin feature map和来自RPN的intermediate feature map 信息,SAM公式如(1)
即,使用来自RPN的intermediate feature map 信息对CEM的 thin feature map信息加权编码(增强前景特征,抑制背景特征)。
4 实验结果
4-1 VOC数据集

4-2 MS COCO数据集

4-3 推断速度(Inference Speed)

速度真的很快呀。。。
|