Unsupervised Deep Tracking 论文翻译
英文原文:https://arxiv.org/pdf/1904.01828.pdf
下面是自己对该文章的翻译,如有错误,敬请谅解,欢饮批评指正
摘要:
我们在这篇论文中提出额一个非监督的视觉目标追踪的方法,不同于监督学习使用大量带有标注的数据集,我们的CNN模型是在非监督学习的训练方式下使用大量没有标签的视频来训练的。我们的动机是一个好的追踪器,它应该在正向和反向的预测中都有很好的效果(比如说,一个追踪能够向前定位跟踪连续帧的目标对象,也可以在第一帧图像中找到他的初始位置)。我们是基于Siamese 相关滤波网络搭建我们的模型的,这个网络可以使用未标记的原始视频进行训练。与此同时,我们提出了一个多帧验证方法(multiple-frame validation)和代价敏感的损失函数(cost-sensitive loss)去加强这个非监督学习的过程。在没有任何附加条件的情况下,我们提出的这个无监督的追踪器达到了全监督追踪器的基本准确性。监督的追踪器在训练过程中需要完全并且准确的标签数据。此外,无监督框架显示了利用无标记或弱标记数据进一步提高跟踪精度的潜力
1. 引言
在计算视觉中,视觉追踪是一个基础的任务,它的主要目标是在一段视频中,在第一帧中给出一个目标区域然后在后面的帧中去定位这个目标。现在最先进的深度追踪方法一般都是使用已经训练好的CNN模型去提取特征。这些CNN模型都是使用监督学习的方式训练的,这就需要大量的带有真实标签的数据。人工标记是非常昂贵和耗时的。但是没有标签的视频数据是很容易在互联网上获得的。怎样在目标追踪上使用这些未标记的数据是非常值得研究的。
在这篇文章中,我们提出从非监督学习中学习一个视觉追踪的模型。
我们的直觉基于这样的观察,即视觉跟踪可以用向前和向后的方式进行。开始,在第一帧中给出要追踪的目标,我们可以在后续的视频序列中去追踪这个目标,当向后追踪时,我们使用在最后一帧的预测位置作为初始的目标注释,然后在向后追踪这个目标达到第一帧。这个通过反向追踪估计到的目标位置期望它可以和初始的注释位置一样。在测量额前后目标轨迹的差值以后,我们的网络就可以通过使用考虑目标的一致性的非监督训练方式来训练,就如图一所示。通过利用无标记视频中的连续帧,我们的模型通过反复执行前向跟踪和后向验证来学习目标定位。
提出的无监督学习方案旨在获得一个通用的特征表示,而不是严格要求跟踪一个完整的对象。对于一个视频序列,我们在第一帧随机的初始一个边界框(Bounding box),它也许没有完全覆盖整个目标,然后这个我们提出的模型就可以学习到在接下来的帧中去追踪这个边界框。这个追踪方法与基于部分和基于边缘的追踪方法有相似之处,由于视觉对象跟踪器不能只关注完整的对象,所以我们在训练过程中使用随机裁剪的边界框进行跟踪初始化。我们把提出的无监督学习集成到基于相关滤波的Siamese框架上。这个网络在训练过程中包括两个过程:向前追踪和向后验证。我们发现向后验证不是很有效,因为追踪器可以成功地从偏离或者错误的位置返回一个初始的目标位置。此外,在非标记的视频中的重叠问题会进一步的降低网络的表征能力。为了解决这些问题,我们提出了multiple frames validation and a cost-sensitive loss去帮助非监督学习进行训练。multiple frames validation增加了前向和后向轨迹之间的差异,以减少验证失败。同时,cost-sensitive loss也消除了在训练过程中噪声样本产生的干扰。
我们的无监督追踪器在一些著名的数据集中表现出了很好的效果,大量的实验结果都表明在没有附加条件下,我们的无监督追踪器与全监督的追踪性性能相当。当集成了一些额外的提高性能的方法时(如自适应在线模型更新adaptive online model update),我们的追踪器表现出了更好的效果。值得一提的是,无监督框架显示出了利用无标签互联网视频学习跟踪场景的良好特性表示的潜力。给出一些有限的或者带有噪声的标签,无监督学习方法表现出了和监督框架差不多的性能,此外,我们可以通过使用更多的无标记来提高追踪的准确率,4.2节展示了对不同训练条件设置的完整分析。
总结下来,我们工作的主要三个贡献如下:
- 提出了一种基于Siamese相关滤波器主干的无监督跟踪方法,该方法通过前向和后向跟踪目标。
- 提出了multiple frames validation and a cost-sensitive loss去提高非监督学习的表现。
- 在标准数据集上的大量实验表明了该方法的良好性能,并揭示了无监督学习在视觉跟踪中的潜力
2. RelatedWork
在本节中,我们回顾了深度跟踪方法、前后轨迹分析和无监督学习的相关文献。
Deep Visual Tracking:
现有的深度跟踪方法要么离线学习特定的CNN模型进行在线跟踪,要么简单地利用现成的深度模型(如VGG)进行特征提取。Siamese追踪器将跟踪任务表示为相似度匹配的过程,他们通常在线下学习跟踪网络,而不在线微调模型。另一方面,一些追踪器采用现成的CNN模型作为特征提取的骨干,它们基于初始帧增量地训练二元分类层或回归层。这些方法都达到了很高的准确性,但是他们消耗了巨大的计算成本。基于判别相关滤波器(DCF)的跟踪器[2,16,8,30,5,52,52,18]通过使用密集的候选对象来解决岭回归问题来处理跟踪任务,这些候选对象一半得益于强大的现成深度特性。主要区别在于深度DCF跟踪器仅仅利用现成的模型进行特征提取,而不在线培训额外的层或微调CNN模型。与上述使用现成模型或监督学习的深度跟踪器不同,该方法利用野外未标记的数据从零开始训练网络。
Forward-Backward Analysis:向前向后的轨迹追踪已经在文献中被大量探索,跟踪学习检测(TLD)使用Kanade-Lucas-Tomasi (KLT)跟踪器执行前后匹配,以检测跟踪失败。Lee等人提出通过比较一对前后轨迹的几何相似性、循环权值和外观一致性来选择可靠的基跟踪器。然而这些方法都是通过经验来确定目标轨迹的。此外,反复执行向前和向后跟踪会给在线跟踪带来沉重的计算成本。与之不同的是,在TrackingNet中,向前向后跟踪用于数据注释和跟踪器评估的。在这项工作中,我们重新审视了这个方案,以一种无监督的方式训练一个深度视觉跟踪器。
Unsupervised Representation Learning
我们的框架涉及无监督表示学习。在[26]中,通过对序列进行排序来学习特征表示。在[24]中,研究了大规模未标记数据的多层自动编码器。Vondrick等人提出预测未来帧的可视化表示。wang和gupta[56]使用kcftracker[16]对原始视频进行重新处理,然后选择一对被跟踪的图像和另一个随机的patch去学习CNNS 通过使用一个排名loss。我们的方法在两个方面区分于【56】。第一,我们将跟踪算法集成到无监督训练中,而不是仅仅使用一个现成的跟踪器作为数据预处理工具;第二,我们的无监督框架与跟踪目标函数相结合,因此学习的特征表示方法可以有效地表示一般的目标对象。在视觉跟踪领域,无监督学习是很少被提及的。据我们所知,唯一相关但不同的方法是基于自动编码器的方法[51]。然而,编解码器是一个通用的无监督框架[38],而我们的无监督方法是专门为跟踪任务而设计的。
3. Proposed Method
图2(a)展示了一个蝴蝶序列来验证向前和向后追踪。事实上,我们随机的在无标记的视频上画一个边界框来执行正向和反向追踪。给出一个随机的初始的边界框,我们首先向前在接下来的帧中去预测它的位置,然后,我们将序列反转,并将最后一帧中预测的边界框作为伪标签向后跟踪。这个通过反向追踪找到的边界框我们希望它和第一帧中原始给出的边界框相同。在网络训练中,我们使用一致性损失来测量前后运动轨迹的差异。提出的无监督Siamese相关滤波器网络概述如图2(b)所示,接下来,我们首先回顾了基于相关滤波器的跟踪框架,然后详细介绍了我们的无监督深度跟踪方法。
3.1 Revisiting Correlation tracking
判别相关滤波器(Discriminative Correlation Filters, DCFs)[2,16]将搜索patch的输入特征回归到高斯响应映射中进行目标定位。在训练一个DCF模型时,我们需要选择(a template patch)一个带有真实标签Y的模板的patch:X。滤波器W可以通过解决岭回归的问题来得到:
上式中λ是一个规范化参数,*代表循环卷积,公式1可以在傅里叶domain有效的计算。DCF可以通过下式计算:
其中,☉是the element-wise product, 是离散傅里叶变换(DFT)。
是反傅里叶变换,*代表复数共轭。在每一个子序列,给出一个搜索patch Z, 对应的响应图R可以在傅里叶域中计算出来:
上面的DCF框架从学习目标模板W开始,使用template patch X,然后将W与搜索patch Z进行卷积,生成响应。最近,Siamese相关滤波网络[49,54]将DCF嵌入Siamese框架中,构建了两个共享权分支,如图2(b)所示,第一个是模板分支,它以模板patch X作为输入,提取其特性,通过DCF进一步生成目标模板。第二个是搜索分支,它把一个搜索patch Z作为特征提取的输入。然后将目标模板与搜索patch的CNN特性进行卷积,生成响应映射。Siamese DCF网络的优点是将特征提取CNN和相关滤波器构造成端到端框架,使学习到的特征与视觉跟踪场景更加相关。
3.2. UnsupervisedLearningPrototype
给定两个连续的帧P1和P2,我们分别裁剪模板并从中搜索patches,通过向前和向后追踪验证,我们提出的模型不需要真实的标签数据来进行监督训练。P1中初始边界框与预测边界框的差值将会形成网络学习的一致性损失。
Forward Tracking:我们跟着【54】的想法建造了一个Siames相关滤波网络来在P1中追踪初始的边界框,从第一帧P1裁剪模板patch T后,可以计算出对应的目标模板WT为:
其中Ψθ(.)代表CNN特征提取操作,这个CNN模型是可以可训练的网络参数θ,YT是模板 patch T的标签,并且这个标签是在初始边界框的高斯响应中心。一旦我们获得了目标模板Wt,可以计算出帧P2中搜索patch S的响应映射:
如果Patch S的真实的高斯标签可以得到,那么网络Ψθ(.)就可以通过计算Rs和真实数据的L2距离来训练。接下来,我们将利用反轨迹验证来训练网络,而不需要标签数据
Backward Tracking:在生成帧P2的响应映射RS之后,我们创建了一个以其最大值为中心的伪高斯标签,用YS表示。在向后跟踪中,我们在搜索补丁和模板补丁之间切换角色。通过将S作为模板补丁,我们使用伪标签YS生成目标模板WS。将T替换为S,将YT替换为YS,利用式(4)学习目标模板WS。然后,我们通过用Ws替换Wt.T 替换S的方式生成响应图RS,注意,我们只使用一个siamese相关滤波器网络来向前和向后跟踪。在跟踪时网络参数θ是固定。
Consistency Loss Computation.在向前向后的追踪过程中,我们得到了响应图Rt,理想的Rt应该是一个峰值位于目标初始位置的一个高斯标签。换句话说RT应该适合原始给出的标签Yt相似。因此,表示网络ϕθ(·)可以被训练以一种无监督的方式通过最小化重建误差 :
我们执行计算损失的反向传播来更新网络参数。在反向传播过程中,我们采用siamese相关滤波器方法[54,59]将网络更新为:
3.3.UnsupervisedLearningImprovements
提出的无监督学习方法基于RT与YT一致性构造目标函数。在实际应用中,跟踪器在向前跟踪过程中可能会偏离目标,但在向后跟踪过程中仍会回到原来的位置。然而,由于预测的一致性,所提出的损失函数并没有惩罚这种偏差。同时,原始视频可能包含无信息量的训练样本,甚至是错误的训练样本,这些样本具有遮挡作用,会破坏无监督学习过程。我们建议使用多帧验证和对成本敏感的损失来解决这些限制。