深度学习知识点汇总-目标检测(3)

8.3 DSSD

DSSD的核心思想:

  • backbone使用ResNet替换了VGG,增强了特征提取能力。
  • 添加了转置卷积层,增加上下文信息。
图1 SSD和DSSD

问题:SSD算法检测小目标困难。
DSSD算法将SSD算法基础网络从VGG-16更改为ResNet-101,增强网络特征提取能力,其次参考FPN算法思路利用去Deconvolution结构将图像深层特征从高维空间传递出来,与浅层信息融合,联系不同层级之间的图像语义关系,设计预测模块结构,通过不同层级特征之间融合特征输出预测物体类别信息。

DSSD算法中有两个特殊的结构:

  • Prediction模块;
    利用提升每个子任务的表现来提高准确性,并且防止梯度直接流入ResNet主网络。
  • Deconvolution模块。
    增加了三个Batch Normalization层和三个3×3卷积层,其中卷积层起到了缓冲的作用,防止梯度对主网络影响太剧烈,保证网络的稳定性。

Prediction模块

图2 Prediction模块

SSD直接从多个卷积层中单独引出预测函数,预测量多达7000多,梯度计算量也很大。MS-CNN方法指出,改进每个任务的子网可以提高准确性。根据这一思想,DSSD在每一个预测层后增加残差模块,并且对于多种方案进行了对比,如图2所示。结果表明,增加残差预测模块后,高分辨率图片的检测精度比原始SSD提升明显。

Deconvolution模块

图3 Deconvolution模块

为了整合浅层特征图和deconvolution层的信息,作者引入deconvolution模块,如图3所示。作者受到论文Learning to Refine Object Segments的启发,认为用于精细网络的deconvolution模块的分解结构达到的精度可以和复杂网络一样,并且更有效率。作者对其进行了一定的修改:

  • 在每个卷积层后添加批归一化(batch normalization)层;
  • 使用基于学习的deconvolution层而不是简单地双线性上采样;
  • 作者测试了不同的结合方式,元素求和(element-wise sum)与元素点积(element-wise product)方式,实验证明元素点积计算能得到更好的精度。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容