技术领域
[0001] 本
申请涉及无人驾驶领域,尤其涉及一种无人驾驶车辆的车道变更方法及设备。
背景技术
[0002] 随着无人驾驶技术的不断发展,无人驾驶车辆的智能换道决策方法也得到了更多的关注,智能换道决策要求无人驾驶车辆能够自主的根据
车身周围的交通情况选择车道跟随或车道变换行为,适当的换道决策可以避免交通拥堵,提高通行效率,还可以避免交通事故,保证道路安全。因此,智能换道决策已成为当前无人驾驶技术面临的重大问题。
[0003] 现有智能换道决策方法可以分为两类:基于规则的方法和基于学习的方法。基于规则的方法又可以分为基于确定规则的方法和基于概率规则的方法,基于确定规则的方法由在简化的交通场景模型中由人工设计的IF-THEN规则来生成换道决策,如中国
专利CN105912814A和CN108983771A所公开的技术方案均为基于确定规则的决策方法。基于确定规则的方法通常使用简化的交通场景模型和人工设计的规则,由于简化的交通场景模型受限于适用范围,人工设计的规则容易受到
传感器噪声干扰。基于概率规则的方法通过联合概率
密度函数描述的交通场景与决策关联函数来生成换道决策,该方法与基于确定规则的方法相比,概率的方式更容易处理传感器噪声,然而联合概率密度函数在处理高维度数据时存在维度灾难问题。另外,基于规则的换道决策方法的性能受限于人工设计的输入输出关系,因此在实际应用中缺乏通用性和智能性。
[0004] 基于学习的方法则尝试通过
机器学习算法从交通数据中寻找更为合理的输入输出关系,主要分为基于
监督学习的方法和弱监督学习的方法。基于监督学习的方法将换道决策考虑为分类问题,其输入是交通场景特征,输出为换道决策结果,学习模型包括
支持向量机、神经网络、
决策树等。这种方法可以从交通数据中学习
决策逻辑,也可以增加学习数据从而扩展适用范围。基于弱监督学习的方法主要是指基于
强化学习的方法,这种方法可以在模拟交通场景中通过仿真试错的方式学习换道决策。基于监督学习的方法普遍采用了传统机器学习模型,然而这类模型在面对复杂数据或
大数据时存在性能
瓶颈。基于强化学习的方法的性能依赖于人工设计的奖励函数,面对实际问题时理想的奖励函数很难定义,此外,基于强化学习的方法还存在训练不稳定、结果难复现等缺点。
发明内容
[0005] 本申请的一个目的是提供一种无人驾驶车辆的车道变更方法及设备,用于解决现有条件下无人驾驶车辆难以根据实时交通环境进行车道变换的问题。
[0006] 为实现上述目的,本申请提供了一种无人驾驶车辆的车道变更方法,其中,该方法包括:
[0007] 构建车道变更决策模型;
[0008] 获取交通环境信息的序列,并将该序列输入所述车道变更决策模型,获取车道决策序列,其中,所述交通环境信息包括无人驾驶车辆的第一行驶信息和其周围车辆的第二行驶信息;
[0009] 若所述车道决策序列中的当前车道决策为车道变更决策,则变更所述无人驾驶车辆的行驶车道。
[0010] 进一步地,构建车道变更决策模型的步骤包括:
[0011] 获取样本交通环境信息的序列,其中,所述样本交通环境信息的序列有相对应的预先标注的车道决策序列;
[0012] 将所述样本交通环境信息的序列输入堆叠的多层
编码器,获得编码后的序列;
[0013] 将所述编码后的序列输入堆叠的多层
解码器,获得预测的车道决策序列;
[0014] 计算所述预先标注的车道决策序列与所述预测的车道决策序列之间的损失值,并以损失值最小为目标持续训练所述编码器和所述解码器的参数;
[0015] 在满足预设的模型训练停止条件时,将当前编码器和解码器的参数确定为所述车道变更决策模型的参数。
[0016] 进一步地,第一层编码器以所述样本交通环境信息的序列作为输入,以所述样本交通环境信息的序列的编码结果作为输出;后续层次的编码器以上一层编码器的输出作为输入,以输入的编码结果作为输出,并将输出传递给下一层编码器。
[0017] 进一步地,所述编码器包括多头注意层和残差层,所述多头注意层根据输入通过矩阵运算获取查询矩阵、字典键矩阵和字典值矩阵,再根据所述查询矩阵、字典键矩阵和字典值矩阵生成注意指标并输出;所述残差层根据所述多头注意层的输入与输出获取残差。
[0018] 进一步地,第一层解码器以最后一层编码器的输出作为输入,以所述最后一层编码器的输出的解码结果作为输出;后续层次的解码器以上一层解码器的输出和所述最后一层编码器的输出作为输入,以输入的解码结果作为输出,并将输出传递给下一层解码器。
[0019] 进一步地,所述解码器包括第一多头注意层和第一残差层,第二层以上层次的解码器还包括第二多头注意层和第二残差层;所述第一多头注意层以最后一层编码器的输出作为输入,以对输入进行解码获得的字典键矩阵和字典值矩阵作为输出,所述第一残差层根据所述第一多头注意层的输入与输出获取残差,所述第二多头注意层以上一层解码器的输出作为输入,以对输入进行解码获得的查询矩阵作为输出,所述第二残差层根据所述第二多头注意层的输入与输出获取残差;最后一层解码器还包括决策生成层,所述决策生成层根据所述查询矩阵、字典键矩阵和字典值矩阵生成预测的车道决策序列。
[0020] 进一步地,所述第一行驶信息包括如下一种或多种的组合:所述无人驾驶车辆的行驶速度、所述无人驾驶车辆的车道偏移距离和所述无人驾驶车辆的车道偏移
角度。
[0021] 进一步地,所述周围车辆包括左前车、左后车、前车、后车、右前车和右后车,所述第二行驶信息包括如下一种或多种的组合:所述周围车辆与所述无人驾驶车辆的相对距离、所述周围车辆的行驶速度、所述周围车辆的车道偏移距离和所述周围车辆的车道偏移角度。
[0022] 基于本申请的另一方面,本申请还提供了一种设备,该设备包括用于存储
计算机程序指令的
存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,使该设备执行前述无人驾驶车辆的车道变更方法。
[0023] 本申请还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述无人驾驶车辆的车道变更方法。
[0024] 与
现有技术相比,本申请提供的技术方案通过将交通环境信息的序列翻译转换为车道决策序列,能够根据无人驾驶车辆的行驶信息和周围车辆的行驶信息实现该无人驾驶车辆的自主变道,从而更好地实现无人驾驶的换道决策,还能够从交通环境的大量数据中有效学习人类驾驶员的驾驶策略,具有较好的实用性和智能性。
附图说明
[0025] 通过阅读参照以下附图所作的对非限制性
实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0026] 图1为本申请的一些实施例提供的一种无人驾驶车辆的车道变更方法的
流程图;
[0027] 图2为本申请的一些实施例提供的车道变更决策模型的结构示意图;
[0028] 图3为本申请的一些实施例提供的编码器的结构示意图;
[0029] 图4为本申请的一些实施例提供的第二层及以上解码器的结构示意图;
[0030] 图5为本申请的一些实施例提供的交通场景的示意图;
[0031] 图6为本申请的一些实施例提供的无人驾驶车辆变道行为的三个阶段示意图。
[0032] 附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
[0033] 下面结合附图对本申请作进一步详细描述。
[0034] 在本申请一个典型的配置中,终端、网络设备均包括一个或多个处理器(CPU)、输入/输出
接口、网络接口和内存。
[0035] 内存可能包括计算机可读介质中的非永久性存储器,
随机存取存储器(RAM)和/或非易失性内存等形式,如
只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
[0036] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模
块或其他数据。计算机的存储介质的例子包括,但不限于
相变内存(PRAM)、静态随机存取存储器(SRAM)、
动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、
电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他
磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备
访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据
信号和载波。
[0037] 图1示出了本申请的一些实施例提供的一种无人驾驶车辆的车道变更方法,该方法具体可包括如下步骤:
[0038] 步骤S101,构建车道变更决策模型;
[0039] 步骤S102,获取交通环境信息的序列,并将该序列输入所述车道变更决策模型,获取车道决策序列,其中,所述交通环境信息包括无人驾驶车辆的第一行驶信息和其周围车辆的第二行驶信息;
[0040] 步骤S103,若所述车道决策序列中的当前车道决策为车道变更决策,则变更所述无人驾驶车辆的行驶车道。
[0041] 该方法尤其适合用于无人驾驶车辆在道路上行驶的场合,能够将获取的交通环境信息的序列输入车道变更决策模型来获得车道决策序列,在车道决策序列中的当前车道决策为车道变更决策时,对无人驾驶车辆的行驶车道进行变更。
[0042] 在步骤S101中,首先构建车道变更决策模型。优选地,车道变更决策模型可基于Transformer网络建立,Transformer网络是谷歌于2017年提出的一种基于自注意
力机制的神经网络架构,用于处理自然语言理解任务(Natural Language Processing,NLP),需要的计算力更少,进而把训练速度提升了一个数量级,此外,Transformer网络还被用于
自然语言处理之外的图像和视频处理任务。在此,Transformer网络内部使用注意网络搭建了多个编解码器。注意网络可以通过矩阵运算寻找序列中向量间的相关信息,相比传统方法更易于并行和扩展。
[0043] 本申请的一些实施例中,构建车道变更决策模型可具体包括如下步骤:
[0044] 1)获取样本交通环境信息的序列,其中,所述样本交通环境信息的序列有相对应的预先标注的车道决策序列;在此,样本交通环境信息从实际道路上的交通环境信息中获取,交通环境信息由,一段时间内连续采集的交通环境信息构成交通环境信息的序列,再通过人工标注或自动标注的方式标注该交通环境信息的序列所对应的车道决策序列,经过预先标注的样本交通环境信息的序列可用于车道变更决策模型的训练;
[0045] 2)将所述样本交通环境信息的序列输入堆叠的多层编码器,获得编码后的序列;如图2所示,换道决策模型(即车道变更决策模型)可通过多层的编码器和解码器结构,对输入序列进行层次化建模,从底层到高层逐步理解序列中的词法和语意。另外,该模型还可将最顶层编码器输出的语意信息输入到每一层解码器中,实现编解码器之间的信息交互;优选地,第一层编码器以所述样本交通环境信息的序列(即交通场景序列)作为输入,以所述样本交通环境信息的序列的编码结果作为输出;后续层次的编码器以上一层编码器的输出作为输入,以输入的编码结果作为输出,并将输出传递给下一层编码器;
[0046] 另外,如图3所示,所述编码器包括多头注意层和残差层,所述多头注意层根据输入通过矩阵运算获取查询矩阵、字典键矩阵和字典值矩阵,再根据所述查询矩阵、字典键矩阵和字典值矩阵生成注意指标并输出;所述残差层根据所述多头注意层的输入与输出获取残差。在此,多头注意层用于将向量间相关信息的提取过程抽象为从一个查询到一个字典的映射,通过矩阵运算将输入矩阵X(该矩阵每一行是一个输入向量)转化为查询矩阵Q,字典键矩阵K和字典值矩阵V。以单头注意层为例,转化过程中的参数矩阵分别是WQ,WK和WV:
[0047]
[0048] 最后通过如下公式计算注意指标:
[0049]
[0050] 其中,dk为字典键的维度。多头注意层中有多个参数矩阵,以8头注意层为例,其参数矩阵包括 和 共24个矩阵,输出8个注意指标。将这些指标拼接后,通过参数矩阵W0压缩到一个指标的维度大小。多头注意层增加了网络的参数数量,提升了模型的学习能力,进而提升了方法的学习性能。在多头注意层的后面,还增加了残差层网络。残差层是一个直连层,其作用是将多头注意层的输入和其输出相减求出残差,通过训练使残差最小,从而提高训练效率和
精度。
[0051] 3)将所述编码后的序列输入堆叠的多层解码器,获得预测的车道决策序列;优选地,第一层解码器以最后一层编码器的输出作为输入,以所述最后一层编码器的输出的解码结果作为输出;后续层次的解码器以上一层解码器的输出和所述最后一层编码器的输出作为输入,以输入的解码结果作为输出,并将输出传递给下一层解码器,如图4所示;
[0052] 在此,解码器包括第一多头注意层和第一残差层,第二层以上层次的解码器还包括第二多头注意层和第二残差层;所述第一多头注意层以最后一层编码器的输出作为输入,以对输入进行解码获得的字典键矩阵和字典值矩阵作为输出,所述第一残差层根据所述第一多头注意层的输入与输出获取残差,所述第二多头注意层以上一层解码器的输出作为输入,以对输入进行解码获得的查询矩阵作为输出,所述第二残差层根据所述第二多头注意层的输入与输出获取残差;最后一层解码器还包括决策生成层,所述决策生成层根据所述查询矩阵、字典键矩阵和字典值矩阵生成预测的车道决策序列。解码器和编码器中使用的多头注意层和残差层相同,解码器比编码器多一组多头注意层和残差层。
[0053] 优选地,最后一层解码器中的决策生成层为Softmax层,通过决策生成层给出预测的车道决策序列,该序列中当前时刻最大概率决策即为决策输出结果。Softmax层的功能是归一化输出,使其符合概率的基本属性。令输入为xi,输出为yi,Softmax层的计算公式如下:
[0054]
[0055] 例如,Softmax层给出的换道决策序列为[0.8,0.1,0.1],其对应的决策可为:向左侧道路变更车道。
[0056] 4)计算所述预先标注的车道决策序列与所述预测的车道决策序列之间的损失值,并以损失值最小为目标持续训练所述编码器和所述解码器的参数;在此,模型中的参数包括编码器和解码器中每一个多头注意层的25个参数矩阵 和以及W0,这些参数通过
深度学习训练获得。例如,通过人工或自动标注工具,对无人驾驶车辆在真实交通场景中采集的数据进行标注,得到交通场景序列和对应的车道决策序列数据集,该数据集需要包含至少十万条以上高
质量样本从而保证模型训练的可行性。优选地,模型在训练过程中不依赖特定的
优化算法,各种流行的优化算法均可使用,包括但不限于Adam、SGD、RMSProp等,可根据最终的训练结果选择合适的优化算法。此外,训练过程中可使用CrossEntropy形式的损失函数,该类型的损失函数对概率形式的输出具有较好的学习效果。优选地,若模型输出为Ot,真实值为Dt,该类型的损失函数可定义如下:
[0057]
[0058] 在此,若Ot=[0.8,0.1,0.1],Dt=[0,1,0],则Loss=1;若Ot=[0.1,0.8,0.1],Dt不变,则Loss=0.1。
[0059] 5)在满足预设的模型训练停止条件时,将当前编码器和解码器的参数确定为所述车道变更决策模型的参数。在此,模型训练的停止条件可为多种,例如训练
迭代次数、损失函数值小于预设
阈值等。
[0060] 在此,本申请根据车道决策问题的具体需求对原始Transfromer网络进行了
修改,具体包括以下几个方面:
[0061] 1、去除了原始Transfromer网络中的输入嵌入层,本申请将获取的交通环境信息作为向量输入网络,无需再使用该层来进行向量转换,从而提高了处理性能;
[0062] 2、去除了原始Transfromer网络中的前馈网络层,该层的目的是进一步加深网络层数,从而在自然语言理解中对抽象的语义取得更好的理解,然而对车道决策问题而言,经过实践检验过深的网络并不能带来更多的性能提升,反而增加了运算时间开销,因此去除该层可提高处理性能,减少运算时间。
[0063] 在步骤S102中,获取交通环境信息的序列,并将该序列输入所述车道变更决策模型,获取车道决策序列,其中,所述交通环境信息包括无人驾驶车辆的第一行驶信息和其周围车辆的第二行驶信息。本申请的一些实施例中,第一行驶信息可包括如下信息:所述无人驾驶车辆的行驶速度、所述无人驾驶车辆的车道偏移距离和所述无人驾驶车辆的车道偏移角度。
[0064] 如图5所示出的交通场景中,无人驾驶车辆所在的车道为本车道,其左右车道分别为左车道和右车道,对于每条车道,无人驾驶车辆有两辆周围车辆,一辆在无人驾驶车辆前方,一辆在无人驾驶车辆后方。三条车道共有六辆周围车辆,分别为左前车LF、左后车LB、前车F、后车B、右前车RF和右后车RB,此六辆周围车辆的顺序不做区分,一般来说以从左到右、从前到后的顺序定义。对于每辆周围车辆i,在每个时刻t提取第二行驶信息,第二行驶信息可包括如下信息:该周围车辆与无人驾驶车辆的相对距离di,t、该周围车辆的行驶速度vi,t、该周围车辆的车道偏移距离hi,t和该周围车辆的车道偏移角度ai,t。优选地,相对距离di,t为车辆外接矩形中心点之间的直线距离在平行于车道方向上的投影距离。行驶速度vi,t为该周围车辆的对地绝对速度。周围车辆的车道偏移距离hi,t为该周围车辆外接矩形中心点与车道中心线的垂直距离,车道中心线与车道左右标线等距。周围车辆的车道偏移角度ai,t为该周围车辆的车头朝向角与车道中心线朝向角的夹角。
[0065] 周围车辆在时刻t的第二行驶信息可表示如下:
[0066] si,t=[di,t,vi,t,hi,t,ai,t]
[0067] 无人驾驶车辆在时刻t的第一行驶信息可表示为:[vE,t,hE,t,aE,t]。
[0068] 时刻t的交通环境信息可表示为:
[0069] Ct=[sLF,t,sLB,t,sF,t,sB,t,sRF,t,sRB,t,vE,t,hE,t,aE,t]
[0070] 如图6所示,无人驾驶车辆的车道变更行为可分成三个阶段:在第一个阶段,无人驾驶车辆采取车道保持决策,车身沿车道直线行驶;在第二个阶段,无人驾驶车辆采取向左换道决策,车身不断向左方向移动直到进入左方车道;在第三个阶段,无人驾驶车辆重新采取车道保持决策,车身重新沿车道直线行驶。车道决策Dt可表示如下:
[0071]
[0073] [D1,D2,…,DT]=Translate([C1,C2,…,CT])
[0074] 在步骤S103中,若所述车道决策序列中的当前车道决策为车道变更决策,则变更所述无人驾驶车辆的行驶车道。在此,车道变更决策可包括向左变道决策和向右变道决策,无人驾驶车辆根据得到的车道变更决策,将行驶车道变更为决策对应的车道。例如,可将车道决策序列中当前时刻对应的车道决策送入无人驾驶规划系统,无人驾驶规划系统根据指示生成车道跟随或变道行为来控制无人驾驶车辆行驶。
[0075] 此外,无人驾驶车辆通过各种传感器、计算装置、
控制器等软
硬件单元来获取交通环境信息,例如,可通过安装于无人驾驶车辆前、后方的
激光雷达或相机检测其周围车辆的外接矩形信息;通过安装于
后视镜位置的相机检测车道边线信息;通过安装于无人驾驶车辆前、后方的毫米波雷达检测周围车辆的速度信息,进而获得交通环境信息Ct。需要说明的是,不需依赖特定的传感器,仅要求传感器和相关算法能够检测出所需信息即可。
[0076] 本申请的一些实施例还提供了一种设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,使该设备执行前述无人驾驶车辆的车道变更方法。
[0077] 本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述无人驾驶车辆的车道变更方法。
[0078] 综上所述,本申请提供的技术方案通过将交通环境信息的序列翻译转换为车道决策序列,能够根据无人驾驶车辆的行驶信息和周围车辆的行驶信息实现该无人驾驶车辆的自主变道,从而更好地实现无人驾驶的换道决策,还能够从交通环境的大量数据中有效学习人类驾驶员的驾驶策略,具有较好的实用性和智能性。
[0079] 需要注意的是,本申请可在
软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成
电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光
驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0080] 另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备运行基于前述根据本申请的多个实施例的方法和/或技术方案。
[0081] 对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附
权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。