天天看点

【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection

全文总结

   ThunderNet 是一个 two-stage 的目标检测网络,其运行计算量比 one-stage 检测网络要小,性能比 one-stage 检测网络要好。

   ThunderNet 的主要创新点在于 RPN 的应用上。在RPN网络应用时,ThunderNetr 提出两个模块:CEM(Context Enhancement Module)和 SAE(Spatial Attention Module)。前者为特征融合,大意是FPN作用(增加上下文信息、增大感受野)的简略版;后者为特征区域的re-weight,以减少较小的骨干网络带来的特征表达能力弱的问题影响。

   此外,作者通过一系列的消融学习,实验各个元素(输入图片大小、骨干网络大小、检测器的结构等)所构成的accuracy-efficiency平衡。最后得到一个以小的输入图片大小( 320 ∗ 320 320*320 320∗320),小的骨干网络(经过改善的ShuffleNetV2),压缩过的RPN网络模块,以及新设计的CEM和SAM模块,等模块为组合的轻量级检测网络。

网络结构
【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection
骨干网络设计

   ThunderNet 的

骨干网络为SNet

,是以 ShuffleNetV2 为基础修改而成,作者意为转为目标检测所做的修改。主要有两处:(1)

使用 5 ∗ 5 5*5 5∗5 的depthwise卷积代替 3 ∗ 3 3*3 3∗3 的depthwise卷积。

两者运行时间相差不大,但能提升感受野,从121到193;(2)

各个stage的channel的改动。

一共设计了三个不同容量的网络,SNet49、SNet146、SNet535。对于SNet49,将Conv5的channel压缩至512,同时增加较浅层的channel数量。对于SNet146和SNet535,移除Conv5,但增加较浅层的通道数。作者认为对于大的骨干网络而言,定位任务要比分类任务要难很多,浅层网络层对于定位任务而言较为重要。

   SNet49、SNet146、SNet535网络设计如下图所示。

【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection
RPN网络压缩设计

   RPN网络模块以 Light-Head RCNN 为基础修改。在

RPN网络的压缩方面

,修改如下:(1)用 5 ∗ 5 5*5 5∗5 的depthwise 卷积和 1 ∗ 1 1*1 1∗1 卷积代替原来的3*3卷积;(2)原来的PSRoI(position-sentitive) Pooling 前的特征图通道数为 α ∗ p ∗ p , α = 10 , p = 7 \alpha * p * p,\alpha=10,p=7 α∗p∗p,α=10,p=7。在ThunderNet 上设定为 α = 5 \alpha=5 α=5,即压缩通道为一半,因为ThunderNet使用更小的骨干网络和更小的输入图像大小;

CEM

   RPN网络模块除了压缩的设计之外,还设计了两个模块

CEM(Context Enhancement Module)和 SAE(Spatial Attention Module)

,以弥补和改善检测网络的检测效果。

   CEM模块可以认为是简化版的FPN,其目的是融合不同感受野的特征。具体操作为:选择C4,C5和Cglb作为融合特征的对象。Cglb是C5应用全局池化得到的特征。每一个要融合的特征都经过1*1的卷积得到特定的channel。C5通过上采样,Cglb通过广播,得到一样大小的特征图,从而进行融合。【由于论文中示例的RoI 输入channel为245,故下图所示的CEM结构也为245 channel。】

【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection
SAE

   SAE模块起的Attention机制的作用,设计的目的是想让前景的值更大一些,背景的值更小一些。SAM利用RPN的相关知识来区分前景和背景(refine the feature distribution of the feature.)。RPN是有监督地训练来区分前景区域的,因此其中间特征可以用以区分前景特征和背景特征。

   SAM有两个输入:(1)RPN的中间特征图;(2)CEM的那个融合特征图。

   SAM的输出定义如下公式所示。其中 θ \theta θ在本文实验中设定为 1 ∗ 1 1*1 1∗1的卷积,以获得相同维度的特征图。

F S A M = F C E M ∗ s i g m o i d ( θ ( F R P N ) ) F^{SAM}=F^{CEM}*sigmoid(\theta(F^{RPN})) FSAM=FCEM∗sigmoid(θ(FRPN))

【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection
实验结果

  在

COCO测试集

上,ThunderNet检测网络与其他轻型检测网络的比较:

【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection

  在

COCO数据集

上,ThunderNet的速度最快,且效果能达到最好的一个档位【SNet535结果和SSD321、DSSD321相当,但是计算量少很多。比MobileNetV2-SSDLite(22.1 vs 23.6)要好很多。】。而且,AP75的差值要比AP50要大,这意味着ThunderNet检测器要比其他的检测器要有更精确的bounding boxes.

【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection

  在

VOC 2007测试集

上,ThunderNet检测网络与其他检测网络的比较如下图所示。可以看出,在VOC 2007数据集上,ThunderNet的检测效果比Yolov2和SSD300、SSD321、R-FCN要好,和DSSD321差不多。但计算量要小。

【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection

  不同容量的骨干网络的

检测速度

【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection
消融学习
  1. 输入图片的大小和骨干网络的容量大小应该是相匹配的;
【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection
  1. 不同的轻型网络为骨干网所组建的检测网络效果:
【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection
  1. 骨干网络的大小和检测器的大小:
【论文阅读笔记】ThunderNet: Towards Real-time Generic Object Detection

继续阅读