论文《Stitcher: Feedback-driven Data Provider for Object Detection》

论文地址:https://arxiv.org/pdf/2004.12432.pdf

原文链接https://blog.csdn.net/weixin_42096202/article/details/105850573

1、摘要

目标检测器通常会根据尺寸具有不同质量,其中小物体的性能最不令人满意。在本文中,我们研究了这种现象,并发现:在大多数训练迭代中,小目标的损失对总损失几乎没有贡献,导致优化不平衡导致性能下降。受此启发,我们提出Stitcher,它是一种反馈驱动的数据提供者,旨在以平衡的方式训练目标检测器。在Stitcher中,将图像调整为较小的分量,然后将其拼接为与常规图像相同的尺寸。拼接图像不可避免的包含较小目标,这对于我们的核心思想将是有益的,以利用损失统计信息作为反馈来指导下一次迭代更新。已经对各种检测器,主干网络,训练周期,数据集甚至实例分割进行了实验。在所有设置中,尤其是对于小型目标,Stitcher稳定地大幅提高了性能,而在训练和测试阶段几乎没有引入任何额外的计算。

2、小目标难以检测问题分析

2.1、数据集图像分布分析(Image Level Operations)

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

目标检测COCO数据集中,小目标占据了41.4%的比例,远多于中大型目标,这个应该是有利于小目标检测的。然而,数据集中只有52.3%的图片包含小目标。意味着接近一半的图像是不包含小目标的。这种严重的失衡阻碍了模型的训练过程。
 

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

如果将常规图像调整为较小的尺寸,则内部的中型或大型目标也将变为较小的目标,但是其轮廓或细节仍然比原始的小型目标更清晰。从图4中可以看出,原图中的小目标和经过resize后的目标尺寸分别为29 x 31和30 x 30,大小基本一致,但是后者图像更清晰。

2.2、训练过程分析(Training Level Module)

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

小物体在图像上的分布不均匀,因此使训练遭受进一步的失衡问题。 即使某些图像中包含小物体,它们仍然有机会在训练过程中被忽略。 图1说明,在超过50%的迭代中,小目标损失占总数的不到10%。 训练损失主要是大中型物体。 因此,用于小物体的监督信号不足,严重损害了小物体的准确性甚至整体性能。

3、Stitcher介绍

本文提出了一种Stitcher,一种反馈驱动的数据提供者,它通过以反馈的方式利用训练损失来增强对象检测的性能。在Stitcher中,我们引入的拼接图像大小与常规图像相同。 核心思想是利用当前迭代中的损耗统计信息作为反馈,以自适应地确定下一次的输入选择。

具体如下图所示,如果在当前迭代t中小对象rts的损失比可忽略不计,则迭代t +1的输入是拼接图像,其中拼接图像中较小的对象不可避免地会更加丰富。 否则,输入将在默认设置下保留常规图像。

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

3.1、Image Level Operations - Component Stitching

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

为了解决数据集中小物体监督信号不足的问题,使用Stitching动态地生成拼接图像或常规图像来丰富小目标。具体操作为,给定输入图像resize到统一的尺寸,然后利用参数k个图像进行拼接,并保留了原有图像的宽高比。保持宽高比的原因是可以保留原始对象的属性。 当将k设为1时,将自然图像引入到拼接图像中。将k的缝合顺序指定为4,我们可以看到图5(b)中的示例。 在图像拼接的帮助下,通过制造更多的小物体,图像批处理(充当最小训练实体)的比例失衡得到缓解。 由于拼接图像的大小与常规图像相同,因此不会在网络传播中引入其他计算。
3.2、Training Level Module - Selection Paradigm

图1中已经分析出在网络的训练过程中,超过50%的迭代小目标损失占比低于0.1。为了避免这种不希望的趋势,论文提出了一种正确的范例,根据当前遍历的反馈确定下一次迭代的输入。 如果小目标象的损失在迭代t中可以忽略不计(低于阈值y),则我们认为关于小对象的知识还远远不够。 为了弥补信息的不足,我们采用拼接图像作为迭代t + 1的输入。否则,将选择常规图像。

如何计算小目标损失占比呢?论文采用以下公式:

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

即box的面积定义为h x w,当面积 < 1024时(32 x 32),则该Box的回归损失定义小目标损失(后续的消融实验分析了损失部分的选取),就可算出其比例。

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

论文将图6中的损失分布比较和图7中的性能差异可视化。每10k次迭代测量一次统计数据,并平滑地进行说明。 它表明,使用Stitcher,各种规模的损失分布更加平衡,从而提高了精度。

4、实验结果

4.1、Faster-RCNN与RetinaNet比较

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

4.2、s multi-scale training

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

4.3、vs SNIP and SNIPER

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection

4.4、Ablation study

【目标检测】Stitcher: Feedback-driven Data Provider for Object Detection