1.1.1 基本概念
当我们参与交通的时候, 通常会观察并猜测周围的交通参与者的行为, 比如说猜测对方是否会加速,变道等等. 基于这些猜测, 我们会进一步采取行动(比如减速避让)来避免潜在的危险. 对于自动驾驶系统, 预测其他交通参与者的行为, 由轨迹预测模块完成.
如上图所示, 轨迹预测的结果受到很多因素的影响:
交通参与者的数量和种类 (车辆, 自行车, 行人等) 交通参与者的相互影响 (Inter-dependencies between Vehicles, 即车辆之间 或者是车辆和行人之间的相互影响) 交通参与者与环境的相互影响 (图中红绿灯对参与者的影响等) 历史信息 (自车, 参与者过去的行为信息) 观测的不确定性 计算资源的多少
1.1.2 轨迹预测方法分类
轨迹预测的方法, 大体可以分为这样几类:
1.1.2.1 基于物理学的预测方法
主要是指基于车辆的物理学来进行预测的方法, 包括基于车辆动力学模型, 车辆运动学模型. 动力学模型的预测方法可能会非常复杂, 但是对于预测方法来说, 复杂的动力学模型带来的效果提升非常有限. 在大部分情况下, 简单的运动学模型(通常使用自行车模型)即可满足预测需求.
基于物理学的预测是最早被使用, 同时也是最简单的预测方法. 主要的方法有:
恒速度预测方法 恒加速度预测方法 恒转向速度预测方法 …
1.1.2.2 基于经典机器学习的预测方法
经典机器学习是采用数据驱动的预测方法, 主要通过挖掘数据特征来确定概率发布. 主要的方法有:
高斯过程(Gaussian Process) 支持向量机(SVM) 隐马尔科夫过程(HMM) 动态贝叶斯网络(Dynamic Bayesian Network)
1.1.2.3 基于深度学习的预测方法
在深度学习逐渐占据主流之后, 基于深度学习的预测方法也成了学界和业界最主流的预测方法.
因为深度学习不仅能考虑目标和环境的物理信息, 还能考虑到他们之间的交互信息, 这极大的提升了预测结果的质量. 这也是本课程主要讲解的预测方法, 主要有以下分类:
卷积神经网络(CNN) 循环神经网络(RNN) 图神经网络(GNN) 注意力机制
1.1.2.4 基于强化学习的预测方法
强化学习的预测方法一般是用来生成自车的预测轨迹, 大部分方法都基于马尔科夫过程(MDP)来最大化累计期望收益. 强化学习的预测方法能够更深入的考虑自车与目标的交互过程, 但是需要高昂的计算成本和训练时间.
逆强化学习(IRL) 深度逆强化学习(DIRL)
1.2 输入和输出定义
轨迹预测问题可以表述为: 给定场景信息, 基于交通参与者的历史状态, 预测他们未来的状态. 不管是基于物理学的方法, 还是基于深度学习, 强化学习的方法, 轨迹预测的输入输出大体都是类似的.
本节将定义轨迹预测的输入输出.
1.2.1 轨迹预测的输入
agent指交通参与者, 可以是预测目标本身, 也可以是预测目标附近的交通参与者.
首先我们将第个agent在时刻的状态, 定义为:
状态包括:坐标, 速度, 航向角等等状态信息
agent的历史状态信息
第个agent的历史信息, 可以定义为:
代表历史时间步长, 代表当前时间之前时间步长的状态, 代表当前时间的状态.
地图信息: lane
如果我们将折线定义为一组向量, 其中第个线段的首末点构成向量:
那么lane可以定义为:
分别代表中心线, 左边界和右边界对应的向量.
代表lane的属性:直行, 左转, 右转等等
代表lane的最高限速
也可以加入lane的曲率等其他信息
地图信息: 特殊区域
地图存在一些特殊的区域, 比如说人行道crosswalk, 禁停区等等, 可以用多边形(n个)表达边界:
这样我们可以定义特殊区域为:
地图信息: 红绿灯
t时刻的红绿灯信息定义为:
是指红绿灯的位置
指红绿灯的状态: 红灯, 绿灯, 黄灯等等
1.2.2 轨迹预测的输出
预测轨迹
一般而言, 轨迹预测会输出一条或者多条时间序列下的离散点集, 也就是轨迹. 当输出轨迹不止1条时, 称之为多模态. 如图目标车辆有红色和绿色两条预测轨迹:
将第个agent的第条预测轨迹定义为:
代表预测轨迹的时间步长数.
意图
有一些预测方法, 也可以输出目标的行为意图(intention), 比如说cut-in,换道等.
参考论文:
Huang, Yanjun, et al. "A survey on trajectory-prediction methods for autonomous driving." IEEE Transactions on Intelligent Vehicles 7.3 (2022): 652-674.