【目标检测】Faster RCNN算法详解

Ren, Shaoqing, et al. “Faster R-CNN: Towards real-time object detection with region proposal networks.” Advances in Neural Information Processing Systems. 2015.

本文是继RCNN,Fast RCNN之后,目标检测界的领军人物Ross Girshick团队在2015年的又一力作。简单网络目标检测速度达到17fps,在PASCAL VOC上准确率为59.9%;复杂网络达到5fps,准确率78.8%。

思想

从RCNN到Fast RCNN,再到本文的Faster RCNN,目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架之内。所有计算没有重复,完全在GPU中完成,大大提高了运行速度。
这里写图片描述

这里写图片描述

Faster-RCNN

Faster RCNN可以简单地看做“区域生成网络+Fast RCNN“的系统,用区域生成网络(RPN)代替Fast RCNN中的Selective Search方法。本篇论文着重解决了这个系统中的三个问题:

  1. 如何设计区域生成网络
  2. 如何训练区域生成网络
  3. 如何让区域生成网络和Fast RCNN网络共享特征提取网络

区域生成网络(Region Proposal Network)

RPN的核心思想是使用卷积神经网络直接产生region proposal,使用的方法本质上就是滑动窗口。RPN的设计比较巧妙,RPN只需在最后的卷积层上滑动一遍,因为anchor机制和边框回归可以得到多尺度多长宽比的region proposal。我们通过如下VGG模型进行分析:
这里写图片描述
以上是script_faster_rcnn_demo.m 代码中使用的VGG网络结构proposal + detection,我们输入一张图片375x500 (进行尺度缩放后为600x800, 即对应于test_scales=600,短边最短为600,长边最长不超过1000进行的缩放:Reference),然后将其处理成caffe输入的blob格式im_blob: 800x600x3 输入到proposal(RPN)网络中:Reference,经过卷积操作后得到最后一层conv5_3的卷积特征图feature map(大小为50x38,共有512个,ZF则有256个)。在这个特征图上使用3x3的卷积核(滑动窗口)与特征图进行卷积后,可以得到一个512维的特征向量50x38x512,后面接 cls layerreg layer 分别用于分类和边框回归(跟Fast R-CNN类似,只不过这里的类别只有目标和背景两个类别)。

  • cls layer即proposal_cls_score层 :输出每一个位置上,9个anchor属于前景和背景的概率(代码中只取了每个位置属于前景的概率:Reference,即 17100x1 = 50x38x9个anchors属于前景的概率);
  • reg layer即 proposal_bbox_pred层 :输出每一个位置上,9个anchor对应窗口应该平移缩放的参数(之后可使用该参数,对缩放后的原图上的50x38x9个anchors进行边框回归,修正每个anchor属于前景的位置)

就局部来说,这两层是全连接网络;
就全局来说,由于网络在所有位置(共50x38个)的参数相同,所以实际用尺寸为1×1的卷积网络实现。

这里写图片描述
这样设计的好处是什么呢?虽然现在也是用的滑动窗口策略,但是:滑动窗口操作是在卷积层特征图上进行的,维度较原始图像降低了16x16倍(中间经过了4次2x2的pooling操作);多尺度采用了9种anchor,对应了三种尺度和三种长宽比,加上后边接了边框回归,所以即便是这9种anchor外的窗口也能得到一个跟目标比较接近的region proposal。

候选区域(anchor)

我们通过RPN网络,可以得到最后一个卷积层conv5_3的feature map大小50x38(因为输入的im_blob格式是width优先),我们取featuremap_size为38x50,这是为了与缩放后的原图(height优先)600x800进行对应。然后我们计算该38x50个像素点对应于缩放后原图中的位置,即将feature map中的每个像素点位置×conf.feat_stride,即可映射回缩放后原图的位置(感受野的概念)。接着使用映射回缩放后原图上的点,共38x50个位置,计算其在缩放后原图上的9个anchors,即9个可能的候选窗口:三种面积 {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值