TrackFormer
TrackFormer: Multi-Object Tracking with Transformers[1]
作者是来自TUM和FAIR的Tim Meinhardt等人,论文引用[1]:
Time
- Apr.2022
### Key Words
总结
- MOT的挑战要求对track initialization、identity和spatio-temporal trajectories的推理。作者将这个任务表述为一个frame-to-frame的set prediction问题,引入了TrackFormer,这是一个端到端的、可训练的MOT方法,基于Transformer架构,作者的模型通过在视频序列中逐步演化一组轨迹预测,利用注意力机制实现帧之间的数据关联。Transformer decoder从static object queries初始化新的tracks,并利用概念上新颖且能够保持身份信息的轨迹查询,在空间和时间上自回归地跟踪现有轨迹。两种类型的query都受益于attention架构,不需要额外的图优化或者motion/appearance的建模。
MOT的目标是找到一组目标的轨迹,同时保持它们的id,因为它们会在整个视频中移动。大多数的方法是two-step的tracking-by-detection范式,先检测frame中的目标,然后关联不同帧之间的目标,构造tracks。传统的tracking-by-detection方法,通过temporally sparse or dense 图优化,或者用conv net来预测detections之间的matching scoress,来关联目标。 最近的工作表明,传统的范式的一个变体,称之为" tracking-by-regression",在这个方法中,object detector不仅提供frame-wise detections,同时用每个track的持续的回归来改变object的position,来代替data association。这些方法隐式地实现了track association。不依赖额外的图优化或者motion and appearance model,实现了top performance。这很大程度上是由于isolated 和local bbox regression,缺乏object identity的notion,或者tracks之间的global communication。
在这个工作中,作者引入了tracking-by-attention 范式,不仅对data association应用attention,同时jointly 进行tracking和detection。这是通过从一帧到另一帧逐步演化一组轨迹,随着时间的推移形成轨迹来实现的。 作者提出了一个直接的instantiation of tracking-by-attention。TrackFormer,是一个端到端的、可训练的Trasformer的架构,对来自CNN的frame-level features进行编码,将queries解码成bboxes associated with identities。这个data association是通过track queries来实现的。每个query代表一个对象,并以自回归的方式在视频序列中随着时间的推移在空间和时间上对该对象进行跟踪。新的objects通过static object queries进入scene,后续转换成future track queries。在每一帧中,encoder-decoder计算input image features和track as well as object queries之间的attention,然后输出带有id的bboxes。因此,TrackFormer执行tracking-by-attention,不需要依赖于额外的tracking matching,或者显式地建模motion/appearance,jointly实现了detection和data association。相比于tracking-by-detection/regression,作者的方法通过attention,在single step中,实现了detection和association。TrackFormer将最近提出的用于object detection的set prediction objective,,扩展到MOT。
作者的主要贡献如下:
- 一个端到端的、可训练的MOT方法,实现了detection和data association in a new tracking-by-attention范式。
- 自回归track queries的概念,嵌入了object的spatial position和identity,因此在space和time上进行tracking。
Tracking-by-detection:图经常被用于track association和long-term reid,通过将problem formulate为一个最大/最小流的优化问题,其它的方法用association graphs,学习的models和motion information,通用的solvers,multicuts,加权的graph labeling, edge lifting或者可训练的graph neural networks。然而,基于图的方法受制于昂贵的优化过程,这限制了它们在在线跟踪中的实际应用。
- Appearance驱动的方法利用image recognition backbones,通过similarity measures、detection candidate selection或者affinity estimation来track objects,类似于reid,appearance models在有多个object occlusion的拥挤场景中表现不佳。
- Motion可以被建模为轨迹预测,用恒定速度假设或者social force model。从数据中嘘唏motion model,完成帧间的track association。然而,non-linear 3D motion在2D image domain中的projection对很多的models提出了挑战
- Tracking-by-regression,不通过帧间关联detection,而是通过对past object posiition,回归到当前帧中的新的position,来完成tracking。之前的尝试用一个regression head on region-pooled object features。也有人将objects表示为center points,通过基于distance的贪心匹配算法,来实现关联。为了弥补它们在对象身份和全局轨迹推理方面的不足,引入了额外的再识别和运动模型。
- Tracking-by-segmentation:不仅预测object masks,也利用pixel-level 信息,来缓解哟弄个及和模糊的背景问题。之前的尝试,用category-agnostic image segmentation,应用结合了3D conv的Mask R-CNN,mask pooling layers,或者将objects表示为无序的point clouds和代价体积,然而,标注的MOT segmentation data的稀缺性,使得现代的方法仍然依赖于bboxes。
- Attention for image recognition:它将输入的每个元素和其它元素相关联,用于Transformer中,用于image recognition和object detection,对于MOT,attention仅用于关联给定的detections,而不是联合处理detection和tracking。
- 相比之下,TrackFormer将整个tracking objective转换为single set prediction问题,不仅在association step用attention,而且联合推理track initialization、identity和spatio-temporal trajectories,作者这里仅依赖于feature-level attention,避免额外的图优化和appearance/motion model。
作者的model有一下4个步骤:
- frame-level feature extraction with a common CNN
- 在Transformer encoder中,对frame features用self-attention进行编码
- 在Transformer decoder中,用attention对queries进行解码
- 将queries映射到box和class predicitons,用MLP objects隐式地在decoder \(queries\) 进行表征,都是embeddings,被decoder用来输出bbox和class predictions。。decoder交替进行两种类型的attetion:对所有的query进行self-attention,能够对scene中的objects联合进行reasonin; encoder-decoder attention,能够使queries能够全局访问encoded features的visual information,输出的embeddings在多个decoding layers累积bbox和class information.Transformer 的排列不变性要求分别为frame features和decoder queries添加特征编码和对象编码。
output embeddings的总的set用两种类型的query encodings进行初始化: static object queries,使得模型能够在视频的任意帧初始化tracks;自回归的track queries,用于逐帧的tracking objects。同时对object queries和track queries进行decoding使得模型能够统一进行detection和tracking,因此引入了一个新的tracking-by-attention范式,不同于tracking-by-X 方法,它们是由key component定义,用于track generation,对于tracking-by-detection,通过计算frame-wise object detections之间的distances来tracking。tracking-by-regression范式也是进行object detection,然后在当前帧中回归each object box to its new poisition,来产生tracks。确切地说,作者的 TrackFormer 还通过多层感知机(MLP)在object embeddings的映射中执行回归。然而,实际的轨迹关联是通过 Transformer 解码器中的注意力机制更早完成的。附录中展示了一个详细的架构概览,说明了轨迹查询和对象查询如何集成到 Transformer 解码器中。
- Track initialization:scene中新出现的objects通过固定数量的 \(N_{object}\) output embeddings进行检测,每个是用static 和learned object encoding进行初始化,称为 object queries。直觉上,每个object query学习预测带有一定spatial properties的objects,例如bbox size和position,decoder的self-attention依赖于object encoding,来避免duplicate detections,来对objects的spatial和categorical relations进行推理。object queries的数量应该要超过每帧中目标的最大的数量。
- Track Queries:为了实现frame-to-frame track generation,作者在decoder中引入了track queries。Track queries带有object的id 信息,在整个video sequence中跟踪objects,同时已自回归的方式调整到changing position。为了这个目的,每个新的object detection用上一帧对应输出的embedding来初始化track query。Transformer encoder-decoder在frame features和decoder queries上进行attention,连续地更新每个track query embeddings的object id和location的instance-level的representation,在both query 上的self-attention,可以在检测新对象的同时避免对已跟踪对象的重复检测。
在frame t=0,初始的detections会生成新的轨迹查询,这些查询会跟随相应的对象到帧 t 及其后续帧,为此,\(N_{object}\) object queries被解码为output embeddings,用于potential track initializations。每个cls score高于 \(\sigma_{object}\)的有效的object detection,初始化一个新的track query embedding。因为不是所有的objects出现在第一帧中,track id只代表K的一个子集。对于任意帧的decoding step,track queries用不同的id初始化额外的output embeddings。\(N_{object} _ N_{track}\) 的joint set的output embeddings通过learned boject和track queries分别初始化。
decoder将整个output embeddings一次进行transform,为后续的MLP提供了input,来预测bboxes和cls in frame t。track queries的数量是逐帧改变的,因为会有New objects的加入和离开。Tracks和它们对应的query会被removed,如果它们的cls score低于 \(\sigma_{track}\)或者通过NMS。
- Track query re-id:解码任意数量的track query的能力使得基于注意力机制的短期reid过程成为可能。我们持续解码之前被移除的轨迹查询,最多持续 \(\(T_{\text{track-reid}}\)\) 帧。在此“等待窗口”期间,轨迹查询被视为非活动状态,并且在分类得分超过 \(\(\sigma_{\text{track-reid}}\)\) 触发再识别之前,不会对轨迹做出贡献。嵌入到每个轨迹查询中的空间信息限制了它们在对象大范围移动时应对长期遮挡的能力。然而,能够对track loss进行短期的恢复。这不需要任何dedicatd reid的训练.
对于每个和object queries进行interaction,follow objects to next frame的track queries,TrackFormer需要dedicated frame-to-frame tracking training。作者训练两个相邻帧,一次性优化整个MOT objective。帧 \(\(t\)\) 的损失函数通过类别和边界框预测,衡量所有输出嵌入 \(\(N = N_{\text{object}} + N_{\text{track}}\)\) 相对于真实目标对象的集合预测。set prediction在two steps进行计算:
- object detection on frame \(t-1\) with \(N_{object}\) object queries
- Tracking of objects 和frame t上的所有新的objects的detection
track queries的数量 \(N_{track}\) 依赖于frame \(t-1\) 的成功检测到的objects的数量,在训练期间, output embeddings的MLP的预测分配给 gt object 之一,或者background
Bipartite matching,从gt objects到joint set of object and track query predictions的映射通过track identity或者costs based on bbox similarity and object class决定的,对于前者,将frame t的gt track ids 表示为gt的子集 \(K_t \in K\),每个detection分配给对应的gt track id k from the set \(K_{t-1} \in K\)。对应的output embeddings, track queries,对应的output embeddings, track queries,将id 信息带到下一帧。两个gt track id sets描述了 \(N_{track}\) track query outputs分配给帧 t 中真实目标对象的过程。
\(Fig.1^{[1]}\)
TrackFormer jointly performs object detection and tracking-by-attention
with Transformers.