【论文阅读】D-FINE

这篇文章介绍了一个名为D-FINE的实时目标检测模型,其目标是通过**细粒度分布优化(Fine-grained Distribution Refinement, FDR)全局最优位置自蒸馏(Global Optimal Localization Self-Distillation, GO-LSD)**来改进DETR(检测转换器)中的边界框回归任务,以提高定位精度并降低计算成本。

主要内容包括:

  1. 模型的组成与创新
  • FDR:将传统的固定坐标回归转变为概率分布的逐步优化,使模型在每层解码器中逐渐细化边界框的预测,提高定位的准确性。

  • GO-LSD:通过自蒸馏策略,将深层位置知识传递到浅层,从而加速收敛,优化整体性能。GO-LSD还通过统一的匹配机制优化模型,使高置信度但未匹配的预测也能获得优化。

  1. 轻量化优化
  • D-FINE在计算密集的模块中进行了轻量级优化,保证模型在保持精度的同时达到较高的实时性。在COCO数据集上,D-FINE实现了超过54%的平均精度(AP),并且在对象检测任务上优于许多现有的实时检测模型。

在阅读此文章前,你需要先阅读下面的前置工作:

模型方法

细粒度分布优化(Fine-grained Distribution Refinement, FDR)

目标检测任务中传统的 Bounding Box 回归依赖于建模 Dirac Delta 分布,无论是使用基于质心的 (x,y,w,h)(x, y, w, h) 形式,还是边缘距离 (c,d)(c, d) 形式,其中距离 d=(t,b,l,r)d = (t, b, l, r) 是从锚点 c=(xc,yc)c = (x_c, y_c) 测量的。然而,将边界框边缘视为精确且固定的 Dirac Delta 假设使得在模糊情况下特别难以建模定位不确定性。这种僵硬的表示不仅限制了优化,而且还会导致在小预测偏移时出现显著的定位错误。

为了解决这些问题,GFocal 使用离散概率分布对锚点到四个边缘的距离进行回归,从而提供了对边界框更灵活的建模。在实践中,边界框距离 d=(t,b,l,r)d = (t, b, l, r) 被建模为:

$\begin{aligned}
\mathbf{d}=d_{\max}\sum_{n=0}^N\frac{n}{N}\mathbf{P}(n)
\end{aligned}$

其中,dmaxd_{max} 是一个限制了从锚点中心的最大距离的标量,P(n)\mathbf{P}(n) 代表每个候选距离的四条边的概率。虽然 GFocal 通过概率分布引入了一种处理模糊性和不确定性的新方法,但其回归方法仍存在特定挑战:

(1) 锚点依赖(Anchor Dependency)**:回归与锚框中心相关联,限制了预测的多样性,并影响与无锚框框架的兼容性。

(2) 没有迭代细化(No Iterative Refinement)**:预测一次性进行,没有迭代细化,降低了回归的稳健性。

(3) 粗定位(Coarse Localization:固定距离范围和均匀的箱间隔可能导致粗糙的定位,特别是对于小物体,因为每个箱代表一系列可能的值。

本文中提出的 FDR 方法 通过迭代优化概率分布,这些概率分布作为边界框预测的修正,提供了更精细的中间表示。这种方法捕捉并独立地优化每条边的不确定性。通过利用非均匀加权函数,FDR 允许在每个解码器层更精确和渐进的调整,从而提高定位精度并减少预测错误。FDR在不需要锚点的端到端框架内运行,从而实现更灵活和稳健的优化过程。

image.png

**精细分布细化(FDR)**通过迭代优化由解码器层生成的精细分布。最开始,第一个解码器层通过传统的边界框回归头和一个 D-FINE 头(两个头部都是MLP,只是输出维度不同)预测初步边界框和初步概率分布。每个边界框都与四个分布相关联,每个分布对应一条边。初始边界框充当参考边界框,而随后的层以残差的方式调整分布来对其进行细化。经过精细化处理的分布然后被应用来调整相应初始边界框的四条边,逐渐提高其准确性。

数学上,我们用 b0={x,y,W,H}\mathbf{b}^0={x,y,W,H} 表示最初的 bbox 预测,随后我们将 b0\mathbf{b}^0 转换为中心坐标 c0={x,y}\mathbf{c}^0={x,y} 和边距离 d0={t,b,l,r}\mathbf{d}^0={t,b,l,r},分别表示从中心点到上、下、左、右四个边的距离。对于第 ll 层,优化后的边距离 dl={tl,bl,ll,rl}\mathbf{d}^l={t^l,b^l,l^l,r^l} 可以被如下计算:

dl=d0+{H,H,W,W}n=0NW(n)Prl(n),l{1,2,,L}\mathbf{d}^l=\mathbf{d}^0+{H,H,W,W}\cdot\sum_{n=0}^NW(n)\mathbf{Pr}^l(n),\quad l\in{1,2,\ldots,L}

其中 Prl(n)={Prtl(n),Prbl(n),Prll(n),Prrl(n)}\mathbf{Pr}^{l}(n) ={\mathrm{Pr}{t}^{l}(n),\mathrm{Pr}{b}^{l}(n),\mathrm{Pr}{l}^{l}(n),\mathrm{Pr}{r}^{l}(n)} 表示四个独立的分布,每个对应一条边。每个分布分别预测了每条边的候选坐标偏移值的可能性。这些候选值由加权函数 W(n)W(n) 确定,其中 nnNN 段离散后的分布的索引,每段分布的加权和产生了边缘偏移量。这些边缘偏移量然后被乘以初始边界框的高度 H 和宽度 W,以确保这些调整与边界框大小成比例。

通过以下方式定义的残差调整来更新精细化的分布:

Prl(n)=Softmax(logitsl(n))=Softmax(Δlogitsl(n)+logitsl1(n))\mathbf{Pr}^l(n)=\text{Softmax}\left(logits^l(n)\right)=\text{Softmax}\left(\Delta logits^l(n)+logits^{l-1}(n)\right)

其中,上一层的 logitsl1(n)logits^{l-1}(n) 表示预测分布中每段的置信度。而当前的层残差地预测 Δlogitsl(n)\Delta logits^l(n),并加到先前的 logitslogits 上,用来生成更新后的 logitsl(n)logits^l(n)。这些更新后的 logitslogits 随后被使用 Softmax 函数标准化,产生细化后的可能性分布。

为了实现精确和灵活的调整,权重函数 W(n)W(n) 被定义为:

W(n)={2W(1)=2an=0cc(ac+1)N2nN21n<N2c+c(ac+1)N+2nN2N2nN12W(N1)=2an=NW(n)=\begin{cases}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{cases}

其中 aacc 是控制函数上限和曲率的超参数。如图所示,W(n)W(n) 的形状确保在边界框预测接近准确时,W(n)W(n) 中的小曲率允许进行更精细的调整。相反,如果边界框预测与实际情况相差甚远,那么在边缘附近的较大曲率和在 W(n)W(n) 边界处的急剧变化将确保足够的灵活性进行重大修正。

为了进一步提升我们分布预测的准确性,并且将它们与 GT 对齐,受到 Distribution Focal Loss (DFL) 的启发,我们提出了一种新的损失函数,Fine-Grained Localization (FGL) Loss,它的计算如下:

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)\begin{aligned}\mathcal{L}{\text{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{|\phi-W(n_{\rightarrow})|}{|W(n_{\leftarrow})-W(n_{\rightarrow})|},\quad\omega_{\rightarrow}=\frac{|\phi-W(n_{\leftarrow})|}{|W(n_{\leftarrow})-W(n_{\rightarrow})|}\end{aligned}

其中,Prl(n)k\mathbf{Pr}^l(n)k 表示第 kk 个预测对应的概率分布,ϕ\phi 表示相对位移。计算公式为 ϕ=(dGTd0)/{H,H,W,W}\phi=(\mathbf{d}^{GT}-\mathbf{d}^{0})/{H,H,W,W}。其中 dGT\mathbf{d}^{GT} 表示真实的边框距离,并且 nn{\leftarrow}nn_{\rightarrow}是与 ϕ\phi 左右邻接的分布段的索引。通过权重为 ω\omega_{\leftarrow}ω\omega_{\rightarrow}的交叉熵(CE)损失,确保分段之间的插值精确地与真实偏移对齐。通过结合 IoU 加权,FGL 损失鼓励具有较低不确定性的分布更加集中,从而实现更精确可靠的边界框回归。

全局最优定位自蒸馏(Global Optimal Localization Self-Distillation, GO-LSD)

通过利用解码器最后一层的细化后的分布预测来将定位知识蒸馏到更浅的层中。这个过程是通过将匹配指派给从每一层得到的预测结果,在模型的每个阶段识别边界框匹配开始的。为了实现全局优化,GO-LSD 将所有层中的匹配索引聚合成一个统一的并集。这个并集将各层中最准确的候选预测组合在一起,确保它们都从蒸馏过程中受益。除了优化全局匹配外,GO-LSD还优化训练中的未匹配预测,以提高整体稳定性,从而实现更好的整体性能。尽管通过这一联合集优化了定位,但分类任务仍遵循一对一匹配原则,确保没有多余的框。这种严格匹配意味着并集中的一些预测定位准确,但置信度较低。这些低置信度的预测通常代表具有精准定位的候选项,仍然需要有效地提炼。

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

评论 (0)

暂无评论,来发表第一条评论吧!