Learning to Track Objects from Unlabeled Videos
USOT: 学习跟踪从未标记的视频中提取的对象
摘要
在本文中,我们提出了从头开始学习一个无监督的单对象跟踪器(USOT)。我们发现,三个主要的挑战,即移动对象发现、丰富的时间变化利用和在线更新,是现有的无监督跟踪器的性能瓶颈的核心原因。为了缩小无监督跟踪器和有监督跟踪器之间的差距,我们提出了一种包含三个阶段的有效的无监督学习方法。首先,我们用无监督的光流和动态规划对顺序移动的物体进行采样,而不是随机裁剪。其次,我们使用单帧对从头开始训练一个简单的孪生网络跟踪器。第三,我们继续用一种新的循环记忆学习方案来训练跟踪器,该方案在更长的时间跨度内进行,也使我们的跟踪器能够在线更新。大量的实验表明,从未标记视频中学习到的USOT的性能远远超过了最先进的无监督跟踪器,与最近的监督深度跟踪器相当。
1. Introduction
我们确定了导致无监督跟踪器性能瓶颈的三个关键挑战。1)移动对象的发现。由于groundtruth真实边界框不可用,现有的无监督跟踪器在帧中随机采样区域作为伪模板。随机样本还远不能精确地定位物体,更不用说学习区分物体和背景了。此外,由于随机样本不包含清晰的对象边缘,因此它们不适合进行边界框回归。尺度变化估计缺乏边界盒回归,严重限制了无监督跟踪器的性能。2)丰富的时间变化信息挖掘。由于在时间跨度内缺乏标签,现有的无监督跟踪器很难从丰富的运动线索中学习。例如,UDT [37]在最多10帧内执行正向和向后跟踪。在这样一个短的片段中,前景对象显示高度相关的外观,变化很少,导致未能利用长时间内丰富的时间变化进行训练。3)在线更新。在线更新有助于利用时间平滑性,并在领先的监督跟踪方法[35,3,46,48]方面取得了巨大的成功。虽然监督跟踪器通常在分离的帧中收集多个对象样本来学习在线模块[3,13],但由于在视频中甚至缺乏粗糙的对象位置,为无监督跟踪器训练在线分支更具挑战性。
为了解决这些挑战,我们建议从未标记的视频中训练一个鲁棒性强的跟踪器。首先,对于数据准备,我们开发了一个顺序box采样算法,从未标记的视频中粗略地发现移动的对象。具体来说,我们使用无监督光流来检测移动的物体,并将动态规划应用于顺序链接候选盒子。其次,我们从零开始训练一个无监督的孪生网络跟踪器使用单帧对。也就是说,我们根据单帧中的采样框裁剪每个孪生网络对进行训练。尽管它很简单,但我们表明,这种策略为无监督跟踪器提供了一个很好的初始化,从而有利于未来在更长的时间跨度内的训练。第三,我们提出了一个循环记忆学习方案来继续训练简单的跟踪器。具体来说,我们根据检测到的移动物体的轨迹,将整个视频分割成多个片段。然后,我们从单个帧向前跟踪到同一片段中的其他几个帧,并将所有中间跟踪结果存储在一个内存队列中。然后我们向后跟踪到初始帧来计算一致性损失。
我们在六个大规模的基准测试上评估了所提出的无监督跟踪器。大量的实验表明,我们提出的跟踪器在最先进的无监督跟踪器上表现良好,并且与最近的监督跟踪器相当(见图1)。本工作的主要贡献总结如下:
- 我们在无标记的视频中粗略地发现了移动的物体,用于无监督学习。
- 我们训练一个的孪生网络跟踪器,并逐渐扩展到更长的时间跨度。
- 我们提出了一个循环记忆学习方案,允许无监督的跟踪器在线更新。
2. Related Work
Supervised Tracking
Unsupervised Tracking
3. Proposed Method
在本节中,我们将详细介绍所提出的无监督跟踪器。无监督的培训计划包括三个阶段。第一阶段的第一阶段:从未标记的视频中生成移动物体的轨迹。第二阶段:使用单帧对学习一个简单的孪生网络跟踪器。第三阶段:通过循环记忆学习继续训练跟踪器,这是在更长的时间跨度内执行的,也使无监督跟踪器能够在线更新。
3.1. Moving Object Discovery 移动对象发现
我们建议在未标记的视频中生成一个平滑的边界框序列来移动前景对象,而不是随机裁剪对象。对于发现移动的物体,我们有两个关键的观察结果:
- 与背景环境相比,前景物体往往有不同的运动模式。这激励我们通过无监督光流来发现候选前景物体。
- 运动物体的运动轨迹趋于平滑状态。这促使我们使用动态规划(DP)来获得时间上可靠的盒子序列。
图2:通过光流生成候选盒。流程图Ft包含移动对象的区分运动模式。我们使用距离度量Dt对流图Ft进行二值化,以生成候选框Bt。
boundingbox序列的生成:生成的候选边界框B可能包含由于摄像机抖动、遮挡等而产生的噪声框。为了去除不可靠的框,我们应用动态规划来创建一个更可靠的边界框序列B‘。根据视频中移动对象的轨迹应该平滑,我们从B中选择一个候选边界框的子集,其中所选框的轨迹尽可能平滑。对于动态规划,最关键的问题是如何衡量盒子轨迹中从一个边界框到另一个边界框的过渡回报。我们修改了DIoU [49]度量,它最初考虑了两个盒子之间的重叠和距离。如图3所示,对于没有被DP选择候选框的帧,我们使用线性插值,根据DP选择的相邻候选框生成伪框。
图3:Box序列的生成。我们使用动态规划从黄色的候选盒子中生成一个平滑和可靠的盒子轨迹。其余帧中绿色的伪框是通过线性插值生成的。
3.2. Naive Siamese Tracker孪生网络追踪器
利用生成的盒子序列,我们从头开始使用单帧对训练一个简单的孪生网络跟踪器。这是基于一个简单的观察,即一个图像和它的任何子区域自然地形成一个孪生网络网络的训练对. 然而,像[34]中随机采样的伪boxes不能覆盖前景对象,不能有效地训练孪生网络网络。此外,随机样本不适合学习边界盒回归。这大大阻碍了无监督跟踪器的性能。我们建议利用可靠的box序列B‘作为训练数据。为了确保B‘中最精确的边界框被数据加载器采样,我们采用了两级评分机制,在序列和帧级别上过滤出低质量的边界框。在加载训练对时,我们依次进行视频采样和帧采样。我们只在一个视频的质量分数Qv (I)≥θ1; 在帧采样过程中,我们从所选的视频中随机抽取几帧总数与1/Qv (I)正相关的帧,然后选择帧质量得分Qf(B‘t)最高的帧进行训练。
从输入样本对中提取深度特征后,采用PrPool [19]对模板特征进行池,然后计算多尺度相关图[48]。输出响应图Rcls的大小为25×25×1,用于前景/背景分类。另一个输出响应图Rreg的大小为25×25×4,用于回归从中心位置到边界框的四个边的距离。损失函数Lnaive是回归损失和分类损失的和:
其中,Lreg和Lcls分别为IoU损失[44]和二元交叉熵(BCE)损失[10]。λ1是一个权重参数。
3.3. Cycle Memory Training循环记忆训练
我们认为上述无监督的孪生网络跟踪器是一个幼稚的跟踪器,因为它有两个限制。首先,由于模板和搜索区域在同一帧中被裁剪,跟踪器不会学习到较大的运动和外观变化。其次,该跟踪器不能在线更新自己,因此无法跟踪长时间跨度或复杂场景下的对象。我们建议继续使用循环记忆学习方案来训练简单跟踪器,旨在使跟踪器能够处理较大的变化,并在线更新内存队列。循环记忆的主要思想总结如图4所示。简而言之,我们首先从模板Zt到Nmem相邻内存帧进行正向跟踪,然后将所有中间跟踪结果的特征存储为内存队列,最后对原始搜索区域xt进行向后跟踪。一个周期内存损失Lmem使用与Lcls相同的地面真相计算。
图4:所提出的无监督跟踪框架的概述。左图:整体的pipeline。右图:用于自我跟踪和前向跟踪的简单孪生网络跟踪器的详细结构,以及通过循环记忆方案学习的在线模块。简单跟踪器通过一个模板和一个从同一框架中裁剪出来的搜索区域进行训练,而在线模块的目标是按照循环学习pipeline,向后跟踪从内存搜索区域到模板框架。带有∗的圆符号表示深度特征的多尺度相关[48],其中相同的颜色表示权重共享。带W的圆是指对相关图进行积分的置信值模块(Eqn.8).
具体来说,在每个训练步骤中,我们同时在帧中裁剪训练对zt和xt(与训练简单孪生网络跟踪器相同),以及从{xt | Tl≤t≤Tu}中采样的Nmem记忆搜索区域。这些内存搜索区域是根据盒子序列{B‘t|Tl≤t≤Tu}从Nmem相邻帧裁剪的。这里的Tl和Tu是用于采样内存帧的上下帧索引。选择这两个指标非常重要的。为了从长期的变化中学习,Tl和Tu之间的帧间隔应该足够大。然而,过多的帧间隔会损害学习过程,因为目标对象可能会在远离它的帧中消失。在实际应用中,我们动态地将该帧设置为Tl和Tu。由于它们是两个镜像变量,我们正式定义Tu如下:
其中,θ2和θ3是两个阈值。只要一个盒子B‘k可以通过B’中平滑可靠的盒子序列连接到B‘t,从B’k裁剪出来的搜索区域就可以用于循环记忆训练。换句话说,我们在B‘中进行步骤改变,将I分割成片段,并且同一片段中所有帧的伪框倾向于定位相同的对象。该方案帮助我们的跟踪器利用长期的变化,同时仍然确保内存框架中的伪边界框的可靠性。
设Nmem表示内存帧数。我们首先利用跟踪器来预测模板zt的内存框架中的Nmem中间边界盒。我们采用PrPool [19]来池基于中间框的Nmem特性。然后利用合并特征为模板,利用xt的深度特征进行多尺度相关分析。请注意,原始的分类分支和内存分支在多尺度相关模块方面具有相同的权重。请注意,原始的分类分支和内存分支在多尺度相关模块方面具有相同的权重。所有的Nmem相关图,记为{C corru | 1≤u≤Nmem},通过置信值策略整合在一起。具体地说,给定一个相关映射C corru
,我们利用两个3×3卷积层生成一个置信映射C confu
和一个具有相同维数的值映射C valu
。然后,我们将所有置信图上的C confu
元素级归一化为C valu
上的权重。最终的综合相关图C的公式如下:
其中,⊙表示阿达玛乘积。如图4所示,通过卷积将集成图C转换为25×25×1,得到搜索区域xt中对象的响应图Rmem。培训用的总损失函数L为:
其中,λ1和λ2为权重参数。我们使用BCE损失[10]作为周期内存损失Lmem,它与Lcls中共享相同的伪地面真实标签。
4. Experiments
本节介绍了我们的无监督跟踪器在多个基准测试上的结果,并与最先进的跟踪算法进行了比较。广泛的消融研究被提供来分析我们的设计选择的有效性。
4.1. Implementation Details
Training. 我们的跟踪器是根据从四个数据集收集的数据进行训练的,包括GOT-10k [18]、ImageNet VID [33]、LaSOT [11]和YouTube-VOS [43]。请注意,这些训练集的地面真实标签在我们的方法中是不可用的。我们的网络采用ResNet- 50 [16]作为骨干网络,并使用第三个卷积块来提取输入图像的深度特征。我们注意到,在ImageNet数据集[33]上预训练的现有CNN骨干包含来自手动标签的信息。为了进行可靠的比较,我们在两种设置下进行了所有的实验(即在ImageNet上进行w/o和w/有监督的骨干预训练)。在训练期间,我们在4个NVIDIA GeForce RTX 3090gpu上使用同步的SGD [24]。每个GPU拥有12组训练实例。整个端到端训练阶段总共需要30个阶段,其中循环记忆只在过去25个周期内进行。我们从前6个时代开始,热身学习率从2.5×10−3到5×10−3,而剩下的时代采用指数下降的学习率,从5×10−3下降到2×10−5。
4.2. State-of-the-art Comparison
我们比较了我们的方法与最先进的无监督和有监督的跟踪器。比较是在六个基准上进行的,包括VOT2016 [20]、VOT2017/18 [22]、VOT2020 [21]、跟踪net[29]、OTB2015 [42]和LaSOT [11]。
4.3. Ablation Studies
训练阶段阶段不可缺少:Tab.4表明,与我们提出的盒子序列生成相比,从具有随机裁剪的单帧对中训练一个简单的跟踪器会导致显著的精度下降。此外,在没有简单的孪生网络跟踪器初始化的情况下直接进行循环记忆训练也会导致很大的性能下降。
帧间隔:我们提出的训练方法可以在长时间间隔内学习外观信息。这有助于无监督的跟踪器适应时间的外观变化。与之前的深度无监督跟踪器S2SiamFC[34](即0帧)和UDT[37](即< 10帧)的极短帧间隔相比,我们的方法采样的训练实例在GOT- 10k和VID数据集上的平均长帧间隔分别为41.1和64.6。
伪边界盒的产生:为了更好地研究伪边界框的精度,我们收集了超过104个训练实例,并计算了GOT-10k和VID数据集上输出的伪边界框和地面真实边界框之间的IoU得分。帐单5显示了在模板帧和内存帧中,在不同IoU分数下的伪边界框的成功率。在这两个数据集上,模板帧中超过63%的采样框至少覆盖了部分前景对象(IoU > 0.3),而模板帧中超过42%的采样框足够精确,足以覆盖大约整个对象(IoU > 0.5)。此外,从伪盒子在模板帧和记忆帧在两个数据集上的IoU成功率的微小差异,我们得出结论,使用大框架间隔进行周期记忆训练相比,仅略微降低了记忆框架的可靠性。这就解释了为什么我们的无监督跟踪器可以从大型运动中学习。
训练数据集:由于大多数现有的无监督深度跟踪器都是在VID数据集上进行训练的,因此我们研究了训练数据对USOT*对VOT2017/18基准测试的影响。如标签页中所示。6,当只使用VID作为训练集时,所提出的跟踪器在EAO中仍然达到0.315,比最先进的无监督跟踪器LUDT+(即在EAO中的0.230)增加了8.5分。此外,我们的跟踪器受益于对更多的未标记视频的训练,推断出无监督跟踪的巨大潜力。
在线更新:我们研究了在线记忆模块中Nq和w的参数敏感性。Nq表示在记忆队列中在线收集到的记忆特征的数量,而w表示Rmem的权重。帐单7报告了在VOT2017/18数据集上的USOT*的EAO分数。离线和在线模块配合w = 0.7对所提出的跟踪器最有利,并且将内存队列Nq的长度设置为7是最合适的。
5. Concluding Remarks
在本文中,我们提出了从头开始学习一个来自无标记视频的鲁棒跟踪器。我们首先生成候选的方框序列来覆盖视频中的移动对象。然后,我们使用单帧对训练一个简单的孪生网络跟踪器。最后,我们继续用一种新的周期记忆方案在更长的时间跨度内训练简单跟踪器,使跟踪器能够在线更新。大量的实验表明,所提出的无监督跟踪器设置了新的最先进的无监督跟踪结果,甚至与最近的有监督的深度跟踪器的性能相当。这项工作揭示了无监督学习对物体跟踪的力量。