概要
行人遵循不同轨迹以避免障碍物和容纳同行者。任何在这种场景中巡航的自动驾驶车辆都需要能够遇见行人的未来位置并相应地调整其路线以避免碰撞。轨迹预测问题能够被看作一个顺序生成任务,其中我们对基于行人过去的位置预测其未来的轨迹感兴趣。根据最近RNN(循环神经网络)模型对顺序预测任务的成功,我们提出一个能够学习一般人类运动并预测其未来轨迹的LSTM(长短期记忆网络)模型。这与人工定义函数的传统方法(如社会力模型函数)形成对比。我们在几个公共数据集上证明了我们方法的性能,其中我们的模型在一些数据集优于目前最先进的方法。我们也分析了我们的模型预测的轨迹以证明我们的模型学习的运动行为。
图1。本文旨在预测拥挤场景中的运动行为,然而这是一项颇具挑战性的任务,因为每个人的运动通常会受到周围人的影响。我们提出了一种新的模型,我们称之为“社交”LSTM,它可以通过考虑人类在共享环境巡航时通常使用的常识规则和社交惯例,共同预测场景中所有人的路径,我们将通过热图显示它们未来轨迹的预测分布。
介绍
人类天生具有相互阅读的能力。当人们在人行道、机场航站楼或购物中心等拥挤公共空间行走时,他们遵循大量(不成文的)常识规则并遵守社会惯例。例如,当他们考虑下一步去哪里时,他们尊重个人空间并让出通行权。模型化这些规则并使用它们来理解和预测复杂现实世界环境中的人类运动的能力对于广泛应用非常有价值,从部署具有社会意识的机器人[41]到在智能环境中设计智能跟踪系统[43]。
然而,在考虑这种常识行为的同时预测人类目标的运动是一个极具挑战性的问题。这需要理解拥挤空间中行人之间发生的复杂而微妙的交互。计算机视觉的最新研究成功地解决了其中的一些挑战。Kitani等人已经证明[32],与忽略场景信息的模型相比,关于静态环境语义的引入知识(例如人行道的位置、草地的延伸等)有助于更准确地预测未来行人的轨迹。[24,50,35]开创性工作还提出了模拟人与人之间互动(通常称为“社会力”)的方法,以提高多目标跟踪问题的鲁棒性(抗故障抗干扰的能力)和准确性。
然而,这些工作大多受限于以下两个假设。1)使用人工预设的函数来模拟特定的人际交互,而非以数据驱动方式传递,这导致更倾向于捕捉简单人际交互的模型(如排斥力或吸引力),并且可能无法推广到更复杂、更拥挤的环境中。2)专注于模拟彼此比较靠近的人际交互以避免可能立即发生的碰撞,然而它们并不能阻止在更遥远未来可能发生的人际交互。
在这项工作中,我们提出了一种方法,可以通过一种新颖的数据驱动体系结构来预测未来的运动轨迹,从而解决这两个挑战。受到长短期记忆网络(LSTM)近期在手写[20]和语音[21]生成等不同序列预测任务中取得成功的启发,我们也将其扩展到人类轨迹预测。虽然LSTM具有学习和复制长序列的能力,但它不能捕获多个相关序列之间的依赖关系。
我们通过一种新颖的体系结构来解决这个问题,该架构连接了与附近序列相对应的LSTM。此外,我们引入了一个“社交”池化层,该层允许空间上相互靠近序列的LSTM相互共享隐藏状态,我们称之为“社交”LSTM。它的体系结构可以自发学习在时间上重合的轨迹之间发生的典型交互。该模型利用现有的人类轨迹数据集,而不需要任何额外的算法来学习人类在社交空间中观察到的常识规则和社会惯例。
最后,我们证明,在两个公开可用的数据集上,我们的社交LSTM能够比最先进的方法更准确地预测行人轨迹:ETH[49]和UCY[39]。我们还分析了我们的模型生成的轨迹模式,以了解从轨迹数据集中学习到的社会约束。
相关工作
人际交互
Helbing和Molnar[24]开创性提出了一个带有吸引力和排斥力的行人运动模型,称为社会力模型。该模型即使在现代行人数据集上也能取得具有竞争力的结果 [39, 49]。后来这种方法被扩展到机器人领域 [41] 和活动理解 [43, 73, 50, 38, 37, 9, 10]。
类似方法也被用来模型化人际交互,并为模型设定了很强的先验知识。Treuille等人[62]使用连续动力学,Antonini等人[2]提出离散选择框架,Wang等人[69]和Tay等人[59]均使用高斯过程。这些函数也被用来研究静止群体[74, 48]。这些工作旨在生成平滑的运动路径,并没有处理与离散化相关的问题。
另一条研究路线是利用精心设计的特征和属性来改进跟踪和预测。Alahi等人[1]通过学习人群的轨迹来呈现一种社会亲和性,了解他们的相对位置而不强求其绝对位置,而Yu等人[74]提出使用人类属性来改善密集人群中的预测。他们还使用了与[6]类似的基于代理的模型。Rodriguez等人[54]分析高密度人群的视频以跟踪和计数人数。
这些模型中的大多数都根据相对距离和特定场景的规则提供人工预设的能量势能。相比下,我们提出了一种更具通用性、以数据驱动方式来学习人际交互。
活动预测
活动预测模型试图预测人们将要进行的运动和动作。大量工作通过聚类轨迹来学习运动模式 [26, 30, 46, 77]。更多方法可在[45, 52, 34, 3, 16, 33]中找到。Kitani等人在[32]中使用逆强化学习来预测静态场景中的人类路径。他们通过建模人与空间交互来推断场景的可行走路径。Walker等人在[68]中根据大量视频集合预测视觉场景中通用代步工具(例如车辆)的行为。Ziebart等人[78, 23]提出了一种基于规划的方法。Turek等人[63, 40]使用类似思想识别场景的功能地图。其他方法如[27, 19, 42, 36]展示了使用场景语义来预测人类导航的目标和路径。场景语义也被用来预测多个对象的动态[17, 36, 34, 28]。这些工作大多仅限于使用静态场景信息来预测人类运动和活动。我们的模型则专注于模型化动态的人群交互以进行路径预测。
最近一些工作也尝试预测未来的人类动作。特别是Ryoo等人[55, 8, 71, 67, 44, 58]预测流式视频中的动作。与我们的模型更相关的是使用RNN模型来预测视频中的未来事件[53, 57, 66, 56, 31]。沿着类似的思路,我们则能够预测场景中的未来轨迹。
RNN模型用于序列预测
最近,循环神经网络(RNN)及其变体,包括长短期记忆(LSTM)[25] 和门控循环单元(GRU)[12]已被证明在序列预测任务中非常成功,例如语音识别[21, 11, 13]、字幕生成[64, 29, 75, 15, 72]、机器翻译[4]、图像/视频分类[7, 22, 70, 47]、人类动态[18] 等。RNN模型被证明在处理紧密连接的数据的任务中非常有效,例如语义分割[76]、场景解析[51],甚至作为卷积神经网络(CNN)的替代品[65]。这些工作表明,RNN模型能够学习空间相关数据(如图像像素)之间的依赖关系。这促使我们将Graves等人[20]的序列生成模型扩展到我们设置中。具体来说,Graves等人[20]预测孤立的手写序列;而在我们的模型中,我们联合预测与人类轨迹相对应的多个相关序列。
框架模型
拥挤场景中的行人会根据周围其他行人的行为来调整自己的动作。例如,一个人可能会完全改变他的路径或暂时停止,以便让向他移动的人群通过。仅通过孤立观察这个人,无法预测出这种轨迹偏差。同样,简单的“排斥力”或“吸引力”函数(传统的社会力模型 [24, 43, 73, 50])也无法预测这种行为。这促使我们构建一个模型,在预测个体路径的同时考虑到较大范围内其他个体的行为。本节我们描述了我们基于池化层的LSTM模型(图 2),该模型能够联合预测场景中所有人的轨迹。我们将其称为“社交”LSTM 模型。
图2,“社交”LSTM方法概述。我们为场景中的每条轨迹使用一个单独的LSTM网络。然后,这些LSTM通过社交池化(S-池化)层相互连接。与传统LSTM不同,这个池化层允许空间上接近的LSTM相互共享信息。图中的变量在后续公式2中解释。底部一行展示场景中个体的S-池化。在一定半径内的所有LSTM的隐藏状态被汇总在一起,并用作下一步输入。
问题表述
我们假设每个场景首先被预处理以获取所有人在不同时间点的空间坐标。先前的研究也遵循这一惯例[41, 1]。在任意时间点t,场景中的第i个人由他的坐标(xit,yit)表示。我们观察到从时间1到Tobs所有人的位置,并预测他们在时间点Tobs+1到Tpred的位置。这项任务也能被看作是一个序列生成问题[20],其中输入序列对应于个体观察到的位置,而我们感兴趣的是生成一个输出序列,表示他在不同时间点的未来位置。
3.1“社交”LSTM
每个人都有不同的运动模式:他们以不同速度和加速度移动,并且有不同的步态。我们需要一个模型,能从对应于个体的有限初始观测集中理解和学习这种特定于个人的运动属性。
长短期记忆(LSTM)网络已被证明能够成功地学习和泛化孤立的序列(如手写[20]和语音[21])的属性。受此启发,我们也为我们的轨迹预测问题开发了一个基于LSTM的模型。具体而言,场景中每个人都有一个LSTM,它学习个人的状态,并预测他们未来的位置,如图2所示。LSTM的权重在所有序列之间共享。
然而,简单地为每个人使用一个LSTM模型并不能捕捉到邻近区域内的人际交互。普通的LSTM对其他序列的行为一无所知。我们通过一种新的池化策略连接邻近的 LSTM 来解决此限制,如图3所示。
图3.我们展示了代表黑点的个体的社交池化层。我们在一定空间距离内汇所有邻居的隐藏状态(用黄色、蓝色和橙色表示)。池化部分保留了邻居的空间信息,如最后两个步骤所示。
社交隐藏状态池
行人通过隐含地推理周围个体的运动来调整自己的路径。这些邻居同样受到他们周围环境中其他个体的影响,并且可能会随着时间改变他们的行为。我们期望LSTM的隐藏状态能捕捉这些随时间变化的运动属性。为了联合推理多个行人的轨迹,我们在邻近的LSTM之间共享状态。这引入了一个新的挑战:每个人都有不同数量的邻居,在非常拥挤的人群中[1],这个数量可能会过高。
因此,我们需要一个紧凑的表示来整合所有邻近状态的信息。我们通过引入“社交”池化层来处理这个问题,如图2所示。在每个时间步,LSTM单元从邻近LSTM单元接收汇总的隐藏状态信息。
汇总信息时,我们尝试通过基于网格的池化来保留空间信息,具体如下。LSTM在时间t的隐藏状态hit捕获当时场景中第i个人的潜在表示。我们通过构建一个“社交”隐藏状态张量Hit来与邻居共享这一表示。给定隐藏状态维度D和邻域大小No,我们能为第i条轨迹构建一个No×No×D的张量Hit。
其中hjt−1对应于第j个人在t−1时刻的LSTM的隐藏状态,1mn[x,y] 是一个用于检查(x,y)是否在网格的(m,n)单元格中的指示函数,Ni是与行人i 对应的邻居集合。池化操作如图3所示。
我们将汇总后的社交隐藏状态张量嵌入到ait中,并将坐标嵌入到eit中。这些嵌入被连接并用作相应轨迹在时间t的LSTM单元的输入。这引入了以下递归关系:
其中ϕ(⋅)是一个带有非线性ReLU的嵌入函数,We和Wa是嵌入权重,Wl是LSTM的权重。
位置估计
时间t的隐藏状态用于预测下一时间步t+1的轨迹位置(x^,y^)it+1的分布。与Graves等人[20]类似,我们假设一个由均值μit+1=(μx,μy)it+1、标准差σit+1=(σx,σy)it+1和相关系数ρit+1参数化的二元高斯分布。这些参数由一个线性层预测,该线性层有一个5×D的权重矩阵Wp。在时间t预测的坐标(x^it,y^it)由下式给出:
LSTM模型的参数通过最小化负对数似然损失(对于第i条轨迹的Li)来学习:
我们通过最小化训练数据集中所有轨迹的这个损失来训练模型。我们的“社交”池化层并没有引入任何额外的参数。
与传统LSTM的一个重要区别是,多个LSTM的隐藏状态通过我们的“社交”池化层相互耦合,并且我们在每个时间步通过场景中的多个LSTM联合进行反向传播。
占用图池化
“社交”LSTM模型可以用于汇总来自邻近轨迹的任何一组特征。作为一种简化,我们还尝试一个仅汇总邻居坐标的模型,称为O-LSTM。这是原始模型的简化版本,不需要在训练期间对所有轨迹进行联合反向传播。该模型仍然能学习重新定位轨迹以避免与邻居的即时碰撞。然而,由于缺乏来自邻近人的更多信息,该模型将无法平滑地改变路径以避免未来的碰撞。
对于人i,我们将张量Hit的定义修改为在时间t以行人位置为中心的No×No矩阵,并称之为占用图Oit。所有邻居的位置都在此图中汇总。Oit在(m,n)位置的元素由以下公式给出:
其中1mn[.]是之前定义的指示函数。这也可以被看作是方程(1)中社交张量的一个简化版本,其中隐藏状态向量被一个常数值替换,该常数值表示相应单元格中邻居的存在或不存在。
在学习这个更简单的模型时,向量化的占用图被用作方程(2)中Hit的替代。
路径预测的推理
测试阶段,我们使用训练好的“社交”LSTM模型预测第i个人的未来位置(x^it,y^it)。从时间Tobs+1到Tpred,我们使用前一个“社交”LSTM单元预测的位置(x^it,y^it)来代替方程(2)中的真实坐标(xit,yit)。在构建方程(1)中的社交隐藏状态张量Hit或方程(5)中的占用图Oit时,也使用预测的位置来替换真实坐标。
3.2实施细节
我们在将空间坐标用作LSTM输入之前使用了64维的嵌入维度。我们将空间池化大小No 设置为32,并使用一个总计尺寸为8x8且不重叠的池化窗口。我们为所有LSTM模型固定一个128维的隐藏状态维度。此外,我们还在汇总的隐藏状态特征上使用了一个带有非线性ReLU(修正线性单元)的嵌入层,然后才用它们来计算隐藏状态张量Hit。这些超参数基于在一个合成数据集上的交叉验证来选择。这个合成数据则通过实现社会力模型的模拟生成。这个合成数据包含了数百个场景的轨迹,平均每帧的人群密度为30。我们选择RMSprop[14]和0.003的学习率训练模型。“社交”LSTM模型在一个带有Theano[5]实现的单GPU上训练。
实验
本节中我们在两个公开行人轨迹数据集上进行实验:ETH[49]和UCY [39]。ETH数据集包含两个场景,每个场景有750名不同行人,并分为ETH和Hotel两个集合。UCY数据集包含两个场景,共有786人。这个数据集有3个部分:ZARA-01、ZARA-02和UCY。最终我们在5组数据上评估我们的模型。这些数据集代表了现实世界的拥挤场景,包含数千条非线性轨迹。如[49]所示,这些数据集还涵盖了许多具有挑战性的群体行为,例如牵手行走的情侣、相互穿插的群体以及在某些场景中动态形成和解散的群体。
我们使用三种不同的指标来报告预测误差。与Pellegrini等人[49]类似,我们使用:
1.平均位移误差——轨迹所有估计点和真实点的均方误差。Pellegirini等人在[49]中介绍。
2.最终位移误差——预测周期结束时预测的最终目的地和真实的最终目的地之间的距离。
3.平均非线性位移误差——轨迹非线性区域的均方误差。由于大多数轨迹预测的误差发生在人际交互产生的非线性转弯过程中,我们明确评估了这些区域周围的误差。我们在二阶导数的范数上设置一个启发式阈值来识别非线性区域。
为在训练模型时充分利用这些数据集,我们采用留一法,即在4组数据上训练和验证模型,然后在剩余的那组数据上进行测试,该过程我们会对所有5组数据重复进行。对于用于比较的其他基线方法,我们也采用了相同的训练和测试流程。
测试阶段,我们观察一条3.2秒的轨迹,并预测后续4.8秒的路径。在每秒0.4帧的帧率下,这对应于观察8帧并预测接下来的12帧,与[49, 39]中使用的设置相似。在表(4)中,我们将我们的模型性能与目前最先进的方法以及多个对照设置进行了比较。
线性模型(LIN):我们使用现成的卡尔曼滤波器来外推轨迹,假设加速度是线性的。
碰撞避免(LTA):我们报告了社会力模型[73]的一个仅使用碰撞避免能量的简化版本的结果。
社会力(SF):我们使用[73]中的社会力模型的实现,它考虑了诸如群体亲和力和预测目的地等多个因素。
迭代高斯过程(IGP):我们使用[61]中的IGP实现。与其他基线不同,IGP使用了关于行人最终目的地的额外信息。
普通LSTM模型:“社交”LSTM模型的一个简化版本,其中移除了“社交”池化层并将所有轨迹视为相互独立。
带有占用图的LSTM模型(O-LSTM):能够展现“社交”LSTM模型的一个简化版本的性能。作为提示,该模型仅在每个时间点汇总邻居的坐标。
简单线性模型产生了较高的预测误差,这些误差在非线性区域尤为明显,这可从平均非线性位移误差中看出。普通LSTM模型优于这个线性基线,因为它能够外推非线性曲线,如Graves等人[20]所示。然而这种简单的LSTM模型明显逊色于明确模型化人际交互的社会力模型和IGP模型,这体现了考虑人际交互的重要性。
我们的基于社交池化层的LSTM和O-LSTM在几乎所有数据集中都优于经过大量工程设计的社会力模型和IGP模型。该效果在UCY数据集中的误差减少比在ETH数据集中更为显著。原因在于两个数据集中不同的人群密度:UCY场景相对拥挤,总共有32K个非线性区域,而ETH场景则相对稀疏,只有15K个非线性区域。
在更拥挤的UCY场景中,偏离线性路径的情况更多地受到人际交互的影响。因此,我们的模型能够捕捉到邻近区域的交互,在UCY数据集中获得了更高的收益。在ETH数据集中,行人到达特定目的地的意图起到了更主导的作用。因此,在测试期间知道真实最终目的地的IGP模型在该数据集的部分区域实现了较低的误差。
在ETH的情况下,我们还观察到占用和社交LSTM的误差彼此相当,并且通常优于社会力模型。最终,我们的“社交”LSTM模型在更拥挤的UCY数据集中优于O-LSTM。这表现对于密集人群,池化整个隐藏状态以捕捉复杂交互具有优势。
表1.所有方法在所有数据集上的定量结果。我们通过以下方式呈现性能指标:前6行是平均位移误差,7至12行是非线性区域的平均位移误差,后6行是最终位移误差。所有方法都预测固定时长为4.8秒的轨迹。其中IGP使用了一个人的预期真实目的地,与其他方法不同。
4.1分析预测路径
我们在上述定量评估表明,“社交”LSTM模型在标准数据集上的表现优于目前最先进的方法。本节,我们试图更多地了解我们的模型在不同人群设置中的实际行为。我们定性研究了我们的“社交”LSTM模型在社交场景中的表现,其中个体以特定模式相互交互。
图4展示了一个由四个人占据的示例场景。我们可视化了我们的模型在不同时间点预测的路径分布。图中第一行和第三行显示每个人当前的位置以及他们的真实轨迹(实线表示未来路径,虚线表示过去路径)。第二行和第四行显示我们的“社交”LSTM模型对接下来12.4秒的预测。这些场景中,我们观察到2号、3号、4号三个人彼此靠近行走,而1号则离他们较远行走。
我们的模型在所有时间都为1号预测了一条线性路径。1号的分布随时间相似,表明该人物的运动速度恒定。
我们可以从三个人群体预测的轨迹中观察到更有趣的模式。尤其是我们的“社交”LSTM模型做出了智能的路线选择,为他人让路并预防未来的碰撞。例如,在时间步2、4、5,我们的模型甚至在实际转弯开始之前,就预测了3号和4号偏离线性路径。在时间步3、4,我们的模型预测3号“停下”以让路给1号。有趣的是,在时间步4,停下点的位置被更新以匹配路径上的真实转弯点。而在下一个时间步,随着更多观测数据的加入,模型能够正确预测以该点为支点的完整转弯。
在图5中,我们展示了我们的“社交”LSTM模型、社会力模型[49]和线性基线在ETH数据集之一上的预测结果。当人们成群结队行走,例如作为一对情侣时,我们的模型能够联合预测他们的轨迹。与社会力模型[73]不同,我们并没有显式地模型化群体行为,然而我们的模型在整体上更好地预测了群体轨迹。在图5的最后一行,我们展示了一些失败案例,即我们的预测比目前其它模型预测效果更差的情况。我们要么预测了一条线性路径(第二列),要么比需要的更早减速(第一列和第三列)。尽管在这些情况下轨迹与真实轨迹不匹配,但我们的“社交”LSTM模型仍然输出了“合理的”轨迹,即行人可能会采取的轨迹。例如,在第一列和第三列中,我们的模型预测行人将会减速以避免与前方的人发生潜在的碰撞。
图4.我们可视化了场景中4个人在6个时间步移动时预测路径的概率分布。子标题描述了我们的“社交”LSTM模型正在预测的内容。在每个时间步,第1行和第3行的实线表示真实未来轨迹,虚线表示直到该时间步的观测位置,点表示该时间步的位置。我们注意到,我们的模型经常能够在具有非线性运动的挑战性设置中正确预测未来路径。其中,T代表时间,编号1-4表示行人编号。
图5.我们的“社交”LSTM模型预测轨迹的示例。在前3行是我们的模型成功预测轨迹的示例,就位置和速度而言误差较小,我们还展示了其他方法,如社会力模型[73]和线性方法。最后1行是我们的模型预测轨迹的失败案例,例如我们预测行人将会选择减速或采取线性路径。尽管如此,“社交”LSTM模型仍预测了一条合理的路径。结果展示在ETH数据集[49]上。
结论
我们提出了一种基于LSTM的模型,能够联合推理多个行人以预测场景中的运动轨迹。我们为每个轨迹使用一个LSTM,并通过引入一个新的社交池化层在LSTM之间共享信息。我们将得到的模型称为“社交”LSTM模型。我们的模型在两个公开数据集上的表现优于目前最优的方法。此外,我们定性展示了我们的“社交”LSTM模型成功预测了由社会互动产生的各种非线性行为,例如人群结对移动。未来我们将尝试把“社交”LSTM模型扩展到多类别设置中,其中自行车、滑板车、独轮车和行人等多种对象共享同一空间。每个对象在占用图中将拥有自己的标签。此外,通过将局部静态场景图像作为LSTM的额外输入便可以在我们的框架中模型化人与空间的交互。这将允许在同一个框架中联合模型化人际交互和人与空间的交互。
鸣谢
本报告的研究得到了斯坦福人工智能实验室联合丰田人工智能研究中心以及美国海军研究办公室稀疏资助(编号N00014-13-1-0761和N00014-15-1-2615)的资金支持。