点击下方卡片,关注「集智书童」公众号
导读
密集目标检测在自动驾驶、视频监控等领域得到广泛应用。本文聚焦于密集场景下具有挑战性的密集目标检测任务。目前,基于贪婪算法的检测方法,如非极大值抑制(NMS),在密集场景中往往会产生许多重复预测或漏检,这是NMS类算法面临的一个常见问题。通过端到端DETR(DEtection TRansformer)作为一类能够将NMS等后处理去重能力融入网络的检测器,作者发现基于 Query 的检测器中的同质 Query 会导致网络去重能力和编码器学习效率的降低,从而引发重复预测和漏检问题。
为解决这一问题,作者提出了可学习的差异化编码,以去同质化 Query ,同时, Query 可以通过差异化编码信息相互通信,取代之前 Query 之间的自注意力机制。此外,作者使用考虑了位置和置信度预测的联合损失对编码器的输出进行训练,为 Query 提供了更高质量的初始化。在不进行繁琐的解码器堆叠并保证准确性的前提下,作者提出的端到端检测框架更加简洁,与可变形DETR相比,参数数量减少了约8%。
DCG—De‐Homo在具有挑战性的CrowdHuman数据集上取得了优异的结果,平均精度(AP)达到93.6%,MR-2为39.2%,JI为84.3%。性能超过了之前的一些SOTA方法,如Iter-E2EDet(渐进式端到端目标检测)和MIP(一个 Proposal ,多个预测)。此外,DCG—De‐Homo在各种不同密度的场景中具有更强的鲁棒性。
- 引言
密集目标检测是计算机视觉中的一个关键任务,旨在从图像或视频中准确检测和定位多个相互遮挡的目标。在密集目标检测算法的设计中存在一个权衡。一方面,检测器必须整合编码信息并尽可能地对每个目标进行回归,以避免漏检。另一方面,在追求更高召回率的同时,防止产生重复预测,即多个预测对应于同一GT(真实情况)是非常重要的。这种权衡在密集检测任务中是基本的。
在当前检测方法中,解决漏检和重复预测问题主要有两种方式: (1) 框层后处理去重策略; (2) 在训练过程中将候选框与真实框集进行匹配,即确定哪个候选 Anchor 框或 Query 应该预测哪个真实框,哪个不应该。它们分别对应基于 Anchor 框和后处理的检测算法以及基于 Query 的端到端检测算法。
在广泛使用的基于 Anchor 的检测算法[1-4]中,训练是通过使用手动设置的密集 Anchor 点进行多对一匹配与真实目标(GTs)来进行的。每个 Anchor 点预测其邻域中与自身最近的IoU距离,如图1a所示。这些方法的多对一匹配训练策略以及对于重复预测没有额外的惩罚,使得网络本身无法实现去重。这导致多个相邻的 Anchor 点在预测过程中回归到同一个GT,因此需要额外的后处理方法,如非极大值抑制(NMS),来去除重复预测。然而,这种基于贪婪算法的框级方法NMS,它为去除高度重叠的预测设置一个固定的IoU阈值,并调整IoU抑制阈值以平衡重复预测和漏检之间的矛盾,仍然无法解决不同密集场景中的矛盾。在后续的改进算法中,SoftNMS[5]通过设置框抑制的软阈值来缓解这种矛盾,而自适应NMS[6]则自适应地改变抑制阈值。然而,基于框级的NMS和其他基于贪婪的后处理方法在密集场景中仍然表现不佳。
在端到端基于 Query 的检测算法[7,8]中,如图1b所示,使用基于二分图匹配的全局一对一匹配算法来替代训练中之前的多对一贪婪匹配算法,并使用可学习的Sparse Query 来替代手动设置的密集 Anchor 点。在训练过程中,每个 Query 根据统计规律学习专注于不同区域和形状的目标,并在GT集(应预测哪些GT应该和不应该被使用的 Query )上执行全局尺度分割匹配。在训练过程中,网络学习 Query 与GT的一对一匹配,并且在训练过程中对重复预测存在损失惩罚,因此模型通过 Query 位置分割在网络内部学习去重能力,无需额外的后处理去重,如NMS。
然而,在基于 Query 的检测算法中,位置相似的 Query 会关注相似的编码信息,而内容相似的 Query 往往在相同的回归和分类 Head 之后进行重复预测,这意味着在密集场景中这个问题更为严重。此外,由于相似的 Query 没有足够区分化的信息供网络学习去重能力,相似的 Query 在训练过程中会导致不稳定的反向传播,从而降低编码器在拥挤场景中的学习效率。
1.1. 解决 Query 同质化问题
Query 同质性主要源于两个原因:内容同质性和位置同质性。对于位置同质化,DN-DETR和DINO-DETR[9,10]通过限制训练阶段 Query 微调的距离来提高收敛速度,从而使GT与 Query 之间的匹配划分更加稳定。在DDQ[11]的研究中,通过在初始化 Query 过程中添加非极大值抑制(NMS)以过滤初始化位置并抑制具有相似位置的 Query ,取得了良好的结果。然而,由于密集场景中GT的高密度,位置相似度非常高,因此 Query 位置的区分只能缓解密集场景中的重复预测。其次,非极大值抑制(NMS)的计算成本过高,RT-DETR[12]中的实验展示了NMS的高时间成本。
本文通过区分 Query 内容来解决这个问题。当 Query 位置接近时,由于注意力范围相似,编码内容是同质的。因此,作者为每个 Query 设计了一种可学习的区分编码,以打破 Query 内容与其位置之间的强相关性。这样,即使 Query 的预测位置彼此接近,模型也可以采用不同的学习策略和区分信息。这可以显著提高解码器和编码器的去重能力。如图2所示, Query 预测框的颜色代表它们的内容差异;作者旨在提出一个基于内容差异的检测框架。同时,在生成区分编码时, Query 可以与周围预测进行区分信息交换,替代原始解码器中 Query 之间的自注意力,简化网络结构。
1.2 对齐解码器
在DETR-like检测器中,编码器为解码器生成 Query 特征图,允许逐层微调以实现更精确的预测。然而,编码器和解码器之间的结构差异导致了它们在编码和解码方法上的差异。许多工作已经通过调整编码器和解码器的设计来改进端到端检测器,从而在交叉注意力期间更有效地整合信息,提高模型效率。例如,DAB-DETR[13]和条件DETR[14]在解码器中添加与编码器相同的定位编码,以对齐编码和解码方法,这减少了由编码器和解码器方法差异引起的信息差异,并提高了准确率。受这些论文的启发,作者设计了与编码器结构对齐的解码器,消除了解码器中 Query 之间的自注意力。同时,在差异编码过程中使用非对称差异聚合(ADA)机制可以很好地替代 Query 之间的通信。在不降低模型检测效率和准确性的情况下,本文DCG—De‐Homo可以将参数数量减少约8%。
1.3. 考虑位置和置信度的 Query 初始化
在两阶段DETR-like检测模型中, Query 通常使用编码器的输出置信度分数Top-K算法进行初始化。由于置信度和位置损失函数的独立设置,在初始化 Query 时存在置信度分数与IoU不匹配的问题,即存在高IoU但低置信度的候选预测,导致它们被Top-k算法过滤掉。因此,本文提出使用置信度和GIoU的联合损失来监督编码器输出的训练,并优化置信度和IoU之间的不匹配,以更有效地初始化 Query ,并使用更少的 Query 实现更好的检测结果。
1.4. 作者的贡献
本文针对基于 Query 的检测器中的同质 Query 问题,通过提出可学习的微分编码来增强 Query ,从而在网络中提高去重能力的同时提升编码器和解码器的学习效率;其次,作者通过考虑位置损失和置信度损失,使用更高质量的 Query 初始化;最后,作者优化了解码器的结构,以减少模型参数数量,同时不会显著影响模型精度。在所提出的微分 Query 学习策略下,本文DCG—De‐Homo在参数数量减少约8%的情况下,性能优于最近的一些SOTA方法,包括Iter-E2EDet(渐进式端到端目标检测)[15]、MIP(一个 Proposal ,多个预测)[16]和AD-DETR(非对称解耦检测Transformer)[17]。
- 相似与差异化 Query 分析
本节主要讨论了在基于 Query 的检测器中,相似的 Query 如何在密集场景下导致重复预测和训练效率低下。具有相似位置的 Query 关注相似的编码特征信息,从而产生内容相似的 Query ,它们在通过相同的全连接分类和回归头时,更倾向于做出相似的重复预测。
图3中,作者统计地表示了变形DETR中 Query 内容的相似性和相对IoU距离。垂直坐标是 Query 之间的余弦相似度,水平坐标是 Query 之间的IoU距离。 Query 的编码内容和位置具有强相关性。 Query 之间的IoU距离越近,它们具有高内容相似度的概率就越大。
同质 Query 可能导致重复预测问题。作者通过一个直观的例子来解释这一点,假设在初始化时,两个 Query 非常接近;为了通用性,作者采用二元交叉熵损失作为分类损失,单个 Query 的交叉熵损失 可以表示如下:
其中, 表示与真实标签(GT)对应的独热编码分类标签, 表示置信度分数。
在两个 Query 的情况下,如果一个 Query 与目标 GT 匹配,而另一个 Query 不匹配目标,根据公式(I1),这两个 Query 的总损失如下:
假设由于内容相似性与相对IoU距离之间的强相关性,两个 Query 在初始化时非常接近,在极端情况下,如果作者假设两个 Query 完全相同,它们的置信分数为 ,在这种情况下,方程(2)中的总损失如下:
损失函数相对于置信水平的梯度如下,对 关于 的偏导数为:
可以看出,当置信度分数 时,梯度为正,随着置信度的降低,损失减少,网络降低两个预测的置信度;当 时,随着置信度的增加,损失减少,因此在训练过程中网络增加两个预测的置信度。最终,当 时,网络达到反向传播梯度的平衡点,此时两个 Query 都没有更新的梯度,损失函数达到局部最优点。也就是说,在这种情况下,网络更倾向于保留两个低置信度预测,而不是通过增加一个预测的置信度以消除另一个的重复去重策略。随着 Query 变得密集和相似,更多相似的 Query 可能对应于一个真实标签(GT),从而生成重复预测。
同质 Query 在训练过程中也会导致不稳定的反向传播,这降低了编码器的学习效率。如图4所示,作者假设存在两个 Query 接近目标GT,在两阶段图匹配算法中,与GT匹配的 Query 产生一个梯度更新矩阵,该矩阵增加了的置信度分数,而与无物体匹配的 Query 则产生一个梯度更新矩阵,该矩阵降低了的置信度分数。
如图4a所示,当两个 Query 和的内容非常相似时,得到的更新矩阵和具有相似的绝对值但相反的符号方向。在极端情况下,当时,更新矩阵和具有相同的绝对值但相反的符号,即。这种矛盾的更新使得网络编码器在密集场景中难以高效学习,并且在训练过程中,重复预测难以通过反向传播梯度进行惩罚。
如图所示,在将差分编码添加到和之后,即使它们的位姿几乎重合,由不同符号方向的反向传播生成的梯度更新矩阵和在绝对值上也有显著差异。这种差异化的更新使得编码器能够更有效地学习,并且该模型可以通过差异化的信息更好地学习去重策略。
- DCG—De‐Homo
本文提出的通用框架如图5所示,其中图像首先通过特征提取器(包括 Backbone 网络和堆叠编码器)进行处理,以获得多尺度特征图,然后使用作者提出的GloU感知 Query 选择器初始化一定数量的 Query ,这些 Query 输入到后续的解码器中,并通过解码器的第一层输出位置预测,其中辅助预测头与编码器对齐。位置预测通过与辅助预测头对齐的解码器第一层输出。接着,去同构编码生成器(DCG)生成区分性代码,将其添加到原始 Query 中形成区分性 Query ,然后传递给后续解码器以获得最终的置信度预测。
3.1. 去同义编码生成器
如上所述,同质 Query 使得网络难以学习有效的去重策略。在本文中,作者设计了一个DCG(去同质编码生成器)模块,用于生成区分性的编码信息以添加到 Query 中,从而使网络能够通过区分性信息学习去重能力。
DCG模块,如图6所示,分为两个阶段运行。在第一阶段,一个去同质ID编码器为每个 Query 生成一个唯一的去同质ID,以学习它们之间的区别。第i个 Query 的去同质ID 的计算方法如下:
通过两个全连接层和一个激活函数来编码 Query 。代表层归一化,用于对编码后的去同质ID进行归一化处理,以便进行后续的差异计算。
在第二阶段,每个 Query 通过非对称差异融合机制整合来自周围 Query 的De-Homo IDs的差异信息,从而生成用于去重差异编码。这种融合机制还促进了 Query 之间的信息交换,可作为它们之间自注意力机制的替代。对于第个 Query ,差异编码如下所示:
其中, 和 分别代表第 个 Query 的置信度和位置预测。 是一个指示函数,当 时取值为 1,否则为 0。置信度注意力 的最小阈值被设置为避免因大量低置信度预测导致的计算复杂度增加。
基于信心的非对称关系可以进一步强化差异化信息,使每个 Query 能够整合来自周围具有更高置信度分数的预测信息。在 Query 之间的传统自注意力机制中,其中 ,焦点仅在于提高召回率的信息,而不考虑与周围预测的差异以避免冗余。作者的论文引入了非对称差异聚合(ADA)机制,这是一个处理 Query 之间编码内容差异的函数,用于编码差异化信息。
去同质化 Query 是通过将 添加到原始 Query 中获得的,其中 。在这里,ffn 表示由两个线性层和一个激活层组成的全连接 FFN 。然后, 被输入到后续解码器中以生成置信度预测,从而解决由于同质化 Query 导致的网络难以学习去重能力的问题。
3.2. GloU感知 Query 选择器
对于过去两阶段基于 Query 的检测器[9,10,13,18],大多数算法使用Top-K算法结合置信度分数来过滤编码器预测中的 Query 以进行初始化。然而, Query 初始化的质量取决于位置和置信度的组合,这导致具有高IoU但置信度低的初始化 Query 被过滤掉,或者具有低IoU但置信度高的预测被选中,从而降低了 Query 初始化的质量。
为了解决这个问题,作者采用了综合考虑置信度和位置的联合质量分数来初始化 Query 。同时,GIoU [19] 能更好地反映基于IoU的预测框之间的重叠,因此作者使用GIoU来表示位置预测的质量。最终,作者基于GIoU和分类分数的联合分数进行Top-K筛选,以过滤 Query 初始化。同时,作者仍然使用二分图匹配来实现预测框和真实框的一对一映射。
作者提出使用GloU-aware的联合预测质量损失来监督编码器输出的训练,其公式如下:
和 分别表示预测值和真实值, 由位置预测 和类别预测 组成,也对应于真实值的位置标签 和类别标签 。作者引入了Focal Loss 的概念,以考虑更多关注难样本的损失,作者提出的GIoU感知损失如下:
是调制权重,其概念类似于Focal Loss,用于确定难样本和易样本的注意力程度,其表达式如下:
其中 是一个可调节的因子。对于预测值已经非常接近真实值的简单样本,@ 趋于零,而对于难以预测的样本,o 被赋予更高的权重。
在作者的测试中,作者使用了考虑位置和置信度的联合分数Top-k作为 Query 初始化,以避免仅使用置信度分数导致的低置信度和高IoU预测被过滤,从而实现更高的 Query 初始化质量和更少的 Query 达到更高的准确度。
如图7所示,使用GQS后的预测分数与IoU的相关性更好,在使用分数Top-k算法时,IoU预测更高,这对应着更好的初始化质量。在解码器损失设计中,为了保持模型损失函数的收敛性,作者仍然使用原始的离散标签分类损失进行监督学习,以获得最终的预测。
3.3 对齐解码器
许多先前的工作试图通过将编码器和解码器对齐来减少编码和解码方法之间的差异,以便模型能够在交叉注意力机制中更有效地整合信息。由于作者提出的DEG中的差异融合机制也适用于在 Query 之间执行信息融合,作者消除了 Query 之间的自注意力模块,并使用与编码器对齐的解码器。
在保持原始方法准确度的同时,作者减少了约8%的参数数量。随着差异编码的加入,由于在训练中获得了更稳定的点对点映射关系,编码器和解码器的结果都得到了改善。作者还发现,在预测阶段仅使用训练解码器的第一层可以减少参数数量,同时保持相对较高的准确度。
- 实验与分析
作者通过基准测试数据集CrowdHuman对方法进行实验验证,并将其与SOTA的基于 Anchor 点的检测方法和基于 Query 的端到端检测方法进行比较。作者还对所提出的组件进行了消融实验,并测试了它们在不同密度场景下的鲁棒性。
4.1 实验数据集
CrowdHuman数据集包含15k个训练图像和4.4k个验证图像,平均每张图像有大约23个相互遮挡的目标。作者使用了AP、和JI作为以下指标:
平均精度(AP):由精确率-召回率曲线所围成的面积表示。在目标检测中,AP常用于反映精确率和召回率,AP值越大表示检测性能越好。MR-2:计算每个图像的误检率的对数尺度上的平均漏检率。该指标常用于行人检测,因为它反映了误检和漏检,MR-2值越小表示检测性能越好。
贾卡德指数(JI):该指数主要评估预测集与真实标签框(GTs)之间的重叠程度。它反映了预测框集与实际GTs之间的整体分布相似度,贾卡德指数越高,表示检测性能越好。
4.2 实验细节
作者使用标准预训练的ResNet-50[22]作为可变形DETR[18]的 Backbone 网络,并进行了50个epoch的训练。作者使用AdamW优化器进行模型训练,其中动量设置为0.9,权重衰减设置为0.0001。模型的学习率为0.0002, Backbone 网络的学习率为0.00002。批大小为8,注意力头数量设置为8,并使用4块RTX 3090 GPU进行训练。
端到端检测器DETR[7]、可变形DETR[18]、Iter-E2Edet[15]等,在实验中使用了默认的6层编码器和6层解码器;DCG—De‐Homo仅使用了6层编码器和3层解码器,其他超参数设置与可变形DETR保持一致。
4.3 与其他先进检测器的比较实验
括号中的数字表示用于训练和测试的编码器和解码器的层数。X-Y 表示用于训练的X层编码器和Y层解码器,以及用于测试的Z层解码器。如果没有特殊说明,其他方法默认为6-6 (6)。
比较这些方法,DCG—De‐Homo在 Query 次数更少的情况下实现了更高的准确率和更低的误检率。与使用六个解码器的两阶段可变形DETR的基准方法相比,DCG—De‐Homo将误检率降低了约3.9%,并将AP提升了1%,同时DCG—De‐Homo在参数规模上减少了约8%。UniHCP[28]首先在33个数据集上跨任务训练,这些数据集大约包含109.1百万个参数,然后在Crowdhuman数据集上进行微调。DCG—De‐Homo在AP和MR-2指标上仍然优于它们,而使用的参数仅约为32%。
4.4. 消融实验
为了测试DCG—De‐Homo中不同组件的有效性,作者在Crowdhuman数据集上进行了消融实验。如表2的第一行所示,作者使用六个变形DETR(以ResNet50作为 Backbone 网络)解码器作为比较的基准方法,而DCG—De‐Homo中默认使用三个解码器。作者提出的去同质编码生成器(DCG)显著提升了检测器的性能,漏报率 从原始的 降低到 。在使用了GloU感知 Query 选择器(GQS)之后,由于 Query 的初始化效率提升,误预测进一步减少。
同时,DCG—De‐Homo不需要冗余层微调结构,并在解码器早期阶段就获得了高精度,如图8和图9所示。
作者测试了DCG—De‐Homo和基准方法可变形DETR在不同解码器阶段的预测结果的AP和MR-2。在第二个解码器块中,DCG—De‐Homo在AP上达到了93.5%的精度,在上达到了39.3%,这基本上保证了精度同时减少了参数数量。比较编码器和第一个解码器的输出,DCG—De‐Homo显著缩小了解码器和编码器之间的信息差距。
可以看出,当编码器的结构完全相同时,由于差异化 Query 带来的独特梯度更新,其性能显著提升。
4.5 超参数分析
同时,作者比较了使用不同 Query 的影响,如表4所示;DCG—De‐Homo在使用各种 Query 时均优于基准方法。图10展示了模型在不同 Query 数量下的性能趋势,明显可以看出,DCG—De‐Homo在 Query 数量较少时表现更佳。当 Query 数量变少时,性能下降的趋势趋于缓慢。
为了比较DCG—De‐Homo在 Query 区分度上的效果,如图11所示,作者分别计算了在可变形DETR中具有正预测置信度的 Query 与DCG—De‐Homo之间的IOU距离和余弦相似度。DCG—De‐Homo可以显著降低 Query 的同质性,并打破 Query 位置与编码内容之间的强相关性。
4.6 检测结果分析
作者详细分析了DCG—De‐Homo与基准方法两阶段可变形DETR的检测结果。同时,作者在CrowdHuman验证集的检测结果中,对不同置信度分数进行了假阳性(FP)和真阳性(TP)的统计。统计结果如图12所示,匹配IOU阈值为0.8。DCG—De‐Homo在各个置信度 Level 上显著提高了TP,同时大幅抑制了重复预测的FP。
为了验证DCG—De‐Homo在不同密度场景下的泛化性能和鲁棒性,作者统计了在不同密度场景下,DCG—De‐Homo与基准方法在TP和FP上的变化,如图13所示;
当作者设置匹配IOU阈值为0.5时,DCG—De‐Homo在各个不同密度场景中显著提高了TP并抑制了FP的重复预测。当IOU阈值设置为0.8时,如图14所示,DCG—De‐Homo相对于基准方法的改进更为显著。DCG—De‐Homo可以更准确地回归目标位置,同时减少重复预测和误检的FP。
4.7 实际测试结果图像比较
如图15所示,作者比较了两阶段可变形DETR的检测效果与DCG—De‐Homo,发现DCG—De‐Homo在密集和严重遮挡的场景中仍然表现良好。
- 讨论
本文提出了一种差异化的 Query 策略,该策略显著提高了基于 Query 的检测模型的去重能力,并在密集场景中提升了编码器的学习效率;同时,作者优化了 Query 的初始化和解码器的结构,在降低模型参数数量的同时,提高了端到端检测器的准确性。与当前最先进的检测方法相比,该方法在保持参数数量较低的情况下实现了更高的准确性,并在不同密集场景中的鲁棒性通过实验得到验证。然而,由于密集 Query 之间的IoU计算,作者提出的去同化编码生成器(DCG)模块在推理阶段导致更高的时间复杂度,尤其是在密集场景中。
此外,为了避免过高的时间复杂度,作者限制了去同化编码的计算范围和网络编码方法的网络深度。DCG—De‐Homo在复杂和密集场景中仍有改进的潜力。另外,使用编码器特征初始化 Query 在推理阶段会带来额外的较高计算复杂度。未来的工作将基于此进一步优化模型,以增强其在更复杂场景中的鲁棒性,并进一步优化模型的计算复杂度。
参考
[1]. Dense Object Detection Based on De‐homogenized Queries
扫码加入👉「集智书童」交流群
(备注: 方向+学校/公司+昵称 )