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通过对训练集聚类获得更好的先验框