DSSD:Deconvolutional Single Shot Detector

在 SSD 基础上增 DSSD 的反卷积模块和 DSSD 的预测模块

什么是 DSSD?

  • DSSD-20230408152313
  • 目标检测思想 YOLOv1 一样,将原图划分为 SxS 的单元格,通过对单元格的预测,生成对图片目标的检测
  • 在 SSD 基础上增 DSSD 的反卷积模块和 DSSD 的预测模块

DSSD 的网络结构?

  • DSSD-20230408152313
  • DSSD 网络 SSD 的网络结构的改进版,主要改进内容包括:(1) 替换 SSD 的 VGG,使用 ResNet101 作为特征提取网络;(2) 提出基于 top down 的网络结构,并用反卷积代替传统的双线性插值上采样;(2) 新增预测模块,并引入残差单元,优化候选框回归和分类任务输入的特征图

DSSD 的损失函数?

  • DSSD 最后预测的内容和 SSD 一致,计算损失过程也一致,参 SSD 的损失函数
  • 整个过程的误差分为两部分:softmax 分类误差和边框回归误差

    L(x,c,l,g)=1N(Lconf (x,c)+αLloc (x,l,g))L(x, c, l, g)=\frac{1}{N}\left(L_{\text {conf }}(x, c)+\alpha L_{\text {loc }}(x, l, g)\right)

  • softmax 分类误差:使交叉熵损失 (CrossEntropyLoss) 计算正负样本的交叉熵和
  • 边框回归误差:采平滑绝对值损失 (Smooth L1 Loss)

DSSD 关于预测模块的改进?

  • DSSD-20230408152342
  • (a) 为 SSD 所使用的预测方法,直接在多特征图上使用两个 3x3 的卷积分别做分类和边框回归
  • (b) 在(a)的基础上增加了一个残差单元
  • © 作者改进的只含一个残差单元的预测模型
  • (d) 包含两个残差单元的预测模型
  • 作者经过实验发现,(c)的预测输出结果最好

DSSD 如何使用反卷积模块?

  • DSSD-20230408152342-1
  • 反卷积模块目的是将深层特征图(H×W×512H \times W \times 512)和浅层特征图(2H×2W×D2H \times 2W \times D)进行融合,使得融合后的特征图同时具有深层特征图的语义信息和浅层特征图的位置信息
  • 深层特征图(H×W×512H \times W \times 512:首先是 2x2x512 的反卷积,输出是 2Hx2Wx512,然后是 3x3x512 的卷积和 BN 层,输出是 2Hx2Wx512
  • 浅层特征图(2H×2W×D2H \times 2W \times D: 经过卷积 + BatchNorm 之后输出 2Hx2Wx512
  • 这里特征融合方式是 Element-wise product (同元素相乘)

DSSD 如何生成先验框?

  • SSD 生成先验框不同的是,DSSD 借 YOLOv2 生成及设置先验框的方法产生先验框

DSSD 如何进行标签匹配?

  • DSSD 标签匹配方法和 SSD 的规则一样,不同的是 DSSD 借 YOLOv2 生成及设置先验框的方法产生先验框

DSSD 和 SSD 的差异?

  • 网络结构存在差异:SSD 使用 VGG16 作为骨干网络,而 DSSD 使用 Resnet101;DSSD 在 SSD 基础上增 DSSD 的反卷积模块 和 DSSD 的预测模块
  • 先验框生成方式存在差异:SSD 根据设置值生成先验框,DSSD 通过对训练集聚类获得更好的先验框