这是CVPR2016的一篇论文,用于目标检测,本篇博文先介绍这个算法,然后介绍其Caffe代码。
论文:Training Region-based Object Detectors with Online Hard Example Mining
论文链接:https://arxiv.org/abs/1604.03540
算法概述:
- 首先筛选出那些对结果(分类和检测)影响比较大的样本,然后将这些筛选得到的样本在随机梯度下降中训练。
- 实际的操作是利用两个ROI网络,一个用于向前传播,用于计算损失,另外一个是可以向前和向后传播,以收集到的hard example作为输入,计算损失并且回传梯度。
- 作者将该算法应用在Fast RCNN中,网络结构还是采用VGG16和VGG_CNN_M_1024,数据集主要采用VOC2007,VOC2012和COCO数据集。
算法优点:
1、对于数据的类别不平衡问题不需要采用设置正负样本比例的方式来解决,这种在线选择方式针对性更强。
2、随着数据集的增大,算法的提升更加明显(作者是通过在COCO数据集上做实验和VOC数据集做对比,因为前者的数据集更大,而且提升更明显,所以有这个结论)。
算法的测试结果:在pascal VOC2007上的mAP为78.9%,在pascal VOC2012上的mAP为76.3%。注意,这些结果的得到包含了一些小tricks,比如multi-scale test(测试时候采用多尺度输入),bounding box的不断迭代回归。