STDN 笔记

前言
1.本文重点是scale-transfer layer,尽量用较少篇幅表达清楚论文算法,其他一些不影响理解算法的东西不做赘述
2.博客主要是学习记录,为了更好理解和方便以后查看,当然如果能为别人提供帮助就更好了,如果有不对的地方请指正(论文中的链接是我经过大量搜索,个人认为讲解最清楚的参考)

论文链接
代码链接

创新点
1.使用DenseNet(自带高低层特征融合)作为基础网络提取特征
2.提出scale-transfer layer,在不增加参数量和计算量的前提下生成大尺度的特征图(scale-transfer layer实质是reshape,所以不增加参数量,其他算法常用反卷积和上采样来生成大特征图)

STDN
STDN全称Scale-Transferrable Object Detection,从论文名字就可以看出精髓就在尺度转换这,即scale-transfer layer

1.目标检测多尺度预测回顾
STDN 笔记
(a)只利用最后一层特征图预测,如R-CNN系列
(b)多尺度特征图上下融合再分别预测,如FPN
(c)没有融合,只是在不同尺度特征图上进行预测,如SSD
(d)就是STDN,在基础网络(DenseNet)中进行多尺度特征融合,再像SSD那样分别在多层特征图上预测

2.STDN 网络结构
STDN 笔记
如图所示,输入图片经过DenseNet提取特征后得到一系列9x9的不同通道数的特征图(之所以后面的通道数多,是因为后续scale-transfer layer的需要),然后通过scale-transfer model得到特征金字塔,scale-transfer model包含mean pooling layer和scale-transfer layer,最后在特征金字塔不同尺度特征图上进行经过预测

3.scale-transfer model
3.1 mean pooling layer
9x9的特征图经过mean pooling layer得到特征金字塔中小尺度的特征图

3.2 scale-transfer layer
9x9的特征图变成大尺度,以往的方法通常是反卷积和上采样,本文提出scale-transfer layer,只是进行reshape就能得到大尺度特征图,不会增加参数和计算量,也不会引入噪音,具体操作见下图(以上图中最后的9x9x1664 reshape到36x36x104为例)
STDN 笔记
前面的尺度是HxWx(Cxr2r^2),通道数分为C个类,每个类有r2r^2个通道,对应9x9x1664,每一类的HxWxr2r^2尺度 reshape 到(rH)x(rW)x1,最后整体reshape到(rH)x(rW)xC,对应36x36x104

其他
这篇论文的亮点在scale-transfer layer代替上采样和反卷积减少参数量和计算量,而之所以像SSD那样最后特征金字塔没有进行特征融合也能达到FPN那样的效果,靠的是前面基础网络DenseNet自带特征融合的效果