基于深度学习的目标分类检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN

参考资料:https://www.cnblogs.com/skyfsm/p/6806246.html

https://www.cnblogs.com/chaofn/p/9310912.html

R-CNN 先利用一些非深度学习的类别无关的无监督方法,在图像中找到一些可能包含目标的候选区域。之后,对每个候选区域前馈网络,进行目标定位,即两分支(分类+回归)输出。其中,我们仍然需要回归分支的原因是,候选区域只是对包含目标区域的一个粗略的估计,我们需要有监督地利用回归分支得到更精确的包围盒预测结果。

Fast R-CNN, R-CNN的弊端是需要多次前馈网络,这使得R-CNN的运行效率不高,预测一张图像需要47秒。Fast R-CNN同样基于候选区域进行目标检测,但受SPPNet启发,在Fast R-CNN中,不同候选区域的卷积特征提取部分是共享的。也就是说,我们先将整副图像前馈网络,并提取conv5卷积特征。之后,基于候选区域生成算法的结果在卷积特征上进行采样,这一步称为兴趣区域汇合。最后,对每个候选区域,进行目标定位,即两分支(分类+回归)输出

Faster R-CNN ,Fast R-CNN测试时每张图像前馈网络只需0.2秒,但瓶颈在于提取候选区域需要2秒。Faster R-CNN不再使用现有的无监督候选区域生成算法,而利用候选区域网络从conv5特征中产生候选区域,并且将候选区域网络集成到整个网络中端到端训练。Faster R-CNN的测试时间是0.2秒,接近实时。后来有研究发现,通过使用更少的候选区域,可以在性能损失不大的条件下进一步提速。

候选区域网络(region proposal networks, RPN) 在卷积特征上的通过两层卷积(3×3和1×1卷积),输出两个分支。其中,一个分支用于判断每个锚盒是否包含了目标,另一个分支对每个锚盒输出候选区域的4个坐标。候选区域网络实际上延续了基于滑动窗进行目标定位的思路,不同之处在于候选区域网络在卷积特征而不是在原图上进行滑动。由于卷积特征的空间大小很小而感受野很大,即使使用3×3的滑动窗,也能对应于很大的原图区域。Faster R-CNN实际使用了3组大小(128×128、256×256、512×512)、3组长宽比(1:1、1:2、2:1),共计9个锚盒,这里锚盒的大小已经超过conv5特征感受野的大小。对一张1000×600的图像,可以得到20k个锚盒。

为什么要使用锚盒(anchor box) 锚盒是预先定义形状和大小的包围盒。使用锚盒的原因包括:(1). 图像中的候选区域大小和长宽比不同,直接回归比对锚盒坐标修正训练起来更困难。(2). conv5特征感受野很大,很可能该感受野内包含了不止一个目标,使用多个锚盒可以同时对感受野内出现的多个目标进行预测。(3). 使用锚盒也可以认为这是向神经网络引入先验知识的一种方式。我们可以根据数据中包围盒通常出现的形状和大小设定一组锚盒。锚盒之间是独立的,不同的锚盒对应不同的目标,比如高瘦的锚盒对应于人,而矮胖的锚盒对应于车辆。

基于候选区域的目标检测算法通常需要两步:第一步是从图像中提取深度特征,第二步是对每个候选区域进行定位(包括分类和回归)。其中,第一步是图像级别计算,一张图像只需要前馈该部分网络一次,而第二步是区域级别计算,每个候选区域都分别需要前馈该部分网络一次。因此,第二步占用了整体主要的计算开销。R-CNN, Fast R-CNN, Faster R-CNN,这些算法的演进思路是逐渐提高网络中图像级别计算的比例,同时降低区域级别计算的比例。R-CNN中几乎所有的计算都是区域级别计算。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值