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

    技术2022-07-10  131

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

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

     

    Faster RCNN

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

     

    Faster RCNN的目标检测任务

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

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

     

    发展经过

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

     

    RCNN网络

    2014年提出

     

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

     

    RCNN的步骤

    RCNN是采用了预训练的模型

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

    ②步骤二:模型做fine-tuning

    类别1000改为20去掉FC

    ③步骤三:特征提取

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

    ④步骤四:训练SVM分类器

          每个类别对应一个SVM

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

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

     

    RCNN缺点

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

     

     

    SPPNet

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

     

    空间金字塔池化

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

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

     

     

    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目标检测算法中,主要延用了这些框架,后续的主要改进点就是对一些组件的优化了

     

    网络结构

     

    RPN网络

     

     

    Processed: 0.094, SQL: 9