物体检测-RCNN系列

转载请注明出处:http://blog.csdn.net/ben_ben_niao/article/details/52005989

文章只做思路的总结,有理解不妥之处望指正。

简介:
  1. 这一系列主要分为三部:提取候选区域,提特征,分类。
  2. 传统的方法中,这三步有1)滑窗+尺度来遍历,2)sift,hog,cn特征等,3)SVM,Adaboost分类算法。
  3. 深度学习的方法有1)ss,EdgeBox,RPN,2)CNN特征,3)SVM,softmax

1.R-CNN

  • 简介:
  1. 作者Ross Girshick Jeff Donahue Trevor Darrell Jitendra Malik:【UC Berkeley】
  2. 发表年限,14年,文论[1].
  3. 优点,见效果。缺点,速度超慢[~50s/image],特征重复计算[SPP-Net提出后解决],BBox没有置信度,训练分开:fine-tune网络+SVM+BBox。
  • 步骤:
  1. 用selective方法提取proposal[~2k]。方法有selective,edgeBox,和bing的方法。三种对比recall:selective>edgeBox>Bing,速度相反。
  2. cnn提特征并分类.
  3. BBox回归。
  • 框架图:

  • 由上图,可以看见,检测的具体步骤为:
  1. 输入图像,从图像中利用SS提取~2K个候选区域(proposal)
  2. 将proposal,resize到227*227作为网络的输入。
  3. 取fc7的特征输入到SVM进行分类。
  4. 用pool5后的feature进行BBox回归(mAP提升3~4%)。
  • train的具体步骤的不同在于: 先对pre-train的AlexNet/VGG网络进行fine-tune,得到CNN网络部分,然后用网络提取特征来训练SVM
  • 效果:与DPM相比,在VOC2007上mAP从~34%提升到~58%


2.SPP-net
  • 简介:
  1.  作者:Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun
  2. 发表年限,2015,论文[2]
  3. 优点,引入金字塔采样,从而较少proposal的重复提特征
  4. 训练依然存在R-CNN的问题,每次都单独训练[Fast-RCNN提出后解决]。
  • 步骤:
  1. 流程,主要解决R-CNN特征重复计算问题,做法为:整张图进行卷积,在con5_3的featureMap上,对每个proposal进行三个尺度的划分,见下图Figure3,使特征维度固定为(4*4+2*2+1)*512

3.FR-CNN
  • 简介:
  1. 作者Ross Girshick [Microsoft Research],文献[3]
  2. 特征,引入ROI-pooling(SPP-精简版),将R-CNN的SVM分类器换为softmax,并引入multi-box回归的loss函数,从而实现了end-to-end.
  3. 缺点:proposal耗时,并且和CNN网络无关联。
  • 步骤:      

        从上图可知,检测步骤为:

  1. CNN卷积后得到FeatureMap,利用ROI-pooling将每个proposal特征固定为7*7大小,作为fc的输入。
  2. 最后一层分为不同的分支:softmax分类分支和BBox回归分支,将两个分支的loss函数结合,从而实现end-to-end的训练,但是proposal耗时,并且和网络分离问题还是没解决[Faster-RCNN提出RPN解决]。
  3. 耗时~3s/image,主要时间在proposal的计算耗时,VGG网络分类只需要~0.3s.
  • 效果:


4.Faster-RCNN
  • 简介:
  1.  作者Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun
  2. 特点,RPN网络:解决proposal的问题,引入anchor概念和共享网络,从而大大加速[~5fps]。
  • 步骤:

流程图,和anchor

由上图可知,具体流程如下:

  1.  和F-RCNN一样,提取特征。
  2. 在特征图上首先运用RPN网络提取proposal.
  3. 将提取的proposal进行分类(和fast-RCNN一样,只不过proposal用RPN替换SS).

注:RPN的过程为,假设最后的FeatureMap为40*60,则采用3*3的窗口在featureMap上滑动,同时预测9个尺度[anchor],后面接两个分类和回归网络,这里的分类只是前景背景分类,回归是得到较好的proposal,最后得到40*60*9个proposal.

  • 关于anchor的问题:

 这里在详细解释一下:(1)首先按照尺度和长宽比生成9种anchor,这9个anchor的意思是conv5 feature map 3x3的滑窗对应原图区域的大小.这9个anchor对于任意输入的图像都是一样的,所以只需要计算一次. 既然大小对应关系有了,下一步就是中心点对应关系,接下来(2)对于每张输入图像,根据图像大小计算conv5 3x3滑窗对应原图的中心点.   有了中心点对应关系和大小对应关系,映射就显而易见了[见http://m.blog.csdn.net/article/details?id=51247371].在整个faster RCNN算法中,有三种尺度。 
原图尺度:原始输入的大小。不受任何限制,不影响性能。 
归一化尺度:输入特征提取网络的大小,在测试时设置,源码中opts.test_scale=600。anchor在这个尺度上设定。这个参数和anchor的相对大小决定了想要检测的目标范围。 
网络输入尺度:输入特征检测网络的大小,在训练时设置,源码中为224*224。

train的时候是先训练RPN,然后用RPN来训练分类网络,这样交替,其中featureMap是共享的。

  • 效果:

    






参考文献:

[1].R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014

[2].Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

[3].Fast R-CNN

[4].Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值