paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》

paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第1张图片
NIPS 2015
论文链接:https://arxiv.org/pdf/1506.01497.pdf
.

文章目录

  • 1 Background and Motivation
  • 2 Related Work
  • 3 Advantages/Contributions
  • 4 Method
    • 4.1 Region Proposal Networks
      • 4.1.1 Anchors
      • 4.1.2 Loss Function
      • 4.1.3 Training RPNs
    • 4.2 Sharing Features for RPN and Fast R-CNN
  • 5 Experiments
  • 6 Conclusions

1 Background and Motivation

Region proposal 和 region-based的卷积神经网络的方法成功推动了目标检测的发展。

虽然region-based CNNs的方法计算跟开始时一样昂贵,但是由于 proposals之间的共享卷积它们的成本已经大大降低。最新的Fast R-CNN,在忽略了花费在 region proposals上的时间后,使用非常深的网络实现了接近实时的速率,现在 proposals是在当前最新的检测系统中的测试时间瓶颈。

Region proposal方法通常依赖于便宜的特整和经济的推理方案。Selective Search 是最受欢迎的方法之一,但是与高效的检测网络相比,Selective Search要慢一个数量级。 EdgeBoxes目前已经在质量和速度之间实现了很好的均衡。然而 region proposal步骤仍然花费 和detection network一样多的时间。同时,我们也会注意到 region-based CNNs的方法利用了GPU的优点,而被使用在调查中的region proposal的方法使用的是CPU,这就使得这种运行时间显的不公平。 加快proposal计算的一个有效的方法是在GPU上重新进行实验,这可能是一个有效的结局方案,但是重新实验会忽略检测网络的down-stream,因此会失去共享计算的重要机会。

本文作者提出了一个算法的变形----用深度卷积神经网络来计算 proposals,这会产生一个简单并且有效的解决方案,在这个方案中与检测网络的计算时间相比, proposal的计算几乎不花时间。因此,作者提出 Region Proposal Networks (RPNs),它和最新的目标检测网络共享卷积层。在测试时共享卷积, 计算proposals花费的时间就很少。 RPN是一个全卷积网络,它以端到端的方式被训练去生成detection proposals。

RPNs可以有效的预测不同尺寸的 region proposals。如下图,与其它不同的方法(a,b)相比,作者引入了新的“anchor”框,在多个尺度和纵横比上作为参考。本文的方法可以被认为是一个回归参考的金字塔(c)。
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第2张图片

2 Related Work

Object Proposals:
(1) based on grouping super-pixels:eg:Selective Search, CPMC , MCG
(2)based on sliding windows:eg: objectness in windows, EdgeBoxes
(3) proposal作为独立于检测器的额外模块:eg :Selective Search 、object detectors, R-CNN , and Fast R-CNN
Deep Networks for Object Detection:R-CNN、 OverFeat、 MultiBox。
卷积的共享计算,由于其直观、准确的视觉识别功能而受到越来越多的关注。eg:OverFeat、Fast R-CNN

3 Advantages/Contributions

  • 本文的模型在 single-scale图像的训练和测试中表现良好,从而提高了运行速度
  • 在PASCAL VOC benchmarks上做了评价,其中 Fast R-CNNs中的RPNs与比 Fast R-CNNs中的Selective Search的检测效果要好。
  • 与Selective Search相比,本文的方法在测试时几乎没有任何计算负担( proposals的运行时间仅仅有10毫秒)。
  • 使用昂贵的深度模型,本文的检测方法在GPU上仍然有5fps的帧速率(包括所有的步骤),因此在速度和精度上都是一个实用的对象检测系统。

4 Method

paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第3张图片
Faster R-CNN的整体框架:由两个模块组成
(1) The first module: a deep fully convolutional network that proposes regions
(2) The second module : Fast R-CNN detector
that uses the proposed regions

4.1 Region Proposal Networks

paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第4张图片
就是上述红色框起来的部分,RPN网络以一张图像作为输入,输出一组矩形框,每个都带有 objectness score。为了生成 region proposals,作者在共享卷积层输出的特征图上滑动一个小网络,该小网络以输入卷积特征图的n×n个空间窗口作为输入,本文中n=3,每个窗口被压缩称一个低维向量(下图的256-d),送进两个全连接层(box-regression layer 和box-classification layer)。
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第5张图片
上图就是RPN的图示,意思就是在卷积层输出的特征图上选取一个n×n的小区域输入到网络中,这个小特征被映射成一个低维的向量,如上图中的256-d,就是由图中的红色框框特征图压映射成的。映射后的向量被送入两个全连接层中来进行回归和分类。其中,每个位置可能的proposals数量最大为k(k个proposals是根据k个anchors来进行参数化的,锚点为滑动窗口的中心点,比如特征图大小为WH,则相当于有WH个锚点,则有WHk个anchor boxs,anchor boxs大小与 scale and aspect ratio 有关,如下图,本文k=9,也就是每个位置9个anchors)。
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第6张图片
简单来说,这个过程就是特征图上的每个位置都有9个anchors,它输入到RPN后会给每个位置的9anchors都进行回归(计算每个anchor的offset)和分类,得到的每个位置的9个新框就是本文中的 region proposals。

4.1.1 Anchors

  • Translation-Invariant Anchors:本文方法的一个重要性能是旋转不变性,无论是在anchors方面,还是在相对锚点计算 proposals的函数方面。
  • Multi-Scale Anchors as Regression References:本文anchors的设计为解决多尺度问题提出了一个新的方案。
  • paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第7张图片
    (a)基于image/feature金字塔的方式: eg:DPM 、基于CNN的方法。图像倍resize成多个尺度,然后再根据多个尺度图像计算特征图。优点:useful 缺点:time-consuming
    (b)在特征图上使用多尺度滑动窗口:eg:DPM,使用不同尺寸的滤波器去训练模型。一般和(a)方法联合使用。
    (c)本文的方法, a pyramid of anchors,anchors金字塔:直接回归和分类多尺度anchor,图像、特征图和滤波器尺寸都是一样的。优点:与(a)和(b)相比更合算的。
    多尺度 anchors的设计是不用为解决尺度问题增加额外开销而shi’xian共享特征的关键部分

4.1.2 Loss Function

为了训练RPN,作者为每个anchor分配一个二值类label,来表示这个是目标不是。 对两类anchor分配positive label:(1)anchor和一个gt有最高的IOU值(2)anchor与任何一个gt的iou大于等于0.7。
对anchor分配 non-positive label: anchor与所有gt的IOU值都小于0.3。
既不是positive的anchor,也不是non-positive的anchor,对训练是没有帮助的。
根据以上定义,最小化损失函数:
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第8张图片

  • i i i是在mini-batch中anchor的索引
  • P i P_{i} Pi是预测 i i i是一个目标的概率
  • P i ∗ P_{i}^{*} Pi是gt label,如果anchor是 positive为1,如果不是为0
  • t i t_{i} ti是表示预测bounding box的4个参数化坐标的向量表示
  • t i ∗ t_{i}^{*} ti为ground-truth box
  • N c l s N_{cls} Ncls N r e g N_{reg} Nreg来分别标准化两个损失
  • λ \lambda λ是平衡参数,默认为10

总共为两个损失,分类损失 L c l s L_{cls} Lcls为log loss,判断是否属于object。回归损失为 L r e g ( t i , t i ∗ ) = R ( t i − t i ∗ ) L_{reg}\left ( t_{i} ,t_{i}^{*}\right )=R\left ( t_{i}-t_{i}^{*} \right ) Lreg(ti,ti)=R(titi), R R R是smooth L 1 L_{1} L1 loss, P i ∗ L r e g P_{i}^{*}L_{reg} PiLreg意思就是只有anchor是positive时才被激活。
cls层和reg层的输出分别包括 P i P_{i} Pi t i t_{i} ti

对于 bounding box回归,4个坐标参数化如下:
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第9张图片

  • x , y , w , h x,y,w,h x,y,w,h分别表示box的中心点坐标、宽和高
  • x , x a , x ∗ x,x_{a},x^{*} x,xa,x分别表示 predicted box, anchor box, 和 groundtruth box

4.1.3 Training RPNs

可以通过反向传播和随机梯度下降对RPN进行端到端的训练。作者通过从标准偏差为0.01的零均值高斯分布中绘制权重来随机初始化所有新层,其它层通过ImageNet分类的预训练模型初始化。精调所有层的ZF net、 conv3 1和 up for the VGG net to conserve memory。在PASCAL VOC 数据集上,60k mini-batches使用学习率为0.001,next 20k mini-batches为0.0001。momentum 为0.9,weight decay 为 0.0005 ,实验使用 Caffe框架。

4.2 Sharing Features for RPN and Fast R-CNN

对于目标检测,我们采用Fast R-CNN。RPN和Fast R-CNN都是独立训练的,它们会以不同的方式修改卷积层,因此我们需要找到一种方法可以让两个网络共享卷积层,而不是两个网络独立的卷积层。下面讨论三种特征共享的网络:
(1)Alternating training:首先训练RPN,然后使用proposals去训练Fast R-CNN。网络由Fast R-CNN精调,然后去初始化RPN,这是迭代的过程,这个方法在整个实验过程中都使用。
(2) Approximate joint training:RPN 和 Fast R-CNN送进一个网络中。在训练 Fast R-CNN时,每个 SGD迭代过程中,前向传播产生的 region proposals被视为固定的、预计算的 proposals。反向传播像之前一样进行,来自RPN损失的信息和来自Fast R-CNN的损失信息在共享层中被合并。
(3) Non-approximate joint training:RPN预测的bounding box也是输入的函数。Faster R-CNN中的ROI pooling层接受卷积特征和预测的bounding box作为输入。

4-Step Alternating Training:在本文中,作者采用四步训练算法,通过交替优化来学习共享特征(1)先训练RPN,使用 ImageNet-pre-trained预训练模型来进行初始化,并对 region proposal进行端到端微调。(2)通过 RPN产生的proposals来训练Fast R-CNN检测网络。这个检测网络也是使用 ImageNet-pre-trained预训练模型来进行初始化的。此时两个网络还不共享卷积层。(3)使用detector network去初始化RPN 训练,此时共享卷积层,仅仅微调RPN特有的层。(4)保持共享的卷积层固定,此时微调Fast R-CNN的特有的层。
因此,这两个网络共享相同的卷积层,形成一个统一的网络。

5 Experiments

在这里插入图片描述
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第10张图片

paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第11张图片
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第12张图片
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第13张图片
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第14张图片
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第15张图片
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第16张图片
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第17张图片
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第18张图片
paper reading:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》_第19张图片

6 Conclusions

  • 提出了RPN
  • 和检测网络(本文是Fast R-CNN)共享卷积特征,region proposal步骤几乎不花费时间
  • 使目标检测系统接近real-time frame rates
  • RPN提高了 region proposal的质量,因此Faster R-CNN检测精度比较好

你可能感兴趣的:(图像分割论文阅读笔记,计算机视觉,神经网络)