Learning to Track with Object Permanence

  • 文章概括
  • 摘要
  • 1. 介绍
  • 2. 相关工作
  • 3. 研究方法
    • 3.1 背景
    • 3.2 用于跟踪的视频级模型
    • 3.3. 学会在遮挡物后面追踪
      • 3.3.1 区分可见度的级别
      • 3.3.2 监督不可见的物体
    • 3.4. 弥合模拟与现实领域的差距
  • 4. 实验
    • 4.1. 数据集和评价
    • 4.2. 实施细节
    • 4.3. 消融分析
    • 4.4 与技术现状的比较
  • 5. 结论

文章概括

作者:Pavel Tokmakov,Jie Li,Wolfram Burgard,Adrien Gaidon
来源:arXiv:2103.14258v1 [cs.CV] 26 Mar 2021
原文:https://arxiv.org/abs/2103.14258
代码、数据和视频:暂无
系列文章目录:
上一篇:
论文笔记(十):Virtual Reality for Offline Programming of Robotic Applications with Online Teaching Methods
下一篇:
论文笔记(十二):Particle Filter Networks: End-to-End Probabilistic Localization From Visual Observations

摘要

通过检测进行跟踪,是在线多目标跟踪的主流方法,在定位和重新识别步骤之间交替进行。因此,它在很大程度上取决于瞬时观测的质量,在物体不完全可见的情况下往往会失败。当物体不完全可见时。相比之下,人类的追踪是由物体的永久性概念所强调的:一旦一个物体被识别,我们就会意识到它的物理存在,甚至在完全遮挡的情况下也能大致定位它。在这项工作中,我们介绍了一种能够进行这种推理的端到端可训练的联合物体检测和跟踪方法。 我们建立在最近的CenterTrack架构之上,它将成对的帧作为输入,并将其扩展到任意长度的视频。为此,我们用一个时空的、递归的记忆模块来增强该模型,使其能够利用所有以前的历史来推理当前帧中的物体位置和身份。然而,如何训练这样一种方法并不明显。我们在一个新的、大规模的、用于多物体追踪的合成数据集上研究了这个问题,该数据集为不可见的物体提供了地面真实注释,并提出了几种监督闭塞物背后追踪的方法。我们的模型是在合成数据和真实数据上联合训练的,由于其对遮挡物的鲁棒性,在KITTI和MOT17数据集上的表现优于目前的技术水平。

1. 介绍

考虑图1所示的KITTI数据集[23]的视频序列。左边的一个人走到移动的汽车后面,然后就看不到了。然而,毫无疑问,他还在那里,并没有简单地消失。此外,我们可以大致推断出他在那一刻的位置。这种能力被认知科学家称为物体持久性,在婴儿很小的时候就可以观察到[3, 47]。在成年人中,理解被遮挡的物体不会消失,对于像驾驶这样的任务是很重要的。在这项工作中,我们提出了一种基于深度学习的多物体追踪方法,它能够进行这样的推理。

图1:KITTI数据集的视频帧与CenterTrack[59](上图)和我们的方法(下图)的输出。通过对物体的永久性进行建模,我们的方法能够在完全遮挡的情况下检测和跟踪目标,例如汽车后面的人。

几乎所有的现代多物体追踪算法都是在通过检测进行追踪的范式下运行的。也就是说,它们使用现有的物体检测器在视频的每一帧中定位感兴趣的物体,然后以在线方式[9, 11]或离线方式[5, 6, 10, 31, 37]将它们连接成轨迹。在这项工作中,我们专注于在线设置,其中一个方法需要将当前帧检测与先前建立的轨迹联系起来[9, 48, 53, 56]。这些方法的一个主要限制是,定位步骤完全独立于先前的历史,因此,一旦一个物体变得部分或完全被遮挡,检测器就会失效,轨迹也会被破坏(见图1,顶部)。最近,一些方法将检测和跟踪结合在一个单一的模型中[7, 59]。它们将成对的帧作为输入,并与成对的关联一起输出物体检测。虽然这些方法提高了跟踪的稳健性,但它们只能处理单帧的遮挡问题。

在这项工作中,我们提出了一种端到端的可训练的、在线的多目标跟踪方法,该方法利用物体的持久性作为一种归纳的偏向。为此,我们首先将最近的CenterTrack架构[59]从成对的帧作为输入扩展到任意的视频序列。这些帧由一个卷积门控递归单元(ConvGRU)[4]处理,该单元对输入视频中物体的时空演变进行编码,将整个历史考虑在内。作为结果,它可以使用物体的永久性假设来推理部分和完全遮挡的实例的位置(见图1,底部)。

学习这种行为是一项重大挑战。现有的跟踪数据集都没有为完全遮挡的物体提供注释,因为实际上不可能对它们进行准确的标注。为了避免收集这种注释的巨大成本,我们建议利用合成数据来代替。利用最先进的模拟平台[1],我们生成了一个新的合成视频数据集,该数据集可以低成本地自动为所有物体提供准确的标签,而不考虑其可见度(见图2)。然后,我们使用这个独特的数据集来分析各种方法,以监督闭塞后的跟踪,并为闭塞的实例提供地面真实和psudeo-地面真实的标签。

图2:我们的合成数据集(第4.1节)中的一个样本,带有地面真实可见度标签。与真实的数据集不同,虚拟的数据集为所有的物体提供了准确的注释,无论其可见度如何。

尽管在模拟工具方面取得了进展,但合成视频和真实视频之间的领域差距仍然是一个问题。正如我们在第4.3节中所显示的,在合成视频上直接训练的模型在应用于KITTI[23]等多目标跟踪基准时表现不佳。我们没有采用复杂的领域适应方法,而是建议利用可见物体注释的真实视频的事实。我们在合成数据和真实数据上联合训练我们的模型,但只计算负责不可见物体监督的损失,因为这种标签是可用的。这使得我们可以从合成数据中学习复杂的行为,例如在遮挡物背后的跟踪,同时最大限度地减少领域差距。

我们的贡献有三个方面:
(1) 在第3.2节中,我们提出了一个用于联合物体检测和多物体跟踪的端到端可训练架构,该架构在任意长度的视频上运行。
(2) 在第3.3节中,我们展示了这个架构如何被训练来检测和跟踪完全不可见的物体。
(3) 在第3.4节中,我们展示了如何用合成和真实数据的混合来监督我们的方法,并在第4节中对KITTI[23]和MOT17[35]的真实世界基准进行了验证,其表现明显优于目前的技术水平。源代码、模型和我们的合成数据集将被公开提供。

2. 相关工作

我们的方法是通过设计一个用于视频中物体检测和跟踪的联合模型并在合成数据上进行训练来解决多物体跟踪的问题。下面,我们回顾一下这些领域中最相关的工作。

多物体追踪是指从视频中预定义的类别列表中定位物体,并根据身份将它们随时间推移联系起来的问题。大多数现有的方法将这两项任务分开处理,其模式被称为 “通过检测进行跟踪”。这类方法的主要区别在于关联步骤是在线进行还是离线进行。

最先进的在线物体追踪器[7, 9, 53, 56, 59]在视频中保持一组活动轨迹。在每一帧中,新的物体检测列表被处理,要么将它们与现有的轨迹联系起来,要么开始一个新的轨迹。早期的方法,如SORT[9],使用卡尔曼滤波器来关联基于边界盒重叠的检测,或来自深度网络的外观特征[53]。最近的方法提出利用更复杂的特征进行关联,如人体姿势[48],或用时空图卷积学习的轨迹表示[56]。尽管这类方法中的一些方法在没有相关观察的情况下维持了几帧的轨迹假设,但它们主要依靠启发式方法,因此在野外并不稳健。相比之下,我们的方法以端到端的方式利用完整的历史学习定位和关联对象,在我们的实验中优于上述的启发式方法。

另一方面,离线方法[5, 6, 10, 31]首先建立一个跨越整个视频的时空图,将物体检测作为节点[5]。边缘成本的定义基于检测之间的重叠[27, 37, 58]、它们的外观相似性[10, 36, 42, 56]或基于运动的模型[2, 13, 16, 31, 39]。然后,检测关联可以被表述为最大流量[6]或最小成本问题[27, 31]。最近,Brasso和Leal-Taixe[10]提出了以从头到尾的方式学习边缘成本。虽然这些方法可以处理相对复杂的场景,但由于其非即时性和高计算复杂性,它们并不实用。相比之下,我们的方法不需要未来的框架,而且是实时运行的。

最近有一些方法试图在一个单一的端到端可学习框架中结合物体检测和跟踪。Bergman等人[7]利用Faster RCNN检测器[40]中的盒式回归分支,将物体从第t-1帧传播到第t帧。Zhou等人[59]将一对帧作为输入,并直接输出检测和关联向量,从而形成一个更简单的架构。然而,这两种方法都只能捕获短期的物体对应关系。我们的方法建立在[59]的基础上,但对其进行了修改,以模拟任意长度的视频序列中物体的时空演变,并使用合成数据来学习检测和跟踪,即使在完全闭塞的情况下。

视频物体检测主要是为了提高视频中检测器的鲁棒性。早期的方法是单独处理帧,但使用Siamese网络来建立检测之间的关联并平滑其分数[20]。后来,Kang等人[28]提出将几个帧的堆栈传递给一个网络,并直接输出短的物体管子。最后,Xiao等人[55]用空间-时间记忆模块增强了一个物体检测器,使其能够处理任意长度的视频。请注意,这些方法都没有解决多物体追踪的问题。相反,他们使用短期关联来提高检测的稳健性。与[55]类似,我们的架构也将物体检测器与时空记忆模块结合在一起,然而,我们使用的是最近的CenterPoint[60]检测器框架,并使用合成数据训练模型来检测和跟踪完全遮挡的物体。

过去,合成数据被用来规避对图像[18, 41, 43]或视频[19, 21, 49]进行人工标注的需要。大多数方法都集中在现实世界中没有标签的情况下,利用无监督的领域适应技术,如对抗性训练[22, 25, 32, 50]和自我训练[30, 45, 61, 62]。尽管已经取得了重大进展,但这些模型的性能仍然明显低于以完全监督方式在真实数据上训练的同类模型。在视频方面,最成功的方法是将大量的合成数据与少量的有标签的真实视频相结合[26, 49]。在这项工作中,我们遵循类似的路线,利用合成数据来获得闭塞场景的昂贵标签,同时依靠多物体追踪数据集中的可见物体注释来最小化领域差距。

3. 研究方法

3.1 背景

我们把我们的方法建立在最近的CenterTrack[59]架构之上。他们的方法从局部角度解决跟踪问题。特别是,CenterTrack将一对帧{It−1\{I^{t-1}{It−1, It}I^t\}It}与Ht−1H^{t-1}Ht−1——先前检测到的物体在帧t−1t-1t−1中的位置的编码一起作为输入。

对象用它们的中心点p∈R2p∈\mathbb{R}^2p∈R2来表示,因此Ht−1H^{t-1}Ht−1被紧凑地编码为一个热图。三个输入张量被连接起来并通过一个骨干网络fff,产生一个特征图Ft=f(Ht−1,It−1,It)F^t = f(H^{t-1}, I^{t-1}, I^t)Ft=f(Ht−1,It−1,It),用于定位当前帧中的物体中心{p^0t,p^1t,...}\{\hat{p}^t_0, \hat{p}^t_1, ...\}{p^​0t​,p^​1t​,...},回归它们的边界框尺寸{s^0t,s^1t,...}\{\hat{s}^t_0, \hat{s}^t_1, ...\}{s^0t​,s^1t​,...},并预测它们相对于前一帧的位移向量{d^0t,d^1t,...}\{\hat{d}^t_0, \hat{d}^t_1, ...\}{d^0t​,d^1t​,...}。在测试时,位移向量被用来通过p^it−d^it\hat{p}^t_i-\hat{d}^t_ip^​it​−d^it​将每个中心投射到前一帧,然后贪婪地将其与最近的可用中心p^∗t−1\hat{p}^{t-1}_{∗}p^​∗t−1​相匹配,从而恢复轨迹(更多细节见[59])。

CenterTrack的本地性质既是它的优势,也是它的弱点。虽然只考虑一对连续的框架简化了模型的结构,但它限制了它的表现力。特别是,它不能捕捉视频中物体的永久性概念,也不能学习在完全闭塞的情况下对物体进行定位和关联。为了解决这个限制,我们首先在第3.2节将[59]扩展到一个视频级模型。然后,我们在第3.3节中描述了如何训练这样一个模型来追踪不可见的物体,并在第3.4节中详细介绍了我们的领域适应方法。

3.2 用于跟踪的视频级模型

我们的模型,如图3所示,将一连串的帧{I1,I2,...,In}\{I^1 , I^2 , ..., I^n\}{I1,I2,...,In}作为输入。每一帧都单独通过骨干网fff,以获得特征图{F1,F2,...,Fn}\{F^1 , F^2 , ..., F^n\}{F1,F2,...,Fn},根据CenterTrack的形式主义,这些特征图对该帧中可见物体的位置进行编码–这是一个瞬时表示。为了学习视频中物体的永久表征,我们用一个卷积门控递归单元(ConvGRU)[4]来增强我们的网络。它是经典GRU[14]的扩展,用二维特征图MMM代替一维状态向量,用卷积代替用于计算状态更新的全连接层。

图3:我们的方法将一连串的帧作为输入,用一个骨干网络(黄色显示)单独处理它们。产生的特征图(蓝色显示)被传递给ConvGRU模块,该模块对场景的表示进行汇总,对所有以前看到的物体进行编码,即使它们在当前帧中被完全遮挡。时间t的记忆状态(金色显示),然后被用来解码物体中心,并估计它们的可见度(为了便于阅读,没有显示直接改编自[59]的其他输出)。

在每个时间步骤ttt,相应的特征图FtF^tFt与之前的状态Mt−1M^{t-1}Mt−1一起被传递给ConvGRU,以计算出更新的状态Mt=GRU(Mt−1,Ft)M^t = GRU(M^{t-1} , F^t)Mt=GRU(Mt−1,Ft)。直观地说,状态矩阵MMM代表了以前看到的物体{o1,o2,...}\{o_1, o_2, ...\}{o1​,o2​,...}在{1,...,t−1}\{1, ..., t - 1\}{1,...,t−1}帧中的全部历史,并通过一系列可学习的、乘法的变换,与第t帧中可见物体的编码一起更新(详见[4])。因此,它可以通过使用以前的历史在ttt帧中引导对象的定位和关联,来模拟输入视频序列中对象的时空演化。此外,它还可以预测过去看到的、但目前被遮挡的物体的位置。请注意,在这种结构下,不需要对以前的帧中心Ht−1H^{t-1}Ht−1进行明确的编码,因为它们已经在ConvGRU状态Mt−1M^{t-1}Mt−1中被捕获。

在实践中,为了在线生成轨迹,MtM^tMt会反复通过单独的子网络fp,foff,fs,fdf_p, f_{off} , f_s, f_dfp​,foff​,fs​,fd​,按照[59],这些子网络被用来解码物体的边界框,并将它们连接成轨迹。我们用一个新的可见性头fvf_vfv​来增强这些网络,它产生一个输出图Vt∈[0,1]H×WV^t∈[0, 1]^{H×W}Vt∈[0,1]H×W。它是一个二元分类器,预测某个特定位置的物体中心是对应于一个可见的,还是一个完全遮挡的实例。例如,请看图3中走在右边红色SUV后面的人。他在遮挡物后面的位置被监督为定位头PtP^tPt的正数,但对VtV^tVt来说是负数。这种区别对于在现实世界的基准上进行评估是很重要的,因为这些基准并不提供不可见物体的注释。为了避免因 "假阳性 "预测而受到惩罚,我们在这些数据集上只输出被我们的模型分类为可见的边界框,但使用不可见的边界框来构建准确的轨迹。

这里详述的所有操作都是完全可分的,因此模型可以通过时间的反向传播以端到端的方式进行训练[52]。按照[59],我们使用焦点损失[33]来监督PtP^tPt和VtV^tVt,并对后三个头使用L1L1L1损失。总的训练目标是:

L=1N∑t=1NLpt+Lvt+λoffLofft+λsLst+λdLdt,(1)L = \frac{1}{N}\sum \limits_{t=1}^{N} L^t_p+L^t_v+λ_{off}L^t_{off}+λ_sL^t_s+λ_dL^t_d,(1) L=N1​t=1∑N​Lpt​+Lvt​+λoff​Lofft​+λs​Lst​+λd​Ldt​,(1)

其中NNN是输入序列的长度,λofffλ_{off}fλoff​f,λsλ_sλs​,λdλ_dλd​是超参数,用于平衡总目标中相应损失的贡献。

正如我们在第4.3节中所讨论的,由于对瞬时观测中的噪声有更强的鲁棒性,仅在可见物体上训练我们的模型就比[59]有明显的改进。接下来,我们将讨论我们对完全遮挡的物体进行监督的方法。

3.3. 学会在遮挡物后面追踪

3.3.1 区分可见度的级别

为了生成长度为NNN的视频序列的训练标签,我们的方法采用对象注释{O1,O2,...,ON}\{O^1, O^2, ..., O^N \}{O1,O2,...,ON},其中Ot={o1t,o2t,...,omt}O^t = \{o^t_1, o^t_2, ..., o^t_m\}Ot={o1t​,o2t​,...,omt​}作为输入。每个物体oit=(p,s,id,vis)o^t_i=(p,s,id,vis)oit​=(p,s,id,vis)由其中心p∈R2p∈\mathbb{R}^2p∈R2,边界框大小s∈R2s∈\mathbb{R}^2s∈R2,身份id∈Iid∈\mathbb{I}id∈I描述,与ppp一起用于监督位移向量ddd,以及可见度级别vis∈[0,1]vis∈[0,1]vis∈[0,1],表示物体在当前帧中的可见部分。直观地说,我们可以简单地忽略可见度等级,监督每一帧中的所有物体。然而,这将导致模型被迫在物体第一次变得可见之前就对其进行检测和跟踪(例如,在视频的整个过程中,图2中的汽车行驶在卡车前面)。正如我们在实验中所显示的(表2),这样的监督实际上是标签噪音,并降低了模型的性能。

为了避免这种情况,我们对注释进行了预处理,只在被遮挡的物体可见至少两帧后才开始监督它们。这是模型定位物体和估计其速度的最短的足够时间——这是预测物体在闭塞状态下的位置所需要的信息。

具体来说,我们引入两个阈值TvisT_{vis}Tvis​和TocclT_{occl}Toccl​。 然后,从序列O1O^1O1的第一帧开始,对于每个物体oi1o^1_ioi1​,如果visi1<Tvisvis^1_i<T_{vis}visi1​<Tvis​,则该物体被视为阴性,如果Tvis<visi1<TocclT_{vis}<vis^1_i<T_{occl}Tvis​<visi1​<Toccl​,则被忽略(模型不会因为预测它而受到惩罚),最后,如果visi1>Tocclvis^1_i>T_{occl}visi1​>Toccl​,则被标记为可见并用于生成标签。对序列中的每一帧都重复同样的程序,唯一不同的是,从第3帧开始,过去连续两帧被标记为可见的物体被视为阳性,而不管它们在当前帧中的可见状态。这个程序减少了对模型监督的模糊性。特别是,第二个阈值TocclT_{occl}Toccl​允许在可见物体和不可见物体之间有一个软过渡。

3.3.2 监督不可见的物体

不可见物体的位置的模糊性并没有完全解决,但上面的算法。考虑一下图4中白色显示的一个人的地面真实轨迹。她走到公交车站后面,然后停下来。在没有观察的情况下,模型不可能预测这种行为。因此,这样的例子也构成了标签噪声。事实上,人和神经网络对被遮挡物体的轨迹所能做出的唯一合理假设是它将保持恒定速度。

图4:说明在完全遮挡的情况下,地面真实物体位置的模糊性。白色显示的女人走到公交车站后面,然后停下来。在这种情况下,我们建议用确定的假地面真相来监督模型,而不是试图预测这个随机事件(绿色显示,与前两帧的地面真相相匹配)。

将最后观察到的物体位置与摄像机帧中的恒定速度进行传播,也是多物体跟踪文献中处理遮挡的最先进方法[7, 59]。然而,它对摄像机运动的变化并不稳定。相反,我们建议通过将被遮挡物体的位置与它们最后观察到的速度进行三维传播,并将产生的中心投射到相机帧上,从而产生用于监督我们模型的伪地面实况标签,这在我们的合成数据集中是可以实现的,因为有完整的地面实况信息。

具体来说,对于一个在时间ttt被遮挡的物体iii,我们在世界坐标系Pit−1,Pit−2∈R3P^{t-1}_i, P^{t-2}_i∈\mathbb{R}^3Pit−1​,Pit−2​∈R3中取其前两帧的地面真实中心,并计算出物体速度Vi=Pit−1−Pit−2V_i = P^{t-1}_i - P^{t-2}_iVi​=Pit−1​−Pit−2​。然后,我们用它来估计在恒定速度假设下物体中心在时间ttt的位置,方法是P~it=Pit−1+Vi\tilde{P}^t_i = P^{t-1}_i + V_iP~it​=Pit−1​+Vi​。最后,这个估计的中心通过P~it=K[R∣t]P~it\tilde{P}^t_i = K[R|t]\tilde{P}^t_iP~it​=K[R∣t]P~it​投射到摄像机帧上,其中KKK是摄像机本征(camera intrinsics),[R∣t][R|t][R∣t]是摄像机外征( camera extrinsic)矩阵,并用于替换相应标签集oito^t_ioit​中的地面实况中心pitp^t_ipit​。同样的程序在所有物体保持不可见的帧中重复进行。这种原则性的方法,在图4中以绿色显示,导致了对不可见物体的确定性监督。然后,重新识别只需通过监督不可见时的相应位移矢量dtd_tdt​来进行。

3.4. 弥合模拟与现实领域的差距

分析上述闭塞情况下的监督跟踪方法需要一个大型的视频数据集,该数据集中的物体无论是否可见都有密集的标签,同时还有精确的可见度分数、三维坐标和摄像机矩阵。由于收集这些注释的成本和复杂性,目前还没有真正的具有这种标签的数据集。

我们不走昂贵的路线,而是使用合成数据,因为合成数据很容易自动生成物理上准确的地面真相。然而,对真实视频的推广仍然是一个挑战。过去有一些使用合成视频进行训练的方法,通过在一个小的真实数据集上简单地微调所产生的模型来解决领域差异问题[21, 26, 49]。然而,在我们的方案中,真实的数据集没有不可见的物体标签,因此这样的微调会导致忘记闭塞物背后的跟踪行为(KITTI提供3D注释,但它们在闭塞物周围是不一致的)。

为了缓解这个问题,我们建议在合成数据和真实数据上联合训练我们的方法,在每个迭代中,从其中一个数据集中随机抽出一个批次。此外,由于上述同样的原因,我们不能使用长度超过2的真实序列(我们希望不可见物体的监督保持一致)。因此,在训练过程中,我们对长度为NNN的合成片段和长度为2的真实片段进行抽样,最后的损失是:

L=1N∑t=1NLsymt+12∑t=12Lrealt,(2)L = \frac{1}{N}\sum \limits_{t=1}^{N} L^t_{sym}+ \frac{1}{2}\sum \limits_{t=1}^{2}L^t_{real},(2) L=N1​t=1∑N​Lsymt​+21​t=1∑2​Lrealt​,(2)

其中LsymL_{sym}Lsym​和LsymL_{sym}Lsym​的定义与方程1中相同。有效地,我们使用合成视频来学习所需的行为,并使用真实的帧对(frame pairs)来最小化域的差异。

4. 实验

4.1. 数据集和评价

我们在实验分析中使用了两个真实的数据集来与之前的工作进行比较。KITTI[23]和MOT17[35]。此外,我们还使用了一个虚拟数据集——ParallelDomain(PD),来学习在遮挡物后面进行追踪。

KITTI是一个捕捉城市驾驶场景的多目标跟踪基准[23]。它由21个训练序列和29个测试序列组成。汽车、行人和骑自行车的人以10 FPS的速度用二维边界框进行标注。按照以前的工作,我们对前两类进行评估。对于消融分析,我们将每个训练序列分成两半,用前一半进行训练,后一半进行验证。测试集被保留下来用于与现有技术水平的比较。

MOT17是人员跟踪的标准基准[35]。与KITTI不同的是,大多数视频是用静态摄像机拍摄的,并以拥挤的室内和室外区域为特征。它由7个训练序列和7个测试序列组成,并以25-30 FPS的速度标注了2D边界框。对于KITTI,我们将训练视频分成两半,以创建一个验证集。这个数据集的标准政策是只报告那些不使用外部数据的测试集的方法。为了公平起见,我们与验证集上的技术水平进行比较。

**ParallelDomain(PD)**是我们的合成数据集,用于学习追踪遮挡物背后的情况。它是使用最先进的合成数据生成服务[1]收集的。该数据集包含220个以20FPS拍摄的城市环境中的驾驶场景的照片般真实的视频。这些视频代表了拥挤的街道,有很多涉及人和车辆的遮挡和不遮挡场景,提供了我们方法所需的所有上述注释。每段视频长10秒,有3个独立的摄像机视角,有效地将数据集大小增加到660段。我们用其中的600个进行训练,其余的60个进行验证。

评价指标 传统上,多物体跟踪数据集一直使用CLEAR MOT指标进行评估[8],MOTA是用于比较各种方法的主要指标。然而,最近有研究表明,它过分强调了检测而不是关联[34]。取而代之的是,补充指标,如至少保持了80%的时间(“大部分跟踪”)的轨道的比例,必须与MOTA一起使用。

缺乏一个结合检测和关联准确性的单一指标的问题已经被基于轨道交叉联合(IoU)的指标[17, 44, 57]和HOTA[34]解决。在我们的分析中,我们使用前者,因为它更强调关联的准确性。为了正式定义轨道IoU,让G={g1,...,gT}G = \{g_1, . . ., g_T \}G={g1​,...,gT​}和D={d1,...,dT}D = \{d_1, . . ., d_T \}D={d1​,...,dT​}是一个基础事实和一个相应的预测轨道,用于具有T帧的视频。重要的是,每个地面实况轨迹只能分配一个预测轨迹,所有未分配的轨迹都被视为假阳性。轨迹IoU被定义为:IoU(D,G)=∑t=1Tgt∩dt∑t=1Tgt∪dtIoU(D, G) = \frac{\sum \nolimits_{t=1}^Tg_t\cap d_t}{\sum \nolimits_{t=1}^Tg_t\cup d_t}IoU(D,G)=∑t=1T​gt​∪dt​∑t=1T​gt​∩dt​​。与标准的物体检测指标类似,轨道IoU和轨道置信度可用于计算跨类别的平均精度(mAP),使用预定的IoU阈值。按照[17],我们在所有的实验中使用了0.5的阈值。当与现有技术水平进行比较时,我们报告了每个数据集的标准指标。

4.2. 实施细节

对于我们的模型中与CenterTrack[59]共享的部分,我们完全遵循其架构和训练细节。这里我们只提供新的超参数的值,以及在合成和真实数据上的联合训练的细节。我们将发布所有的代码、模型和合成数据,以确保实验的可重复性。

ConvGRU的特征维度为256,并使用7×77\times77×7的卷积。我们使用Adam优化器对长度为17的合成序列进行了21个历时的训练,批次大小为16。夹子长度的选择是由GPU的内存限制决定的。学习率被设置为1.25e−41.25e-41.25e−4,并在1个历时内每7个历时减少10倍。然后再增加到原来的值。我们发现这样的周期性安排可以加快收敛速度。我们将可见性阈值TvisT_{vis}Tvis​设置为0.05,闭塞阈值TocclT_{occl}Toccl​设置为0.15,分别对应于物体的5%和15%可见。

学习定位在当前帧中不可见的物体是一种挑战,该模型倾向于忽略它们。为了避免这种情况,我们将定位损失的权重增加了20倍,用于完全遮挡的实例和包含遮挡情况的样本序列,其概率与遮挡长度成正比。在评估过程中,我们的模型以完全在线的方式应用,逐一处理视频中的所有帧。它在单个Tesla V100 GPU上运行,速度约为10FPS。

对于KITTI[23]和MOT17[35]的领域适应,我们首先在PD上对模型进行预训练,然后使用方程2中的损失在PD和相应的数据集上共同进行微调。批次是以相等的概率从每个数据集中取样的。我们对所有数据集使用批次大小为16,并使用Adam优化器以1.25e−41.25e-41.25e−4的学习率训练5个 epochs。在第4个历时后,学习率下降了10倍。由于数据集大小的不同,一个历时被定义为KITTI+PD训练的5000次迭代,而MOT+PD的1600次迭代。

由于MOT17中的视频大多是用静态摄像机拍摄的,二维的恒定速度可以作为被遮挡的人的地面真实位置的合理近似值。基于这一观察,我们在联合微调过程中使用长度为13的MOT17序列,并通过轨迹插值获得的伪地面真相来监督闭塞的位置。这种策略简化了领域适应,然而,正如我们在下面讨论的那样,MOT17的训练集太小,无法从头开始学习我们模型的参数。

4.3. 消融分析

在本节中,我们首先在表1中分析了我们提出的视频水平跟踪模型,并在表2中使用PD数据集研究了监督完全遮挡物体的不同方法。然后,我们在图5中展示了我们的大型合成数据集对于学习复杂物体持久性先验的重要性。最后,我们在表3中展示了在虚拟世界中学习的模型如何有效地适应真实的KITTI视频。所有的模型都是用完全相同的超参数和学习率计划来训练的。

GRU Ht−1H^{t-1}Ht−1 Input Car AP Person AP mAP
CenterTrack - 2 fr 66.2 54.4 60.3
Ours 3×33\times33×3 2 fr 64.6 49.7 57.1
Ours 7×77\times77×7 2 fr 65.2 54.0 59.6
Ours 7×77\times77×7 × 2 fr 65.7 55.6 60.6
Ours 7×77\times77×7 × Video 66.8 57.9 62.4

表1. 使用Track AP对PD的验证集进行的我们的模型结构分析。我们消减了ConvGRU中过滤器大小的影响,明确地传递了前一帧Ht-1中物体中心的编码,并对视频与帧对进行训练。

Invis. sup. Post-proc. Car AP Person AP mAP
Ours All GT - 66.0 58.3 62.2
Ours Filtered GT - 71.1 60.6 65.9
Ours 2D const v - 70.7 60.8 65.7
Ours 3D const v - 71.0 63.0 67.0
CenterTrack - 2D const v 67.6 54.9 61.2
Ours 3D const v 2D const v 72.7 63.1 67.9

表2. 在PD的验证集上使用Track AP处理完全闭塞的不同方法的比较。我们评估了几种监督策略,并将最佳变体与基于启发式的恒定速度轨迹传播进行比较。

图5. 使用Track mAP对PD验证集的训练视频数量的影响评估。我们的完整方法(绿色显示)和没有隐形物体标签的训练变体(蓝色显示)之间的差距随着数据集大小而不断增加。这表明学习物体持久性先验需要一个大的数据集,而KITTI(显示为黄色)即使提供所有需要的标签也是不够的。

KITTI PD Car AP Person AP mAP
CenterTrack [59] × 73.8 39.4 56.6
Ours × 83.3 38.2 60.8
Ours (tune) 75.7 44.6 60.2
Ours (joint) 84.7 56.3 70.5
CenterTrack (joint) 77.2 51.6 64.4

表3. 使用Track AP对KITTI的验证集进行的领域适应性分析。我们证明了我们简单策略的有效性,并确认改进主要来自于更好的闭塞处理。

模型的变体: 我们首先研究我们的视频级跟踪模型的变体。为此,我们首先使用作者提供的代码在PD上训练CenterTrack,并在表1的第1行报告了结果。我们模型的基本变体,如第2行所示,与CenterTrack一样,将成对的帧与Ht−1H^{t-1}Ht−1一起作为输入,Ht−1H^{t-1}Ht−1是对前一帧的检测的编码,但用ConvGRU对它们进行循环处理。它的表现明显比基线差,这是因为CenterTrack使用具有大视场的深度网络来结合两帧并建立物体之间的联系,而我们的模型则依靠ConvGRU中的几个卷积层和3×33\times33×3过滤器。增加过滤器的大小(表1的第3行)确实导致了明显的性能改善。

接下来,我们观察到,额外的Ht−1H^{t-1}Ht−1输入在我们的案例中是多余的。此外,删除这个输入可以避免[59]提出的相应的热图增强策略。这种简化(见表1第4行)进一步提高了我们模型的性能,与CenterTrack相匹配。最后,在较长的序列上进行训练和评估(表1的最后一行),释放了我们架构在视频中捕捉物体持久性的全部潜力。即使只对可见物体进行训练,由于其对瞬时观测中的噪声的鲁棒性,这个变体也明显优于基线。

追踪遮挡物背后的情况: 在表2中,我们现在比较了监督完全遮挡场景的各种策略。首先,我们观察到,与只对可见物体进行训练的变体相比,训练模型以检测和跟踪所有不可见物体的天真方法导致了性能的轻微下降(表1的最后一行)。正如第3.3节中所讨论的,这种监督是非常模糊的,因为模型不能定位它以前没有见过的完全遮挡的物体。通过我们提出的注释过滤策略(表2的第二行)考虑到这一事实,结果是3.5mAP的改进,验证了其重要性。

接下来,我们比较了使用不可见物体的地面真实位置(即使在我们的过滤策略之后也可能是模糊的)和通过在二维或三维中以恒定速度传播被遮挡的物体获得的伪地面真实(详见3.3节)。二维的恒定速度(表2中的第3行)对摄像机的变化不具有鲁棒性,其结果是比地面实况位置的性能低。相比之下,用最后观察到的三维世界坐标的速度传播目标(表中第4行),其结果是标签既与观察结果一致,又是完全确定的,进一步提高了性能。

最后,我们在表2的最后两行将我们基于学习的方法与恒速后处理进行了比较,恒速后处理是跟踪文献[7, 59]中处理遮挡的一种常见方式。首先,这种基于启发式的步骤确实提高了[59]的性能,但它仍然比我们的原则性方法低5.8个mAP点。其次,对我们方法的输出进行后处理也提高了其性能。在其余的实验中,我们没有使用任何后处理。

数据集大小的影响: 在图5中,我们绘制了我们的模型的两个变体的验证性能:完整的模型(对应于表2的第4行),以及只为检测和跟踪可见物体而训练的模型(表1的最后一行),同时增加PD训练集的视频数量。我们可以很容易地看到,这两个变体之间的差距一直在增加。事实上,在75个视频以下,它接近于0。这表明需要大量的例子来学习遮挡物背后的跟踪行为。

黄色虚线对应的是KITTI训练集的视频数量,说明即使这个数据集提供了所有需要的注释,也不足以训练我们的模型。MOT17只包含7个训练视频,这使得它对我们的目的更不实用。

领域适应性: 现在,我们在表3中展示了在大规模、合成的PD数据集上学习的模型如何转移到KITTI等真实世界的跟踪基准,并与作者发布的CenterTrack模型进行比较。首先,我们直接评估我们在PD上训练的方法(表2的第四行),并在表3的第二行报告结果。令人惊讶的是,尽管合成视频和真实视频之间存在明显的领域差距,但这个变体在没有看到KITTI数据集的任何一帧的情况下就成功地超过了CenterTrack的训练。然而,由于其较高的视觉变异性,在人物类别上的性能差距仍然很大。

在KITTI上直接对我们的模型进行微调(如表中第三行所示),有助于减少领域差异,提高人的性能,但也导致无法学习障碍物后的跟踪行为,这反映在Car AP的下降上。相比之下,使用第3.4节中描述的策略对两个数据集进行联合训练,总体上取得了最好的结果,验证了所提方法的有效性。

最后,我们将我们的领域适应方法应用于在PD上训练的CenterTrack模型(表1的第一行),并在表3的最后一行报告结果。我们可以看到,合成数据也改善了CenterTrack的结果,但它们仍然比我们的方法低6.1个mAP点。这表明,改进主要来自于我们的模型能够更好地处理遮挡物。

4.4 与技术现状的比较

在这一节中,我们将我们的方法与KITTI[23]和MOT17[35]多目标跟踪基准的技术水平进行比较。我们所有的模型都在PD上进行了预训练,并使用相应数据集的训练集来适应真实的领域。

KITTI: 表4列出了KITTI测试集的结果,与基于视觉的在线方法进行了比较。我们的方法在两个类别的所有指标上都优于目前的技术水平,除了汽车上的ML(大部分丢失),我们比它低0.4分[38]。请注意,我们在HOTA的主要指标上比该方法高出5.7分,在人身上的所有指标上都远远超过了它。我们对最先进的CenterTrack的改进是在汽车上提高了5个HOTA点,在人身上提高了8.4个HOTA点,这是值得注意的,因为排行榜上的方法之间的典型差异在1点之内,而且CenterTrack是在大规模的、真实世界的nuScenes数据集上预训练的[12]。

Car Person
HOTA↑\uparrow↑ MOTA↑\uparrow↑ MT↑\uparrow↑ PT↓\downarrow↓ ML↓\downarrow↓ HOTA↑\uparrow↑ MOTA↑\uparrow↑ MT↑\uparrow↑ PT↓\downarrow↓ ML↓\downarrow↓
MASS[29] 68.3 84.6 74.0 23.1 2.9 - - - - -
IMMDP[54] 68.7 82.8 60.3 27.5 12.2 - - - - -
AB3D[51] 69.8 83.5 67.1 21.5 11.4 35.6 38.9 17.2 41.6 41.2
TuSimple[15] 71.6 86.3 71.1 22.0 6.9 45.9 57.6 30.6 44.3 25.1
SMAT[24] 71.9 83.6 62.8 31.2 6.0 - - - - -
TrackMPNN[38] 72.3 87.3 84.5 13.4 2.2 39.4 52.1 35.1 46.1 18.9
CenterTrack[59] 73.0 88.8 82.2 15.4 2.5 40.4 53.8 35.4 43.3 21.3
Ours 78.0 91.3 85.7 11.7 2.6 48.6 66.0 48.8 35.4 15.8

表4. 与KITTI基准测试集上使用综合指标的技术水平的比较。一些方法只报告了对汽车的结果。我们的方法在所有的指标上都比其他的方法要好很多,除了在汽车上的ML。

MOT17: 这个数据集的政策是,只有那些不使用外部数据进行训练的方法才能在测试服务器上进行评估。由于训练集中只有7个视频,MOT17不足以学习闭塞背后的复杂跟踪行为。为了公平起见,我们将我们的方法与最先进的CenterTrack的变体进行了比较,后者在真实世界的CrowdHuman数据集[46]上进行了预训练,使用了MOT17的验证集。表5列出了MOT17的验证集。

T.R. IDF1↑\uparrow↑ MOTA↑\uparrow↑ MT↑\uparrow↑ PT↓\downarrow↓ ML↓\downarrow↓
public CenterTrack[59] 63.2 63.1 37.5 38.1 24.5
Ours 67.0 67.8 43.7 36.3 20.1
CenterTrack[59] 66.4 63.8 37.2 38.1 24.8
Ours 71.1 68.2 41.0 39.5 19.5
private CenterTrack[59] 64.2 66.1 41.3 37.5 21.2
Ours 68.2 69.4 46.3 36.0 17.7
CenterTrack[59] 69.4 66.2 39.5 38.3 22.1
Ours 71.9 69.5 42.5 39.8 17.7

表5. 与MOT17验证集上使用私人和公共检测的技术现状的比较。我们的方法在所有指标上都优于最先进的CenterTrack方法,无论是否有跟踪重生(T.R.)后处理。

在不进行后处理的情况下,我们的方法在使用公共和私人检测时都优于[59]。在公共评估中,改进尤为明显(两种方法使用的边界框相同),强调了我们方法更好的跟踪能力。最后,加入来自[59]的Track Rebirth后处理(表中的T.R. 是恒定速度的变种),可以提高两种方法的性能,但不改变结论。

定性结果: 我们在图6中提供了我们的方法在KITTI测试集的一个序列上的输出实例。在这个具有挑战性的场景中,当自我车辆向前行驶时,左边的汽车(id 6,白色突出显示)被另一辆行驶中的车辆(id 2)完全遮挡,但我们的方法能够正确定位它并保持轨迹。在KITTI和MOT17数据集上对我们的方法进行的更全面的分析见补充视频1。

图6. 对KITTI基准测试序列的定性结果。我们的方法能够成功地跟踪左边的一辆完全遮挡的汽车(id 6,用白色突出)。请看补充视频,了解对两个数据集的更全面的分析。

5. 结论

在这项工作中,我们提出了一种端到端可训练的方法,用于视频中的联合物体检测和跟踪。由于它的递归记忆模块,它能够在物体完全被遮挡时推理出它们的位置–这是认知科学中的一个关键概念,被称为物体持久性。我们分析了几种使用新引入的合成数据集来学习这种行为的方法,该数据集为物体提供注释,而不考虑其可见度。我们在两个真实世界的多物体跟踪基准上验证了我们的方法,并获得了最先进的结果。将这种方法扩展到无监督学习是未来研究的一个有希望的方向。

论文笔记(十一):Learning to Track with Object Permanence相关推荐

  1. Learning to Track with Object Permanence阅读笔记

    Learning to Track with Object Permanence阅读笔记 (一) Tilte (二) Summary (三) Research Object (四) Problem S ...

  2. Learning to Track with Object Permanence GRU模块以及损失函数解析

    一.centerTrack简介 centerTrack是一种JDE方法,其将前一帧图像.当前帧图像.上一帧的heatmap同时传入网络,网络通过backbone后分别输出不同的head包括:headm ...

  3. CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》

    CLIP论文笔记--<Learning Transferable Visual Models From Natural Language Supervision> 1.Introducti ...

  4. [深度学习论文笔记]Pairwise Learning for Medical Image Segmentation

    [深度学习论文笔记]Pairwise Learning for Medical Image Segmentation 医学图像分割的成对学习 Published: October 2020 Publi ...

  5. [论文笔记]AAAI-2021-Continual Learning for Named Entity Recognition

    [论文笔记] 2021-AAAI-Continual Learning for Named Entity Recognition 0 写在前面 什么是持续学习? 我们人类有能够将一个任务的知识用到另一 ...

  6. [论文笔记 ECCV2020] Learning to Count in the Crowd from Limited Labeled Data

    [论文笔记 ECCV2020] Learning to Count in the Crowd from Limited Labeled Data 摘要 Abstract 贡献 Contribution ...

  7. 【论文笔记】Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement Learn

    文章目录 [论文笔记] Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement ...

  8. 【论文阅读笔记】Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer

    摘要: 本文主要研究训练和测试类别不相交时(即没有目标类别的训练示例)的对象分类问题.在此之前并没有对于毫无关联的训练集和测试集进行对象检测的工作,只是对训练集所包含的样本进行分类.实验表明,通过使用 ...

  9. AI医药论文笔记--Deep learning improves prediction of drug–drug and drug–food interactions

    深度学习用于提高对药物-药物相互作用和药物-食物相互作用的预测 论文题目 Deep learning improves prediction of drug–drug and drug–food in ...

最新文章

  1. 因链接静态库先后顺序不正确,引起符号定义找不到
  2. js中将 整数转成字符,,将unicode 编码后的字符还原出来的方法。
  3. Kitten编程猫 里的一步积木设计原理
  4. 如何删除本地分支_如何上传项目到GitHub
  5. .NET常用功能和代码[总结与收藏]
  6. Hibernate框架ORM的实现原理-不是技术的技术
  7. 记2014“蓝桥杯全国软件大赛quot;决赛北京之行
  8. Google 团队效能研究 | 为什么雇用最聪明的人是远远不够的? 1
  9. SQL Server 2005 express下载地址
  10. android 短信列表优化,android listview优化几种写法详细介绍
  11. 已有一个已排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中。
  12. 微信转发图片不清晰怎么办?
  13. VC下自制一个MusicPlayer:调用activemovie控件
  14. 2022“杭电杯”中国大学生算法设计超级联赛(2)1003.Copy
  15. C# 实现xls类型转换为xlsx类型
  16. 用turtle画美国队长盾牌
  17. Linux Kernel Panic报错解决思路
  18. 基于CANVAS与MD5的客户端生成验证码
  19. 乐视网提示股票存在被暂停上市风险 开盘跌停
  20. 高速光耦合器及其开关特性H11LxM、H11NxM

热门文章

  1. centos关机重启命令
  2. 西交计算机组成原理第四章,西安交通大学“ 计算机组成原理”实验课程教学大纲...
  3. 8年软件测试从业者个人感悟
  4. 腾讯qq2014官方正式版 v6.3.12390 免费版
  5. Python学习笔记—低阶入门(已完结)
  6. echart地图下钻
  7. 深入RocketMQ-消息原理篇
  8. 顺丰2017年净赚47亿;雷军辞去猎豹移动董事长;芬兰政府购买诺基亚3.3%股权丨价值早报
  9. linux服务器网络编程之线程模型
  10. 通过正则化扩展回归库