无人驾驶中的预测模块-Apollo中Prediction模块(1)中谈到了无人驾驶预测的方法有两种:基于规则的预测算法和基于机器学习的预测算法,今天来看看基于递归神经网络(RNN)的目标车道预测。什么是递归神经网络(RNN)神经网络是可训练的多层模型,它通过输入层输入数据,并经过中间层提取高级Feature,并使用这些Feature计算得到最终的结果。
神经网络从数据中学习的方法叫后向传播,首先神经网络得到输入,并产生输出,然后比较GroundTruth与输出的误差,然后这种误差通过网络反向传播,中间隐层根据误差调整网络权重,以便在下一次传播中提升神经网络的准确率。
我们可以建立多重递归的神经网络模型(MLP),从数据序列中提取高级特征。每个MLP单元将序列的一个元素作为输入,并预测序列的下一个元素作为输出,为了对元素之间的顺序关系建立模型,在每个单元之间建立一个额外的连接,这意味着每个单元根据输入和上个单元的输出做预测。这就是RNN的基础结构。
基于递归神经网络的目标车道预测Apollo中使用RNN来预测车辆的目标车道。它为车道序列提供一个RNN模型,为障碍物提供另一个RNN模型,Apollo连接这两个RNN的输出,并且将它们的反馈输入另一个神经网络,该网络会估算每个车道序列的概率,具有最高概率的序列就是我们预测目标车辆将遵循的序列。
为了训练这个神经网络,我们比较网络输出和真值,使用反向传播来训练网络,
轨迹生成轨迹生成是预测的最后一个步骤,一旦我们预测了车道序列,就可以生成车辆的预测轨迹。物体的运动轨迹有无限可能,我们怎么预测最可能的轨迹呢?我们可以通过设置约束条件来过滤候选轨迹,比如移除掉车辆无法实际执行的轨迹,以及车辆的速度和加速度移除非舒适的轨迹等等。
领取专属 10元无门槛券
私享最新 技术干货