单目标追踪——【Transformer】Autoregressive Visual Tracking

论文链接:https://paperswithcode.com/paper/autoregressive-visual-tracking
代码链接:https://github.com/miv-xjtu/artrack

文章侧重点

  1. ARTrack 利用目标先前帧的预测位置,建模目标运动信息来辅助当前的目标追踪定位。原本的基于帧的追踪任务(次最优化)变成了序列追踪任务(最优化),这一点与目标追踪本身的定义一致。
  2. 端到端的实现,没有预测头和后置操作。
  3. 受到Pix2Seq的启发,利用相似的构建离散的坐标体系与Vision feature一同输入后续的Decoder。
  4. 先前SwimTrack将目标运动信息作为特征输入Decoder再借助Head输出定位相比,ARTrack 旨在用先前的轨迹教会模型如何进行输出(这点与Pix2Seq一致),直接借助Decoder回归出目标的位置。

网络结构

请添加图片描述该网络一共有两个组成部分:Encoder(Vision Feature的特征提取融合)+ Decoder(Vision Feature+Motion Feature 特征融合与输出)

Encoder(特征提取与融合得到Vision Features)

图取自ViT
请添加图片描述

  1. 输入:模板图片、包含历史帧和当前帧的序列图片们
  2. 沿用了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。
  3. 输出:特征融合后的Vision Features

Decoder(Vision Feature+Motion Feature 特征融合与输出)

运动特征生成

历史轨迹的量化一共有两个步骤:坐标值离散化和坐标映射。

  • 坐标值离散化
    1. 历史帧中的目标定位例如: [ x m i n , y m i n , x m a x , y m a x ] [xmin, ymin, xmax, ymax] [xmin,ymin,xmax,ymax] 将这4个值的范围变为[1, nbins],nbins就是图像的最大宽高, 例如输入600x600的图像, nbins为600。如果nbins大于等于图像的最大宽高,则没有量化误差。
    2. 将量化后的目标坐标值作为一个可学习的词典(Vocabulary)的索引,这样就可以得到坐标相关的Tokens。使得这些Tokens输入到语言模型的decoder中可以回归出坐标。
  • 坐标映射

因为历史帧中的坐标有两种:在全图的坐标和在Search Region的坐标。因为Search Region是全图经过变换裁剪得到的,所以当追踪模型的输入是Search Region,那么模型中用到的历史帧中目标坐标也得是基于Search Region中的坐标。由此才需要坐标映射。
如果模型使用整张图片帧作为输入(而非Search Region),则坐标映射不需要。

请添加图片描述

特征融合与输出
  • 输入:坐标Tokens Y t − N : t − 1 Y^{t-N:t-1} YtN:t1Command tokenVision Features
    其中,Command token表示一个轨迹预测值(trajectory proposal),旨在与Search X t X^t Xt、Template Z t Z^t Zt的特征们Vision Features得到当前帧的目标坐标估计值 Y t Y^t Yt
  • decoder包括两类Attention
    • 坐标Tokens应用Masked Self-Attention,旨在传递交互时空信息。
    • Cross-Attention旨在交互Vision Features与Motion Features(坐标Tokens Y t − N : t − 1 Y^{t-N:t-1} YtN:t1Command token
      请添加图片描述
      为了改进效率,将上面default decoder结构(self-attn+cross-attn)x6,改进下列altered decoder的分开的结构。
      请添加图片描述

消融实验

N与Vocabulary

请添加图片描述

  • N表示历史帧的长度,当N=1时,就基于前一帧的历史信息,当N越大,就有更多的历史信息。
  • Vocabulary表示坐标范围,一般设置为Search Region大小的倍数,Vocabulary的范围越大,就可以包含更多的历史帧边界框,就有更多的运动信息。

实验结论
如上图所示,当Vocabulary=1时,N=3能达到最佳性能,而N越大性能反而下降是因为虽然历史帧多了,但是落在Vocabulary以外的是无效的。这时候可以考虑扩大Vocabulary的范围,不过虽然性能也有提升,但也为定位目标带来了困难,所以从图中可以看到,相同的N=3下,扩大Vocabulary反而带来了性能下降。

Bins

请添加图片描述

  • Bins是在坐标量化中用到的参数。
  • 固定Search Region的分辨率为256,Vocabulary= 2 × 256 2\times256 2×256

实验结论
可以看到适当增加Bins的值可以改进性能,但是过大的Bins,例如1600,会使得计算后的坐标映射到Vocabulary后反而容易超界。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Transformer目标追踪是一种使用Transformer模型进行目标跟踪的方法。Transformer是一种基于自注意力机制的神经网络模型,最初用于自然语言处理任务,但后来也被应用于计算机视觉领域。 在传统的目标追踪方法中,通常使用卷积神经网络(CNN)提取图像特征,并使用循环神经网络(RNN)或卡尔曼滤波器等方法进行目标跟踪。而基于Transformer目标追踪方法则直接使用Transformer模型来学习目标的时空特征。 基于Transformer目标追踪方法通常包括以下几个步骤: 1. 特征提取:使用预训练的Transformer模型(如BERT、GPT等)提取输入图像序列的特征表示。可以将图像划分为一系列的图像块或帧,并将它们作为Transformer的输入。 2. 目标定位:通过在Transformer模型中引入位置编码,使得模型能够学习到目标在序列中的位置信息。这样,模型可以根据目标的上下文信息来预测目标的位置。 3. 目标跟踪:利用Transformer模型学习目标的时空特征,通过不断更新目标的位置信息来实现目标的跟踪。可以使用滤波器或者最大后验概率估计等方法来更新目标的位置。 基于Transformer目标追踪方法相比传统方法具有以下优势: 1. 具有较强的建模能力:Transformer模型能够学习到目标的时空特征,能够更好地捕捉目标的上下文信息。 2. 可以处理长期依赖关系:由于Transformer模型中的自注意力机制,可以有效地处理图像序列中的长期依赖关系,提高目标跟踪的准确性。 3. 可以适应不同尺度的目标Transformer模型可以通过自适应地调整注意力权重来适应不同尺度的目标,具有较好的尺度不变性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值