摘要

        多目标跟踪(MOT)作为一种视频任务,期望能够有效地捕捉目标的时间信息,但现有的方法大多只利用相邻帧间的目标特征,缺乏对目标长时间信息建模的能力。一个长期的记忆增强Transformer,对象跟踪。我们的方法是能够使同一个对象的跟踪嵌入更稳定和可区分的,通过利用长期记忆注入与定制的在DanceTrack上的实验结果表明,MeMOTR在HOTA和AssA指标上分别比现有方法高出7.9%和13.0%,在MOT 17上的关联性能也优于其他基于transformer的方法,在BDD 100 K上也有很好的推广效果。

1、数据集和代码

1.1 论文代码

GitHub - MCG-NJU/MeMOTR: [ICCV 2023] MeMOTR: Long-Term Memory-Augmented Transformer for Multi-Object Tracking · GitHub

1.2 数据集

        数据集。我们主要在DanceTrack 数据集上评估MeMOTR,因为它们比传统的行人跟踪数据集具有更严峻的关联挑战。为了进行全面评估,我们还对MOT17 和BDD 100K 进行了实验。

        评价指标。由于提供了一种平衡的方法来明确测量检测和关联性能,我们使用高阶度量评估多对象跟踪(HOTA)来评估我们的方法,特别是使用关联准确度(AssA)分析我们的记忆机制。我们还在实验结果中列出了MOTA 和IDF 1 度量。

2、要解决的问题

2.1 目标跟踪研究现状        

        长期以来,行人跟踪数据集在学术界占据主导地位。然而,由于这些数据集中的目标运动模式几乎呈线性,因此在目标关联方面缺乏足够的挑战性。因此,基于检测的追踪方法在过去数年间始终保持着MOT领域的最先进性能。这些方法首先采用鲁棒的目标检测器(如YOLOX)在每帧中独立定位目标,并利用IoU或ReID特征进行关联。然而,在某些复杂场景下(如群舞场景和体育运动员场景),目标关联成为关键挑战。这些目标外观相似且运动轨迹不规则,可能导致现有方法失效。近期,基于Transformer的跟踪方法提出了一种全新的全端到端MOT范式。通过Transformer中检测与跟踪查询的交互及渐进式解码,它们能够同时完成检测与跟踪任务。鉴于Transformer的灵活性,该范式在目标关联方面具有更大的潜力,特别是在上述复杂场景中。

2.2 本文要解决的问题

        虽然这些基于transformer的方法取得了优异的性能,但它们仍然面临着一些复杂的问题,例如相似的外观,不规则的运动模式和长期遮挡。我们假设,更智能地利用时间信息可以为每个跟踪目标提供更有效和鲁棒的表示,从而缓解上述问题并提高跟踪性能。不幸的是,大多数先前的方法仅利用两个相邻帧之间的图像或对象特征,这缺乏对长期时间信息的利用。

        此外,我们认为DETR 中的可学习检测查询不包含关于具体物体的语义信息。然而,MOTR 等基于Transformer的MOT方法中的跟踪查询则携带了被跟踪物体的信息。这种差异会导致语义信息缺口,从而降低最终的跟踪性能。

2.3 研究现状

        检测跟踪是近年来被广泛应用的一种MOT模式,这些方法通常通过关联流视频中的一组给定检测来获得运动轨迹。以往的研究方法方法由于其鲁棒的检测器而具有强大的检测能力,然而,尽管这些方法在行人跟踪数据集上取得了出色的性能,但它们在处理具有不规则运动的更复杂场景时表现平平,这些不可预见的运动模式将导致轨迹估计和预测模块失败。

        查询跟踪方法通常不需要额外的后处理来关联检测结果。与上面提到的检测跟踪方法不同,查询跟踪方法应用跟踪查询来渐进地解码被跟踪对象的位置。当前基于查询的方法通常利用相邻帧的信息(查询[42]或特征[22]融合)。虽然轨迹查询可以随时间不断更新,但大多数方法仍然没有明确地利用较长的时间信息。Cai等人。[4]探索了大型内存库以受益于时间相关知识,但遭受了巨大的存储成本。为了使用长期信息,我们提出了一个长期记忆来稳定跟踪的对象特征随时间的变化,并提出了一个记忆-注意层来实现更可区分的表示。我们的实验进一步证实,这种方法显着提高了MOT的关联性能。

3、提出的创新点

        基于上述分析,在本文中,我们专注于通过提出一种使用TRansformer的长期记忆增强多对象跟踪方法来利用时间信息,称为MeMOTR。我们分别通过Transformer解码器利用检测和跟踪嵌入来定位新生和跟踪对象。我们的模型使用指数递归更新算法为每个跟踪对象保持长期记忆。之后,针对视频流中存在多个被跟踪目标的情况,采用了记忆-注意层的方法来产生更好的可区分性,并提出了一种自适应聚合方法来融合相邻两帧的目标特征,以提高跟踪鲁棒性。

      因此,为解决这一问题,我们采用一个轻量级解码器进行初步物体检测,该解码器输出具有特定语义的检测嵌入向量。随后,我们将检测嵌入向量与追踪嵌入向量共同输入到后续解码器中,从而提升MeMOTR的追踪精度。

3.1 概述

        我们提出了MeMOTR,一种用于多目标跟踪的长期记忆增强的Transformer。与大多数现有方法不同,这些方法仅显式地利用相邻帧之间跟踪对象的状态,我们的核心贡献是建立长期记忆(在第3.3节中),它为每个被跟踪的目标保持长期的时间特征,以及有效地将时间信息注入后续跟踪过程的时间交互模块(TIM)。

        与大多数DETR家族方法类似,我们采用ResNet50作为骨干网络,并结合Transformer编码器来生成输入帧I^{t}的图像特征。如图1所示,可学习检测查询Q_{det}被输入到检测解码器D_{det}(详见第3.2节)中,以生成当前帧的检测嵌入E_{det }^{t}。随后,通过使用 [E_{det }^{t}, E_{tck }^{t}] 对编码后的图像特征进行查询,Transformer联合解码器D_{joint}生成相应的输出 [\hat{O}_{det}^{t}, \hat{O}_{tck}^{t}]。为简化起见,我们将 \hat{O}_{det}^{t}中新出现的物体(黄色框)与被追踪物体的输出\hat{O}_{tck}^{t}合并,记为 O_{tck}^{t}。随后,我们从输出嵌入中预测第 i 个目标对应的分类置信度c_{i}^{t}和边界框 b_{i}^{t}。最后,我们将相邻帧的输出 [O_{tck}^{t}, O_{tck}^{t-1} ] 以及长期记忆 M_{tck}^{t} 输入到时序交互模块中,从而更新后续目标的跟踪嵌入E_{tck}^{t+1}和长期记忆 M_{tck}^{t+1}。各组件的详细说明将在后续章节中阐述。

图1. MeMOTR概述。与大多数基于DETR的方法一样,我们利用ResNet-50 主干和Transformer 编码器来学习输入图像的2D表示。我们使用不同的颜色来指示不同的跟踪目标,然后,检测解码器D_{det}处理检测查询以生成检测嵌入E_{det }^{t},它与来自前一帧的轨迹嵌入E_{tck }^{t}对齐。长期记忆表示为M_{tck}^{t}。蓝色虚线箭头中的初始化过程将应用于新生对象。我们的长期记忆和时间交互模块在第3.3节和第3.4节中讨论。更多细节见图2。

3.2.检测解码器

        在以前的基于transformer的方法中,可学习的检测查询和以前的跟踪查询从零开始共同输入到Transformer解码器。这个简单的想法将端到端检测Transformer 扩展到多对象跟踪。尽管如此,我们认为这种设计可能会导致检测和跟踪查询之间的不对齐。正如许多作品中所讨论的那样,DETR类中的可学习对象查询扮演着类似于可学习锚的角色,语义信息很少,而轨迹查询则具有特定的语义知识来解析它们的类别和边界框,因为它们是由先前帧的输出生成的。

        因此,如图 1 所示,我们将原始的 Transformer 解码器拆分为两部分。第一层解码器用于检测,其余五层用于联合检测与跟踪。这两个解码器具有相同的结构,但输入不同。检测解码器 D_{det}接收原始的可学习检测查询Q_{det}作为输入,并生成相应的检测嵌入E_{det }^{t},其中包含足够的语义信息,可用于大致定位和分类目标。随后,我们将检测嵌入和跟踪嵌入拼接在一起,并将其输入到联合解码器D_{joint}中。

3.3.长期记忆

        与以前只利用相邻帧信息的方法不同,我们明确地引入了长期记忆M_{tck}^{t}来保持跟踪目标的较长时间信息。当检测到新生物体时,我们用当前输出初始化其长期记忆。

        值得注意的是,在视频流中,对象在连续帧中只有微小的变形和移动。因此,我们假设跟踪对象的语义特征在短时间内只有微小的变化。同样,我们的长期记忆也应该随着时间平滑更新。受[28]的启发,我们应用具有指数衰减权重的简单但有效的运行平均来更新长期记忆M_{tck}^{t}

其中\tilde{M}_{tck}^{t+1}是下一帧的新长期记忆。记忆更新速率λ在实验中设置为0.01,假设记忆在连续帧中平滑且一致地变化。我们还尝试了表7中的其他值。

3.4.时间交互模块

        用于时域增强的自适应聚合。视频流中常出现模糊或遮挡等问题。解决这一问题的直观思路是利用多帧特征来增强单帧表示。因此,我们在MeMOTR中采用自适应聚合算法,融合两个相邻帧的输出。由于遮挡和模糊的影响,当前帧的输出嵌入O_{tck}^{t}可能不可靠。因此,如图2所示,我们为每个被追踪实例生成一个通道权重W_{tck}^{t},以缓解这一问题:

我们将该权重W_{tck}^{t}与当前输出O_{tck}^{t}相乘,然后将结果与前一帧的O_{tck}^{t-1}连接。此外,我们应用两层MLP来产生融合结果\tilde{O}_{tck}^{t}。这种自适应聚合增强了短期时间建模的目标表示。

        然而,我们并没有对之前的输出O_{tck}^{t-1}使用上述通道加权。正如我们将在3.5节中讨论的,O_{tck}^{t}O_{tck}^{t-1}之间存在差异。在推理过程中,我们使用评分阈值\tau _{tck}来保证O_{tck}^{t-1}相对可靠。因此,我们将其完全输入到后续融合步骤中,而不使用自适应加权。

        生成轨迹嵌入。如3.1节所述,我们利用轨迹嵌入E_{tck}^{t}来生成每个跟踪目标的位置和类别。因此,生成更可靠和可区分的轨迹嵌入是提高跟踪性能的关键。我们的处理过程如图2所示。

图2.时间交互模块示意图。\tilde{E}_{tck}^{t+1}\tilde{M}_{tck}^{t+1}分别是下一帧的E_{tck}^{t}M_{tck}^{t}预测值。

        由于在同一帧中有多个相似的对象,我们认为学习更多的区分性表示对跟踪器也至关重要。因此我们采用称为memoryattention层的Multi-Head Attention [31]结构来实现不同轨迹之间的这种交互。由于长期记忆M_{tck}^{t}的可靠性,我们将其用作K,并且聚合\tilde{O}_{tck}^{t}和输出嵌入O_{tck}^{t}分别为Q和V。

        之后,我们将联合收割机长期记忆M_{tck}^{t}和记忆-注意层的结果用加法结合起来,然后输入到FFN网络中,预测后续的轨迹嵌入\tilde{E}_{tck}^{t+1}。如公式(1)所示,长期记忆是随着时间逐渐变化的,因此,通过合并来自长期记忆的信息,轨迹嵌入\tilde{E}_{tck}^{t+1}避免了可能在连续帧中引起关联错误的突然变化。2这种设计显著地提高了对象关联的性能,表6中所示的消融实验证实了这一点。

3.5.推理细节

        在时间步t,我们将可学习的检测查询Q_{det}和跟踪嵌入E_{tck}^{t}E_{tck}^{0}=\varnothing )联合输入到我们的模型中,分别产生检测和跟踪结果。

        目标遮挡是多目标跟踪任务中的一个常见问题,如果目标在当前帧中丢失(置信度≤ \tau _{tck}),我们不直接去除其轨迹嵌入,而是将其标记为非活动轨迹,然后在\tau _{miss}帧后将非活动目标完全去除。

        值得注意的是,我们并没有在每个时间步更新每个对象的轨迹嵌入和长期记忆。相反,我们选择以高置信度更新这些轨迹嵌入。更新阈值\tau _{next}的选择产生以下更新公式:

其中i是目标索引,t是帧索引,c_{i}^{t}是第i个对象在时间步长i^{th}的预测分类置信度。\tilde{E}_{i}^{t+1}\tilde{M}_{i}^{t+1}是轨迹嵌入和长期记忆的预测,由图2所示的时间交互模块生成。为了简单起见,我们在实验中设置\tau _{det} =\tau _{tck} = \tau _{next}= 0.5。\tau _{miss}设置为30,分别在DanceTrack、MOT17和BDD 100K上获得15和10分。

4、结论与不足

        我们提出了MeMOTR,一个端到端的长期记忆增强的多目标跟踪Transformer。我们的方法为每个被跟踪的对象建立一个稳定的长期记忆,并利用这个记忆来增强轨迹嵌入的表示,从而提高其关联性能。此外,通过利用一个memoryattention层,我们的模型使不同的目标更容易区分。因此,我们的方法在MOT基准上达到了最先进的性能,特别是在不规则运动模式的场景中。大量的消融实验和可视化实验证明了我们的组件的有效性。我们希望未来的工作将更多地关注使用长期的时间信息进行目标跟踪。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐