您的位置:首页 > 移动开发 > Objective-C

论文笔记 | Training Region-based Object Detectors with Online Hard Example Mining

2016-07-07 10:56 645 查看

Authors

Abhinav Shrivastava Abhinav Gupta Ross Girshick



Abhinav Shrivastava

这篇文章很多人说不值得在cvpr oral,不过有ross Girshick,还是要看一看的。

Abstract

本文提出了online hard example mining(OHEM),使用的是Bootstrapping技术,又一次说明了浅层学习的技术不能丢,我们熟悉的boosted decision trees就有应用(这里埋一个xgboost的链接http://dataunion.org/15787.html)。

原本的bootstrapping一般循环迭代以下过程:

1. 某一时期,用于发现新的模型加入到active training set中

2. 用固定的active training set来训练模型

对于深度网络,如果我们强势加入sgd的过程,就会不断重复查找新数据,训练模型,sgd的steps是很多很多的,这样就会使训练过程减慢很多。

于是本文提出了OHEM,我们使用的minbatch sgd,每次只选用一两张图片,但是会有数以千计的候选区,这里我们每次直选用高loss的样本来进行反向传播,以为使用反向传播的样本少了,所以运算还是高效的。OHEM有以下三点优点:

1. 省去了region-based Convnets 的一些超参数和heuristics

2. 比较明显的提高了mAP

3. 当训练数据越大,越困难的时候效果越明显,而且这中方法还与multiscale iterative bbox regression啥的相互补充,可以用来combine。

2 related work

2.1 Hard example mining

一般来说有两种hard example mining

1. 第一种是对svm的,方法是训练与样本更新不断交叉循环,样本的更新方法是每次去掉一部分容易分辨的,加上一部分不容易分类的样本。每次使用的样本数量相对全部的数量来说比较小。

2. 对于非svm比如浅层网络,boosted decision tree。首先使用一部分正样本和随机的负样本,训练到收敛,然后应用于更大的样本,然后收获一部分预测失败的样本,加入到测试集继续训练,一般这样的方法只使用一次,对于收敛似乎没有什么帮助

2.2 hard example selection in deep learning

有些相似的方法,有些是运用于分类上的。

3 Overview of Fast RCNN

Foreground RoIs, 与groundtruthIoU大于0.5的称为Foreground

Background RoIs,IoU在0.1-0.5之间的为background,相当于假设这样的样本是hard example,这样的做法忽略了一些,难以分清的比较重要的background regions。所以本文没有使用bg_lo

Balance fg-bg Rois,传统上限制正负比例为1:3,这样的设计很有必要,但是如果使用本文的方法,就可以去掉限制了。

4 our approach

4.1 online hard example mining

传统的hard example mining无法使用在sgd中是因为在寻找新样本的时候无法进行训练模型,而深度网络需要的迭代次数较多,作者想到了一个新的方法:

在一个minibatch中和往常一样不升级模型,这时候选择样本(ROI),选择完再进行backwards,于是模型的更新次数和原来是一样的,只能是说想法比较简单,但是大家却没有向这方面想,这来源于作者扎实的基本功吧。

这样的方法,先讲RoI向前计算,挑选hard,然后反向传播,因为forward时RoI计算量的大部分是共享的,所以计算量不是很大,而且向后计算的时候计算量更小了(roi少了)。

但是,在向前计算的时候RoI可能会有交大的overlap,他们的loss 会相似,所以作者使用了NMS,threshold设置为0.7,比较松,每次都使用nms来选择样本。

这样做的另外一个好处就是不需要设定fg-bg的比例

4.2 implementation detail

第一种实施方法:将easy example的loss设置为0,因此没有梯度传递,但是此时仍然需要占用内存和进行反向传播,这也是现有的框架的缺陷吧。

第二种实施方法:



ROI网络设置两个,一个只为read,只有forward占用内存,另外一个是标准的,Rhard−sel是指被选择的hard Roi,累计到其值等于batchsize,反向传播,这样使用的内存差不多,但是收敛速度快了两倍。

5 analyze



5.1 实验设置

lr0.001

decay lr by 0.1 every 30k iteration

5.2 OHEM vs heuristic

使用 bg_lo0.1时的启发式搜索比OHEM少2.4个百分点,bg-lo=0时少4.8个百分点

5.3 Robust

使用OHEM时如果N(batchsize)=1,mAP基本没有变,但是使用原来的方法,下降一个点。

5.4 Why not all examples?

首先回顾下fast 中如何选取roi,每张图64个,首先16个是大于0.5iou的,剩下48个从0.1-0.5抽样,作者做了一个实验,将64变大(1028,2048)得到结果确实好了一个百分点,但是还是不如OHEM

5.5 Better optimization

作者比较了各种方法在不同迭代次数时所有的RoI的mAP:



5.6 Cost

作者比较了computational cost 比较起来内存和时间都有所升高。

7 bells and whistles

Multi-scale

Iterative bounding-box regression

S. Gidaris and N. Komodakis. Object detection via
a multi-region & semantic segmentation-aware cnn
model. In ICCV, 2015.


看下ablation analysis的结果



conclusion

Authors

Abstract

related work
1 Hard example mining

2 hard example selection in deep learning

Overview of Fast RCNN

our approach
1 online hard example mining

2 implementation detail

analyze
1 实验设置

2 OHEM vs heuristic

3 Robust

4 Why not all examples

5 Better optimization

6 Cost

bells and whistles

conclusion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: