R-CNN算法概要

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

下载地址:https://arxiv.org/pdf/1311.2524.pdf

R-CNN的工作流程:

  ⦁ 首先用选择性搜索算法(Selective Search,SS)提取候选区域

  ⦁ 使用深度卷积神经网络提取每一个候选区的深度特征

  ⦁ 训练SVM分类器来对这些特征进行分类

  ⦁ 最后通过边界回归算法重新定位目标边界框

 

  Selective Search对算法的贡献:此前,在一些传统的目标识别算法中,使用的是滑动窗口进行候选区提取,这样会导致在一章图片中会产生高达百万个候选区,而在R-CNN中,使用选择性搜索算法,每次提取的候选区大概只有1k到2k可能包含物体的区域。

  使用深度CNN提取建议区域的特征时,需要注意的是,有些网络对输入图片的大小有要求,如Alex-net要求输入的图片尺寸为227像素*227像素的大小。因此,由SS提取得到的候选区的尺寸大小不一,需要在输入神经网络之前调整大小。通过深度CNN提取特征后,每个目标候选区域相应得到一个4096维的特征向量。

  以上得到了每个候选区域的特征向量,接下来使用SVM分类器对特征进行分类。


相对与传统的方法,R-CNN的主要优势有:
  ⦁ 使用深度学习方法提取深度特征,而不是使用人为设计,因此提高了任务精度。
  ⦁ 采用区域建议提取可能目标,而不是使用滑动窗口的方式取检测目标,这样减少了不必要的候选区。
  ⦁ 加入了边界回归的策略来进一步提高检测精度

不足之处:
R-CNN使用了区域建议的方法,对每一个建议区域都重新计算整个神经网络,使得运算效率不高,也没有将区域建议过程融合在整个深度学习模型中,无法做端到端的处理任务。

原文地址:https://www.cnblogs.com/houjun/p/8340378.html