单目标追踪——【Transformer】Autoregressive Visual Tracking
目录
- 文章侧重点
- 
网络架构设计
 - 
Encoder模块负责从输入数据中提取关键特征并进行融合处理以生成Vision Features
- Decoder模块则通过整合Vision Features和Motion Features之间的关系进行深度学习训练并输出相应的结果
 - 运动特征求取过程包括多个步骤以确保准确性和稳定性
 - 特征整合及最终输出阶段旨在完成对数据的全面分析并提供可靠的决策依据
 
 - 
消融实验
 - 
- N与Vocabulary
 - Bins
 
 
 - 
 
论文资源链接:https://paperswithcode.com/paper/autoregressive-visual-tracking
对应自回归视觉跟踪方案:https://github.com/miv-xjtu/artrack
文章侧重点
- ARTrack通过利用目标先前帧的预测位置来建模目标运动信息,以此辅助当前的目标追踪定位过程。传统的基于帧的目标追踪任务属于次优化问题,而通过采用序列追踪的方式,该问题被转化为最优化问题,这一特点与目标追踪领域的一般定义是一致的。
 - 在端到端架构下,本方法未引入预测头或后置操作。
 - 借受Pix2Seq的设计理念,在解码器输入阶段同时整合了离散坐标系统和视觉特征,将其共同传递给解码器以完成后续解码过程。
 - 相较于先前SwimTrack方法,该框架旨在通过引入轨迹信息对解码器进行指导,以实现更加有效的输出定位功能(这一特点与Pix2Seq的设计思路是一致的),具体而言,本方法直接将轨迹信息传递至解码器中完成最终的目标位置回归。
 
网络结构

该系统由两个主要模块构成:视觉信息编码器(视觉信息特征提取过程)与运动信息编码器(视觉与运动信息特征融合及输出处理)。
Encoder(特征提取与融合得到Vision Features)
图取自ViT

- 
输入:模板图片、包含历史帧和当前帧的序列图片们
 - 
沿用了ViT encoder作为backbone,与OStrack一致:
- Search Regions和Template进行patch embeding生成Patches
 - 针对Search Region Patches和Template Patches分别进行flatten并映射生成一个token embeddings的序列。
 - 加上位置编码,再将两个tokens拼接起来,送入ViT backbone(encoder的操作和原始Transformer中完全相同)得到编码后的Vision Features。
 
 - 
输出:特征融合后的Vision Features
 
Decoder(Vision Feature+Motion Feature 特征融合与输出)
运动特征生成
历史轨迹的量化一共有两个步骤:坐标值离散化和坐标映射。
- 坐标值进行离散化处理
 
- 在历史帧中进行目标定位时,则是将 xmin、ymin、xmax、ymax 这四个数值的取值范围转换为 [1, nbins] 区间内。
 - 其中 nbins 表示图像的最大宽度和高度。
 - 如输入尺寸为 600×600 的图像。
 - 当 nbins 大于或等于图像的最大宽度和高度时,则量化过程无误差发生。
 - 这些量化后的坐标编码则被用作可学习词汇表(Vocabulary)中的索引项。
 
- 坐标映射
 
由于历史帧包含两种不同的坐标类型:一种是全局图中的绝对坐标系,另一种是基于搜索区域的局部坐标系。由于搜索区域是从全局图经过几何变换后截取的部分区域,在模型以搜索区域作为输入进行目标追踪时(即模型输入的是局部搜索区域),为了使历史帧中的目标特征点位置信息与当前搜索窗口中的目标定位结果保持一致性,则必须将历史帧中的目标特征点位置信息转换为与当前搜索窗口一致的空间位置表示。因此需要建立相应的坐标映射关系来实现这一转换过程。若在模型中采用整个图像作为输入(而非局部搜索窗口),则无需进行额外的特征点坐标的转换操作。

特征融合与输出
- 
输入:该坐标Token集合 Y^{t-N:t-1} 包含三个关键元素:操作符Command token 和视觉特征 Vision Features。
其中 Command token对应于轨迹预测值(trajectory proposal)。其目的是通过与搜索区域Search区域内的特征 X^t 和模板区域Template区域内的特征 Z^t 结合使用视觉特征 Vision Features 来计算当前帧的目标位置估计值 Y^t. - 
decoder由两种类型的注意力机制构成
 - 
坐标Tokens采用Masked Self-Attention机制用于传递时间维度和空间维度的信息
 - 
交叉注意力机制用于传递视觉特征和运动特征之间的关系(具体来说是坐标Tokens Y^{t-N:t-1}以及命令Token)
 

旨在提高效率的做法是,在上述default decoder架构(自注意力模块与交叉注意力模块组合)重复六次的基础上进行优化,并对下列altered decoder进行独立设置。

消融实验
N与Vocabulary

- N代表历史帧的数量,在这种情况下N=1时仅基于前一帧的历史信息进行分析;而当N值越大时,则能获取更多的历史信息以供参考。
- Vocabulary代表坐标范围的设定,在实际应用中通常设定为Search Region大小的倍数。这样一来不仅可以包含更多的历史帧边界框还能更好地提取丰富的运动信息。
 
 
实验结论
经实验验证,在Vocabulary=1的情况下(即词汇表大小为1时),当设置N=3时能够获得最优性能;然而随着N值增大导致性能下降的原因在于尽管历史帧数量增加了更多的信息量(即更多的历史帧),但其中落在Vocabulary范围之外的数据并不具有实际意义(即那些超出词汇表范围的信息无法被有效利用)。因此,在进一步优化方面可以考虑适当扩大Vocabulary的规模(即增加词汇表的容量)。然而需要注意的是,在这种情况下虽然可能会提升整体定位精度水平(即提高定位准确性),但同时也带来了定位上的挑战(即可能会影响定位效率或引入新的定位误差)。从实验结果中可以看出,在相同的N=3设置下(固定历史帧数量),适当扩展现有词汇表反而会导致整体定位效果不如预期预期的效果理想)。
Bins

- Bins是坐标量化过程中使用的参数。
 - 固定搜索区域的分辨率设定为256像素,并通过计算得到Vocabulary= 2\times256即Vocabulary= 512
 
实验结论
研究表明适量提升Bins的值有助于提升性能。然而选择过大Bin的数量(例如1600)可能会导致计算后的坐标在Vocabulary映射时溢出。
