目标检测-RCNN, SPP-Net, Fast RCNN, Faster RCNN概述

个人微信公众号:AI研习图书馆,欢迎关注~

深度学习知识及资源分享,学习交流,共同进步~

1. 引言

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

   传统方法:滑动窗口。

2. R-CNN

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

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

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

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

在这里插入图片描述
在这里插入图片描述

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

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

2.3 问题

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

3 SPP Net

1.加入了金字塔池化层

在这里插入图片描述
即无需对图片进行变形,输入图像可以是任意尺寸,但输出维数固定。

2.只对原图提取一次卷积特征。
SPP Net 比 R-CNN有一百倍左右的提速。

4 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. 对于属于某一类别的候选框,用回归器进一步调整其位置。

4 Faster R-CNN

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

4.1 RPN
  1. 步骤:(1)在特征图上滑动窗口;(2)搭建用于物体分类+bbox回归的神经网络。
  2. 步骤意义:(1)滑动窗口提供了物体的大体位置,(2)bbox回归提供了更精确的位置。
4.2 损失函数
  1. RPN分类损失:anchor好坏
  2. RPN回归损失:anchor与候选框的差
  3. Faster R-CNN分类损失:类间损失
  4. Faster R-CNN回归损失:候选框与box的差
4.3. 步骤
  1. 将整张图片输入CNN,得到特征图;
  2. 将得到的特征输入RPN;
  3. 对候选框中的特征进行分类;
  4. 对于属于某一类的候选框进行回归,对其位置进行微调。

5 总结

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI研习图书馆

您的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值