Faster R-CNN

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
忽略region proposals的时间的话,Faster RCNN基本已做到实时,但object proposals(faster rcnn利用selective search产生object proposals) 是瓶颈,在CPU上每张图像大概需要2s
EdgeBoxes在proposal的速度与质量上提供了很好的平衡,大概每张图像消耗0.2s。
但作者提到可以利用网络产生proposals,由此作者提出了Region Proposal Networks(RPNs),它与目标检测网络共享卷积层,测试阶段,通过共享卷积层,每张图像产生object proposals大概只需要10ms
在Fast R-CNN中,卷积特征图(conv feature map)用于目标检测器,但作者想到,卷积特征图还可以用于产生区域建议。
作者通过增加两个额外的卷积层来构建RPNs,即在conv features的基础上添加两层:
1).在每个卷积特征图位置编码为一个特征向量
2).在每个特征图位置,输出一个objectness score(是否为目标)以及k个区域建议的regressed bounds
RPN是一种FCN
这种区域产生方法每张图像大概需要10ms。即使在VGGNet中,整套检测系统无论在速度还是精度上也都具有实用性,在PASVAL VOC 2007中取得了73.2%的Map,在VOC 2012中取得了70.4%的mAP
Region Proposal Network
Region Proposal Network(RPN)以整幅图像作为输入,输出一系列的矩形目标区域建议(object proposals),同时输出一个objectness score(0—1之间,判断是否为目标)
RPN与faster RCNN共享卷积层,在最后一个卷积层输出的卷积特征图中滑动一个小网络,这个小网络与输入卷积特征图的n*n的空间窗口全连接。每个滑动窗口输出一个低维度的向量(ZF:256维,VGG:512维)。这个向量再连接到两个子全连接网络(一个box-regression层reg,一个box-classification层cls)。这个小网络以滑动窗口的形式运作,在所有空间位置共享全连接层。因此,这个网络结构可以用一个n*n的卷积层以及两个1*1的子卷积层(reg以及cls)实现。
在每个滑动窗口的位置,我们同时预测k个区域建议(region proposals),所以reg层有4k个输出(k个boxes),cls层输出2k个得分以得到每个proposal是目标/不是目标的概率(cls具体实现为一个2分类的softmax层,也可以实现为逻辑回归,从而有k个得分)。这k个proposals被称为anchors。在每个滑动窗口处,我们都使用3个scales和3个aspect ratios,从而产生k=9个anchors。对于一个W*H大小的卷积特征图(conv feature map),一共有W*H*k个anchors

这里写图片描述

A Loss Function for Learning Region Proposals
将两种类型的anchors标记为正样本:
1).和标定框(ground-truth box)有最大Intersection-over-Union(IoU)的anchor/anchors
2).或者一个anchor和任一标定框(ground-truth box)的IoU高于0.7
将与所有的ground-truth box的IoU都不超过0.3的anchor标记为负样本
损失函数:
这里写图片描述
i是每个mini-batch中anchor的索引,p_i是anchor i预测为一个object的概率,若anchor为正样本,p_i^为1,否则为0, t_i是预测的bounding box的4维向量,t_i^为正样本anchor的标定框(ground-truth box)
L_cls是二分类(是object或不是object)的log损失。对于regression loss,使用 ,R是鲁棒的smooth L1损失(在fast rcnn中有定义)

这里写图片描述
学习k个bounding-box regressors,每个regressor对应一种scale和aspect ratio,k个regressors不共享权重

优化:
在一幅图像中随机选取256个anchors为一个mini-batch,正负anchor的比例达到1:1
新添加的层用均值为0,标准差为0.01的高斯分布初始化权重,其它层使用预训练的model

Region Proposal和Object Detection共享卷积特征
使用RPN产生区域建议,同时使用fast rcnn作为检测网络。
作者将两个网络的卷积层合并在一起:
1).首先训练RPN网络:使用预训练的模型初始化,并微调以用于region proposal 任务
2).使用上一步训练好的RPN产生区域建议(proposals)训练fast rcnn
3).使用detection network(即fast rcnn)初始化RPN,固定共享的卷积层,只微调RPN独立的层。这样,网络就共享了卷积层
4).保持共享的卷积层不变,微调fast rcnn的全连接层
从而,两个网络就共享了卷积层,形成了一个框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值