论文阅读:2024AAAI: DiffusionTrack Diffusion Model for Multi-Object Tracking
该链接指向AAAI期刊的论文页面
该链接指向AAAI期刊的论文页面
表示衷心的感谢给作者"月亮已死热爱可抵万难"的文章内容对我的理解力的提升帮助:

Abstract
研究背景
现有MOT方法主要可分为两种类型:TBD方法与JDT方法。这两种主流类型均面临诸多挑战:在全局或局部范围内存在不一致现象,并且系统的鲁棒性较弱的同时涉及模型复杂度与计算资源之间的权衡问题等
- 全局或局部不一致:任务的分割影响了检测与跟踪的效果,并导致性能受限。尽管JDT方法依赖于不同模块的协作(即通过分而治之策略实现并行处理),但该方法仍未能有效解决一致性问题。
- 在鲁棒性与模型复杂性之间取得平衡。
- 不同场景间的适应性较弱
本文提出的模型将检测与相关任务统一表述为从连续帧间的对应区域 到真实目标区域的一种持续降噪扩散过程,并显著提升了性能(其中所指的就是连续帧之间的对应区域)。
在训练阶段中,在目标框的配对过程中从真实标注框过渡至随机排列,在模型通过逆向这个添加噪声的过程来实现的同时完成检测与追踪任务
在推理环节中, 模型完成去噪过程, 将这些随机生成的配对框被细化为检测和跟踪的结果, 最终实现SOTA水平
- 噪声----创新方法(首个采用扩散模型进行目标追踪的系统:从噪声到清晰目标)
- 通过匹配两帧之间的随机框建立物体运动关系
- 研究者将数据关联建模为在两帧间预测边界框的位置信息的生成式任务
具体方法
前提知识

扩散模型:

扩撒模型主要由两条马尔科夫链构成:
给定一个数据分布 数据x ~ 分布q(x),前向马尔科夫链将噪声加到图像上

这意味着t时刻的图像只会与t-1时刻有关

其中β是每一帧添加高斯噪声的权重序列
当给定初始样本点x₀时,在时间步t=0处初始化后验分布p(x₀|y₀),可以通过采样生成一个服从高斯分布的向量ε,并将其相加至初始样本点x₀上,在正向马尔可夫链中生成后续时间步的数据点x_t。

DiffusionTrack

主干网络从两帧图像中提取出相应的特征描述,并将其传递至后续处理模块。随后将提取出的特征描述作为输入传递至Diffusion Head模块中。通过该模块的作用,在图像中识别并优化出与目标区域相对应的噪声边界位置。
框架的核心组件由两个主要部分构成:(1)主干网络 backbone;(2)扩散追踪头 Diffusion Head。
通过backbone提取输入中的两个连续帧图像的高级特征,并将这些高级特征作为input传递给head单元。经过多次迭代后最终生成关联框预测。需要注意的是head单元是从大量成对的噪声框开始,并通过迭代优化得到预测的一对关联框。
文章中这样定义使用到的参数和网络:

最初阶段我在理解这一部分内容时存在误解:在介绍扩散模型时,在马尔可夫链中的逐步添加噪声过程中有一个变量t被用作参数变量。然而在处理视频序列时又引入了另一个与之相关的变量t用于分别表示不同时间点对应的图像状态(即上面提到的X_t)。如果不加以区分这两个变量很容易导致对两种不同概念的理解产生混淆
注意文章中关于神经网络参数部分的描述:

在这里采用了符号t作为图像时间点的标记符,在视频序列中该变量直接对应于当前帧的时间参数。而在马尔科夫链模型中,则采用了符号s来进行状态标记,在这种情况下每个状态代表一个特定的时间点或事件节点。其中z_s代表的是经过s次叠加后的噪声区域
那么这一问题则转变为:基于该系统架构,在输入噪声框Z_s的基础上,通过迭代优化算法得到对应的追踪框Z_0。
Backbone
该系统采用YOLOX作为中间提取模块,在视频流处理过程中通过金字塔特征网络(FPN)从两个连续帧中提取出高阶特征,并将这些高阶特征传递至头端模块用于完成去噪任务。
在这里采用了YOLOX技术进行物体检测,在处理新的序列时,输入数据实际上是经过检测器进行初步识别后生成的初步边界框,并通过添加噪声生成一系列噪声边界框。具体来说,物体边界框并非由扩散模型直接生成,相反地,扩散模型主要负责对前后帧之间的边界优化以及关联操作。
Diffusion head
该模块接收一组噪声框作为输入,并从 backbone 输出的特征图上提取 ROI 特征。随后将提取的所有 ROI 特征分发至各个基础模块(如图所示),从而实现定位目标(具体位置坐标)、分类结果识别以及置信度评估。
扩散头中每个块创新地提出了一个STF模块和一个关联分数头
STF模块 – Spatial-temporal fusion module
时空融合机制主要负责通过在相同配对框内交换时间信息来实现数据关联,并且其核心功能是将前后帧之间的相关信息进行有效传递。
具体实现方法:

Bmm:batch 矩阵乘法
Association score head
将提取到的融合特征输入线性层中,预测一个数据关联的置信度分数。‘
该分数用于确定这些预测的成对的框是否归属同一目标
Model Training and Inference

在训练阶段,选择采样间隔为5的帧作为成对的输入。
在两个连续帧中,在已经有ground turth框的基础上(即base线基础上),必须增添相应的框以使总数量等于预先设定的数值N_{train}。
然后取方差序列α_t为单调递减的余弦函数,为groud turth添加高斯噪声。
最后将高斯噪声框输入模型中进行去噪过程,获得预测结果。
关于损失函数:

回归部分的loss 表示的是预测框和真实框之间的差异
分类部分的loss表示的是预测类别和真实类别之间的差异
N_pos表示前景样本的数量
最后一项是一个扩展的3DGIOU损失


Experiments
在多个多目标跟踪数据集上评估该方法,包括MOT17、MOT20和DanceTrack。
采用多目标跟踪精度(MOTA)、身份F1分数(IDF1)和高阶跟踪精度(HOTA)作为评估指标
消融实验部分
在预测阶段中,在输入端使用其中t时刻和t-1时刻的画面组合在一起。其中t-1时刻的画面被视为初始信息源。为了优化这一初始信息的比例关系从而获得不同的模型性能。(我的理解是:为了在t时刻生成有效的噪声边界,在t-1的画面中已有的边界(即预测边界)被用作初始线索来生成当前画面的噪声边界)

框填充策略:相比其他方法而言, 该策略具有更好的效果. 在这种情况下, box padding具体指的是当将box的数量提升至N_train或N_test时所增加的那个box是什么?
