选自arXiv
作者:Xingyi Zhou等
机器之心编译
参与:小舟、Jamin、魔王
近日,来自德克萨斯奥斯汀分校和英特尔研究院的研究人员提出一种基于点的同时检测和跟踪方法,该方法比当前最优技术更加简单、快速、准确。
传统的跟踪是在时空中跟随兴趣点。随着强大深度网络的兴起,情况发生了变化。如今,跟踪的主流方式是先执行目标检测再进行时序关联,也叫做检测-跟踪法(tracking-by-detection)。
但是这种方法也有缺点,近日来自德克萨斯奥斯汀分校和英特尔研究院的研究人员提出一种同时检测与跟踪的方法,该方法比当前最优技术更加简单、快速、准确。
研究者将其跟踪器命名为 CenterTrack,该方法对一对图像应用检测模型,并利用前一帧的检测结果。给定最小输入,CenterTrack 可以定位目标,并预测它们和前一帧的关联。CenterTrack 就是这么简单、在线(不窥探未来)、实时。
从效果上来看,CenterTrack 在 MOT17 数据集上以 22 FPS 运行,达到了 67.3% 的 MOTA 值;在 KITTI 跟踪基准上以 15 FPS 运行,取得了 89.4% 的 MOTA 值,在这两个数据集上均取得了新的当前最优结果。
此外,CenterTrack 很容易扩展到单目 3D 跟踪,只需恢复额外的 3D 属性即可。以单目视频作为输入,以 28 FPS 运行,CenterTrack 在新发布的 nuScenes 3D 跟踪基准上实现了 28.3% AMOTA@0.2,显著超过单目基线方法。
目标跟踪难在哪里?
在早期的计算机视觉领域中,跟踪通常被描述为在时空中跟随兴趣点。早期的跟踪器简单、迅速,且具备一定的稳健性。然而,如果没有角点(corner)和峰强度这样的强大低级线索,跟踪是很容易失败的。随着高性能目标检测模型的出现,一个强大的替代方案诞生了:检测-跟踪法(更准确地说是「基于检测的跟踪」)。这些模型依赖给定的准确识别率来识别目标对象,然后在另一个阶段中将它们按时间顺序关联起来。
基于检测的跟踪利用基于深度学习的目标检测器,是目前主流的目标跟踪范式。但是,性能最好的目标跟踪器也不是没有缺点的。很多跟踪器需要依靠低速复杂的关联策略,才能将检测框按时间串联起来。最近关于同时检测和跟踪的研究 [1,8] 在减轻这种复杂性上取得了一定的进展。
能否集众家之所长?
而最近来自德克萨斯奥斯汀分校和英特尔研究院的一项研究介绍了,如何将基于点的跟踪与同时检测和跟踪结合起来,从而进一步简化跟踪的复杂性。
该研究提出了一个基于点的联合检测与跟踪框架——CenterTrack。每一个目标都用其边界框中心的一个点来表示,然后按时间顺序跟踪这个中心点(图 1)。
图 1:研究者通过跟踪中心点来跟踪目标。学习两个连续帧之间目标中心点的二维偏移量,并基于中心点的距离将它们关联起来。
具体而言,该研究使用近期提出的 CenterNet 检测器来定位目标中心 [56]。研究者把检测器和用点表示的先前踪片(tracklet)置于两个连续帧上。训练检测器,使其输出当前帧目标中心和前一帧目标中心的偏移向量。研究者将这个偏移向量视为中心点的属性,而这只需要一点额外的计算代价。仅基于前一帧检测到的中心点和预计偏移之间的距离来满足关联目标物体的需求,这是一种贪心匹配。该跟踪器以端到端形式进行训练且可微分。
用点来跟踪目标简化了跟踪流程的两个关键部分:
虽然整体想法很简单,但是要完成这项研究还需要很多细节。连续帧中的跟踪目标具备高度关联性。CenterTrack 把之前帧的热图作为输入,轻松学会重复之前帧的预测,从而在不会引起较大训练误差的情况下拒绝跟踪当前帧目标。研究者在训练阶段通过强大的数据增强方案来避免这种情况。事实上,数据增强方案足以让模型学会基于静态图像跟踪目标。也就是说,在没有实时视频输入的情况下,CenterTrack 模型可以在静态图像数据集上成功训练。
CenterTrack 是完全局部的方法。它只关联相邻帧中的目标,不会重新初始化已丢失的时间较远的跟踪。该方法舍弃了重新连接时间较远的跟踪,换来局部时间范围内跟踪的简单、高速和高准确率。
实验表明这种交换是值得的。在 MOT [28] 和 KITTI [12] 跟踪基准测试中,CenterTrack 的性能要优于复杂的检测-跟踪法。研究者进一步将该方法应用于 nuScenes 数据集 [3],执行单目 3D 目标跟踪。以 22 FPS 运行时,该单目跟踪器的性能达到了 28.3% AMOTA@0.2,是基线的 3 倍。此外,还可以在标注视频序列或使用数据增强后的静态图像上训练 CenterTrack。
具体如何做?
在这篇论文中,研究者从局部的角度研究跟踪技术。也就是说,当目标离开画面或者被其他物体遮挡后再出现时,要被重新赋值新 id。研究者把跟踪看作一个跨连续帧传播检测 id 的问题,而不需要跨时间间隔重新建立关联。
在时间 t 处,给定当前帧 I^(t) ∈ R^W×H×3 和前一帧 I^(t−1) ∈ R^W×H×3 的图像,以及前一帧中的跟踪目标 T^(t−1) = {b^(t−1)_0 , b^(t−1)_1 , . . .}i。每个目标被表示为 b = (p, s, w, id),其中中心点位置 p ∈ R^2,大小 s ∈ R^2,检测置信度 w ∈ [0, 1],唯一身份 id ∈ I。该研究旨在检测和跟踪当前帧 t 中的目标 T (t) = {b^(t)_0 , b^(t)_1 , . . .},并给在前后两个帧中都出现的同一目标分配一样的 id。
这里存在两个主要问题。第一个是找到每一帧画面中所有的目标,包括被遮挡住的目标。第二是按时间关联这些目标。该研究通过一个端到端训练的深度网络解决了这两个难题。
基于跟踪的检测
CenterNet 作为目标检测器,能够提供跟踪所需的大部分信息,包括目标位置 p-hat,大小 s hat = S hat_p hat,置信度 w hat = Y hat_p hat。
然而,在当前帧中不直接可见的目标是无法被找到的,检测到的目标可能在时间上没有连贯性。提高时间连贯性的一种自然方式是添加之前帧中的图像作为检测器输入。在 CenterTrack 中,研究者向检测网络提供两个帧作为输入:当前帧 I^(t) 和前一个帧 I^(t−1)。这使得网络可以预估画面的变化,并且利用时间 t − 1 处的可见目标恢复在时间 t 处被遮挡的物体。
CenterTrack 还将先前的检测结果 {p^(t−1)_0 , p^(t−1)_1 , . . .} 作为额外输入。那么怎样表示这些检测结果才能将它们更容易地提供给检测网络呢?
踪片基于点的属性就派上用场了。由于每一个被检测目标都由单个点来表示,于是我们可以很方便地使用与基于点的探测器训练中相同的高斯渲染函数来渲染所有的检测结果,并呈现在一张类别无关的单通道热图 H^(t−1) = R({p^(t−1)_0 , p^(t−1)_1 , . . .}) 中。为了减小假正类检测结果的影响,研究者仅渲染置信度大于阈值 τ 的目标。
CenterTrack 的架构和 CenterNet 基本相同,但 CenterTrack 具备 4 个额外输入通道(见图 2)。
图 2:CenterTrack 框架图示。该模型以当前帧、前一个帧和一张基于跟踪目标中心渲染得到的图作为输入,生成当前帧的中心检测图、目标边界框尺寸图和一张偏移图。测试时,将目标的尺寸和偏移从热图峰值中提取出来。
基于跟踪的检测提供了一组具备时间连贯性的检测目标集,但它并没有将检测结果按时间关联起来。
通过偏移进行跨时间目标关联
为了按时间关联检测结果,CenterTrack 将 2D 位移的预测作为两个额外输出通道
。对于在位置 p hat^(t) 处检测到的每个目标,位移 d hat^(t) = D hat^(t)_p hat^(t) 捕获的是在当前帧 p hat^(t) 和前一帧 p hat^(t− 1) 中目标位置的差异:d hat^(t) = p hat^(t) − p hat^(t-1)。研究者使用相同的回归目标作为大小或位置改变,从而学得此位移:
通过较好的偏移量预测,简单的贪婪匹配算法就能够跨时间关联目标。对于位置 p hat 处的每个检测结果,研究者将其与位置 p hat − D hat_p hat 处最近且不匹配的之前检测结果关联起来,并以置信度 w hat 降序排列。如果在半径κ范围内没有不匹配的先前检测结果,则生成一个新的踪片。研究者将κ定义为每个踪片预测边界框的宽度和高度的几何平均值。这种贪婪匹配算法的简易性再次凸显了将目标作为点进行跟踪的优势。简单的位移预测足以跨时间关联对象,而不需要复杂的距离度量或图匹配。
实验
研究者在 MOT17 [28] 和 KITTI [12] 跟踪基准上评估模型的 2D 多目标跟踪性能。此外,还在 nuScenes 数据集 [3] 上评估单目 3D 跟踪效果。
下表 1 列出了模型在 MOT17 数据集上的结果。即使受限于 public-detection 配置,CenterTrack 的性能也显著优于之前的 SOTA 方法。
表 1:在 MOT17 测试集上的评估结果。
在 KITTI 上,研究者提交了使用 flip test [56] 的性能最优模型。该模型的运行时间为 82ms,MOTA 值为 89.44%,优于所有现已发表的工作(见下表 2)。
表 2:KITTI 测试集上的评估结果。
在 nuScenes 数据集上,该研究的单目跟踪方法可实现 28.3%的 AMOTA@0.2 和 4.6%的 AMOTA @1,大大超过单目基线方法 [38,46]。
表 4:在 MOT17、KITTI、nuScenes 数据集上的控制变量研究。