DSSD

论文:DSSD : Deconvolutional Single Shot Detector
来源:CVPR 2017

1. 概述

DSSD是对SSD的改进,虽然SSD直接在多尺度特征上进行预测的做法提升了目标检测的准确度,但仍在存在一些缺点:

  • SSD backbone(VGG16)的特征提取能力不够强;
  • 浅层特征的语义信息不够强,导致小目标的检测效果不好。

既然SSD骨干网络VGG16的特征提取能力不够强,就将其换成ResNet-101,但是,骨干网络换成ResNet-101后,在不同数据集下的测试结果却不一样。
在这里插入图片描述
(1)VOC 2007测试集

  • 在VOC 2007测试集中,目标检测准确度有所下降,但增大输入图像尺寸再比较时,SSD321+ResNet-101的效果更好。

  • SSD300+VGG16: m A P = 0.775 mAP=0.775 mAP=0.775

  • SSD321+ResNet-101: m A P = 0.764 mAP=0.764 mAP=0.764

  • SSD512+VGG16: m A P = 0.795 mAP=0.795 mAP=0.795

  • SSD513+ResNet-101: m A P = 0.806 mAP=0.806 mAP=0.806

  • 作者在论文中并未对这一现象进行解释。个人理解是,每个网络的性能与输入图像分辨率的关系是不同的,即,随着输入图像分辨率的增大,网络性能的提升速度是不同的。由于VGG16的感受野较小,ResNet-101的感受野较大,分辨率为300的输入图像可能更适合感受野较小的VGG16,而分辨率为300的输入图像可能更适合感受野较大的ResNet-101,但这也会因数据集不同而不同。

(2)COCO测试集

  • 在COCO测试集中,目标检测准确度显著上升。
    在这里插入图片描述
  • COCO数据集上的结果表明,相比VGG16,ResNet-101的特征提取更强,更加有利于物体的检测,而ResNet-101的高分辨率输出特征图在网络中的层级更加深,所以会丢失更多细节信息,导致小目标检测效果变得更差了。在SSD321+ResNet-101在VOC测试集上的目标检测准确度有所下降,这似乎无法解释。

不管是SSD300+VGG16还是SSD321+ResNet-101,其小目标检测效果都比较差,于是这篇论文着重于改善小目标的检测性能

2. DSSD

2.1 overview

  • 在detection head中引入残差单元,优化候选框回归和分类任务输入的特征图。
  • 提出基于top-down的网络结构,并用反卷积代替传统的双线性插值上采样。
    在这里插入图片描述

2.2 Prediction module

  • (a)是SSD的detection head,其采用简单的卷积层进行输出;
  • 受MS-CNN的启发,detection head的特征处理能力越强,检测效果越好。于是,作者引入了残差单元,(b)~(d)是几种残差单元后引入方法,实验发现(c)的效果最好。
    在这里插入图片描述在这里插入图片描述

2.2 Deconvolution Module

DSSD的网络结构其实与TDM、FPN是相似的,都是由3部分组成:

  • 自下而上的特征提取通道
  • 自上而下的特征融合通道
  • 横向连接通道

不同的是上采样方法和特征叠加方法:

  • TDM:用双线性插值做上采样,用concat进行特征叠加(沿通道方向叠加);
  • FPN:用双线性插值做上采样,用element-wise sum进行特征叠加(逐元素相加);
  • DSSD:用反卷积做上采样,用element-wise product进行特征叠加(逐元素相乘)。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

DSSD中验证了两种特征叠加方法:element-wise sum和element-wise product,发现element-wise product稍好一些。
在这里插入图片描述