基于锚框的物体检测fast R-CNN(3)

基于锚框的多阶段目标检测算法:fast R-CNN

上一篇介绍了R-CNN物体检测的过程,在最后提到了R-CNN的缺点是速度慢,并列出了三点原因:
1.使用Selective Search算法生成大约2000个候选区域,这个过程非常耗时
2.每个候选区域使用一次卷积神经网络进行一次特征提取,共需约2000次。由于候选框之间可能存在重叠区域,所以这个过程有很多属于重复计算
3.特征提取,目标分类,边框回归是三个独立的步骤,训练,检测效率低

于是R-CNN作者的团队针对第2和第3两点耗时的原因,对R-CNN做了一些改进,并提出了fast R-CNN。下面我们就来看一下fast R-CNN的目标检测过程是怎样的,相对于R-CNN做了哪些改进。

fast R-CNN的目标检测过程

在这里插入图片描述
如图所示,R-CNN目标检测过程也分为5个部分:

其中,前两个步骤和R-CNN是一样的

1.第一步:输入一幅图像
2.第二步:生成候选区域,使用Selective Search算法生成大约2000个候选区域

从第三步开始就不一样了

3.第三步:进行特征提取。将整幅输入图像作为输入,传入到CNN网络中提取特征(区别与R-CNN是将大约2000个候选区域调整为相同大小后,分别送入到CNN网络中提取特征
4.第四步:先将候第二步生成的候选框映射到第三步提取的特征图上,再用RoIPooling分别生成每个候选区域的特征
5.第五步:利用提取的特征对所有候选框进行分类和回归

RoIPooling的任务及原理

RoIPooling的任务是:利用特征采样,把不同空间大小的特征,变成空间大小一直的特征。

用RoIPooling把不同空间大小的特征变成空间大小一直的特征的原因是
1.后面是全连接层(FC),输入维度需要一致
2.各候选区域的特征大小一致时,可组成batch批量处理

RoIPooling的原理:

假如我们得到的特征空间是如下图所示的5×7大小的矩阵:

在这里插入图片描述
如果我们要将其变成2×2大小的特征,那么需要先将上面的矩阵分成2×2个块儿。分块儿时采用向下取整的原则,即5/2=2,7/2=3,那么分块儿的结果如下图所示:

在这里插入图片描述
接下来我们要做的就是找到每个块儿中的最大值:

在这里插入图片描述
将每个块儿中的最大值提取出来,得到我们要的2×2大小的特征:

在这里插入图片描述

fast R-CNN的优点及缺点

优点
1.分类及回归是在一个网络中做的,属于端到端多任务训练
2.fast R-CNN比R-CNN快了大约200倍,精度也更高了

缺点
1.生成候选区域的Selective Search算法十分耗时的问题没有解决

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值