论文:DetNet: A Backbone network for Object Detection
发表时间:2018
发表作者:(Face++)Chao Peng, Gang Yu (Tsinghua University)Zeming Li
发表刊物/会议:ECCV
论文链接:论文链接

DetNet

基于CNN的目标检测器可以分为两类:单阶段(one-stage)检测器,如YOLO、SSD、RetinaNet,以及双阶段(two-stage)检测器,典型的如Faster-RCNN、R-FCN、FPN。这两类检测器都要使用到在ImageNet上预训练的分类网络作为骨干网。这也正是被作者认为有缺陷的地方。图像分类毕竟不同于目标检测,它既不需要识别目标的语义特征,也不需要对目标进行定位。
具体说来,使用分类网络作为目标检测的骨干网有两个问题:
1). 最近提出的检测器如FPN,它为了能够检测不同尺寸的目标增加了额外的阶段。我们经常使用ResNet或VGG作为骨干网,像ResNet50它总共包含5个阶段(C1-C5),但是FPN在此基础上增加了一个阶段,而增加的这个阶段是没有经过预训练的。
2). 传统的骨干网采用更大的降采样率产生更大的感受野,这对于图像分类来说有效,即牺牲了空间分辨率,不利于精确定位大的目标和识别小的目标。具体地说:1、大物体的回归弱:在FPN等物体检测网络中,大物体是在比较深的特征图上预测(因为深的特征图对应原图的比例大,感受野大,对应的anchor的scale大),然而由于特征图越深,物体边缘的清晰度就越差(模糊),就很难准确回归; 2、小物体在小分辨率特征图上不可见:由于特征图的分辨率减少到原来的1/32,或者更小,小物体在上面是不可见的(32x32的物体在上面只有一个点),FPN等方法,使用分辨率大但是比较浅的层来解决这个问题,由于这些层的语义信息比较弱,没有充分的能力去识别物体,FPN把浅层和语意信息强的深层相加,来提升浅层的语义表达能力,但是由于小物体已经在“深层”中消失,所以他们的语义信息也会丢失。

DetNet兼顾以上两大问题,具体说来,首先为了识别不同尺寸的目标,DetNet也像FPN一样增加了额外的阶段,但即使增加了额外的阶段DetNet也保持了高分辨率。但是,高分辨显然会带来计算和内存的开销,为了不降低DetNet网络的效率,作者采用了一种低复杂度的扩张的瓶颈层.

框架

DetNet1

上图是应用于FPN的不同骨干网络,其中(A)为含传统骨干网的特征金字塔网络,(B)为用于图像分类的传统骨干网,(C)为DetNet提出的骨干网。这里作者受限于版面大小,没有将第一阶段(stage 1,with stride 2)展示出来。从图(C)也可以明显地看出DetNet的不同之处,首先相比(B)这一传统的分类网络,DetNet增加了一个阶段P6,FPN也同样是增加了P6,目的是为了识别更大的目标。其次作者所说的保持空间分辨率,也就是在最后三个阶段(P4,P5,P6)分辨率一直保持着16X。

DetNet的结构是在ResNet50的基础上进行改进,因为ResNet50本身性能优异,经常用来作为目标检测的骨干网。为了和ResNet50进行PK,DetNet的前4个阶段(1,2,3,4)保持了和ResNet50一致。在上文中也有所提及,要为目标检测设计一下高效且有用的骨干网络要面对两方面的挑战。首先,你要为深层网络维持高的空间分辨率,但高分辨率势必又会带来时间和内存上的巨大的成本。其次,如果减小降采样率也就相当于减小了有效的感受野,这对于图像分类和语义分割来说都是有害的。那面对这两项挑战,DetNet是如何做的呢?
通过下面这幅图来分析DetNet59的细节,它是由ResNet50扩展而来。

  1. 引入一个新的阶段P6,随后将用于FPN中的目标检测。同时,从第4阶段开始,固定空间分辨率为输入图像的16X降采样;
  2. 因为自第4阶段后空间尺寸被固定,为了增加一个新的阶段P6,作者引入了dilated bottleneck(如下图B)。
  3. 使用dilated bottleneck作为一个基础的网络块有效地扩大的感受野。由于dilated convolution仍然是耗时的,所以第5阶段和第6阶段保持和第4阶段一样的通道数(256 input channels for bottleneck block)。这一点也不同于传统骨干网,后者在后一个阶段会将通道数翻倍。

DetNet2

很容易将DetNet和目标检测器(无论是否应用特征金字塔结构)结合,下图是基于DetNet的FPN结构。因为DetNet只是改变了FPN的骨干网络,所以固定除骨干网以外的其它结构。而且,因为没有减少ResNet-50自第4阶段后的空间尺寸,所以只简单地沿从顶向下的方向(in top-down path way)将这些阶段的输出进行相加。

DetNet3

实验

作者使用8张Pascal TITAN XP GPU进行端到端的训练,权重衰减因子为0.0001,动量为0.9。每个mini-batch含2张图片,因为有8卡张并行训练,所有有效batch-size是16。为了避免过高的内存消耗,图象大小做了调整,短边统一为800像素,长边为1333像素。训练过程使用经典的"2x"方法,初始学习率设置为0.02,在120k和160k次迭代时乘以一下0.1的衰减因子,最终在180k次迭代后终止。此外,在最开始的500个迭代,使用学习率为0.02 x 0.3进行预热。

DetNet4

上面是在FPN中使用三种不同的骨干网进行测试的对比结果。相比ResNet-59,DetNet-50新增一个阶段P6,很自然地会认为DetNet-50之所以表现优于ResNet-59完全是得意于更多的参数,但和ResNet-101的对比可以看出,虽然ResNet-101的参数远多于DetNet-50,表现却弱于DetNet50,所以说并不是参数多少决定的,只能说DetNet-50在设计上更加合理。

DetNet5

为了进一步检验DetNet在目标检测上的性能,基于DetNet-59和ResNet-50的FPN从头进行训练,也就是说不使用ImageNet上的预训练参数。结果(见上表)表明DetNet-59的mAP高出ResNet-50约1.8个点,这也就进一步证明了DetNet更适合于目标检测。

Paper Reading:DetNet的更多相关文章

  1. Paper Reading: Stereo DSO

    开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...

  2. [Paper Reading]--Exploiting Relevance Feedback in Knowledge Graph

    <Exploiting Relevance Feedback in Knowledge Graph> Publication: KDD 2015 Authors: Yu Su, Sheng ...

  3. Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

    Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 20 ...

  4. Paper Reading: In Defense of the Triplet Loss for Person Re-Identification

    In Defense of the Triplet Loss for Person Re-Identification  2017-07-02  14:04:20   This blog comes ...

  5. Paper Reading - Attention Is All You Need ( NIPS 2017 ) ★

    Link of the Paper: https://arxiv.org/abs/1706.03762 Motivation: The inherently sequential nature of ...

  6. Paper Reading - Convolutional Sequence to Sequence Learning ( CoRR 2017 ) ★

    Link of the Paper: https://arxiv.org/abs/1705.03122 Motivation: Compared to recurrent layers, convol ...

  7. Paper Reading - Deep Captioning with Multimodal Recurrent Neural Networks ( m-RNN ) ( ICLR 2015 ) ★

    Link of the Paper: https://arxiv.org/pdf/1412.6632.pdf Main Points: The authors propose a multimodal ...

  8. Paper Reading - Deep Visual-Semantic Alignments for Generating Image Descriptions ( CVPR 2015 )

    Link of the Paper: https://arxiv.org/abs/1412.2306 Main Points: An Alignment Model: Convolutional Ne ...

  9. Paper Reading - Mind’s Eye: A Recurrent Visual Representation for Image Caption Generation ( CVPR 2015 )

    Link of the Paper: https://ieeexplore.ieee.org/document/7298856/ A Correlative Paper: Learning a Rec ...

随机推荐

  1. C/C++查漏补缺(常更)

    一.#define宏定义 如下程序段,则输出结果为: #define MAX 12 int main(){ cout << "20\0MAX019" << ...

  2. MySQL 事务一览

    MySQL 中的事务? 对 MySQL 来说,事务通常是一组包含对数据库操作的集合.在执行时,只有在该组内的事务都执行成功,这个事务才算执行成功,否则就算失败.MySQL 中,事务支持是在引擎层实现的 ...

  3. cent8安装postgres

    postgres是一款免费.开源的对象型关系数据库,其在cent8的安装方式与cent7的不太一样,特此记录. 步骤: 1 安装postgres server dnf install postgres ...

  4. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验四 《Android程序设计》 实验报告

    实验四 Android程序设计 实验要求 参考Android开发简易教程 完成云班课中的检查点,也可以先完成实验报告,直接提交.注意不能只有截图,要有知识点,原理,遇到的问题和解决过程等说明.实验报告 ...

  5. 通过js操作,将div设置为contenteditable的内容设为全选状态

    因为div设置为contenteitable可编辑的文本内容用 select()选择全部内容不生效,所以只能用下列方法: 先 creatTextRange或者 createRange <div ...

  6. java多线程上篇(一)

    操作系统与程序运行以及进程简介 一.线程与操作系统 操作系统是对计算机硬件资源的管理程序,是应用程序与计算机硬件交互的中间层,其本质仍旧是运行于硬件电路上的程序 对计算机硬件来说不存在操作系统,只是处 ...

  7. S03_CH08_DMA_LWIP以太网传输

    S03_CH08_DMA_LWIP以太网传输 8.1概述 本例程详细创建过程和本季课程第一课<S03_CH01_AXI_DMA_LOOP 环路测试>非常类似,因此如果读者不清楚如何创建工程 ...

  8. (转)从0移植uboot(三) _编译最小可用uboot

    ref: https://www.cnblogs.com/xiaojiang1025/p/6436752.html 前两篇介绍了uboot-2013.01的配置原理以及大体的运行流程,本文将讨论如何对 ...

  9. koa2中间件学习笔记

    洋葱模型 整个洋葱就是服务端程序app,每层洋葱皮都是一个中间件,传入requrest,经过各个中间件处理之后传出response. 新建中间件m1.js,m2.js koa-learn/middle ...

  10. express 和 vue-cli 的博客网站

    已经上传到github地址:https://github.com/13476075014/node-vue/tree/master/mynodeproject/15.TimeBlog # 个人博客系统 ...