专栏名称: 深度学习基础与进阶
一个百度人的技术提升之路,为您提供一系列计算机视觉,自然语言处理和推荐系统等高质量技术文章,让您的碎片化时间最大价值化
目录
相关文章推荐
51好读  ›  专栏  ›  深度学习基础与进阶

D-FINE:在DETR中将回归任务作为分布来细化

深度学习基础与进阶  · 公众号  ·  · 2025-02-08 18:32

正文

请到「今天看啥」查看全文


导读

我们的方法显著增强了各种DETR模型的性能,最多提高了5.3% 的AP,而额外的参数和训练成本几乎可以忽略不计。


摘要

我们介绍了D-FINE,这是一种强大的实时目标检测器,通过重新定义DETR模型中的边界框回归任务实现了卓越的定位精度。D-FINE包含两个关键组件:细粒度分布精炼(Fine-grained Distribution Refinement, FDR)和全局最优定位自蒸馏(Global Optimal Localization Self-Distillation, GO-LSD)。FDR将回归过程从预测固定坐标转变为迭代地精炼概率分布,提供了一个细粒度的中间表示,这大大提升了定位的准确性。GO-LSD是一种双向优化策略,它通过自蒸馏将定位知识从精炼的分布转移到较浅的层,同时简化了更深层的残差预测任务。

此外,D-FINE在计算密集型模块和操作中引入了轻量级优化,从而在速度和准确性之间达到了更好的平衡。具体来说,D-FINE-L / X 在NVIDIA T4 GPU上分别以124 / 78 FPS的速度在COCO数据集上实现了54.0% / 55.8% 的AP(平均精度)。当在Objects365上预训练时,D-FINE-L / X分别达到了57.1% / 59.3% 的AP,超过了所有现有的实时检测器。此外,我们的方法显著增强了各种DETR模型的性能,最多提高了5.3% 的AP,而额外的参数和训练成本几乎可以忽略不计。我们的代码和预训练模型可在以下链接获取: https://github.com/Peterande/D-FINE。

1 介绍

实时目标检测的需求在各种应用中不断增加。最具影响力的实时检测器之一是YOLO系列,这些模型因其高效性和强大的社区生态系统而广受认可。作为强劲的竞争者,检测Transformer(DETR)由于其基于Transformer的架构提供了独特的优势,该架构允许进行全局上下文建模和直接集合预测,无需依赖非极大值抑制(NMS)和锚框。然而,它们通常受到高延迟和计算需求的限制。RT-DETR通过开发一个实时Transformer解决了这些问题,为YOLO检测器提供了一个端到端的替代方案。此外,LW-DETR表明,当在像Objects365这样的大规模数据集上训练时,DETR可以实现比YOLO更高的性能上限。

尽管实时目标检测取得了显著进展,但一些未解决的问题继续限制着检测器的性能。其中一个关键挑战是边界框回归的公式化。大多数检测器通过回归固定坐标来预测边界框,将边缘视为由Dirac delta分布建模的精确值。虽然这种方法简单直接,但它无法模拟定位不确定性。因此,模型被限制使用L1损失和IoU损失,这两种损失对于独立调整每个边缘提供的指导不足。这使得优化过程对小坐标变化敏感,导致收敛缓慢和次优性能。尽管GFocal等方法通过概率分布处理不确定性,但它们仍然受到锚点依赖、粗略定位和缺乏迭代精炼的限制。另一个挑战在于最大化实时检测器的效率,因为它们需要在有限的计算和参数预算下保持速度。知识蒸馏(KD)是一种有希望的解决方案,它通过将大模型的知识转移到小模型来提高性能而不增加成本。然而,传统的KD方法如Logit模仿和特征模仿在检测任务中证明是低效的,甚至可能导致最先进模型的性能下降。相比之下,定位蒸馏(LD)在检测方面表现出更好的结果。不过,集成LD仍然是一个挑战,因为它带来了大量的训练开销,并且与无锚点检测器不兼容。

为了应对这些问题,我们提出了D-FINE,一种重新定义边界框回归并引入有效自蒸馏策略的新颖实时目标检测器。我们的方法解决了固定坐标回归中难以优化的问题、无法模拟定位不确定性的难题以及需要以较少的训练成本进行有效蒸馏的需求。我们引入了细粒度分布精炼(FDR)来将边界框回归从预测固定坐标转变为建模概率分布,提供更精细的中间表示。FDR以残差方式迭代地精炼这些分布,允许逐步更细致的调整,从而提升定位精度。认识到较深层生成更准确的预测,因为它们在其概率分布中捕捉到了更丰富的定位信息,我们引入了全局最优定位自蒸馏(GO-LSD)。GO-LSD将定位知识从较深层传输到较浅层,几乎没有额外的训练成本。通过对齐较浅层的预测与后续层的精炼输出,模型学习产生更好的早期调整,加速收敛并改善整体性能。此外,我们在现有的实时DETR架构中简化了计算密集型模块和操作,使D-FINE更快、更轻量。虽然这类修改通常会导致性能损失,但FDR和GO-LSD有效地缓解了这种退化,实现了速度和准确性之间的更好平衡。

在COCO数据集上的实验结果显示,D-FINE在实时目标检测中实现了最先进的性能,在准确性和效率上超过了现有模型。D-FINE-L和D-FINE-X分别在COCO val2017上达到了54.0%和55.8%的AP,运行速度分别为每秒124帧(FPS)和78 FPS,使用的是NVIDIA T4 GPU。在更大的数据集如Objects365上预训练后,D-FINE系列达到了最高59.3%的AP,超越了所有现有的实时检测器,展示了其可扩展性和稳健性。此外,我们的方法以几乎可以忽略的额外参数和训练成本增强了各种DETR模型,最多提高了5.3%的AP,证明了它的灵活性和泛化能力。总之,D-FINE推动了实时检测器的性能界限。通过FDR和GO-LSD解决边界框回归和蒸馏效率的关键挑战,我们在目标检测领域迈出了有意义的一步,激励了进一步的研究探索。

2 相关工作

实时/端到端目标检测器。 YOLO系列在实时目标检测方面引领了潮流,通过架构、数据增强和训练技术的创新不断发展。虽然高效,但YOLO通常依赖于非极大值抑制(NMS),这引入了延迟,并在速度和准确性之间造成了不稳定性。DETR通过去除目标NMS和锚点这样的手工设计组件的需求,革新了目标检测。传统的DETRs取得了卓越的性能,但以高计算需求为代价,使得它们不适合实时应用。最近,RT-DETR和LW-DETR成功地将DETR适应于实时使用。同时,YOLOv10也消除了对NMS的需求,在YOLO系列中标志着向端到端检测的重大转变。

基于分布的目标检测。 传统的边界框回归方法依赖于Dirac delta分布,将边界框边缘视为精确且固定,这使得建模定位不确定性变得困难。为了应对这一挑战,近期模型采用高斯或离散分布来表示边界框,增强了不确定性建模。然而,这些方法都依赖于基于锚点的框架,限制了它们与现代无锚点检测器如YOLOX和DETR的兼容性。此外,它们的分布表示通常是粗粒度的,缺乏有效的精炼,阻碍了更准确预测的能力。

知识蒸馏 。知识蒸馏(KD)是一种强大的模型压缩技术。传统的KD通常专注于通过Logit模仿传递知识。FitNets最初提出了特征模仿的概念,启发了一系列后续工作的进一步扩展。对于DETR的大多数方法结合了logit和各种中间表示的混合蒸馏。最近,定位蒸馏(LD)表明,传递定位知识对检测任务更为有效。自蒸馏是KD的一个特例,它使早期层能够从模型自身的精炼输出中学习,所需的额外训练成本远少,因为不需要单独训练一个教师模型。

3 预备知识

在目标检测中,边界框回归传统上依赖于建模Dirac delta分布,要么使用基于中心点的{x, y, w, h}形式,要么使用边距距离{c, d}形式,其中的距离d = {t, b, l, r}是从锚点 测量到四条边的距离。然而,Dirac delta假设将边界框边缘视为精确和固定的,这使得在模糊情况下难以建模定位不确定性。这种刚性的表示不仅限制了优化,还可能导致由于小的预测偏移而产生显著的定位错误。

为了解决这些问题,GFocal采用离散概率分布来回归从锚点到四个边界的距离,提供了对边界框更为灵活的建模。实际上,边界框的距离d = {t, b, l, r}被建模为:

其中,dmax是一个标量,用于限制从锚点中心到边界的最大距离,而P(n)表示四个边缘每个候选距离的概率。虽然GFocal通过概率分布处理模糊性和不确定性迈出了重要的一步,但在其回归方法中仍然存在特定的挑战:

  1. 锚点依赖性 :回归与锚框中心紧密相关,这限制了预测的多样性和与无锚点框架的兼容性。
  2. 没有迭代优化 :预测是一次性的,不包含迭代式的优化过程,这降低了回归的鲁棒性。
  3. 粗略定位 :固定的距离范围和均匀的区间划分可能导致定位的粗糙,特别是对于小目标而言,因为每个区间代表了一组可能值的广泛范围。

定位蒸馏(Localization Distillation, LD) 是一种有前景的方法,研究表明,传递定位知识对于检测任务更加有效。基于GFocal构建,它通过从教师模型中提炼出宝贵的定位知识来增强学生模型,而不是简单地模仿分类logits或特征图。尽管这种方法具有优势,但它仍然依赖于基于锚点的架构,并且会带来额外的训练成本。

4 方法

我们提出了D-FINE,这是一种强大的实时物体检测器,在速度、尺寸、计算成本和准确性方面表现出色。D-FINE通过利用两个关键组件:细粒度分布优化(Fine-grained Distribution Refinement, FDR)和全局最优定位自蒸馏(Global Optimal Localization Self-Distillation, GO-LSD),解决了现有边界框回归方法的不足,这两个组件协同工作,在几乎不增加额外参数和训练时间成本的情况下显著提升性能。

  1. FDR 迭代地优化作为边界框预测校正的概率分布,提供更细粒度的中间表示。这种方法独立捕捉并优化每个边缘的不确定性。通过利用非均匀加权函数,FDR允许在每个解码层进行更精确和渐进的调整,提高定位准确性并减少预测误差。FDR在一个无锚点、端到端的框架内运行,使得优化过程更加灵活和鲁棒。

  2. GO-LSD 将从优化后的分布中提炼出的定位知识传递给较浅的层。随着训练的进行,最终层产生的软标签变得越来越精确。较浅的层通过GO-LSD使其预测与这些标签对齐,从而实现更准确的预测。随着早期预测的改进,后续层可以专注于细化较小的残差。这种相互强化创造了协同效应,导致定位精度逐步提高。

为了进一步增强D-FINE的效率,我们在现有的实时DETR架构中简化了计算密集型模块和操作,使D-FINE更快且更轻量级。尽管这些修改通常会导致一些性能损失,但FDR和GO-LSD有效地缓解了这种退化。具体的修改详见表3。

4.1 细粒度分布优化

细粒度分布优化(Fine-grained Distribution Refinement, FDR) 迭代地优化由解码层生成的细粒度分布,如图2所示。最初,第一个解码层通过传统的边界框回归头和D-FINE头(两个头都是多层感知机MLP,仅输出维度不同)预测初步的边界框和初步的概率分布。

每个边界框与四个分布相关联,分别对应于每个边缘。初始的边界框作为参考框,而后续的层则专注于以残差方式调整这些分布来精细化这些边界框。经过细化的分布随后被用于调整相应初始边界框的四个边缘,随着每次迭代逐步提高其准确性。

数学上,设 表示初始的边界框预测,其中 表示预测的边界框中心坐标,而 {W, H}  分别表示边界框的宽度和高度。我们可以将 转换为中心坐标 和边缘距离 ,它们分别代表从中心到顶部、底部、左侧和右侧边缘的距离。对于第l层,细化后的边缘距离 可计算如下:

其中 表示四个独立的分布,每个边缘对应一个。每个分布预测相应边缘的候选偏移值的可能性。这些候选值由加权函数 W(n) 确定,其中 n 是离散箱的索引,总共有 N 个箱,每个箱对应一个可能的边缘偏移。分布的加权和生成边缘偏移。然后,这些边缘偏移会根据初始边界框的高度 H 和宽度 W 进行缩放,以确保调整与框的大小成比例。

精炼后的分布通过残差调整进行更新,定义如下:

其中,前一层的logits 反映了对四个边缘每个偏移量置信度。当前层预测残差logits ,这些残差logits被加到前一层的logits上,形成更新后的logits 。然后,这些更新后的logits使用softmax函数进行归一化,产生精炼后的概率分布。

为了便于进行精确和灵活的调整,定义了权重函数 W(n) 为:

其中,a 和 c 是控制函数上界和曲率的超参数。如图2所示,W(n) 的形状确保了当边界框预测接近准确时,W(n) 中的小曲率允许进行更精细的调整。相反,如果边界框预测远不准确,W(n) 在边缘附近的较大曲率以及在边界上的急剧变化确保了对显著校正有足够的灵活性。

为了进一步提高我们分布预测的准确性,并使它们与真实值对齐,受到Distribution Focal Loss (DFL) 的启发,我们提出了一种新的损失函数,即细粒度定位(Fine-Grained Localization, FGL)损失,其计算方式为:

其中 表示第 k 个预测对应的概率分布。 是计算得到的相对偏移,其计算方式为 ,这里 表示真实值边距距离,而 , 则是与 相邻的箱索引。带权重 的交叉熵(CE)损失确保了箱之间的插值能够精确地与真实值偏移对齐。通过引入基于 IoU(Intersection over Union,即联合交集)的加权,FGL 损失鼓励具有较低不确定性的分布变得更加集中,从而导致更精确和可靠的边界框回归。

4.2 全局最优定位自蒸馏

全局最优定位自蒸馏(Global Optimal Localization Self-Distillation, GO-LSD)利用最终层的精炼分布预测,将定位知识蒸馏到更浅的层中,如图3所示。该过程首先对每一层的预测应用匈牙利匹配(Hungarian Matching),以识别模型每个阶段的局部边界框匹配。为了执行全局优化,GO-LSD 将所有层的匹配索引聚合到一个统一的联合集合中。这个联合集结合了各层中最准确的候选预测,确保它们都能从蒸馏过程中受益。除了改进全局匹配外,GO-LSD 还在训练期间优化未匹配的预测,以提高整体稳定性,从而提升整体性能。尽管通过这个联合集优化了定位,分类任务仍然遵循一对一匹配原则,确保没有冗余的边界框。这种严格的匹配意味着联合集中的一些预测虽然定位良好但置信度分数较低。这些低置信度预测通常代表具有精确定位的候选对象,但仍需有效蒸馏。

为了解决这个问题,我们引入了去耦蒸馏焦点损失(Decoupled Distillation Focal Loss, DDF Loss),它应用去耦加权策略,确保高IoU但低置信度的预测得到适当的权重。DDF 损失还根据匹配和未匹配预测的数量进行加权,平衡它们的整体贡献和个人损失。这种方法导致更稳定和有效的蒸馏。去耦蒸馏焦点损失 的公式为:

5 实验

5.1 实验设置

为了验证我们提出的方法的有效性,我们在COCO和Objects365数据集上进行了实验。我们使用标准的COCO度量来评估我们的D-FINE,包括在IoU阈值从0.50到0.95之间的平均精度(Average Precision, AP),以及特定阈值下的AP(AP50和AP75),还有不同目标尺度下的AP:小目标(APS)、中等目标(APM)和大目标(APL)。此外,我们通过报告参数数量(#Params.)、计算成本(GFLOPs)和端到端延迟来提供模型效率的度量。延迟是在NVIDIA T4 GPU上使用TensorRT FP16测量的。

5.2 与实时检测器的比较

表1提供了D-FINE与多种实时目标检测器在COCO val2017上的全面比较。D-FINE在多个度量上实现了效率和准确性的优秀平衡。具体来说,D-FINE-L达到了31M参数和91 GFLOPs下的AP为54.0%,同时保持了8.07毫秒的低延迟。此外,D-FINE-X在62M参数和202 GFLOPs下实现了55.8%的AP,运行延迟为12.89毫秒。

如图1所示,该图展示了延迟与AP、参数数量与AP以及FLOPs与AP的散点图,D-FINE在所有关键维度上始终优于其他最先进模型。D-FINE-L相比YOLOv10-L(53.2%)、RTDETR-R50(53.1%)和LW-DETR-X(53.0%),在实现更高AP(54.0%)的同时,需要更少的计算资源(91 GFLOPs对比120、136和174)。同样地,D-FINE-X通过实现更高的性能(55.8% AP对比54.4%和54.3%)并在参数数量、GFLOPs和延迟方面表现出更大的效率,超过了YOLOv10-X和RT-DETR-R101。

我们进一步在Objects365数据集上预训练D-FINE和YOLOv10,然后再在COCO上进行微调。预训练后,D-FINE-L和D-FINE-X都表现出了显著的性能提升,分别达到了57.1%和59.3%的AP。这些改进使它们比YOLOv10-L和YOLOv10-X分别高出3.1%和4.4%的AP,从而成为本次比较中的顶级模型。更重要的是,遵循YOLOv8的预训练协议,YOLOv10在Objects365上进行了300个epoch的预训练。相比之下,D-FINE仅需21个epoch就能实现其显著的性能增益。这些发现证实了LW-DETR的结论,即基于DETR的模型从预训练中受益远超其他。

5.3 在各种DETR模型上的有效性

表2展示了我们提出的FDR和GO-LSD方法在COCO val2017上对多个基于DETR的目标检测器的有效性。我们的方法设计具有灵活性,可以无缝集成到任何DETR架构中,在不增加参数数量和计算负担的情况下显著提升性能。将FDR和GO-LSD结合到可变形DETR(Deformable DETR)、DAD-DETR、DN-DETR以及DINO中,可以一致地提高检测精度,精度增益范围从2.0%到5.3%。这些结果突显了FDR和GO-LSD在增强定位精度和最大化效率方面的有效性,证明了它们的适应性和在各种端到端检测框架中的重大影响。

5.4 消融研究

5.4.1 通往D-FINE的道路图

表3展示了从基线模型(RT-DETR-HGNetv2-L)到我们提出的D-FINE框架的逐步进展。从基线指标开始:AP为53.0%,参数量为32M,GFLOPs为110,延迟为9.25 ms,我们首先移除了所有的解码器投影层。这一修改使得GFLOPs减少到97,并将延迟缩短至8.02 ms,尽管AP下降到了52.4%。为了应对这一下降,我们引入了目标门控层(Target Gating Layer),它仅以微小的计算成本增加就恢复了AP至52.8%。

目标门控层被战略性地放置在解码器的交叉注意力模块之后,替代了残差连接。它允许查询在各层之间动态切换其对不同目标的关注,有效防止信息纠缠。该机制的工作原理如下:

其中,x1表示之前的查询,而x2是交叉注意力的结果。σ是应用于连接输出的sigmoid激活函数,而[.]表示连接操作。

接下来,我们用GELAN层替换了编码器中的CSP层。这一替换将AP提高到了53.5%,但也增加了参数数量、GFLOPs和延迟。为了缓解增加的复杂性,我们减少了GELAN的隐藏维度,这在保持模型复杂性和AP处于52.8%的同时提高了效率。我们进一步通过在不同尺度上实施不均匀采样(S: 3, M: 6, L: 3)来优化采样点,这使得AP略微提升至52.9%。然而,其他采样组合如(S: 6, M: 3, L: 3)和(S: 3, M: 3, L: 6)导致了0.1% AP的小幅性能下降。采用RT-DETRv2训练策略可以在不影响参数数量或延迟的情况下将AP提升到53.0%。最后,集成FDR和GO-LSD模块将AP提升到了54.0%,与基线模型相比,实现了13%的延迟减少和17%的GFLOPs减少。这些逐步的修改展示了我们D-FINE框架的稳健性和有效性。

5.4.2 超参数敏感性分析

在5.4.1节中,我们展示了部分超参数消融研究,评估了模型对FDR和GO-LSD模块中关键参数的敏感性。我们检查了权重函数参数a和c、分布箱的数量N,以及用于KL散度中平滑logits的温度T。

(1) 设置a = 1/2 和 c = 1/4 可以获得最高的AP值53.3%。值得注意的是,将a和c作为可学习参数 会略微降低AP至53.1%,这表明固定值可以简化优化过程。当c非常大时,权重函数近似于等间隔的线性函数,导致AP为次优的53.0%。此外,a的值过大或过小都会减少精细度或限制灵活性,从而不利地影响定位精度。

(2) 增加分布箱的数量可以改善性能,在N = 32时达到最大AP值53.7%。超过N = 32后,没有观察到显著的增益。

(3) 温度T控制了蒸馏过程中logits的平滑程度。在T = 5时达到了最优的AP 54.0%,这表明在软化分布与保持有效的知识传递之间找到了平衡。

5.4.3 蒸馏方法的比较

在5.4.1节中,根据性能、训练时间和GPU内存使用情况比较了不同的蒸馏方法。基线模型达到了53.0%的AP,每个epoch的训练时间为29分钟,在四个NVIDIA RTX 4090 GPU上的内存使用量为8552 MB。由于DETR中一对一匹配的不稳定性,传统的蒸馏技术如Logit Mimicking(逻辑模仿)和Feature Imitation(特征模仿)未能提升性能;其中,Logit Mimicking将AP降低到了52.6%,而Feature Imitation则达到了52.9%。加入我们的FDR模块后,AP增加到了53.8%,且几乎没有额外的训练成本。应用vanilla Localization Distillation进一步将AP提高到53.7%。我们的GO-LSD方法实现了最高的AP 54.5%,与基线相比,训练时间仅增加了6%,内存使用量上升了2%。值得注意的是,本次比较未应用任何轻量化优化,纯粹专注于蒸馏性能。

5.5 可视化分析

图4展示了FDR模块在不同检测场景中的工作过程。我们通过叠加在图像上的两个边界框显示过滤后的检测结果。红色框表示来自第一个解码层的初始预测,而绿色框则表示来自最终解码层的精化预测。最终的预测与目标对象更加吻合。在图像下方的第一行展示了四个边缘(左、上、右、下)的未加权概率分布。第二行则展示了应用了权重函数W(n)后的加权分布。红色曲线代表初始分布,而绿色曲线则显示了最终的、经过精化的分布。加权分布强调了对准确预测附近的细微调整,并允许对较大调整进行快速变化,进一步说明了FDR如何精化初始边界框的偏移,从而实现越来越精确的定位。

6 结论

在本文中,我们介绍了D-FINE,这是一种强大的实时物体检测器,它通过细粒度分布精化(Fine-grained Distribution Refinement, FDR)和全局最优定位自蒸馏(Global Optimal Localization Self-Distillation, GO-LSD)重新定义了DETR模型中的边界框回归任务。在COCO数据集上的实验结果表明,D-FINE实现了最先进的准确性和效率,超越了所有现有的实时检测器。

局限性与未来工作:然而,较轻量的D-FINE模型与其他紧凑模型之间的性能差距仍然较小。一个可能的原因是浅层解码器层可能会产生不够准确的最终层预测,限制了将定位知识蒸馏到更早层的有效性。解决这一挑战需要增强较轻量模型的定位能力而不增加推理延迟。未来的研究可以探索高级架构设计或新颖的训练范式,这些方法允许在训练期间包含额外复杂的解码器层,而在测试时通过简单地舍弃它们来保持轻量级推理。我们希望D-FINE能激发该领域的进一步发展。


END

论文链接:https://arxiv.org/abs/2410.13842







请到「今天看啥」查看全文