目标检测(target detection) DSOD: Learning Deeply Supervised Object Detectors from Scratch

转自:https://blog.csdn.net/zhangjunhit/article/details/77247695

DSOD: Learning Deeply Supervised Object Detectors from Scratch 
ICCV2017 
https://github.com/szq0214/DSOD

针对目标检测问题,本文提出了不需要预训练模型的检测算法,可以看作 SSD + DenseNet 的结合

以前的目标检测算法基本都是先在 ImageNet 数据库上进行预训练,然后再微调。这个微调也叫做 迁移学习 transfer learning。

在 pretrained models 上微调有两个好处: 
1)有很多好的模型是开源的,可以直接将他们用于目标检测; 
2)微调可以快速得的奥最终的模型,需要的训练数据也相对较少。

微调在目标检测问题上缺点: 
1) Limited structure design space, 基于 ImageNet 分类数据库的预训练模型大,参数太多。直接将它们用于目标检测,导致模型结构灵活性差,难以改变网络结构,计算量也大,限制其应用场合。 
2) Learning bias , 因为分类和检测任务的损失函数和 类别分布是不一样的,我们认为两者的搜索/优化空间是不一样的,所以在分类上预训练可能会导致在检测上的得到局部最优,而不是全局最优解 
3)Domain mismatch,尽管微调可以减少不同目标类别分布的差异性,但是对于一些目标域为 深度图、医学图像 和 ImageNet 的差异性太大, 微调效果不理想

我们的工作主要受下面两个问题的启发: 
1)可以从零开始训练得到一个好的目标检测网络吗? 
2)如果可以,设计这样的网络有没有什么原则可以遵守

  1. Related Work 
    Object Detection 目标检测 最近几年发展很快,可以分为两大类: 
    1)基于候选区域提取的方法,基于候选区域提取的方法有: R-CNN [5], Fast R-CNN [4], Faster R-CNN [27] and R-FCN [19]。 
    2)不用提取候选区域的方法,不用提取候选区域的方法主要有 SSD 和 YOLO

Network Architectures for Detection 
网络结构的发展也很快,AlexNet [17], VGGNet [28], GoogLeNet [32], ResNet [9] and DenseNet [10]。同时也提出了一些 regularization 技术 
这些新的模型和技术对目标检测的发展也有很大帮助。

Learning Deep Models from Scratch 
目前还没有这方面的工作

3.1. DSOD Architecture

SSD 
这里写图片描述

Overall Framework SSD vs DSOD 
这里写图片描述
由上图可以看出 SSD 在六个尺度的特征图上进行检测,将这六个检测结果综合起来。 
DSOD 则根据 DenseNet 的设计原理, 将相邻的检测结果一半一半的结合起来

DSOD architecture 
这里写图片描述

DSOD 网络分两个部分: 用于特征提取的 backbone,用于目标预测的 front-end。backbone 子网络 类似于 DenseNets,由 stem block, four dense blocks, two transition layers and two transition w/o pooling layers 组成。

design principle : 
Principle 1: Proposal-free 基于候选区域提取的方法无法从零开始训练,不收敛。只有 proposal-free 方法可以从零开始训练并收敛。 
我们猜测原因是RoI pooling 需要好的初始化输入,于是我们选择了基于 SSD 来改进

Principle 2: Deep Supervision 
主要是参考 DenseNet 中 更多的 skip connections 实现 supervised signals 传递 
Transition w/o Pooling Layer 用这个层来增加 dense blocks 数量。 原来的 DenseNet 的dense blocks 数量是固定的

Principle 3: Stem Block 受 Inception-v3 [33]and v4 [31] 的启发 我们定义 Stem Block 为三个 3×3卷积层和一个 2×2 最大池化层, 
我们发现这么设计可以提升性能

Principle 4: Dense Prediction Structure 和 SSD类似,我们也是在6个尺度特征图进行目标检测,再融合,但是有SSD 有所区别的是怎么利用特征图的,我们这里是 Learning Half and Reusing Half,对照 Figure 1 看。

  1. Experiments

Effectiveness of various designs on VOC 2007 test set 
这里写图片描述

Ablation study on PASCAL VOC 2007 test set 
这里写图片描述
这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_20481015/article/details/81535161