单目标跟踪
单目标跟踪任务介绍
对于一段视频序列,在视频开始时,给定跟踪目标的位置,通过设计算法得到后续帧中目标的位置和尺度信息。
- 只关注一个目标,并且可以跟踪任意类别的目标,无类别限制
- 挑战:跟踪过程中,目标和环境可能会出现各种不同的变化,比如遮挡、光照变化、非刚性形变、背景杂乱等情况
后续算法的设计就是为了解决各种的挑战,提升跟踪算法的性能和鲁棒性
单目标跟踪数据集发展史
数据集是算法训练与评估的基础。单目标跟踪领域有丰富的数据库资源
- 2013年之前,跟踪算法使用自己采集的若干段序列进行评估
- 2013年,第一个Benchmark OTB50的出现,Tracking发展进入加速期,使得目标跟踪的评估更加规范
- 2015年,扩展OTB50,得到OTB100
- 2018年,大规模短时跟踪数据集TrackingNet和长时跟踪数据集OxUvA诞生
- 2019年,(大规模长时跟踪数据集)LaSOT和(目标类别极其丰富的短时跟踪数据集)GOT-10K等大规模跟踪数据集的出现,针对目标跟踪产生的训练集使得跟踪算法的性能进一步提升。
2018年起,他们的视频数量可以达到千至万的规模,图片数量可以达到百万甚至千万的规模
与此同时,2013年起,VOT组委会开始举办一年一届的目标跟踪大赛,场景逐渐丰富。2017年设置了实时赛道,2018年设置了长时赛道,2019年设置了多模态RGBD&RGBT赛道,促进了跟踪朝着高鲁棒性的方向发展
评估指标
算法被初始化后不再对算法修正,如果算法跟踪错误,可能会导致后续帧全部失败,主要的评估方式有两种,
- One Pass Evaluation(OPE)
One Pass Evaluation采用Success和Precision进行评估。Success反映预测目标框的大小和尺度的准确性,Precision反映中心位置误差 - VOT系列
EAO(Expect Average Overlap) 综合精度A和鲁棒性R的指标
单目标跟踪代表算法
目标跟踪历史悠久,发展历史波澜壮阔,将发展历程分为以下四个阶段:
- 2015年之前,目标跟踪还处于探索阶段,期间出现了基于均值偏移、粒子滤波、子空间学习、分块表示、稀疏表示等框架的算法,派系众多,百家争鸣。
- 2015之后,相关滤波与深度学习的兴起,出现了相关滤波与深度学习算法的比拼,两个框架势均力敌不分伯仲。相关滤波代表算法有MOSSE、KCF、CCOT、ECO,深度学习的代表算法有GOTURN,MDNet&RT-MDNet、SiamFC、SiamPRN。随着大规模数据集的出现,大量训练数据使得深度学习的算法的优势得以体现。
- 2019年之后,孪生滤波成为目标跟踪网络的主流框架,代表算法有SiamRPN++,SiamMask,SiamFC++,ATOM,DiMP
- 2021年,随着Transformer在视觉任务上表现出众,一系列基于Transformer的跟踪算法以高精度、实时的优势成为目标跟踪中目前最优的算法.代表算法有TransT,TMT,STARK,SwinTrack
SOT方法分类
大都基于深度学习,主要分为两类:
- one-shot方法:SiamFC,SiamRPN,SiamMask
给网络一个目标图片(称为模板),同时给网络搜索区域一个图片,网络会对模板和搜索区域进行比较,选择和模板相似的物体。只需要离线训练,使网络学到模板匹配的能力即可。
one-shot的方法会使用Siamese网络,分别对模板和搜索区域进行特征提取,对提取的特征进行匹配从而得到结果。
- online方法:MDNet,ATOM,DiMP
除了离线训练外,在在线跟踪的阶段,在每个视频开始时,用一个初始帧跟踪器进行初始化训练,让网络去适应当前的目标,后续帧的测试就变成了一个简单的分类问题,它不再需要输入模板,只需要输入搜索区域,网络在搜索区域的每个特征点上进行前背景的二分类或者对于目标存在的概率进行预测即可。随着跟踪过程的进行,网络会进行在线训练不断适应目标外观的变化。
- 比较
one-shot的方法结构简单,速度较快;但精度较低
online的方法可以在线适应目标外观的变化,精度较高,但在线训练使其速度变慢
根据模型框架,目前主流的SOT方法可分为以下四类:
一. 基于相关滤波 e.g.,KCF,DSST,BACF
二. 基于孪生网络(Siamese)的生成式方法 e.g.,SiamFC,SiamRPN,Ocean
三. 在线更新的辨别式方法 e.g.,MDNet,ATOM,DiMP
四. 基于Transformer e.g.,TransT, Stark,SwinTrack
根据任务类别,视觉跟踪的其他分支有:
长时跟踪->解决目标频繁消失再重现的挑战
多模态跟踪-结合其他模态信息如红外深度文本协助可见光信息进行跟踪
-
相关滤波跟踪方法
在信号处理中,相关操作可以衡量两个信号之间的相似程度。
KCF原理:通过计算可学习的滤波器(表示目标特征)和搜索区域的相关性,生成响应图,最高响应位置就是目标位置.
根据相关定理,相关滤波类方法可以通过转换为频域计算来提升速度
优点:跟踪速度快,可在线适应
缺点:只能跟踪位置,无法跟踪尺度大小变化, -
基于Siamese的跟踪方法(基于孪生网络的跟踪器)
核心思想:学习模板与搜索区域的相似性
优点:后处理的流程复杂,性能对后处理的超参数敏感(在基于Transformer的跟踪器中得到缓解
缺点:不进行在线更新,导致辨别性低- Siamese跟踪方法的代表-SiamFC ⭐
通过一个简单的互相关操作,实现了在搜索区域上定位模板的效果
为了保持互相关和卷积的平移不变性,使用的骨干网络是一个无填充的AlexNet
SiamFC的结构说明:主干网络分别提取模板和搜索区域的特征,再对二者使用correlation运算得到一张相似度图,相似度图上响应较大的位置是目标的位置
correlation运算:是将模板以滑动窗口的形式在搜索区域上进行线性乘法来得到一张响应图。缺点:是局部比较,缺乏全局信息;是一个线性运算,输出的是一个相似度图,即丢失了语义信息,成为设计高性能算法的瓶颈 - SiamRPN ⭐
该方法首次将单目标跟踪任务建模成one-shot检测任务)
在SiamFC的范式下,将模板信息编码至RPN模块中,提升了预测边界框的准确度
不需要多尺度计算,速度较于SiamFC有了大幅的提升 - SiamRPN++
使用ResNet-50作为骨干网络,
使用Depth-wise correlation进行特征交互 - SiamMask ⭐
通过引入更多的数据增强,用主通道相关代替互相关,以及对模板特征的一次correct操作,成功训练了ResNet-50的
使用ResNet-50作为骨干网络,效果有了大幅的提升
边界框预测头部并联了mask的预测头部(引入掩码分支),使其能同时胜任(统一)SOT和VOS两项任务 - SiamFC++ ⭐
将Anchor-free思想引入目标跟踪,缓解了手动设计anchor不灵活的问题,进一步提升了跟踪器的精度和速度 - Ocean
自适应卷积用来提取目标感知的特征
- Siamese跟踪方法的代表-SiamFC ⭐
-
在线更新的辨别式跟踪方法 e.g.,MDNet,ATOM,DiMP
核心思想:搭建一个分类器,通过在线学习一个辨别式分类器来区分背景和目标
特点:在线更新可以更加准确捕捉外观变化,但速度变慢;
在线更新可能会引入噪声样本,在一定程度上增加了模型退化的几率
典型方法框架代表:- MDNet
该网络是一个二值分类器,由若干个共享层和多个特定于域的分支组成。
共享层用于学习通用的特征表达,而每个域都关联一个独立的序列,Fc4,fc5和特定于域的fc6层的参数会被在线微调来适应指定序列中目标的外观变化 - ATOM
将目标跟踪分为目标估计和分类两部分。在线分类器用于目标定位,目标估计通过离线训练IoU预测器来实现,特征调制类似于Siamese的网络结构,用于IoU的预测。 - DiMP
在ATOM基础上进一步改进,提出了一个辨别式的模型预测框架。它仅在分类分支上增加了一个模型预测器来学习模型权重。
提出一个辨别式损失函数来学习一个鲁棒的目标模型,提出一个可以快速收敛的优化策略,自适应的学习学习率
- MDNet
- 基于Transformer的跟踪方法
从SiamRPN开始,单目标跟踪,特别是Siamese跟踪器,受目标检测领域的影响很大。随着Transformer最近在分类、检测任务中取得成功,在单目标跟踪中也引领了一次快速进步。
特点:建立远距离特征间的关联、聚合全局信息、有更少的归纳偏置
但也存在需要大量数据训练,token数量较多时计算量较大等缺点
然而,单目标跟踪中有丰富的数据集,并且,目前常采用搜索区域的方法进行跟踪,所以图片较小,token数量较少,刚好一定程度上可以绕过Transformer的缺点。因此Transformer在跟踪中,特别是在搜索区域与模板的特征融合上,取得了成功的应用。
- Transformer的代表性方法
是Siamese跟踪方法的进化,有效的特征融合,Transformer有效提升跟踪性能
1. TransT
Siamese中常用的correlation运算是将模板以滑动窗口的形式在搜索区域上进行线性乘法来得到一张响应图。缺点:是局部比较,缺乏全局信息;是一个线性运算,输出的是一个相似度图,即丢失了语义信息,由于缺乏语义信息和全局信息,因此不利于定位中干扰物的排除以及精准的边界框回归,成为设计高性能算法的瓶颈
针对Siamese Tracker的缺点, 为了解决这个问题,采用基于Transformer的attention机制来取代Siamese中的correlation运算,来进行搜索区域与模板的特征融合。
整个工作的关键在于特征融合网络,包括基于self-attention的ECA模块和基于cross-attention的CFA模块。ECA进行全局信息的聚合,CFA进行搜索区域与模板的特征融合。 对于主干网络提取的模板和搜索区域的特征,特征融合网络对二者进行融合,输出融合后的特征向量组,再用简单的多层感知机来进行前景背景的二分类和边界框的回归,用简洁的结构取得了很好的跟踪性能,并且可以达到实时的速度
**attention机制和multi-head attention机制:**
- attention机制
输入:三个特征向量组Q,K,V,也就是三个2d的特征图
对Q,K进行计算,K,V的来源是一致的,如果Q与K,V来源一致,那么就是self-attention,如果Q与K,V来源不一致,那么就是cross-attention。
Q与K之间通过矩阵乘法计算得到Q中每个向量对K每个向量的attention score,再对V中每个向量进行加权,实现了对V的注意力增强。
由于在运算过程中Q可以看到K中每个向量,所以可以捕获到全局信息,对于远距离的特征也可以建立关联,这一点是一般的卷积做不到的
- multi-head attention机制
是对attention的一个改进。
先对V,K,Q分别映射,通过降维映射到不同的特征子空间,在每个特征子空间里做attention之后,将三者concat起来,再映射回去。
通过降维到不同的特征子空间可以关注到更丰富的特征,提升精度
- 本质上是特征的增强,输出的是加权后的特征,而并非correlation运算那样,输出一张没有语义信息的相似度图
基于attention的机制,我们设计了一种新的跟踪框架-TransT。它包含三个部分,分别是特征提取、特征融合和预测头部
特征提取-提取模板和搜索区域的特征。
像以前的Siamese Tracker一样,用修改版的ResNet50来分别对模板和搜索区域提取特征。再将两组特征放入基于Transformer的特征融合网络进行融合。
特征融合网络-对特征进行增强和融合
特征融合网络包括基于self-attention的ECA模块和基于cross-attention的CFA模块。ECA进行全局信息的聚合,CFA进行搜索区域与模板的特征融合。两个ECA和两个CFA组成一层特征融合层。特征融合层循环n次后(默认n=4),接一个额外的CFA来融合两个分支的特征图输出最终的特征。最后,在输出融合后的特征向量组的每个向量上,再用(简单的多层感知机)预测头部来分别进行前背景的二分类和边界框的回归,得到结果。再通过后处理和执行度选出最好的一个框作为最终的结果。
用简洁的结构取得了很好的跟踪性能,并且可以达到实时的速度
具体来说:
- ECA是一个基于Multi-Head Self-Attention的残差模块。对单个分支的特征进行增强。
- CFA是一个基于Multi-Head Cross-Attention的残差模块。对搜索区域和模板两个分支的特征进行特征融合。FFN用来增强拟合能力。
- ECA和CFA相较于correlation计算来说,输出的是加权后的特征,而并非correlation运算那样,输出一张没有语义信息的相似度图,保留了丰富的语义信息。而且还可以建立远距离特征之间的依赖,整合全局信息。
不采用Transformer的原始结构?
Transformer模型中采用了 encoer-decoder 架构
-
encoder,包含self-attention层和前馈神经网络,self-attention能帮助当前节点不仅仅只关注当前的词,从而能获取到上下文的语义。
-
decoder在这两层中间还有一层attention层,帮助当前节点获取到当前需要关注的重点内容。
在decoder端输入搜索区域特征,在encoder端输入模板特征,cross-attention只对encoder端的输入加权,对于跟踪来说显然是不合理的,所以改成了
特征融合网络结构,特征融合网络可以看作是变体的Transformer实验分析
- 一次跟踪中attention score可视化
说明:高亮点代表attention关注的空间位置,特征融合层默认循环四层,对应图像的一列,每列对应两个ECA和两个CFA,即两个self-attention和两个cross-attention。
分析:把attention map可视化,可以看到,随着特征融合层的深入,attention会逐渐找出目标,并关注于关键信息。self-attention会更关注于目标中心,而cross-attention则更关注于边界信息。 - 跟踪结果可视化
说明:绿色框-真值框,红色框-TransT预测框,蓝色框-Ocean算法预测框,黄色框-DIMP算法预测框,右侧-attention map的可视化
分析:TransT对于遮挡的表现还是比较好的,这归功于attention对于全局信息的整合,更易找到一个全局最优解,把斑马的整体框出来。 - 实验结果
TransT在LaSOT,TrackingNet,GOT-10k这三个大规模数据集上,比以前的算法都取得了一个较大的提升,与此同时TransT可以达到46fps,而特征融合层循环两次的TransT,在达到较高性能的同时,能达到更快的速度-66fps
在LaSOT的不同场景下,TransTN4和TransTN2都比之前的算法好一些;
在NFS,OTB,UAV这三个小尺度数据集上也达到了很好的性能
消融实验中,首先探究了后处理的影响。Siamese Tracker的预测值通过宽高度惩罚,余弦窗惩罚还有边界框平滑三个后处理辅助知情度来选择。这里引入了三个超参,由于Siamese Tracker对于后处理的超参很敏感,调参费时,这导致了Siamese Tracker在复现时的困难。而TransT只使用了余弦窗惩罚这一个后处理,并且只有一个测试时的超参,在参数确定好后无需再调整超参。这里我们直接将后处理去掉(TransT-np),可以观察到,后处理对于性能的影响并不大。我们也与原版的Transformer做了对比,可以看到原版Transformer的性能要差一些,但与以前的算法相比性能也是比较高的,这也印证了用attention代替correlation的出发点
也探究了ECA和CFA模块与correlation的消融实验。如果去掉ECA模块,性能会下降但不会下降很多;而如果把CFA换回correlation,对性能的影响很大;如果把ECA,CFA都去掉换回correlation,性能会下降更多,而且后处理的影响会很大,这说明没有attention整合全局信息,网络只能更多的依靠后处理中的先验信息
总结:提出了一个新的基于Transformer的跟踪框架,以解决以往Siamese Tracker中correlation的瓶颈,提出了一个完全离线,实时,高性能的跟踪器TransT
未解决的问题:
干扰项同时出现
超出搜索区域- TMT
使用Transformer来加强特征 - STARK
拼接搜索区域和模板的特征,提升跟踪速率
角边界框预测模块使得回归更加准确
- 一次跟踪中attention score可视化
单目标跟踪发展趋势
1. 融合检测来实现跟踪成为主流
2. 现有的算法如SiamMask来预测mask实现像素级的跟踪
3. 大规模数据集的出现使得深度学习的性能得到充分发挥
4. 随着跟踪算法的发展,对子领域的研究逐渐得到扩展,如RGBT,RGBD,LT
主流跟踪算法和长时跟踪总结
知名学者
Philip Torr
Martin Danelljan