摘要

  机器学习技术通常用于计算机视觉,因为它们能够利用大量训练数据来提高性能。不幸的是,大多数通用对象跟踪器仍然是从零开始在线训练的,并且无法从大量可用于离线训练的视频中受益。我们提出了一种离线训练神经网络的方法,该方法可以在测试时以 100 fps 的速度跟踪新物体。我们的跟踪器比以前使用神经网络进行跟踪的方法要快得多,这些方法通常运行速度非常慢,并且对于实时应用程序不实用。我们的跟踪器使用简单的前馈网络,无需在线培训。跟踪器学习对象运动和外观之间的一般关系,可用于跟踪未出现在训练集中的新对象。我们在标准跟踪基准上测试我们的网络,以展示我们的跟踪器最先进的性能。此外,随着我​​们向离线训练集添加更多视频,我们的性能也会提高。据我们所知,我们的 tracker1 是第一个学习以 100 fps 跟踪通用对象的神经网络跟踪器。

1 简介

鉴于在视频的一帧中标记了一些感兴趣的对象,“单目标跟踪”的目标是在后续视频帧中定位该对象,尽管对象运动、视点变化、照明变化或其他变化。 单目标跟踪是许多系统的重要组成部分。 对于人跟随应用程序,机器人必须在人在其环境中移动时对其进行跟踪。对于自动驾驶,机器人必须跟踪动态障碍物,以估计他们正在移动的位置并预测他们未来将如何移动。
  通用对象跟踪器(不是专门针对特定对象类别的跟踪器)传统上完全从头开始在线训练(即在测试期间)[15,3,36,19],没有进行离线训练。 此类跟踪器的性能受到影响,因为它们无法利用现成的大量视频来提高其性能。 离线培训视频可用于教跟踪器处理旋转、视点变化、照明变化和其他复杂的挑战。
图 1. 使用带有边界框标签(但没有类别信息)的视频和图像集合,我们训练神经网络来跟踪通用对象。 在测试时,网络无需任何微调即可跟踪新物体。 通过避免微调,我们的网络能够以 100 fps 的速度进行跟踪

  在计算机视觉的许多其他领域,例如图像分类、对象检测、分割或活动识别,机器学习允许视觉算法从离线数据中训练并了解世界 [5, 23, 13,25, 9, 28 ]。 在每种情况下,算法的性能都会随着它迭代训练图像集而提高。 这种模型受益于神经网络从大量数据中学习复杂函数的能力。
  在这项工作中,我们展示了通过观看世界上移动的对象的离线视频来学习实时跟踪通用对象是可能的。 为了实现这一目标,我们引入了 GOTURN,即使用回归网络的通用对象跟踪。 我们以完全离线的方式训练神经网络进行跟踪。在测试时,当跟踪新物体时,网络权重被冻结,不需要在线微调(如图 1 所示)。 通过离线训练过程,跟踪器学习以快速、稳健和准确的方式跟踪新对象。
  尽管在使用神经网络进行跟踪方面已经完成了一些初步工作,但这些努力产生的神经网络跟踪器对于实际使用来说太慢了。相比之下,我们的跟踪器能够以 100 fps 的速度跟踪对象,据我们所知,它是迄今为止最快的神经网络跟踪器。我们的实时速度取决于两个因素。首先,大多数以前的神经网络跟踪器都是在线训练的 [26, 27, 34, 37, 35, 30, 39, 7, 24];然而,训练神经网络是一个缓慢的过程,导致跟踪缓慢。相比之下,我们的跟踪器是离线训练的,以学习外观和运动之间的一般关系,因此不需要在线训练。其次,大多数跟踪器采用基于分类的方法,对许多图像块进行分类以找到目标对象 [26、27、37、30、39、24、33]。相比之下,我们的跟踪器使用基于回归的方法,只需要通过网络进行一次前馈传递即可直接回归到目标对象的位置。与以前的方法相比,离线训练和一次性回归的结合可以显着提高速度,并使我们能够以实时速度跟踪对象。
  GOTURN 是第一个能够以 100 fps 运行的通用对象神经网络跟踪器。 我们使用标准跟踪基准来证明我们的跟踪器优于最先进的跟踪器。 我们的跟踪器从一组 la beled 训练视频和图像中进行训练,但我们不需要任何类别级别的标签或有关被跟踪对象类型的信息。 GOTURN 建立了一个新的跟踪框架,其中外观和运动之间的关系以一种通用的方式离线学习。 我们的代码和其他实验可以在 http://davheld.github.io/GOTURN/GOTURN.html 找到。

2 相关工作

在线跟踪培训。 用于通用对象跟踪的跟踪器通常完全在线训练,从视频的第一帧开始 [15、3、36、19]。 一个典型的跟踪器将在目标对象附近采样块,这些块被认为是“前景”[3]。 距离目标对象较远的一些块也被采样,这些块被视为“背景”。 然后将这些补丁用于训练前景-背景分类器,该分类器用于对下一帧的补丁进行评分,以估计目标对象的新位置 [36, 19]。不幸的是,由于这些跟踪器完全是在线训练的, 他们无法利用大量可用于离线培训的视频来提高他们的表现。
  一些研究人员还尝试在传统的在线训练框架内使用神经网络进行跟踪 [26, 27, 34, 37, 35, 30, 39, 7, 24, 16],展示了最先进的结果 [30 , 7, 21]。 不幸的是,神经网络的训练速度非常慢,如果需要在线训练,那么生成的跟踪器在测试时会非常慢。 此类跟踪器的范围从 0.8 fps [26] 到 15 fps [37],性能最佳的神经网络跟踪器在 GPU [30、7、21] 上以 1 fps 的速度运行。 因此,这些跟踪器不适用于大多数实际应用。 因为我们的跟踪器是以通用方式离线训练的,所以不需要对我们的跟踪器进行在线训练,使我们能够以 100 fps 的速度进行跟踪。
  基于模型的跟踪器。 另一类跟踪器是基于模型的跟踪器,旨在跟踪特定类别的对象 [12,1,11]。 例如,如果一个人只对跟踪行人感兴趣,那么可以训练一个行人检测器。 在测试期间,这些检测可以使用时间信息链接在一起。 这些跟踪器是离线训练的,但它们受到限制,因为它们只能跟踪特定类别的对象。 我们的跟踪器以通用方式离线训练,可用于在测试时跟踪新对象。
  其他神经网络跟踪框架。 一个相关的研究领域是补丁匹配 [14, 38],最近在 [33] 中用于跟踪,以 4 fps 运行。 在这种方法中,许多候选补丁通过网络传递,并选择匹配分数最高的补丁作为跟踪输出。 相比之下,我们的网络只通过网络传递两张图像,网络直接回归到目标对象的边界框位置。 通过避免对许多候选补丁进行评分,我们能够以 100 fps 的速度跟踪对象。

图2所示。为用于跟踪的网络架构。我们从当前帧输入一个搜索区域,从前一帧输入一个目标。网络学习比较这些裁剪图像,以找到当前图像中的目标对象

  先前已经尝试使用神经网络以各种其他方式进行跟踪 [18],包括视觉注意模型 [4, 29]。然而,当在困难的跟踪器数据集上进行评估时,这些方法与其他最先进的跟踪器没有竞争力。

3 方法

3.1 方法概述

在高层次上,我们将视频的帧输入到神经网络中,网络在每一帧中连续输出被跟踪对象的位置。 我们使用视频序列和图像完全离线训练跟踪器。 通过我们的离线训练程序,我们的跟踪器学习了外观和运动之间的一般关系,可用于在测试时跟踪新对象,而无需在线训练。

3.2 输入/输出格式

要跟踪什么。 如果视频中有多个对象,网络必须接收一些关于视频中哪个对象被跟踪的信息。为此,我们将目标对象的图像输入到网络中。 我们将前一帧裁剪并缩放到以目标对象为中心,如图 2 所示。此输入允许我们的网络跟踪它以前未见过的新对象; 网络将跟踪此裁剪中输入的任何对象。我们填充此裁剪以允许网络接收有关目标对象周围环境的一些上下文信息。
  更详细地说,假设在第 t-1 帧中,我们的跟踪器先前预测目标位于以 c = (cx, cy) 为中心的边界框中,宽度为 w,高度为 h。 在时间 t,我们选取以 (cx, cy) 为中心的帧 t-1 的裁剪,其宽度和高度分别为 k1 w 和 k1 h。 该裁剪告诉网络正在跟踪哪个对象。 k1 的值决定了网络将从前一帧接收到多少关于目标对象的上下文。
  在哪里找。 为了在当前帧中找到目标对象,跟踪器应该知道该对象之前的位置。 由于对象倾向于在空间中平稳移动,因此对象的先前位置将很好地猜测网络当前应该期望在哪里找到对象。我们通过根据对象的先前位置在当前帧中选择搜索区域来实现这一点 . 我们使用搜索区域裁剪当前帧并将该裁剪输入到我们的网络中,如图 2 所示。然后网络的目标是回归到目标对象在搜索区域内的位置。
  更详细地说,当前帧 t 的裁剪以 c’ = (c’x, c’y) 为中心,其中 c0 是目标对象的预期平均位置。 我们设置 c0 = c,这相当于一个恒定位置运动模型,尽管也可以使用更复杂的运动模型。 当前帧的裁剪的宽度和高度分别为 k2 w 和 k2 h,其中 w 和 h 是前一帧中预测的边界框的宽度和高度,k2 定义了我们对目标对象的搜索半径。 在实践中,我们使用 k1 = k2 = 2。
  只要目标对象没有被遮挡并且没有移动得太快,目标就会位于该区域内。 对于快速移动的对象,可以增加搜索区域的大小,但会增加网络的复杂性。 或者,为了处理长期遮挡或大运动,我们的跟踪器可以与另一种方法相结合,例如在线训练的对象检测器,如 TLD 框架 [19] 或视觉注意模型 [4,29, 2] ; 我们把它留给未来的工作。
  网络输出。 网络输出当前帧中对象相对于搜索区域的坐标。 网络的输出由边界框左上角和右下角的坐标组成。

3.3 网络架构

对于单目标跟踪,我们定义了一种新颖的图像比较跟踪架构,如图 2 所示(请注意,相关的“双帧”架构也已用于其他任务 [20, 10])。 在这个模型中,我们将目标对象和搜索区域分别输入到一系列卷积层中。 这些卷积层的输出是一组捕获图像高级表示的特征。
  这些卷积层的输出然后通过多个全连接层馈送。 全连接层的作用是将目标物体的特征与当前帧中的特征进行比较,找出目标物体移动的位置。 在这些帧之间,对象可能经历了平移、旋转、光照变化、遮挡或变形。 因此,由全连接层学习的函数是一个复杂的特征比较,它通过许多示例学习,以便在输出被跟踪对象的相对运动时对这些各种因素具有鲁棒性。
  更详细地说,我们模型中的卷积层取自 CaffeNet 架构的前五个卷积层 [17, 23]。 我们将这些卷积层的输出(即 pool5 特征)连接成一个向量。这个向量输入到 3 个全连接层,每个层有 4096 个节点。 最后,我们将最后一个全连接层连接到一个输出层,该输出层包含代表输出边界框的 4 个节点。 我们使用我们的验证集(与我们所有的超参数一样)选择将输出放大 10 倍。 网络超参数取自 CaffeNet 的默认值,在每个全连接层之间,我们使用像 CaffeNet 中的 dropout 和 ReLU 非线性。我们的神经网络是使用 Caffe [17] 实现的。

3.4 跟踪

在测试期间,我们使用第一帧的真实边界框初始化跟踪器,这是单目标跟踪的标准做法。 在随后的每个帧 t,我们将帧 t-1 和帧 t 的作物输入网络(如第 3.2 节所述)以预测对象在帧 t 中的位置。 我们继续为视频的其余部分重新裁剪并将成对的帧输入到我们的网络中,我们的网络将在整个视频序列中跟踪目标对象的移动。

4 训练

我们结合视频和静止图像来训练我们的网络。 训练过程如下所述。 在这两种情况下,我们在预测边界框和真实边界框之间使用 L1 损失来训练网络。

4.1 视频和图像训练

我们的训练集由一组视频组成,其中每个视频中的一部分帧都标有某个对象的位置。 对于训练集中的每一对连续帧,我们按照第 3.2 节所述裁剪帧。在训练期间,我们将这对帧输入网络并尝试预测对象如何从第一帧移动到第二帧框架(如图 3 所示)。 我们还使用我们的运动模型来增加这些训练示例,如第 4.2 节所述。
  我们的训练过程还可以利用一组静止图像,每个图像都标有物体的位置。 该训练图像集教会我们的网络跟踪更多样化的对象集,并防止过度拟合我们训练视频中的对象。 为了从图像中训练我们的跟踪器,我们根据我们的运动模型对图像进行随机裁剪(参见第 4.2 节)。 在这两种裁剪之间,目标对象发生了明显的平移和比例变化,如图 4 所示。我们将这些裁剪视为来自视频的不同帧。 尽管这些作物中的“运动”不像我们的训练视频中发现的运动类型那样变化多端,但这些图像对于训练我们的网络以跟踪各种不同的对象仍然很有用。

图 3. 训练视频示例。 该网络的目标是预测在顶行视频帧中心显示的目标对象的位置,在像底行一样移动之后。 真实边界框标记为绿色


图 4. 训练图像示例。 该网络的目标是预测在顶行图像裁剪中心显示的目标对象的位置,在像底行一样移动之后。 真实边界框标记为绿色

4.2 学习运动平滑度

现实世界中的物体倾向于在空间中平稳移动。 给定目标对象位置不确定的模糊图像,跟踪器应预测目标对象位于先前观察到的位置附近。 这在包含多个几乎相同对象的视频中尤其重要,例如相同类型的多个水果。 因此,我们希望告诉我们的网络,在其他条件相同的情况下,小动作比大动作更受欢迎。
  为了具体化运动平滑度的概念,我们将当前帧中边界框的中心 (c’x, c’y) 相对于前一帧中边界框的中心 (cx, cy) 建模为

其中 w 和 h 分别是前一帧边界框的宽度和高度。 ∆x 和 ∆y 是随机变量,用于捕捉边界框相对于其大小的位置变化。 在我们的训练集中,我们发现物体改变了它们的位置,使得 ∆x 和 ∆y 都可以用均值为 0 的拉普拉斯分布来建模(详见补充材料)。 这种分布在较小的运动上比较大的运动具有更高的概率。
  同样,我们通过以下方式对大小变化进行建模其中 w’ 和 h’ 是边界框的当前宽度和高度, w 和 h 是边界框的先前宽度和高度。 术语 γw 和 γh 是捕捉边界框大小变化的随机变量。 我们在训练集中发现 γw 和 γh 由均值为 1 的拉普拉斯分布建模。这种分布使边界框大小保持与前一帧的大小接近相同的概率更高。
  为了让我们的网络更喜欢小动作而不是大动作,我们使用从上述拉普拉斯分布中抽取的随机裁剪来扩充我们的训练集(示例见图 3 和图 4)。 因为这些训练示例是从拉普拉斯分布中采样的,所以小动作比大动作采样得更多,因此我们的网络将学会更喜欢小动作而不是大动作,其他条件相同。 我们将证明,与分类任务中使用的标准统一裁剪程序相比,这种拉普拉斯裁剪程序提高了我们跟踪器的性能 [23]。
  拉普拉斯分布的尺度参数通过交叉验证选择为 bx = 1/5(用于边界框中心的运动)和 bs = 1/15(用于边界框大小的变化)。 我们限制随机裁剪,使其在每个维度中必须包含至少一半的目标对象。 我们还限制大小变化,使得 γw, γh ∈ (0.6, 1.4),以避免以网络难以学习的方式过度拉伸或收缩边界框。

4.3 训练程序

为了训练我们的网络,每个训练示例交替取自视频或图像。 当我们使用视频训练示例时,我们随机选择一个视频,并在该视频中随机选择一对连续的帧。 然后我们根据第 3.2 节中描述的程序裁剪视频。 如第 4.2 节所述,我们还采用了当前帧的 k3 个随机裁剪,以使用 k3 个附加示例来扩充数据集。 接下来,我们随机采样一张图像,并重复上述过程,其中随机裁剪 ping 创建人工“运动”(参见第 4.1 节和第 4.2 节)。 每次对视频或图像进行采样时,都会即时生成新的随机作物,从而在我们的训练过程中创造额外的多样性。 在我们的实验中,我们使用 k3 = 10,并且我们使用的批量大小为 50。
  我们网络中的卷积层在 ImageNet [31,8] 上进行了预训练。 由于我们的训练集大小有限,我们不会对这些层进行微调以防止过度拟合。 我们以 1e-5 的学习率训练这个网络,其他超参数取自 CaffeNet [17] 的默认值。

5 实验设置

5.1 训练集

如第 4 节所述,我们使用视频和静止图像的组合来训练我们的网络。我们的训练视频来自 ALOV300++ [32],它是 314 个视频序列的集合。我们删除了其中 7 个与我们的测试集重叠的视频(详见补充材料),剩下 307 个视频用于训练。在这个数据集中,每个视频的大约每 5 帧都被标记为某个被跟踪对象的位置。这些视频通常很短,长度从几秒到几分钟不等。我们将这些视频分成 251 个用于训练,56 个用于验证/超参数调整。训练集由 251 个不同对象的总共 13,082 张图像组成,或每个对象平均 52 帧。验证集由 56 个不同对象的 2,795 张图像组成。选择超参数后,我们使用整个训练集(训练 + 验证)重新训练模型。去除 7 个重叠视频后,训练集和测试集中的视频之间没有重叠。
  我们的训练过程还利用了一组用于训练的静止图像,如 4.1 节所述。 这些图像取自 ImageNet Detection Challenge [31] 的训练集,其中 478,807 个对象被标记为边界框。 如第 4.2 节所述,我们在训练期间随机裁剪这些图像,以在两个随机裁剪之间创建明显的平移或比例变化。 随机裁剪过程仅在标记对象没有填满整个图像时才有用; 因此,我们过滤那些边界框在任一维度上至少填充图像大小 66% 的图像(使用我们的验证集选择)。 这给我们留下了来自 134,821 张图像的总共 239,283 个注释。 这些图像通过教导我们的网络跟踪未出现在训练视频中的对象来帮助防止过度拟合。

5.2 测试集

我们的测试集包含来自 VOT 2014 跟踪挑战赛 [22] 的 25 个视频。我们无法在 VOT 2015 挑战赛 [21] 上测试我们的方法,因为测试集和我们的训练集之间会有太多重叠。 但是,我们预计我们方法的总体趋势仍然保持不变。
  VOT 2014 Tracking Challenge [22] 是一个标准的跟踪基准,允许我们将我们的跟踪器与各种最先进的跟踪器进行比较。 跟踪器使用两个标准跟踪指标进行评估:准确度 (A) 和鲁棒性 ® [22, 6],范围从 0 到 1。我们还计算准确度误差 (1 - A)、鲁棒性误差 (1 - R) , 和总体误差 1 - (A + R)/2。
  视频的每一帧都标注了许多属性:遮挡、光照变化、运动变化、尺寸变化和相机运动。 跟踪器还针对每个属性分别在准确性和鲁棒性上进行排名,然后将排名在属性之间进行平均以获得最终的平均准确度
每个跟踪器的鲁棒性排名。 对准确性和稳健性排名进行平均以获得总体平均排名。

6 结果

6.1 整体表现

我们的跟踪器的性能如图 5 所示,这表明我们的跟踪器具有良好的鲁棒性并且在准确度上接近顶部。 此外,我们的总体排名(计算为准确性和稳健性的平均值)在此基准上优于所有先前的跟踪器。 因此,我们证明了离线训练对于提高跟踪性能的价值。 此外,这些结果是在仅对 307 个短视频进行训练后获得的。 图 5 以及补充材料中的分析表明,如果通过标记更多视频来增加训练集大小,则可以获得进一步的收益。定性结果以及失败案例可以在补充视频中看到;目前,跟踪器可能由于遮挡或过度拟合训练集中的对象而失败。
图 5. VOT 2014 跟踪挑战的跟踪结果。 我们的跟踪器的性能用蓝色圆圈表示,在总体排名(准确性和鲁棒性排名的平均值)上优于所有以前的方法。 沿黑线显示的点表示来自 14、37、157 和 307 个视频的训练,每种情况下使用相同数量的训练图像

  在具有 cuDNN 加速的 Nvidia GeForce GTX Titan X GPU 上,我们的跟踪器以每帧 6.05 毫秒(不包括在 OpenCV 中加载每个图像的 1 毫秒)或 165 fps 运行。 在 GTX 680 GPU 上,我们的跟踪器以平均每帧 9.98 毫秒或 100 fps 的速度运行。 如果只有一个 CPU 可用,则跟踪器以 2.7 fps 的速度运行。 因为我们的跟踪器能够离线执行所有训练,所以在测试期间,跟踪器只需要通过网络进行一次前馈传递,因此跟踪器能够以实时速度运行。
  我们使用第 5.2 节中描述的总体排名分数,将我们的跟踪器的速度和排名与图 6 中提交给 VOT 2014 跟踪挑战 [22] 的其他 38 个跟踪器进行比较。 我们以 EFO 单元(等效过滤器操作)显示跟踪器的运行时间,这对跟踪器在 [22] 上测试的硬件类型进行了规范化。 图 6 表明,与其他 38 个基线相比,我们的跟踪器是最快的跟踪器之一,同时在总体排名中优于所有其他方法(计算为准确性和鲁棒性排名的平均值)。 请注意,其中一些其他跟踪器,例如 ThunderStruck [22],也使用 GPU。

图 6. 我们跟踪器的排名与运行时间(红色)与来自 VOT 2014 跟踪挑战赛的 38 种基线方法(蓝色)的比较。 每个蓝点代表单独基线方法的性能(最好以彩色查看)。 准确性和稳健性指标显示在补充

  由于我们模型的两个方面,我们的跟踪器能够实时跟踪对象:首先,我们离线学习通用跟踪模型,因此不需要在线训练。 神经网络的在线训练往往非常缓慢,妨碍了实时性能。 在线训练的神经网络跟踪器的范围从 0.8 fps [26] 到 15 fps [37],性能最好的跟踪器在 GPU [30、7、21] 上以 1 fps 的速度运行。 其次,大多数跟踪器评估有限数量的样本,并选择得分最高的样本作为跟踪输出 [26, 27, 37, 30, 39, 24, 33]。使用抽样方法,准确性受样本数量的限制 ,但增加样本数量也会增加计算复杂度。另一方面,我们的跟踪器直接回归到输出边界框,因此 GOTURN 无需额外计算成本即可实现准确跟踪,使其能够以 100 fps 的速度跟踪对象。

6.2 它是如何工作的?

我们的神经网络跟踪器是如何工作的? 人们可能会提出两种假设:

  1. 网络将前一帧与当前帧进行比较,在当前帧中找到目标对象。
  2. 网络充当本地通用“对象检测器”并简单地定位最近的“对象”。

我们通过比较我们网络的性能(如图 2 所示)与不接收前一帧作为输入的网络的性能(即网络只接收当前帧作为输入)来区分这些假设。 对于这个实验,我们分别训练这些网络中的每一个。如果网络没有接收到前一帧作为输入,那么跟踪器只能充当本地通用对象检测器(假设 2)。

图 7. 与仅接收当前帧作为输入的网络相比,接收当前帧和前一帧作为输入的网络的总体跟踪误差(越低越好)。 这种比较使我们能够消除两个假设之间的歧义,这些假设可以解释我们的神经网络跟踪器是如何工作的(见第 6.2 节)。准确性和鲁棒性指标显示在补充

图 7 显示了每个假设在不同跟踪条件下成立的程度。 例如,当存在遮挡或较大的相机运动时,跟踪器会从使用前一帧中受益匪浅,这使跟踪器能够“记住”正在跟踪的对象。 图 7 显示,当不包括前一帧时,跟踪器在这些情况下的表现要差得多。 在这种情况下,假设 1 起着重要作用,即跟踪器将前一帧与当前帧进行比较以找到目标对象。

  另一方面,当尺寸发生变化或没有变化时,跟踪器在使用前一帧(或大致相同)时表现稍差。 在较大的尺寸变化下,相应的外观变化太大,我们的网络无法在前一帧和当前帧之间进行准确的比较。 因此,在这种情况下,跟踪器充当本地通用对象检测器,假设 2 占主导地位。 对于不同的跟踪条件,每个假设在不同程度上都成立,如图 7 所示。

6.3 普遍性与特殊性

我们的跟踪器能在多大程度上泛化到我们训练集中没有的新对象? 对于此分析,我们将测试集分为在我们的训练集中出现至少 25 个相同类别的视频的对象和在我们的训练集中出现少于 25 个该类别的视频的对象。 图 8 显示,即使对于在我们的训练集中没有任何(或很少)相似对象的测试对象,我们的跟踪器也表现良好。 即使将不相关对象的视频添加到我们的训练集中,性能也会继续提高,因为我们的跟踪器能够学习对象的外观变化与其运动之间的通用关系,可以推广到新的对象。

图 8. 测试集中不同类型对象的总体跟踪误差与训练集中视频数量的函数关系(越低越好)。 我们的跟踪器不使用类标签; 这些标签仅出于分析目的而获得。 准确性和稳健性指标显示在补充

  此外,我们的跟踪器还可以专门用于特别好地跟踪某些对象。 图 8 显示,对于在训练集中出现至少 25 个相同类别的视频的测试对象,随着这些类型对象的更多训练视频的添加,我们获得了很大的改进。 这允许用户将跟踪器专门用于特定应用程序。 例如,如果跟踪器用于自动驾驶,那么用户可以将更多的人、自行车和汽车等对象添加到训练集中,跟踪器将学会特别好地跟踪这些对象。 同时,图 8 还展示了我们的跟踪器可以跟踪未出现在我们的训练集中的新对象,这对于在不受控制的环境中跟踪对象时很重要。

6.4 烧蚀分析

在表 1 中,我们展示了系统的哪些组件对我们的性能贡献最大。 如第 4.2 节所述,我们使用拉普拉斯分布的随机裁剪来训练我们的网络,以教我们的跟踪器更喜欢小运动而不是大运动(例如运动平滑度)。 表 1 显示了这种方法与均匀采样随机作物的基线(“无运动平滑度”)相比的优势,这通常用于分类 [23]。 如图所示,通过从拉普拉斯分布中抽取随机作物,我们将错误减少了 20%。
  表 1 还显示了使用 L1 损失与 L2 损失相比的好处。使用 L1 损失将整体跟踪误差从 0.43 显着降低到 0.24。 因为 L2 惩罚在 0 附近比较平坦,所以网络没有充分惩罚接近但不正确的输出,并且网络经常会输出稍微过大或过小的边界框。当应用于帧序列时, 边界框会无限制地增长或缩小,直到预测的边界框只是一个点或整个图像。 相比之下,L1 损失会惩罚更严厉的答案,只是稍微不正确,这会使边界框的大小更接近正确的大小,并防止边界框无限制地缩小或增长。

表 1. 将我们的完整 GOTURN 跟踪方法与我们方法的各种修改版本进行比较,以分析系统不同组件的效果

  我们使用图像和视频的组合来训练我们的跟踪器。 表 1 显示,考虑到图像和视频之间的选择,仅对视频进行训练可以大大提高我们的跟踪器性能。 同时,对视频和图像的训练为我们的跟踪器提供了最大的性能。 对少量标记视频的训练使我们的跟踪器不受背景运动、平面外旋转、变形、光照变化和轻微遮挡的影响。 大量标记图像的训练教会了我们的网络如何跟踪各种不同类型的对象。通过对视频和图像的训练,我们的跟踪器学会了在不同条件下跟踪各种对象类型,从而实现最佳性能。

7 结论

我们已经证明我们可以离线训练一个通用的对象跟踪器,这样它的性能可以通过观看更多的训练视频来提高。 在测试期间,我们以纯粹的前馈方式运行网络,无需在线微调,允许跟踪器以 100 fps 的速度运行。 我们的跟踪器离线学习对象外观与其运动之间的一般关系,使我们的网络能够以实时速度跟踪新对象。

Learning to Track at 100 FPS with Deep Regression Networks全文翻译相关推荐

  1. Learning Policies for Adaptive Tracking with Deep Feature Cascades全文翻译

    摘要   视觉对象跟踪是一项基本且时间紧迫的视觉任务.近年来出现了许多基于实时像素相关滤波器的浅层跟踪方法,以及具有顶级性能但需要高端 GPU 的深层方法.在本文中,我们学习在不损失准确性的情况下提高 ...

  2. 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks)—— 0.学习目标...

    Understand the key computations underlying deep learning, use them to build and train deep neural ne ...

  3. 全文翻译(全文合集):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

    全文翻译(全文合集):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 摘要 人们越来越需要将机器学习应用到各种各样 ...

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

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

  5. Simultaneous Feature Learning and Hash Coding with Deep Neural Networks

    Simultaneous Feature Learning and Hash Coding with Deep Neural Networks 论文下载地址 自从2014年中山大学潘炎老师讲deep ...

  6. 论文笔记(十一):Learning to Track with Object Permanence

    Learning to Track with Object Permanence 文章概括 摘要 1. 介绍 2. 相关工作 3. 研究方法 3.1 背景 3.2 用于跟踪的视频级模型 3.3. 学会 ...

  7. 全文翻译(二): TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

    全文翻译(二): TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 3.优化计算图 计算图是在DL框架中表示程序的常 ...

  8. 全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

    全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 摘要 人们越来越需要将机器学习应用到各种各样的硬件 ...

  9. CPU上跑到 100 fps 的高精度PyTorch人脸特征点检测库

      视学算法分享   作者 | cunjian 编译 | CV君 转自 | 我爱计算机视觉 [导读]向大家推荐一款基于PyTorch实现的快速高精度人脸特征点检测库,其在CPU上的运行速度可达100 ...

最新文章

  1. 字符串一:替换空格()
  2. 儿童编程软件python-Python编程工具pycharm的使用
  3. python有强大吗_python有多强大
  4. 干货:RabbitMQ消息队列基本原理介绍
  5. echarts如何获取后端的值_散户必读:当你中线看好一只股票后,该如何操作才能获取最大利润...
  6. Plupload文件上传组件使用API
  7. AngularJS-Hello World
  8. 自定义训练中保存检查点
  9. 动态数组 —— 框架搭建
  10. git revert 之后怎么撤销_git撤销操作
  11. oa系统服务器数据库,oa数据库和服务器
  12. Android常用库整理
  13. Ubuntu 20.04 更换阿里源
  14. C站一名 普通技术博主 的终端与【开端】,因为热爱,所以习惯,2021~2022
  15. 科技论文写作常用句式结构
  16. 60后刘备聘用80后诸葛亮的启示
  17. STM32F103_study55_The punctual atoms(STM32 PWM output experimental theoretical knowledge)
  18. 11 | 二进制编码:“手持两把锟斤拷,口中疾呼烫烫烫”?
  19. Oracle中文排序 NLSSORT
  20. 百度、阿里、腾讯,谁最先倒下?

热门文章

  1. Stable Diffusion Prompt用法
  2. 【支付】微信小程序 微信支付 uniapp
  3. 典型二阶系统的计算机仿真,二阶系统电路设计_RLC串联二阶电路实验报告
  4. 控制IE浏览器升级降级
  5. thinkpad联想IBM笔记本为什么出现fan error
  6. Html网页制作图片选择
  7. html div浏览器居中显示,IE浏览器DIV居中实现方法
  8. py6_Python 内置函数/普通自定义函数 及参数和返回值
  9. LeetCode摆动序列
  10. 二级c语言培训资料,全国计算机二级考试C语言,培训资料.doc