15-DifusionMOT:一种基于扩散算法的多目标跟踪器

15-DifusionMOT:一种基于扩散算法的多目标跟踪器

摘要

近来,研究者将扩散模型引入到多目标跟踪( Multiple Object Tracking,MOT )任务中。然而,现有的基于扩散的多目标跟踪方法,如Diffusion Track,存在较大的局限性,包括ID切换频繁、跟踪非线性运动目标时性能降低、推理时间长等。为此,本文提出了一种更有效的基于扩散的多目标跟踪器DiffusionMOT。特别地,我们提出了一种混合交并比( IoU )和重识别( ReID )的轨迹匹配方法,有效地减少了错误匹配。同时,我们提出了一种针对轨迹框的二次标定方法,提高了生成的检测框的准确性。 此外,我们将图像生成领域的并行采样技术引入到目标跟踪中,提出了一种并行采样模块,在保持跟踪精度的同时提高了模型的推理速度。此外,我们设计了一个双线性配对两级匹配( PTM )流水线来更有效地利用潜在的检测信息。在几个公开的多目标跟踪基准测试集上进行了广泛的实验,包括舞蹈跟踪、体育多目标跟踪、多目标跟踪20和多目标跟踪17,实验结果表明我们的方法取得了最先进的( SOTA )性能。

所提出的DiffusionMOT有效地跟踪了非线性和线性运动物体,即使在密集场景中也表现出强大的性能。它达到了最先进的( SOTA )性能,如图1所示。我们工作的主要贡献总结如下。

1 )提出了一种新的基于扩散的多目标跟踪器DiffusionMOT,它具有鲁棒的数据关联能力和对非线性运动目标的强跟踪能力。

2 )提出了IoU和ReID的自适应混合距离计算方法,基于成对连续帧的两阶段轨迹匹配流水线,以及提高跟踪过程中数据关联准确性的轨迹二次校准方法。

3 )将图像生成领域的并行采样技术引入到目标跟踪中,提出了并行采样模块来加速DDIM过程,提高模型的推理速度。

4 )利用DiffusionMOT进行的大量实验表明,其在舞蹈轨迹、体育轨迹和MOT20数据集上都取得了SOTA的性能。

1、代码和数据集

1.1 论文代码

https://github. com / sad123-yx / DiffusionMOT

1.2 数据集

DanceTrack, SportsMOT, MOT20, and MOT17

2、要解决的问题

首先,基线使用成对关联分数作为数据关联的阈值,仅执行单阶段匹配。我们认为这种方法没有充分利用检测信息,从而导致较差的跟踪性能。先前的研究表明,低于阈值的分数可能会受到遮挡或模糊的影响;丢弃它们会导致轨迹中断或丢失,从而降低跟踪精度。【1】

其次,使用扩散模型的目标检测结果并不是一成不变的。不同于YOLOX等检测器在固定阈值下对同一对象提供一致的结果,扩散模型通过不断的去噪过程生成检测框。因此,即使在固定的阈值下,初始框位置的变化也可能导致去噪结果的微小差异,从而影响轨迹匹配。【2】

接下来,我们重新分析了数据关联的轨迹匹配阶段,从当前帧中匹配检测框和预测框来更新轨迹。在基线中,仅使用交并比( IoU )进行距离计算,导致在物体接近或重叠时经常发生误匹配。【3】

最后,由于目标跟踪不仅需要精度,还需要速度,因此我们解决了基于扩散模型的检测器的效率问题。【4】

3、提出的创新点

本文对目标跟踪中的数据关联过程进行了深入的分析。我们提出了一种新的多目标跟踪器DiffusionMOT,它在检测和数据关联阶段都融入了扩散模型。基于著名的基于扩散的跟踪器Diffusion Track作为我们的基线,并集成了一个基于解耦扩散模型的运动预测器,Diffusion Mot有效地跟踪了线性和非线性运动目标。这种方法保持了强大的数据关联能力,即使在密集场景中也能实现有效的跟踪。具体而言,我们的改进主要集中在以下几个方面。

为了解决这个问题,我们提出了一个双线性配对两阶段匹配( PTM )管道,该管道以检测和关联得分作为阈值,进行两阶段匹配过程,在数据关联之前保留有价值的潜在信息。【1】

为了解决初始盒子位置变化引起的差异,我们提出了一种二次校准方法。在当前帧的检测过程中,我们同时输入前一帧和当前帧的ROI特征。去噪后,对两帧图像分别生成检测框。 由于前一帧的检测结果已知,在后续的数据关联过程中,利用前一帧的实际检测框和生成的检测框对当前帧的检测框进行修正,提高了检测精度,增强了轨迹匹配的准确性。【2】

为了解决这个问题,我们引入了再识别( Re-Identification,ReID ),将其与IoU结合起来共同确定距离。虽然大多数方法使用IoU和ReID距离的最小值进行匹配,但我们观察到,由于数据分布的变化,这可能会导致错误匹配。在某些情况下,仅仅依靠IoU或ReID会得到更好的结果。如果IoU和ReID距离能够自适应加权,则可以最小化误匹配。 因此,我们提出了一种混合IoU和ReID的距离计算方法。当对象距离较近但外观相似时,增加ReID的权重;当对象距离较远但外观相似时,增加IoU的权重。对于物体既靠近又具有相似外观的情况,我们应用加权计算策略自适应地混合距离,使得距离计算更加灵活。【3】

因此我们解决了基于扩散模型的检测器的效率问题。增加候选框的数量提高了检测性能,但也增加了推理时间。在我们的基线中,使用500个候选框和4个采样步骤,平均每帧的推理时间为173毫秒。我们的目标是在保持跟踪精度的同时提高推理速度。为此,我们将图像生成中的并行采样技术引入到MOT中。我们提出了一个并行采样模块来加速采样过程,使得在保持跟踪精度的同时,推理速度提高了近50 %。【4】

3.1 方法

在这一部分中,我们提出了DiffusionMOT,一种基于全阶段扩散的多目标跟踪器,具有鲁棒的数据关联和对具有非线性运动的目标的有效跟踪。首先,我们引入ReID,提出了一种基于数据分布自适应分配权重的IoU和ReID混合距离计算方法,实现了更精确的距离计算。其次,我们设计了一个基于成对框架的两阶段匹配框架,有效地利用了潜在信息。此外,我们提出了一种成对检测框的二次校准方法。该方法利用前一帧的实际检测框对当前帧的扩散生成框进行修正,从而改善轨迹关联。 我们还引入解耦的扩散模型运动预测器来预测非线性运动。最后,我们提出了一个并行采样模块来加速扩散过程中的采样过程,从而提高模型的推理速度。

3.2 DiffusionMOT

DiffusionMOT的整体框架,如图2所示,遵循检测跟踪范式,将当前帧检测与先前帧轨迹相关联。该框架由三个部分组成:检测、轨迹预测和关联。

1)检测:检测器基于DiffusionDet 。首先,我们使用YOLOX从连续输入帧中提取ROI特征。然后,我们将这些特征输入到DiffusionHead结构中。最后,通过DDIM去噪过程生成检测框。

假设代表输入的成对盒子,包括前一帧的盒子和当前帧的盒子;因此,。我们定义,其中是中心坐标,是宽度和高度。扩散过程使用前一帧和当前帧的ROI特征,分别定义为,形成特征对。该过程通常涉及两条马尔科夫链:将图像扰动成噪声的前向链和将噪声细化回图像的反向链。

在DiffusionMOT中,利用计算得到的噪声对输入的配对盒进行迭代去噪,直到它们变为。给定数据分布,在时间T处的前向噪声扰动过程定义为.通过按方差表逐步添加噪声,我们可以得到

给定,我们可以通过采样一个高斯向量来获得的样本可以表示为

在获得后,可以应用一个迭代的去噪过程,其中是从样品过孔中产生的。

式中:得到。通过DiffusionHead结构得到。在[ 1 , . , T]的不同子序列 τ 中,对于不同的方差超参数σ,以 τ 的元素为指标,我们可以推导出如下公式

在训练过程中,对于不同的 t ∈{ 1,..,T },神经网络从预测。在推理过程中,我们从随机噪声开始,迭代地应用反向链得到,它代表当前帧的最终检测框。

2)轨迹预测:首先,从轨迹(如果可用的帧数少于n帧,则重用最近的帧进行补偿)的前n帧中检索信息。然后,使用基于解耦扩散模型的运动预测器从正态分布中采样每个物体的运动状态。最后,扩散模型根据此运动状态生成物体的运动轨迹,确定当前帧的预测框。

3)关联:首先设计了基于成对帧的两级匹配流水线,利用提出的二次校准方法对检测框进行校正。然后根据检测分数和预设阈值将这些校正框分为高分和低分两类。接下来,我们应用提出的混合IoU和ReID距离计算方法来计算混合距离。此外,还结合了[ 8 ]中的动态外观技术。采用线性分配算法将高分检测框与预测框进行匹配。最后,匹配低分检测框和未匹配的预测框,并根据最终匹配结果更新轨迹。

3.3 混合IoU和ReID方法

最常用的距离计算方法是IoU和ReID,分别表示运动和外观。IoU计算简单,有效地反映了物体的运动状态,但当多个物体重叠或接近时,容易发生ID切换,如图3所示。ReID在外观差异明显的情况下可以获得更准确的关联,但计算耗时。此外,当物体具有相似的外观时,如第IV - D节所示,可能会导致不正确的匹配。

为了解决上述问题,我们提出了一种混合IoU和ReID的距离计算方法。我们认为IoU比ReID在距离计算中更为重要,因为在MOT20测试集上使用物体的运动状态作为匹配TABLE II比较结果的依据更加直观。此外,在大多数情况下,仅使用IoU距离比仅使用ReID距离更有效。算法步骤如下。首先,计算检测框和预测框之间的IoU和ReID距离矩阵,记为[ m , n]和[ m , n],其中[ i , j]表示第 i 行和第j列。接下来,设定一个得分阈值 T;中任何大于T的值都被认为是不相关的,其对应的矩阵项设置为1。 然后,我们遍历,以确定在特定的行或列中只存在单个成对关系的情况,其中[ i , n]和[ i , n]或[ m , j]和[ m , j]是唯一的匹配。在这种情况下,i 和 j 被认为是匹配的。在此遍历之后,我们计算混合IoU和ReID距离。根据设定的阈值自适应地确定IoU和ReID的权重,并引入动态因子θ来调整IoU在混合距离计算中的重要性。最后,将得到的混合距离用于线性分配算法来计算最终的匹配。

第四节详细介绍了权重计算策略和动态因子的设置,并在算法1中给出了算法的伪代码。图4展示了当多个对象接近时应用该算法的一个例子。

3.4 二次校正

轨迹匹配是数据关联的关键步骤。在基线方法中,轨迹直接以置信度分数作为阈值进行匹配,忽略了低分框中的有价值信息,导致跟踪性能较差。为此,我们提出了一种基于成对盒子的两阶段匹配流水线,命名为PTM,并引入了轨迹盒子的二次校准方法。PTM管道如图5所示。

在推理过程中,我们同时输入前一帧图像和当前帧图像。YOLOX从每一帧中提取图像特征,然后将其输入到DiffusionHead结构中。经过去噪扩散过程后,产生两组检测数据:基于前一帧图像特征的参考框( ref box )和基于当前帧图像特征的当前框( cur box )。考虑到检测框是通过扩散产生的,可能会包含一些偏差。此时,已知前一帧(预选框)的实际检测结果。通过比较实际的Prebox和扩散生成的Refbox,我们可以计算出扩散生成过程中的偏差。 然后利用该偏差对曲线框进行校正。算法2给出了二次校准算法的伪代码。

二次标定后,利用校正后的检测框(校正框)通过PTM进行轨迹匹配。与Diffusion Track舍弃置信度低的检测框不同,我们设置置信度阈值为0。1,只丢弃低于此阈值的那些。然后使用检测分数来区分高分框和低分框。二次标定过程的可视化结果如图6所示。

为了更好地理解二次标定的过程,我们提供了一个例子:我们的模型以两幅图像作为输入。在框架T上进行推理时,输入由框架T和框架T - 1组成。在T = 1时,由于没有历史轨迹,可以直接输出第一帧的检测结果。对于T > 1 ( e.g. , T = 2),我们已经对前面推断得到的第一帧有了准确且稳定的检测结果。然后将第1帧和第2帧作为输入提供给模型。通过扩散过程,我们获得了第一帧和第二帧的检测结果。我们通过比较当前T = 2时第一帧的检测结果与T = 1时得到的检测结果来计算偏差。 然后利用该偏差对T = 2时的第二帧检测结果进行校准,最终得到准确的第二帧检测结果。

3.5 并行采样模块

目前的基线表现出较慢的训练和推理速度,限制了其实际应用。由于MOT同时需要较高的推理速度和跟踪精度,因此减少采样步数来加快推理速度是不可行的,因为这会降低跟踪精度。为了解决这个问题,我们引入了并行采样技术,并提出了一种并行采样模块,在保持跟踪精度的同时提高了推理速度。

并行采样技术以计算换取速度,利用Picard迭代并行执行多个去噪步骤,显著提高效率。最初应用于图像生成,我们将该技术引入到目标检测和跟踪中,并对DiffusionMOT进行了具体的改进。提出的并行采样模块,集成到DiffusionHead结构中,加速了DDIM采样过程。

接下来,我们介绍了一些实现细节。首先,我们阐述了Picard迭代法,一种通过不动点迭代求解常微分方程( ODEs )的技术。计算图如图2所示,在DiffusionHead结构中。在DiffusionMOT的检测阶段,RCNNHead结构输出预测的和指向的方向。然后利用式( 3 )得到最终的扩散生成检测框。一个ODE是由一个带有位置和时间变量的漂移函数S ( X , t)和一个初始值X0定义的。在任意时刻 t,可以写成

Picard迭代在初始迭代k = 0时估计解{:0≤t≤1 },并通过更新每一时刻t的值来迭代修正,直到收敛。

假设步长为1 / T,对于t∈[ 0 , T]。

Picard迭代可以通过并行执行昂贵的计算{ S (, i / T),i∈[ 0,T ) },然后以可忽略的代价将它们的输出收集到前缀和来实现并行化。序贯评价可以表示为函数=( · · · (() ) )对初始值的嵌套评价,其中( X ) = X + ( ( S ( X , i / T) ) / T )。然后可以得到如下公式:

根据上述公式,最终可以得到,表示最终生成的检测框。在我们提出的并行采样模块中,考虑到随着时间步数的增加,Picard迭代需要保持大量的计算节点,我们引入了滑动窗口来减少计算量。算法3给出了利用并行采样模块对DiffusionMOT中的DDIM过程进行采样的完整过程。

接下来,我们给出了并行采样过程的计算复杂度分析。DDIM使用概率流ODE定义采样过程:= ( f ( t )- ( 1 / 2 )( t )log( x ) ) dt,并使用数值积分方法离散化。计算复杂度主要通过减少时间步数T来降低。如果计算漂移项s(, t) (即,调用神经网络模型)的复杂度记为O ( N ),其中N表示神经网络的计算复杂度,则总的采样复杂度为O ( TN )。我们提出的并行采样模块在每次迭代中并行地计算T个时间步的漂移项s(, t),导致每次迭代的计算复杂度为O ( N )。 漂移项的累积可以使用复杂度为O ( log T )的并行前缀和算法进行有效计算。当迭代次数为M时,总复杂度为O( M ( N + log T )) )。由于log T明显小于N,复杂度可近似为O ( MN )。如果有足够的并行计算资源,采样过程可以减少到M次迭代,与DDIM相比,理论上可以获得( T / M )的加速比。

为了降低Picard迭代的计算成本,我们引入了滑动窗口策略。通过将滑动窗口大小设置为k,在每次迭代过程中并行计算k个时间步的漂移项,并定义L为滑动窗口区域内所需的Picard迭代次数,在L次Picard迭代后更新当前窗口,并将k个时间步滑动到下一个窗口中。因此,每个滑动窗口的计算复杂度为O( L ( N + log k )) )。给定一个窗口大小为k,总共需要计算( T / K )个窗口。应用滑动窗口策略后,整体计算复杂度为O ( ( T / k ) L( N + log k) )。近似后,最终的计算复杂度可以表示为O ( ( T / K ) MN )。 与没有并行采样的情况相比,速度提高了( k / L )倍。

我们观察到,在DDIM过程中,每次Picard迭代都需要通过RCNNHead迭代6次,导致显著的时间消耗。我们对RCNNHeads的数量n和滑动窗口大小k进行了实验,以确定它们的最优值。详细的实验结果见表5。

3.6 解耦扩散模型轨迹预测

为了提高模型跟踪非线性运动的能力,我们在DiffusionMOT中引入并改进了基于解耦扩散的运动预测器,我们称之为Diff。该预测器对整个数据集的运动分布进行建模,将运动预测作为一个生成任务,根据历史数据的正态分布生成未来的运动。Diff由一个正向过程和一个反向过程组成。在正演过程中,解耦扩散模型逐渐将数据归零,然后对归零后的数据添加噪声。在DiffusionMOT中,我们同时输入帧 T 和帧 T - 1,根据它们的检测框来计算物体的运动状态。定义,其中 T 表示一条轨迹,B表示该轨迹内的检测框。物体的运动状态可以用以下公式计算:

由于DiffusionMOT中的输入图像是缩放的,因此计算得到的必须根据图像宽度和高度的缩放因子进行调整。对于z~N( 0 ,I),由前向过程得到的含噪运动数据定义如下:

在逆过程中,利用条件概率从纯噪声中恢复出物体的运动。它可以定义如下:

由于 μ 包含未知变量 c 和 z ,我们用一个参数化的分布来近似如下:

均值λ和方差σ由神经网络Θ决定。在得到最终的预测c Θ后,可以利用( 13 )进行重构。由于解耦扩散过程的解析性,其逆过程可以单步采样;因此,Diff不需要并行采样。

4、结论与不足

在本文中,我们提出了DiffusionMOT,一种基于扩散的多目标跟踪器,具有鲁棒的数据关联和对非线性运动目标的高效跟踪。为了增强其数据关联能力,我们提出了PTM管道和轨迹的二次校准方法,以及混合IoU和ReID距离计算方法。为了提高模型的推理速度,我们将图像生成领域的并行采样技术引入到MOT中,提出了并行采样模块。该模块在保持跟踪精度的同时,将模型的推理速度提高了47 %。Diffusion MOT在舞蹈轨迹、运动轨迹和MOT20数据集上的表现优于之前所有基于CNN的跟踪器,证明了扩散模型在多目标跟踪任务中的强大潜力。 我们相信这项工作为未来基于扩散的MOT的进一步研究奠定了基础。