【神经网络】目标检测——RCNN

RCNN目标检测方法通过Selective Search获取Region Proposal,使用预训练的AlexNet提取特征,然后对每个类别建立SVM模型进行评分。非极大抑制用于减少冗余Proposal。训练过程包括预训练和微调,使用128个样本进行训练,正负样本比例为1:3。最终,通过bounding box regression提升定位精度。
摘要由CSDN通过智能技术生成

test阶段:

  1. 用Selective Search招两千左右的Rigion Proposal,并且图像四周加16个像素,再wrap最为CNN输入(227*227*3),这个是Alexnet的input。之所以这样是可以很好地利用Alexnet的结果;
  2. 用CNN特征提取特征(2000*4096)。网络结构就是AlexNet,输入227*227*3,第五层输出6*6*256,第六层输出:4096,第七层输出4096,模型将第七层的输出为特征
    参考Alexnet:
    https://blog.csdn.net/zyqdragon/article/details/72353420
  3. 对每一个类别分别建立SVM模型,得到评分(2000*20)。这里在选择rigion proposal的时候采用的是非极大抑制(greedy non-maximum suppression)

    非极大抑制(greedy non-maximum suppression):
    对于每一类别,从score高的开始,当IoU(Intersection over union)高于阈值,去掉该region proposal,然后再在剩下的中间继续选择,直到遍历所有的score高于某个阈值的region proposal。

训练过程:

  • pre-training:用ILSVRC 2012的数据集进行训练(Alexnet模型),这个是没有bounding box labels,学习率为0.01
  • fine-tuning:利用warped region proposal进行训练,在这里是有bbox的
    positive:所有和groud-truth box的IoU>0.5的region proposal
    negative:剩下的
    学习率设置为0.001,比前面小,因为我们是想微调,不太改变pretraining的权重
    每次训练用128个样本,正负比例1:3,即正32个,负96个。We bias the sampling towards positive windows because they are extremely rare compared to background.
  • 在建立SVM时
    positive:only the ground-truth boxes
    negative:proposals with less than 0.3IoUwith all instances of a class(该类的所有ground truth boxes)
    Proposals that fall into the grey zone (more than 0.3 IoU overlap, but are not ground truth) are ignored.

paper对比了用第五六七层的输出作为特征,发现在不fine-tuning的情况下,建立的模型mAP(mean average precision)差不多,说明CNN提取的特征主要表现在卷积层(尽管参数少),而用了fine-tuning,fc7、fc6比pool5效果好很多,说明全连接层能够学习到特定任务的样本的特征。

bounding box regression
为了improve localization performance,需要class-specific bounding-box regression。
在对每一个proposal打分之后,用CNN得到的特征对bounding box的位置、大小进行调整,
we only learn from a proposal P if it is nearby at least one ground-truth box. We implement “nearness” by assigning P to the ground-truth box G with which it has maximum IoU overlap (in case it overlaps more than one) if and only if the overlap is greater than a threshold (which we set to 0.6 using a validation set).
对于离得太远的proposal,re不re都没啥意思,所以只选择和某一个ground-truth的IoU大于0.6的训练。
输入:CNN得到的feature
输出:

dx(P),dy(P),dw(P),dh(P) d x ( P ) , d y ( P ) , d w ( P ) , d h ( P )

利用上述输出可以得到调整后的proposal的位置:

Ĝx=Pw
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值