RCNN、SPP、Fast RCNN、Faster RCNN

基于侯选区域(Region Proposal)的深度学习目标检测法

1、R-CNN

论文:Rich feature hierarchies for accurate object detection and semantic segmentation

  • 候选区域生成(Selective Search)
  • 用深度网络提取特征(Alexnet)
  • 特征送入每一类的SVM分类器
  • 使用回归器精修候选框位置

RCNN、SPP、Fast RCNN、Faster RCNN


  利用Seclective Search算法选取大约2000个候选区域,将所有候选区域warp成相同大小的图片,输入到Alexnet中提取特征,得到feature map后,将feature输入到各类别的SVM分类器中进行分类,最后通过回归器对预测的边框进行修正。

2、SPP

论文:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

  • 产生region proposal
   SPP第一步与RCNN一样,在原图上产生大约2000个region proposal
  • 卷积层,对整张图做卷积,获得featur map,根据原始坐标与feature map上坐标的对应关系,在featur map上选择proposal

  原始坐标跟feature map上坐标的对应关系在论文的附录A中给出了,也可以参考这篇博客http://blog.csdn.net/hjimce/article/details/50187655(懒得打公式RCNN、SPP、Fast RCNN、Faster RCNN

  SPP对整张图片做卷积,RCNN是对每个proposal都要做一次卷积,proposal之间如果有重叠,重叠部分就进行了多次卷积,因此SPP在速度上比RCNN要快。

  • 空间金字塔池化层
  池化层后面是全连接层,进入全连接层的数据必须是同一维度,但是proposal的大小是不一样的,通常的方法是进行crop或者warp,但是crop可能会使物体发生截断,warp会改变物体原来的长宽比,而SPP可以输入任意尺度的图片,在最后一层pooling时使用自适应窗口,保证在进入全连接层时数据是同一维度即可。

RCNN、SPP、Fast RCNN、Faster RCNN

RCNN、SPP、Fast RCNN、Faster RCNN

  对featur map用4*4,2*2,1*1的kernel提取出21=4*4+2*2+1维的特征向量,根据proposal的大小自动调整kernel中每个块的大小。

  •  最后的部分跟RCNN是一样的,都是用SVM分类器进行分类,再用回归器对边框进行精修。
 

3.Fast RCNN

  FRCNN对比之前的RCNN和SPP,前面的region proposal还是一样的,到提取roi pooling部分用的还是SPP, 对每个roi,获取的特征进入两个全连接层,一个是softmax,替代了之前的SVM分类器,另一个是robust L1 loss,用于box regression.Fast RCNN实现了region proposal之后的end-to-end.

RCNN、SPP、Fast RCNN、Faster RCNN

4.Faster RCNN

对比前面三种方法,Faster RCNN实现了包括region proposal的end-to-end.

这篇博客写的很详细 http://blog.csdn.net/zy1034092330/article/details/62044941 又偷懒了:)

  • Convolutional Network

  跟之前不一样了,Faster RCNN的第一步是对图片卷积获得feature map.

  • Region Proposal Network

  RPN用于获得region proposal,通过softmax判断anchors属于foreground或者background,再利用bounding box regression修正anchors获得精确的proposals

  • Roi Pooling
  由于得到的proposal尺寸不一样,所以要经过roi pooling,这里的pooling层方法跟SPP是一样的
  • Classification
  与FRCNN中一样,利用全连接层与softmax来进行分类
  • Box Regression

  再进行box regression,获取更高精度的bounding box.

RCNN、SPP、Fast RCNN、Faster RCNN

(图片来自http://blog.csdn.net/zy1034092330/article/details/62044941)

从上面的网络结构图就很容易了解Faster RCNN的网络结构了:)