Advertisement

论文阅读:CVPR2023 : Autoregressive Visual Tracking

阅读量:

论文地址:CVPR 2023 Open Access Repository

code on github :https://github.com/MIV-XJTU/ARTrack
在这里插入图片描述

Abstract

该模型 ARtrack 将目标跟踪任务视为一个对目标坐标序列的解释任务,逐步估计目标轨迹。当前这一帧的状态会受之前状态的影响,并且会反过来影响后续的序列,这种时间自回归的方法通过建模轨迹的演化来持续跟踪目标。

Introduction

研究背景:视觉目标跟踪任务由于变形,尺度变化,遮挡以及干扰等因素,在应用中面临巨大挑战。

现有的研究着重研究每帧模板匹配的问题,忽略了帧之间的时间依赖性。

  • 从搜索图像和模板图像中提取深度神经网络特征
  • 用卷积和注意力机制进行特征融合和匹配
  • 通过定制化头部精选边界框定位、分类、尺度估计等任务

然而,这样的方法需要复杂的后处理过程,可能需要单独的训练和推理

该论文提出了一个新的框架,将跟踪任务视为坐标序列的解释任务,学习一个模型直接估计轨迹。

该框架基于给定一个帧序列和一个初始物体框,跟踪器用于解释一系列 物体的坐标来跟踪物体,通过建模物体跨帧的逐步运动轨迹。这种方法避免了定制化的最总头和后处理过程,而是仅依赖坐标回归。

通过量化和序列化的方法从目标运动轨迹中构建离散的标记序列(ViT构建图像token的类似方法)

用 encoder - decoder架构来感知视觉信息并逐步生成目标序列

之前的结果作为时空提示,将前面的运动状态传播到后续帧中,以获得更连贯的跟踪结果。

使用结构化的损失函数训练

Method

1.从物体运动轨迹构建序列

tokenization

在当前帧t的目标框由左上和右下 两个点四个坐标描述,每个坐标是一个介于 [1,n_bins]之间的整数。这里的n_bins是可以调整的。当n_bins大于图像分辨率时,就可以准确的描述目标框位置;当n_bins较小时,可以看作是把像素的位置进行了缩放。例如[1,10]则就是把原来图像中每个像素的位置分到1~10之间的整数(如200*200的图片,1-20都是1)。

这个过程称为量化,之后用量化得到值索引一个可学习的表,获得与坐标对应的token。这样就相当于用离散的形式来描述了目标物体的位置,后续可以使用线程的decoder来解码。

(简而言之,核心思想是将框的位置坐标变成embedding

Trajectory coordinate mapping 轨迹坐标映射

以前的工作为了节约计算成本,会裁剪一个搜索区域来寻找目标,这意味输出的坐标是相对于搜索区域在当前帧中的坐标。

为了获得统一的表示,有必要将不同帧的目标框映射到一个统一的坐标系中。将前N帧中全局坐标系中的物体框坐标进行缓存,在裁剪完搜索区域后将这些缓存的坐标映射到当前这个统一的坐标系中。

Representation range of vocabulary

词汇表的表示范围根据搜索大小设置,但目标的快速移动可能导致前序轨迹序列超出搜索区域的边界。为了考虑这种情况,我们通过搜索区域范围的倍数来扩展表示范围。

这使得词汇表能够包含位于搜索区域之外的坐标,从而使模型能够捕获更多的前序运动线索用于跟踪,并预测超出搜索区域的边界框。

笔者的理解 :参照tokennization中的说法,裁剪搜索区域后,获得框在搜索区域中的坐标,该坐标需要映射到[1,n_bins]之间。词汇表的表示范围指的就是这里的[1,n_bins]。以原文中的图举例:
在这里插入图片描述

这里图中的坐标系对应下面的绿色线段,从0-400是搜索区域,同时也是词汇表的表示范围,也就是说这里的 n_bins 是400.(搜索区域中的物体框的坐标就会对应可学习的词汇表,变成一个token)

进行搜索区域拓展指的是,由于考虑物体可能快速移动以至于超出搜索区域的边界,因此将词汇表的范围拓展(实际上也就是拓展了搜索区域),可以看到绿色的线段从[0,400]拓展到了[-200,600].

2.网络结构

encoder - decoder 架构

Encoder

使用与OSTrack相同的ViT编码器来进行视觉特征编码。

  • 图像 - patch - embedding
  • 加入positional embeddings 和 identity embeddings
  • ViT主干网络

Decoder

使用Transformer解码器生成目标序列,利用 之前帧的坐标标记命令token该帧的视觉特征 作为条件输入逐步解码整个序列。

其中之前帧的标记作为时空提示,命令token提供轨迹的建议,模板与搜索图像匹配,从而得到坐标预测。
在这里插入图片描述

  • 自注意力:用于在坐标token之间传递时空信息
  • 交叉注意力:用于结合运动信息和当前帧的视觉信息,得到最终预测结果
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如图所示,本文在处理解码器的时候,考虑将到之前使用的自注意力和交叉注意力都是耦合的(左图),为了提高效率,在设计时将自注意力和交叉注意力解耦,变成相互独立的模块,这样做可以在交叉注意力部分更好地使用到视觉特征。

但是在具体实现以及模块的具体机制方面文章中并没有详细介绍,这也是令笔者感到困惑的地方,这样做比原来的方法好在哪。

3.Traning and Inference

由于这是一个生成式模型,其本质是想让生成出来的坐标序列最有可能符合实际的运动,因此可以用**“最大化对数似然”**的想法来设计损失函数。
在这里插入图片描述

其中T是目标序列的长度

在启动阶段,也就是t<N的时刻,前面没有足够的提示,那么确实的提示由初始值Y1提供,随后每一帧的跟踪都由前N帧提供先验信息。

在训练过程中,除了运动轨迹的损失,还考虑到了IoU损失,以更好地测量预测边界框和真实边界框之间的空间相关性。
在这里插入图片描述

其中前者是交叉熵损失函数,后者是SIoU损失函数,λ是平衡损失项的权重。

推理阶段:

从模型得到的似然函数P中采样。型会根据之前的时间步长的输出(即 Y**tN :t −1)以及当前时间步长的输入(包括命令标记 C 、模板图像 Z 和搜索图像 X**t )来计算当前时间步长 t 的目标序列 Y**t 的条件概率分布 P(Y**tY**tN :t −1,C ,Z ,X**t)。然后,我们从这个概率分布中采样,以得到当前时间步长的预测标记。这一过程在每个时间步长 t 都会重复进行,从而生成整个目标序列的预测。

总的来说就是生成式模型的推理过程。
P(Y**tY**tN :t −1,C ,Z ,X**t)。然后,我们从这个概率分布中采样,以得到当前时间步长的预测标记。这一过程在每个时间步长 t 都会重复进行,从而生成整个目标序列的预测。

总的来说就是生成式模型的推理过程。

全部评论 (0)

还没有任何评论哟~