目标检测之Fast R-CNN通俗详解

Fast R-CNN 介绍

R-CNN算法除了候选框选取上耗时的缺陷外,另外一个最大的缺陷就是矩形框重叠部分的特征提取存在重复计算,针对这个缺陷,R-CNN的作者继续发力,又提出了R-CNN的快速版本,即Fast R-CNN。
Fast R-CNN就是R-CNN结合SPPNet所做的改进和优化,采用了ROI Pooling层来完成image的crop或者warp,得到固定尺寸的输出给到fc层(这里的ROI Pooling可以理解成单层的SPPNet);同时,Fast R-CNN还采用了多任务网络来同时解决分类和位置回归,替换了R-CNN中的SVM以及线性回归,大大缩短训练时间。
所以,总结来说,Fast R-CNN主要有两点改进:ROI Pooling和多任务网络。

ROI Pooling
ROI Pooling可以看成是SPPNet最简单的一种形式,就是单层SPPNet,当然它也是池化层的一种。
大致原理就是要实现一个proposal抠图的过程,先把proposal抠出来,根据proposal的相对坐标抠取到feature map上所对应的的候选区域的位置,然后对抠取出的feature map进行resize到一个统一的size,通常这里的resize我们会采用特定的pooling操作,具体操作如下:
1)根据输入的image, 将ROI映射到feature map对应的位置:由于我们输入的proposal的真实位置是相对于原图的,而ROI Pooling是作用在卷积层的输出feature map上,所以需要映射到feature map的对应位置;
2)将上面得到的位置抠取出来,并划分为多个相同大小的block(网格结构),block数量与最后输出的维度相同;
3)对每个block进行最大池化操作;
4)最后得到固定尺寸的输出;

Fast R-CNN原理
在这里插入图片描述
可以看到,Fast R-CNN与SPPNet的主要不同在于卷积层之后以及FC层之前的这一部分,与SPPNet不同的是,Fast R-CNN采用ROI Pooling层来得到FC层的输入,以达到固定尺寸的目的,然后fc层的输出分成两部分,一部分进行bounding box的回归,一部分进行候选框类别的判定。
总结就是:
image->CNN->SS->ROI Pooling->FC->class identification && boundingbox regression

Fast R-CNN缺点

仍然存在巨大的一个瓶颈,那就是选择性搜索进行候选框的提取,非常耗时,所以我们需要思考一个问题就是,我们能不能找出一个更加高效快速的方法来得到这些候选框呢?答案当然是肯定的,那就是RPN网络(Region Proposal Network)。

与R-CNN的对比
在这里插入图片描述
可以看出来,相比于R-CNN来说,Fast R-CNN实现了目标检测算法质的飞越,可喜可贺!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值