Crop-Transform-Paste: Self-Supervised Learning for Visual Tracking

论文

Motivation

现有的跟踪方法依赖大量高质量标注数据集训练,但很多复杂挑战场景并未出现在训练数据中。为了避免昂贵的人工标注,本文提出一种自监督学习方式。作者设计了Crop-Transform-Paste,通过模拟跟踪过程中各种场景变化,合成足够的训练数据。在合成数据中目标状态是已知的,因此无需人工标注。

本文提出的自监督方法可以无缝集成到任何现有的跟踪框架中进行训练,实验证明提出的方法:1)在少样本跟踪场景中取得比监督学习更好的性能;2)能够处理目标形变、遮挡、背景干扰等各种挑战;3)可以与监督学习相结合,进一步提高性能。

Method

整体框架如图2所示,作者利用Crop-Transform-Paste来合成训练样本。给定一个只有第一帧有标注的跟踪序列,首先裁剪目标区域(crop);然后对目标进行跟踪相关的变换,模拟跟踪过程中的目标变化(transform);最后将变换后的目标粘贴到不同帧的不同位置上,模拟目标周围的背景(上下文)变化(paste)。

Crop

根据给定的bbox裁剪目标patch。其实也可裁剪任意的patch,但这样缺乏有效的语义特征和边界。

Transform

如图2中间部分所示,采用shear, blur, cutout, color jittering, rescale 来模拟跟踪过程中的形变、运动模糊、遮挡、光照和尺度变换。其中跟踪场景中出现的模糊通常是由相机抖动或快速运动引起的,因此采用shaking blur(滤波器核仅在水平和垂直中心线非零)。shaking blur不和cutout同时使用,因为cutout填充的黑块会影响blur,而且现实中又模糊又遮挡的场景也比较少见。

Paste

如图2右边部分所示,把变换后的目标块随机粘贴到其他帧的不同位置上。为了减轻直接粘贴在边界处产生的尖锐突变,作者在目标patch外增加了pad,并在pad区域使用混合相加以平滑过渡。此外,还可以从其他视频中选择相似目标块粘贴到背景上,模拟背景(相似物)干扰,作者将其称为Similar-Patch Paste (SPatchP)。

Discussions

利用上述Crop-Transform-Paste可以生成各种训练样本而无需人工标注,因此属于自监督学习。作者讨论了它与典型的关注表征学习的自监督学习(SSL-RL)之间的差异。

  1. 不同的框架。SSL-RL按照contrastive learning框架训练一个独立的特征学习模块,而本文的方法聚焦在生成无需人工标注的训练数据,因此可以嵌入到任何现有跟踪框架中;
  2. 不同的data transformation技术。SSL-RL通过data transformation构造训练对来训练其特征学习模块,而本文设计了特定的跟踪相关的transformations来模拟跟踪过程中的场景变化。由于目标不同,采用了不同的transformation技术。比如后续实验中发现翻转(flip)会产生不利的影响。

Experiments

本文的实验非常充分,对比了不同的跟踪器,不同的数据变换方式,训练的数据量,以及和有监督方式的结合等。

Analysis of Crop-Transform-Paste

Selection of base target patch 表1对比了不同的目标块生成方式,SS-random表示随机裁剪,SS-annotated表示根据标注裁剪。显然后者优于前者,因为标注目标包含更有效的语义特征和更多的边界信息。并且自监督学习的性能和监督学习(Su)也比较接近。

Selection of images to paste onto 表2对比了不同的粘贴方式。裁剪的目标粘贴到相同的视频序列中优于粘贴到其他视频序列中。

Ablation of Each Transformation

作者做了两组实验分析每种变换的作用,第一组在只有shift变换的baseline1上添加一个变换来显示性能增益,第二组从使用所有变换的baseline2中删除一个变换来呈现性能下降。表3显示rescale和shift的作用最大,说明尺度和平移变换是最常见的。blur和color jitter单独使用不够好,可能过拟合,而与其他变换结合使用时有益的。flip不管单独使用还是结合其他变换一起均带来负面影响,作者认为它破坏了目标的边界信息(为什么?)。

Advantages of the Proposed Method

Challenge-oriented transformations Crop-Transform-Paste的一个明显优势在于可以针对跟踪挑战定制变换方法,比如1) rescale for Scale Variation (SV); 2) Cutout for Occlusion (OCC); 3) Blur for Motion Blur (MB) and 4) Similar-Patch Paste (SPatchP) for Background Clutter (BC)。如图3所示,针对OTB100中的各种挑战,使用对应的变换方法能够有效提升性能。在遮挡、运动模糊和背景杂波的测试序列上,cutout, blur, 和 similar-patch paste 在SS+Su模式下的提升甚至超过单独SS模式下的提升,说明这些场景的标注数据很少。

Data efficiency 图1和图4对比了自监督学习(SS)、监督学习(Su)和二者结合(SS+Su)在使用不同数量的标注样本训练时的性能。可以看到,SS仅需要很少的标注样本0.6K就能收敛到一个不错的结果。并且二者结合可以进一步提升监督学习的性能。

Integration with supervised methods

表4用SiamRPN++和DiMP证明提出的自监督方法可以嵌入到现有的有监督框架中进一步提升性能。DiMP提升较小是因为它本身有个在线训练模块能够一定程度 处理跟踪目标或场景的变化。

Evaluation against Unsupervised Methods

最后是和无监督方法的对比,同样是更优的。

小结

本文提出了一种基于Crop-Transform-Paste的自监督学习方法,用于在没有人工标注的场景下训练跟踪模型。方法简洁,实验充分。个人认为这篇文章的重点在于自监督而不是数据增广,毕竟增广那部分只是单纯做了些常见的变换,核心还是利用这些变换有针对地合成各类样本。

但就带来一个新的思考:如果我不用合成样本的自监督学习,直接把所有的变换全部作为数据增广加到有监督学习的训练中效果如何?以一个视频序列举例,本文的合成样本只利用视频的某一帧进行变换再粘贴到其他帧上生成N个样本;而传统的监督方法是获取视频中任意N帧得到N个样本。那假如对这N个不同的真实样本直接做数据增广,理论上能够覆盖的样本变换范围应该更大,效果是不是会更好?