Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(更快的RCNN:通过区域提议网络实现实时)

Reading: Faster R-CNN (object detection) implemented by Keras for custom data from Google’s Open Images Dataset V4
notebook

第一遍:
abstract:

how to hypothesize object location?

region proposal algorithms

reduce running time

  • sppnet /fast r-cnn shortcoming
    region proposal computation (实时检测)

what the text work ?
-introduce Region Proposal Network(PRN)

what is RPN?

  • a fully convolutional network
    end-to-end(high quality),Fast R-CNN for detection + RPN

个人理解:

  • RPN全卷积网络可同时预测图形边界和目标打分,端到端的训练可以生成高质量的区域。
  • 通过分享RPN和R-CNN的convolutional feature (分享形成的区域),提供给Fast RCNN检测。

通过RPN,每张图片只需要 提供300个候选区域【对比Fast RCNN的每张图片2000张候选区域】

读相关标题:

  • Index Terms—Object Detection, Region Proposal, Convolutional Neural Network.
  • RELATED WORK
    • Object Proposals
    • Deep Networks for Object Detection
  • FASTER R-CNN
    • Region Proposal Networks
      • Translation-Invariant Anchors
      • Multi-Scale Anchors as Regression References
      • Loss Function
      • Training RPNs
    • Sharing Features for RPN and Fast R-CNN
      • 4-Step Alternating Training
    • Implementation Details
  • EXPERIMENTS
    • Experiments on PASCAL VOC
      • Ablation Experiments on RPN
      • Performance of VGG-16
      • Sensitivities to Hyper-parameters.
      • Analysis of Recall-to-IoU
      • One-Stage Detection vs. Two-Stage Proposal + Detection
    • Experiments on MS COCO
      • Faster R-CNN in ILSVRC & COCO 2015 competitions
    • From MS COCO to PASCAL VOC
  • CONCLUSION

第二遍,阅读文第二遍,阅读文中的导言、结论以及图表,快速扫描一下论文剩下的内容。

这一步主要是要把握论文中的关键信息,不光是导言和结论,还包括文章中任何小结论的总结,文中涉及的补充信息都跳过。中的导言、结论以及图表,快速扫描一下论文剩下的内容。

这一步主要是要把握论文中的关键信息,不光是导言和结论,还包括文章中任何小结论的总结,文中涉及的补充信息都跳过。

问题背景:
The latest incarnation, Fast R-CNN [2], achieves near real-time rates using very deep networks [3], when ignoring the time spent on region proposals

Selective Search, SS(2s)CPUEdgeBoxes(0.2s) CPU
greedily merges superpixels based on engineered low-level featuresbest tradeoff between proposal quality and speed
Fast R-CNN
CPU has an advantage ,if on the CPU, t re-implementation ignores the down-stream detection network and therefore misses important opportunities for sharing computation

2.方法
本文提出的理论:
this paper : using a deep convolutional network-introduce novel Region Proposal Networks (RPNs) that share convolutional layers with state-of-the-art object detection networks
在这里插入图片描述
Faster RCNN的结构如上图所示,其可以分成两个模块,四个层次:

  • 两个模块:

    • RPN模块:用于生成“预测区域”,同时对预测区域进行分类及粗略的边框回归【利用分类的分数(文中的结构图的分类结果为两类,即不关心类别,只区分前景和背景,目的是将前景区域用于回归和后续的Fast RCNN模块中)执行非最大值抑制(文中的IoU阈值为0.7)后,进行边框回归】,选择其中分数Top300的区域输出到后面
    • Fast RCNN模块:用于将得到的区域分类和精确的边框回归【RoI池化层及之后的分类、回归层就和Fast一样了】;

faster rcnn目标:用更快速的方法找候选框

  • 加入一个提取边缘的神经网络,也就说找到候选框的工作也交给神经网络来做了
  • 具体做法:
     • 将RPN放在最后一个卷积层的后面
     • RPN直接训练得到候选区域
     
    在这里插入图片描述
    RPN简介:
      • 在feature map上滑动窗口
      • 建一个神经网络用于物体分类+框位置的回归
      • 滑动窗口的位置提供了物体的大体位置信息
      • 框的回归提供了框更精确的位置
    PRN INPUT:一张任意size的image 
    RPN OUTPUT:一系列矩形的object proposals(每个proposal都会有一个object score) 
    Fast R-CNN(Selective Search + CNN + ROI)
    Faster R-CNN(RPN + CNN + ROI)
    在这里插入图片描述

how to get region proposals?

convolutional feature map 上滑动的小网络(nn)= intermediate layer
intermediate layer = 2k: cls layer + 4k:reg layer(both 1
1)

在这里插入图片描述
什么是anchors?
在这里插入图片描述
在每个滑动窗口的位置,同时预测多个region proposals,proposals最大数目设置为k。这样,reg层输出4k个值表示proposal的坐标,cls层输出2k个值评估proposal是否为目标的概率。这k个proposals时关于k个reference boxes参数化的,因此称为anchors。anchor在每个滑动区域的中心,每个anchor的尺寸和长宽比都不同。(文中默认3个尺寸,3个长宽比,因此每个位置有9个anchor)。对于尺寸为W∗H的feature maps(一般约2400),有W∗H∗k个anchor。

Translation-Invarlation Anchors:

  • 如果将图像中的目标平移了,依然能计算出对应的平移的proposals,并且在任何位置函数都能预测到它。
  • 平移不变性还能减小模型的尺寸

Multi-Scale Anchors as Regression References

  • 省时(anchor)

loss function:

  • 通过比较这些anchor和ground truth间的重叠情况来决定哪些anchor是前景,哪些是背景,也就是给每一个anchor都打上前景或背景的label。有了labels,你就可以对RPN进行训练使它对任意输入都具备识别前景、背景的能力
  • rpn_cls_score_reshape模块输出的结构是[1,9*H,W,2],就是9xHxW个anchor二分类为前景、背景的概率;anchor_target_layer模块输出的是每一个anchor标注的label,拿它和二分类概率一比较就能得出分类的loss。

training :提取样本的策略为从一张图片随机选取256个样本,其中正负样本个数都为128。(如果正样本数不足128,则用负样本补充)

RPN和Fast R-CNN共享特征:
本文使用:
迭代训练。先训练RPN,然后用训练好的RPN产生的proposals来训练Fast R-CNN。接着由Fast R-CNN微调的结构初始化RPN。以上,交替进行。

4-Step Alternating Training

  • 第一步,训练RPN,用ImageNet预训练模型初始化参数来微调网络;
  • 第二步,用前面训练的RPN产生的proposals单独训练一个Fast R-CNN网络;(时的两个网络并没有共享卷积层,Fast RCNN也是预训练网络初始化的)
  • 第三步,用检测网络初始化RPN,固定共享的卷积层,只微调RPN单独的部分;
  • 第四步,固定共享的卷积层,微调Fast R-CNN独立的部分。以上,训练结束。可以迭代,但是改善很小。

训练细节

输入预处理,将输入统一缩放成(1000,600)(1000,600)大小。(多尺度特征提取可能可以提到准确率,但不能很好地折中速度和准确率)。文中使用的模型(ZFnet,VGGnet)的共享卷积之后,感受野(也就是stride的乘积)为1616,也就是说对于(1000,600)(1000,600)的图像在经过卷积层后,其每个像素点代表之前1616个像素点的信息,这对于PASCAL VOC的图像(一般约(500,375)(500,375)大小)对应的就是原图像的1010个像素点(600/375∗10=16600/375∗10=16)。【步幅乘积这么大都能提供好的结果,使用更小的步幅可能能得到更好的结果,但不是本文要讨论的内容】

anchors选择,选定anchors为三个尺度{1282,2562,5122}和三个长宽比{1:1,1:2,2:1}{的卷积,共九个。(这些anchors没有特意为了某数据集精心设计,按照结果来说,应该是没有必要调整,其三个边框的大小基本可以覆盖了整张图片)。

anchors筛选,⑴ 在训练时,作者把所有越过“边界”的anchors都忽略了(对于1000∗600图片,其大概有20000个anchors(1000/16∗600/16∗9=21093)。删去越过边界的,大概还剩下6000个。)。若不删掉这些过界的anchors,那么RPN将会推荐较大的,相对比较错误的区域,同时训练也不会收敛。⑵ 在测试时,作者却留下这些过界的anchors,在整张图片上卷积,只需要将其产生的越过边界的proposals裁剪成符合图片边界的区域。

proposals筛选,经过RPN提取的proposals有很高的重叠率,对其进行非最大值抑制以删除重叠率较高的框。本文设置NMS的IoU为0.7。经过非最大值抑制后,每张图片大概能剩下2000个区域。然后选取Top-N的区域用于检测。在训练的时候,选取2000个区域;但在测试时,区域选取的数目又不同。
  
链接:https://blog.csdn.net/qq_19784349/article/details/81053491

非极大抑制(non-maximum suppression,NMS:

  • 一些RPN proposal彼此高度重合。为了减少冗余,在它们的cls score的基础上在proposal区域应用非极大抑制
  • NMS的IoU阈值固定为0.7,使得每张图片留下大概2000个proposal region。
  • NMS并未降低最终的检测准确率。

3.实验
(1)PASCAL VOC上的实验
A. 一般实验及RPN消融实验
SS表示Selective Search ,EB表示EdgeBoxes
在这里插入图片描述
a.region proposal

目的:验证region proposal生成方法的影响。

做法:在训练和测试中分别使用SS、EB和RPN+ZF(文中方法)这三种方法来生成region proposal进行实验。

结果:RPN+ZF获得了最佳结果,由于共享卷积计算,RPN+ZF速度也更快。

b.共享卷积层的影响
c.RPN对Fast R-CNN detector 网络的影响
cls层的影响
cls scores影响排名最前面的proposals
reg层的影响
高质量的proposal主要归功于regreesed box bounds
更加强大的网络对于RPN proposal质量的影响
mAP从56.8%(RPN+ZF)上升到了59.2%(RPN+VGG)

在PASCAL 2007测试集上的测试结果

在这里插入图片描述
表3展示了在proposal和detection时都使用VGG-16,并在PASCAL 2007测试集上进行测试的结果(使用不同训练集或不同训练集的组合巡警训练)。“07”表示VOC 2007训练集,“07+12”表示VOC 2007训练集与VOC 2012训练集的合集。shared和unshared分别表示共享特征和不共享特征。对于RPN,训练Fast R-CNN的proposal数目为2000.

B.VGG-16
在PASCAL VOC 2012上的测试结果:
在这里插入图片描述
time:
在这里插入图片描述
表6、表7分别对应表3、表4,分别展示了在PASCAL VOC 2007和PASCAL VOC 2012测试集上进行测试时每一类对象的检测结果。

** C. Sensitivities to Hyper-parameters**
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)MS COCO
在这里插入图片描述
(3)从MS COCO到PASCAL VOC
表12.Faster R-CNN在PASCAL VOC 2007测试集和2012测试集上的检测mAP(%)。模型为VGG-16。在这里插入图片描述
1、Describe what the authors of the paper aim to accomplish, or perhaps did achieve.这篇论文作者的目标是什么,或者也许已经实现了什么。

在这里插入图片描述

具体步骤:
首先向CNN网络【ZF或VGG-16】输入任意大小图片;
经过CNN网络前向传播至最后共享的卷积层,一方面得到供RPN网络输入的特征图,另一方面继续前向传播至特有卷积层,产生更高维特征图;
供RPN网络输入的特征图经过RPN网络得到区域建议框和区域得分,并对区域得分采用非极大值抑制【阈值为0.7】,输出其Top-N【文中为300】得分的区域建议给RoI池化层;
第2步得到的高维特征图和第3步输出的区域建议框同时输入RoI池化层,提取对应区域建议框的特征;
第4步得到的区域建议特征通过全连接层后,输出该区域的分类得分以及回归后的bounding-box。

采用 RPN + FAST RCNN(gpu) + SHARED ,实现速度和准确率的提高;

Faster R-CNN 包括两个部分:1)RPNs,深度全卷积网络用于提取候选区域,2) Fast R-CNN 检测器用于物体检测。

2、If a new approach/technique/method was introduced in a paper, what are the key elements of the newly proposed approach?如果文中引入了一种新方法/技术,那么这一新提出的方法/技术的关键要素是什么?

RPN : 让region proposal 也在gup上生成

为了统一RPN和Fast R-CNN目标检测网络,我们提出一种简单的训练方案,即保持建议框固定,微调区域建议和微调目标检测之间交替进行。(4 steps : 3,4步) 迭代

训练方法:

RPN在CNN卷积层后增加滑动窗口操作以及两个卷积层完成区域建议功能,第一个卷积层将特征图每个滑窗位置编码成一个特征向量,第二个卷积层对每个滑窗位置输出k个区域得分和k个回归后的区域建议,并对得分区域进行非极大值抑制后输出得分Top-N【文中为300】区域,告诉检测网络应该注意哪些区域,本质上实现了Selective Search、EdgeBoxes等方法的功能。

3、What other references do you want to follow?你还想关注哪些参考资料/文献?

全文翻译 https://blog.csdn.net/u011534057/article/details/51259812

其他博主学习笔记:https://blog.csdn.net/Wonder233/article/details/53837680
https://blog.csdn.net/mw_mustwin/article/details/53039338
https://blog.csdn.net/u011326478/article/details/52872614
https://blog.csdn.net/qq_19784349/article/details/81053491

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值