物体检测“DSOD: Learning Deeply Supervised Object Detectors from Scratch”

来源:互联网 发布:编程 开发 编辑:程序博客网 时间:2024/06/08 13:39

code: https://github.com/szq0214/DSOD
亮点是不需要使用ImageNet预训练,设计了一些训练的准则,一个是深度监督(deep supervision),由DenseNet得到致密的层级连接想法,基于不需要proposal的考虑,选取SSD作为改进的基本版本。

DSOD
1. DSOD框架
与SSD类似,是一个多尺度不需要proposal的检测框架。网络有两个子网络,backbone用来特征提取,front-end子网络用多尺度相应做预测。backbone是Densenet的变体,包含stem block,4个dense block,2个过渡层,2个 无池化层的过渡层。front-end子网络使用致密的结构融合多尺度预测响应。下图为DSOD预测层与SSD中多尺度预测结构。
这里写图片描述
2. 设计准则
a. proposal free
R-CNN和Fast-RCNN额外需要proposal提取方法,Faster-RCNN和R-FCN需要RPN提取proposal。YOLO和SSD无需proposal,经过实验观察发现,只有无需proposal的方法,在不进行预训练的情况下,可以收敛。推测可能是其他方法的ROI pooling导致,ROI pooling妨碍梯度的后向传播。作者选取了SSD框架。
b.Deep Supervision
深层监督学习,核心思想是集成的目标函数直接监督浅层的隐含层,隐含层中附加的目标函数可以减轻梯度消失问题。无需proposal的检测框架包含分类和定位损失。显示的方法,【Holistically-nested edge detection】中加入side-output layers在每个隐含层引入附加目标函数。论文使用隐式的方法,DenseNet的致密层级连接,致密的块是当前块与其之前所有块有连接。这样,DenseNet中的浅层可以收到目标函数的监督。Transition w/o 池化层,在不减少特征图分辨率的情况下增加致密块。
c.Stem块
Stem块由3个3×3的卷积层连接一个2×2的最大池化层组成,用于减少信息损失。
d.致密预测结构
SSD的预测结构,每层只与其相邻层连接。论文提出的致密预测结构,综合每个尺度获取多尺度信息。每个尺度输出的通道数与预测特征图个数相同。在DSOD中,对每个尺度,一般的特征图由之前尺度连接卷积层学习到,另一半由相邻的高分辨率的特征图下采样得到。下采样块如下图所示:
这里写图片描述
下采样块中池化层降低分辨率,卷积层将通道数减半。每个尺度仅学习半数的特征图,复用之前层的另一半。

实验结果
这里写图片描述

阅读全文
1 0
原创粉丝点击