单目标追踪——【Transformer】SwinTrack: A Simple and Strong Baseline for Transformer Tracking

论文链接:https://arxiv.org/abs/2112.00995
代码链接:https://github.com/LitingLin/SwinTrack

文章侧重点

  1. 以目标检测领域的Swin Transformer为基础,构建全Transformer结构的目标追踪算法——Swin-Track
  2. 构建了Motion Token 在追踪中考虑到了目标运动信息,在增加计算复杂度的情况下提升性能。
  3. 将原有的Transformer中的absolute位置编码替换成untied positional encoding。
  4. 用varifocal loss替换交叉熵损失函数。

网络结构

请添加图片描述

  • 输入:当前帧图片(裁剪尺度=4)、目标模板(裁剪尺度=2)
  • Transformer-based Feature Representation Extraction
    1. 该部分是特征提取部分,用到了Siamese-based的网络结构,旨在提取相同特征空间下的目标模板特征和Search Region的特征。便于之后目标融合。
    2. 论文中的实验用的是Swin Transformer-Tiny( pre-trained with ImageNet-1k)和Swin Transformer-Base(pre-trained with ImageNet-22k)作为特征提取网络。
  • Transformer-based Feature Fusion
    特征融合一共有两步:Vision特征融合(Encoder的实现)+运动特征融合(Decoder的实现)。
    Vision特征融合:
    1. 将目标模板特征和Search Region的特征拼接为 f m f_m fm作为输入。
    2. 沿用了Transformer中的Encoder结构:Layer Norm (LN) + Multi-layers Self Attention (MSA) + Feed Forward Network (FFN)。这里直接用Self-Attention完成了特征增强和特征交互。
    3. 公式表达:
      请添加图片描述最后一步DeConcat直接将特征分离,就可以得到Search Region的特征。

运动特征融合:

  1. Motion Token Construction
  • 构建运动信息的Motion Token。将目标的历史轨迹表示为边界框(左上角坐标+右下角坐标,即x1y1x2y2)的集合: o s 1 = ( o s 1 x 1 , o s 1 y 1 , o s 1 x 2 , o s 1 y 2 ) o_{s_1}={(o_{s_1}^{x_1},o_{s_1}^{y_1},o_{s_1}^{x_2},o_{s_1}^{y_2})} os1=(os1x1,os1y1,os1x2,os1y2)请添加图片描述
    其中 n n n是固定长度的轨迹集合大小, Δ \Delta Δ是采样间隔,当距离一定帧采样可以避免目标框位置过于相近而数据冗余。
  • 上面的轨迹中目标坐标是全图中的坐标,由于Search Region经过中心裁剪,其中目标的坐标发生变化,故得到中心裁剪后的目标位置: T ˉ = o ˉ s 1 , . . . , o ˉ s 1 \bar{T}={\bar{o}_{s_1}, ..., \bar{o}_{s_1}} Tˉ=oˉs1,...,oˉs1
  • 规范化当前有效的坐标值,将其映射到整数范围 [ 1 , g ] [1,g] [1,g]中,生成带容错的Embedding集合:请添加图片描述其中,g表示Embedding的粒度,可以理解为特征图的channel,g+1这个设置是防止当前帧没有追踪目标(目标出视野)时的一个填充向量;w,h是Search Region的宽高。
  • 然后,将历史轨迹集合中的所有坐标值连接成 E m o t i o n E_{motion} Emotion,与Vision融合结果 f z , f x f_z,f_x fz,fx一同作为Decoder的输入。
  1. 带运动信息的Decoder:
    请添加图片描述
    该Decoder的造型和Encoder很像,除了把MSA变成了MCA(Multi-layer cross-attention)。
    - Prediction Head:3层感知机实现的预测。

实验

无motion token的消融实验

1:baseline(SwinTrack-T-224);2:用ResNet50作为backbone;3:用MCA替换Encoder中的MSA;4:用target query实现Decoder;5:用absolute sine position encoding 替换nited positional encoding;6:用交叉熵损失函数;7:去掉推理阶段的后处理——Hanning惩罚。
请添加图片描述

SwinTrack的消融实验

1: SwinTrack-T-224; 2: SwinTrack-B-384; 3: 无motion token的SwinTrack-T-224; 4: 无motion token的SwinTrack-B-384; 5: SwinTrack-T-224 用一个可学习的embedding token 替换motion token。
请添加图片描述

猜你喜欢

转载自blog.csdn.net/qq_42312574/article/details/132558288
今日推荐