paper:[2308.11322] CiteTracker: Correlating Image and Text for Visual Tracking (arxiv.org)
code:NorahGreen/CiteTracker: [ICCV'23] CiteTracker: Correlating Image and Text for Visual Tracking (github.com)
简介
现有的视觉跟踪方法通常以图像块作为目标来跟踪。变化剧烈的目标跟踪困难。 CiteTracker 通过连接图像和文本来增强视觉跟踪中的目标建模和推理。文本生成模块将目标图像块转换为包含其类别和属性信息的描述性文本,为目标提供全面的参考点。动态描述模块来适应目标变化,以实现更有效的目标表示。使用基于注意力的关联模块将目标描述和搜索图像关联起来,以生成相关特征以供目标状态参考。
图 1. CiteTracker与现有跟踪方法在目标建模和关联方面的比较。左右部分分别描述了典型的视觉跟踪框架和CiteTracker:首先生成目标对象的文本描述,然后利用文本的特征来估计测试图像中的目标状态,从而实现更全面的目标建模和关联。
- 特点:使用目标的自适应文本描述作为参考点,并将其与测试图像特征相关联进行跟踪。
- 开发了一个文本生成模型,该模型具有预定义的开放词汇表,包括类和属性标签,能够基于目标图像块,生成目标的文本描述。以 CLIP 模型为基线构建,将文本与丰富的图像特征连接起来。
- 为了适应目标随时间的变化,开发了一个动态文本特征模型,会随着目标的变化生成自适应文本特征。最后将目标文本描述的特征与测试图像特征相关联,以生成相关特征,以便进一步估计目标状态。
- 实验数据集: GOT-10K、LaSOT、TrackingNet、OTB100 和 TNL2K。
方法
目标:给定目标图像片段与跟踪序列中的搜索图像,通过将其表述为图像-文本关联,构建它们之间的稳健关联,从而对目标状态有更全面的理解,应对目标对象的外观变化。为此,CiteTracker首先通过图像-文本转换模块,根据给定的目标图像片段,生成目标的文本特征,然后根据目标的最新状态调整文本特征,最后将文本特征与搜索图像的特征关联起来,实现稳健跟踪。
输入:一个样本图像和一个搜索图像,分别通过文本分支(图2上半)和视觉分支(图2下半)处理。
文本分支:首先使用图像编码器提取给定样本图像的视觉特征,并从测试图像中裁剪出目标位置的目标图像片段(取自前一帧)。然后,通过图像-文本转换模块将目标的视觉特征转换为文本特征,并根据初始目标状态和当前目标状态的文本特征差异,利用文本特征自适应模块调整文本特征。
视觉分支:将样本图像和搜索图像作为输入,并输出测试图像的特征图。最后,图像-文本关联组件将文本分支和视觉分支的输出进行关联,生成用于目标状态预测的关联特征。
图2. CiteTracking算法的总框架,包含三个模块:1)图文转换模块,基于图像样本生成目标对象的文本特征;2)文本特征适配模块,根据当前目标状态调整属性描述的权重;3)图文关联模块,将目标描述特征与测试图像的特征进行关联,生成用于目标状态估计的相关特征。
图像-文本转换
图 3. 图文转换模块结构。以目标图像和预定义的类属性文本词汇作为输入,并输出目标的文本描述(特征)。
目标图像由CLIP模型的图像编码器处理生成图像特征 x,然后将 x 输入到轻量神经网络 hθ(⋅)(Meta-Net)中,生成包含目标信息的目标tokens hθ(x)。输入的词汇通过text embbeding模块处理,生成word embbeding ci。
引入 K 个可学习向量 υ1,υ2,...,υK 作为针对特定预测任务的提示tokens。给定目标tokens hθ(x) 和提示tokens υ1,υ2,...,υK,获得每个基于上下文优化的token:υk(x)=υk+hθ(x)。表示提示tokens 被图像特征调节,使其包含与特定图像相关的信息。
第 i 类标签的提示基于图像特征,即 mi(x)={υ1(x),υ2(x),...,υK(x),ci}。这里每个类别标签的提示结合了图像特征和词汇嵌入,捕捉图像和类别之间的关联。
令 t(⋅) 表示原始CLIP文本编码器,第 i 类标签的预测概率计算为:
Sim(⋅,⋅) 计算余弦相似度得分,τ 是一个可学习的温度参数,N 为类标签的数量。目标描述被预测为通过公式(1)计算出最大概率对应的标签。 本文使用一个两层Linear-ReLU-Linear结构实现了Meta-Net,隐藏层将输入维度减少了16倍。
跟踪相关词汇构建。为了准确描述跟踪目标,我们选择了 MS COCO [25] 数据集中的 80 个类别标签作为类别词汇,其中包含日常生活中最常出现的物体。从 OVAD [4] 数据集中选择了颜色、纹理和材质三种物体属性来描述详细的目标状态。在 GOT-10k 数据集上评估了类别和属性标签预测描述的一致性。
图 4(a) 显示了预测结果一致的情况比例,图 4(b) 显示了视频帧中目标物体的预测值。表明在视频序列中,跟踪物体在类别和属性值方面的预测文本描述是一致的,可以用作目标定位的特征。
动态文本特征生成
在视频中,跟踪目标的状态可能会发生变化。因此将文本特征生成分为类别特征生成和属性特征生成。
类别特征 (Tc):设 Ti 是由 CLIP 文本编码器生成的第 i 类标签的文本特征,Tc 可以计算为:
pi 是公式 (1) 计算出的每个类别标签的预测概率。将每个类别标签的文本特征 Ti 按其预测概率 pi 加权并求和,得到类别特征 Tc。这样可以综合考虑各个类别标签的可能性,使得类别特征能够更好地代表跟踪目标的类别信息。
属性特征 (Ta):
argmax(p_i)
确定了预测概率最高的属性类别索引,表明该属性在当前目标的状态下最具代表性。Ta 取该索引对应的文本特征,作为当前跟踪目标的属性特征。
根据目标的变化,调整不同属性特征的权重。颜色、材料和纹理的变化分别表示为 Dcolor、Dmaterial 和 Dtexture:
其中 Rattribute 和 Sattribute 代表参考目标和当前测试目标具有某一特定属性值的概率(用公式 (1) 计算)。属性变化的绝对值差表示属性在两个目标之间的差异程度。绝对值差越低,目标和搜索图像在该属性上的相似性越高。因此,注意力权重 Watt 可表示为:
- 用负变化值 −Dattribute 作为 Softmax 函数的输入,是为了使得变化小(差异小)的属性获得更高的权重。Softmax 函数将这些负变化值转换为一个概率分布,即注意力权重 WattWatt。
最后,根据不同属性的注意力权重,调整属性特征生成动态文本特征:
Ta 是通过公式 (3) 生成的文本特征。
- 使用权重 Watt 对属性特征 Ta 进行加权,得到动态调整后的文本特征 Tatt。
- 这种方法确保了在目标跟踪过程中,能够根据目标属性的变化对特征进行自适应调整,以提升跟踪的鲁棒性和准确性。
图像-文本关联
用ViT-base提取目标和搜索图像的联合视觉特征 V∈RH×W×C。文本特征 T∈R1×1×CT通过线性层进行调整,使其与视觉特征在通道维度上对齐。然后,通过卷积,用文本特征 T′∈R1×1×C 作为卷积核权重,实现两种特征的关联。
最终的关联特征:
⊙ 表示卷积操作,Latt 是用于通道自适应的线性投影层,Tc 表示类别特征,Tco、Tm 和 Tt 分别代表动态的颜色、材料和纹理特征。
状态估计和训练目标
状态估计:基于图像-文本关联生成的特征,CiteTracker 通过预测头 [Joint feature learning and relation modeling for tracking: A one-stream framework.] 来估计目标状态。该预测头由4个堆叠的 Conv-BN-ReLU 层组成。 输出一个分类得分图 C、用于补偿分辨率下降的偏移图 O 和尺寸图 B。然后,目标状态计算如下:
其中 (xc,yc) 是通过 (xc,yc)=argmax(x,y)Cxy 计算的目标中心,(Ox,Oy) 表示从 O 到 (xc,yc) 的偏移,(Bw,Bh) 是从 B 预测出的框尺寸。
训练目标:采用与 OSTrack 类似的训练流程,对三个任务进行联合训练。用加权焦点损失 [24]、L1 损失和 GIoU 损失 [32] 分别训练分类、偏移和框尺寸分支。总的损失函数:
其中 λiou=2,λL1=5 是实验中使用的参数。
实验
实验在4个NVIDIA Tesla V100 GPUs上进行。
视觉特征提取:用通过MAE方法[17]预训练的Vision Transformer (ViT-base) [34]模型作为主干网络。用微调后的CLIP模型[30]作为主干来构建所提出的图像-文本转换模型。从测试帧中裁剪目标框面积4倍的搜索图像,并调整为384 × 384像素的分辨率;从参考帧中裁剪目标框面积2倍的图像,并调整为192 × 192像素。
开放词汇类别标签和属性标签来源于MS COCO[25]和OVAD[4]数据集。
CiteTracker在TrackingNet[29]、COCO2017[25]、LaSOT[13]和GOT-10K[18]的训练集上进行训练。
在四个不同的数据集(TNL2K、LaSOT、TrackingNet和GOT-10K)上评估。
- TNL2K :一个用于评估基于自然语言的跟踪算法的基准。该基准引入了两个新挑战,即对抗样本和模态切换,使其成为评估跟踪算法的稳健基准。
-
LaSOT :一个高质量的长期单目标跟踪基准,平均视频长度超过2500帧。尽管我们的方法没有采用在长期跟踪中起关键作用的更新机制,但它仍然达到了接近最佳方法SwinTrack的结果。CiteTracker重点通过制定稳健的图像-文本关联来处理目标的大幅变化。
-
TrackingNet:用于野外物体短期跟踪的大规模基准,包含511个测试视频,且真实标注被隔离。表1展示了在TrackingNet数据集上的表现。我们的跟踪器在曲线下面积(AUC)上达到84.4%,超越了所有此前发布的跟踪器。这表明我们的跟踪器在应对野外各种变化的短期场景跟踪中具有很强的竞争力。
-
GOT-10k:GOT-10k是一个大规模跟踪数据集,包含超过560类运动物体和87种运动模式,强调在测试集中类不相关性。测试集的真实标注被保留,我们使用作者提供的测试平台来评估我们的结果。我们遵循一次性训练规则,即跟踪器只在GOT-10k的训练集上进行训练。
图5。提出的算法和OSTrack方法在4个变化剧烈的挑战性序列上的可视化结果。CiteTracker在生成的文本描述的帮助下表现良好(在每一行图片的上方显示),而仅使用视觉线索的OStrack方法在处理这些序列时表现不太好。
总结:CiteTracker通过关联图像和文本以更稳健和准确的方式执行目标建模和目标状态推断。所提出的算法首先构建一个图像-文本转换模型,从给定的目标图像生成目标的文本描述特征,从而实现更抽象和准确的目标表示。此外,我们开发了一个文本特征自适应模型来生成动态文本特征和图像-文本相关性,以关联目标文本和搜索图像,以进一步预测目标状态。
评估表明将语言信号纳入视觉跟踪对提高跟踪性能有显著的影响。
复现
处理数据
下载lasot数据集:LaSOT Dataset | Papers With Code
共200多G
GOT-10K数据集:GOT-10k: Generic Object Tracking Benchmark (aitestunion.com)
共66G
训练
准备数据
Set project paths
Run the following command to set paths for this project
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir ./output
报错1:ModuleNotFoundError: No module named 'lib'
Traceback (most recent call last):
File "tracking/create_default_local_file.py", line 9, in <module>
from lib.train.admin import create_default_local_file_ITP_train
ModuleNotFoundError: No module named 'lib'
解决:
在终端输入:export PYTHONPATH=$PYTHONPATH:/data/CiteTracker-main/lib/train/admin
手动添加环境变量,解决。运行后得到如下两个文件:
报错2:ImportError: libGL.so.1: cannot open shared object file: No such file or directory
解决:pip install opencv-python-headless
测试
输入:
python tracking/test.py citetrack vitb_384_mae_ce_32x4_ep300 --dataset lasot --threads 16 --num_gpus 4
报错: