深度学习之目标检测(六)—— Faster RCNN系列算法(RCNN & SPNet & Fast RCNN & Faster RCNN)

R-CNN的全称是Region-CNN,CNN算法是第一个利用深度学习来完成目标检测过程的算法

所以不是RNN+CNN, 不要被字面意思迷惑了

 

Faster RCNN

2016年提出,能够在给定图片中精确定位物体位置,预测物体类别

 

Faster RCNN的目标检测任务

给定图片中精确定位物体位置,预测物体的类别

尺度变化、视角变化、姿态变化、场景不确定、多个类别

 

发展经过

RCNN --> SPPNet --> Fast-RCNN --> Faster-RCNN

 

RCNN网络

2014年提出

 

RCNN主要在传统目标检测算法的特征提取的部分进行了优化

深度学习之目标检测(六)—— Faster RCNN系列算法(RCNN & SPNet & Fast RCNN & Faster RCNN)_第1张图片

 

RCNN的步骤

RCNN是采用了预训练的模型

深度学习之目标检测(六)—— Faster RCNN系列算法(RCNN & SPNet & Fast RCNN & Faster RCNN)_第2张图片

①步骤一:训练分类网络(AlexNet)

②步骤二:模型做fine-tuning

  • 类别1000改为20
  • 去掉FC

③步骤三:特征提取

  • 提取候选框(选择性搜索)
  • 对于每一个区域:修正区域为CNN的输入,利用网络对候选框提取到特征

④步骤四:训练SVM分类器

      每个类别对应一个SVM

⑤步骤五:回归器精修候选框位置

      利用线性回归模型判定框的准确度

 

RCNN缺点

  • 候选框选择算法耗时严重
  • 重叠区域特征重复计算
  • 分步骤进行,过程繁琐

 

 

SPPNet

SPPNet,Spatial Pyramid Pooling,空间金字塔池化

 

空间金字塔池化

  • CNN不同尺度输入
  • 仅对原图提取一次卷积特征

利用金字塔池化层完成卷积特征的共享

深度学习之目标检测(六)—— Faster RCNN系列算法(RCNN & SPNet & Fast RCNN & Faster RCNN)_第3张图片

 

 

Fast RCNN

结合了SPPNet的优点,来改进RCNN。为Faster RCNN的提出打下了基础,提供了可能

Fast RCNN也是RCNN的作者提出来的

 

改进的地方

①结合SPPNet改进RCNN

      ROI Pooling:单层SPPNet

ROI pooling是pooling层的一种,为了将proposal抠出来的过程,然后resize到统一的大小。

②多任务网络同时解决分类和位置回归

      共享卷积特征

      即在Fast RCNN中,我们不再采用SVM分类器和线性回归模型来完成候选框类别的判定和位置的回归

 

 

Fast RCNN网络的缺点

存在瓶颈:选择性搜索,找出所有的候选框十分耗时

 

那我们能不能找出一个更加高效的方法来求出这些候选框呢?

Region.Proposal Network(RPN)网络

用RPN优化的Fast RCNN也就是Faster RCNN

 

 

Faster RCNN

Faster RCNN网络提出之后,意味着深度学习目标检测算法的最终框架的成型。在后续的two-stage目标检测算法中,主要延用了这些框架,后续的主要改进点就是对一些组件的优化了

 

网络结构

深度学习之目标检测(六)—— Faster RCNN系列算法(RCNN & SPNet & Fast RCNN & Faster RCNN)_第4张图片

 

RPN网络

深度学习之目标检测(六)—— Faster RCNN系列算法(RCNN & SPNet & Fast RCNN & Faster RCNN)_第5张图片

深度学习之目标检测(六)—— Faster RCNN系列算法(RCNN & SPNet & Fast RCNN & Faster RCNN)_第6张图片

 

 

你可能感兴趣的:(目标检测)