faster rcnn以及RPN解释

继204年rcnn,2015年SPPnet、fast rcnn后,2016年,hekaiming和rbg合作提出了faster rcnn(一作是renshaoqing),以解决region proposal的耗时问题;

回顾一下fast rcnn的过程,先通过selective search在每张图片选2k个region proposal,将原图通过cnn得到feature map,然后通过SPP或RoI pooling将不同region proposal的feature map转化为固定的长度给全连接层,通过分类和位置组合Loss学习;

在fast rcnn里除了region proposal外,其他的部分都可以end to end了,fast rcnn不算region proposal是0.3s每张图片,而region proposal最快也要0.2s,这就是本篇要解决的问题了,如何提升region proposal的效率,按照之前的套路肯定是加入到一个网络中,是的,就是RPN region proposal network;

RPN(region proposal network)

RPN文章里说的并不清楚,导致网上不少困惑者和各种理解的文章,我们知道RPN网络是解决region proposal的问题,所以输入是一副图像,输出是region proposal,实际和fast rcnn共享卷积层,所以,输入的是一个conv的feature map,如下图,最下面输入一张图片,经过卷积得到feature map,然后RPN提取proposals,然后由RoI pooling提取每个proposal的特征,最后是分类;

RPN本身的过程如下图,是用一个3*3卷积核卷积feature map(3*3*256),每一个位置可以得到256 channel的输出,注意feature map上的一个点代表原图的一个区域,而这里3*3的卷积核卷积出来的256维也代表了原图的一个区域(比如20*20);

那其实我们可以直接对这256维进行学习,但是这样每个点一个region proposal太少太粗糙了,我们现在不止要用256维学习3*3卷积对应原图的20*20的区域,而是要以此区域中心点为中心学习多个不同尺度不同长宽比例的区域,而不同尺度和不同长度的区域-proposal称之成为anchor;

文章设定的k=9个anchor,每个anchor对应原图的一个区域,我们要学习这个区域的分类(2分类前景/背景)和框回归微调(4个x,y,w,h),如fast rcnn,这是两个Loss,每个anchor分类有2个输出,回归有4个输出,一共k个anchor,即一共2k和分类score和4k各回归坐标;(详见fast rcnn的训练过程)

文章使用的9个anchor分别是三个面积尺寸(128^2,256^2,512^2)*三种不同的长宽比例(1:1,1:2,2:1),如下图,anchor的大小跟需要检测的物体大小有关;

4步交替训练 (4-step alternating training)

faster rcnn = rpn + fast rcnn,rpn和fast rcnn是共享卷积层的,下面我们看一下如何训练:

单独训练rpn(ImageNet-pre_train + fine-tune),得到rpn1,CNN1单独训练fast rcnn(ImageNet-pre_train + fine-tune),结合第一步的region proposal,得到fast-rcnn1,CNN2fine-tune rpn1 on CNN2,得到rpn2(共享卷积层)fine-tune fast-rcnn1 on CNN2,结合第三步的region proposal,得到fast rcnn2(共享卷积层)

 

转:https://baijiahao.baidu.com/s?id=1588404920572500627&wfr=spider&for=pc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值