论文:DETRs with Collaborative Hybrid Assignments Training
代码**:https://github.com/Sense-X/Co-DETR
在这篇论文中,作者观察到在DETR中将过少的 Query 分配为正样本,采用一对一的集合匹配,会导致对编码器输出的监督稀疏,严重损害编码器的区分特征学习,反之亦然,也会影响解码器中的注意力学习。
为了缓解这个问题,作者提出了一种新颖的协同混合分配训练方案,名为Co-DETR,以从多样的标签分配方式中学习更高效、更有效的基于DETR的检测器。这种新的训练方案可以通过训练多个并行辅助 Head ,以一对多的标签分配方式(如ATSS和Faster RCNN)进行监督,轻松增强端到端检测器中编码器的学习能力。此外,作者通过从这些辅助 Head 中提取正样本坐标,为解码器中的正样本的训练效率进行额外的定制化正样本 Query 。在推理过程中,这些辅助 Head 被丢弃,因此作者的方法不会引入额外的参数和计算成本到原始检测器中,也不需要手工制定的非最大抑制(NMS)。
作者进行了大量实验,以评估所提方法在DETR变种上的有效性,包括DAB-DETR、Deformable-DETR和DINO-Deformable-DETR。在COCO val上,与ViT-L Backbone 网络结合,Co-DETR取得了66.0%的AP,在LVIS val上取得了67.9%的AP,明显优于以往的方法,且模型大小要小得多。
目标检测 是计算机视觉中的一个基本任务,要求作者定位物体并对其进行分类。开创性的R-CNN家族和一系列变种,如ATSS、RetinaNet、FCOS和PAA,显著突破了目标检测任务。其中的核心方案是一对多的标签分配,即将每个 GT 框分配给检测器输出中的多个坐标,作为与Proposal、Anchor或窗口中心合作的监督目标。尽管这些检测器表现出有望的性能,但它们严重依赖于许多手工设计的组件,如非极大值抑制过程或Anchor生成。
为了进行更灵活的端到端检测器,DEtection TRansformer(DETR) 提出将目标检测视为一个集合预测问题,并引入了基于Transformer编码器-解码器架构的一对一集合匹配方案。通过这种方式,每个 GT 框只会被分配给一个特定的 Query ,不再需要多个手工设计的编码先验知识的组件。这种方法引入了灵活的检测流程,并鼓励许多DETR变种进一步改进它。然而,普通的端到端目标检测器的性能仍然不如具有一对多标签分配的传统检测器。
在本文中,作者试图使基于DETR的检测器优于传统检测器,同时保持其端到端的优点。为了解决这一挑战, 作者关注一对一集合匹配的直观缺点,即它探索了较少的正 Query 。这将导致严重的低效训练问题。 作者从两个方面详细分析了这一问题,即编码器生成的潜在表示和解码器中的注意力学习。
作者首先比较了Deformable-DETR和一对多标签分配方法之间的潜在特征的可区分性得分,其中 作者简单地用ATSS Head替换了解码器。每个空间坐标中的特征 L2-范数用于表示可区分性得分。给定编码器的输出F∈RC×H×W ,作者可以得到可区分性得分图S∈R1×H×W 。当相应区域中的得分较高时,可以更好地检测到物体。
如图2所示,作者通过在可区分性得分上应用不同的阈值来展示IoF-IoB曲线(IoF:前景交叉,IoB:背景交叉)。ATSS中的更高IoF-IoB曲线表明更容易区分前景和背景。图2中的示例显示,过少的正 Query 也会影响注意力学习,增加解码器中的更多正 Query 可以稍微缓解这个问题。
作者进一步在图3中可视化了可区分性得分图S。显然,一对一集合匹配中的一些显著区域的特征被充分激活,但在一对一集合匹配中探索较少。这一重要观察激发了作者提出一个简单但有效的方法,即协同混合分配训练方案(Co-DETR)。Co-DETR的关键见解是使用多样化的一对多标签分配来提高编码器和解码器的训练效率和有效性。
具体而言,作者将这些 Head 与Transformer编码器的输出集成在一起。这些 Head 可以通过多样化的一对多标签分配进行监督,例如ATSS、FCOS和Faster RCNN。不同的标签分配丰富了编码器输出的监督,迫使它具有足够的区分度,以支持这些 Head 的训练收敛。
为了进一步提高解码器的训练效率,作者巧妙地编码了这些辅助 Head 中正样本的坐标,包括正Anchor和正Proposal。它们被发送到原始解码器作为多组正 Query ,以预测预分配的类别和边界框。每个辅助 Head 中的正坐标都作为一个独立的组,与其他组隔离。
多样化的一对多标签分配可以引入丰富的(正 Query , GT )对以提高解码器的训练效率。请注意,在推理过程中只使用原始解码器,因此所提出的训练方案只在训练期间引入额外的开销。
如图3所示,Co-DETR极大地缓解了一对一集合匹配中编码器特征学习不足的问题。作为一种即插即用的方法,作者轻松地将其与不同的DETR变种结合使用,包括DAB-DETR、Deformable-DETR和DINO-Deformable-DETR。
正如图1所示,Co-DETR实现了更快的训练收敛速度,甚至具有更高的性能。在12轮训练中,作者将基本的Deformable-DETR的性能提高了5.8%的平均精度(AP),在36轮训练中提高了3.2%的AP。最先进的DINO-Deformable-DETR与Swin-L结合,仍然可以在COCO val上将性能从58.5%提高到59.5%的AP。令人惊讶的是,结合ViT-L Backbone网络,作者在COCO test-dev上实现了66.0%的AP,在LVIS val上实现了67.9%的AP,建立了新的最先进的检测器,而模型规模要小得多。
按照标准的DETR,输入image 经过 Backbone网络和编码器以生成潜在特征。然后,多个预定义的物体 Query 通过交叉注意力与它们在解码器中进行交互。作者引入Co-DETR来通过协同混合分配训练方案 和 定制的正 Query 生成来改善编码器中的特征学习和解码器中的注意力学习。
为了缓解解码器中较少的正 Query 而导致的对编码器输出的稀疏监督,作者结合了不同的一对多标签分配范式,例如ATSS和Faster R-CNN,与多功能的辅助 Head 。不同的标签分配丰富了对编码器输出的监督,迫使它具有足够的区分度来支持这些 Head 的训练收敛。
具体来说,给定编码器的潜在特征 F,通过多尺度适配器转化为特征金字塔 {F1,…FJ}, J 表示具有22+J 下采样Stride的特征图。与ViTDet类似,特征金字塔由单尺度编码器中的单个特征图构建,比如双线性插值和3×3卷积进行上采样。至于多尺度编码器,只对多尺度编码器特征 F 中最粗糙的特征进行下采样,以构建特征金字塔。
定义具有相应标签分配方式AK 的K个Head :第 i 个Head ,将 {F1,…FJ} 输入获得预测值, Ai 用于计算 Pi 中的正负样本的监督目标。将G表示为 GT 集,这个过程可以被表达为:
其中{pos}和{neg}表示由Ai 确定的对集。j 表示在 {F1,…FJ} 中的特征索引。Bi{pos} 是正空间坐标的集合。Pi{pos}和Pi{neg} 是相应坐标中的监督目标,包括类别和回归偏移量。
损失函数可以定义为:
负样本的回归损失被丢弃。K个辅助 Head 的优化的训练目标可以如下定义:
一对一的集合匹配范式,每个 GT 框只会被分配给一个特定的 Query 作为监督目标。正Query过少会导致Transformer解码器中的跨注意力学习效率低下。Co-DETR 根据每个辅助 Head 中的标签分配 Ai 精心生成足够多的定制正 Query。
具体而言,第i 个辅助 Head 中的正坐标集合 Bi{Pos}∈RMix4,其中Mi 是正样本的数量额外的定制正Query Qi∈RMixC可以通过以下方式生成:
其中PE(·)代表位置编码,并根据索引对 (j,Fj 中的正坐标或负坐标)从E(·)中选择相应的特征。
结果,有K + 1组 Query 为单一的一对一集合匹配分支做出贡献,具体来说,第i 个辅助分支中第 l个解码器层的损失可以表达为:
P ‾ \overline{\text{P}} Pi,l 是第 i 个辅助分支中第个 l 解码器层的输出预测。最终,Co-DETR的训练目标是:
其中 L ‾ \overline{\text{L}} Ll dec 代表原始的一对一集合匹配分支中的损失,λ1和λ2 是平衡系数.
Co-DETR显著改进了基于DETR的检测器。接下来,作者尝试从定性和定量两方面调查其有效性。作者基于使用ResNet-50 Backbone网络的Deformable-DETR,并使用36轮的设置进行了详细分析
直观地说,正 Query 过少会导致监督稀疏,因为每个 GT 只有一个 Query 通过回归损失进行监督。一对多标签分配方式中的正样本接收更多的位置监督,有助于增强潜在特征的学习
为了进一步探讨稀疏监督如何阻碍模型训练,作者详细研究了编码器产生的潜在特征。作者引入了IoF-IoB曲线来量化编码器输出的可区分性得分。具体来说,给定编码器的潜在特征F,受到图3中特征可视化的启发,作者计算了IoF (前景交叉) 和IB (背景交叉)。给定Level-j 处的编码器特征Fj∈RC×Hj×wj,首先计算L2范数 F ^ \widehat{F} F j∈R1×Hj×wj,然后将其调整为图像大小HxW。可区分性得分D(F)通过对所有Level的分数进行平均计算:
图3中可视化了ATSS、Deformable-DETR和作者的Co-Deformable-DETR的可区分性得分。与Deformable-DETR相比,ATSS和Co-Deformable-DETR都具有更强的区分关键目标区域的能力,而Deformable-DETR几乎被背景干扰。
匈牙利匹配是一对一集合匹配中的核心方案。跨注意力是帮助正 Query 编码丰富目标信息的重要操作。匈牙利匹配引入了不可控制的不稳定性,因为在训练过程中,分配给同一图像中特定正 Query 的 GT 会发生变化。
图5提供了不稳定性的比较,本文方法有助于更稳定的匹配过程。此外,为了量化跨注意力优化的程度,作者还计算了关注分数的IoF-IoB曲线。与特征可区分度得分计算类似,作者为注意力分数设置不同的阈值,以获取多个IoF-IoB对。可以在图2中查看Deformable-DETR、Group-DETR和Co-Deformable-DETR之间的比较。作者发现,具有更多正 Query 的DETR的IoF-IoB曲线通常高于Deformable-DETR,这与作者的动机一致。
Group-DETR、H-DETR和SQR通过具有重复组和重复 GT 框的一对一匹配来执行一对多分配。Co-DETR明确为每个 GT 分配了多个空间坐标作为正 Query 。因此,这些密集的监督信号直接应用于潜在特征图,使其更具区分性。
虽然这些对手引入了更多的正 Query ,但由匈牙利匹配实现的一对多分配仍然受到一对一匹配的不稳定性问题的困扰。作者的方法受益于即插即用的一对多分配的稳定性,并继承了它们的正 Query 与 GT 框之间的特定匹配方式。
Group-DETR和H-DETR未能揭示一对一匹配和传统一对多分配之间的互补性。据作者所知,作者是第一个对具有传统一对多分配和一对一匹配的检测器进行定量和定性分析的研究,这有助于作者更好地理解它们的差异和互补性,从而可以自然地通过利用即插即用的一对多分配设计来提高DETR的学习能力,而不需要额外的专门的一对多设计经验。
重复的物体 Query 不可避免地会为解码器带来大量的负 Query 和显著增加GPU内存消耗。然而,作者的方法只处理解码器中的正坐标,因此内存消耗较少,如表7所示。
表2和表3对Co-DETR在不同的DETR变种上的有效性和泛化能力进行了实证分析(结果由mmdetection复现)。
首先,作者将协作混合分配训练应用于具有C5特征的单尺度DETR,较长的训练过后,Conditional-DETR和DAB-DETR都比Baseline提高了2.4%和2.3%的AP。对于多尺度特征的DeformableDETR,检测性能从37.1%显著提高到42.9%的AP。
与DeformableDETR++和DINO配对,其中K = 2。此外,作者采用了质量Focal Loss和NMS来进行作者的Co-DINO-Deformable-DETR。作者在COCO val上报告了比较结果,如表4所示。
与其他竞争对手相比,作者的方法收敛速度快得多。例如,只使用ResNet-50 Backbone网络的Co-DINO-Deformable-DETR在12个Epoch内就可以轻松达到52.1%的AP。作者的Swin-L方法可以在1×scheduler下获得58.9%的AP,甚至超过其他最先进的3×scheduler框架。
更重要的是,最佳模型Co-DINO-Deformable-DETR++在36个Epoch的训练下,使用ResNet-50可以实现54.8%的AP,使用Swin-L可以实现60.7%的AP,超越了所有使用相同 Backbone网络的现有检测器,差距明显。
作者还展示了Co-DETR在长尾LVIS检测数据集上的最佳结果。具体而言,作者使用了与COCO相同的Co-DINO-Deformable-DETR++作为模型,但选择了FedLoss作为分类损失,以弥补不平衡数据分布的影响。
在这里,作者只应用边界框监督并报告目标检测结果。比较结果见表6。Co-DETR与Swin-L在LVIS val和minival上分别取得了56.9%和62.3%的AP,超越了使用MAE预训练的ViT-H和GLIPv2的ViTDet分别+3.5%和+2.5%的AP。作者进一步在这个数据集上对Objects365预训练的Co-DETR进行了微调。
消融实验在具有ResNet-50 Backbone网络的Deformable-DETR上进行的。作者默认选择辅助Head的数量K为1,并将总批量大小设置为32。
选择辅助Head的标准
作者进一步探讨了在表7和表8中选择辅助Head的标准。表8中的结果显示,任何具有一对多标签分配的辅助Head都可以稳定地提高Baseline性能,而ATSS获得了最佳性能。作者发现,当选择K小于3时,随着K的增加,准确性持续提高。值得注意的是,当K=6时性能下降,作者推测这是由于辅助Head之间的严重冲突引起的。如果特征学习在不同的辅助Head之间不一致,那么当K变大时,连续改进将被破坏。
总之,作者可以选择任何一个Head作为辅助Head,当K≤2时,作者将ATSS和Faster-RCNN视为实现最佳性能的常规做法。作者不使用太多不同的Head,例如6个不同的Head,以避免优化冲突。
当在不同的辅助Head中为相同的空间坐标分配不同的前景框或将其视为不同的背景时,会导致冲突,从而使检测器的训练变得混乱。作者首先定义Head Hi 和Head Hj 之间的距离,以及Hi 到平均距离来衡量优化冲突,如下所示:
其中,KL、D、I、C分别指的是KL散度、数据集、输入图像和类激活图(CAM)。作者计算了K>1的多个辅助Head之间的平均距离以及K=1时DETR Head和单一辅助Head之间的距离。作者发现当K=1时,每个辅助Head的距离度量是微不足道的,这与作者在表8中的结果一致:当K=1时,DETR Head可以与任何Head共同改进。
当K增加到2时,距离度量略有增加,如表7所示,作者的方法实现了最佳性能。当K从3增加到6时,距离度量急剧增加,表明这些辅助Head之间的严重优化冲突导致了性能下降。然而,具有6个ATSS的Baseline可以达到49.5%的AP,并且通过将ATSS替换为6个不同的Head可以降低到48.9%的AP。因此,作者推测过多不同的辅助Head,例如超过3个不同的Head,会加剧冲突。总之,优化冲突受到不同辅助Head的数量以及这些Head之间的关系的影响。
01、是否应该添加不同的Head?
使用两个ATSS Head(49.2%的AP)进行协作训练仍然可以提高一个ATSS Head(48.7%的AP)的模型,因为根据作者的分析,ATSS是DETR Head的补充。
此外,引入一个不同于原始 Head 的多样化和互补的辅助Head,例如Faster-RCNN,可以带来更好的增益(49.5%的AP)。
02、每个组件的效果
每个组件的消融效果,如表9所示。引入辅助Head显著提高了性能,因为密集的空间监督使编码器特征更具判别性。另外,引入定制的正 Query 也对最终结果做出了显著贡献,同时提高了一对一集合匹配的训练效率。
03、与更长的训练计划的比较
如表10所示,作者发现Deformable-DETR不能从更长的训练中受益,因为性能会饱和。相反,Co-DETR大大加速了收敛速度,并提高了性能的峰值。
04、辅助分支的性能
令人惊讶的是,作者观察到Co-DETR对辅助Head也带来了持续的增益,如表11所示。这意味着作者的训练范式有助于更具判别性的编码器表示,从而提高了解码器和辅助Head的性能。
05、原始正 Query 和定制正 Query 的分布差异
作者在图7a中可视化了原始正 Query 和定制正 Query 的位置。作者每张图像只显示一个对象(绿色框)。由解码器中的匈牙利匹配分配的正 Query 标记为红色。
用蓝色和橙色标记了从Faster-RCNN和ATSS中提取的正 Query ,这些定制 Query 分布在实例的中心区域周围,并为检测器提供了足够的监督信号。
作者在图7b中计算了原始 Query 和定制 Query 之间的平均距离。原始负 Query 和定制正 Query 之间的平均距离明显大于原始和定制正 Query 之间的距离。由于原始 Query 和定制 Query 之间的分布差距很小,因此在训练过程中不会遇到不稳定性问题。