DiffusionTrack: Diffusion Model For Multi-Object Tracking 论文笔记

部署运行你感兴趣的模型镜像

论文链接: 2308.09905

一. 简介

DBT 和 JDT 多目标跟踪面临问题:1)全局与局部不一致;2)鲁棒性和模型复杂性之间的权衡不佳;3)同一视频不同场景缺乏灵活性;

方法:本文提出一个简单的模型 DiffusionTrack,采用扩散模型对目标检测和关联共同构建为从成对噪声框到成对真值框的一致去噪扩散过程;

三. 方法

3.1. 回顾

扩散模型  扩散模型通常使用两条马尔可夫链:一条正向链,用于扰动图像到噪声,另一条反向链用于将噪声优化回图像。给定数据分布 $\mathbf{x}_0\sim q(\mathbf{x}_0)$,时间 t 的前向噪声扰动过程定义为 $q(\mathbf{x}_t|\mathbf{x}_{t-1})$。它逐渐向数据中添加高斯噪声 $\beta_1,\cdots,\beta_T$: 

给定 $\mathbf{x}_0$,可以通过对高斯向量 $\epsilon\sim\mathcal{N}(\mathbf{0},\mathbf{I})$ 进行采样并应用变换 -来轻松获得 $\mathbf{x}_t$ 的样本:

在训练过程中,神经网络会根据$\mathbf{x}_t$ 预测不同 $t\in\{1,...,T\}$ 的 $\mathbf{x}_0$。在推理中,我们从随机噪声 $\mathbf{x}_T$ 开始,迭代应用反向链以获得 $\mathbf{x}_0$

3.2. DiffusionTrack

 

     DiffusionTrack 由两个主要部分组成:特征提取主干和数据关联降噪头(扩散头),其中前者只运行一次,从两个相邻的输入图像 $(\hat{\mathbf{X}}_{t-1},\mathbf{X}_t)$ 中提取深度特征表示,后者将此深度特征作为条件,以逐步从成对噪声框中优化配对关联框预测。在我们的设置中,数据样本是一组成对的边界框 $\mathbf{z}_0=(\mathbf{B}_{t-1},\mathbf{B}_t)$ ,其中 $\mathbf{z}_0\in\mathbf{R}^{\bar{N}\times8}$。神经网络 $f_\theta(\mathbf{z}_s,s,\mathbf{X}_{t-1},\mathbf{X}_t)$ $s\in\{0,...,T\}$经过训练,以相应的两个相邻图像 $(\hat{\mathbf{X}}_{t-1},\mathbf{X}_t)$ 为条件,从成对的噪声框 $\mathbf{z}_s$ 中预测 $\mathbf{z}_0$。相应地生成相应的类别标签 $(\mathbf{C}_{t-1},\mathbf{C}_t)$ 和关联置信度分数 $\mathbf{S}$。如果 $\mathbf{X_{t-1}}=\mathbf{X_t}$,则多目标跟踪任务退化为目标检测问题。一致的设计使 DiffusionTrack 能够同时解决这两项任务。

  • Backbone:YOLOX;backbone 使用 FPN 提取两个相邻帧的高级特征,然后将其馈送至下一个扩散头进行条件数据关联去噪;

  • Diffusion head:diffusion head 以一组提议框作为输入,从 backbone 生成的特征图中裁剪 RoI 特征,并将这些 RoI 特征发送到不同的块,分别获得框回归、分类结果和关联置信度分数。为了解决对象跟踪问题,作者为扩散头的每个块添加了一个时空融合模块 (STF) 和一个关联评分头

  • Spatial-temporal fusion module(STF):时空融合模块使同一个配对的 bbox 可以相互交换时间信息,以确保能够完成两个连续帧的数据关联。给定 ROI 特征 $\mathrm{f}_{roi}^{t-1},\mathrm{~f}_{roi}^t\in\mathbb{R}^{N\times R\times d}$,以及当前块的自注意力输出查询 $\mathrm{q}_{pro}^{t-1},\mathrm{q}_{pro}^{t}\in\mathbb{R}^{N\times d}$,我们进行线性处理和批量矩阵乘法,得到目标查询 $\mathbf{q}^{t-1},\mathbf{q}^t\in\mathbb{R}^{N\times d}$ 为:

  • Association score head:除了 box head 和 class head 之外,作者还添加了一个额外的关联分数 head,通过将两个配对框的融合特征馈送到线性层中来获得数据关联的置信度分数。该头用于确定成对的框输出是否属于后续非最大抑制 (NMS) 后处理过程中的同一目标。

3.3. 模型训练和推理

     在训练阶段,作者的方法采用从训练集中的序列中随机采样的一对帧作为输入,间隔为 5。首先将一些额外的框填充到出现在两个帧中,以便所有框都求和为一个固定数字 $N_{train}$。然后,将高斯噪声添加到填充的真实框中,其中 $\alpha_{t}$在时间步 t 中呈单调递减的余弦时间序列。最后,作者进行一个去噪过程,从这些构建的噪声框中获得关联结果。作者还设计了一个基线,该基线仅破坏帧 t 中的真实框,并根据帧 t − 1 中的先前框有条件地对损坏的框进行降噪,以验证 DiffusionTrack 中两个帧的损坏设计的必要性。

  • 损失函数:对于匈牙利算法获得的匹配集 M 中的每对 $(\mathbf{T}_d,\mathbf{T}_{gt})$,我们将其类分数、预测框结果和关联分数表示为 $(\mathbf{C}_d^{t-1},\mathbf{C}_d^t),(\mathbf{B}_d^{t-1},\mathbf{B}_d^t)$$\mathbf{S}_{d}$。损失函数如下(其中:$\mathcal{L}_{cls}$ 为 focal 损失,$\mathcal{L}_{reg}$ 为 L1 损失,$N_{pos}$ 为正例数):

 

  • 推理:如图所示,DiffusionTrack 的推理管道是一个从成对噪声框到关联结果的去噪采样过程。与从高斯分布中选择随机框的检测任务不同,跟踪任务具有帧 t − 1 中目标的先验信息,因此我们可以像在训练阶段一样,使用先验框生成具有固定数量 Ntest 的初始化噪声框,以利于数据关联。与 DiffusionTrack 相比,只需重复先验框而不填充额外的随机框,并且仅在基线模型中的 t 处向先验框添加高斯噪声。派生关联结果后,IoU 将用作相似性量度来连接对象 tracklet。为了解决潜在的遮挡问题,我们实现了一个简单的卡尔曼滤波器来重新关联丢失的对象,附录中有更多细节。

    (在训练期间,噪声框是通过将高斯噪声添加到同一对象的成对真值框来构建的。在推理中,噪声框是通过将高斯噪声添加到前一帧中填充的先验对象框来构建的。)

四. 实验

4.1. 设置

4.2. 有趣的特性

  • 动态框和渐进式细化

  • 对检测扰动的鲁棒性

4.3. 消融实验

  • 先验信息的比例

  • 边界框填充策略

  • 扰动调度

  • 效率比较

4.4. 与SOTA比较

五. 附录

A. 局限性与更广泛的影响

  • 局限性:1)在 MOT20 上对于小目标跟踪效果不佳;2)去噪步骤太多,训练时间较长;

  • 更广泛的影响: 从 DiffusionTrack 呈现的结果来看,我们认为扩散模型由于其简单的训练和推理管道以及一致的模型设计,是一种新的解决多目标追踪问题的可能方案,显示出对物体进行高层语义关联的巨大潜力。

B. 3D GIoU计算

C. 可视化

D. 推理细节

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 关于 DiffDA:从扩散模型角度分析天气规模数据同化的相关内容 Diffusion Data Assimilation (DiffDA) 是一种结合扩散模型与天气规模数据同化技术的方法,旨在通过生成模型的能力来改进大气科学中的数据同化过程。这种方法的核心思想是利用扩散模型生成高质量的气象数据样本,并将其融入到现有的数据同化框架中,从而提高预测精度和鲁棒性。 #### 1. 扩散模型在天气规模数据同化中的应用 扩散模型作为一种强大的生成模型,能够学习复杂的数据分布并生成逼真的样本。在天气规模数据同化中,扩散模型可以用来填补观测数据中的缺失值、减少噪声以及生成可能的天气场景。这种方法特别适用于处理高维、非线性的气象数据[^2]。 例如,在气象预报中,通常会遇到由于传感器故障或地理限制导致的观测数据缺失问题。通过训练扩散模型以学习历史气象数据的分布,可以在缺失数据的情况下生成合理的填充值。这种生成过程不仅依赖于已知的观测数据,还结合了物理约束和统计规律,从而提高了数据的质量和完整性。 #### 2. DiffDA 的核心机制 DiffDA 的核心机制在于将扩散模型与经典的变分数据同化方法(如 4D-Var)或集合卡尔曼滤波(EnKF)相结合。具体来说,扩散模型被用作生成器,用于模拟潜在的天气状态,而数据同化算法则负责将这些生成的状态与实际观测数据进行融合[^3]。 以下是 DiffDA 的关键步骤: - **前向扩散过程**:通过逐步向气象数据中添加噪声,构造一个从真实数据到纯噪声的马尔可夫链。 - **反向生成过程**:训练神经网络以学习如何从噪声中恢复真实的气象数据。 - **数据同化融合**:将生成的气象状态与观测数据结合,利用变分优化或贝叶斯推断得到最终的天气状态估计。 ```python # 前向扩散过程示例 def forward_diffusion(x_start, t): sqrt_alphas_cumprod_t = extract(sqrt_alphas_cumprod, t, x_start.shape) sqrt_one_minus_alphas_cumprod_t = extract(sqrt_one_minus_alphas_cumprod, t, x_start.shape) noise = torch.randn_like(x_start) return sqrt_alphas_cumprod_t * x_start + sqrt_one_minus_alphas_cumprod_t * noise ``` #### 3. 扩散模型的优势与挑战 扩散模型在天气规模数据同化中的应用具有以下优势: - **生成能力**:扩散模型能够生成多样且高质量的气象数据样本,有助于探索复杂的天气现象。 - **鲁棒性**:即使在观测数据稀疏或噪声较大的情况下,扩散模型仍能提供可靠的预测结果。 - **可扩展性**:扩散模型可以轻松扩展到高维数据集,适用于全球范围的气象预报任务[^4]。 然而,这种方法也面临一些挑战: - **计算成本**:扩散模型的训练和推理过程通常需要大量的计算资源。 - **物理约束**:如何将物理规律有效地融入扩散模型的生成过程中是一个开放性问题。 - **实时性**:对于需要快速响应的天气预报场景,扩散模型的生成速度可能无法满足需求。 #### 4. 实验验证与结果分析 在多个实验中,DiffDA 已经证明了其在天气规模数据同化中的有效性。例如,在使用 ERA5 再分析数据集进行的实验中,DiffDA 能够显著提高短期天气预报的准确性,特别是在极端天气事件的预测方面表现出色[^5]。 实验结果表明,DiffDA 不仅可以改善数据同化的初始条件,还能增强模型对不确定性的刻画能力。此外,通过调整扩散模型的超参数(如时间步长和噪声水平),可以进一步优化其性能。 ```python # 反向生成过程示例 def reverse_diffusion(model, x_t, t): betas_t = extract(betas, t, x_t.shape) sqrt_recip_alphas_t = extract(sqrt_recip_alphas, t, x_t.shape) model_mean = sqrt_recip_alphas_t * (x_t - betas_t * model(x_t, t) / extract(sqrt_one_minus_alphas_cumprod, t, x_t.shape)) if t == 0: return model_mean else: posterior_variance_t = extract(posterior_variance, t, x_t.shape) noise = torch.randn_like(x_t) return model_mean + torch.sqrt(posterior_variance_t) * noise ``` #### 5. 未来研究方向 尽管 DiffDA 在天气规模数据同化中展现出了巨大的潜力,但仍有许多值得探索的方向: - **多模态生成**:如何利用扩散模型生成包含多种气象变量(如温度、湿度、风速等)的联合分布。 - **长期预测**:如何将扩散模型的应用从短期天气预报扩展到长期气候预测。 - **跨尺度建模**:如何在不同空间和时间尺度上协调扩散模型的生成过程。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值