英语原文共 8 页
Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence (AAAI-17)
使用循环神经网络的在线多目标跟踪
Anton Milan,1 S. Hamid Rezatofighi,1 Anthony Dick,1 Ian Reid,1 Konrad Schindler2
1School of Computer Science, The University of Adelaide
2Photogrammetry and Remote Sensing, ETH Zuuml;rich
1{firstname.lastname}@adelaide.edu.au, 2schindler@geod.baug.ethz.ch
摘要
我们提出了一种基于递归神经网络(RNN)的在线多目标跟踪的新方法。在真实场景中跟踪多个对象涉及许多挑战,包括a)先验未知和时变数目的目标,b)所有当前目标的连续状态估计,以及c)数据关联的离散组合问题。大多数先前的方法涉及复杂的模型,需要繁琐的参数调整。在这里,我们第一次提出,一种用于在线多目标跟踪的端到端学习方法。现有的深度学习方法并非针对上述挑战而设计,并且不能轻易应用于该任务。我们的解决方案以原则的方式解决了上述所有问题。对合成数据和实际数据的实验表明,我们的算法在标准CPU上以300Hz的处理频率获得了极佳的结果,并为此方向的未来研究铺平了道路。
介绍
在无约束环境中跟踪多个目标极具挑战性。即使经过几十年的研究,它仍然远未达到人类标注的准确性(参见MOTChallenge(Leal-Taixe等,2015))。任务本身构成定位视频序列中所有感兴趣的目标并随时间保持其身份。立即出现的一个显而易见的问题是如何对任意视频中存在的各种数据进行建模,这些数据可能包括不同的视点或相机运动,各种照明条件或遮挡程度,不同数量的目标等。Track-by-detection已成为应对这一挑战的最成功策略之一。这里,视频序列中可用的所有“未使用”数据被丢弃并且通常通过运行对象检测器的方法减少到每帧仅几次单次检测。然后,任务是将每个测量与相应的目标相关联,即解决数据关联的问题。此外,由于目标聚集和目标数量未知,必须提供将检测判断为误报并丢弃的选项以及启动新目标跟踪以及终止现有目标的策略。随着最近深度学习的兴起,与多目标跟踪相关的工作几乎没有。我们认为这是由于几个原因造成的。首先,当处理拥有大量参数的的深度神经网络模型时,网络具有大量参数,深度模型需要大量的训练数据,这在多目标跟踪的情况下尚不具备。其次,数据和期望的解决方案都可以变化很大。一个面临离散和连续变量,输入和输出的未知数目以及视频序列的可变长度。这个方向的一个有趣的例外是Ondru#39;ska和Posner(2016)最近的工作,它将深度递归神经网络引入到状态估计的任务中。虽然这项工作显示出有前景的结果,但它仅通过近乎完美的传感器测量,已知数量的目标和平滑的线性运动证明了其对模拟数据的有效。他们的后续工作介绍了现实世界的测量和多类情景(Ondruska等人,2016),然而,在这两种情况下,跟踪都被制定为估算世界占用率,而没有明确的数据关联。
图1 我们的架构的示意图。我们使用RNN进行时间预测和更新以及跟踪管理。通过每帧的LSTM解决数据关联的组合问题。
通过本文,我们朝着端到端模型学习迈出了重要的一步,在现实场景中对多个目标进行在线跟踪。我们的主要贡献如下:
- 受到充分研究的贝叶斯滤波思想的启发,我们提出了一种能够执行所有多目标跟踪任务的递归神经网络,包括预测,数据关联,状态更新以及统一网络结构内目标的启动和终止(图1)。这种方法的主要优点之一是它完全没有模型,即它不需要任何先验关于目标动力学,杂波分布的知识,因此它可以捕捉线性(参见卡尔曼滤波器),非线性(参见粒子滤波器)和高阶依赖性。
- 我们进一步表明,可以从数据中完全学习数据关联的挑战性组合问题的模型,包括目标的出生和死亡。这个时变基数分量表明,利用RNN不仅可以预测具有固定大小的输入和输出向量的序列,而且可以推断出具有未知基数的无序集合。
- 我们提出了一种通过从生成模型中抽样来生成任意数量的训练数据的方法。
- 模拟和实际数据的定性和定量结果显示了令人鼓舞的结果,证实了这种方法的潜力。我们坚信,它将激励其他研究人员扩展我们所提出的想法并进一步提升算法的性能。
相关工作
多目标跟踪:在过去人们开发了许多复杂的模型来解决手头复杂的问题。早期作品包括多假设跟踪器(MHT)( Reid 1979 ) 和 联 合 概 率 数 据 关 联 ( JPDA )(Fortmann,Bar-Shalom和Scheffe 1980)。两者都是在雷达和声纳跟踪领域开发的,但长期以来被认为对计算机视觉应用来说太慢了。随着计算能力的提高, 他们的工作重新回归研究者的视野里, 最近又与简单外观模型(Kim等人,2015)或合适近似方法(Rezatofighi等人,2015)一起重新引入。最近,大量的工作集中在可以解决(接近)全局最优性的简化模型上(Jiang, Fels 和 Little 2007; Zhang , Li 和Nevatia , 2008; Berclaz等,2011; Butt和Collins,2013)。在这里问题被转换为线性程序,并通过松弛,最短路径或最 小成本算法来解决。相反,在(Leibe,Schindler和Van Gool 2007; Milan,Roth和Schindler 2014)中考虑了更复杂的成本函数,但没有任何关于最优性的理论界限。优化技术包括二次布尔编程,定制alpha扩展到贪婪约束传播。最近,图多割法(Tanget等人。2016)也被采用了。
深度学习:生物学启发学习系统的早期思想可以追溯到几十年前(Ivakhnenko和Lapa,1966)。后来,开发了卷积神经网络(也称为CNN)和反向传播算法,主要应用于手写数字识别(Le-Cun等,1998)。然而,尽管它们在某些任务上有效,但它们很难与其他完善的方法竞争。这主要是由于它们需要大量训练数据的主要限制,以免过拟合大量参数。得益于更快的多处理器硬件并且标记的数据突然增加,CNN越来越受欢迎,最近在图像分类任务方面的突破(Krizhevsky,Sutskever和Hinton 2012)使得CNN在许多应用中实现最先进的结果(Wang等人,2012; Eigen和Fergus,2015),但其输出格式受到限制。相反,递归神经网络(RNN)(Goller和Kuuml;chler1996) 包括输入和输出之间的循环。这不仅能够模拟记忆效应,而且还允许将输入序列映射到任意输出序列,只要事先知道序列比对和输入和输出维度即可。
我们的工作受到最近成功的递归神经网络(RNN)及 其在语言模型中的应用的启发(Vinyals等人,2015)。然而,由于多种原因,将相同的策略应用于多目标跟 踪问题并不是直截了当的。首先,状态空间是多维的。而不是预测一个字符或一个单词,在每个时间步骤应 该立即考虑所有目标的状态。其次,状态由连续变量 和离散变量组成。前者表示目标的实际位置(以及可 能的其他属性,例如速度),而需要离散表示来解析 数据关联。另外的指示符变量也可以用于推断某些目 标状态,例如轨迹状态,遮挡水平等。第三,期望数 量的输出(例如,目标)随时间变化。在本文中,我 们介绍了一种解决所有这些问题的方法,并演示了如 何将RNN用于多目标跟踪系统的端到端学习。
背景
递归神经网络
从广义上讲,RNN以顺序方式工作,其中在给定先前状态和可能的附加输入的情况下在每个时间步进行预测。RNN的核心是其隐藏状态,其大小为,作为预测输出的主要控制机制,一次一步。通常,RNN可以具有 L层。我们记为层上时刻的隐藏状态。h0可以被认为是输入层,保存着输入向量。hl 保存用于产生期望输出y的最终嵌入表示。特定层在时刻的隐藏状态由计算得到,其中W为可学习的参数矩阵。
t
t
如上所述的RNN在运动预测和状态更新的任务上表现良好。但是,我们发现它无法正确处理数据关联的组合任务。为此,我们考虑长期短期记忆(LSTM)单元(Hochreiter和Schmidhuber 1997)。在隐藏状态旁边,LSTM单元还保持充当存储器的状态c的嵌入表示。门控机制控制前一个状态应被“遗忘”或被新输入替换的程度(参见图2,右图,为了说明)。更正式的,LSTM的隐藏状态由和得到,其中表示元素相乘。输入,输出都是大小为n的矢量并以二进制方式对内存更新进行建模,这是通过使用sigmoid函数实现的:
(1)
其中每个门都有一个单独的重量矩阵。
贝叶斯滤波
在贝叶斯滤波中,目标是从噪声测量z估计真实状态x。在马尔可夫假设下,在给定所有过去测量的时间t 处的状态分布被递归地估计为
(2)
其中是上一次测量的似然性,是状态转移概率。通常,公式(2)通过两个步骤进minus;行评估:评估状态动态的预测步骤,以及基于当前测量结果的状态纠正信念的更新步骤。解决上述方程的两种最广泛使用的技术是卡尔曼滤波器(Kalman 1960)和粒子滤波器(Doucet,Godsill和Andrieu 2000)。前者在状态和测量模型的线性和高斯假设下执行精确状态估计,而后者使用序列重要性采样近似任意分布。
在处理多个目标时,人们面临着另外两个挑战。1) 在可以执行状态更新之前,确定哪些测量与哪些目标相关联至关重要。已经提出了许多算法来解决数据关联的这个问题,包括简单的贪心算法和复杂的概率方法,如JPDA(参见(Bar-Shalom和Fort-mann 1988) 的概述)。2)为了允许时变数量的目标,有必要提供一种机制来产生进入场景的新目标,并去除彻底消失的现有目标。与数据关联一样,此任务非常重要,因为每个未分配的测量可能可能是新轨迹的开始或误报警。相反,某个目标的缺失测量值可能意味着目标已消失,或探测器已失效。为了应对这一挑战,在线跟踪方法通常基于启发式的轨道出生和死亡决策,考虑连续测量错误的数量。
我们的方法
我们现在将描述我们将经典贝叶斯状态估计,数据关联以及跟踪启动和终止任务作为递归神经网络进行投射的方法,允许对模型进行完整的端到端学习。
符号
我们首先将定义为包含一个时刻所有目标的状态的向量。在我们的设置中,目标由他的包围盒的四个坐标(x,y,w,h)表示,使得D = 4。注意,我们可以将其扩展为任意的目标表示法,例如结合速度,加速度或外观模型。N是在同一帧中同时表示(或跟踪)的相互作用目标的数量,指第i个目标的状态我们把N称作网络的order,他捕获了调用网络的顺序并捕获目标之间的空间依赖关系。在这里,我们考虑N = 1的特殊情况,其中假设所有目标独立移动。换句话说,每个目标使用相同的RNN。相似的对于上面的状态向量,是每一帧中所有测量的向量,其中M是每帧的最大检测数。
isin;
分配概率矩阵表示为每个目标(行)分配各个测量值的分布,即且。注意我们需要多出来的一列来将为分配到测量的情况考虑在内。最后,是表示目标的存在概率的标志向量,这是处理未知和随时间变化的目标数量所必需的。我们将使用(~) 明确表示地面实况变量。
使用RNN进行多目标跟踪
sim;
如上所述,我们将手头的问题分解为两个主要块:状态预测和更新以及的跟踪管理,另一方面是数据关联。这种策略有几个优点。首先,可以有效地隔离和调试各个组件。其次,框架变得模块化,可以轻松更换每个模块或添加新模块。第三,它使得人们能够(预先)对每个块进行单独训练,这不仅大大加快了学习过程,而且在实践中证明是实现收敛所必要的。我们现在将详细描述这两个构建块。
目标动作
让我们首先转向状态预测和更新。我们依靠图2(左)中描绘的时间RNN来学习目标的时间动态模型以及确定目标的出生和死亡的指标(参见下一节)。在时间t,RNN输出下一次的四个值1:让我们首先转向状态预测和更新。我们依靠图2(左) 中描绘的时间RNN来学习目标的时间动态模型以及确定目标的出生和死亡的指标(参见下一节)。在时间t, RNN输出下一次的四个值1:所有目标的预测状态的向量,所有更新状态的向量,概率的向量 指示每个目标有多可能isin; 是真实的轨迹,,这是这是与差的绝对值。该决定基于当前状态 和存在概率以及下一帧中的测量和数据关联。该模块有三个主要目标:
t 1
1.预测:学习一个复杂的动态模型,用于 在没有测量
的情况下预测目标运动。
2.更新:在给定目标到测量分配的情况下,学习如何更正状态分布。
3.出生/死亡:学习根据状态,测量和数据关联识别跟踪启动和终止。
图2 左:基于RNN的架构,用于状态预测,状态更新和目标存在概率估计。右:基于LSTM的数据关联模型。
下一帧的预测仅取决于当前状态和网络的隐藏状态。一旦数据关联可用,状态就会根据分配概率更新。为此,所有测量和预测状态都会连接形成,由分配概率加权。
损
资料编号:[5660]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。