标题: 一种新的基于图的伪Oracle轨迹预测器
作者: Biao Y ang , Member , IEEE, Guocheng Y an, Pin Wang, Member , IEEE, Ching-Y ao Chan , Member , IEEE, Xiang Song , and Y ang Chen ,
文章目录
Abstract
动态场景中的行人轨迹预测在许多应用中仍然是一个具有挑战性的关键问题,如自动驾驶汽车和社会感知机器人。而其中的挑战则主要集中于捕捉步骤行人的运动模式、社会互动以及处理未来的不确定性。最近常用的RNN技术的缺点之一就是没有整合可能提高预测性能的特定避障经验(OAEs)。而本文则是提出了基于图形的轨迹预测器与假象(GTPPO),这是一种以行人未来行为为条件的基于编码器-解码器的方法。并且将GTPPO在几个典型的数据集上进行了实验,并取得了不错的成果。
Index Term——Encoder–decoder, graph attention network, latent variable predictor, social attention, trajectory prediction;
Introduction
动态场景中的行人轨迹预测仍是一个至关重要的问题,如果能够有效的解决该问题,那么许多实际应用产品将得到十分显著的提升。例如,如果能很好地预测周围行人的未来轨迹,自动驾驶汽车就能规划出更安全的路径,以避免行人和车辆的碰撞。如下图所示:
如图1所示,根据用线标记的历史轨迹,需要预测行人用箭头标记的未来轨迹
这种预测是具有挑战性的原因有很多,例如不同的运动模式和人群的社会互动,包括复杂的人与人、人与物的互动。此外,由于轨迹预测的多模态特性,未来的不确定性难以处理。
过去的不足:
- 大多数模型所使用的LSTM很难捕捉历史轨迹中的重要时间步长;
- OAE对于捕捉行人的社会互动并未得到充分利用。如何将一些行人间互动互动的影响引入到数据驱动的学习过程中,对于捕捉现实的社会互动至关重要;
- 未来的不确定性总是通过从随机高斯噪声或观测数据中生成潜在变量来处理
贡献
- 本文使用行人的行进方向作为Pseudo Oracle来计算他们的社会关注度,然后通过突出显示相关行人之间的相关性来改进图形关注网络(GAT)。
- 本文提出了一种新颖的潜在变量预测器POP,它可以估计知识丰富的潜在变量以提高预测性能。这种潜在变量包含有关行人未来轨迹的知识,因此可以称为另一个Pseudo Oracle。
- 本文将GA2T模块和POP嵌入到基于生成模型的轨迹预测器中,以处理未来的不确定性。
综述
一、相关工作
1.1 轨迹预测方法
最新的DNN技术在理解行人的运动模式上有着较为出色的表现。然而,它的时空复杂度很高。而且很少有研究进一步研究了不同时间步长对运动模式编码的影响,所以可能会掩盖特定时间步长的轨迹预测关键信息。对此,本文引入了一种基于时间注意力的LSTM来编码每个行人的运动模式,旨在突出历史轨迹中的特定时间步骤;
1.2 捕捉社交互动
对行人社交互动的捕捉对于精确轨迹预测来说是一个关键点。最近的研究调查了深度学习技术来捕捉人群的社会互动。这类研究主要分为基于池的方法和基于图的方法:
- 基于池的方法:Social - LSTM提出了社会池层来聚合代理的局部邻域内的社会隐藏状态;
- 基于图的方法:用图结构表述交互代理之间的连接。该结构善于捕捉不同Agent之间的空间和时间相关性,因此可以实现更好的轨迹预测;
尽管如此,现实中很少有模型会引入OAE,这是因为很难检测到行人的头部方向。所以本文就将行人前进方向作为其头部方向;
1.3 处理未来的不确定性
由于基于生成模型的方法具有处理未来不确定性的能力,因此已成为主流。潜在变量与生成的多峰输出具有很强的相关性。然而,各种研究方案还是很难找到环境的通用表示。此外,与这些轨迹的编码嵌入相比,从历史轨迹中学习的潜变量具有有限的信息增益,因此导致有限的性能改进。本文通过最小化历史观测轨迹和实际轨迹之间的知识差距来生成一个有信息的潜在变量;
二、本文方法
轨迹预测问题实际上就是一个时间序列分析问题,而轨道预测的目的在于**估计未来的弹道Ti,考虑历史轨迹Hi以及行人的社会互动 **。我们可以将轨道预测问题转化为训练一个参数模型来预测未来的弹道T~i ~(i = 1,…, n),可表示为:
其中,TI表示未来轨迹,Hi表示历史轨迹。θ表示科学系参数,n表示行人数量。
下图展示了GTPPO的概述:
它由以下三个部分构成:
- (1) 基于编码器-解码器的生成器:通过共享的基于时间注意力的LSTM(TA module)对每个行人的运动模式进行编码。它与组件2和组件3的输出相连接。然后使用一个普通的LSTM将级联嵌入解码为相对位移;
- (2) 社会图注意力模块:本文提出了一个社会图注意力模块来捕捉行人的社会互动,将OAE引入到数据驱动的学习过程中,以提高预测性能;
- (3) POP:本文提出了一个POP模块来生成信息潜在变量,以处理未来的不确定性,同时保持准确的轨迹预测。但是该变量是由行人未来的行为产生的,在实际条件下很难得到。因此,我们提出了一种从行人的历史轨迹预测行人未来行为的替代方法;
2.1 基于编码器-解码器的生成器
来介绍下编码器-解码器结构:
- 基于注意力的LSTM编码器:在 vanilla LSTM 中引入了一种时间注意机制,以突出观察到的轨迹中的特定时间步骤。其工作原理如下:
- 先使用线性层将行人i在t时刻的相对位移转为成定长向量eti。然后将向量输入vanilla LSTM,以编码行人i在时间t的嵌入,如下所示:
其中, ϕ ( ⋅ ) \phi(·) ϕ(⋅)表示线性层函数。mti是LSTM在时间步骤t的隐藏状态。Wee和WM分别代表 ϕ ( ⋅ ) \phi(·) ϕ(⋅)和LSTM(·)的可学习权重
最后,用一个时间注意机制进一步处理mti,具体如下
其中,Ww和bw是激活函数tanh(-)的可学习权重和偏置。Wp是另一个可学习的权重,通过连续训练学习。si是TA模块的输出
- Vanilla LSTM解码器:用该解压器来将串联的嵌入解码为相对位移(△xti, △yti),过程如下所示:
其中,WD是LSTM(·)的可学习权重,δ(·)是将嵌入转换为相对位移的线性层。 dti是LSTM的隐藏状态。它的初始化包括TA模块si的输出、社会图注意模块 g i T o b s g^{T_{obs}}_i giTobs的输出以及潜变量zi;
在得到每个预测时间步的预测相对位移后,很容易将相对位移转换为未来的轨迹Ti;
- 社交图谱关注模块:本文用图模型来捕捉社会互动,因为它能够对行人和他们的相关性进行建模。如图3所示:
引入了两种关注机制来汇总邻居的信息。前者是以数据驱动的方式学习的图形注意力αij,后者是社会注意力Aij,其灵感来自于人们总是影响后面行人的未来轨迹的OAE。社会注意力是根据行人的速度方向来计算的
充分利用了图注意的数据驱动的学习能力。此外,我们提出了社会关注,它将OAE引入数据驱动的学习过程:
- (1)图注意计算:本文引入了一个图关注模块它允许通过给不同的节点分配不同的重要性来聚合来自邻居的信息,将其表示为GA模块;最初,我们将编码后的嵌入物mti(t = 1, … , Tobs)[d e fined in (3)]送入图注意层。然后,我们将两个转换后的嵌入Wmti和Wmtj串联起来,以探索它们的相关性,就像在。注意机制是一个单层前馈神经网络,由一个权重向量a作为参数,并应用LeakyReLU非线性(输入斜率为0.2)。最后,在时间步骤t的节点对(i,j)的注意力层的系数计算如下:
其中,||是串联操作,Ni代表节点i的邻居。W和a分别是可学习的权重矩阵和向量;我们将Wmti和Wmtj连接起来,而不是通过点乘的方式,因为后者的操作可能导致对称的注意力系数(αtij= αtji)。因为需要不对称的注意力系数(αti j = αtji),因为代理人i对代理人j的影响不等于代理人j对代理人i的影响
在得到了系数αtij后,节点i在时间步骤t的一个图形注意层的输出计算如下
其中,σ(·)代表Sigmoid激活函数。在本文的实现中,我们堆叠了两个图形注意层,以进行稳定的训练。
- (2)社会注意力的计算:本文引入了社会关注,根据他们的速度方向来关注那些真正有互动的行人。具体来说,我们计算bi j的余弦值,它代表代理人i的速度方向与连接代理人i和j的矢量之间的角度。 所有余弦值的表述如下:
其中n是一个场景中的行人数量。
之后,本文用两种注意力机制进一步处理cos(B),具体如下:
- 1)硬社会注意(HSA):本文将HSA定义为一个矩阵HA,其大小与cos( B B B)相同。。类似于视场(FOV)滤波,是基于cos( B B B)执行的(如果cos(bij)大于0,则每个元素hi j都被设置为1,这是一个经验定义的阈值。否则,设置为0);
- 2)软社会注意(SSA):SSA自适应地计算注意权重SA,其公式如下:
其中σ(·)表示Sigmoid激活,Conv(·)表示1 × 1卷积运算
这样一来,就可以用注意权重改写之前的公式:
其中,A是主力权重HA或者SA
最后,再使用一个普通的LSTM来处理mj,因为它看起来是一个序列数据。我们将其记为GLSTM,其公式如下:
其中,WG为GLSTM的可学习权值(·)。gti为GLSTM在时间步t时的隐藏状态
- Pseudo-Oracle预测:它生成一个信息潜在变量,窥视行人未来的行为。在图4中,我们分别从历史轨迹和地面真实轨迹中提取位置、速度和加速度作为输入
在训练阶段和测试阶段分别使用从真实轨道和观测轨道产生的潜变量。kl -散度用于最小化地面真相和观测轨迹(最好用彩色查看)的级联嵌入之间的知识差距
本文分别从历史轨迹和地面真实轨迹中提取位置、速度和加速度作为输入。然后用两个高斯lstms对这些输入进行编码,如下所示:
其中, Ψ \Psi Ψ(·)k和 Ψ \Psi Ψ^ (·)k是两个LSTM,分别具有可学习的权重WkLP和W^ kLP。四个线性层将两个LSTM的输出映射为四种4-D潜变量分布,分别具有可学习的权值Wkμ、W^ kμ、Wkσ和W^ kσ。I ki和I ki是第k种输入(位置、速度和加速度),我们分别从观测到的和真实的轨迹中提取。有冒号的就是预测的,没有的是真实情况。
**潜变量zi**的生成在不同阶段有着不同的方式:
- (1)在训练阶段:行人i的估计潜变量为zi,它是由(μki, σ ki) (k = 1,2,3)和随机高斯噪声的样本拼接而成。(学习到的潜变量可以预测行人未来的行为,有利于精确的轨迹预测。然而,它们的多样性受到学习的高斯分布的限制,因此不能提供像随机高斯噪声那样多的多样性。我们将三个学习到的潜在变量与随机高斯噪声结合起来,以平衡精确和多样化的轨迹预测);
- (2)在测试阶段:zi由(μki,σki) (k = 1,2,3)和随机高斯噪声的样本拼接而成。(使用从观察到的轨迹产生的潜在变量来近似从地面真实轨迹产生的潜在变量,因为经过精心设计的训练,我们已经最小化了它们的知识差距);
- 损失函数:本文使用的损失函数由两部分组成,即多样性损失和潜变量分布损失:
- 多样性损失(Lvariety):用于在保持多样化输出的同时,在L2损失中拟合最佳预测轨迹。工作原理:对于每个行人,模型生成多个输出。然后选择L2距离ground truth最小的轨迹计算多样性损失,计算公式如下:
其中Ti和tvi分别是真实的和预测的轨迹。v为超参数,根据SGAN设置为20
- 潜变量分布损失(LLD):可以确定观测轨迹和地面真实轨迹之间的知识差距。我们用KL-divergence来计算损失,公式如下:
这样一来也就可以加权定义总损失,如下:
其中N是训练样本的总数,通过跨基准数据集的交叉验证将α设置为10
三、实验结果
本文在公开的ETH、UCY和更具有挑战性的SDD数据集上进行了实验。所有场景都包含真实的行人轨迹,具有丰富的人-人-物交互场景,包括人们交叉,群体形成和分散,以及避免碰撞。
具体而言,本文的实验是在四个场景中训练模型,并在剩下的场景中测试它们。
对于所有数据集,观测和预测视界分别为8和12个时间步长。预测视界记为Tpred。更多细节可在表I中找到。
本文采用下采样来减少计算开销。而且只计算长度等于或大于20个时间步长的轨迹的数量(包括8个观测到的和12个预测的时间步)。此外,我们通过使用一个长度为20的滑动时间窗口和一个步幅大小为1的选择轨迹来生成训练样本
此外,所提出的方法还通过以下两个误差度量进行评估:
1.平均位移误差(ADE):在所有预测水平上,预测轨迹与地面真实轨迹之间的平均L2距离;
2.最终位移误差(FDE):在最后一个预测步骤中,预测目标与实际最终目标之间的欧几里得距离;
- 定量评估:
- 与最先进方法的比较:由于一些传统方法的表现太差,所以只用以下这些方法来进行比较:
(1)Social-LSTM:一种改进的基于lstm的轨迹预测方法,通过提出一个社会池层来聚合感兴趣的行人的隐藏状态(通过解码LSTM嵌入和社交池输出的连接来预测未来的轨迹);
(2)SGAN:(1)的改进版,利用对抗性训练来生成社会可接受的轨迹(利用随机高斯噪声作为潜在变量,考虑行人未来的不确定性,生成多模态输出);
(3)SR-LSTM:Social-LSTM的改进版本,提出了一个数据驱动的状态细化模块(该模块通过消息传递,根据行人邻居的意图,迭代细化当前行人的隐藏状态);
(4)Sophie:SGAN的改进版本,利用注意机制,即社会和物理注意模块(通过注意操作突出关键信息,提高了轨迹预测性能);
(5)S-Way:SGAN的改进版本,用信息损失替换L2损失,以避免模式崩溃;
(6)STGAT:一种基于自编码器的轨迹预测方法,该方法使用时空图注意力网络来模拟行人在场景中的社会互动(具体来说,空间相互作用由图注意机制捕获,时间相关性由共享LSTM建模);
(7)NMMP:一种轨迹预测方法,提出了一种神经运动消息传递策略,以显式地建模交互并学习行人之间定向交互的表示;
(8)CVM:采用简单的恒速模型(CVM)进行弹道预测;
(9)Transformer:基于变压器网络和大型双向变压器(BERT)设计的轨迹预测框架;
(10)Trajectron++:是一个模块化的、图结构的循环模型(它预测具有不同语义类的一般数量的代理的轨迹,同时合并异构数据,例如语义地图和相机图像);
表II总结了所选放的主要性质:
通过social pooling layer来计算周围其他行人对其的影响,计算思路是将该行人周围的区域划分成NxN个网格,每个网络都是相同的大小,落入这些网格中的行人将会参与交互的计算;
对抗训练(adversarial training)是增强神经网络鲁棒性的重要方式;
state refinement model:对行人状态进行细分;
为了评估本文方法的不同组合,我们将GTPPOv1、GTPPOv2和GTPPOv3分别表示为不含和含hard/SSA的方法。下表显示了我们的方法和最先进的方法之间的比较结果:
对于Trajectron++,将输入进行归一化处理以进行公平比较。还删除了Trajectron++中使用的数据增强策略;
从该表中可以得出以下结论:
- Social-LSTM和SCAN是典型的轨迹预测器。但是它们的性能并不像最近提出的方法那样令人满意;
- Sophie和S-Ways在捕捉社会互动方面都采用了注意力机制,比起CAN,他们的预测效果更好;
- SR-LSTM提出了一个状态细化模块来聚合邻居的信息。它实现了与S-Ways类似的预测性能;
- NMMP和STGAT使用图模型来捕捉社会互动。它们都比Social-LSTM、SGAN和Sophie表现得更好。比较结果显示,图模型善于对社会互动进行建模,这对准确的轨迹预测具有重要意义;
- CVM和transformer除了传统的轨迹预测方法外还分别采用了他们独有的结构。这两种方法的成功揭示了在没有LSTM的情况下进行预测的可能性。此外,CVM只估计一个输出,而其他方法从多个生成的输出中选择最佳输出;
- Trajectron++利用双向GRU编码模块和图结构来捕捉社会互动,Trajectron++实现了最低的平均ADE值和第二低的平均FDE值;
- 本文所提出的GTPPO方法,特别是v3,结合了图模型和注意力机制的优点。GTPPOv3获得了最低的平均FDE值和第二低的平均ADE值,将平均FDE的惊人表现归功于POP模块,因为它能够预测行人的未来行为(如短期目的地),并仅使用轨迹数据探索潜在的场景结构;
下表则是各种方法在具有挑战性的SDD数据集上的表现:
在该数据集上的实验可以得出如下结论:
- CVM在SDD上的表现最差,因为简单的CVM可能不适合预测挑战性场景中的行人轨迹;
- Social-LSTM, SGAN, Sophie, NNMP和STGA T在SDD上取得了更好的性能。其中,NNMP和STGA T由于引入了基于图的模型来捕捉社会互动,因此取得了有竞争力的性能;
- 通过使用相同的输入数据,GTPPO-v3略优于其他几种模型。但是在输入数据按照其特殊的加工方式后表现得要比GTPPO要好。
- 消融研究:进行了一项消融研究,以调查GTPPO中使用的不同模块的效果。我们使用一个基于LSTM的单层编码器-解码器网络作为基线。实验结果如下所示:
报告了5个DA试验中Tpred = 12米的平均ADE和FDE。TA表示基于时间注意力的lstm。GA代表图形注意力。HSA和SSA分别代表hard和ssa。Pop表示Pop(首选low,并用粗体标记);
通过该实验,可以得出如下结论:
- 前两行的结果表明,所提出的TA模块在编码行人运动模式方面优于普通的LSTM,因为前者可以以数据驱动的方式突出历史轨迹中的重要时间步骤;
- 第三行、第四行和第五行的结果表明:GA模块可以通过捕捉行人的交互来提高预测性能。引入的社会关注可以通过在图关注中引入OAE来进一步提高预测性能。此外,SSA的性能优于HSA,因为前者以灵活的方式模拟行人的交互,而后者以确定性的方式模拟行人的交互;
- 第一行和第六行之间的比较验证了所提出的POP模块在生成信息潜在变量方面的效果。具体而言,生成的潜在变量鼓励模型探索关于行人未来轨迹的知识;
总之,TA、GA、SSA和POP组合在平均ADE和FDE方面的表现最好。消融研究验证了我们贡献的效果;
- 不同抽样数的评价:基于生成模型的轨迹预测器通过生成多个输出来处理未来的不确定性。但是有许多预测与实际情况差别较大,这也会影响预测轨迹的进一步决定——POP模块:用很少的尝试来估计准确的未来轨迹,同时保持不同的输出。有利于在较少尝试的情况下进行精确的轨迹预测;
为了验证该假设,本文用POP模块生成的信息变量替换了由随机高斯噪声生成的STGAT潜变量。比较结果如下图所示:
两种方法在样本数逐渐减少的情况下,预测性能都有所下降。然而,STGAT-POP在很少采样的情况下仍然可以进行令人满意的轨迹预测。
一次采样的STGAT-POP的平均FDE优于20次采样的STGAT;
这些结果表明,POP模块可以在较少的尝试下预测精确的轨迹。此外,POP模块可以很容易地集成到基于生成模型的轨迹预测方法中,以提高预测性能
- 定性评估:本文还采用了定性评估的方法,以进一步探索GTPPO。图7展示了各种不同方法在不同数据集生成的最佳轨迹:
每种方法生成的20个样本中ADE值最低的轨迹为最佳轨迹。每个子图包括四个场景;
一般情况下,所有方法都能在行人呈现线性运动时准确预测其未来轨迹,如图7(b)第四场景中的目标1;
我们可以从图7中总结出我们方法的优越性:
- 在ETH, HOTEL, ZARA1, ZARA2中,trajectory ++可以预测最接近ground-truth轨迹的轨迹。然而,当行人在未来表现出突然的运动变化时,GTPPOv3可以预测更接近地面真实目的地的短期目的地(例如,图7(d)的第一个场景中的目标1),而这得益于POP模块。在图7(e)中,GTPPOv3通过生成更精确的轨迹而优于其他;
- 如图7(d)的第二个场景所示,GTPPOv2和GTPPOv3生成的目标3的未来轨迹表现为回避,因为目标1和目标2在前面。然而,GTPPOv1生成的目标3的未来轨迹不表现出回避。
这种差异表明了社交图注意模块在捕捉行人社交互动方面的作用;
除了最佳轨迹外,本文还比较了具有代表性的几种方法所生成的密度图,以评估它们的轨迹预测性能:
密度图由不同模型重复采样300次生成。上图给出了从ETH[见图8(a)]、HOTEL[见图8(b)]、ZARA1[见图8©]、ZARA2[见图8(d)]、COUP a[见图8(e)]、HY ANG集合[见图8(f)]中选取的六种场景下不同方法的密度图;
一般来说,不同方法生成的密度图在大多数情况下反映了行人未来轨迹的分布。而GTPPOv3在处理行人的突然运动变化和社会互动方面表现得更好,如下“
- 与其他方法相比,GTPPOv3生成的密度图更接近于真实的地面轨迹。更重要的是,GTPPOv3可以预测很多场景下的突然运动变化,如图8(d)和(e)中的目标1,图8(a)中的目标2,图8(f)中的目标3。而这是得益于POPO模块;
- 在HOTEL场景中,GTPPOv3为三个目标生成更多独立的密度图,而其他方法生成纠缠的密度图,这可能导致碰撞。这样的差异验证了GTPPOv3能够更好地捕捉行人的社交互动,并避免引入的OAE造成的碰撞
一般来说,GTPPOv3能够以社会可接受的方式预测准确和多样化的输出
总结
本文提出了用编码器-解码器网络预测行人未来轨迹的GTPPO。具体来说就是:对于每个行人,使用TA模块对历史轨迹进行编码,来突出信息时间步骤。社会图注意模块捕捉不同行人之间的社会互动,并将OAE引入图注意中以提高预测性能。此外,还提出了一种全新的POP模块来通过潜变量来处理未来的不确定性。
通过之前的实验也不难看出本文的GTPPO有着十分出色的表现;
未来展望
通过本文,我认识到了即便是复杂的社会行动轨迹预测,也能通过专业的深度学习知识来预测出来。
本文所提出的方法的优点如下:
- 研发出了准确率较高的GTPPO模型。它在常见环境中取得良好成绩的同时,还在具有挑战的SDD场景中表现最优;
- 充分发挥了OAE,借此提升了模型的性能;
- 该方法有望成为复杂交通环境下避免行人-车辆碰撞的稳健轨迹预测模型;
其不足之处有:
- 在引入了语义映射之后,传统的Trajectron++方法要优于本文提出的方法;
- 还可以通过反向强化学习来了解行人如何规划他们未来的轨迹;