深度学习系列之R-CNN 个人总结

Paper地址:R-CNN

一、Object Detection With R-CNN

这里写图片描述

目标检测有两大任务:一个是确定object的类别,另一个是确定object的位置

基本流程如下:

1.给出一张图片,利用selective search生成约2000个region proposals
2.将proposal resize到固定大小,然后输入到CNN,提取每个proposal 固定长度 (4096维)的特征向量。
3.将提取的特征输入到FC层,利用SVM对该proposal进行打分、分类。SVM权重(4096,C)
4.针对每一个类别:
(1)对每个region的score进行排序,设一个阈值,将score低于阈值的region去掉。
(2)使用NMS(非极大值抑制):选取得分最大的region,计算其与其他region的IoU,如果IoU大于给定阈值,则去掉其他region。然后在剩下的region中,选择得分次大值,重复之前的流程。最后剩下的基本就是包含object的bbox了。
5.对于判断为本类的候选框,且与GT的IoU大于0.6的。利用回归模型对bbox进行位置精修(位置精修内容较多,放后面)
6.这样,类别和位置都得到了

由于在目标检测上,标注的数据少,因此本文:
首先在ImageNet数据集上进行有监督预训练
然后在object detection这一特定领域的数据集PASCAL上进行fine-tuning。

二、位置精修

利用回归模型对bbox的位置进行精细修改,回归模型如下:

P(Px,Py,Pw,Ph)表示region proposal的位置
G(Gx,Gy,Gw,Gh)表示GT的位置

通过如下公式修正proposal的位置
这里写图片描述
其中:
d§是proposal的pool5 feature的线性函数。公式中的fi5§则是pool5的4096维feature。
这里写图片描述

此时,我们需要优化W。(正则项lambda=10000)
这里写图片描述
其中,
这里写图片描述
-------------------------------总结位置精修过程----------------------------------------------------
位置精修也就是网络的regression部分。
**输入:**经过flatten操作得到的4096维特征向量
**输出:**预测的位置偏移量(object相对于proposal的位置偏移量)
我们的W*fi5(特征向量)可以预测出object相对与proposal的位置偏移,然后利用标准的真实[tx,ty,tw,th],可以计算出loss,然后optimize,得到最优的W。训练过程结束。

测试阶段: 利用优化好的W*fi5,得到预测的位置偏移量,然后用这个偏移量修正proposal的位置。

---------------------------------------------总结结束-------------------------------------------------------------------

三、训练

训练的目的:得到最优的参数

预训练完成后,将N+1维的layer替换1000维的layer。然后将与GT的IoU >= 0.5 的bbox作为正样本,其余作为负样本。每次SGD迭代时,使用32个正样本box(对所有类)和96个背景box,构建128个样本的mini-batch。
在训练SVM分类器这边:将每类的GT作为正样本,IoU小于0.3的作为负样本。

PS:作者发现cnn softmax分类器的结果比SVM分类器的结果低。 SVM适用于少样本训练,0.3是实验得到的最佳阈值。

四、参考文献

1.https://wenku.baidu.com/view/cb977f29f68a6529647d27284b73f242336c31df.html
2.http://blog.csdn.net/App_12062011/article/details/67632620

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值