R-CNN(Rich feature hierarchies for accurate object detection and semantic segmentation)是最早将深度学习应用于目标检测领域的方法之一,其使用基于候选区域的方法替代滑动窗口来寻找图像中可能存在目标的区域,使用卷积神经网络替代人工设计的特征用于目标特征的提取,然后使用支持向量机(SVM)判断目标类别并使用边框回归(Bounding-Box Regression)修正候选框(Bounding Box)的位置。相较于传统的方法,R-CNN 提高了检测的准确率和面对复杂环境的鲁棒性。

如下图,R-CNN 可以分为以下四个步骤。

  1. 使用候选区域方法找出图片中可能存在目标的区域。
  2. 将这些区域缩放成相同尺寸输入卷积神经网络,通过网络提取每个区域的特征。
  3. 将提取到的特征输入分类器并判别每个特征所属类别。
  4. 使用边框回归修正候选框的位置。