自动驾驶:轨迹预测综述

轨迹预测的定义

轨迹预测问题可以表述为在给定的一个场景下,使用交通参与者的历史状态预测估计其未来状态。历史状态可以来自于车端或路端,状态信息一般包括交通参与者的位置,也有可能包括速度、加速度、朝向角等信息。场景信息一般包括车辆运动学(或动力学)、路侧信息(地图、交通信号灯、交通规则等)和交通参与者之间的交互信息等因素。
轨迹预测的输入是一系列具有历史时间信息的交通参与者状态。
轨迹预测的输出是一系列具有未来时间信息的交通参与者状态,一般有三种形式:单模态(Unimodal)、多模态(Multimodal)和意图(Intention)。

  • 单模态是指一个或多个交通参与者的一个未来轨迹;
  • 多模态是指一个或多个交通参与者的多个未来轨迹;
  • 意图可以是最终输出的一部分,也可以是一个中间过程,提供了交通参与者的轨迹意图。

轨迹预测的分类

基于物理的方法(Physics-based)

基于物理的方法是借助于车辆的运动学模型或动力学模型,使用单一轨迹预测、卡尔曼滤波或蒙特卡罗的方法对其轨迹进行预测。虽然简单高效、计算复杂度低,但是其预测精度相对较低,一般仅适用于短期预测(不超过1s),但基于学习的方法通常可以考虑融合基于物理的方法进而提升预测精度。

  • 单一轨迹预测:该方法认为车辆状态是已知且无噪声的,使用匀速、匀加速度或匀角速度和加速度等模型对车辆的状态进行预测,此方法虽然简单高效,但未考虑路侧信息以及状态的不确定性,不适合于长期轨迹预测。
  • 卡尔曼滤波:该方法将车辆状态的不确定性(噪声)考虑在内,并认为噪声呈高斯分布,通过不断地迭代预测车辆状态的平均值和方差。此方法虽然考虑了状态的不确定性,但简单地认为噪声呈高斯分布是不可靠的,一些学者也提出了多模态轨迹预测的卡尔曼滤波、考虑交互因素的卡尔曼滤波等方法。
  • 蒙特卡罗:此方法可以对交通参与者的状态分布进行模拟,它对历史状态输入进行随机采样,利用物理模型(动力学、运动学模型)对未来状态进行估计,其中的历史状态可以是已知且确定的,亦可以是由估计算法得到的不确定的。

基于机器学习的方法(Classic Machine Learning-based)

基于机器学习的方法是应用数据驱动的模型来预测轨迹,例如高斯过程(Gaussian Process)、支持向量机(Support Vector Machine)、隐式马尔可夫链(Hidden Markov)、动态贝叶斯(Dynamic Bayesian)、K近邻(K-Nearest Neighbors)、决策树(Dynamic Tree)等等。此类方法利用经典机器学习的分类与回归方法对交通参与者的轨迹与意图进行学习与预测,相较于基于物理的方法,它可以更好地融合路侧、交互等场景信息,预测精度得以提升,但此方法针对复杂场景可能束手无策。

基于深度学习的方法(Deep Learning-based)

基于深度学习的方法一般针对历史状态的输入,进行特征提取,再通过回归来预测未来状态输出。例如循环神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional Neural Network,CNN)、基于Transformer的注意力网络(Attention Network based on Transformer)、图神经网络(Graph Neural Network,GNN)以及生成式网络(Generative Adversarial Network,GAN)等。此方法已经成为研究的主流方向,并达到了SOTA水平,相较于基于物理、机器学习的方法,基于深度学习的方法可以预测更长时间的状态。

  • 循环神经网络:它与有效处理空间信息的卷积神经网络不同,循环神经网络被设计用来处理时间信息,它存储每一步时间信息,利用隐藏状态和历史轨迹的特征输入来预测未来轨迹的输出。当时间步数较大时,循环神经网络容易发生梯度爆炸。使用门控循环神经网络(Gated RNN)可以解决此问题,例如长短期记忆网络(Long Short Term Memory Network,LSTM)和门控循环单元(Gated Recurrent Unit,GRU)。
  • 卷积神经网络:由于轨迹具有很强的时空连续性,部分学者认为使用CNN预测会更好。它们采用序列到序列的结构,以历史轨迹为输入,在全连接层之后叠加卷积层实现时间连续性,再通过全连接层输出未来轨迹。实验表明,基于CNN的模型运行速度更快。
  • 卷积循环神经网络:卷积神经网络适用于提取空间信息,循环神经网络适用于处理时间信息,一些学者将两者联合在一起进行建模。
  • 注意力网络:随着Transformer在计算机视觉和自然语言处理的爆火,一些学者也将Transformer的编码器与解码器应用到轨迹预测中,首先历史状态作为编码器的输入,object query作为未来状态与历史状态的编码输出交互,得到最终的预测轨迹。实验证明此方法在长时序的预测任务中表现良好,不仅方便轨迹序列的建模,也方便对环境和交通参与者之间的交互进行建模。
  • 图神经网络:每一个交通参与者被认为图中的一个节点(node),每一个节点通过边(edge)与其他节点相关联。因此图神经网络方便对交互信息进行建模,典型的方法主要有图卷积网络和图注意力网络。
  • 生成式网络:为了解释轨迹预测的多模态属性与不确定性,一些学者提出使用生成式网络来预测轨迹,包括生成对抗网络(Generative Adversarial Network,GAN)和条件变分自动编码器(Conditional Variational Auto Encoder,CVAE)。

基于强化学习的方法(Reinforcement Learning-based)

传统的强化学习是基于马尔可夫决策过程(Markov decision process,MDP),利用与环境交互和人为设计的奖励函数,以最大化奖励为准则来得到最优的行为,基于强化学习的轨迹预测方法包括:逆向强化学习(Inverse Reinforcement Learning,IRL)、生成对抗模仿学习(Generative Adversarial Imitation Learning,GAIL)和深度逆向强化学习(Deep Inverse Reinforcement Learning,DIRL)等等。

  • 逆向强化学习:此方法是指奖励函数并非人为设计,而是根据专家演示学习一个奖励函数得到最优的行为进而对轨迹进行预测,逆向强化学习主要有基于最大化裕度和最大化熵两种优化方法来更新学习奖励函数的权重。最大化裕度的方法是通过最小化专家演示和预测轨迹之间的特征期望来更新奖励函数的权重,然而大多数基于裕度的方法在特征期望匹配方面是模糊的。而最大化熵的方法使用多个奖励函数来解释专家演示的模糊性。
  • 生成对抗模仿学习:此方法使用生成式网络GAN进行模仿学习,它利用GAN生成轨迹,使之与专家演示尽可能相近,再利用鉴别器判断是否此轨迹是一个专家演示。
  • 深度逆向强化学习:由于预测任务是非线性的,不同于逆向强化学习,深度逆向强化学习利用全卷积神经网络学习一个复杂的非线性奖励函数。目前,大多数DIRL算法可以直接利用原始传感器数据(图像、点云等)进行建模。

数据集/评价指标

关于轨迹预测数据集包括但不限于NuScenes、Waymo、Lyft Level 5、Argoverse、INTERACTION、HighD、Apolloscape、KITTI、NGSIM等。
评价指标:均方根误差(Root Mean Squared Error,RMSE)、负对数似然(Negative Log Likelihood,NLL)、平均位移误差(Average Displacement Error,ADE)、最终位移误差(Final Displacement Error,FDE)、错失率(Miss Rate,MR)、计算时间(Computation Time)、预测视野(Prediction Horizon)等。

猜你喜欢

转载自blog.csdn.net/weixin_43603658/article/details/132670890