目标检测SOTA模型DEIM详解

 前言

超越D-FINE和RT-DETRv3的最新模型DEIM,基于RT-DETR和D-FINE基线代码进行创新,提出了两个创新点。从论文中的效果图中可观察到,模型收敛速度更快并且效果更好。(代码也简单,可用于DETR系列实验提点)

论文地址:https://arxiv.org/pdf/2412.04234

代码地址:https://github.com/ShihuaHuang95/DEIM

本文主要分析该文章提出的创新点,及其为什么work。

主要创新点

论文主要提出两个点 Dense O2O 密集一对一匹配和MAL (Matchability Aware Loss)匹配感知损失

1、Dense O2O 密集一对一匹配

为什么需要它:

        DETR系列的一个主要限制是收敛速度较慢,部分原因在于其采用的一对一(O2O)匹配策略,每个目标仅对应一个正样本,导致监督信号稀疏,影响模型的有效学习。

        为解决监督稀缺问题,O2M训练为每个目标引入辅助正样本以增加监督,放宽了O2O匹配的约束。Group DETR通过使用多个具有独立O2O匹配的查询组来实现这一点,但它们也需要额外的解码器,从而增加了计算开销,并存在生成与传统检测器类似的冗余高质量预测的风险。

        所以是否存在一种效果和O2M方式相接近的O2O方式呢?

        刨析问题:如何有效增加正样本数量,从而提供更密集的监督信息?

what:

        上图呈现的是三种匹配方式,作者通过Mosaic 数据增强,将单目标图片拼接成多目标图片,增加匹配数量,实现同一个“目标”多个query匹配,但其本质还是一对一,只是将图片实例复制拼接;

why work:

        以下个人理解:

        1、为什么不直接用copypaste:直接复制GT可能会导致模型过拟合于特定目标,降低泛化能力。而复制整张图片可以保留目标的上下文和背景信息,也不会破环原图的结构。

        2、为什么不直接用O2M,而用Dense O2O?

  • 避免低质量匹配: O2M直接将多个预测框与一个GT匹配,容易引入误匹配。而Dense O2O避免了这个问题,因为每个GT始终只与一个高质量预测框匹配,确保匹配质量稳定。
  • 稳定训练: O2O匹配在目标检测中更稳定,梯度更新更平滑。而O2M虽然速度快,但训练波动较大,容易导致模型不收敛或性能不稳定。
how效果如何:

        作者在coco数据集上进行实验,结果如下:呈正向

2、MAL匹配感知损失

        MAL是对VFL的优化,针对IOU低置信度高的badcase进行优化。它的工作原理较为简单:

what:

        目前RT-DETR中采用的也是VFL,那么先看看VFL是什么,以及它的缺点:

        ​其中q代表IoU,p为预测的置信度,从而导致q过小时,VFL整体则偏小。所以对于 IoU 较低的匹配,损失不会随着置信度增加而增加。

        通过可视化来说,红色框为IOU小但置信度却很高的badcase,我们希望模型给它一个较高的损失,但是从右图中的VFL来看,红星代表框的损失位置,明显不符合预期。

        为了解决这个问题,文中给出了MAL:对比VFL就是将系数q去除

从函数曲线可以看出,在IOU低置信度高时,损失升高,其他部分不变。

代码层面也比较简单:

# VFL中的权重
weight = self.alpha * pred_score.pow(self.gamma) * (1 - target) + target_score


# MAL中的权重
weight = self.mal_alpha * pred_score.pow(self.gamma) * (1 - target) + target

### MAL中当target为1时,weight=1;而VFL中weight=target_score(也就是IOU)
how:

        MAL和VFL在不同case上的loss曲线:

3、消融实验结果:

总结

DEIM这篇文章给出了两个即插即用模块,能够帮助做DETR实验的炼丹师们提点。最后是对比其他SOTA模型的实验效果:

### 关于DEIM(离散经验插值方法)的改进方案及研究成果 #### 改进方向一:提高计算效率 为了提升 DEIM 的计算效率,研究者提出了多种优化策略。一种常见的做法是在构建插值基函数时引入稀疏化技术,从而减少所需存储空间并加快运算速度[^1]。 #### 改进方向二:增强精度控制 针对原始算法中存在的误差累积问题,有学者建议采用自适应选择机制来动态调整采样点位置,使得最终解更加精确可靠。这种方法不仅能够有效降低截断误差的影响,还能保持较高的收敛速率[^2]。 #### 改进方向三:扩展适用范围 随着应用领域不断拓展,传统意义上的 DEIM 已经难以满足复杂场景下的需求。为此,部分研究人员尝试将该方法与其他数值模拟手段相结合,比如与 Proper Orthogonal Decomposition (POD)[^1] 联合使用,形成 POD-DEIM 组合框架;或是将其推广到非线性动力系统的分析当中去。 ```python import numpy as np def deim_improved(A, k): """ An improved version of Discrete Empirical Interpolation Method. Parameters: A : ndarray Original matrix to be approximated by DEIM. k : int Number of selected columns for approximation. Returns: C : ndarray Selected column indices from original matrix A. P : ndarray Projection matrix used in the interpolation process. """ U, s, Vt = np.linalg.svd(A, full_matrices=False) Phi = U[:, :k] # Selecting optimal points using greedy algorithm with adaptive selection mechanism idxs = [] while len(idxs) < k: residual = ... new_idx = ... # Choose index that maximizes some criterion on residuals idxs.append(new_idx) C = A[:, idxs] W = Phi[idxs, :] P = np.linalg.solve(W.T @ W, W.T).T return C, P ``` 通过上述三种主要途径——即提高计算效率、增强精度控制以及扩大应用场景——近年来有关 DEIM 技术的研究取得了显著进展,在多个学科交叉地带展现出广阔的应用前景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crlearning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值