Faster-RCNN论文总结

可以参考:https://blog.csdn.net/u014696921/article/details/52824097系列

1、主要解决的问题:

   (1)提出区域建议网络RPN(Region Proposal Networks),快速生成候选区域;

   (2)通过交替训练,使RPN和Fast-RCNN网络共享参数(共享卷积层)。

2、比较RCNN、Fast RCNN、Faster RCNN

    Faster-RCNN论文总结_第1张图片

Faster-RCNN论文总结_第2张图片

3、Faster RCNN结构核心

      FasterRCNN结构:区域生成网络RPN + FastRCNN; 用区域生成网络代替FastR-CNN中的Selective Search

4、Faster RCNN框架

Faster-RCNN论文总结_第3张图片

Faster-R-CNN算法由两大模块组成:

(1)PRN候选框提取模块;

(2)Fast R-CNN检测模块。

其中,RPN是全卷积神经网络,用于提取候选框;Fast R-CNN基于RPN提取的proposal检测并识别proposal中的目标。

5、RPN

RPN的核心思想是使用CNN卷积神经网络直接产生Region Proposal,使用的方法本质上就是滑动窗口(只需在最后的卷积层上滑动一遍),因为anchor机制和边框回归可以得到多尺度多长宽比的Region Proposal。

RPN网络也是全卷积网络(FCN,fully-convolutional network),可以针对生成检测建议框的任务端到端地训练,能够同时预测出object的边界和分数。只是在CNN上额外增加了2个卷积层(全卷积层cls和reg)。

①将每个特征图的位置编码成一个特征向量256dfor ZF and 512d for VGG)。

②对每一个位置输出一个objectness score和regressedbounds for k个region proposal,即在每个卷积映射位置输出这个位置上多种尺度(3种)和长宽比(3种)的k个(3*3=9)区域建议的物体得分和回归边界。

RPN网络的输入可以是任意大小(但还是有最小分辨率要求的,例如VGG是228*228)的图片,输出一组矩形框代表物体推荐区域,每个区域都会有一个物体性的打分

RPN的具体流程如下:使用一个小网络在最后卷积得到的特征图上进行滑动扫描,这个滑动网络每次与特征图上n*n(论文中n=3)的窗口全连接(图像的有效感受野很大,ZF是171像素,VGG是228像素),然后映射到一个低维向量(256d for ZF / 512d for VGG),最后将这个低维向量送入到两个全连接层,即bbox回归层(reg)和box分类层(cls)。sliding window的处理方式保证reg-layer和cls-layer关联了conv5-3的全部特征空间。

reg层:预测proposal的anchor对应的proposal的(x,y,w,h)

cls层:判断该proposal是前景(object)还是背景(non-object)。

                         Faster-RCNN论文总结_第4张图片

6、anchor box

在每个滑窗位置,我们同时预测多个区域推荐,每个位置的最大区域推荐数量为k这样reg层就有4k的输出编码k个框的坐标,cls就有2k的预测对象还是非对象的概率的打分k个推荐是针对k个参考框进行参数化的,这个参考框我们称之为锚点(anchor)一个锚点就是正在关注的滑窗的中心,并和缩放比例、宽高比想关联。默认使用3个缩放尺度和3个宽高比在每个滑动位置产生k=9个锚点。对于一个WxH大小的卷积特征图,总共有W*H*k个锚点。

                                  Faster-RCNN论文总结_第5张图片

7、损失函数

Faster-RCNN论文总结_第6张图片

Faster-RCNN论文总结_第7张图片

8、如何训练RPN与Fast RCNN共享卷积层

第一步,我们依上述训练RPN,该网络用ImageNet预训练的模型初始化,并端到端微调用于区域推荐任务第二步,我们利用第一步的RPN生成的推荐框训练一个单独的FastR-CNN检测网络,这个检测网络同样是由ImageNet预训练的模型初始化的,这时候两个网络还没有共享卷积层

第三步,我们用检测网络初始化RPN训练,但我们固定共享的卷积层,并且只微调RPN独有的层,现在两个网络共享卷积层了

第四步,保持共享的卷积层固定,微调FastR-CNNfc层。这样,两个网络共享相同的卷积层,构成一个统一的网络。

RPN网络得到的大约2万个anchor不是都直接给Fast-RCNN;

跨越图像边界的anchor box要小心处理。在训练中,我们忽略所有跨越图像边界的anchor,这样它们不会对损失有影响;

有些RPN推荐框和其他推荐框大量重叠,为了减少冗余,我们基于推荐区域的cls得分,对其采用非极大值抑制(non-maximum suppression, NMS。我们固定对NMSIoU阈值为0.7,这样每个图像只剩2k个推荐区域NMS不会影响最终的检测准确率,但是大幅地减少了建议框的数量。

最后留下大约2000个anchor,然后再取前N个box(比如300个)给Fast-RCNN。Fast-RCNN将输出300个判定类别及其box,对类别分数采用阈值为0.3的非极大值抑制(精筛),并仅取分数大于某个分数的目标结果(比如,只取分数60分以上的结果)。




你可能感兴趣的:(深度学习,计算机视觉)