RCNN, SPP-Net, Fast RCNN, Faster RCNN概述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43383164/article/details/102606421

目标检测

       任务有二,一是分类,二是框出目标位置。
       由于感兴趣的对象出现的次数不固定,输出层的长度是可变的,所以不能直接采用"conv+fully-connected"方式。 解决方法是从图像中获取不同的RoI,并使用CNN对该区域内的对象进行分类。 这种方法的问题在于,由于感兴趣的对象在图像中具有不同的空间位置和不同的纵横比,因此需要选择大量的区域,导致计算爆炸。
       传统方法:滑动窗口。

R-CNN

采用选择性搜索来避免需要选择大量区域的问题,这种方式只提取2000个区域,称为区域候选框(region proposals)。

1.【算法】 选择性搜索:

  1. 生成初始化子分割
  2. 使用贪心算法递归地将相似区域组合为几个大区域
  3. 使用生成的区域产生最终区域候选框

选择性搜索产生的2000个候选框被拉伸成一个正方形,然后送入一个卷积神经网络(CNN),输出一个4096维的特征向量。CNN作为一个特征提取器,将提取到的特征送入SVM中,对区域候选框中的对象进行分类。此外,算法还预测四个偏移值,帮助调整区域候选框的bounding box以提高精度。
RCNN原理
一张图片中并行的框

2. 步骤:提取特征,分类,bbox回归

  1. 选择性搜索,提取所有候选框;
  2. 对每个候选框重塑其大小以适合CNN的输入(CNN要求的输入大小固定),送入CNN;
  3. 训练一个分类器(如SVM),判断候选框中的物体类别;
  4. 对于属于某类别的候选框,训练一个线性回归器,使用回归器微调候选框的位置。

3. 问题:

  1. 每张图片对2000个区域进行分类,需要大量时间来训练网络;
  2. 每张图片需要47s的时间,不能实时完成任务;
  3. 选择性搜索算法非常固定,没有学习过程,产生的区域候选框可能质量不佳。

SPP Net

  1. 加入了金字塔池化层
    上:RCNN;下:SPP Net
    即无需对图片进行变形,输入图像可以是任意尺寸,但输出维数固定。
  2. 只对原图提取一次卷积特征。

SPP Net 比 R-CNN有一百倍左右的提速。

Fast R-CNN

1. 与R-CNN的不同:端到端

  1. 卷积层后加入RoI池化层,所有的区域候选框都对应一个固定维度的特征向量作为fc层的而输入。
    即不需要对输入图像进行拉伸变形。同SPP Net。
  2. 使用softmmax代替SVM进行分类,同时采用多任务损失函数,将bbox回归加入到CNN中训练。
    即将bbox回归放入CNN,与区域分类做成一个多任务模型,共享卷积特征。

2. 优势:

  1. 不需要将2000个区域候选框送入CNN,而是将一张图片产生的一张特征图送入。

  2. 端到端。
    原来的方法:许多候选框(比如2000)–> CNN --> 得到每个候选框的特征 --> 分类+回归
    现在的方法:一张完整图片 --> CNN --> 得到每张候选框的特征 --> 分类+回归

3. 步骤

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

Faster R-CNN

R-CNN和Fast R-CNN存在的问题:选择性搜索提出区域候选框非常耗时。
解决:加入一个提取边缘神经网络RPN替代选择性搜索,同时加入anchor box。

1. RPN

  1. 步骤:(1)在特征图上滑动窗口;(2)搭建用于物体分类+bbox回归的神经网络。
  2. 步骤意义:(1)滑动窗口提供了物体的大体位置,(2)bbox回归提供了更精确的位置。

2. 损失函数

  1. RPN分类损失:anchor好坏
  2. RPN回归损失:anchor与候选框的差
  3. Faster R-CNN分类损失:类间损失
  4. Faster R-CNN回归损失:候选框与box的差

3. 步骤

  1. 将整张图片输入CNN,得到特征图;
  2. 将得到的特征输入RPN;
  3. 对候选框中的特征进行分类;
  4. 对于属于某一类的候选框进行回归,对其位置进行微调。

总结

R-CNN:           选择性搜索+CNN+SVM
SPP Net:         RoI 池化
Fast R-CNN:   选择性搜索+CNN+RoI池化
Faster R-CNN:RPN+CNN+RoI

猜你喜欢

转载自blog.csdn.net/weixin_43383164/article/details/102606421
今日推荐