论文提要“Training Region-based Object Detectors with Online Hard Example Mining”

基于区域的Convnet目标检测有许多超参数如负样本与groundtruth的IOU,正负样本比例等,作者提出了一个在线的困难负样本挖掘方法OHEM,自动筛选困难负样本可以提升训练的效率。

挖掘负样本的技术即bootstrapping,就是通过迭代训练找虚警样本更新模型,使用更新的模型进一步找虚警样本,Felzenszwalb证实在DPM中通过bootstrapping SVM可以在整个数据集上找到最优的策略。

Fast-RCNN及它的变体没有使用bootstrap策略,主要的技术困难是:Bootstrapping的两个阶段是,使用固定的模型寻找新的样本,使用样本训练新的模型。训练深度卷积检测器时需要很多次SGD,如果在某段时间固定模型将会拖慢训练过程。

作者提出了OHEM,它对SGD进行了一些微调,训练样本使用不固定的分布采样,根据每个样本当前的损失决定。这种方法让每个SGD mini-batch仅包含一两张图像。

Fast-RCNN的Roi 采样使用了一些试探方法,论文的第一个贡献是去除这些试探和超参数。前景ROI与groundtruth的IOU依然为0.5,FRCN和SPPNet将负样本的IOU设置为[0.1 0.5],这样容易忽略与前景类似的负样本,因此作者将其设置为[0 0.5]。FRCN正负样本的比例设置为1:3,使用了OHEM可以去掉这个限制。

OHEM
负样本挖掘的有交替的步骤,在FRCN使用SDG在线训练时将交替的步骤与其结合,每个SGD迭代包含的样本虽然比较少,但每个样本图包含数以千记的ROI,可以从中筛选困难负样本,这个过程仅仅将模型在一个mini-batch中固定,训练过程没有延迟。

负样本挖掘的详细过程如下:对于输入图像的第t个SGD迭代,计算卷积特征,之后RoI网使用这个特征图及所有的RoIs进行前向传播,这个步骤包括RoI池化,fc层,loss计算。通过对输入RoI的损失进行排序,获取B/N个网络分类效果最差的样本。选取的用来更新模型的RoI数量比较少,后向传播负担不重。

网络的结构如下图所示:
这里写图片描述

包含两个RoI网络的备份,其中2(a)是只读的,只为所有的RoI在前向传播是分配存储空间,对于一个SGD过程,给定卷积特征图,只读的RoI网络进行前向传播并计算所有RoI的损失(上图的绿色箭头),之后困难RoI样本挖掘模块(b)进行样本挖掘,并输入(a)中,网络仅对 Rhardsel 进行前向和后向传播,计算梯度并传播到卷积网络。实际上,将N个图像中的所有RoI作为R,因此只读RoI网的batch size是R,常规的是B。
实验中使用N=2,B=128。

表1的实验结果表明OHEM可以去除参数bg_lo,说明将负样本限制在bg_lo=0.1-0.5的猜想不是最优的。OHEM在每个batch的图像数N降低时,性能不变。在bg_lo=0时,通过增加batch的size和学习率,FRCN性能也有提升,但与OHEM的小batch相比优势不明显。
这里写图片描述

VGG16网络训练每个阶段的损失对比如下图所示,
这里写图片描述

OHEM增加的训练时间和多占的内存如下图所示,在可以接受范围内:
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值