精度faster rcnn

本文提出了一种新的区域提议网络(RPN),它与检测网络共享计算,显著提高了实时目标检测的速度和精度。RPN具有平移不变性和多尺度锚框,通过与Faster R-CNN结合,实现了在GPU上每秒5帧的检测速度,同时提高了检测精度。

fast rcnn除了proposal部分,检测部分基本可以实现实时。proposal部分的时间比检测部分慢一个数量级。考虑到检测部分利用了gpu,因此考虑将proposal也利用gpu实现。但是如果单独重新实现proposal,将忽略与下游的检测网络共享计算。本论文提出了一个可以RPN网络(仅需要10ms),与检测网络共享计算,只需要很小的额外开销,即可给出候选框。实验证明,新的检测网络不仅提高了速度(在gpu上5fps),而且精度也提高了。

 

RPN网络,具有平移不变性,锚框和计算proposal相对锚框的公式都具有此特性(因为在一个feature map上共享3x3的参数,因此不管目标平移到哪里,预测结果都一样)。这个特性也减少了模型尺寸,multibox有(4+1)x 800维全连接输出, 而我们的方法只有(4+2)x 9维卷积输出层。而且预期我们的方法在小数据集上过拟合的风险很小。

Multi-Scale Anchors as Regression References:我们使用了不同的scale和aspect ratio的预测框,来解决多尺度的问题。这种方式比multi images/features/filters更高效。在没有额外的设计的背景下,对于共享特征多尺度锚框的设计是一个重要的组成部分。

对于RPN的训练,我们把这两种类型的锚框设置为正样本:与一个gt box有最大iou的锚框,与任一gt box的iou大于0.7。(因此,有可能一个gt box对应多个锚框)通常第二个条件基本都确定大部分的正样本,但是我们仍然保留第一个条件,防止一些情况下,用第二个条件找不到正样本。对非正样本的锚框进行判断,如果他们与所有gtbox的iou都小于0.3,将其标记为负样本。其他既不是正样本也不是负样本的锚框,不参与训练。

 

 

然而,我们获取bbox regression的方式不同于之前的基于roi的方法。之前的方式,bbox regression是在从任意大小的roi池化的特征上获取的,各种大小的区域共享regression参数。在我们的公式中,用于获取regression的特征是在特征图上的相同尺寸(3x3)。考虑到不同的大小,需要学习k个bbox regressor(k个bbox regressor不共享参数)。基于锚框的这种设计,该box regressor仍然能从固定的size/scale的特征上预测不同大小的box。

RPN和fast rcnn之间共享参数:这两个网络如果各自训练,那么将各自以不同的方式改变卷积层。因此我们需要开发一种机制,在两个网络之间共享卷积层,而不是分别训练出两个网络。我们讨论了3种共享特征的训练方法:

  1. 交替训练:
  2. 近似联合训练:将两个网络在训练时合成一个网络。在每一次sgd迭代,前向产生proposals,当训练fast rcnn时,将其看成是固定的,提前计算的proposals。反向传播跟之前一样,对于共享的层,传播两个loss(rpn和fast rcnn)。这种方式容易实现,但是它忽略了proposals也是网络的输出,因此叫近视联合训练。这种方式可以产生跟交替训练接近的结果,大约减少了25%~50%的训练时间(跟交替训练比)。
  3. 非近似联合训练:

最后我们采用了比较实用的4步训练法。第一步,用imagenet的预训练模型初始化rpn网络,并且finetune对region proposal task。第二步,用第一步中产生的proposals训练一个独立的fast rcnn网络。这个网络也用imagenet预训练模型初始化。此时两个网络没有共享卷积层。第三步,使用检测网络初始化rpn网络,固定共享卷积层,只微调跟rpn相关的层。现在两个网络共享了卷积层。最后,保持共享卷积层固定,微调与fast rcnn相关的层。雷士的迭代训练可以多进行几次,效果有微不足道的提升。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值