解释一下什么叫HEM(Hard Example Mining困难样本挖掘):我们以2D检测为例,有些样本很容易学习,有些样本则很困难被网络学习,那么如果我们的模型只学习会了简单的目标,那精度也总会受到限制。因此,对于finetune阶段来说,困难样本有助于我们的模型去’突破‘,让他见识更广阔的世界。
优点:
In the context of class imbalance in training object detectors, online hard example mining (OHEM) [46] and the focal loss [33] were designed to emphasize hard examples
这篇文章还有个很重要的点就是无监督,文中也说到了和focal loss,ohem方法都不同,就是我不需要标签,该方法的效果也比较好,因此可以研究一下。
核心思想:
主要是用了一种追踪的思想,首先视频的帧是连续的,因此不会有目标突然地消失,当我们检测到第f帧时,我们会根据前后各五帧的检测目标进行联合的判断,如果某一帧漏检,或者误检了,那么漏检的这一帧就算就当做hard example。
我们举个例子:第一行的中间的红框是无缘无故出现的,前后两帧都没检测到这个样本,所以该检测是独立的,就判定为困难负样本FP。第二行也是一样的道理。
相关工作:主要是两个方面:负样本的质量和半监督学习。
1.滑动窗口滑过的背景比前景多很多,所以训练和检测会出现大量负样本,数量大到有时分类器只给出false就会得到不错的结果。很多现有方法(例如OHEM和focal loss)都是在标注数据的基础上进行改进。
2.简要地举了半监督学习的一个方法(不重要)
本文的详细方法
1.收集视频
2.预训练的faster-rcnn推理进行检测bbox。
3.最关键的一点:
首先设置检测置信度为0.8,很多结果被过滤,当推理到第X帧,取前五帧与后五帧作为相邻帧,作为模板匹配,进行联系判断。策略就是:对bounding box扩大100个像素以得到区域,在前后五帧中对这个区域使用归一化交叉相关(normalized cross correlation,NCC)搜索其最佳匹配(NCC阈值设置为0.5)。如果前后五帧搜索得到的结果与第X帧预测结果IoU小于0.2,则认为此检测结果是detector flicker,判断为困难负样本。
如果前后帧一致(没具体说是IOU大于多少,不过肯定大于0.2了)则认为是伪正pseudo-positive。
. For the purpose of creating the re-training set, we kept only those frames that had at least one pseudo-positive detection in addition to one or more hard negatives.
至少要保留一个hard negative 和一个pseudo-positive作为训练集进行finetune。
黄色为faster-rcnn检测的高阈值的目标,红色当然也是,前后帧绿色的虚线框表示这个范围,蓝色是追踪的框,前后帧并没有与红色框相匹配的样本,所以是hard negatives.。
hard-negative样本解释了,还有一种叫hard-positive样本。如图所示,漏检的正样本就是hard-positive。
————————————————————————————————
下面实验就不多说了,我也没仔细看,但是提升还是有的。
**
结论:
**
本文的trick利用了视频连续性来收集样本,可以在数据有限的前提下大大提高模型对“硬例”的检测效果。目前来看,有一定的工程应用价值。
参考博客:
https://blog.csdn.net/fish_like_apple/article/details/82856012
https://blog.csdn.net/leviopku/article/details/99564927