[论文阅读笔记29]MOT+CLIP: Generalizing MOT to Unseen Domains by Introducing NL Presentation

40 篇文章 42 订阅
36 篇文章 9 订阅
文章介绍了一种新的方法,将CLIP模型应用于MOT任务中,通过结合自然语言表示来解决目标的域适应问题。作者提出VisualContextPrompting(VCP)和Visual-LanguageMixing(VLM)模块,利用文本描述增强目标特征的通用性,实现在MOT17和MOT20等数据集上的显著性能提升。
摘要由CSDN通过智能技术生成

继CLIP大火之后, 许多基于CLIP的工作都应用在各种各样的视觉下游任务中, 例如检测, 分割, 风格迁移, 视频动作识别, 视频文本检索等等. 跟踪也不例外, 今天想对这篇文章做一个笔记, 据我所知应该是第一篇将MOT与CLIP结合的文章, 用以通过对目标更高阶的信息表示(也就是自然语言表示)来解决域适应的问题(因为如果将一个目标描述为"穿着红衣服的人", 那么这种目标不论在哪个数据集中都具有相似的特征).

论文: Generalizing multiple object tracking to unseen domains by introducing natural language representation (AAAI2023)


1. Abstract

虽然现在主流的MOT方法取得了非常好的性能, 但是几乎所有的方法是在同一个域中训练与测试的, 所以泛化性就显得不够. 在这篇文章中, 作者发现, 在自然语言中包含的高阶信息是在域之间具有相对不变性的. 然而, 简单地用文本来标记每个目标是很困难的, 因此作者需要限制自然语言的形式或者内容, 来形成一个稳定的特征. 具体地, 作者提出了一个视觉上下文提示模块(Visual Context Prompting, VCP), VCP的输入是帧图像, 输出是视觉的prompt. 之后, 作者提出了一个视觉-语言混合模块(Visual-Language Mixing, VLM), 输入是VCP输出的视觉prompt, 以及预定义好的Track Book(包含文本prompt), 输出是实例级的文本描述. 作者在MOT17与20上进行了实验.

2. Introduction

在这里插入图片描述
如上图(a)所示, 作者认为, 现有的方法往往是在同一个域上训练与测试的(也就是训练集与测试集属于同一个分布), 然而当进行域的迁移的时候, 如图(b)所示, 这些SOTA方法取得了显著的性能下降, 然而本文提出的方法还能维持不错的性能.

针对现有方法的这个问题, 作者认为需要找一种更高阶的表示, 使得目标的特征具有域不变性. 作者认为, 自然语言是可以胜任的.

在这里插入图片描述
如上图所示, 虽然这两个人完全来自于两个视频序列, 但是他们可以用同一个句子表示. 能够对图像-文本对进行强大检索能力的CLIP模型, 就被作者引入到MOT领域中.

技术上, 作者采用MOTR作为baseline, 这是因为Transformer具有天然的多模态聚合能力, 而且在MOTR中, 每个目标都以一个track query表示, 作者要做的就是将自然语言表达融入到track query中, 形成一个域不变的特征.

但如果让模型放飞自我, 任由模型对每个目标去生成文本, 这并不是一个好的选择, 这是因为生成的文本会比较不稳定, 和原始的目的背道而驰. (因为我们知道prompt的选择会很大程度上影响模型的输出). 因此, 作者定义了一个Track Book, 里面有56个文本模板, 这样MOT的关联问题就变成了如何将文本与检测的目标对应起来.

之后, 作者采用词袋模型(Bag of Words)将Track Book中的短语进行编码, 得到word embeddings. 随后采用VCP和VLM模块进行关联. VCP模块以当前帧图像作为输入, 输出一堆visual prompts, 这些visual prompts是包含了场景信息, 这些信息可以看作是目标的隐含描述,并作为与域无关的text prompts的补充. 随后visual proms和Track book中的word embedding进入到VLM模块, 生成pseudo textual description (这里进行了初步的关联), PTD包含关于跟踪目标的高层描述,并能很好地泛化句子. 最后作者将学习到的PTD和原始的Track query concat起来, 作为一种增强的特征, 来增强泛化性.

Related Work部分略过, 作者分别介绍了MOT的发展历程, visual-language model(特别是CLIP)的原理与应用, 以及域适应在MOT中还没有得到充分的研究.

2. Methodology

作者实际上是基于MOTR (MOTR的笔记见MOTR), 并在MOTR的Encoder和Decoder之间加入了提出的VCP和VLM模块, 这两个模块的根本目的就是为了结合语言信息来增强track query.

2.1. VCP模块

VCP模块的作用是根据当前帧图像的特征以及过去的track query生成visual prompt, 实际上我感觉这里是track query的第一次增强, 也就是和当前帧的特征融合.

VCP采用Transformer Decoder的架构, 其以Encoder的最后一层输出的上下文token c t c_t ct (作为K, V)和过去的track query q t − 1 ∈ R M × D q_{t-1}\in \mathbb{R}^{M \times D} qt1RM×D (作为Q) 为输入, 输出visual prompt:

v t = T r a n s D e c o d e r ( c t , q t − 1 ) v_t = TransDecoder(c_t, q_{t-1}) vt=TransDecoder(ct,qt1)

2.2. VLM模块

生成visual prompt之后, 和Track book里的这些短语(实际上是经过Bag of words之后的word embedding), 进入到VLM模块, VLM的结构如下所示:

在这里插入图片描述

具体来说, Adapter由两个MLP层加一个残差结构组成:

T a ( x ) = Relu ⁡ ( T ( x ) T W 1 ) W 2 + x T_a(x)=\operatorname{Relu}\left(T(x)^T W_1\right) W_2+x Ta(x)=Relu(T(x)TW1)W2+x

其中 T ( ) T() T()表示CLIP的Text Decoder. 需要注意的是VLM模块是对text与visual prompt单独处理的, 而不是两个输入一个encoder. 作者之所以没有用CLIP的Image Encoder, 是因为作者认为Image Encoder不适用于包含定位的任务.

这样我们分别得到了更新后的text和visual prompt, 就进入到交叉注意力模块进行模态交互:

v = [ v 1 , v 2 , … , v M ] , t = [ t 1 , t 2 , … , t K ] , l = CrossAttn ⁡ ( T a ( v ) , T a ( t ) ) , \begin{aligned} & v=\left[v_1, v_2, \ldots, v_M\right], \\ & t=\left[t_1, t_2, \ldots, t_K\right], \\ & l=\operatorname{CrossAttn}\left(T_a(v), T_a(t)\right),\end{aligned} v=[v1,v2,,vM],t=[t1,t2,,tK],l=CrossAttn(Ta(v),Ta(t)),

l l l就是pseudo language description.

剩下的, 就是和原本的track query( q t − 1 q_{t-1} qt1) concat起来, 送入MOTR的Decoder即可.

2.3. 整体结构

在这里插入图片描述

2.4. 训练

训练遵循了MOTR的形式, 将关联问题转化为集合预测问题. 整个的损失分为对过去轨迹的定位与分类损失, 和当前新产生目标的定位与分类损失:

L clip  = ∑ n = 1 N ( L ( P ^ t r i ∣ q t , P t r i ) + L ( P ^ d e t i ∣ q d , P d e t i ) ) ∑ n = 1 N ( T i ) \mathcal{L}_{\text {clip }}=\frac{\sum_{n=1}^N\left(\mathcal{L}\left(\left.\widehat{P}_{t r}^i\right|_{q_t}, P_{t r}^i\right)+\mathcal{L}\left(\left.\widehat{P}_{d e t}^i\right|_{q_d}, P_{d e t}^i\right)\right)}{\sum_{n=1}^N\left(T_i\right)} Lclip =n=1N(Ti)n=1N(L(P tri qt,Ptri)+L(P deti qd,Pdeti))

其中

L ( P ^ i ∣ q i , P i ) = λ c l s L c l s + λ l 1 L l 1 + λ giou  L giou  \mathcal{L}\left(\left.\widehat{P}_i\right|_{q_i}, P_i\right)=\lambda_{c l s} \mathcal{L}_{c l s}+\lambda_{l_1} \mathcal{L}_{l_1}+\lambda_{\text {giou }} \mathcal{L}_{\text {giou }} L(P i qi,Pi)=λclsLcls+λl1Ll1+λgiou Lgiou 

3. 效果

在这里插入图片描述
从上表可以看出, In-domain(也就是在哪里训练, 就在哪里测试)本文的方法还是相比Baseline取得了很好的提升, 并且在Cross-domain(在MOT17训练, MOT20测试), 本文方法提升非常显著, 相比Baseline在HOTA上高了3个点, 是非常可圈可点的.

以下的消融实验分别证明了使用Transformer Encoder提取场景视觉信息的优越性, 多种模态的优越性以及使用Adapter在CLIP基础上微调的优越性:

在这里插入图片描述
在这里插入图片描述
以下可视化的结果证明, 当目标发生遮挡再恢复的时候, 具有高阶语义信息是有帮助的.

在这里插入图片描述

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值