当前位置: 首页 > news >正文

D-FiNE:在DETR模型中重新定义回归任务为精细粒度分布细化

摘要

https://arxiv.org/pdf/2410.13842
我们提出了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%的平均精度( A P AP AP)。当在Objects365上进行预训练时,D-FINE-L/X达到了57.1%/59.3%的 A P AP AP,超越了所有现有的实时检测器。此外,我们的方法通过极少的额外参数和训练成本,将多种DETR模型的性能显著提升了高达5.3%的 A P AP AP。我们的代码和预训练模型:https://github.com/Peterande/D-FINE
在这里插入图片描述

1 引言

实时目标检测在各种应用中的需求日益增长(Arani等人,2022)。最具影响力的实时检测器之一是YOLO系列(Redmon等人,2016a;Wang等人,2023a;b;Glenn,2023;Wang和Liao,2024;Wang等人,2024a;Glenn,2024),因其高效性和强大的社区生态系统而广受认可。作为强有力的竞争对手,检测Transformer(Detection Transformer,DETR)(Carion等人,2020;Zhu等人,2020;Liu等人,2021;Li等人,2022;Zhang等人,2022)由于其基于Transformer的架构,具有独特的优势,该架构允许进行全局上下文建模和直接集合预测,而无需依赖非极大值抑制(Non-Maximum Suppression,NMS)和锚框。然而,它们常常受到高延迟和计算需求的限制(Zhu等人,2020;Liu等人,2021;Li等人,2022;Zhang等人,2022)。RT-DETR(Zhao等人,2024)通过开发实时变体解决了这些限制,为YOLO检测器提供了端到端的替代方案。此外,LW-DETR(Chen等人,2024)表明,DETR在大型数据集(如Objects365(Shao等人,2019))上进行训练时,可以达到比YOLO更高的性能上限。
尽管实时目标检测取得了实质性进展,但几个未解决的问题仍继续限制检测器的性能。一个关键挑战是边界框回归的公式化。大多数检测器通过回归固定坐标来预测边界框,将边界视为由狄拉克δ分布(Dirac delta distributions)建模的精确值(Liu等人,2016;Ren等人,2015;Tian等人,2019;Lyu等人,2022)。虽然这种方法简单直接,但它无法对定位不确定性进行建模。因此,模型只能使用L1损失和交并比(Intersection over Union,IoU)损失,这些损失在独立调整每条边界时提供的指导不足(Girshick,2015)。这使得优化过程对小的坐标变化敏感,导致收敛缓慢和性能不佳。尽管像GFocal(Li等人,2020;2021)这样的方法通过概率分布解决了不确定性问题,但它们仍然受到锚框依赖、粗略定位和缺乏迭代细化的限制。另一个挑战在于最大化实时检测器的效率,这些检测器受到有限计算和参数预算的限制以保持速度。知识蒸馏(Knowledge Distillation,KD)是一种有前景的解决方案,它将知识从较大的教师模型转移到较小的学生模型,以提高性能而不增加成本(Hinton等人,2015)。然而,传统的KD方法,如对数几率模仿(Logit Mimicking)和特征模仿(Feature Imitation),已被证明在检测任务中效率低下,甚至可能导致最先进模型的性能下降(Zheng等人,2022)。相比之下,定位蒸馏(Localization Distillation,LD)在检测中表现出了更好的结果。然而,由于训练开销大且与无锚框检测器不兼容,集成LD仍然具有挑战性。
为了解决这些问题,我们提出了D-FINE,这是一种新型的实时目标检测器,它重新定义了边界框回归,并引入了一种有效的自蒸馏策略。我们的方法解决了固定坐标回归中难以优化的问题、无法对定位不确定性进行建模的问题,以及需要以较少训练成本进行有效蒸馏的问题。我们引入了精细粒度分布细化(FDR),将边界框回归从预测固定坐标转变为建模概率分布,提供了更精细粒度的中间表示。FDR以残差方式迭代细化这些分布,允许进行逐渐更精细的调整,并提高定位精度。认识到较深层通过在其概率分布中捕获更丰富的定位信息来产生更准确的预测,我们引入了全局最优定位自蒸馏(GO-LSD)。GO-LSD以极少的额外训练成本将定位知识从较深层转移到较浅层。通过使较浅层的预测与后续层细化后的输出对齐,模型学会了进行更好的早期调整,加速了收敛并提高了整体性能。此外,我们简化了现有实时DETR架构(Zhao等人,2024;Chen等人,2024)中计算密集型的模块和操作,使D-FINE更快、更轻量。虽然这些修改通常会导致性能下降,但FDR和GO-LSD有效地减轻了这种退化,在速度和精度之间实现了更好的平衡。
在COCO数据集(Lin等人,2014a)上的实验结果表明,D-FINE在实时目标检测中实现了最先进的性能,在准确性和效率上都超越了现有模型。D-FINE-L和D-FINE-X在COCO val2017上分别实现了54.0%和55.8%的 A P AP AP,在NVIDIA T4 GPU上运行速度分别为124 FPS和78 FPS。在Objects365等大型数据集上进行预训练后,D-FINE系列达到了高达59.3%的 A P AP AP,超越了所有现有的实时检测器,展示了其可扩展性和鲁棒性。此外,我们的方法通过极少的额外参数和训练成本,将多种DETR模型的性能提升了高达5.3%的 A P AP AP,证明了其灵活性和泛化能力。总之,D-FINE推动了实时检测器的性能边界。通过FDR和GO-LSD解决边界框回归和蒸馏效率中的关键挑战,我们在目标检测领域迈出了有意义的一步,激发了该领域的进一步探索。

2 相关工作

实时/端到端目标检测器。YOLO系列在实时目标检测领域一直处于领先地位,其通过架构、数据增强和训练技术等方面的创新不断发展(Redmon等人,2016a;Wang等人,2023a;b;Glenn,2023;Wang和Liao,2024;Glenn,2024)。虽然YOLO系列效率较高,但通常依赖非极大值抑制(Non-Maximum Suppression,NMS),这会在速度和准确性之间引入延迟和不稳定因素。DETR(Carion等人,2020)通过消除对NMS和锚框等手工设计组件的需求,革新了目标检测。传统的DETR(Zhu等人,2020;Meng等人,2021;Zhang等人,2022;Wang等人,2022;Liu等人,2021;Li等人,2022;Chen等人,2022a;c)取得了出色的性能,但计算需求高,不适合实时应用。最近,RTDETR(Zhao等人,2024)和LW-DETR(Chen等人,2024)成功地将DETR应用于实时场景。与此同时,YOLOv10(Wang等人,2024a)也消除了对NMS的需求,标志着YOLO系列朝着端到端检测迈出了重要一步。
基于分布的目标检测。传统的边界框回归方法(Redmon等人,2016b;Liu等人,2016;Ren等人,2015)依赖于狄拉克δ分布,将边界框的边视为精确且固定的,这使得对定位不确定性进行建模变得具有挑战性。为了解决这个问题,最近的模型采用了高斯分布或离散分布来表示边界框(Choi等人,2019;Li等人,2020;Qiu等人,2020;Li等人,2021),增强了对不确定性的建模能力。然而,这些方法都依赖于基于锚框的框架,这限制了它们与现代无锚框检测器(如YOLOX(Ge等人,2021)和DETR(Carion等人,2020))的兼容性。此外,它们的分布表示通常是粗粒度的,并且缺乏有效的细化,这阻碍了它们实现更准确预测的能力。
知识蒸馏。知识蒸馏(Knowledge Distillation,KD)(Hinton等人,2015)是一种强大的模型压缩技术。传统的KD通常侧重于通过对数几率模仿(Logit Mimicking)来传递知识(Zagoruyko和Komodakis,2017;Mirzadeh等人,2020;Son等人,2021)。FitNets(Romero等人,2015)首次提出了特征模仿(Feature Imitation),这启发了一系列后续工作进一步扩展了这一想法(Chen等人,2017;Dai等人,2021;Guo等人,2021;Li等人,2017;Wang等人,2019)。大多数针对DETR的方法(Chang等人,2023;Wang等人,2024b)结合了对数几率和各种中间表示的混合蒸馏。最近,定位蒸馏(Localization Distillation,LD)(Zheng等人,2022)表明,传递定位知识对检测任务更有效。自蒸馏(Self-distillation)(Zhang等人,2019;2021)是KD的一种特殊情况,它使较早的层能够从模型自身细化后的输出中学习,由于无需单独训练教师模型,因此所需的额外训练成本要少得多。

3 预备知识

目标检测中的边界框回归传统上依赖于对狄拉克δ分布进行建模,可以采用基于质心的 { x , y , w , h } \{x,y,w,h\} {x,y,w,h}形式或基于边距的 { c , d } \{\mathbf{c},\mathbf{d}\} {c,d}形式,其中距离 d = { t , b , l , r } \mathbf{d}=\{t,b,l,r\} d={t,b,l,r}是从锚点 c = ⌣ { x c , y c } \mathbf{c}\stackrel{\smile}{=}\{x_{c},y_{c}\} c={xc,yc}测量得到的。然而,狄拉克δ分布假设将边界框的边视为精确且固定的,这使得对定位不确定性进行建模变得困难,尤其是在存在歧义的情况下。这种僵化的表示不仅限制了优化,而且还会导致小的预测偏移出现较大的定位误差。
为了解决这些问题,GFocal(Li等人,2020;2021)使用离散概率分布回归从锚点到四个边的距离,为边界框提供了更灵活的建模方式。在实践中,边界框距离 d = { t , b , l , r } \mathbf{d}=\{t,b,l,r\} d={t,b,l,r}建模为:
d = d max ⁡ ∑ n = 0 N n N P ( n ) , \mathbf{d}=d_{\operatorname*{m a x}}\sum_{n=0}^{N}\frac{n}{N}\mathbf{P}(n), d=dmaxn=0NNnP(n),
其中 d m a x d_{\mathrm{m a x}} dmax是一个标量,用于限制从锚点中心到边界框边的最大距离, P ( n ) \mathbf{P}(n) P(n)表示四个边每个候选距离的概率。虽然GFocal通过概率分布在处理歧义和不确定性方面向前迈进了一步,但其回归方法仍存在一些特定挑战:(1)依赖锚框:回归与锚框中心相关联,限制了预测的多样性以及与无锚框框架的兼容性。(2)无迭代细化:预测是一次性完成的,没有进行迭代细化,降低了回归的鲁棒性。
(3)定位粗略:固定的距离范围和均匀的区间划分可能导致定位粗略,尤其是对于小目标,因为每个区间代表的可能值范围较宽。
定位蒸馏(LD)是一种有前景的方法,表明传递定位知识对检测任务更有效(Zheng等人,2022)。基于GFocal,它通过从教师模型中蒸馏有价值的定位知识来增强学生模型,而不是简单地模仿分类对数几率或特征图。尽管该方法具有优势,但仍依赖于基于锚框的架构,并且会产生额外的训练成本。

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架构(Zhao等人,2024)中计算密集的模块和操作,使D-FINE更快、更轻量。尽管这些修改通常会导致一些性能损失,但FDR和 G O − L S D ˉ \mathrm{G O-}\mathrm{L}\bar{\mathrm{S D}} GOLSDˉ有效地减轻了这种退化。详细修改列于表3。

4.1 细粒度分布细化

细粒度分布细化(FDR)对解码器层生成的细粒度分布进行迭代优化,如图2所示。最初,第一个解码器层通过传统的边界框回归头和D-FINE头(两个头都是多层感知器,只是输出维度不同)预测初步边界框和初步概率分布。每个边界框与四个分布相关联,每个边缘一个分布。初始边界框作为参考框,后续层通过以残差方式调整分布来专注于细化它们。然后,将精炼后的分布应用于调整相应初始边界框的四条边缘,通过每次迭代逐步提高其精度。

从数学上讲,设 b 0 = { x , y , W , H } \mathbf{b}^{0}=\{x,y,W,H\} b0={x,y,W,H}表示初始边界框预测,其中 { x , y } \{x,y\} {x,y}表示预测的边界框中心, { W , H } \{W,H\} {W,H}表示框的宽度和高度。然后,我们可以将 b 0 \mathbf{b}^{0} b0转换为中心坐标 c 0 ˘ = { x , y } \mathbf{c}^{\breve{0}}=\{x,y\} c0˘={x,y}和边缘距离 d 0 = { t , b , l , r } {\bf d}^{0}=\{t,b,l,r\} d0={t,b,l,r},它们分别表示从中心到顶部、底部、左侧和右侧边缘的距离。对于第 l l l层,精炼后的边缘距离 d l = { t l , b l , l l , r l } \mathbf{d}^{l}=\{t^{l},b^{l},l^{l},r^{l}\} dl={tl,bl,ll,rl}计算如下:

d l = d 0 + { H , H , W , W } ⋅ ∑ n = 0 N W ( n ) P r l ( n ) , l ∈ { 1 , 2 , … , L } , \mathbf{d}^{l}=\mathbf{d}^{0}+\{H,H,W,W\}\cdot\sum_{n=0}^{N}W(n)\mathbf{P r}^{l}(n),\quad l\in\{1,2,\ldots,L\}, dl=d0+{H,H,W,W}n=0NW(n)Prl(n),l{1,2,,L},

其中 P r l ( n ) = { P r t l ( n ) , P r b l ( n ) , P r l l ( n ) , P r r l ( n ) } \mathbf{P r}^{l}(n)=\{\mathrm{P r}_{t}^{l}(n),\mathrm{P r}_{b}^{l}(n),\mathrm{P r}_{l}^{l}(n),\mathrm{P r}_{r}^{l}(n)\} Prl(n)={Prtl(n),Prbl(n),Prll(n),Prrl(n)}表示四个独立的分布,每个边缘一个分布。每个分布预测对应边缘候选偏移值的似然。这些候选值由加权函数 W ( n ) W(n) W(n)确定,其中 n n n索引 N N N个离散区间中的一个,每个区间对应一个潜在的边缘偏移。分布的加权和产生边缘偏移。然后,这些边缘偏移按初始边界框的高度 H H H和宽度 W W W进行缩放,以确保调整与框的大小成比例。

Image
图2:带有FDR的D-FINE概述。作为更细粒度中间表示的概率分布由解码器层以残差方式迭代细化。应用非均匀加权函数以实现更精细的定位。

精炼分布使用残差调整进行更新,定义如下:

P r l ( n ) = Softmax ⁡ ( l o g i t s l ( n ) ) = Softmax ⁡ ( Δ l o g i t s l ( n ) + l o g i t s l − 1 ( n ) ) , \mathbf{P r}^{l}(n)=\operatorname{S o f t m a x}\left(\mathit{l o g i t s}^{l}(n)\right)=\operatorname{S o f t m a x}\left(\Delta\mathit{l o g i t s}^{l}(n)+\mathit{l o g i t s}^{l-1}(n)\right), Prl(n)=Softmax(logitsl(n))=Softmax(Δlogitsl(n)+logitsl1(n)),

其中来自前一层 l o g i t s l − 1 ( n ) l o g i t s^{l-1}(n) logitsl1(n)的对数几率反映了四个边缘每个区间偏移值的置信度。当前层预测残差对数几率 Δ l o g i t s l ( n ) \Delta\mathit{l o g i t s}^{l}(n) Δlogitsl(n),将其添加到前一层对数几率中以形成更新后的对数几率 l o g i t s l ( n ) \mathit{l o g i t s}^{l}(n) logitsl(n)。然后,使用softmax函数对这些更新后的对数几率进行归一化,产生精炼后的概率分布。

为了促进精确和灵活的调整,加权函数 W ( n ) W(n) W(n)定义如下:

W ( n ) = { 2 ⋅ W ( 1 ) = − 2 a n = 0 c − c ( a c + 1 ) N − 2 n N − 2 1 ≤ n < N 2 − c + c ( a c + 1 ) − N + 2 n N − 2 N 2 ≤ n ≤ N − 1 2 ⋅ W ( N − 1 ) = 2 a n = N , W(n)=\left\{\begin{aligned}&2\cdot W(1)=-2a&n=0\\ &c-c\left(\frac{a}{c}+1\right)^{\frac{N-2n}{N-2}}&1\leq n<\frac{N}{2}\\ &-c+c\left(\frac{a}{c}+1\right)^{\frac{-N+2n}{N-2}}&\frac{N}{2}\leq n\leq N-1\\ &2\cdot W(N-1)=2a&n=N,\end{aligned}\right. W(n)= 2W(1)=2acc(ca+1)N2N2nc+c(ca+1)N2N+2n2W(N1)=2an=01n<2N2NnN1n=N,

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

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

L F G L = ∑ l = 1 L ( ∑ k = 1 K I o U k ( ω ← ⋅ C E ( P r l ( n ) k , n ← ) + ω → ⋅ C E ( P r l ( n ) k , n → ) ) ) ω ← = ∣ ϕ − W ( n → ) ∣ ∣ W ( n ← ) − W ( n → ) ∣ , ω → = ∣ ϕ − W ( n ← ) ∣ ∣ W ( n ← ) − W ( n → ) ∣ , \begin{aligned}\mathcal{L}_{\mathrm{FGL}}=\sum_{l=1}^{L}\left(\sum_{k=1}^{K}\mathrm{IoU}_{k}\left(\omega_{\leftarrow}\cdot\mathbf{CE}\left(\mathbf{Pr}^{l}(n)_{k},n_{\leftarrow}\right)+\omega_{\rightarrow}\cdot\mathbf{CE}\left(\mathbf{Pr}^{l}(n)_{k},n_{\rightarrow}\right)\right)\right)\\\omega_{\leftarrow}=\frac{\left|\phi-W(n_{\rightarrow})\right|}{\left|W(n_{\leftarrow})-W(n_{\rightarrow})\right|},\quad\omega_{\rightarrow}=\frac{\left|\phi-W(n_{\leftarrow})\right|}{\left|W(n_{\leftarrow})-W(n_{\rightarrow})\right|},\end{aligned} LFGL=l=1L(k=1KIoUk(ωCE(Prl(n)k,n)+ωCE(Prl(n)k,n)))ω=W(n)W(n)ϕW(n),ω=W(n)W(n)ϕW(n),

其中 P r l ( n ) k \mathbf{P r}^{l}(n)_{k} Prl(n)k表示与第 k k k个预测相对应的概率分布。 ϕ \phi ϕ是相对偏移,计算为 ϕ = , ( d G T − d 0 ˙ ) / { H , H , W , W } \phi\stackrel{\mathrm{,}}{=}(\mathbf{d}^{G T}\dot{-\mathbf{d}^{0}})/\{H,H,W,W\} ϕ=,(dGTd0˙)/{H,H,W,W} d ˉ G T \mathbf{\bar{d}}^{G T} dˉGT表示真实边缘距离, n ← , n → n_{\leftarrow},n_{\rightarrow} n,n ϕ \phi ϕ相邻的区间索引。带有权重 ω ← \omega_{\leftarrow} ω ω → \omega_{\rightarrow} ω的交叉熵(CE)损失确保区间之间的插值与真实偏移精确对齐。通过纳入基于IoU的加权,FGL损失鼓励不确定性较低的分布更加集中,从而实现更精确和可靠的边界框回归。

Image
图3:GO-LSD过程概述。通过具有解耦加权策略的DDF损失,将最后一层精炼分布中的定位知识蒸馏到较浅的层中。

4.2 全局最优定位自蒸馏

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

为了解决这个问题,我们引入了解耦蒸馏焦点(Decoupled Distillation Focal,DDF)损失,该损失应用解耦加权策略以确保高IoU但低置信度的预测得到适当的权重。DDF损失还根据匹配和未匹配预测的数量对它们进行加权,平衡它们的整体贡献和个体损失。这种方法实现了更稳定和有效的蒸馏。解耦蒸馏焦点损失 L D D F \mathcal{L}_{\mathrm{D D F}} LDDF公式如下:

L DDF ⁡ = T 2 ∑ l = 1 L − 1 ( ∑ k = 1 K m α k ⋅ K L ⁡ ( P r ⁡ l ( n ) k , P r ⁡ L ( n ) k ) + ∑ k = 1 K u β k ⋅ K L ⁡ ( P r ⁡ l ( n ) k , P r ⁡ L ( n ) k ) ) α k = IoU ⁡ k ⋅ K m K m + K u , β k = Conf ⁡ k ⋅ K u K m + K u , \begin{aligned}{\mathcal{L}_{\operatorname{D D F}}=T^{2}\sum_{l=1}^{L-1}\left(\sum_{k=1}^{K_{m}}\alpha_{k}\cdot\operatorname{\mathbf{K L}}\left(\operatorname{\mathbf{P r}}^{l}(n)_{k},\operatorname{\mathbf{P r}}^{L}(n)_{k}\right)+\sum_{k=1}^{K_{u}}\beta_{k}\cdot\operatorname{\mathbf{K L}}\left(\operatorname{\mathbf{P r}}^{l}(n)_{k},\operatorname{\mathbf{P r}}^{L}(n)_{k}\right)\right)}\\ {\alpha_{k}=\operatorname{I o U}_{k}\cdot\frac{\sqrt{K_{m}}}{\sqrt{K_{m}}+\sqrt{K_{u}}},\quad\beta_{k}=\operatorname{C o n f}_{k}\cdot\frac{\sqrt{K_{u}}}{\sqrt{K_{m}}+\sqrt{K_{u}}},}\\ \end{aligned} LDDF=T2l=1L1(k=1KmαkKL(Prl(n)k,PrL(n)k)+k=1KuβkKL(Prl(n)k,PrL(n)k))αk=IoUkKm +Ku Km ,βk=ConfkKm +Ku Ku ,

其中KL表示Kullback-Leibler散度(Hinton等人,2015), T T T是用于平滑对数几率的温度参数。第 k k k个匹配预测的蒸馏损失由 α k \alpha_{k} αk加权,其中 K m K_{m} Km K u K_{u} Ku分别是匹配和未匹配预测的数量。对于第 k k k个未匹配预测,权重为 β k \beta_{k} βk,其中 Conf k \text{Conf}_{k} Confk表示分类置信度。

5 实验

5.1 实验设置

为验证所提方法的有效性,我们在COCO(Lin等人,2014a)和Objects365(Shao等人,2019)数据集上进行了实验。我们使用标准的COCO指标评估D-FINE,包括在0.50到0.95的IoU阈值上取平均的平均精度 ( A P ) (\mathrm{A P}) (AP),以及特定阈值下的 A P \mathrm{A P} AP A P 50 \mathrm{A P_{50}} AP50 A P 75 \mathrm{A P_{75}} AP75)和不同物体尺度下的 A P \mathrm{A P} AP:小物体 ( A P S ) (\mathbf{A P}_{S}) (APS)、中物体 ( A P M ) (\mathbf{A}\mathbf{P}_{M}) (APM)和大物体 ( A P L ) (\mathrm{A P}_{L}) (APL)。此外,我们还通过报告参数数量(#Params.)、计算成本(GFLOPs)和端到端延迟来提供模型效率指标。延迟是在NVIDIA T4 GPU上使用TensorRT FP16测量的。

★:非极大值抑制(NMS)的置信度阈值调整为0.01。

5.2 与实时检测器的比较

表1提供了D-FINE与COCO val2017上各种实时目标检测器的全面比较。D-FINE在多个指标上实现了效率与精度的出色平衡。具体而言,D-FINE-L在31M参数和91 GFLOPs的情况下达到了54.0%的 A P \mathrm{A P} AP,延迟仅为8.07毫秒。此外,D-FINE-X在62M参数和202 GFLOPs的情况下达到了55.8%的 A P \mathrm{A P} AP,延迟为12.89毫秒。
如图1所示,该图展示了延迟与 A P \mathrm{A P} AP、参数数量与 A P \mathrm{A P} AP以及FLOPs与 A P \mathrm{A P} AP的散点图,D-FINE在所有关键维度上始终优于其他最先进的模型。与YOLOv10-L(53.2%)、RTDETR-R50(53.1%)和LW-DETR-X(53.0%)相比,D-FINE-L达到了更高的 A P \mathrm{A P} AP(54.0%),同时所需的计算资源更少(91GFLOPs vs. 120、136和174)。同样,D-FINE-X通过实现卓越的性能(55.8% A P \mathrm{A P} AP vs. 54.4%和54.3%)并在参数数量、GFLOPs和延迟方面表现出更高的效率,超越了YOLOv10-X和RT-DETR-R101。
我们在Objects365数据集(Shao等人,2019)上对D-FINE和 Y O L O v 10 \mathrm{Y O L O v}10 YOLOv10进行了预训练,然后在COCO上进行了微调。预训练后,D-FINE-L和D-FINE-X的性能显著提升,分别达到了57.1%和59.3%的 A P \mathrm{A P} AP。这些提升使它们比YOLOv10-L和YOLOv10-X分别高出了3.1%和4.4%的 A P \mathrm{A P} AP,从而成为本次比较中性能最优的模型。此外,按照YOLOv8(Glenn,2023)的预训练协议,YOLOv10在Objects365上进行了300个epoch的预训练。相比之下,D-FINE仅需21个epoch即可实现显著的性能提升。这些发现证实了LW-DETR(Chen等人,2024)的结论,即与YOLO等其他检测器相比,基于DETR的模型从预训练中获益更多。

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

表2展示了在COCO val2017上,我们提出的FDR和GO-LSD方法在多个基于DETR的目标检测器上的有效性。我们的方法设计灵活,可以无缝集成到任何DETR架构中,显著提高性能,同时不增加参数数量和计算负担。将FDR和GO-LSD集成到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(Zhao等人,2024))到我们提出的D-FINE框架的逐步演进。从基线指标(53.0% A P \mathrm{A P} AP、32M参数、110 GFLOPs和9.25毫秒延迟)开始,我们首先移除了所有解码器投影层。这一修改将GFLOPs降低到97,延迟降低到8.02毫秒,尽管 A P \mathrm{A P} AP降低到了52.4%。为了解决这一下降,我们引入了目标门控层,该层在几乎不增加计算成本的情况下将 A P \mathrm{A P} AP恢复到了52.8%。
目标门控层战略性地放置在解码器的交叉注意力模块之后,取代了残差连接。它允许查询在不同层上动态切换对不同目标的关注,有效防止了信息纠缠。其机制如下:
x = σ ( [ x 1 , x 2 ] W T + b ) 1 ⋅ x 1 + σ ( [ x 1 , x 2 ] W T + b ) 2 ⋅ x 2 \mathbf{x}=\sigma\left(\left[\mathbf{x_{1}},\mathbf{x_{2}}\right]\mathbf{W}^{T}+\mathbf{b}\right)_{1}\cdot\mathbf{x_{1}}+\sigma\left(\left[\mathbf{x_{1}},\mathbf{x_{2}}\right]\mathbf{W}^{T}+\mathbf{b}\right)_{2}\cdot\mathbf{x_{2}} x=σ([x1,x2]WT+b)1x1+σ([x1,x2]WT+b)2x2
其中 x 1 \mathbf{x_{1}} x1表示先前的查询, x 2 \mathbf{x_{2}} x2是交叉注意力的结果。σ是应用于连接输出的sigmoid激活函数,[.]表示连接操作。
接下来,我们将编码器的CSP层替换为GELAN层(Wang & Liao,2024)。这一替换将 A P \mathrm{A P} AP提高到了53.5%,但也增加了参数数量、GFLOPs和延迟。为了减轻复杂性的增加,我们减少了GELAN的隐藏维度,这平衡了模型的

表3:从基线模型到D-FINE的逐步修改。每一步都显示了$\mathrm{A P}$、参数数量、延迟和FLOPs的变化。
模型Apval#参数数延迟(毫秒) GFLOPs
基线:RT-DETR-HGNetv2-L(Zhao等人,2024)53.032M9.25110
移除解码器投影层52.432M8.0297
+ 目标门控层52.833M8.1598
编码器CSP层 → GELAN(Wang & Liao,2024)53.546M10.69167
将GELAN的隐藏维度减半52.831M8.0191
非均匀采样点(S: 3, M: 6, L: 3)52.931M7.9091
RT-DETRv2训练策略(Lv等人,2024)53.031M7.9091
+ FDR53.531M8.0791
+ GO-LSD54.0 (+1.0) 31M (-3%)8.07(-13%)91 (-17%)
表4:D-FINE-L上的超参数消融研究。 是一个非常小的值。(cid:2)$\widetilde{a},$ c表示a和c是可学习的参数。
a,c Apval N52.7 ${\frac{1}{4}},{\frac{1}{4}}$1 1-e 2 21 1 2 $4fra}4}$ , 53.31 1 $\fra2}$ $\frac} {8}$ , 53.2 32
53.0 853.2 6453.1416128
Apval53.353.4 2.553.5 553.753.6
53.253.754.053.853.753.5
表5:不同蒸馏方法在性能、训练时间和GPU内存使用方面的比较。GO-LSD以最小的额外训练成本实现了最高的$\mathrm{A P}^{v a l}$。
方法APval Time/Epoch Memory
基线 Logit Mimicking Feature Imitation53.0 52.6 52.929min 8552M 31min 8554M 31min 8554M
基线 + FDR Localization Distill. GO-LSD53.8 53.7 54.530min 8730M 31min 8734M 31min 8734M
复杂性和$\mathrm{A P}$(52.8%),同时提高了效率。我们进一步通过在不同尺度上实施非均匀采样点(S: 3, M: 6, L: 3)来优化采样点,这略微将$\mathrm{A P}$提高到了52.9%。然而,其他采样组合(如S: 6, M: 3, L:3)和(S: 3, M: 3, L: 6)导致$\mathrm{A P}$下降了0.1%。采用RT-DETRv2训练策略(Lv等人,2024)(详见附录A.1.1)将$\mathrm{A P}$提高到了53.0%,同时不影响参数数量或延迟。最后,集成FDR和GO-LSD模块将$\mathrm{A P}$提高到了54.0%,与基线模型相比,延迟降低了13%,GFLOPs降低了17%。这些增量修改展示了我们的D-FINE框架的鲁棒性和有效性。 #### 5.4.2 超参数敏感性分析 5.4.1节展示了一部分超参数消融研究,评估了我们的模型对FDR和GO-LSD模块中关键参数的敏感性。我们检查了加权函数参数a和$c$、分布区间数量$N$以及在KL散度中用于平滑对数几率的温度$T$。 (1)设置$a={\textstyle{\frac{1}{2}}}\;{\mathrm{a n d}}\;c={\textstyle{\frac{1}{4}}}$时,$\mathrm{A P}$达到了最高的53.3%。值得注意的是,将a和c视为可学习参数(a, )略微将$\mathrm{A P}$降低到了53.1%,这表明固定值简化了优化过程。当c极大时,加权函数近似于具有等间隔的线性函数,导致$\mathrm{A P}$为次优的53.0%。此外,a值过大或过小都可能降低精细度或限制灵活性,对定位精度产生不利影响。(2)增加分布区间数量可以提高性能,在$\breve{N}=32$时达到最高的$\mathrm{A P}$53.7%。超过$N=32$后,没有观察到显著的性能提升。(3)温度$T$控制在蒸馏过程中对数几率的平滑程度。在$T=5$时达到最优的$\mathrm{A P}$54.0%,这表明在软化分布和保留有效的知识传递之间取得了平衡。
图4:FDR在各种检测场景中的可视化,展示了初始和细化的边界框,以及未加权和加权的分布,突显了定位精度的提高。
#### 5.4.3 不同蒸馏方法的比较 5.4.1节根据性能、训练时间和GPU内存使用情况比较了不同的蒸馏方法。基线模型在四个NVIDIA RTX 4090 GPU上实现了53.0%的$\mathrm{A P}$,每个epoch的训练时间为29分钟,内存使用量为8552 MB。由于DETR中一对一匹配的不稳定性,传统的蒸馏技术(如Logit Mimicking和Feature Imitation)并未提高性能;Logit Mimicking将$\mathrm{A P}$降低到了52.6%,而Feature Imitation实现了52.9%。集成我们的FDR模块将$\mathrm{A P}$提高到了53.8%,且几乎不增加训练成本。应用普通的定位蒸馏(Zheng等人,2022)进一步将$\mathrm{A P}$提高到了53.7%。我们的GO-LSD方法实现了最高的$\mathrm{A P}$54.5%,与基线相比,训练时间仅增加了6%,内存使用量仅增加了2%。值得注意的是,本次比较中未应用轻量化优化,仅专注于蒸馏性能。 ### 5.5 可视化分析 图4展示了在不同检测场景下,精细分布细化(FDR)的过程。我们在图像上叠加了两个边界框来展示过滤后的检测结果。红色边界框表示第一个解码器层的初始预测,而绿色边界框表示最后一个解码器层的细化预测。最终预测与目标物体更加吻合。图像下方的第一行展示了四条边(左、上、右、下)的未加权概率分布。第二行展示了加权分布,其中应用了加权函数$W(n)$。红色曲线表示初始分布,而绿色曲线表示最终细化后的分布。加权分布强调了在准确预测附近的精细调整,并允许在较大调整时实现快速变化,进一步说明了FDR如何细化初始边界框的偏移量,从而实现越来越精确的定位。

6 结论

在本文中,我们提出了D-FiNE,这是一款强大的实时目标检测器,它通过精细分布细化(FDR)和全局最优定位自蒸馏(GO-LSD)重新定义了DETR模型中的边界框回归任务。在COCO数据集上的实验结果表明,D-FiNE实现了最先进的准确性和效率,超越了所有现有的实时检测器。局限性与未来工作:然而,较轻量级的D-FiNE模型与其他紧凑型模型之间的性能差距仍然较小。一个可能的原因是浅层解码器层可能产生的最终层预测不够准确,从而限制了将定位知识蒸馏到早期层的有效性。解决这一挑战需要在不增加推理延迟的情况下增强轻量级模型的定位能力。未来的研究可以探索先进的架构设计或新颖的训练范式,允许在训练过程中包含额外的复杂解码器层,同时在测试时通过简单地丢弃它们来保持轻量级推理。我们希望D-FiNE能够激发这一领域的进一步发展。

附录

A.1 实现细节

A.1.1 超参数配置

表6总结了D-FINE模型的超参数配置。所有变体均采用在ImageNet(Cui等人,2021;Russakovsky等人,2015)上预训练的HGNetV2主干网络,并使用AdamW优化器。D-FINE-X的嵌入维度设为384,前馈维度设为2048,而其他模型的嵌入维度和前馈维度分别设为256和1024。D-FINE-X和D-FINE-L有6个解码器层,D-FINE-M和D-FINE-S分别有4个和3个解码器层。GELAN模块从D-FINE-X的192个维度和3层,逐步减少到D-FINE-S的64个维度和1层。D-FINE-X和D-FINE-L的基础学习率和权重衰减分别为 2.5 × 1 0 − 4 2.5\times10^{-4} 2.5×104 1.25 × 1 0 − 4 1.25\times10^{-4} 1.25×104,而D-FINE-M和D-FINE-S则使用 2 × 1 0 − 4 2\times10^{-4} 2×104 1 × 1 0 − 4 1\times10^{-4} 1×104。小型模型的主干网络学习率也高于大型模型。所有变体的总批量大小均为32。训练计划包括72个使用高级增强(RandomPhotometricDistort、RandomZoomOut、RandomIoUCrop和RMultiScaleInput)的epoch,随后是2个不使用高级增强的epoch(适用于D-FINE-X和D-FINE-L),以及120个使用高级增强的epoch,随后是4个不使用高级增强的epoch(适用于D-FINE-M和D-FINE-S)(见表3中的RT-DETRv2训练策略(Lv等人,2024))。D-FINE-X和D-FINE-L模型的预训练epoch数为21,而D-FINE-M和D-FINE-S模型的预训练epoch数在28到29之间。

A.1.2 数据集设置

在预训练阶段,我们遵循(Chen等人,2022b;Zhang等人,2022;Chen等人,2024)中的方法,将Objects365(Shao等人,2019)训练集与验证集(排除前5k张图像)的图像合并。为了提高训练效率,我们事先将所有分辨率超过 640 × 640 640\times640 640×640的图像调整为640 × 640。我们使用标准的COCO2017(Lin等人,2014b)数据划分策略,在COCO train2017上进行训练,并在COCO val2017上进行评估。

A.2 D-FINE预测可视化

图5展示了D-FINE-X模型的鲁棒性,可视化其在各种具有挑战性的场景下的预测结果。这些场景包括遮挡、低光照条件、运动模糊、景深效果、旋转以及物体密集分布的场景。尽管面临这些困难,模型仍能准确识别和定位动物、车辆和人员等物体。该可视化结果突显了模型在处理复杂现实条件的同时保持稳健检测性能的能力。

图5:D-FiNE-X(未在Objects365上预训练)在具有挑战性的条件下的预测可视化,包括遮挡、低光照、运动模糊、景深效果、旋转和物体密集分布的场景(置信度阈值=0.5)。
### A.3 与更轻量级检测器的比较 表7展示了在COCO val2017上,D-FINE模型与各种轻量级实时目标检测器在S和M模型尺寸上的全面比较。D-FINE-S取得了令人印象深刻的48.5%的$\mathrm{A P}$,超过了其他轻量级模型,如Gold-YOLO-S(46.4%)和RT-DETRv2-S(48.1%),同时保持了3.49毫秒的低延迟,仅使用10.2M参数和25.2 GFLOPs。在Objects365上进行预训练后,D-FINE-S的$\mathrm{A P}$进一步提升至50.7%,提高了+2.2%。同样,D-FINE-M在5.62毫秒内达到了52.3%的$\mathrm{A P}$,使用了19.2M参数和56.6GFLOPs,超过了YOLOv10-M(51.1%)和RT-DETRv2-M(49.9%)。在Objects365上进行预训练后,D-FINE-M的$\mathrm{A P}$也持续提升,提高了+2.8%。这些结果表明,D-FINE模型在准确性和效率之间取得了出色的平衡,始终超越其他最先进的轻量级检测器,同时保持了实时性能。 ★:非极大值抑制(NMS)的置信度阈值调整为0.01。 ### A.4 初始层细化说明 在正文中,我们将第$l$层的细化分布定义为: $$\mathbf{P r}^{l}(n)=\operatorname{S o f t m a x}\left(\Delta\mathrm{l o g i t s}^{l}(n)+\mathrm{l o g i t s}^{l-1}(n)\right), $$ 其中,$\Delta\mathrm{l o g i t s}^{l}(n)$是第$l$层预测的残差对数几率,$\mathrm{l o g i t s}^{l-1}(n)$是前一层的对数几率。 对于初始层($l=1$),由于没有前一层,公式简化为: $$\mathbf{P r}^{1}(n)=\operatorname{\mathsf{S o f t m a x}}\left(\operatorname{l o g i t s}^{1}(n)\right). $$ 其中,$\mathrm{l o g i t s}^{1}(n)$是第一层预测的对数几率。 这一说明确保了所有层的公式都是一致且数学上严谨的。

相关文章:

  • MySQL数据库的增删改查
  • SpringCloud系列(41)--SpringCloud Config分布式配置中心简介
  • 模拟多维物理过程与基于云的数值分析-AI云计算数值分析和代码验证
  • CppCon 2017 学习:The Asynchronous C++ Parallel Programming Model
  • 在线之家官网入口 - 免费高清海外影视在线观看平台
  • STM32之28BYJ-48步进电机驱动
  • 思二勋:算法稳定币的发展在于生态场景、用户和资产的丰富性
  • 打造地基: App拉起基础小程序容器
  • 大事件项目记录12-文章管理接口开发-总
  • 现代 JavaScript (ES6+) 入门到实战(一):告别 var!拥抱 let 与 const,彻底搞懂作用域
  • Spark Web UI从0到1详解
  • SpringSecurity6-授权-动态权限
  • (NIPS-2024)CogVLM:预训练语言模型的视觉专家
  • 大事件项目记录13-接口开发-补充
  • 深入剖析 Linux 内核网络核心:sock.c 源码解析
  • 现代 JavaScript (ES6+) 入门到实战(四):数组的革命 map/filter/reduce - 告别 for 循环
  • 数据挖掘、机器学习与人工智能:概念辨析与应用边界
  • 设计模式精讲 Day 18:备忘录模式(Memento Pattern)
  • FastAPI路由管理APIRouter实战指南
  • 广度优先搜索BFS(广搜)复习(c++)