目标检测RCNN、Fast RCNN、Faster RCNN对比

RCNN算法分为4个步骤 :

  1. 候选区域生成: 一张图像生成1K~2K个候选区域 (采用Selective Search 方法)
  2. 特征提取: 对每个候选区域,使用深度卷积网络提取特征 (CNN)
  3. 类别判断: 特征送入每一类的SVM 分类器,判别是否属于该类
  4. 位置精修: 使用回归器精细修正候选框位置

RCNN :许多候选框(比如两千个)-->CNN-->得到每个候选框的特征-->分类+回归;

Fast RCNN :一张完整图片-->CNN-->得到每张候选框的特征-->分类+回归;

Faster R-CNN:基于Fast RCNN的问题做出了改进;
------Fast R-CNN存在的问题:存在瓶颈,选择性搜索,找出所有的候选框,这个也非常耗时。那我们能不能找出一个更加高效的方法来求出这些候选框呢?
解决:加入一个提取边缘的神经网络,也就说找到候选框的工作也交给神经网络来做了。
做这样的任务的神经网络叫做区域生成网络Region Proposal Network(RPN),是一个全卷积网络。
Faster R-CNN具体做法:
  • 将RPN放在最后一个卷积层的后面
  • RPN直接训练得到候选区域

最后总结一下各大算法的步骤:
RCNN
  1. 在图像中确定约1000-2000个候选框 (使用选择性搜索)
  2. 每个候选框内图像块缩放至相同大小,并输入到CNN内进行特征提取
  3. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
  4. 对于属于某一特征的候选框,用回归器进一步调整其位置

Fast RCNN
  1. 在图像中确定约1000-2000个候选框 (使用选择性搜索)
  2. 对整张图片输进CNN,得到feature map
  3. 找到每个候选框在feature map上的映射patch,将此patch作为每个候选框的卷积特征输入到SPP layer和之后的层
  4. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
  5. 对于属于某一特征的候选框,用回归器进一步调整其位置

Faster RCNN
  1. 对整张图片输进CNN,得到feature map
  2. 卷积特征输入到区域生成网络RPN,得到候选框的特征信息
  3. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
  4. 对于属于某一特征的候选框,用回归器进一步调整其位置

你可能感兴趣的:(目标检测RCNN、Fast RCNN、Faster RCNN对比)