目录
摘要
尽管在目标跟踪方面取得了许多进展,但当前跟踪算法的进一步发展受到小且几乎饱和的数据集的限制。事实上,由于专用大规模跟踪数据集的稀缺,基于深度学习的数据饥饿型跟踪器目前依赖于目标检测数据集。在这项工作中,我们介绍了TrackingNet,这是世界上第一个大规模的目标跟踪数据集和基准。我们提供超过30K的视频,超过1400万个密集的包围盒注释。我们的数据集涵盖了广泛多样的上下文中的各种对象类。通过发布如此大规模的数据集,我们期待深度跟踪器进一步完善和推广。此外,我们引入了一个由500个新视频组成的新基准,其分布类似于我们的训练数据集。通过隔离测试集的注释并提供在线评估服务器,我们为对象跟踪器的未来开发提供了一个公平的基准。深度跟踪器在我们的数据集的一小部分上进行了微调,在OTB100上的性能提高了1.6%,在TrackingNet测试上的性能提高了1.7%。我们通过评估20多个跟踪器,在TrackingNet上提供了一个广泛的基准。我们的研究结果表明,野外目标跟踪问题还远未解决。
1.引言
目标跟踪是计算机视觉中的一项常见任务,有着几十年的悠久历史[1-3]。尽管该领域取得了长足的进步,但目标跟踪仍然是一项具有挑战性的任务。当前的跟踪器在已建立的数据集(如OTB[4,5]和VOT[6-11]基准)上表现良好。然而,这些数据集中的大多数都相当小,并不能完全代表在野外跟踪目标时所面临的挑战。
随着计算机视觉中深度学习的兴起,跟踪界目前正在接受数据驱动的学习方法。提交给年度挑战赛VOT17[11]的大多数跟踪器都使用深度功能,而在早期版本VOT13[7]和VOT14[8]中没有这些功能。此外,在VOT17中表现最好的跟踪器[11]中,有九个依赖于深度功能,表现优于之前最先进的跟踪器。然而,跟踪界仍然缺乏专门的大规模数据集来培训深度跟踪器。因此,深度跟踪器通常仅限于使用来自目标分类[12]的预先训练的模型,或者使用诸如ImageNet视频[13]的目标检测数据集。作为一个例子,SiameseFC[14]和CFNet[15]通过训练特定卷积神经网络(CNN)进行跟踪,显示了出色的结果。
由于传统的跟踪器依赖手工制作的特征,而且现有的跟踪数据集很小,因此目前用于训练和测试的数据之间没有明确的划分。最近的基准测试[11,16]现在考虑搁置隔离测试集以提供公平的比较。然而,这些测试集很小,并且不是专门用于训练目的的。因此,在与VOT[6]竞争之前,经常会看到跟踪器在OTB[5]数据集上开发和训练。请注意,VOT15[9]是从OTB100[5]和ALOV300[17]等现有数据集中采样的,导致序列重叠(例如篮球、汽车、歌手等)。即使冗余得到了控制,人们在选择训练视频序列时也需要小心,因为在测试视频上训练深度跟踪器是不公平的。因此,通常没有足够的数据来训练用于跟踪的深层网络,而来自不同领域的数据被用于预先训练模型,这对于某些体系结构来说是一个限制因素。
本文介绍了TrackingNet,这是一个为训练深度跟踪器而设计的大规模目标跟踪数据集。我们的数据集有几个优点。首先,庞大的训练集使开发专门用于跟踪的深层设计成为可能。其次,用于目标跟踪的数据集的特殊性使得新颖的体系结构能够关注连续帧之间的时间上下文。当前的大规模目标检测数据集不能及时提供密集标注的数据。第三,TrackingNet通过对YouTube视频进行采样来呈现真实世界的场景。因此,TrackingNet视频包含丰富的对象类分布,我们强制在训练和测试之间共享这些对象类。最后,我们在一个目标类和运动分布相似的隔离测试集上评估了跟踪器的性能。跟踪器无法访问这些视频的注释,但可以通过评估服务器获得结果和见解。
贡献。(I)提出了第一个用于目标跟踪的大规模数据集TrackingNet。分析了TrackingNet与其他数据集相比的特点、属性和唯一性(第三节)。(II)我们深入探讨了从粗略注释生成密集注释的不同技术。我们表明,大多数跟踪器可以在1秒的时间间隔内生成准确可靠的密集标注。(第4节)。(III)我们为以TrackingNet为基准的最先进的追踪器提供扩展的基线。我们表明,在TrackingNet上预训练深度模型可以提高它们在其他数据集上的性能,其度量最高可提高1.7%。(第5节)。
2.相关工作
在下文中,我们对目标跟踪的各种研究进行了综述。该领域中的任务可以在多目标跟踪[5,6]和单目标跟踪[18,16]之间进行群集。前者主要关注特定类目标的多实例跟踪,依赖于强大而快速的目标检测算法和连续帧之间的关联估计。后者是这项工作的目标。它通过检测跟踪来解决问题,该检测由两个主要组成部分组成:模型表示,无论是生成[19,20]还是判别[21,22],以及目标搜索,在计算成本和感兴趣区域的密集采样之间进行权衡。
相关滤波器跟踪器。近年来,相关滤波(CF)跟踪器[23-26]已经成为最常见、速度最快、最准确的跟踪器。CF跟踪器在表示感兴趣目标的第一帧学习滤波器。此滤波器在更新目标之前在连续帧中定位目标。CF跟踪器令人印象深刻的性能背后的主要原因在于通过循环移位目标补丁样本实现的近似密集采样[24]。此外,通过有效地解决傅立叶域中的底层岭回归问题,实现了显著的运行时性能[23]。
自从具有单通道特征[23,24]的CF跟踪器问世以来,它们已经扩展了内核[25]、多通道特征[27]和尺度自适应[28]。此外,许多工作通过调整回归目标[29]、添加上下文[30,31]、空间正则化学习滤波器和学习连续过滤器[32]来增强原始公式。
深度追踪器。除了使用目标检测网络的深度特征的CF跟踪器之外,很少有作品探索更完整的深度学习方法。第一种方法包括学习大规模目标检测数据集上的通用特征,并以在线方式连续微调特定于域的层以成为特定于目标的层。MDNet[33]通过赢得VOT15[9]挑战展示了这种方法的成功。第二种方法包括训练完全卷积网络,并在跟踪期间使用特征图选择方法在浅层和深层之间进行选择[34]。目标是在一般语义特征和更具体的区别性特征之间找到一个好的折衷,以及去除噪声和不相关的特征映射。
虽然这两种方法都获得了最先进的结果,但它们的计算成本限制了这些算法在实际应用中的部署。第三种方法是使用Siamese网络来预测连续帧之间的运动。这样的跟踪器通常使用深度回归[35]或CNN匹配函数[14,15,36]在大规模数据集上进行离线训练。由于它们的体系结构简单,并且没有在线微调,因此在测试时只需执行前向传递。这导致了非常快的运行时间(在GPU上高达100fps),同时获得了具有竞争力的精确度。然而,由于模型在测试时不会更新,因此准确性在很大程度上取决于训练数据集捕获跟踪各种对象时出现的外观干扰的程度。这样的方法将从我们在本文中提出的大规模数据集中受益。
目标跟踪数据集。有许多数据集可用于目标跟踪,其中最常见的是用于单目标跟踪的OTB[5]、VOT[6]、ALOV300[17]和TC128[37],以及用于多目标跟踪的MOT[18,16]。VIVID[38]是为监视目的建立跟踪数据集的早期尝试。OTB50[4]和OTB100[5]提供51和98个视频序列,每个帧使用11个不同的属性和垂直边界框进行注释。TC128[37]包含129个视频,基于相似的属性和直立的边界框。ALOV300[17]包括用14个属性标记的314个视频序列。VOT[6]针对多达60个视频序列提出了几个挑战。它引入了旋转边界框以及对对象跟踪注释的广泛研究。VOT-TIR是VOT针对热红外视频的特定数据集。NUS PRO[39]收集了365个特定于应用程序的视频集合,用于人员和刚性对象跟踪。UAV123和UAV20L[40]收集从无人机捕获或由飞行模拟器生成的123个视频和20个长视频的另一个特定应用集合。NFS[41]提供了一组100个高帧率的视频,试图专注于快速运动。表1提供了最流行的跟踪数据集的详细概述。
尽管有几个数据集可用于目标跟踪,但大规模数据集对于训练深度跟踪器是必要的。因此,当前的深度跟踪器依赖于目标检测数据集,如ImageNet Video[13]或YoutubeBoxs[42]。这些数据集在视频上提供了目标检测边界框,在时间上或以低帧速率相对稀疏。因此,它们缺少关于连续帧中的对象动力学的运动信息。尽管如此,它们仍被广泛用于深度跟踪器的预训练。它们为深层特征表示提供了可从检测转移到跟踪的目标知识。
3.TrackingNet
在这一节中,我们将介绍TrackingNet,这是一个用于目标跟踪的大规模数据集。TrackingNet总共汇集了30643个视频片段,平均时长为16.6s。从140小时的可视内容中提取的所有14,431,266帧都使用单个垂直边界框进行注释。我们提供了与表1和图2中的其他跟踪数据集的比较。
我们的工作试图弥合渴望数据的深度跟踪器和难以获得的大规模数据集之间的差距。我们提出的跟踪数据集比以前最大的要大两个数量级。我们建立TrackingNet来解决野外的目标跟踪问题。因此,数据集可以处理各种帧速率、分辨率、上下文和对象类。与以前的跟踪数据集相比,TrackingNet分为训练和测试两部分。我们仔细地从YouTube-BoingBox[42]中选择了30,132个训练视频,并构建了一个新的511个测试视频集,其分布与训练集相似。
3.1 从YT-BB到TrackingNet训练集
YouTube-BoundingBoxes(YT-BB)[42]是一个用于目标检测的大规模数据集。该数据集由大约380,000个视频片段组成,每秒用竖直的边界框标注。这些视频是直接从YouTube上收集的,在分辨率、帧率和时长上都有很大的差异.。
由于YT-BB专注于目标检测,因此目标类与边界框一起提供。该数据集提出了一个包含23个目标类的列表,这些目标类代表YouTube平台上可用的视频。为了便于跟踪,我们删除了定义为缺乏运动的对象类,特别是盆栽和厕所。由于Person类表示25%的注释,因此我们根据其上下文将其分为7个不同的类。总体而言,TrackingNet中对象类的分布如图3所示。
为了保证跟踪视频的良好质量,我们根据属性标准过滤掉了90%的视频。首先,我们通过删除短于15秒的视频来避免小片段。第二我们呢只考虑覆盖不到50%的帧的边界框。最后,我们保留在边界框之间至少包含合理运动量的片段。在过滤过程中,我们保留了YT-BB提供的21个目标类的原始分布,以防止数据集中的偏差。我们最终得到了一个30,132个视频的训练集,我们将其分为12个训练子集,每个训练子集包含2511个视频,并保留了原始的YT-BB目标类分布。
YT-BB以每秒1fps的速度提供粗略注释。为了增加注释密度,我们混合使用最先进的跟踪器来填充缺失的注释。我们声称,任何跟踪器在1秒的小时间间隔内都是可靠的。在第4节中,我们展示了最先进的跟踪器在来自OTB100的1秒长的视频片段上的性能。因此,我们使用DCF跟踪器使用向前和向后传递之间的加权平均值对30,132个视频进行了密集标注[25]。
通过这样做,我们为对象跟踪提供了一个带密集注释的训练数据集,以及用于自动从YouTube下载视频和提取带注释的帧的代码。
3.2 从YT-CC到TrackingNet测试集
除了训练数据集,我们还编写了一个新的测试数据集,其中包括来自YouTube的511个拥有知识共享许可的视频,即YT-CC。我们仔细选择这些视频,以反映训练集中的目标类分布。我们确保这些视频不包含任何版权,因此它们可以共享。
我们使用亚马逊土耳其机械师(Turkers)对这些视频进行注释。我们注释了第一个边界框,并且为Turkers定义具体的规则,以便仔细注释连续的帧。我们将目标定义为YT-BB中的目标检测,即用最小的边界框匹配待跟踪目标的任何可见部分。
注释应该以确定性的方式定义,使用在注释过程中达成一致并遵守的规则。通过定义对象周围最小的直立边界框,我们可以避免任何歧义。但是,边界框可能包含大量背景。例如,不管人物的姿势如何,Person类始终包含手臂和腿部。我们认为,跟踪器应该能够处理可变形的物体,并理解它正在跟踪的是什么。同样,动物的尾巴也总是包括在内。此外,目标的边界框根据其在帧中的可见性进行调整。估计目标的遮挡部分的位置是不确定的,因此应该避免。例如,目标类刀具的手柄可以用手隐藏。在这种情况下,仅对刀片进行注释。
我们使用VATIC工具[43]来注释帧。它结合了光流算法来猜测连续帧中下一个边界框的位置。Turkers可以注释对象周围的非紧凑边界框,或者依靠光流来确定边界框的位置和大小。为了避免这样的行为,我们在每一轮批注之后检查每一帧,奖励好的Turkers拒绝糟糕的批注。我们要么从头开始重新开始视频注释,要么让特克斯对之前的结果进行微调。有了我们在循环中的监督,我们可以在几次迭代后确保注释的质量,不鼓励不好的注释器,激励好的注释器。
3.3 注释
随后,每个视频都用表2中定义的属性列表进行了注释。我们为我们的测试集提供了15个属性,前5个属性是通过分析边界框随时间的变化自动提取的,而后10个属性是通过视觉分析数据集的511个视频来手动检查的。图4给出了属性分布的概述,并与OTB100[5]和VOT17[11]进行了比较。
首先,我们声称可以更好地控制数据集中每个视频的帧数,相对于其他数据集有更多的变化。我们认为,这种包含长度差异更适合于固定批次大小的训练。其次,TrackingNet中边界框分辨率的分布更加多样化,在要跟踪的对象的比例上提供了更多多样性。第三,我们发现OTB100[5]和VOT17[11]中的挑战集中在运动稍大的对象上,而TrackingNet在YT-BB中显示出更自然的运动分布在最快运动的实例上。从纵横比改变属性的分布可以得出类似的结论。第四,超过30%的OTB100实例具有恒定的长宽比,而VOT17则表现出更平坦的分布。再一次,我们认为TrackingNet包含了更自然地分布在野外的物体。最后,我们显示了15个属性的统计信息,这些统计信息将用于在第5节中生成特定于属性的跟踪结果。总体而言,我们看到隔离测试集的属性分布与我们的训练集的属性分布相似。
3.4 评价
不应显示测试集的注释,以确保跟踪器之间的公平比较。因此,我们通过在线服务器对追踪器进行评估。以类似的OTB100方式,我们执行一次通过评估(OPE),并在511个视频上测量跟踪器的成功率和精确度。成功S以地面真值边界框(BBgt)和跟踪器生成的边界框(BBtr)之间的像素的并集(IOU)来度量。追踪器使用曲线下面积(AUC)测量[5]进行排名。精度P通常测量为地面实值和跟踪器边界框的中心Cgt和Ctr之间的距离(以像素为单位)。跟踪器使用此度量对其进行排名,传统阈值为20像素。
由于精度度量对图像的分辨率和包围盒的大小很敏感,我们提出了第三个度量Pnorm。根据公式1我们将精度归一化于地面真实边界框的大小。然后使用AUC对跟踪器进行排序,归一化精度在0到0.5之间。通过用归一化后的精度代替原始精度,保证了跟踪对象在不同尺度上度量的一致性。但是,对于比例相似的边界框,成功率和归一化精度非常相似,并显示了一个批注与另一个批注之间的距离。然而,我们认为,在不同规模的情况下,它们将有所不同。为了保持一致性,我们使用精确度、归一化精确度和成功率来提供结果。
4.数据集实验
由于TrackingNet训练集(∼30K视频)是从YT-BT数据集编译而来的,因此它最初每秒都会用边界框进行标注。虽然这种稀疏注释对于某些视觉任务(例如目标分类和检测)可能是令人满意的,但是基于深度网络的跟踪器依赖于学习边界框随时间的时间演变。例如,类Siamese建筑[34,15]需要观察同一对象的大量相似和不相似的补丁。不幸的是,对于如此大量的帧,手动扩展YT-BB是不可行的。因此,我们考虑了跟踪器辅助注释的可能性,以生成在稀疏出现的原始 YT-BT 注释之间产生的缺失密集边界框注释。最先进的跟踪器不仅在标准跟踪基准上取得了令人印象深刻的性能,而且在高帧率下也表现良好。
为了评估这种能力,我们进行了四个不同的实验,以确定哪个跟踪器在密集标注OTB100方面表现最好[5]。我们从以下跟踪器中选择:ECO[12]、CSRDCF[44]、BACF[30]、SiameseFC[14]、STAPLECA[31]、Staple[26]、SRDCF[45]、SAMF[46]、CSK[47]、KCF[48]、DCF[48]和Mosse[23]。为了模仿TrackingNet 训练集中的1秒注释,我们假设OTB100的所有视频都是以30fps的速度捕获的,并且OTB100数据集被分割成1916个30帧的较小序列。我们通过向前和向后遍历每个序列来评估1916个OTB100序列上先前突出显示的跟踪器。
然后,通过直接平均这两个结果并根据公式2生成凸组合(加权平均),将正向和反向传递的结果组合在一起,其中,是分别针对前向传递、后向传递和加权平均的帧t处的跟踪结果。请注意,最大序列长度为30,因此t∈[1,30]。对于距离第一帧较近的帧,加权平均会对向前传递的结果赋予更多权重,反之亦然。对于所有跟踪器,α是一个设置为0.05的常量。图 5 显示,在使用加权平均策略时,大多数跟踪器的性能几乎与最佳性能相同。此后,由于DCF[48]在300fps的帧率下生成了合理的精度,我们发现它适合于在TrackingNet中标注大的训练集。我们在向前和向后两个过程中运行DCF,两个过程的结果稍后以加权平均的方式组合在一起,如公式2中所述。
5.跟踪基准
在我们的基准测试中,我们比较了涵盖所有常见跟踪原则的各种跟踪算法。目前大多数最先进的算法都是基于具有手工制作或深度特征的鉴别相关滤波器。我们选择跟踪器来涵盖大量的功能和内核组合。Mosse[23]、CSK[24]、DCF[25]、KCF[25]使用简单的功能,不适应比例变化。DSST[27]、SAMF[28]和Staple[26]使用更复杂的功能,如颜色名称,并尝试补偿比例变化。我们还包括提出某种通用框架以改进相关滤波器跟踪的跟踪器。其中包括SRDCF[49]、SAMFAT[28]、STAPLECA[31]、BACF[30]和ECO-HC[12]。我们包括CFNet[15]和SiameseFC[14]来表示CNN匹配跟踪器,Meem[21]和DLSSVM[50]来表示基于结构化SVM的跟踪器。最后,我们列举了一些基线跟踪器,如TLD[51]、Strike[22]、ASLA[19]和IVT[20]以供参考。表3总结了选定的跟踪器及其表示方案、搜索方法、运行时和一般描述。
5.1 TrackingNet上最先进的基准测试
图6显示了整个数据集的结果。请注意,任何跟踪器的最高得分约为60%,而OTB的最高得分约为90%。表现最好的跟踪器是MD-Net,它以在线方式进行训练,因此适应能力最强。然而,这是以运行时非常慢为代价的。接下来是CFNet和SiamFC,它们受益于大规模数据集(ImageNet视频)训练。然而,正如我们稍后所展示的,通过使用我们的训练数据集可以进一步提高它们的性能。
5.2 实时跟踪
对于许多实际应用来说,如果跟踪不能实时完成,那么跟踪就没有多大用处。因此,我们进行了一项实验,以评估跟踪器在更现实的设置中的表现如何,即如果跟踪器速度太慢,就会跳过帧。我们通过根据每个跟踪器的速度对序列进行二次采样来实现这一点。图7显示了整个数据集的实验结果。正如预期的那样,大多数运行在实时以下的跟踪器都会降级。在最坏的情况下,这种降级可能高达50%,就像Strike的情况一样。最近的追踪器,特别是深度学习的追踪器,受到的影响要小得多。例如,CFNet即使每隔三帧才能看到一次,也完全不会降级。这可能是因为它依赖于在大规模数据集上训练的通用对象匹配函数。
5.3 在训练网络上再训练
我们在TrackingNet的一小部分上微调了SiameseFC,以展示我们的数据如何提高基于深度学习的跟踪器的跟踪性能。结果如图8所示。通过仅在我们的训练数据集的12个块(2511个视频)中的一个块上进行训练,我们观察到TrackingNet Test和OTB100上的所有指标都有所增加。精度分别从0.533提高到0.543,从0.765提高到0.781。归一化精度从0.663提高到0.673,归一化精度从0.621提高到0.632。成功率分别从0.571提高到0.581,从0.569提高到0.576。使用更多块进行微调有望进一步提高性能。
5.4 特定于属性的结果
TrackingNet测试中的每个视频都有15个属性注释,如第3节所述。我们针对每个属性对所有跟踪器进行评估,以深入了解最先进的跟踪算法所面临的挑战。我们在图9中显示了最有趣的结果,并让读者参考补充材料了解剩余的属性。我们发现,具有平面内旋转、低分辨率目标和完全遮挡的视频始终是最困难的。跟踪器受照明变化、部分遮挡和对象变形的影响最小。
6.结论
在这项工作中,我们介绍了TrackingNet,据我们所知,TrackingNet是用于目标跟踪的最大数据集。我们展示了如何利用现有的大规模目标检测数据集通过一种新的插值方法进行目标跟踪。我们还在这个新颖的数据集上对20多种跟踪算法进行了基准测试,并阐明了哪些属性对当前的跟踪器来说特别困难。最后,我们验证了我们的大数据集在提高一些基于深度学习的跟踪器性能方面的有效性。
未来,我们的目标是将测试集从500个视频扩展到1000个。我们计划从同一类别的不同类别(例如乌龟/动物)中抽取额外的500个视频样本。这将允许在推广方面进行进一步的评估。出版后,我们计划发布带有插补注释的训练集。我们还将发布带有初始边界框注释的测试序列以及OTB工具包的相应集成。同时,我们将发布我们的在线评估服务器,让研究人员可以立即对他们的跟踪算法进行排名。