张峻峰
(重庆交通大学机电与车辆工程学院,重庆400074)
主题词:智能车 轨迹预测算法 十字路口 换道
缩略语
CNN Convolutional Neural Networks
DNN Deep Neural Networks
LSTM Long Short-Term Memory
RNN Recurrent Neural Network
MDN Mixture Density Networks
POMDP Partially Observable Markov Ddecision Processes
UKF Unscented Kalman Filter
IaKNN Interactive apperceive Kalman Neural Network
VBIN Vehicle Behavior Interaction Network
GISNet Graph Information Sharing Network
STLSTM Space Time Long Short-Term Memory Model
V-LSTM Very Long Short-Term Memory
CS-LSTM Cuckoo Search Long Short-Term Memory
MATF Multi Agent Tensor Fusion
NMP Neural Motion Planner
自上世纪80年代中期以来,自动驾驶技术一直是汽车制造商、大学和研究机构的研发工作重点,许多公司已经在不同类型的汽车上开发了自动驾驶汽车技术。完整的无人驾驶系统仍处于高级测试阶段,但部分自动驾驶系统在过去几年已经出现在汽车行业[1],这些部分自动驾驶系统提高了安全性、舒适性、运输时间和能源消耗,目标是SAE级别达到L4级或更高。
IEEE通信协会的研究表明,超过90%的交通紧急情况是由人为失误造成的[2]。随着车辆未来轨迹预测技术的发展,自我车辆可以及时了解附近的车辆和交通状况,从而有足够的时间做出适当的决策,准确可靠的未来车辆轨迹预测算法可以提前发现潜在的碰撞,降低车辆碰撞风险[3]。预测周围车辆的运动尤其困难,因为在一个场景中通常有多个交互主体[4],驾驶行为是多模态的,例如:从一个共同的历史轨迹,可能会出现几个不同的未来轨迹。自动驾驶汽车还必须在涉及人员(自身乘客、其他司机或行人)的安全与选择到达目的地的有效速度之间找到平衡,同时不干扰现有交通。
本文收集了当前最新的主要研究机构对智能车轨迹预测方面的研究成果,并根据应用场景对算法进行分类,总结算法的优缺点,提出了未来的发展方向。第2章分为3个部分,第1部分总结并分析基于十字路口场景的轨迹预测算法,第2部分总结并分析基于换道场景的轨迹预测算法,第3部分总结并分析基于其他场景的轨迹预测算法;第3章对本文进行总结,并在算法和传感器2个方面提出未来的研究方向。
Lefevre等[5]将车辆轨迹预测模型分为物理模型、机动模型和交互感知模型,假设车辆行为仅依赖于物理定律的预测模型称为物理模型;基于预期机动预测车辆行为的模型称为机动模型;考虑车辆间交互的高级模型称为交互感知模型。预测车辆轨迹的场景是多样性的,例如:换道、T形路口、汇流和十字路口场景,不同的轨迹预测场景对于预测车辆的轨迹有不同的挑战,而目前大部分车辆轨迹预测的算法都应用于换道与十字路口场景下。因此,本文提出1种基于交通场景的车辆轨迹预测算法分类方法:基于十字路口场景、基于换道场景、基于其他场景。
十字路口有很多行人、汽车、自行车和其它交通工具,十字路口是事故多发地带,随着无人驾驶技术的发展,十字路口处的车辆轨迹预测技术就显得尤为重要。近年来,神经网络越来越受欢迎,神经网络的优势在于,在给定相关且数量充足的训练数据的情况下,能够学习重要的特征。因此,Cui等[6]提出1种基于深度卷积神经网络(Convolutional Neural Net⁃works,CNN)的自主驾驶多模态轨迹预测方法,将车辆的环境编码成栅格图像作为CNN的输入,CNN输出车辆的预测轨迹,该方法将图像作为输入而没有历史轨迹以及车辆速度的信息,有可能造成轨迹预测误差,网络结构如图1。Sergio Casas等[4]提出了1种新的深度神经网络(Deep Neural Networks,DNN),包括1个探测器和预测器,探测器检测激光雷达传感器产生的三维点云图和环境的动态地图作为预测器的输入,预测器输出车辆的驾驶意图和预测轨迹,将其轨迹参数化为一系列的边界框,包括当前和未来的位置,该方法相比各自单独模块具有更高的准确性,但也相应的增加了算法的计算时间,在权衡利弊的情况下该方法是更好的选择。Luo等[7]提出1种基于单个CNN的车辆轨迹预测方法,该方法输入激光雷达传感器探测的数据,使用CNN提取车辆的运动特征,然后添加2个卷积层来预测车辆的轨迹,试验结果表明该方法对路径上的遮挡和稀疏数据有很高的鲁棒性。
图1 自主驾驶多模态轨迹预测网络结构[6]
长短期记忆网络(Long Short-Term Memory,LSTM)是1种特殊的循环神经网络(Recurrent Neural Network,RNN),主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。因此,Ma等[8]提出了1种基于LSTM的实时轨迹预测算法—TrafficPredict,该方法使用实例层来学习车辆的移动和交互,并使用类别层来学习属于同一类型车辆的相似性,以细化预测的车辆轨迹。该方法具有一定的局限性,该算法的精度会根据交通状况和过去轨迹的持续时间而变化。
单一神经网络可能具有一定的缺陷,因此有些研究人员使用混合的神经网络方法来预测车辆的轨迹,例如:Alex Zyner等[9]提出了1种基于多模态概率解的轨迹预测方法,该方法使用循环神经网络(RNN)结合混合密度网络(Mixture Density Networks,MDN)来实现车辆轨迹预测,再通过聚类算法从1组可能轨迹中选择出1条最有可能的轨迹,试验结果表明该方法具有很好的轨迹预测性能和很高的轨迹预测精度,网络结构如图2。Marcel Schreiber等[10]提出1种激光雷达网格融合和RNN结合的方法,场景的鸟瞰图(包括占用率和速度)作为1个序列输入到RNN,训练RNN来预测车辆的未来轨迹,该方法相比之前的研究使用了更少的参数,但得到了更好的预测结果。
图2 RNN和MDN结合的网络结构[9]
除了将神经网络用于预测车辆的轨迹,还出现了一些其他方法用于预测车辆的轨迹,例如Constantin Hubmann等[11]提出了1个在线的(Partially Observable Markov Decision Processes,POMDP)框架结合道路模型和车辆状态来预测车辆的轨迹,根据与自车可能发生碰撞的时间来改变自车的加速度,该方法需要获得其他车辆的信息(如:速度、加速度),传感器存在的测量误差可能造成轨迹预测误差。Li等[12]提出了1种基于概率轨迹预测的条件生成神经系统(CGNS),其中包含1个带有环境注意机制的深度特征提取器(DFE)和1个生成式神经采样器(GNS),DFE从一系列历史图像和多个交互主体的轨迹中提取特征作为GNS的输入,GNS利用深度潜变量模型和变分发散最小化方法,生成1组可行的未来轨迹,试验结果表明该方法相比其他几种算法(例如CVM、S-LSTM等)具有更高的轨迹预测精度,网络结构如图3。李暾等[13]提出1种基于深度置信网络和SoftMax(DBN-SoftMax)轨迹预测方法,车辆的历史轨迹作为输入训练DBN-SoftMax网络输出车辆的未来轨迹,并使用权重聚类对结果进行优化,该方法在拓扑结构复杂的路网中也能得到更好的预测精度。Zeng等[14]提出了1种神经运动规划器(NMP),输入原始激光雷达数据和高清地图,输出一系列车辆的预测轨迹,选择代价最小的1条轨迹,该方法需要提高原始激光雷达数据的精确度,来确保轨迹预测的准确性。基于十字路口的轨迹预测算法总结如表1,根据算法的类别将算法分为单一神经网络、混合神经网络和其他方法3部分。
图3 条件生成神经系统结构[12]
表1 基于十字路口的轨迹预测算法
车辆在变道场景也经常发生交通事故,当自动驾驶技术应用到交通道路上时,由于传感器数据存在一定的误差,有可能导致智能车在换道时容易发生交通事故,因此在换道场景下的车辆轨迹预测技术可以有效地提高车辆反应时间,从而减少交通事故的发生。很多学者将改进的卡尔曼滤波方法用于预测车辆的轨迹,例如张一鸣等[15]提出考虑驾驶意图与基于车辆运动模型的方法,将车辆意图定为保持和换道2种,结合无损卡尔曼滤波(Unscented Kalman Filter,UKF)预测车辆轨迹,该方法有效地提高了轨迹预测的预测精度和稳定性。Ju等[16]提出了1种多层结构的交互感知卡尔曼神经网络(Interactive apperceive Kalman Neural Network,IaKNN),其中交互层将环境观测数据分解为交互感知的加速度,运动层将加速度转换为轨迹,卡尔曼滤波网络预测未来轨迹,该方法融合了动态信息和交互感知数据,有效地提高了预测性能,网络结构如图4。
图4 IaKNN网络结构[16]
由于神经网络具有可以学习特征的优势,很多学者使用神经网络来预测车辆的轨迹,例如Mostafa等[17]提出1种基于CNN的轨迹预测方法,将车道和车辆检测图像作为输入,CNN网络输出车辆的预测轨迹,该方法的输入是图像或视频,而未考虑的环境不确定性会对预测结果造成影响。Ding等[18]提出了1种基于RNN的车辆行为交互网络(Vehicle Behavior Interaction Network,VBIN)预测车辆轨迹,该方法采用RNN对车辆观测状态进行编码,编码结果作为VBIN的输入进行车辆轨迹预测,该方法在规划中考虑长期的未来回报,延长了预测范围。
为了解决长序列训练过程中的梯度消失和梯度爆炸问题,使用LSTM来预测车辆轨迹的方案备受关注,例如温惠英等[19]提出1种基于生成对抗网络的车辆轨迹预测模型,该模型采用了LSTM的编码器-解码器结构,将车辆历史轨迹输入给编码器,由解码器预测车辆的未来轨迹,该方法选择不同的预测时长,在考虑计算速度和精确度方面选择了最合适的预测时长,还需要提高预测精度。Deo等[20]提出了1种基于交互感知的LSTM模型,它将车辆的历史轨迹和车道结构作为输入,LSTM模型输出车辆的预测轨迹,网络结构如图5。Deo等[21]后续提出1种改进的LSTM模型,该模型使用卷积社会池作为社会池的改进,将车辆的历史轨迹作为输入,输出是预测轨迹的概率分布,该方法纯粹依靠车辆的轨迹来推断机动类别和未来的轨迹,许多互补的信息可以通过视觉捕捉,网络结构如图6。Dai等[22]提出了1种基于LSTM的时空轨迹预测模型(Space Time Long Short-Term Memory Model,STL⁃STM),在LSTM模型中嵌入空间相互作用,并在2个连续LSTM层的输入和输出之间增加快捷连接来处理梯度消失,该方法通过在2个连续LSTM层之间引入快捷连接,解决了LSTM梯度消失的问题。
图5 交互感知的LSTM模型结构[20]
图6 改进的LSTM模型结构[21]
单一神经网络可能具有一定的缺陷,因此有些研究者使用混合的神经网络方法来预测车辆的轨迹。Jeon等[23]提出了1种完全可扩展的轨迹预测网络SCALE-Net,SCALE-Net由基于EGCN-LSTM的交互嵌入层和基于LSTM-MLP的未来轨迹生成层组成,该研究的重点是预测模型的扩展性,但是该方法不能考虑道路结构,对轨迹预测精度会有一定影响。Mo等[24]提出了1种基于CNN-LSTM网络的车辆轨迹预测方法,使用LSTM编码器对车辆动力学进行编码,通过CNN提取车辆之间的交互,然后使用LSTM解码器预测车辆轨迹,该方法的局限性在于它设定周围有8辆车并且有3 s的历史轨迹,未来工作需要打破这一限制才能运用于实际问题。Xie等[25]提出了1种基于顺序模型的轨迹预测方法,该方法融合了CNN和LSTM 2个神经网络,基于历史轨迹数据,对未来30 s内的轨迹进行预测,该方法预测时间太长,会大大增加算法的计算时间,从而降低轨迹预测的准确度。
依赖图和其他新的方法来预测车辆的轨迹也成为新的研究方向,例如Zhao等[26]提出了1种新的基于图的信息共享网络(Graph Information Sharing Network,GIS⁃Net),该网络学习目标和相邻车辆之间的轨迹特征,使用LSTM对历史轨迹进行编码,然后输出车辆的预测轨迹,该方法与其他几种方法(如:Very Long Short-Term Memory,V-LSTM)作比较,在降低预测误差上取得了更好的结果,网络结构如图7。Li等[27]提出1种基于图的轨迹预测方法,该方法使用图来表示对象之间的相互作用,用多个卷积块来提取特征,然后使用编码器-解码器LSTM模型预测车辆的轨迹,试验结果表明该方法相比(Cuckoo Search Long Short-Term Memory,CSLSTM)运行速度提升了5倍,运行速度的提升很可能会影响预测的精确度,需要在2者之间取平横。Zhao等[28]提出1种多智能体张量融合(Multi Agent Tensor Fu⁃sion,MATF)网络模型,该模型将过去轨迹和场景编码为1个MATF,再对未来轨迹进行周期性解码,利用对抗性损失来学习随机预测,该方法结合了上下文约束、道路结构以及车辆交互信息,所以确保了该方法的预测精确度,输入的信息量又导致了预测时间的增加。Zeng等[14]提出了1种神经运动规划器(Neural Motion Planner,NMP),输入原始激光雷达数据和高清地图,输出一系列其他车辆的预测轨迹,选择代价最小的1条轨迹,该方法需要提高原始激光雷达数据的精确度,来确保轨迹预测的准确性。谢辉等[29]提出了基于交通场景特征辨识的轨迹预测方法,输入雷达采集的车辆运动轨迹,采用基于车辆运动模型和Markov决策过程,预测车辆的运动轨迹,该方法在基于实车试验的情况下,能够在确保预测误差的范围内,预测8 s内的车辆轨迹。基于换道场景的轨迹预测算法如表2,根据算法的类别将算法分为4个部分,分别为卡尔曼滤波、单一神经网络、混合神经网络和其他方法。
表2 基于换道场景的轨迹预测算法
图7 GISNet网络结构[27]
T型路口与十字路口相似,目前也有一些用于T型路口处的车辆轨迹预测方法,例如Ding等[30]提出了1种适用于复杂环境的在线2级轨迹预测框架,该框架第1级使用LSTM网络,并根据历史观察数据来预测车辆的未来轨迹,输出层被修改为softmax层;第2级是设置合理的代价函数来选择最优的预测轨迹,该方法的大部分时间消耗在了成本图上,解决在成本图上消耗时间长的问题可以有效提升预测效率,轨迹预测框架如图8。Zeng等[14]提出了1种神经运动规划器(NMP),输入原始激光雷达数据和高清地图,输出一系列其他车辆的预测轨迹,选择代价最小的一条轨迹。Brechtel等[31]提出了1种基于求解连续POMDP的方法,输入预测车辆的位置和速度,由POMDP输出预测的车辆轨迹,该方法解决了在遮挡情况下的信息融合问题,并有效地提高了预测模型的鲁棒性。车辆汇流时也容易发生交通事故,所以汇流场景的车辆轨迹预测也是很有必要的,因此,Deo等[20]提出了1种基于交互感知的LSTM模型用于汇流场景处的车辆轨迹预测,它将车辆的轨迹历史和车道结构作为输入,LSTM模型输出车辆的预测轨迹。基于其它场景的轨迹预测算法如表3,用于其他场景的轨迹预测算法比较少,主要是属于神经网络和其他方法2类。
表3 基于其它场景的轨迹预测算法
图8 在线2级轨迹预测结构[31]
为了在由人类驾驶员构成的复杂交通中安全高效地行驶,自动驾驶汽车需要具备主动能力,如决定何时变道、超车、减速或合流,这就要求自动驾驶汽车能够对周围车辆的未来运动进行推断。本文基于车辆轨迹预测的交通场景不同,对现阶段的车辆轨迹预测算法进行了分类,对本文的总结及其展望如下:
(1)车辆轨迹预测可以分为2种方式:一种方式是预测车辆的驾驶意图以及固定的轨迹实现轨迹预测的目的,另一种方式是直接预测车辆的实际连续轨迹。
(2)目前大部分车辆轨迹预测算法是输入车辆的历史轨迹以及道路结构,使用神经网络等方法来预测车辆的轨迹;还有一部分人使用其他方法来预测车辆的轨迹,这些方法主要是利用鸟瞰图和激光雷达等传感器数据来预测车辆轨迹。
(3)预测车辆轨迹需要车辆的位置、速度信息,智能车获取信息是通过各种传感器,所以传感器的发展需要从降低成本以及提升传感器的感知精确度2方面考虑。传感器的精度需要从鲁棒性、检测精度方面考虑,目前激光雷达的检测精度可以达到厘米级别,但是对于自动驾驶L5级,需要激光雷达的检测精度达到毫米级别。
(4)未来真正实现L5级自动驾驶时,交通事故责任的承担问题是阻碍自动驾驶汽车上路的最大瓶颈,所以政府需要出台相关的法律政策和交通规则来支持自动驾驶的实现。
(5)研究基于马尔可夫决策过程的车辆轨迹预测方法,只需根据车辆的当前状态(位置、速度、加速度)和环境信息来预测车辆的轨迹,可以有效降低车辆轨迹预测算法的复杂度,是未来发展趋势。