背景介绍:相关操作在跟踪领域,尤其是基于孪生网络架构的追踪算法中扮演了一个十分重要的角色,它简单混合了模板特征图和搜索特征图,以检验其相似性。
提出问题:相关操作是一个局部线性匹配过程,会丢失语义信息并易陷入局部最优,因为相关操作可能是高性能追踪算法的设计瓶颈。那么,是否有比相关操作更好的特征混合方法呢?
本文做法:提出了基于注意力机制的特征混合网络,可以只使用注意力有效混合模板特征图和搜索特征图。具体地,提出算法包括了一个基于自注意力的自我上下文增强模块(an ego-context augment module based on self-attention)+一个基于交叉注意力的交叉特征增强模块(a cross-feature augment module based on cross-attention)。整体来看,提出的算法TransT包括基于孪生类的特征提取骨干网络+设计的注意力混合机制+分类和回归头。
实验:在6个数据集上验证算法性能,尤其在LaSOT, TrackingNet, GOT-10k上效果好。50 FPS on two Nvidis Titan RTX GPUs上。
跟踪背景:视觉目标跟踪在计算机视觉任务中是一个基础任务,它旨在预测每一个视频帧中跟定目标的位置和形状。当前,目标跟踪已经在机器人视觉,视频监控,无人驾驶领域中有着广泛地应用。目标跟踪地主要挑战在于遮挡,严重形变,相近目标交互等。最近这些年中,也有许多相关工作开展,但设计一个高精度的实时追踪器仍然有较大的挑战。
提出问题:对大部分流行的追踪算法(SiamFC, SiamRPN, ATOM等),相关操作在将模板和目标信息融入到ROI区域中扮演了一个重要的角色。但是,相关操作本身是一个线性匹配过程会丢失语义信息,限制了追踪器捕获模板和ROI中的复杂非线性交互。因此,之前的模型通过引入fashion structure, additional modules, 设计高效的在线更新其等手段提升非线性表达能力。这自然地引发了一个有趣的问题:有比相关操作更好的特征融合方法吗?
本文做法:设计基于注意力的特征混合模块,提出Transformer追踪方法。TransT的组成如下图所示,其中红框部分为本文核心。
在近些年,基于孪生网络类的方法是跟踪领域最流行的方法。
这些主流的追踪架构被分为2部分:提取特征的骨干网络+计算模板和搜索区域之间相似性的相关网络。还有,在线追踪算法如ECO, ATOM, DiMP也很依赖于相关操作。然而,他们都忽略了两个问题:
因此,本文设计了一个基于注意力的Transformer变体来替代基于相关操作的网络用于特征混合。
Transformer介绍:首次提出时应用于机器翻译领域。Transformer在基于注意力的编解码器帮助下将一个序列转换为另一个序列。注意力机制查看输入序列,并在每个步骤中确定序列的哪些其他部分是重要的,因此有助于从输入序列中捕获全局信息。Transformer已经在许多序列任务中替代了循环神经网络,如自然语言处理,语音处理,计算机视觉,并逐渐应用到处理非序列化的问题。
本文与DERT的区别:受到DERT及检测和跟踪的关系(如RPN和SiamRPN)的启发,我们尝试将Transformer引入跟踪领域。不同于DERT,我们没有直接应用原始Transformer中的编解码架构,因为它和跟踪任务不匹配。
本文做法:我们应用了Transformer的核心并探索注意力机制,从而设计了ego-context augment (ECA) 和 cross-feature augment (CFA) 模块。ECA和CFA模块的集成侧重于模板和搜索区域之间的特征融合,而不是仅从一张图像中提取信息。这种设计理念更适合视觉跟踪。
将注意力机制引入跟踪的文献回顾:
这两种网络仅引入注意力的概念去指导网络或特征选择。为了提升跟踪性能,不同的注意力层被用于增强相关匹配框架内的模板信息。
这些网络用注意力机制提升了跟踪性能,但是仍然高度依赖于模板和搜索特征图的相关操作。
TransT架构共分为三大部分,特征提取(3.1.1),特征混合(3.1.2),head预测(3.1.3),总体框架如下图所示,每个部分的细节下面依次介绍。
特征提取部分的示意图和张量shape变化过程如下图所示:
模板和搜索patch如何裁剪:模板patch——即x来自第一帧中从目标中心扩展两倍边长的图像并被reshape至128X128,其中包括目标的外观信息及其局部周围场景。搜索patch——即z来自上一帧中从目标中心扩展四倍边长的图像并被reshape至256X256。
改进的骨干网络:接下来将x和z分别输入到改进后的骨干网络ResNet50中得到f_x和f_z,其中对ResNet50的改进包含以下3部分:
为特征混合模块做准备:先对f_x和f_z利用1x1卷积降低通道数至256得到f_x0和f_z0;然后将f_x0和f_z0拉平,也就是flatten,得到f_x1和f_z1。
这里即将f_x1和f_z1输入feature fusion network中。feature fusion network包含2个ECA模块,其通过多头自注意力聚焦于有用的语义上下文增强特征表达;2个CFA模块接收特征图并通过多头交叉注意力混合这些特征图。这样,2个ECA模块和2个CFA模块组成一个混合层,这个混合层重复4次,再将结果输入到一个CFA中,解码为f。
ECA模块和CFA模块的细节将在3.2中介绍。
head预测部分的示意图如下图所示:
这里,分类和回归分支都是带有256个隐藏单元的MLP,直接预测前景/背景概率和归一化系数。
介绍了scaled dot-product attention的定义,及multi-head attention的定义(本部分来源于DERT,并非该论文创新)。公式如下:
这里将multi-head attention直接拿来式地应用于处理f_x1和f_z1,ECA的过程见下图:
本文利用了Transformer的核心思想:注意力机制。但没有直接用DERT中Transformer的原始结构。本文设计了一个新的结构使其更适用于跟踪框架,其中交叉注意力比DERT中的注意力机制更优秀,因为跟踪任务关注于模板和搜索区域特征。相关对比实验在Section 4.3中展示。
通过对ECA, CFA不同层次特征图的可视化,可以分析得到以下图中的结果。
正负样本划分:与ground-truth边界框中像素对应的特征向量的预测作为正样本,其余为负样本。
正负样本不平衡问题:将负样本的损失加权16 倍。
分类损失:即交叉熵损失,正负样本都参与计算。
回归损失:只有正样本参与计算,l1损失与IoU损失的加权和。
Offline Training: 在COCO, TrackingNet, LaSOT, GOT-10k数据集上训练。其中,TrackingNet, LaSOT, GOT-10k为视频数据集,直接从同一视频序列中采样图像对;对COCO,应用图像变化(反转,亮度抖动等)产生图像对。骨干网络是在ImageNet上预训练的ResNet-50,其他参数由Xavier初始化,用AdamW训练,骨干网络的学习率为1e-5,其他参数的学习率为1e-4,weight decay=1e-4。在2个Nvidia Titan RTX GPUs上训练,batch size=38, 共1000 epochs. 500 epochs 后学习率下降10倍
.
Online Tracking: 对每个搜索区域,输出1024个boxes,且带有前景/背景分类概率+回归系数。通过window penalty得到每个框的分数score。再对这个分数通过32x32的Hanning window得到score_h,最终的分数是score和score_h的加权和。
Post-procseeing: TransT只有window penalty,没有尺度惩罚,边界框平滑等。这里进行了消融实验。
Comparison with the original Transformer: TransT只有window penalty,没有尺度惩罚,边界框平滑等。这里进行了消融实验。
Comparison with correlation: