DSSD(Deconvolutional Single Shot Detector)--目标检测

论文地址:https://arxiv.org/abs/1701.06659
Github 源码(caffe版):https://github.com/chengyangfu/caffe/tree/dssd
1、文章概述

    DSSD(Deconvolutional Single Shot Detector)是SSD算法改进分支中最为著名的一个,SSD的其他改进还包括RSSD(https://arxiv.org/abs/1705.09587)、FSSD(https://arxiv.org/abs/1512.02325)等。在VOC2007数据集上,513*513的输入图片上,DSSD的mAP值达到81.5%,但是fps只有6fps左右。

      DSSD将SSD的VGG网络用Resnet-101进行了替换,在分类回归之前引入了残差模块,在SSD添加的辅助卷积层后又添加了反卷积层形成“宽 - 窄 - 宽”的“沙漏”结构。DSSD相比SSD的一个最大的提升在于对小目标的检测度上DSSD有了很大的提升,文章的最后部分也展示了小目标的检测效果。即便如此,DSSD的检测速度相比SSD慢了很多,其中很大一部分原因在于引入的Resnet-101太深。

DSSD网络模型结构如下:

DSSD(Deconvolutional Single Shot Detector)--目标检测_第1张图片

 图中蓝色部分是基础网络结构后面多添加的几层网络结构,红色部分是在SSD后面添加了反卷积层操作,但并非传统的反卷积层,是利用了双线性上采样代替了反卷积层。红色和蓝色对应层的大小相同。

2、用resnet-101代替VGG

        这么做的目的是提高精度,毕竟Resnet-101比VGG的网络更深,提取的特征就有更高的语义信息,而且Resnet-101的分类精度确实比VGG的高。需要注意的是,在300*300的输入图像下,直接将VGG用Resnet-101替换,精度不升反降;在512*512的输入图像下测试,精度才有略微提升。再加入了Prediction模块和反卷积模块后,精度才有稳定提升。还需注意的是,在300*300的图像上测试,用VGG的SSD有59的FPS,而用Resnet-101的DSSD的fps只有15,Resnet-101更深的网络结构是fps显著降低的原因。

3、Prediction Module

      DSSD(Deconvolutional Single Shot Detector)--目标检测_第2张图片

4、DM(Deconvolutional Module)模块

DSSD(Deconvolutional Single Shot Detector)--目标检测_第3张图片

5、DSSD关于default box的改进

      针对PASCAL VOC2007和2012里trainval的图片,用k-means对长宽比例做了一个聚类分析,最终确定default box的长宽比例的阿尔法为1、1.6、2和3;SSD的为1、2、3。
 

 

     

 

 

你可能感兴趣的:(目标检测)