没有NMS检测也可以很强!O2F样本匹配助力目标检测逃离NMS时代

这里提出了一种简单而有效的一对少数(o2f)标签分配策略,用于端到端密集检测。将o2f LA实例化为密集检测器FCOS,在COCO和CrowHuman上的实验表明,它实现了与具有NMS的检测器相当甚至更好的性能。

一对一(o2o)标签分配在基于Transformer的端到端检测中发挥着关键作用,最近它被引入到用于端到端密集检测的全卷积检测器中。然而,由于正样本的数量有限,o2o会降低特征学习效率。


尽管在最近的DETR中引入了额外的正样本来缓解这一问题,但解码器中自注意力和交叉注意力的计算限制了其在密集和全卷积检测器中的实际应用。在这项工作中提出了一种简单而有效的一对少数(o2f)标签分配策略,用于端到端密集检测。除了为每个目标定义一个正Anchor和多个负Anchor外,作者还定义了几个Soft Anchor,它们同时作为正样本和负样本。这些Soft Anchor的正负权重在训练过程中被动态调整,以便它们在早期训练阶段为“表征学习”做出更多贡献,并在后期为“重复预测去除”做出更大贡献。


以这种方式训练的检测器不仅可以学习强特征表示,而且可以执行端到端的密集检测。在COCO和CrowdHuman数据集上的实验证明了o2f方案的有效性。

目标检测是一项基本的计算机视觉任务,旨在定位和识别图像中预定义类别的物体。由于深度神经网络(DNN)的快速发展,在过去十年中,检测性能得到了显著提高。在目标检测器的发展过程中,一个重要的趋势是去除手工制作的组件,以实现端到端的检测。

目标检测中一个手工制作的组件是训练样本的设计。几十年来,Anchor Box主要用于现代目标检测器,如Faster RCNN、SSD和RetinaNet。然而,基于Anchor的检测器的性能对Anchor Box的形状和尺寸很敏感。为了缓解这个问题,已经提出了Anchor Free和基于Query的检测器,分别用Anchor Point和可学习的位置查询来取代Anchor Box。

另一个手工制作的组件是非最大值抑制(NMS),用于删除重复的预测。NMS的必要性来自于一对多(o2m)标签分配,它在训练过程中为每个GT分配多个正样本。这可能导致推理中的重复预测,并阻碍检测性能。由于NMS具有要调整的超参数并且引入了额外的成本,因此非常需要无NMS的端到端目标检测。

通过Transformer架构,DETR实现了具有竞争力的端到端检测性能。随后的研究发现,DETR中的一对一(o2o)标签分配对其成功起着关键作用。因此,在基于全卷积网络(FCN)的密集检测器中引入了o2o策略,用于轻量级端到端检测。

然而,由于正样本的数量有限,o2o可能会阻碍训练效率。这个问题在密集检测器中变得很严重,因为图像中通常有超过10k个Anchor。更重要的是,两个语义相似的Anchor可以分别被不利地定义为正Anchor和负Anchor。这样的“标签冲突”问题进一步降低了特征表示的歧视性。

因此,端到端密集检测器的性能仍然落后于具有NMS的检测器。最近关于DETR的研究试图通过引入独立的查询组来增加阳性样本的数量,来克服o2o方案的这一缺点。解码器中计算的自注意力确保了不同查询组之间的独立性,然而这对于基于FCN的检测器来说是不可行的。

本文目标是开发一种高效的基于FCN的密集检测器,它不需要NMS,但可以端到端训练。作者观察到,在o2o中,将语义上与阳正样本相似的模糊Anchor点设置为完全负Anchor是不合适的。相反,如果损失权重经过仔细设计,它们可以用于计算训练期间的正损失和负损失,而不会影响端到端的能力。基于以上观察,作者建议为那些模糊的Anchor点分配动态软分类标签。

One-to-Few Label_Soft

如图1所示,与o2o将模糊Anchor点(Anchor点B或C)设置为完全负样本不同,作者将每个模糊Anchor点标记为部分正和部分负。在训练过程中自适应调整正负标签的程度,以在“表示学习”和“重复预测去除”之间保持良好的平衡。特别是在早期训练阶段从大的正度和小的负度开始,以便网络能够更有效地学习特征表示能力,而在后期训练阶段,逐渐增加模糊Anchor的负度,以监督网络学习消除重复预测。

作者将本文的方法命名为一对少数(o2f)标签分配,因为一个目标可以有几个Soft Anchor。将o2f LA实例化为密集检测器FCOS,在COCO和CrowHuman上的实验表明,它实现了与具有NMS的检测器相当甚至更好的性能。

One-to-Few Soft Labeling
Ambiguous Anchors

One-to-Few Label_目标检测_02

密集检测中的标签分配旨在为每个Anchor分配一个分类标签,以监督网络训练。图2说明了“人”实例的o2o和o2m标签分配。可以看出,o2o标记方案只选择一个Anchor作为正样本,而o2m分配了多个正Anchor。在o2o和o2m中,除正Anchor以外的其余Anchor都被定义为负样本。

作者认为,一些Anchor实际上介于正样本和负样本之间,不应该简单地给他们贴上一个正样本或负样本的标签。如图2所示,将在o2o和o2m中都为正Anchor(用红色边框突出显示)命名为“特定Anchor”,因为它通常没有歧义。相比之下,将o2m中为正但在o2o中为负的Anchor(以绿色边框突出显示,因为它们在o2o方案和o2m方案中有冲突标签,所以将其命名为“歧义Anchor”。

现在将Anchor分为3组:1个Certain Positive Anchor,几个 Ambiguous Anchors和剩下的多个Negative Anchors。在o2o中,模糊Anchor被标记为否定,以避免重复预测,而它们可以帮助学习o2m中的鲁棒特征表示。

一个有趣的问题是,能否找到一种方法来整合o2o和o2m方案的优点,从而提高端到端密集检测的性能?作者主张,解决这个问题的关键是如何在o2o中适当引入更多积极的监管信号。为了找到这个问题的解决方案,优先测试两个选项。

One-to-Few Label_一对一_03

COCO数据集的检测结果如表1所示,从中可以看出,即使只增加了一个正样本,一对二标签分配方案也会显著降低性能。相比之下,为不明确的Anchor点分配合适的软标签可以有效地提高端到端的性能。 

One-to-Few Label_目标检测_04

上述结果表明,使模糊Anchor同时为正和负可能是有效的端到端密集检测的可行解决方案。因此,提出了一种一对少数(o2f)标签分配策略,该策略选择一个特定的Anchor为完全正的,选择几个模糊的Anchor为正和负的,并且选择其余的Anchor为负样本。在训练过程中动态调整模糊Anchor点的正负度,使网络能够保持较强的特征表示能力,同时实现端到端的检测能力。

选择一定的Positive Anchor

在本文的方法中,将为每个实例选择一个特定的正Anchor。以前的基于o2o的检测器都使用了一个预测感知的选择度量,它考虑了分类和回归的成本来选择一个唯一的正样本。遵循这一原则,并将分类得分和IoU都纳入到某个Anchor的选择度量中,其定义为:

One-to-Few Label_一对一_05

 模糊Anchor的标签分配

 

One-to-Few Label_Soft_06

One-to-Few Label_Soft_07

 网络结构

 

One-to-Few Label_人工智能_08

One-to-Few Label_一对一_09

实验
消融实验
模糊Anchor的数量

One-to-Few Label_Soft_10

在o2f方法中,选择了K个既有正损失也有负损失的模糊Anchor。在COCO值集上消融表2中的这个超参数K。可以看出,当K等于7时,获得了最佳AP性能39.0(没有NMS)。在剩下的实验中,将K设置为7。

One-to-Few Label_Soft_11

选择度量 

One-to-Few Label_人工智能_12

SOTA实验
COCO

One-to-Few Label_Soft_13

CrowdHuman 

One-to-Few Label_人工智能_14

实例分割 

One-to-Few Label_一对一_15

可视化结果 

One-to-Few Label_Soft_16