概览

**时间:**CVPR2023

贡献:提出指代多目标跟踪任务(referring multi-object tracking, RMOT),并基于 KITTI 构建了数据集 Refer-KITTI 用于推进工作,同时基于 Transformer 开发了一个模型架构 TransRMOT 以在线方式解决 RMOT 任务。

image-20260127005451740

研究背景

将 NLP 融入场景感知的指代理解逐渐发展,但是现有的数据集和基准测试无法在多个指代目标时间状态变化的情况下提供准确的评估:

  1. 现有数据集的每个表述通常对应一个目标,而现实世界往往指代多个对象。
  2. 给定的表述可能只描述了视频指代任务的部分帧,导致对应关系不准确。例如对于指代"the car which is turning",标注可能只存在于车辆“正在转弯”的那几帧;而当车转完弯进入直行状态时,标注就应该停止了。

模型架构

TransRMOT 是一个在线跨模态跟踪器,包括四个基本部分:特征提取器、跨模态编码器、解码器和指代头。

在目标跟踪领域,在线(online)指的是跟踪器在处理视频时,只能利用当前帧和过去帧的信息进行实时推断,无法预先获取未来帧的信息。与离线(offline)利用完整的视频帧相对。前者模拟现实,后者事后分析。

  • 特征提取器:给定一个 TT 帧的视频,使用 CNN 骨干模型提取逐帧的金字塔特征图,例如第 tt 帧的特征为 ItlRCl×Hl×WlI_t^l\in\mathbb{R}^{C_l\times H_l\times W_l},其中 Cl,Hl,WlC_l,H_l,W_l 分别表示第 ll 层特征图的通道数、高度和宽度。同时采用一个预训练的语言模型将包含 LL 个单词的文本嵌入到二维向量 SRL×DS\in\mathbb{R}^{L\times D},其中 DD 表示词向量的特征维度。

    特征金字塔是一种在深度神经网络中构建多尺度特征表示的结构,通过融合不同层级的特征来增强模型对多尺度目标的感知能力。

  • 跨模态编码器:跨模态编码器负责接收并融合视觉和语言特征。先通过早期融合模块整合视觉和语言特征,随后经过可变形编码器层得到跨模态嵌入。

    常见策略是将两类特征拼接并输入编码器,通过自注意力(如MDETR)建模密集连接。然而,由于图像的标记数量庞大,自注意力的计算成本巨大,因此这里在编码前先早期融合两类特征。

    • 早期融合模块

      image-20260127185125843

      对于每一帧,给定第 ll 层特征图 ItlI_t^l,使用 1×11\times 1 的卷积将其通道数减少到 d=256d=256,并将其展平为 2D 张量 ItlRHlWl×dI_t^l\in \mathbb{R}^{H_lW_l\times d}。为了保持与视觉特征相同的通道数,语言特征使用全连接层投影(线性投影)到 SRL×DS\in\mathbb{R}^{L\times D}。三个独立的全连接层将视觉和语言特征转换为 Q,K,VQ,K,V

      Q=Wq(Itl+PV)RHlWl×d,K=Wk(S+PL)RL×d,V=WvSRL×d\begin{aligned} Q &= W_q(I_t^l + P^V) \in \mathbb{R}^{H_l W_l \times d},\\ K &= W_k(S + P^L) \in \mathbb{R}^{L \times d},\\ V &= W_v S \in \mathbb{R}^{L \times d} \end{aligned}

      其中 WW 是权重,PVP^VPLP^L 分别表示视觉和语言特征的位置嵌入。随后运用注意力机制,对 KKVV 进行矩阵乘积运算,并使用生成的相似度矩阵来加权语言特征,即 (QKT/d)V(QK^T/\sqrt{d})V,这里 dd 为特征维度。然后将原始视觉特征与视觉条件下的语言特征相加,得到融合特征 I^tl\hat{I}_t^l

      I^tl=QKTdV+ItlRHlWl×d\hat{I}_t^l=\frac{QK^T}{\sqrt{d}}V+I^l_t\in\mathbb{R}^{H_lW_l\times d}

    • 可变形编码器层:在融合两种模态之后,使用一堆可变形编码器层来促进跨模态交互:

      Etl=DeformEnc(Itl)RHlWl×dE^l_t=\text{DeformEnc}(I_t^l)\in\mathbb{R}^{H_l W_l \times d}

      其中 EtlE_t^l 是编码的跨模态嵌入,将用于后续解码器中的指代预测。

  • 解码器:

    为了关联相邻帧之间的对象,利用来自上一帧的解码器嵌入,该嵌入经过筛选后被更新为当前帧的跟踪查询,以追踪同一实例。对于当前帧中新出现的对象,使用 DETR 中的原始查询,作为检测查询

    Dt1RNt1×dD_{t-1}\in\mathbb{R}^{N_{t-1}\times d} 表3示第 t1t-1 帧的解码器嵌入,这 Nt1N_{t-1} 个嵌入的一部分对应于空对象或推出对象,因此过滤掉它们,仅保留 Nt1N_{t-1}^{'} 个真实嵌入;随后通过注意力机制和前馈网络(FFN),根据它们的类别得分进一步转换为第 tt 帧的跟踪查询,即 QttraRNt1×dQ_t^{tra}\in\mathbb{R}^{N_{t-1}^{'}\times d}。 令 QdetRN×dQ^{det}\in\mathbb{R}^{N\times d} 表示检测查询,它被随机初始化以检测新出现的对象。这两种查询被连接在一起并输入到解码器中,以生成目标表示 DtD_t

    Dt=Decoder(Etl,concat(Qdet,Qttra))RNt×dD_{t}=\text{Decoder}(E_t^l,\text{concat}(Q^{det},Q_t^{tra}))\in\mathbb{R}^{N_t\times d}

    其中输出嵌入的数量为 Nt=Nt1+NN_t=N_{t-1}^{'}+N,包括跟踪对象和检测对象。

    deepseek_mermaid_20260127_ccb13c
  • 指代头:在一组解码器层之后,我们在解码器的顶部添加一个指代头。指代头包括类别分支、框分支和指代分支。类别分支是一个线性投影,它输出一个二元概率,指示输出嵌入表示的是真实对象还是空对象。框分支是一个三层前馈网络,除了最后一层外,都使用 ReLU 激活函数。它预测所有可见实例的框位置。另一个线性投影充当指代分支,以产生具有二元值的指代分数。它指的是实例与表达式匹配的可能性。

局限性

论文给出了几个失败案例。

第一个案例是一些细粒度的对象特征(例如,人的性别)没有被准确捕捉,从而阻碍了检测性能。为了避免这种情况,可以共同探索自顶向下的解决方案(即,先检测后融合的方法),以更多地关注对象区域的细粒度特征。第二个案例是 ID 切换问题,这是由长时间遮挡引起的,并降低了跟踪性能。为了解决这个问题,对象表示可以在未来的工作中使用记忆机制来保持更长的时间以进行长期关联。

image-20260127205659104