目标检测论文:ThunderNet: Towards Real-time Generic Object Detection(arxiv2019)
ThunderNet首次实现了基于ARM平台的实时检测系统,并以最佳的单线程性能著称。
论文地址:https://arxiv.org/pdf/1903.11752.pdf

ThunderNet主要采用了Shufflenet v2和Lighthead r-cnn的技术基础。为了更好地理解研究背景,请先通读《Efficient CNN Architecture Design》和《Two-Stage Object Detection》这两篇综述文章。
1 算法思想
本文具有多项创新点,并并辅以系统化的实验分析与对比研究作为支撑。其网络架构如图所示,主要由Backbone模块与检测模块两大组成部分构成。其中核心骨干模块基于ShuffleNetV2框架进行了改进得到的,并采用压缩型RPN网络结构设计用于提升检测效率的基础上进行优化设计。同时提出了一个 novel 的Context Enhancement Module(CEM),用于整合局部与全局特征以增强网络特征表达能力,并提出了一种Spatial Attention Module(SAM),用于引入来自RPN的前后景信息从而优化feature map的空间分布特性。

2 主干部分(Backbone Part)
2-1 输入分辨率(Input Resolution)
ThunderNet采用了320×320像素的输入分辨率,并以此为基础设计以提升运行效率。研究者通过实验研究发现输入分辨率与主干网络能力应当相配(the input resolution should match the capability of the backbone)。即两者之间不宜出现大分辨率配小主干或小分辨率配大主干两种结构均不理想的情况(as both configurations are suboptimal)。实验结果见表4。然而,在实际应用中仍面临一些挑战:一方面的小尺寸输入图像会产生较小的空间特征图(smaller feature maps),但却会严重丧失细节信息;另一方面,则难以通过增大主干网络来恢复细节。

2-2 主干网络(Backbone Networks)
作者强调骨干网络应具备两大特性:其一为较大的感受野,在空间上能够覆盖更大的区域;其二是 shallow 空间位置上的信息更加丰富且能够更好地区分不同类别。为了实现这一目标,Backbone Networks必须同时兼顾这两种特性。
作者指出,其网络架构在移动设备上的性能存在局限性.具体而言,在这一系列模型中(包括ShuffleNet V2和MobileNet V2),它们在提取浅层特征方面表现不足;相比之下,在计算资源有限的情况下(如Xception的设计),模型难以有效提取深层特征.
基于此,作者对ShufflenetV2提出下列改进:
使用了5\times 5深度可分离卷积取代了原有ShufflenetV2中的所有3\times 3深度可分离卷积以扩大感受野范围(将原本的121扩大至193);
在SNet-146和SNet-536中移除了Conv-单元,并在此基础下增加了多支并行路径以提升深层特征表现;
在SNet-49架构中将Conv-单元的通道数目缩减至512条,并在此基础上增加了多支并行路径以实现深层与表征间的平衡优化;
此外,在SNet-49中发现仅移除Conv-单元后,在某些情况下可能会影响整体模型的信息量;如果保留具有1024维度的Conv-单元,则可能使模型过于依赖于有限的表征信息。
开发了三类新型SNet网络架构(见表 1),其中SNet49系列专为推理速度优化设计,在测试集上展示了显著的速度优势;而SNet535则通过深度增强提升了模型精度表现;此外,在性能与效率之间寻求折中的方案,则由SNet146网络实现。

3 检测部分(Detection Part)
3-1 压缩RPN (Compressing RPN )
第一部分:通过将一个5\times5深度可分离卷积层与一个256通道的1\times1卷积层替换成原始RPN中的256通道3\times3卷积层实现信息捕捉能力的提升;
第二部分:通过设置五组不同的尺度参数\{32^{\{2\}},\,64^{\{2\}},\,128^{\{2\}},\,256^{\{2\}},\,512^{\{2\}}\}以及五组特定的宽高比集合\{1:₂,\,₃:₄,\,₁:₁,\,₄:₃,\,₂:₁\}来构建锚框集合。
3-2 压缩检测头(Compressing Detection Head)
- 在RoI warping前的α × p × p channels的空间位置特征图中采用α = 5 (p = 7)替代原有的参数设置;
- 将PSRoI align方法应用于目标检测模块;
- 将R-CNN子网络优化为1024维全连接层结构以提升运算效率;
3-3 上下文增强模块(Context Enhancement Module)
Context Enhancement Module通过融合局部与全局特征来提升网络特性的表征能力。CEM通过多级尺度的融合实现了这一目标:它不仅整合了本地化的细节(如C4层),还结合了中层(如C5层)以及经过全球平均池化处理后的全局信息(例如,在C5层上通过global average pooling处理得到全球性特质),如图3所示。
- C4:经过一次1 \times 1卷积操作后将通道数量压缩为\alpha \times p \times p = 245。
- C5:在完成2\times上采样后,在对C_5特征图施加一次1\times 1卷积操作以减少通道数量至\alpha \times p \times p = 245。
- C_{\text{glb}}:通过广播机制对C_{\text{glb}}特征图施加一次1\times 1卷积操作以减少通道数量至\alpha \times p \times p = 245 。
CEM 扩大感受野范围的同时, 提升了 feature map 的表示能力。由于 CEM 仅包含两个 1×1 卷积操作和一个全连接层, 因此计算过程更为高效。

3-4 空间注意力模块(Spatial Attention Module)
Spatial Attention Module是一种用于空间注意力机制的技术框架。它通过整合来自Region Proposal Network(RPN)的前景与背景信息来提升feature map的空间分布特点(其中前景占据主要部分),具体可见图4所示。 SAM模块融合的结果源自CEM算法所产生的thin特征层以及基于RPN提取的中间特征层的信息整合。(1)式

具体而言,在本研究中通过利用RPN中的intermediate feature map信息对CEM的thin feature map信息进行加权编码(以增强前景细节并减少背景干扰)。
4 实验结果
4-1 VOC数据集

4-2 MS COCO数据集

4-3 推断速度(Inference Speed)

速度真的很快呀。。。
