DSSD学习笔记

本专栏将从论文的角度解读一下CV方向的一些经典神经网络模型及其贡献与意义,以期加深自己的印象,后续可以随时翻看并且学习其中好的tricks。这一期介绍基于SSD改进的DSSD。

论文相关信息

论文全名为《DSSD : Deconvolutional Single Shot Detector》(链接),从名字可以猜想到,改进之处应该在于使用了反卷积来上采样,然后融合不同尺度的特征图进行预测。作者相关信息如下:

在这里插入图片描述

如果了解 FPN (链接)会明确感受到 SSD 有个不小的缺点:最早的模型将输入图片进行暴力缩放,然后在不同尺度的图片上提取特征进行预测(下图a);对于类似 R-CNN 系列这样只利用最深层特征来预测的模型(下图b);SSD 同时利用了浅层与深层的特征图进行预测,但浅层深层的预测仍然是相互独立的(下图c)。

在这里插入图片描述
这就导致了 SSD 容易出现相同物体被不同大小的框同时检测出来。此外,由于定位(需要细节特征)和识别(需要全局特征)任务比较矛盾,因此目标检测模型或多或少普遍对小目标检测效果不好,而 SSD 并没有结合浅层与深层信息,所以同样也存在这样的问题:

在这里插入图片描述
基于 SSD 的这个缺点,不少模型都做出了类似 FPN 思路的改进,比如FSSD(论文链接,详解可参考大佬博客)、RSSD(论文链接,详解可参考大佬博客)以及本文要讲的 DSSD,都是通过不同的方式融合不同尺度特征图,因此拿出其中的 DSSD 作为代表详细了解,毕竟其二作也是 SSD 的一作。

网络架构

SSD 与 DSSD 结构对比图:

在这里插入图片描述
可以看出,DSSD 构建特征金字塔的方式是从最深层特征图开始,先将当前得到的 H×W 大小的特征图反卷积,再与下采样过程中 2H×2W 大小的特征图融合,融合的方式是 mul 相乘(还有 concat 叠加和 add 相加方式)。

其中具体反卷积模块:

在这里插入图片描述
此外,DSSD 还将 SSD 中的 backbone 基础网络由 VGG-16 换成了 ResNet-101:

在这里插入图片描述

在这里插入图片描述
有意思的是,当图片比较小的时候(321×321),基于 ResNet 的 SSD 整体还不如基于 VGG 的SSD,当图片数据变大一点后(513×513),基于 ResNet 的 SSD才反超。

tricks

1、在最后的预测层cls、loc前也加入了残差模块

在这里插入图片描述

将 ResNet 进行到底呗…

在这里插入图片描述
结果表明(c)更好。

2、特征图融合方式

论文比较了相乘和相加两种特征图融合方式:

在这里插入图片描述
相乘的方式稍微好一点点。(Stage1为论文训练方法的第一阶段训练,冻结SSD所有参数,添加反卷积结构训练得到的模型。Stage2为采用论文训练方法的第二阶段训练,解冻第一阶段的参数并添加预测模型结构得到的模型。)

3、BN层的等价替换

在测试时,为了加速,使用一个等价变换去掉了BN层,减少了运行时间节省了存储空间:

在这里插入图片描述

在这里插入图片描述
对于一个卷积层的输出x,将会以公式1被BN层normalize成y。如果以公式2、3的形式改写w、b,相当于对权重和偏移做normalize后,直接得到输出y,具有和BN层等价的效果。

4、改用聚类的先验框

在这里插入图片描述
和 YOLO v2 类似。

在这里插入图片描述

总结

DSSD 相对于SSD 做出的改进主要就是融合了浅层和深层的特征图进行预测。

在这里插入图片描述
从最后的结果看,DSSD的速度其实已经下降很多了,应该还是ResNet-101网络不够轻量的原因吧,精度倒是非常高了…

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值