目标检测4 Faster R-CNN

作者:Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun

这篇文论干了什么呢?目标检测网络基于区域建议( region proposal)算法,首先得生成区域建议,才能进行检测,暴露出区域建议是目标检测的一个瓶颈。所以,论文提出一个区域建议网络( Region Proposal Network ,RPN),使用检测网络,共享全图卷积特征,使得生成区域建议很容易。
有人提出既然CPU计算区域建议耗时,直接用GPU计算应该会好很多。着是一个工程解决办法,但这个方法忽略了网络,放弃了共享计算的可能性。
所以这篇论文提出,使用深度卷积神经网络计算区域建议,在测试阶段,通过共享卷积,使得计算区域建议的时间很少。
作者的想法是,基于区域的检测器使用的卷积特征也能够用来生成区域建议。RPN是在这些卷积特征之后,通过增加一个新的卷积层,可以同时在每个规则网格位置回归和计算得分。这样RPN是一种全卷积网络,可以端对端训练。
网络避免了计算不同尺度比例的原图和滤波器,使用一个尺度的原图,从而加快运行速度。
将RPNs与 Fast R-CNN联合起来的方法是,轮流微调生成区域建议任务,和微调目标检测(固定区域建议)。这种方法收敛很快,生成一个统一的网络,网络的卷积特征在两个任务之间共享。
FASTER R-CNN
由两部分组成,第一个模块是深度全卷积神经网络提出区域建议,第二个模块是Fast R-CNN检测器,使用第一个模块提出的全卷积网络。

这里写图片描述
网络如上图。 RPN模块扮演了‘注意力’的角色,告诉网络从哪儿找目标建议区域。

Region Proposal Networks
RPN接收任意大小的输入,输出一系列有分数的矩形目标建议区。
这里写图片描述
如何产生区域建议的?使用卷积的原理,在特征图上滑动一个 n × n大小的窗口。在每个窗口产生区域建议,以每个建议区域处,论文使用3种大小的区域建议,每种又有三种长宽比例,所以每个窗口产生9个区域建议,叫anchors。anchors被映射到低维特征。这些低维特征输入两个共享的全连接层(共享参数,其实就是一个),一个回归,一个分类。
三种尺度是128 2 ,256 2 , 和512 2 ,三种比例是1:1, 1:2, 和2:1。
anchor可能超出图像边界,在训练过程中,我们忽略超出图像边界的anchor。训练过程中,有交叉边界的anchor也被忽略。这样一张图片现在有6000个anchor。一些RPN找出的区域建议高度重叠,为了减少这些冗余,对这些剩下的anchor(根据分类给出的分数)采取非最大抑制(NMS)。作者固定NMS的阈值为0.7。最后每张图剩下大概2000个anchor。

Loss Function
这里写图片描述
i是第几个anchor,p i 是对应anchor的预测为物体的概率。 带表示对应label,正样本为1,负样本为0。ti表示预测的物体位置,带表示的是,对应的正样本的label。损失L cls是log类别损失。 回归损失表达式为这里写图片描述R是鲁邦性损失函数(光滑L1,在Fast R-CNN中定义)。这里写图片描述表示,如果为正样本,则损失包含第二项,否则不包含第二项。 N cls 和N reg是正则项(对实验结果影响不大)。 λ为平衡因子(影响实验结果)。实验中,N cls 是mini-batch个数256;N reg是anchor个数,大约2400。回归的label和对应的预测定义为:
这里写图片描述
x, y, w, 和h是物体的中心坐标和对应宽高。变量x, x a , 和x ∗分别对应预测的,anchor,和原图。和之前的SPPnet不同的是,本文对应9种anchor分别使用不同回归。

Training RPNs
RPN可以使用随机梯度下降法和反向传播进行端对端训练。训练时,尽量保持正负样本为1:1,平衡正负样本。

Sharing Features for RPN and Fast R-CNN
RPN 和Fast R-CNN是独立训练的,将使用不同的方法更新自己的卷积层。有三种方法训练网络:
1.交互训练;我们首先训练RPN,然后使用提出的区域建议训练Fast R-CNN。由Fast R-CNN调整的网络然后被用来初始化RPN,不断重复这个过程。
2.近似联合训练;在训练过程中RPN 和Fast R-CNN被合并成一个网络。在每次更新时,前向通道生成区域建议,然后作为训练 Fast R-CNN时的固定的,预计算的区域建议。当反向传播到共享层时,将RPN loss 和the Fast R-CNN loss反向传播信号结合起来。但这个方法忽略了对区域坐标(有RPN产生的区域建议)的求导,所以是近似的。这种方法产生的结果相近,但训练时间减少了25-50%,相对于交互训练。
3.非近似联合训练;计算方法2中丢失的,对区域建议坐标的求导。

4-Step Alternating Training
1.使用 ImageNet预训练,对区域建议任务(RPN)使用端对端微调;
2.使用第一步 RPN产生的区域建议分离训练 Fast R-CNN检测网络。这时,两个网络还没有共享卷积层;
3.使用检测网络初始化RPN训练,但固定共享卷积层,仅仅微调RPN,现在网络共享卷积层;
4.固定共享的卷积层,微调 Fast R-CNN;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值