RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN详解

mAP:物体类别和位置的平均精度

RCNN参考:https://www.cnblogs.com/zf-blog/p/6740736.html
创新点:

  • 采用CNN网络提取图像特征,从经验驱动的人造特征范式HOG、SIFT到数据驱动的表示学习范式,提高特征对样本的表示能力;

  • 采用大样本下有监督预训练+小样本微调的方式解决小样本难以训练甚至过拟合等问题。

步骤:

  • 输入一张多目标图像,采用selective search算法提取约2000个建议框;

  • 先在每个建议框周围加上16个像素值为建议框像素平均值的边框,再直接变形为227×227的大小;

  • 先将所有建议框像素减去该建议框像素平均值后【预处理操作】,再依次将每个227×227的建议框输入AlexNet CNN网络获取4096维的特征【比以前的人工经验特征低两个数量级】,2000个建议框的CNN特征组合成2000×4096维矩阵;

  • 将2000×4096维特征与20个SVM组成的权值矩阵4096×20相乘【20种分类,SVM是二分类器,则有20个SVM】,获得2000×20维矩阵表示每个建议框是某个物体类别的得分;

  • 分别对上述2000×20维矩阵中每一列即每一类进行非极大值抑制剔除重叠建议框,得到该列即该类中得分最高的一些建议框;

  • 分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。

问题:

  • R-CNN网络训练、测试速度都很慢:R-CNN网络中,一张图经由selective search算法提取约2k个候选框【这2k个候选框大量重叠】,而所有候选框变形后都要输入AlexNet CNN网络提取特征【即约2k次特征提取】,会出现上述重叠区域多次重复提取特征,提取特征操作冗余;
  • R-CNN网络训练、测试繁琐:R-CNN网络训练过程分为ILSVRC 2012样本下有监督预训练、PASCAL VOC 2007该特定样本下的微调、20类即20个SVM分类器训练、20类即20个Bounding-box 回归器训练,该训练流程繁琐复杂;同理测试过程也包括提取候选框、提取CNN特征、SVM分类和Bounding-box 回归等步骤,过于繁琐;
  • R-CNN网络训练需要大量存储空间:20类即20个SVM分类器和20类即20个Bounding-box 回归器在训练过程中需要大量特征作为训练样本,这部分从CNN提取的特征会占用大量存储空间;
  • R-CNN网络需要对候选框进行形变操作后【形变为227×227 size】再输入CNN网络提取特征,其实像AlexNet CNN等网络在提取特征过程中对图像的大小并无要求,只是在提取完特征进行全连接操作的时候才需要固定特征尺寸【66256】【R-CNN中将输入图像形变为227×227可正好满足AlexNet CNN网络最后的特征尺寸要求】,然后才使用SVM分类器分类,R-CNN需要进行形变操作的问题在Fast R-CNN已经不存在,具体见下。

SPP-Net参考:https://blog.csdn.net/v1_vivian/article/details/73275259

  • 意义:使得任意大小的特征图都能够转换成固定大小的特征向量,这就是空间金字塔池化的意义(多尺度特征提取出固定大小的特征向量)。

Fast-RCNN参考:https://www.cnblogs.com/xuanyuyt/p/6207198.html
创新点:

  • 规避R-CNN中冗余的特征提取操作,只对整张图像全区域进行一次特征提取;

  • 用 RoI pooling 层取代最后一层 max pooling层,同时引入候选框信息,提取相应候选框特征;

  • Fast R-CNN 网络末尾采用并行的不同的全连接层,可同时输出分类结果和窗口回归结果,实现end-to-end的多任务训练【候选提取除外】,也不需要额外的特征存储空间【R-CNN中这部分特征是供SVM和Bounding-box regression进行训练的】;

  • 采用SVD对Fast R-CNN网络末尾并行的全连接层进行分解,减少计算复杂度,加快检测速度。

Faster-RCNN参考:https://blog.csdn.net/u013010889/article/details/78574879
https://www.jianshu.com/p/ab1ebddf58b1
https://www.cnblogs.com/dudumiaomiao/p/6560841.html
在这里插入图片描述
Mask-RCNN

  • 实现了物体检测和实例分割两大功能
  1. resnet +FPN
  2. ROIAlign
  3. mask中sigmoid代替softmax
    https://blog.csdn.net/remanented/article/details/79564045
    https://blog.csdn.net/xiamentingtao/article/details/78598511
    https://blog.csdn.net/xiamentingtao/article/details/78598511
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章