自动驾驶汽车行为预测综述*
2022-10-08杨超
杨超
(重庆交通大学 机电与车辆工程学院,重庆 400074)
主题词:自动驾驶行为预测车辆轨迹预测行人轨迹预测复杂交通场景
缩略语
MPC Model Predictive Control
POMDP Partially Observable Markov Decision Processes
LSTM Long-Short Term Memory
RNN Recurrent Neural Network
Seq2Seq Sequence to Sequence
MDN Mixture Density Networks
DNN Deep Neural Networks
CNN Convolutional Neural Networks
GNN Graph Neural Networks
CGNS Conditional Generative Neural System
GRU Gate Recurrent Unit
GCN Graph Convolutional Networks
SGCN Sparse Graph Convolution Network
NMMP Neural Motion Message Passing
OGM Occupancy Grid Map
OPNet Occupancy Prediction Network
MCTS Monte Carlo Tree Search
PMP-NMMP Pedestrian Motion Prediction System Based On NMMP
VP-SLTM Vehicles And Pedestrians Trajectory Prediction Model Based On LSTM
ALAN A Lane Anchors
1 前言
近年,自动驾驶技术飞速发展,促进了感知技术的研究,目标检测、识别追踪等感知方面的技术也得到了快速发展。然而,随着自动驾驶技术研究迈向L5级,国内的自动驾驶车辆实现了固定场景或者相对复杂场景下的低速运用,如何实现自动驾驶车辆全场景任意速度运行的课题成为当前研究的热点。自动驾驶的行为预测技术便是实现这一愿景的核心挑战,因为只有自动驾驶车辆能像人类驾驶一样对周围目标(车辆、行人等)的意图和未来轨迹做出准确的判断,才能合理规划自身的运动轨迹,实现安全、平稳的导航。行为预测作为自动驾驶领域最具挑战性的研究方向,主要包含2个方面:车辆轨迹预测和行人轨迹预测。其最明显的特点就在于预测对象未来意图和行为的不确定性,即每个预测对象的未来动作主要受对象主观影响,导致就算是同一场景甚至是同一工作状态下不同的对象也会做出不同的行为决策,由于这种预测对象多模态决策的存在,使得本就复杂的轨迹预测问题变得更加复杂。
本文针对复杂交通场景下的自动驾驶车辆轨迹预测问题,综述近几年的相关研究成果,并且以复杂交通场景下的不同预测对象进行分类展开总结。文章第2章节主要对复杂交通场景进行了简要概述。文章的第3章节分为2个部分展开:
(1)总结了复杂交通场景下车辆在可观测和受遮挡情况下的轨迹预测的相关成果。
(2)总结了复杂交通场景下行人在可观测和受遮挡情况下轨迹预测的相关成果。
最后,第4章节进行总结并且基于当下领域的研究现状提出展望。
2 复杂交通场景概述
复杂交通场景的类型主要可以归为2大类:
(1)交通道路结构复杂的各种交叉口场景。
(2)车辆高速行驶的高速路段场景。
交叉口作为1种典型的复杂交通场景,因为其道路结构复杂存在较多冲突点以及交通参与者类型较多,所以在其发挥自身重要交通作用的同时也存在着十分严重的问题,据美国国家公路安全管理局的报告显示美国有超过四分之一的交通事故发生在交叉路口场景,其中在无信号灯交叉路口的事故率大约占到了50%。而针对高速路段场景,虽然自身的交通道路结构和交通参与者的类型没有交叉口场景那么复杂,但因为高速路段车辆机动速度快,所以相比于一般道路场景在车辆的变道、超车、汇流等特定场景下更加复杂,需要更快的反应速度和反应精度。所以针对复杂交通场景的特点对自动驾驶车辆的轨迹预测的准确性和效率提出了很高的要求。结合交通道路拓扑结构、交通参与者类型数量、参与者自身速度3个方面的特点,主要总结了6种典型的复杂交通场景:T形路口场景、十字路口场景、错位交叉路口场景、路口汇流场景、环岛场景、复杂混合路口场景,如图1所示。
图1 复杂交通路口场景
3 预测对象分类与算法总结
在本章中,将复杂交通场景中自动驾驶汽车的行为预测对象分为车辆轨迹预测、行人轨迹预测2类,在此基础上针对不同预测对象综述总结近年来的主要研究方法。
3.1 车辆的轨迹预测
车辆的轨迹预测,即是通过自动驾驶车辆自身所装配的各种传感器去准确检测周围车辆当前的位置、速度、运动方向等信息然后用于对其未来轨迹的预测。近年来对于车辆的轨迹预测方法主要分为2类:基于强化学习模型方法和基于神经网络的交互学习和社会感知方法。基于模型的方法运用适当学习算法达到在特定场景中运用的效果。基于博弈模型的方法近年常被用作智能车的轨迹预测,Li等针对交叉路口和高速路段场景提出了1种两人实时的动态博弈模型,运用分层预测思想,在考虑预测轨迹的成本和安全系数的基础上结合认知行为模型得出预测轨迹,Chandra等在单一博弈模型方法的基础上创新的将博弈模型与基于机器人学开发的1种可以通过传感器检测周围目标动作的GAMEPLAY方法结合,在通过用于行为建模和预测的CMMetric算法对周围车辆的CMetric值排序从而确定周围车辆的通行顺序以此来预测轨迹。以上2种基于博弈模型的方法都是针对2者之间的博弈,无法满足目标车辆较多场景的轨迹预测。Hang等针对这个问题,提出了1种基于模型预测控制(Model Predictive Control,MPC)建立联盟博弈方法,考虑不同交互驾驶行为的多车道合并场景的车辆协同轨迹预测问题,其核心思想是将多车道合并区域的车辆进行相互博弈,并且这种博弈是相互关联的,最终拓展成为整个局部区域的所有车辆的博弈,通过求解整体代价最小的方式去预测轨迹。此联盟博弈方法是1种传统两者博弈模型的拓展,能够应用于复杂场景下的多对象车辆博弈。除了基于博弈模型的轨迹预测外,Shu等针对交叉路口场景的左转问题提出了根据道路模型(图2),标记出关键转折点,在关键转折点处运用分层规划的思想,采用部分可观测马尔可夫(Partially Observable Markov Decision Processes,POMDP)架构将关键点处的轨迹问题分为高、低2个层次的路径预测,通过高层路径预测获得候选路径,再通过低层拟人思想获取最优预测轨迹。Bouton等在单POMDP方法的基础上提出新的利用效用融合的POMDP方法,通过先对每个目标单独计算最优状态,在融合获得全局最优状态,从而推断目标车辆的未来轨迹预测。
图2 基于ECT标准交叉口分层次预测规划方法[6]
基于神经网络的交互学习方法是近年来对于自动驾驶轨迹预测的主流研究方向。其中,基于深度学习的长短期记忆网络(Long-Short Term Memory,LSTM)及其变体近年来常被用于自动驾驶车辆的轨迹预测研究,LSTM网络作为循环神经网络(Recurrent Neural Network,RNN)的1种升级变体,因其具有门控装置,可以控制每一时刻信息的记忆与遗忘,对信息有了筛选保留的能力,可以进行长序列的信息处理,对于自动驾驶车辆轨迹的长期预测效果很好。Zeng等将轨迹预测问题转化为序列预测问题,通过将复杂交叉路口场景中的车辆轨迹进行序列化,提出了1种基于序列生成模型(Sequence to Sequence,Seq2Seq)结构,在时间图和空间图上运用LSTM网络获取预测车辆当前的位姿和关键交互信息。从而自动驾驶车辆提供更合理的轨迹预测。Han等针对高速公路交织区域的车辆变道场景,提出了注意力Seq2Seq网络,采用LSTM编-解码器进行目标车辆的变道轨迹预测,并结合注意力机制关注变道过程中的关键信息,其在长时期的变道轨迹预测中有明显的优势。但采用单一的LSTM神经网络用于预测轨迹仍有很多缺陷,所以有研究人员也提出采用混合神经网络去完善预测效果。Ji等提出LSTM网络的预测模型,模型由意识识别和轨迹输出模块组成。前者利用Softmax函数得出换道和车道保持的概率,在通过基于LSTM的编-解码器和混合密度网络(Mixture Density Networks,MDN)的输出模块输出包含轨迹被采用概率的多模态预测轨迹。Pan等提出了1种利用车辆历史运动和环境信息预测轨迹的深度神经网络(Deep Neural Networks,DNN),利用LSTM和注意力机制学习车辆意图和车辆位置变化,从而预测轨迹。Hsu等提出了1种结合卷积LSTM和深度卷积神经网络(Convolutional Neural Networks,CNN)的卷积-循环框架(CNNLSTM),通过检测周围车辆的尾部信号灯状态去预测车辆意图,例如通过检测到转向灯亮起,预测车辆将会进行转向,通过检测刹车灯亮起,预测车辆将会减速或停车,但由于其只对车辆尾部信号灯状态进行研究,不能满足多场景化需求。Frossard等在此循环框架中加入1种充分学习模型,利用空间和时间特征分类转向信号状态,通过判断不同运动方向(同向、反向)车辆信号灯状态预测车辆意图(图3)。Jeong等提出基于LSTM-RNN结构的运动预测器仅使用从传感器上采集的信息,在只考虑自身与周围车辆状态的前提下,将基于MPC得到的目标车辆的未来状态,作为车辆间相互作用的特征量输入基于LSTM-RNN的运动预测器去预测轨迹(图4)。
图3 卷积-循环网络框架[15]
图4 LSTM-RNN单步预测器框架[16]
此外,由于基于神经网络的多模态轨迹预测能够提供更长期的预测,近年来也常被用于自动驾驶车辆的轨迹预测研究,例如Cui等针对复杂交互场景提出的1种通过将周围车辆进行编码处理为光栅图像输入深度神经网络(CNN)中实现多模态的轨迹预测模型,并且这些预测轨迹都包含了对应的轨迹可能被采纳的概率值。Choi等提出的基于图神经网络(Graph Neural Networks,GNN)的跨模式框架,通过将多种传感器对同一目标的检测数据进行联合学习和优化获得预测轨迹。Li等针对高交互的复杂场景,提出了1种用于长时间轨迹预测的基于条件轨迹预测的条件生成神经系统(Conditional Generative Neural System,CGNS),此系统利用已有的数据库场景信息和实时检测数据预测周围多个高交互车辆的未来轨迹,联合2者并引入注意力机制对关键区域进行标注,生成多模态的预测轨迹。Kim等提出1种新的基于车道感知预测网络的轨迹预测模型(图5),区别于以前使用光栅图像作为输入,而是直接从语义地图中提取车道信息来进行轨迹预测,对所预测车辆、预测车辆周围的车辆和有清晰环境信息与目标车辆交互信息的车道3者之间的复杂关系进行捕捉,结合无监督学习模型通过设置的权重去确定最合理预测轨迹的车道,提高预测精度,最后基于在编-解码器结合周围环境生成多模态的未来轨迹。
图5 Lapred网络总体结构[20]
此外,针对自动驾驶车辆的传感器检测能力受周围环境的影响很大,常常出现由于周围环境遮挡、检测目标距离太远、天气能见度低等各种因素的影响无法对目标进行准确检测,从而导致漏检误检的情况发生,使得自动驾驶车辆无法对周围目标车辆作出正确预测。Ren等提出具有安全意识基于深度学习的社会感知神经网络模型(图6),用于预测最早占用地图(Occupancy Grid Map,OGM)对可见和不可见车辆占用的每个位置,确定其最早时间,用于描述车辆未来的运动。其本质目的是用于预测可能导致碰撞的危险轨迹,并且为了安全和准确,应使每个轨迹点的预计到达时间提前于实际到达时间,但在一定范围内。与之相似的Wang等提出的基于深度神经网络的占用预测网络(Occupancy Prediction Network,OPNet),通过利用环境信息学习先验知识来预测遮挡空间中对象分布的轻量级3维卷积网络。Sun等提出1种基于社会感知神经网络的社会凝聚力智能车轨迹预测方法,可以根据周围绝大多数与自车行为相似的车辆(相邻同向车道或同车道车辆)行为来调整自身行为,及周围大部分相关车辆进行什么行为,自己也进行什么行为,并且对于不同的场景算法还可以关注特定场景中的关键参数达到优化轨迹预测,例如高速场景下主要关注周围车辆的速度信息。
图6 U-Net轨迹预测网络框架[21]
除了以上基于模型和基于神经网络的轨迹预测方法以外,ALBRECHT和Li等提出了1种基于逆向规划的方法,主要通过检测周围车辆当前的动作来推断其在当前场景下的目标点(将要驶入的路口),在以目标点为基础来预测车辆的轨迹,同时采用蒙特卡罗树搜索(Monte Carlo Tree Search,MCTS)算法来规划自身轨迹,只不过Li等的方法区别于ALBRECHT等的最终获得预测轨迹是多模态的而非单独的最佳预测轨迹。Narayanan等提出了1个ALAN(A Lane Anchors)的预测框架,不再运用栅格图像和高精地图作为输入信息,创新的采用车道中心线为参考,输出具有强语义的环境感知数据,并且获得多模态的预测轨迹。
本小节总结了车辆在复杂交通场景中的轨迹预测算法并将算法分为基于强化学习模型的算法、基于神经网络的算法与其它算法3部分,见表1。
表1 复杂交通场景中的车辆轨迹预测算法
3.2 行人的轨迹预测
由于行人的运动具有高度的不确定性和多模态性,自动驾驶系统无法在有限的计算时间内做出反应,如果仅根据当前的行人状态去规划自身路径无法满足时效性并且还可能导致安全事故发生,所以行人轨迹的预测一直都是自动驾驶汽车发展面临的挑战之一。
目前,行人轨迹预测研究思路主要分为2类:
(1)基于模型的方法;
(2)基于神经网络和注意力机制结合的方法。
基于模型的方法有基于高斯过程模型、基于社会力模型等。Mínguez等提出了1种通过采集行人身体的关键部位特征比如肩部的信息,运用基于平衡的高斯过程动力学模型去预测行人轨迹。Rinke等在社会力模型的基础上,提出了1种多层次的道路使用者运动及其交互的描述方法,将行人运动目标点与可能轨迹分层讨论。通过先确定目标点在利用拉格朗日多项式依次估计其他轨迹然后在运用基于社会力模型的规避冲突策略进行轨迹选择,生成最佳预测轨迹。Yang等提出将社会力模型和行人走、停决策结合的改进社会力模型(图7),去预测行人未来2 s运动轨迹的终点的行人轨迹预测方法。但基于模型的方法对理论和场景的依赖性强,并且需要大量的数据去训练模型,所以近年更多的研究者还是致力于基于神经网络和注意力机制结合的方法,一般以RNN/LSTM/GRU等递归神经网络及其变体为主结合注意力机制。Zhou等通过考虑单个行人的运动信息以及和周围行人的交互信息,运用循环神经网络(RNN)和图卷积网络(Graph Convolutional Networks,GCN)对行人状态以及彼此交互进行模拟(图8),并结合注意力机制和结伴损失函数来预测轨迹。Zhang等提出将生成对抗网络和注意力机制结合的方法,其核心是通过注意力机制处理环境中的关键信息,通过社会注意力机制处理人与人之间的行为交互信息,在通过基于LSTM网络的对抗模块去预测多条合理轨迹。Liang等提出1种用于预测人轨迹和未来活动的神经网络模型,通过捕捉人类外观、肢体动作、与周围环境的交互等视觉特征生成模型用于轨迹预测。Liu等提出了1种基于图卷积的行人是否横穿道路的预测模型,通过只关注行人与周围环境的关系以及行人自身的肢体动作进行推理,预测未来一个时间范围内行人轨迹。Shi等提出了1种新颖的解析图卷积网络(Sparse Graph Convolution Network,SGCN),将稀疏有向交互和运动趋势相结合,用于行人轨迹预测,采用基于注意力机制的稀疏图学习方法对轨迹点进行打分,并反馈到非对称卷积网络中,以获得高级交互特征,归一化处理后得到的邻接矩阵可以表示稀疏图,最后结合图卷积网络估计用于轨迹预测的双高斯分布的参数去预测轨迹。相比于以前的预测建模方法,它对交互的行人信息、车辆信息、环境信息进行了有针对性的选择,而非以往的直接将一定范围内的所有以上信息无差别的用于建模(图8)。Tim等提出1种考虑动力学约束的基于学习的多智能体轨迹预测方法,除了考虑先前轨迹,还同时考虑了目标的动力学约束,确保了实际下的可行性,同时对其他的不同来源的数据信息进行融合,给出更具有针对性的预测轨迹。Neumann等使用自我监督方式训练的预测网络,基于行人的运动相对于全局场景的影响小,将场景中的行人运动和自己车辆运动分开考虑,训练了1个自我运动预测网络,核心思想可以理解为一定时间内先得出自身的轨迹,然后通过自我的监督方法,抵消掉自身位置变化对行人轨迹预测的影响,相当于这时车载摄像头是静止于某个点的去观测行人的运动,行人轨迹变化的参考与自车的状态无关,而只以预测行人周围的元素为参考去预测,这种不考虑可变视点就可以避免因为不断变化的摄像头视点、遮挡和其他场景动态带来的预测困难。
图7 Trajectory++轨迹预测网络框架[29]
图8 SGCN网络框架[30]
Lian等提出应对复杂场景下行人轨迹预测的方法,基于LSTM网络建立了基于人-车交互的行人轨迹预测模型(Vehicles And Pedestrians Trajectory Prediction Model Based On LSTM,VP-LSTM),核心思想是以行人的速度、行人间位置关系、人车间位置关系为初始数据通过社会注意力机制进行筛选,将筛选信息通过LSTM网络得出预测轨迹。Hu等提出的预测行人运动预测系统(Pedestrian Motion Prediction System Based On NMMP,PMP-NMMP),先通过基于LSTM网络的NMMP架构进行行人的轨迹预测,NMMP架构系统包含单一分支和交互分支2个部分,单一分支用于对每个参与者进行轨迹预测和交互分支用于对参与者间的可能交互进行预测,由2个分支结合得出候选轨迹,最后PMP将候选轨迹分类为真轨迹或假轨迹,得到最终预测轨迹。除了以上基于模型和基于神经网络和注意力机制结合的轨迹预测方法以外,Yao等针对目前模型预测多基于以往轨迹多次预测导致的随重复预测次数增加误差不断增大问题,提出基于目标估计的双向多模态轨迹预测方法,模型由2部分组成:
(1)多模态目标估计器用于先估计可能的目标终点;
(2)目标条件双向轨迹预测器,进行以当前点和目标点同时作为起始点的双向轨迹预测,从而减少较长预测范围内的累积误差。
Shafiee等使用条件3维视觉注意机制进行人体轨迹预测,通过2个并行编码流和1个解码流,2个并行编码流收集与目标人体相关的3维视觉和运动学信息,只需要对目标及其相关信息进行收集,1个解码流预测目标人体的未来轨迹,并且引入3D注意机制,提高预测精度。
本小节总结了行人在复杂交通场景下的轨迹预测算法并将算法分为基于模型的算法、基于神经网络和注意力机制相结合的算法、其它算法3部分,见表2。
表2 复杂交通场景中的行人轨迹预测算法
4 结论
随着自动驾驶技术的发展,传统的预测方法已经无法满足自动驾驶车辆对任意行驶场景和速度的要求。本文综合近几年自动驾驶行为预测技术的发展情况,立足于复杂的交通交互场景,通过对场景中不同预测对象进行分类并总结相应的行为预测算法。当前比较先进的行为预测思路还是采用神经网络,也取得了不错的效果,但由于模型训练需要大量的多样性数据,导致模型的训练困难。此外,目前的行为预测系统需要多种传感器设备的数据支撑,其中就包括了激光雷达一类高成本的设备。因此,接下来自动驾驶行为预测的研究可以从以下4方面展开:
(1)创新和优化算法,对于基于神经网络一类需要预先训练的算法要降低训练的复杂度,同时在算法层面去减少对传感器种类和数量的依赖,能够在提升预测效果的基础上优化硬件配置。
(2)车路协同预测,目前的自动驾驶轨迹预测还是主要依赖自动驾驶车辆自身的传感器进行数据采集和预测,可以考虑将自动驾驶车辆和路测设备结合的预测思路,即将当前场景中路测设备收集的数据直接提供或进行预处理后提供给自动驾驶车辆去进行行为预测,这样不仅可以提高预测准确度而且可以降低整体的设备成本。
(3)受遮挡对象的行为预测,目前这一部分的研究还很少,主要还是基于社会感知的思路去进行预测,但实际的实现效果并不理想,作为轨迹预测中无法回避且十分重要的内容,需要针对这一问题提出更多方法。
(4)行人行为预测,行人对象具有目标小且行为不确定性大的特点。而当前主要采用检测行人肢体动作和人群交互行为的方法实际运用时准确率很低,原因在于本身肢体动作的准确检测就很困难,再加之要根据其完成行为预测可以想象是十分困难的,如果在加上环境因素(下雨、起雾等)那么这些方法基本就不在可行,所以如何提高行人行为的准确预测也需要提出更好的方法。