基于深度学习的智能体轨迹预测文献综述
2023-03-17章璐璐李思照
章璐璐, 李思照∗
(1. 哈尔滨工程大学 计算机科学与技术学院, 黑龙江 哈尔滨 150001;2. 电子政务建模仿真国家工程实验室, 黑龙江 哈尔滨 150001)
0 引言
随着科技水平的提高,人工智能新兴应用的需求不断增长,自动驾驶已经成为一个热点话题。 其中一个重要的问题是自动驾驶汽车如何预测附近智能体的未来轨迹,以减少交通事故的发生,提高道路的安全性。 因此,需要采取一些机制使自动驾驶汽车能够判断智能体的当前状态和预测其下一步的行为。 智能体主要包括行人和车辆。 对于行人而言,行人的轨迹主要由自身、周围的其他行人、环境因素和目标意图等驱动。 与行人相比,车辆的轨迹预测主要取决于交通规则、驾驶环境、驾驶员的精神状态以及其他车辆的行为。 自动驾驶汽车需要通过一些机制去学习交通规则、相应的法规和交通标志,还要能够辨别行人的社会互动和非正式的社会规则,这样才能帮助自动驾驶汽车预测道路参与者的轨迹,以确定下一步如何展开,最大化地保障智能体的安全[1]。
近年来,国内外研究学者在轨迹预测领域已经有了长足的发展,大多通过建立轨迹预测模型模拟智能体的轨迹。 由于传统动力学模型很难根据一些运动学方法预测行人下一时间点的行为,常规的算法很容易使预测结果倾向于一种折衷的轨迹,所以需要从过去的轨迹中推测未来的轨迹序列,或者从行人的行为习惯中学习得到。 因此轨迹预测算法已经从传统动力学模型转向深度学习模型。 深度学习的轨迹预测方法近年来非常流行,因为它不仅考虑物理相关因素和道路结构、智能体之间的交互,而且能适应更复杂的交通场景。 Sighencea 等[2]研究讨论了基于深度学习的行人轨迹预测方法,首先从传感器技术方面进行了分析,并且对基于深度学习方法的行人轨迹预测模型进行了详细阐述,还讨论了目前用于行人轨迹预测的数据集。 Lefèvre 等[3]对自动驾驶车辆轨迹模型提出了3 个级别的分类:基于物理的模型、基于机动的模型和基于交互感知的模型。 基于物理的模型认为车辆的运动主要取决于物理定律,分别为动力学模型和运动学模型。 基于机动的模型包括基于原型轨迹和基于意图的模型,即根据驾驶员的意图来预测车辆接下来的行为。 基于交互感知的模型即车辆的运动受到场景中其他车辆运动的影响。 然而,智能体轨迹的随机性和场景交互方面仍具有高度的挑战性,因此预测智能体较长一段时间的轨迹很有必要,这对自动驾驶汽车自主决策并避免碰撞有重大意义。 在文献[2]的基础上,本文将根据深度学习的方法对智能体轨迹预测模型进行归纳整理。
本文第2 部分介绍了在自动驾驶场景中行人和车辆轨迹预测的模型;第3 部分介绍了轨迹预测中常用的数据集;第4 部分讨论了轨迹预测中常用的评估指标,并比较了几种经典模型在公开数据集上的性能;第5 部分针对行人和车辆轨迹预测中存在的问题,对现有的方法进行了总结和展望。
1 智能轨迹预测模型论述
本节主要总结当前基于深度学习的轨迹预测方法及其优缺点。 该方法主要将代理之间的交互、场景结构或环境因素作为深度学习模型的输入,最终输出轨迹或智能体的意图,基本框架如图1 所示。近年来,轨迹预测方法主要有基于物理和机器学习的方法。 基于物理的方法主要有动力学模型,通常包括高斯过程、卡尔曼滤波等。 与物理的方法不同,基于机器学习的方法主要采用数据驱动来预测智能体的轨迹,主要包括支持向量机、动态贝叶斯网络等。 然而,前者结构过于简单,只能适应简单的预测场景和短时间的轨迹预测,无法分析智能体运动的复杂模式,而后者不能捕捉各种动态的交通场景且在推理过程中计算复杂度相对较高,因此需要深度学习的轨迹预测方法。 深度学习的方法主要有循环神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional Neural Network,CNN)、生成对抗网络(Generative Adversarial Network,GAN)和混合网络等,本节主要详述有关深度学习方法的轨迹预测方法。
图1 基于深度学习的轨迹预测模型基本框架Fig.1 Basic framework of trajectory prediction model based on deep learning
1.1 基于RNN 的轨迹预测模型
早期最简单的RNN 由单层网络构成,但对于序列型数据,原始的神经网络很难处理。 为了建模序列问题,RNN 通过引入隐藏层对数据进行特征提取,再转换为输出,但无法对数据状态长期记忆,于是出现了长短时记忆网络(Long Short-Term Memory,LSTM)。 LSTM 是RNN 的一种变体,通过引入记忆单元解决了长序列预测梯度消失的问题,并通过控制门对信息的协调,解决了时间序列预测中长期依赖的问题。 于是,LSTM 被用于分析智能体的轨迹,主要是将智能体轨迹序列输入到RNN 的模型中,然后输出预测轨迹,具体框架如图2 所示。
图2 基于RNN 的轨迹预测框架Fig.2 Trajectory prediction framework based on RNN
为了在复杂的城市交通中安全高效地导航,自动驾驶车辆必须对周围的交通代理做出可靠的预测。 Alahi 等[4]近年来第一个将RNN 模型应用到行人轨迹预测中,提出了一种“社会” LSTM(Social LSTM,S-LSTM)模型,S-LSTM 通过RNN 对每个行人的轨迹进行建模,首先为每条行人轨迹分配一个LSTM 模型,然后通过基于N×N的网格池来保留空间信息并结合代理周围所有行人的信息,引入“社会池”使不同LSTM 层自动地学习行人轨迹之间的相互作用,最后将行人轨迹建模为双变量高斯分布,生成无冲突的轨迹。 该模型在LSTM 每一步运行之间加入了“社会”池化层,解决了行人之间的交互问题,但模型结构较为单一,只考虑了行人之间的交互,而忽略各种对象(例如自行车和汽车等)和场景背景(例如路况和建筑物)的影响。 与此同时,基于“社会”池化的模型在每次训练时都要与输入的“社会”向量进行计算,使预测结果的实时性不高。
受S-LSTM[4]架构的启发,许多研究已成功地将此方法转移到车辆轨迹预测中。 Zyner 等[5-6]提出的主要是在无信号的环形交叉路口处预测驾驶员的行为意图,文献[5]使用LSTM 作为序列分类器预测车辆的机动。 为了预测目标车辆未来的位置,Altché 等[7]通过引入LSTM 实现车辆轨迹预测。 该模型为横向位置预测了最好的结果,虽能够准确预测高速公路上车辆未来的纵向和横向轨迹,但是对于速度预测却不够精确,需要提供车辆类型信息。孟宪伟等[8]将意图预测和轨迹预测相结合,构建换道轨迹预测方法系统。 为了探索不同交通主体的运动模式,Ma 等[9]提出了一种基于LSTM 的实时流量预测算法——TrafficPredict,该算法由实例层和类别层组成,实例层学习代理的轨迹和交互,类别层用于学习属于同一类型的代理的行为模式,以改进预测。在设计的4D 图形中,时空中的所有信息都可以被利用和传输,但算法的精确度根据交通状况和过去轨迹的持续时间而变化,并没有考虑到车道方向、交通信号等约束。 因此,该方法具有一定的局限性。
然而,车辆的轨迹预测涉及高度不确定性,智能体无法唯一确定车辆在交叉口或换道时将移动的方向。 因此,预测结果不能表示为单一的轨迹,自动驾驶车辆需要考虑周围车辆未来运动的多模态性。 为了使轨迹多模态化,Zyner 等[6]提出了一种预测驾驶员意图的不确定性方法,该方法在驾驶员可能选择的预测路径上产生多模态输出分布。 模型主要使用RNN 与混合密度网络(Mixture Density Network,MDN)相结合,并采用加权高斯混合模型(Gaussian Mixture Modeling,GMM)进行预测,其参数通过编码器-解码器3 层LSTM 获得,然后使用概率最高的模态对预测轨迹进行聚类。 但是当车辆在高维空间中运行时,由于数值不稳定,MDN 很难训练。 Ding等[10]提出了一个用于城市自动驾驶的在线2 级车辆轨迹预测框架,利用LSTM 网络开发了一个策略预测网络,该方法具有高度的灵活性,能够适应各种复杂的环境,同时结合意图提高预测精度,但没有考虑到车辆之间的交互。 而Deo 等[11]则提出了一种可以用于高速公路上的车辆机动和轨迹预测的LSTM 模型。 模型编码器LSTM 将车道结构和所有车辆的轨迹历史编码到上下文向量中,输出每一时刻的Y=[y(t+1),y(t+2),…,y(t+tf)]的概率分布和未来的t时刻的坐标位置。 模型在编码器上下文向量中分别附加一个对应于横向和纵向机动类别的向量,添加的机动上下文允许解码器LSTM 生成机动特定概率分布。 该模型在2 个真实的大型高速公路车辆轨迹数据集上体现了较低的预测误差,但是机动分类不够精确且在复杂的交通场景中很难应用。 针对文献[6,11]中出现的问题,Kawasaki 等[12]提出了一种基于车道的多模式预测网络,可以处理任意形状和数量的车道,能够预测每条车道的未来轨迹和各个车道被选择的概率。 受卡尔曼滤波器(KF)和LSTM 思想的启发,在网络中引入了车辆运动模型约束,采用KF 方法与预测方法相结合,提高了参数估计的能力和预测精度。 Xing等[13]提出了一种基于LSTM 的联合时间序列建模方法来预测前方车辆的运动轨迹。 模型首先采用无监督聚类算法识别3 种不同的驾驶风格,然后使用高斯混合模型为每辆车生成特定的驾驶风格并用最大信息系数的算法识别。 与基于物理和机动的方法相比,将交通环境考虑到运动预测中,可以对周围车辆进行更长期和更精确的运动预测。
由于一些LSTM 模型不能同时描述不同车辆的空间作用以及轨迹之间的时间关系,因此无法准确估计密集交通中相互作用的影响。 Dai 等[14]提出了一种基于时空LSTM 的轨迹预测模型(ST-LSTM)。首先采用Structural-RNN[13]的思想,通过修改后的LSTM 模型对所有车辆的轨迹和车辆之间的相互作用进行建模,将时间关系和空间交互构造为不同的时间序列,同时引入快捷连接处理梯度消失。 模型主要研究密集交通中车辆端到端的非线性的轨迹,然后通过评估空间的相互作用并根据交互影响程度的先验知识来评估网络中的权重,最终输出目标车辆修正后的轨迹序列。 实验表明,ST-LSTM 可以比单状态模型(M-LSTM)预测得更加精确,但数据集样本较少,有一定的局限性。 Ding 等[15]采用RNN进行编码,并在此基础上提出了一种新颖的车辆行为交互网络(Vehicle Behavior Interaction Network,VBIN)在每个交互对的隐藏状态和连接特征中捕获车辆交互。 这种方法在高速公路场景中实现了2.622 s 的最大平均预测时间,表明它能够捕捉长时间车辆未来的行为。 因为现有的研究主要集中在相邻车辆的空间相互作用,而不管时间依赖性如何,所以Jiang 等[16]提出了一种时空注意力LSTM 编码器-解码器模型(STAM-LSTM)来预测车辆轨迹。 与现有方法相比,该模型可以从空间和时间维度提取车辆的综合特征,有效地捕捉时间依赖性对生成车辆未来轨迹的影响,但还未在更复杂的场景中预测性能,模型的复杂性较高。
在轨迹预测问题中,文献[17-19]将行人之间的交互刻画为图形。 Yan 等[17]将行人集合建模为时空图,时空图的边通过与RNN 相连,分别捕捉单个行人和行人之间的交互信息,最终输出双变量高斯分布的参数。 该方法虽可以对时空信息进行有效建模,但比较复杂。 Haddad 等[18]提出了一种新的基于时空图的LSTM 网络,在拥挤的环境中,考虑了行人与行人、行人与静态对象的交互,然后对行人的轨迹做出预测。 模型中的时空图有2 类点和3 类边,2 类点分别是行人点和静态物品点,3 类边是同一时刻不同点的连边,模型使用LSTM 替换时空图中的部件,将时空图因式化分解,最终基于输出结果是二维正态分布的假设,求出预测的位置或计算损失值。 相较于S-LSTM 和SGAN,Structural-RNN 在静态物体较多的场景中,错误率显著降低。 Salzmann 等[19]则提出了Trajectron++,能够结合代理的动态和异构数据,并根据场景结构不同而做出不同的预测,是一种模块化的、图形结构的循环模型。 该方法可以生成以目标车辆与代理运动为条件的不同轨迹的预测,并在真实的轨迹预测数据集上展示它的性能,优于一系列最先进的确定性和生成性的方法。
总体而言,基于RNN 的智能体轨迹预测已经从单一的轨迹转向多模态轨迹,所研究的预测场景不再单一,数据集所包含的信息也越来越丰富,但它们在建模空间关系和图像数据方面存在不足。 同时有图神经网络的参与,使得轨迹预测的结果更加精确,但图神经网络的效率与先前的方法相比较为低下。相信随着神经网络技术的发展,基于LSTM 的轨迹预测方法会更加成熟。
1.2 基于CNN 的轨迹预测模型
CNN 是深度神经网络之一,在图像分类和语义识别等领域都有很好的性能。 CNN 一般由输入层、卷积层、池化层、全连接层和输出层构成。 由于CNN 能够很好地学习对象的特征,因此调整适当的网络结构和参数,可以有效鉴别这些特征。 CNN 以智能体的历史轨迹为输入,通过卷积层的叠加并通过全连接层输出未来轨迹[20],具体框架如图3所示。
图3 基于CNN 的轨迹预测框架Fig.3 Trajectory prediction framework based on CNN
现有的研究大多采用LSTM 学习智能体的行为,但预测精度不高,计算速度较慢,往往忽略了智能体的姿势和方向信息以及与场景的交互。 一些神经网络采用CNN 处理数据,将其作为光栅图像进行输入。 文献[21]使用CNN 预测短期时间的车辆轨迹,并将单个参与者的周围环境编码为光栅图像作为输入,但输出的轨迹较为单一。 文献[22]使用变分自编码器来估计未来轨迹的采样分布。 然而,该方法不能生成置信度分数来提供一组轨迹排序,需要大量的预测来覆盖所有的搜索空间,然后使用逆最优控制提取最终的排序子集。 Cui 等[23]考虑了交通行为的不确定性和车辆在道路上可能遇到的情况,提出了一种基于深度卷积网络的自动驾驶多模态的轨迹预测方法,给定第i个参与者的300 pixel×300 pixel 的光栅图像,在时间步长tj处估计状态Si,j,并使用CNN 模型预测M个可能的未来状态序列,其 中m表示模式指数,H表示预测状态的未来连续的时间步数。 实验结果表明,在更长的预测范围中,多模态预测比单模态预测更加明显,且能够做出更多的选择。
然而一些CNN 模型也可用于处理智能体的轨迹。 Marchetti 等[24]基于持久记忆增强神经网络(Memory Augmented Neural Network,MANN)的车辆轨迹预测方法提出了MANTRA 模型,用于解决轨迹预测问题中的多态性。 该模型是一个具有自动编码结构的编码-解码器,MANN 被训练成只保留最有意义和非冗余的样本,然后将其拼接成隐藏状态,并通过GRU 网络得到预测的轨迹情况。 通过用CNN对行人的周围上下文进行编码,并提供给细化模块来调整预测。 该模型考虑了环境和物理的约束,并利用语义地图集成周围的环境信息。 与文献[21-22]相比,MANTRA 模型能够直接估计一小组排列轨迹,这些轨迹能显示出足够的多样性,可以覆盖多种模态的未来轨迹。 Wang 等[25]提出了一种基于多信息的卷积神经网络(MI-CNN),结合行人姿势和三维空间信息来识别行人意图,并采用包含目标行人周围所有类别的三维几何信息的深度图来预测行人轨迹。 模型的结构主要包括帧编码器、基于CNN的编码器-解码器和注意模块,帧编码器使用三维边界框[26]方法确定目标行人的三维尺寸信息,利用深度估计模型提取深度图,为了捕捉行人的运动状态,利用预训练模型HigherNet 提取行人每一帧的关键姿势。 与LSTM 相比,该模型利用卷积的并行计算特性,加快了计算速度。 与S-LSTM 和SGAN 相比,该模型在MOT20 上产生了优越的性能。 根据Social-bigat 中将LSTM 的输入传给GCN 的方法,Mohamed 等[27]提出了时空图卷积网络,利用时空卷积建模时序,从图中提取空间和时间信息,从而创建合适的嵌入。 模型主要包括2 部分:时空图卷积神经网络(Spatio-Temporal Graph Convolutional Neural Network,ST-GCNN)和时间外推网络(TXP-CNN)。ST-GCNN 将行人轨迹的交互用图表示,图形建完后采用时空卷积操作以提取特征,TXP-CNN 将这些特征作为输入,输入T×P×N(行人位置的P维,N为行人数量,T为时间步数),并预测所有行人作为一个整体的未来轨迹。 为了评估该方法,社会时空图卷积神经网络(Social Spatio-Temporal Graph Convolutional Neural Network,Social-STGCNN) 在 ETH 和UCY 数据集上优于现有模型,并可以从很少的样本中学习数据的特征,同时定性分析了在避免碰撞、平行行走和个体遇到群体等情况下的网络性能。 由于Social-STGCNN 所提出的内核的非线性计算非常耗时,且固定核无法从数据中学习交互信息,会错误地表示社会交互关系,因此Zhang 等[28]提出了社会交互加权时空卷积神经网络(Social Interaction-Weighted Spatio-Temporal Convolutional Neural Network,Social-IWSTCNN),它避免了耗时的非线性计算,能够用数据驱动的方式从行人的相对位置学习此类社会互动注意力权重。 网络中的空间特征由社会互动提取器提取,包括输入位置嵌入特征和社会互动特征。时间特征由TCN 学习,TCN 对序列空间特征使用卷积运算来捕获序列的时间模式。 最后,在提取每个行人的空间和时间特征后,使用CNN 推断长期轨迹。 虽然该方法在Waymo 开放数据集中的典型场景中已经显示出良好的性能,但准确预测稀疏拥挤场景的未来轨迹仍然具有挑战性,需要考虑多种因素,如车辆与环境的交互。 因为有各种因素影响车辆的运动,Lu 等[29]提出了一种基于编码器-解码器架构的异构上下文感知图卷积网络,该网络主要通过时空动态图卷积网络利用了交互模式的时空演变,并捕获高保真的交互上下文。 然而模型并未引入丰富的基础设施且并未扩展到行人与车辆之间的相互作用。
CNN 的轨迹预测方法主要用于处理图像特征以及智能体的轨迹,这些功能能够模拟智能体的交互和行驶场景,并以占用地图的形式输出,但2D CNN 缺乏对数据序列建模的处理,这是智能体轨迹随时间变化所必需的。
1.3 基于GAN 的轨迹预测模型
虽然LSTM 在轨迹预测的精度方面取得了理想的结果,但是大多预测结果为单一轨迹,是一种折衷的状态,结果会与数据集形成高度的拟合。 因此,一些学者使用GAN 处理轨迹预测问题。 GAN 主要由一个生成器(Generator,G)和判别器(Discriminator,D)组成,G 主要负责产生虚拟数据,D 主要负责判断数据是否是真实数据。 在网络的训练过程中,G和D 相互对抗:G 通过接收噪声z生成伪样本,D 用于接收并区分真实样本和伪样本,并输出结果,具体轨迹预测框架如图4 所示。
图4 基于GAN 的轨迹预测框架Fig.4 Trajectory prediction framework based on GAN
为了预测轨迹的多模态分布,Gupta 等[30]提出了一个考虑场景中所有智能体影响的GAN 模型——Social-GAN。 模型由一个RNN 编码器-解码器、生成器和池化层以及鉴别器组成。 模型首先对每个行人使用一个LSTM,编码器通过了解每一个人的状态和轨迹历史,将含有上下文的输入作为编码,接着利用池化模块进行人与人之间的交互,最后用解码器生成预测轨迹。 与S-LSTM 相比,引入了噪声z且采用了GAN 模型,提出了一个改进的多样性损失函数,使网络中产生不同的样本,通过随机采样并选择L2 意义上的“最佳”结果生成k个可接受的预测轨迹,但该模型采用了传统的GAN 方法,会使网络训练不稳定,且在经过特征提取时最大池化后会忽略行人的其他特征,最终导致预测结果不够精确。 与S-GAN 不同的是,Sadeghian 等[31]提出了可以预测出符合社会和物理约束的Sophie 模型,不仅考虑了场景中的所有行人,还考虑了场景的上下文信息。 模型由3 个关键组件组成:特征提取模块、注意模块和基于LSTM 的GAN 模块。 首先,特征提取模块使用CNN 从场景中提取当前帧的图像并利用LSTM 对代理之间索引不变但时间相关的特征进行编码;其次,使用注意模块学习行人之间的交互以及他们对每个代理未来路径的影响,同时从训练数据中学习场景的空间约束;最后,LSTM 解码器用于预测未来每个代理的时间依赖状态,通过应用GAN方法,强制生成更真实的轨迹来提高生成器模型的性能。 实验表明,通过联合建模场景上下文和行人的轨迹信息,模型比单独使用这些信息时表现更好,更能生成可接受的轨迹。
Kosaraju 等[32]在对噪声具有敏感性的基础上使得GAN 网络生成多模态的轨迹,提出了基于图形的生成性对抗网络Social-BiGAT,通过更好地模拟场景中行人的社交互动,生成真实的多模态轨迹。网络的场景图像和行人轨迹特征分别由VGG 网络和LSTM 提取,根据特征的差异使用基于点积和图注意网络的注意机制,最终得到合理的输入向量。整体模型由4 个主要网络组成,每个网络又由3 个关键模块组成,分别是生成器、2 种形式的鉴别器(行人和场景)和潜在的空间编码器。 生成器将从多元正态分布中采样的噪声向量z 作为输入,并以物理场景上下文Cp(i)、行人场景上下文CLs(i)和行人编码Vs(i)为条件,然后通过解码器LSTM 生成多个时间步的轨迹。 鉴别器分别对行人和场景进行操作,利用2 个鉴别器对该体系结构进行对抗性训练,以输出真实的局部和全局轨迹。 为保证模型对噪声反应的敏感性和合理性,Social-BiGAT 还借鉴了Cycle GAN 的思想,引入了由预测轨迹反推噪声的潜在场景编码器,该编码器学习生成最能共同代表场景的噪声的均值和方差,能够产生轨迹的多模态。该方法不仅很好地解决了S-GAN 遗留的问题,还能为特定的行人以及多个行人生成多模态轨迹。Amirian 等[33]通过对传统GAN 架构的改进提出了一种预测行人与他人交互运动的新方法——Social-Ways。 模型主要通过对Info-GAN 修改,首先是在输入中新增了潜在编码,弃用了SGAN 中的L2 损失函数,在鉴别器加入了一个子网络用于产生信息损失。然后,将行人的轨迹编码、注意力池化后的交互信息、噪声和潜在编码等输入作为解码器的输入,解码出行人i的预测轨迹。 该模型引入基于交互信息的信息损失函数,增强了模型对多合理轨迹的预测能力。 然而,现有的大多数方法不能完全提取行人之间的交互信息,Fang 等[34]提出了一种基于GAN 模型的注意力机制(Atten-GAN)来模拟行人之间交互信息的社会关系。 该方法不仅能够提供符合社会规范的各种社会可接受的预测轨迹,而且在预测精度方面优于现有的基于生成模型的方法。 为了动态预测周围车辆的未来轨迹,Zhong 等[35]提出了生成模型(STGM),利用条件变分自动编码器(CVAE)构建STGM 框架,将输入增加到模态分布中,以获得模态方向的轨迹,且提出了新的模态抽样技巧,作为CVAE 中传统随机抽样的替代方法以使预测结果更加稳定。
总体而言,基于GAN 的轨迹预测方法能够保证智能体轨迹最终的预测精度,能够在复杂模型上生成合理、稳定、可接受的预测结果。
1.4 混合网络
由于单一的网络不能够处理复杂的数据,因此采用混合网络处理智能体的轨迹。 一些轨迹预测模型分别从LSTM 和CNN 中提取时间和空间特征。Lee 等[22]引入了一种深度随机逆最优控制(IOC)RNN 编码器-解码器框架DESIRE,即选通循环单元(GRU) 的 RNN 变体与条件变分自动编码器(CVAE)相结合,用于预测动态场景中车辆的未来轨迹。 模型首先采用2 个独立的编码器分别对行人i的过去轨迹和未来y的轨迹进行编码,并将这2 种编码串联输入到一个具有非线性激活函数的完全连接层(fc),然后通过CVAE 引入随机变量Zi,可以获得一组编码中各种假设的未来预测样本。 其次,设计一个RNN 评分回归模块,将奖励分配给每一个预测的假设样本,根据长期累积的奖励衡量结果的优越性。 与S-LSTM 相比,DESIRE 将CVAE 与RNN相结合,使模型具有较强的可伸缩性和灵活性,同时也结合动态和静态的场景,考虑了行人之间的交互,使用逆最优控制生成了长期的预测,但数据集不够大,在一些罕见的驾驶环境中,很难预测智能体的轨迹。 为了获得单模态轨迹,Rasouli 等[36]采用了具有车载摄像头系统的行人意图估计和轨迹预测模型,模型主要包括意图估计模型和轨迹预测框架,意图估计模型的编码器接收t时间内带有行人的方形图像输入到CNN,与LSTM 处理后再将其组合输入给解码器,解码器使用含有128 个隐藏单元的LSTM输出t+τ之前的未来轨迹。 该实验与传统LSTM 相比,短期预测差距不大,从长期来看,该模型的性能更好。 Xie 等[37]使用法国NGSIM 和Creteil 环形交叉路口的数据集,通过预测误差、RMSE、MAE 和偏差评估CNN-LSTM 模型的预测性能,并将预测结果与CNN,LSTM 和GRU 进行对比。 实验结果表明,该方法的RMSE、MAE 和偏差都最小化,能够准确预测周围车辆的轨迹。 虽然该方法为自动驾驶汽车等无人系统的安全运行和正确决策提供了有效的方法,但是未处理多个车辆的信息。 Xue 等[38]基于场景和交互感知提出了 Social-Scene-LSTM ( SSLSTM),是一种用于行人轨迹预测的分层LSTM 模型,在已有考虑相邻路人之间影响的S-LSTM 模型之上额外增加了行人背景的因素。 SS-LSTM 采用了行人模块、社会模块和场景模块这3 种模块预测行人的轨迹。 行人模块主要捕捉每个行人过去的轨迹信息,并对观察到的轨迹进行编码;社会模块捕捉每个行人周围的场景信息,并为每个行人绘制一张占用地图,将社会规模因素纳入模型中;场景模块用于捕获有关场景布局的信息。 网络根据3 个模块捕捉到的信息生成向量,拼接后形成解码器的输入,最终做出轨迹预测。 与S-LSTM、时空注意网络不同的是,SS-LSTM 模型的输出不是基于高斯二维分布,而是直接将解码后的输出经线性变换后得到预测轨迹的坐标值,且模型在数据集ETH,UCY 上有更好的性能。
智能体的运动交互过程中存在显著的不确定性,不确定性通常都是多模态的,为了预测智能体多模态的轨迹,Eiffert 等[39]基于有无车辆的人群中预测行人的轨迹,提出了PCGAN(Probabilistic Crowd GAN)模型。 该模型由一个生成器和一个经过逆向训练的鉴别器组成。 生成器由RNN 编码器、图形车辆-行人注意(GVAT)模块、RNN 解码器和MDN 组成。 GVAT 模块主要扩展了图形注意网络,对场景中所有行人及车辆行人之间的社会互动进行建模,同时考虑车辆行人之间的距离。 MDN 主要为代理的未来轨迹生成多模态。 然后通过解码器产生多模态的轨迹,并通过鉴别器与真实轨迹进行对比输出合理的结果。 该方法通过与SGAN 的比较,SGAN仅限于多个样本的平均误差,而本方法通过估计每个路径的可能性,可以降低对抗训练时产生的误差。虽然该方法对所有数据集都表现良好,但只能预测12 个时间步长的轨迹。 由于LSTM 编码器用来学习车辆行为的动向,却不能获取到车辆之间的依赖性,故Deo 等[40]引入了一个“卷积社会池层”。 模型通过预测6 种机动类别的分布以及每个机动等级的概率来预测车辆未来的轨迹。 但该模型完全依赖于车辆轨迹来推断机动类别和未来轨迹。 由于智能体的运动具有随机性,且受到目标、场景和代理之间的互动等多种因素的影响,导致智能体的数量不固定,大多数的建模方法都是以代理或空间位置为中心的编码方式,而Zhao 等[41]将场景与行人之间的交互进行共同建模,提出了多智能体张量融合(Multi-Agent Tensor Fusion,MATF)的编码解码架构,该架构主要以代理和空间为中心方法使MATF保留所有智能体和环境的空间布局。 为了捕捉未来预测轨迹的不确定性,根据所有代理过去的轨迹、静态场景上下文和随机噪声输入,使用了条件生成对抗训练来表示有限样本组上轨迹的分布,该模型在NGSIM 数据集中轨迹预测方面取得了最先进的结果。 与文献[40]相比,MATF 的预测表现较好。 通过实验证明,在比NGSIM 更复杂的场景环境中,场景和多智能体交互的表示对于轨迹的准确预测是必要的。
然而,现有方法通常强调行人和周围环境之间的空间交互,忽略了预测的平滑性和时间一致性。Li 等[42]旨在通过对基于多尺度图的空间变换器进行建模,并通过使用名为“记忆回放”的轨迹平滑算法综合空间信息并纠正时间不一致的轨迹;还提出了一种新的评估指标,用于预测多种轨迹的全面性,但该方法只适用于单个智能体。 与旨在学习影响个人步行行为因素的现有行人轨迹预测文献不同,Zhang 等[43]提出了一种称为分步注意力的深度学习模型预测行人轨迹。 该模型直接从输入序列学习轨迹模式,而无需对环境设置做任何假设,这使得分步注意力更加稳健,并适用于范围较大的场景。
2 数据集
轨迹预测在不同场景下的数据集多种多样,下面主要介绍影响力较大的公开数据集,主要包括应用于行人、车辆以及行人与车辆的混合数据集,如表1 所示。
表1 常见的轨迹预测数据集Tab.1 Common trajectory prediction dataset
行人轨迹数据集主要是ETH[44]和UCY[45],其中包含行人交互、非线性轨迹、避免碰撞和群体行人的轨迹坐标等,同时包含从固定的俯视图记录的5 个独特的室外环境信息[46]。 其中,ETH 数据集包括ETH和Hotel 两个数据集,由3 个视频片段和1 804 张图片组成,主要是没有社交互动的笔直的行人轨迹。UCY 包括Zara1,Zara2 和Univ 三个数据集,由5 个视频片段组成,其中包含了2 206 条直线运动和曲线运动不同特征的行人轨迹。 与ETH 不同,UCY 数据集包含了大量行人和场景之间的互动,轨迹特征多种多样。
车辆轨迹数据集主要是 HighD[47]和nuScenes[48],HighD 主要记录了高速公路上的车辆的行驶轨迹。 数据规模包括6 个地点,11 万辆车,4.5 万km 的总行驶距离,447 h 的总记录时间。nuScenes 是用于城市道路的数据集,共包含1 000 个且每个时长为20 s 的场景。 除此以外,还有NGSIM[49]数据集,经研究发现其存在精度不足、坐标漂移等问题,使用频率不高。
行人和车辆的混合数据集主要是 Stanford Drone[50],JAAD[51]和KITTI[52]跟踪数据集,Stanford Drone 是2016 年8 月提出的,由无人机在斯坦福校园各处俯拍的视频和图像组成,包括行人、车辆和滑板车等各类型的智能体,是当前最流行的数据集之一,数据规模包括了8 个场景,19 000 个目标,185 000 条含有标签的互动信息。 JAAD 主要记录十字路口的车辆和行人轨迹,从240 h 的行驶记录中,提取346 个5~10 s 的视频片段。 KITTI 主要包括21 个训练序列和29 个测试序列,其中的标签不仅包含了行人的轨迹坐标还有2D 边界框信息以及GPS 位置。
3 评估指标
智能体轨迹预测的评估指标有很多,在文献[53]中有其他轨迹预测指标的详细介绍,下面只介绍关于行人和车辆轨迹预测的常用指标。
3.1 行人轨迹预测评估指标
行人轨迹预测的评估指标主要包括平均位移误差(Average Displacement Error,ADE)和最终位移误差(Final Displacement Error,FDE)。
ADE 代表在整个预测时间内每一个行人的预测位置与真实位置欧式距离之差的平均值,即:
式中,n为轨迹数量;Tpred为预测的最大帧;Tobs为观测到的帧;Dij为第i条轨迹在第j个位置处,预测轨迹的位置与真实轨迹位置之间的欧式距离:
FDE 表示t时刻预测的最终位置与真实位置之间的欧式距离差值:
3.2 车辆轨迹预测评估指标
车辆轨迹预测的评估指标主要包括平均绝对误差(Mean Absolute Error,MAE)和均方根误差(Root Mean Squared Error,RMSE)。
MAE 主用于衡量预测误差et的平均值大小,RMSE 是测量预测误差平均值的平方根,即:
式中,n为轨迹数量;et为预测轨迹与真实轨迹之间的位移误差。 MAE 与RMSE 是回归问题中最常见的2 个指标,作用大致相似。 与MAE 相比,RMSE 由于使用了平方误差,因此对较大的预测误差比较敏感。
3.3 性能评估
在轨迹预测领域,预测轨迹常用的数据集是ETH 和UCY 数据集。 虽然后期也有学者提出关于轨迹预测的大型数据集,但由于先前的方法在这些数据集上验证缺乏实验数据,因此本小节主要归纳部分轨迹预测经典模型在ETH 和UCY 数据集上的性能,如表2 所示。
表2 各轨迹预测方法在ETH,UCY 数据集上的性能Tab.2 Performance of trajectory prediction methods on ETH and UCY datasets
从表2 可以看出,在2 个主流的数据集上,基于深度学习的轨迹预测方法在精度上远远比传统的方法预测效果要好。 基于Trajectron++的性能最为显著,该方法的ADE 值和FDE 值达到了0.19 和0.41,比以Social-Ways 为首的生成式网络有了显著的提升。 基于图网络的轨迹预测方法发展较为迅速,从S-RNN 时期性能为传统方法的2 倍到Social-STGCNN 已经超过了Social-Ways 性能,在ETH 和UCY 数据集上优于现有模型,并可以从很少的样本中学习数据的特征。 因此,如果能够设计较好的损失函数以及网络结构,基于深度学习的轨迹预测方法可以更好地预测出智能体的轨迹。
4 结论与展望
主要对全文进行总结,概括基于深度学习的智能体轨迹预测的优缺点和未来的发展方向。
4.1 总结
在过去的十年中,由于传统的轨迹预测方法仅适用于简单场景和短期预测,而基于深度学习的方法可以在更长的时间范围内进行准确预测,所以轨迹预测的研究已经从基于物理的方法转向基于深度学习的方法。 本文主要研究了基于深度学习的轨迹预测方向的文献,将行人和车辆的轨迹预测文献以模型的形式进行分类介绍,并进行总结。 智能轨迹预测的发展吸引了越来越多的学者,但仍面临着各种挑战,本文也概述了未来轨迹预测研究的潜在方向,以供读者阅读。 “预测是困难的,尤其是对未来某一时段的预测”[54],这句话也适用于智能体的轨迹预测,基于深度学习的方法明显优于传统轨迹预测模型,也表明了当今人工智能的发展非常迅速,随着技术的更新以及算法性能的提高,智能轨迹预测一定能迎来一个新的时期。
4.2 展望
近些年来,轨迹预测正朝着复杂的预测方向发展。 目前人工智能领域主要使用深度学习处理智能体的轨迹预测问题,以便更好地估计真实数据与上下文之间的关系。 主要从算法、数据集和评估指标进行展望,轨迹预测在未来将有以下几个方向:
① 算法:目前的算法通过输入高清图像、考虑智能体之间交互的相关因素,以此生成符合智能体意图的多模态轨迹从而实现高精度。 然而,大多数方法都是在特定的场景,如十字路口、高速公路和无信号的环形交叉口等,但智能体的行驶场景多种多样,未来应该开发一种能够适用各种环境且具有鲁棒性的模型来预测智能体的轨迹。
② 数据集:当前的智能轨迹预测数据集的应用场景大多是采用俯瞰视角的道路交通场景,这种数据集不能够支撑实际的应用。 除了要考虑智能体之间的交互、场景信息、智能体的状态,还应将道路规则纳入数据的输入中。 然而当前的智能轨迹预测没有一个统一的基准,这就决定了基于深度学习方法下的轨迹预测模型很难与其他方法做一个比较,一个好的轨迹预测模型必须要综合利用不同的信息,因此创建一个信息完备(各种视角、场景结构和轨迹信息等)的用于轨迹预测的基准数据集是有必要的[46]。
③ 评估指标:除了常用的评估指标外,还应考虑概率度量和算法的效率、算法的计算时间,提高模型的可信度。