【目标检测】基于推荐区域的two stage算法简单总结

从网络结构上来讲,目标检测算法可以被分为one stage框架的YOLO算法、SSD算法,以及two stage框架的R-CNN系列。one stage 和 two stage区别在于,前者是输入图像后在卷积神经网络中提取特征,预测物体分类和位置,后者是输入图像后在网络中生成多个候选框(Proposal Boxes),进行更精细的检测,找到待测物体的位置并分类。本文针对two stage算法,简要总结下R-CNN系列算法的流程。

R-CNN

算法步骤

  • 输入图像,采用Selective Search算法,在一张图像中生成多个候选框(一般 2 000 个左右)
  • 每个候选框的特征图缩放到相同大小(227x227),使用CNN提取特征
  • 将提取出的特征送入线性SVM分类器,判别是否属于一个特定的类
  • 对其进行非极大抑制处理,提出重叠的候选框
  • 使用回归器进一步调整候选框位置
    在这里插入图片描述

总结

  • R-CNN是在推荐区域上,自下而上使用大型卷积神经网络(CNNs),用以定位和分割物体
  • 采用 Selective Search 技术生成推荐区域,使用的是AlexNet网络
  • 在 ImageNet 上先进行预训练,然后进行 fine-tune(迁移学习),优化了效率问题,效果更好
  • 用 CNN 抽取特征,然后用一系列的的 SVM 做类别预测
  • bbox 位置回归基于 DPM 的灵感,自己训练了一个线性回归模型
  • 区域分类技术是语义分割的标准做法,所以 R-CNN 也可以做语义分割
  • Bbox 的值其实就是物体方框的位置,预测它就是回归问题
  • 神经网络最神奇的力量主要来自卷积层,甚至去除了全连接影响也不会太大
  • 采用大样本下有监督预训练+小样本微调的方式解决小样本难以训练甚至过拟合等问题

不足之处

  • 对每个推荐区域都进行了前向运算,也就是算法步骤中的第二步,其中涵盖了大量对重复区域的操作,导致训练和测试速度很慢
  • 由于输入的候选区域必须是固定大小,因此经过 crop 或 warp 操作后,裁剪区域可能不包含整个对象,而扭曲内容可能导致几何失真,影响检测精确度。
  • 测试过程复杂,要先提取推荐区域,之后提取每个RP的CNN特征,再用SVM分类,做非极大值抑制,最后做bounding-box回归才能得到图片中物体的种类以及位置信息;训练过程复杂,ILSVRC 2012上预训练CNN,PASCAL VOC 2007上微调CNN,做20类SVM分类器的训练和20类bounding-box回归器的训练;这些不连续过程必然涉及到特征存储、浪费磁盘空间等问题。

Fast R-CNN

算法步骤

  • 输入图像,用滑动窗口查找图像中的对象,利用Selective Search算法提取推荐区域(大约2000个)
  • 使用CNN 提取特征,投影到最后的特征层
  • 对特征层上的候选框进行单一金字塔池化(SSP)操作,得到固定大小的特征表示
  • 使用两个全连接层(分类与回归),用 Softmax 分类器分类,用边界回归模型进行微调

在这里插入图片描述

总结

  • Fast R-CNN不再使用SVM进行分类,采用并行的不同的全连接层,使用一个网络同时完成了提取特征、判断类别、框回归三项多任务工作
  • 采用SVD对Fast R-CNN网络末尾并行的全连接层进行分解,减少计算复杂度,加快检测速度
  • Fast R-CNN是R-CNN和SPPNet的融合与改进
  • 在R-CNN上改进,主要在于使用了SPPNet的思想,ROI Pooling,用RoI pooling层取代最后一层max pooling层,同时引入推荐框信息,提取相应推荐框特征
  • 在SPPNet上改进,主要在于最后分类使用的是神经网络

不足之处

  • 采用selective search算法提取候选区域,而目标检测大多数时间都消耗在这里,无法满足实时应用需求
  • 并没有实现真正意义上的端到端训练模式,推荐区域是使用selective search算法先提取出来的

Faster R-CNN

算法步骤

  • 通过 CNN 对输入的任意大小的图像进行特征提取,输出一组矩形Object Proposal
  • 在与 RPN形成的共享 conv 层的最后一层的滑动网络滑动一遍,利用 k个不同大小的锚(Anchor)定位滑动窗口(例如 k取9),从而预测 Region Proposal,生成特征区域候选框
  • 在 reg(盒回归层)和 cls(盒分类层)上进行回归和分类,每个锚都分配一个二进制类标签(an object or not)进行分类,训练一组 K 个边界回归模型,每个回归模型负责一个不同比例和纵横比的锚盒(Anchor Boxes),对每个候选框位置进行微调后再分类
    在这里插入图片描述

总结

  • 创新性的设计Region Proposal Networks,利用CNN卷积操作后的特征图生成region proposals,代替了Selective Search、EdgeBoxes等方法,速度上提升明显
  • 训练Region Proposal Networks与检测网络Fast R-CNN共享卷积层,大幅提高网络的检测速度

不足之处

  • 采用vgg网络,实时性还是比较低

参考资料:
一个很不错的整理:https://blog.csdn.net/qq_41375609/article/details/94749596
Faster R-CNN总结:https://blog.csdn.net/qq_33952811/article/details/103388764
Fast R-CNN总结:https://blog.csdn.net/qq_33952811/article/details/103375451
R-CNN总结:https://blog.csdn.net/qq_33952811/article/details/103366132

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小风_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值