将复杂的车辆运动转化为车道转换序列,从而减少场景数量、更快地进行预测;然后使用现有观测值以车道序列表示,训练神经网络来进行预测;最后将车道序列预测与车辆物理结合起来,为每个物体生成估计的轨迹。运动预测对于在规划中构建无碰撞的安全路径至关重要。
1.预测
无人车需要预测周围移动物体的行为,确保做出最佳决策。通过生成预测路径预测其他物体的行为,在每一个时间段内会为每一辆汽车重新计算预测他们新生成的路径,这些预测路径为无人车在规划阶段做出决策提供了必要信息。
预测路径要求:
- 实时性,是指算法的延迟越短越好,一辆车如果是 60 千米/小时速度,那么它在每0.25 秒会行驶 5 米,所以需要确保无人车在行驶之前,前方5 米没有任何障碍物并且可以安全地穿行。
- 准确性,如果预测出相邻多车道的汽车想并入智能车所在车道,就需要减速,另一种情况是如果预测它会保持在自己的车道上行驶。做出的预测需要尽可能保持准确,这样才能使无人车做出很好的决策。
预测模块也应该能够学习新的行为,当路上有很多车辆,情况将变得复杂。预测模块能够学习新的行为,用这种方式可以使用多源的数据进行训练,使算法随着时间的推移而提升预测能力。
2.预测方式
基于模型预测
对于当前物体可能的运行状态分别建立预测模型,继续观察物体的运动,与预测模型进行匹配,更匹配的模型将更倾向是物体将来的运动状态。这就是基于模型预测方法的工作原理。
例如:对T型路口的白色汽车进行预测。用基于模型的方法可以为此场景构建了两个候选的预测模型。一个模型描述了进行右转弯,用绿色轨迹表示,另一个模型描述了继续直行,用蓝色轨道表示。认为任意一种模式发生的概率都是相同的。继续观察移动车的运动,看它与哪一条轨迹更加匹配,如果看到车辆开始向左改变车道,则更加确信车辆最终会直行;另一方面如果看到车在右转弯车道保持前行,则更加倾向于预测对车辆右转。
数据驱动预测
数据驱动预测使用机器学习算法,通过观察结果来训练模型,可以在现实世界中利用此模型去做出预测。
数据驱动方法的优点是训练数据越多,模型效果越好。
基于模型的方法的优点在于它的直观,并且结合了现有的物理知识以及交通法规还有人类行为多方面知识。
基于车道序列预测
Apollo 提供了一种叫基于车道序列的方法。
为了建立车道序列,首先将道路分成多个部分,每一部分都覆盖了一个易于描述车辆运动的区域。比如如图是一个部分区域的十字路口。为了预测,我们更关心车辆如何在这些区域内转换,而不是在某个区域内的具体行为。可以将车辆的行为划分为一组有限的模式组合并将这些模式组合描述为车道序列,例如直行汽车的运动可以描述为车道序列是 0-1-3-7。
使用车道序列框架的目标是为道路上的物体生成轨迹。
从预测车道线段之间的过渡开始,汽车可能会在车道段0然后右转,或者转向1车道后直行。这样一来就将预测问题简化为选择问题。
预测目标车道:
接下来选择车辆最有可能采取的车道顺序,可以通过计算每个车道序列的概率来进行选择。
将车辆状态和车道段作为输入,该模型用于提供车辆可能采用每个车道序列的概率,希望模型能够学习新的行为因此应该使用观测数据对模型进行经验性训练,在训练中将真实的车辆行为提供给模型,不仅包括车道段和对象的状态,还包括对象最终选择哪条车道序列。记录随着时间的增加,模型可以自我迭代更新,精确度不断提升。每个记录将由观察对象跟随的车道段序列和对象的相关状态组成,在每个时间点,对象占用一段并具有特定的状态,整个记录由一系列车道段和对象的相关状态组成。
3.障碍物状态
无人驾驶汽车观察物体的状态,除了位置、速度、朝向、加速度之外,还需考虑车道段内物体的位置。例如预测模块会考虑从物体到车道线段边界的纵向和横向距离,还包含之前时间间隔的状态信息以便做出更准确的预测。
4.递归神经网络
递归神经网络RNN是一种利用时间序列数据特征的一种预测方法。
在训练的过程中会有很多训练数据输入模型,每一个数据都由原始的数据和对应的标签组成。神经网络从数据中学习的方式叫做后向传播,首先神经网络得到输入并产生输出,然后计算机比较输出与真值之间的误差。
接着这种误差通过后向传回到整个网络,中间的隐藏层根据观察到的这种差别调整其中的中间值或者叫权重,这样可以在未来提高神经网络的准确率。
建立像这样的多重结构的递归神经网络称之为 MLP单元,从数据序列中提取出高级特征,每个MLP单元将序列的一个元素作为输入并预测序列的下一个元素作为输出。为了对元素之间的顺序关系建立模型,在每个单元之间建立一个额外的连接,这意味着每个单元根据原始输入和前一个单元的输出进行预测,这 RNN的基本结构。
RNN在目标车道预测的应用
Apollo使用RNN建立一个模型来预测车辆的目标车道,为车道序列提供一个RNN模型,为相关对象状态提供另一个RNN模型。连接这两个RNN的输出并将它们馈送到另一个神经网络,该神经网络会估计每个车道序列的概率,具有最高概率的车道序列是我们预测目标车辆将遵循的序列。为了训练这个网络,使用现有的记录,每条记录都包含一个车道序列、相关的对象状态、一个标签,用于指示对象是否遵循此特定车道序列。在训练中,比较网络输出和真值标记并使用反向传播来训练网络。
5.轨迹生成
轨迹生成是预测的最后一步,预测到物体的车道序列,就可以预测物体的轨迹。
在任何两点A和B之间,物体的行进轨迹有无限的可能。可以先通过设置约束条件来去除大部分无法实际执行的候选轨迹,例如考虑车辆当前的速度和加速度。
在数学理论上来实现列出物体所有可能的轨迹,注意车辆在两点的位置和方位,这两个姿势表示运动模型的初始状态和最终状态,可以使用这两个条件来拟合一个多项式模型,在大多数情况下这种多项式足以进行预测。