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.

目标检测--DSOD: Learning Deeply Supervised Object Detectors from Scratch相关推荐

  1. DSOD: Learning Deeply Supervised Object Detectors from Scratch论文

    学习目标: DSOD: Learning Deeply Supervised Object Detectors from Scratch 从0开始检测训练对象网络!! 学习时间: 啊哈,偷懒了好久啊哈 ...

  2. DSOD: Learning Deeply Supervised Object Detectors from Scratch论文理解

    DSOD:从零开始学习深度监督的对象检测器 背景 以前的目标检测算法基本都是先在 ImageNet(分类) 数据库上进行预训练,然后再微调.这个微调也叫做迁移学习 transfer learning. ...

  3. DSOD: Learning Deeply Supervised Object Detectors from Scratch

    复旦.清华和英特尔中国研究院ICCV新作:完全脱离预训练模型的目标检测方法DSOD 论文:DSOD: Learning Deeply Supervised Object Detectors from ...

  4. 【CVPR 2021】基于解耦特征的目标检测知识蒸馏:Distilling Object Detectors via Decoupled Features

    [CVPR 2021]基于解耦特征的目标检测知识蒸馏:Distilling Object Detectors via Decoupled Features 论文地址: 主要问题: 主要思路: 具体实现 ...

  5. 显著性目标检测之Learning to Promote Saliency Detectors

    Learning to Promote Saliency Detectors论文阅读 旧文重发 https://github.com/lartpang/Machine-Deep-Learning 缩写 ...

  6. 【开放域目标检测】一:Open-Vocabulary Object Detection Using Captions论文讲解

    出发点是制定一种更加通用的目标检测问题,目的是借助于大量的image-caption数据来覆盖更多的object concept,使得object detection不再受限于带标注数据的少数类别,从 ...

  7. 目标检测-Oriented RepPoints for Aerial Object Detection(CVPR 2022)

    目标检测-Oriented RepPoints for Aerial Object Detection(CVPR 2022) 论文地址:Oriented RepPoints for Aerial Ob ...

  8. 目标检测--Focal Loss for Dense Object Detection

    Focal Loss for Dense Object Detection ICCV2017 https://arxiv.org/abs/1708.02002 本文算是用简单的方法解决复杂的问题了,好 ...

  9. 人工智能 | 增强小目标检测(Augmentation for small object detection)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 Augmentation for ...

最新文章

  1. webstorm设置TSlint格式化TypeScript代码快捷键Alt+X
  2. 虚幻4皮肤材质_虚幻周报20200721 | CJ就要开始啦~
  3. swift_012(Swift 的字面量)
  4. 原生js.ajax内存溢出,javascript - 代码点火器-如何使用jQuery向数据库提交ajax javascript对象 - 堆栈内存溢出...
  5. ABAP Smart Help调试截图
  6. php inputcsv,php excel格式(csv)数据导入导出(示例)
  7. selenium配置无界面chrome浏览器
  8. shell中设置文字输出的颜色及字体格式
  9. 隐马尔科夫模型及Viterbi算法的应用
  10. 【笔记】Yale博弈论第一课
  11. linux centos设置共享目录,在CentOS上配置SAMBA共享目录
  12. 深度学习将灰度图着色_使用DeOldify着色和还原灰度图像和视频
  13. 35张动图:关于机房空调水冷系统和风冷系统
  14. wireshark分析UDP数据包
  15. Windows Mobile
  16. <医学断层图像三维重建面绘制算法的研究>——第一遍阅读
  17. C语言打印乘法口诀表
  18. 【华为机考刷题】2022_6_14
  19. textarea 中如何阻止默认的回车换行事件?
  20. java excel row遍历空_用Java巧妙的解析Excel中的POI

热门文章

  1. 安装batocera-linux教程_利用Grub2Win安装Batocera+Windows7双系统甚至多系统实战教程
  2. Nature:植物叶际微生物组稳态维持机制
  3. java 传入参数_java参数怎么传递参数
  4. R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图、使用subset函数、使用drop_na函数
  5. R语言ggplot2可视化:使用geom_line函数将dataframe中数据可视化为时间序列(或折线图)(Time Series Plot From a Data Frame)、添加标题、副标题
  6. R语言使用party包中的ctree函数构建条件推理决策树(Conditional inference trees)、使用plot函数可视化训练好的条件推理决策树、条件推理决策树的叶子节点的阴影区域表
  7. Python matplotlib可视化:自定义轴标签格式化函数(在轴刻度上添加自定义的数值以及符号形式)、使用自定义函数在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等)
  8. R语言常用sys函数汇总:sys.chmod、Sys.Date、Sys.time、Sys.getenv、Sys.getlocale、sys.getpid、sys.glob、sys.info等
  9. R语言dplyr包获取dataframe分组聚合的最大值实战(Maximum Value by Group)
  10. Python时间转换函数:时间转化为时间戳、时间戳转化为时间、当前日期、当前时间、星期几、前面或者后面多少天、年、月、日等