目标检测--DSOD: Learning Deeply Supervised Object Detectors from Scratch

2019-05-26 11:58:29 浏览数 (1)

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

MS COCO test-dev set The running time per image is 57.5ms on one Titan X GPU or 590ms on Intel (R) Core (TM) i7-5960X CPU @ 3.00GHz.

0 人点赞