Faster RCNN总览

如下图所示为Faster RCNN算法的基本流程,从功能模块来讲,主要包括四个部分:特征提取网络、RPN模块、RoI Pooling(Region of Interest)模块与RCNN模块,虚线表示仅仅在训练时有的步骤。Faster RCNN延续了RCNN系列的思想,即先进行感兴趣区域RoI的生成,然后再把生成的区域分类,最后完成物体的检测,这里的RoI使用的即是RPN模块,区域分类是RCNN网络
特征提取网络Backbone:输入图像首先经过Backbone得到特征图,在此以VGGNet为例,假设输入图像的1维度为3×600×800,由于VGGNet包含4个Pooling层(物体检测使用VGGNet时,通常不适用第5个Pooling层),下采样率为16,因此输出的feature map的维度为512×37×50

RPN模块:
区域生成模块,如下图的中间部分,其作用是生成较好的建议框,即Proposal,这用到了强先验的Anchor。RPN包含5个子模块:

  • Anchor生成:RPN对feature map上的每一个点都对应了9个Anchors,这9个Anchors大小宽高不同,对应到原图基本可以覆盖所有可能出现的物体。因此,有了数量庞大的Anchor,RPN接下下来的工作就是从中筛选,并调整出更好的位置,得到Proposal
  • RPN卷积网络:与上面的Anchor对应,由于feature map上每个点对应了9个Anchors,因此可以利用1×1的卷积在feature map上得到每一个Anchor的预测得分与预测偏移值
  • 计算RPN loss:这一步只在训练中,将所有的Anchors与标签进行匹配,匹配程度较好的Anchors赋予整样本,较差的赋予负样本,得到分类与偏置的真值,与第二步中的预测得分与预测偏移值进行loss的计算
  • 生成Proposal:利用第二步中每一个Anchor预测的得分与偏移量,可以进一步得到一组较好的Porposal,送到后续网络中
  • 筛选Proposal得到RoI:在训练时,由于Proposal数量还是太多(默认是2000),需要进一步筛选Proposal得到RoI(默认数量是256)。在测试阶段,则不需要此模块,Proposal可以直接作为RoI,默认数量为300在这里插入图片描述

RoI Pooling模块:
这部分承上启下,接收卷积网络提取的feature map和RPN的RoI,输出送到RCNN网络中。由于RCNN模块使用了全连接网络,要求特征维度固定,而每一个RoI对应的特征大小各不相同,无法送入到全连接网络中,因此RoI Pooling将RoI的特征池化到固定的维度,方便送到全连接层中

RCNN模块:
将RoI Pooling得到的特征输入全连接网络,预测每一个RoI的分类,并预测偏移量以精修边框位置,并计算损失,完成整个Faster RCNN过程。主要包含3个部分:

  • RCNN全连接网络:将得到的固定维度的RoI特征接到全连接网络中,输出为RCNN部分的预测得分与预测回归偏移量
  • 计算RCNN的真值:对于筛选出的RoI,需要确定是正样本还是负样本,同时计算与对应真实物体的偏移量。在实际实现时,为实现方便,这一步往往与RPN最后筛选RoI那一步放到一起
  • RCNN loss:通过RCNN的预测值与RoI部分的真值,计算分类与回归loss

从整个过程可以看出,Faster RCNN是一个两阶的算法,即RPN与RCNN,这两步都需要计算损失,只不过前者还需要为后者提供较好的感兴趣区域。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

丁天牛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值