R-CNN的全称是Region-CNN,CNN算法是第一个利用深度学习来完成目标检测过程的算法
所以不是RNN+CNN, 不要被字面意思迷惑了
2016年提出,能够在给定图片中精确定位物体位置,预测物体类别
给定图片中精确定位物体位置,预测物体的类别
尺度变化、视角变化、姿态变化、场景不确定、多个类别
RCNN --> SPPNet --> Fast-RCNN --> Faster-RCNN
2014年提出
RCNN主要在传统目标检测算法的特征提取的部分进行了优化
RCNN是采用了预训练的模型
①步骤一:训练分类网络(AlexNet)
②步骤二:模型做fine-tuning
类别1000改为20去掉FC③步骤三:特征提取
提取候选框(选择性搜索)对于每一个区域:修正区域为CNN的输入,利用网络对候选框提取到特征④步骤四:训练SVM分类器
每个类别对应一个SVM
⑤步骤五:回归器精修候选框位置
利用线性回归模型判定框的准确度
SPPNet,Spatial Pyramid Pooling,空间金字塔池化
空间金字塔池化
CNN不同尺度输入仅对原图提取一次卷积特征利用金字塔池化层完成卷积特征的共享
结合了SPPNet的优点,来改进RCNN。为Faster RCNN的提出打下了基础,提供了可能
Fast RCNN也是RCNN的作者提出来的
①结合SPPNet改进RCNN
ROI Pooling:单层SPPNet
ROI pooling是pooling层的一种,为了将proposal抠出来的过程,然后resize到统一的大小。
②多任务网络同时解决分类和位置回归
共享卷积特征
即在Fast RCNN中,我们不再采用SVM分类器和线性回归模型来完成候选框类别的判定和位置的回归
存在瓶颈:选择性搜索,找出所有的候选框十分耗时
那我们能不能找出一个更加高效的方法来求出这些候选框呢?
Region.Proposal Network(RPN)网络
用RPN优化的Fast RCNN也就是Faster RCNN
Faster RCNN网络提出之后,意味着深度学习目标检测算法的最终框架的成型。在后续的two-stage目标检测算法中,主要延用了这些框架,后续的主要改进点就是对一些组件的优化了
RPN网络