搜文章名能够搜出来几篇csdn上的文章,不过写得都比较简略,但是物理意义说得比较清楚。然后我这篇写得,也很简略。没放图没讨论具体的网络结构,只记录了自己比较在意的对一些细节的理解。
论文的主要特点在于online。
首先介绍了目标检测中,负例与正例的比例严重不平衡的问题,比如DPM中背景图和正例的比例达到了100000比1,而即便是比较新的算法该比例也达到了70:1。文章没有说正负例的数量不平衡会造成什么影响,不过在知乎上看到的一个回答是说,正负例数量差太多,会对SVM等算法的训练产生不好的影响,导致精度降低。
于是bootstrapping横空出世了,bootstrapping的核心想法是,逐渐增大负例集,而构成负例集的应该是那些被错分类的负样本。该方法需要在一段时间内固定model,获得新的hard examples,然后再用新的训练集更新model,如此迭代。于是,算法的流程就变成了:更新模型-->挖掘负例加入训练集-->更新模型-->挖掘负例加入训练接-->……如此往复。
然后作者吹了一下bootstrapping的应用广泛,从SVM到浅层模型再到RCNN、SPPNet等,然而话锋一转,指出了Fast RCNN及其变种没有用,为啥呢?因为对于CNN而言,固定模型去挖掘难例会导致模型训练速度变慢,也是这个原因,所以fast RCNN及其变种里面没有使用bootstrapping。
所以本文提出了一种在线的hard example mining算法,并且用在