基于人工神经网络的无人车行为规划∗
2019-07-31兰潇根石朝侠
兰潇根 石朝侠
(南京理工大学 南京 210094)
1 引言
学习一个从当前环境到无人车控制的映射是当前众多无人车应用的核心问题。该映射一般是利用车载传感器来感知无人车周围环境,并根据所获得的环境信息,来控制无人车的角速度和线速度,从而完成无人车的行为规划。
当前无人车行为规划系统大多是通过预编程的方法实现,通过预编程已经成功地实现了在特定环境下对无人车的控制[1~4]。但是由于环境的多样性,通过预编程使无人车在不同环境下都能完成行为规划变得非常复杂和困难,而且当无人车遇到更加复杂或者陌生的环境时,其控制将变得不稳定。
机器学习技术已经被成功地应用在当今世界最先进的无人车上[5~6],基于视觉和强化学习的方法也取得了显著的成就[7~12],部分是依赖基于人工神经网络(artificial neural network,ANN)的模型,无人车可对环境进行无约束访问以及对控制策略进行无限次的迭代,在这样的条件下,基于控制的ANN 通过不断地训练就可以使用更好的策略重复访问并预测环境。
在当前基于ANN 最成功的应用中,大多是使用监督学习的方式训练ANN,无监督的方式由于其理论和实践的欠缺,使得将ANN 作为生成模型的成果较少。变分自编码[13](variational autoencoder,VAE)在高斯先验分布的编码空间和原始数据空间中,成功地学习了生成模型,并给出了使用ANN 训练该生成模型的方法,但是其解码使用的是均方误差代价函数,生成的图像看起来较模糊,与真实图像相差较大。生成对抗网络[14](generative adversarial networks,GAN)很好地解决了这个问题,该网络通过同时训练生成网络和鉴别网络,使得生成网络生成的图像看起来更加清晰自然。Larsen 等[15]将 VAE 和 GAN 结合起来,提出将图像编码后,更好解码还原图像的方法。Hotz等[16]利用VAE 和GAN,完成了对无人车所采集道路图像的编码、道路跟踪、道路编码图像解码的任务。
由于ANN 强大的表征能力和简单的训练逻辑,近年来其在诸多领域取得了显著的成功[16~18],因此在本文中,我们考虑使用ANN 对环境建模,并实现道路跟踪和无人车控制,完成无人车的行为规划。
2 自编码模型与评估模型
因为图像的高维度以及其在时空域的高相关性,在原始图像上直接进行道路跟踪以及无人车控制将带来高额的时空复杂度和设计困难,并且在高维空间中,概率模型、滤波以及序列控制都变得不稳定[19],因此有必要将图像转换为某一低维度的连续空间。我们利用VAE,并改进其损失函数,将道路图像空间编码为连续分布的编码空间,之后在编码空间中,完成道路跟踪、无人车控制、评估的任务。
2.1 自编码模型
自编码模型(auto encoding model,AEM)将道路图像空间转换为正态分布空间,每一副图像都对应编码空间中一个近似的标准正态分布,从对应分布的最高概率密度处采样作为该图像的编码。自编码模型表示为
式中:It为 t 时刻的道路图像,μt、σt分别为 It在编码空间中对应正态分布的均值向量与标准差向量,且 μt=(,…,)T,σt=(,…,)T,N为编码空间维度,AEM()表示自编码网络,其结构如图1所示。
图1 自编码模型结构
在利用VAE 时,因为不使用解码部分,自编码模型的编码效果须要重新评估。与VAE 损失函数不同的是,为了进一步加强编码的稀疏性,尽量避免将差异较大的图像编码为相似的分布,在原有相对熵的基础上,我们对均值向量进行了稀疏化约束,AEM的损失函数为
式中 β 为正则化参数,且 β ∊[0,1]。此损失函数表示编码空间分布与标准正态分布间的相对熵和均值二范数平方的加权和。
2.2 评估模型
评估模型(evaluation model,EM)是对道路跟踪以及控制模型的训练效果,以及在实际应用中系统输出的跟踪控制信号进行评估,使得系统能够对已遇到的路况进行准确的跟踪控制,并能避免对未知路况做出错误的决策。其评估值为[0,1]内的实数,越接近1 表示跟踪与控制模型训练越好或者所做出的决策越可靠,反之应对模型进行改进并加强训练或者做出即时的预警以防危险的发生。
由于编码空间的维度相较于控制信号的维度过大,在训练中评估模型很难发现控制信号的变化,因此对编码空间中的向量进行降维,并结合控制信号构成评估模型。评估模型表示为
式中:zt为道路图像 It在编码空间的编码,且zt=μt,表示zt从It对应的正态分布的最高概率密度处采样,Desampling()为降采样网络,ωt、vt分别表示t 时刻无人车的角速度与线速度,EM()为将Desampling()的输出与控制信号相融合的网络,均为卷积神经网络,pt表示相应的评估值。
在训练EM 时,使用道路图像编码或随机编码与正确控制或随机控制交叉构成4 类样本作为训练集,包括1 类正样本,即道路图像编码与正确控制构成的样本,和3 类负样本,生成的评估值分别为
式中:ppost为对正样本的评估值,、、分别为对相应负样本的评估值,random_code()为从N 维度标准正态分布采样并经过Desampling()降采样产生随机图像编码的随机函数,用来模拟无人车所未遇到的道路图像,random_con tr ol()为从均匀分布采样产生与(ωt,vt)同维度向量的随机函数,用来模拟无人车采取的错误控制。在随机采样的过程中,要避免与Desampling( zt)、(ωt,vt)相同或相近。
为了使得EM 对正样本的评估值接近1,对负样本的评估值接近0,使用交叉熵损失构成EM 损失函数为
3 道路跟踪模型与控制模型
3.1 道路跟踪模型
为了描述无人车在行驶过程中所采集到时序图像间的关系,道路跟踪模型(road tracking model,RTM)使用了擅长序列数据建模的循环神经网络,道路跟踪模型表示为
式中:z˜t表示 t 时 刻 RTM 得 到 的道 路跟踪 图像 编码,RTM()为道路跟踪网络。
为了增强EM 对RTM 的适用性,使得EM 能够更好地评估和提升RTM 的性能,使用均方误差与EM评估值结合的方式构成RTM的损失函数为:
式中:pRTMt表示 t 时刻,EM 对 RTM 的评估值,λRTM为正则化参数,且 λRTM∊[0,1]。
3.2 控制模型
控制模型(control model,CM)将当前道路图像的编码作为输入,并得到对无人车的控制信号,控制模型表示为
为了增强EM 对CM 的适用性,使得EM 能够更好地评估和提升CM 的性能,使用均方误差与EM评估值结合的方式构成CM的损失函数为
式中:pCMt表示 t 时刻,EM 对 CM 的评估值,λCM为正则化参数,且 λCM∊[0,1]。
4 模型训练流程
训练集由安装在无人车前方的相机、角速度传感器、线速度传感器采集,并由熟练的驾驶员驾驶无人车得到,通过训练模型使无人车的驾驶行为能尽量接近该驾驶员。首先训练AEM,其次训练EM,之后结合EM的损失值分别训练RTM和CM。
4.1 训练AEM
相机采集的道路图像为3通道,长320像素,宽160 像素,将原图像降采样为3 通道,长160 像素,宽80 像素,并将其像素值标准化到[-1,1]之间。AEM 将标准化后的图像空间转化到3072维的编码空间,3072 维是经实验选择的较为合适的维度,当维度过小,会把不同的图像映射为非常接近的分布现象,不利于跟踪控制,而维度过大,会使计算量升高。训练中,β=0.4,当损失值降为0.5 时,我们认为AEM训练完成。
4.2 训练EM
完成AEM 训练后,固定AEM 的参数,训练EM。训练中,当损失值降为0.001的时候我们认为EM训练完成。
4.3 训练RTM与CM
当 AEM 和 EM 训练完成后,固定 AEM 和 EM 的参 数 ,对 RTM 和 CM 进 行 训 练 ,λRTM=0.6 ,λCM=0.3 ,当 RTM 损失值降为 0.1 时候,认为 RTM训练完成,当CM 损失值降为4 的时候,认为CM 训练完成。
图2 应用流程
4.4 系统应用流程
图2 为系统应用流程,由相机采集当前的路况图像,并对其降采样和标准化得到It,经过AEM 得到图像的编码zt,再经RTM,得到道路跟踪的编码序列 (zt,z˜t+1,…),由CM得到控制序列 (c˜t,c˜t+1,…),其中 c˜t=(ω˜t,v˜t),再通过EM对跟踪和控制序列做出评估,若EM 的值均在0.8 以上,则输出相应的控制序列 (c˜t,c˜t+1,…),否则禁止无人车做出相应的行为。
5 实验
5.1 实验平台与数据
使用 AirSim[20]作为仿真平台,使用 tensorflow框架完成模型搭建。
实验所用数据集在AirSim 环境采集。3 通道,长宽分别为320、160 像素的图像由安装在无人车前方的相机采集,角速度和线速度由相应的传感器采集,单位分别为rad/s、m/s,采集频率均为10Hz。
5.2 AEM编码效果实验
在该实验中,我们使用两种AEM 损失函数,一种损失函数只由编码空间分布与标准正态分布的相对熵构成,另外一种是本文提出的由相对熵与对均值稀疏约束项构成,对比其编码效果。随机抽取500个batch,每个batch有1000样本,并计算器均值一范数的平均值,实验结果如图3 所示。采用相对熵与均值稀疏约束相较只采用相对熵得到的均值的一范数更小,说明本文方法可以得到对道路图像更加稀疏的编码,这有利于数值计算,在此基础上,道路跟踪和控制实验也得到了很好的效果。
5.3 EM评估效果实验
将道路图像和实际控制、道路图像和随机控制、随机图像和实际控制以及随机图像和随机控制作为四类样本,前两类样本的道路图像相同,随机值避免出现与道路图像或实际控制相同或相近的值,对EM 进行测试。随机抽取100 个batch,每个batch 有1000 样本,并计算EM 对其评估值的均值,测试结果如图4所示。
EM对道路图像和实际控制的样本的评估值接近1,对其它三类样本,除极个别之外,评估值都接近0,但总体的评估值都小于0.5。实验结果表明,EM 可以有效地判别RTM 和CM 做出的跟踪控制效果,并有效防止系统做出错误的决策。
图4 EM评估效果
5.4 仿真实验
在AirSim仿真环境中进行实验,并预先设定全局路径,由本文方法的方法进行局部行为规划,并与人工驾驶以及Hotz[16]的方法对比,由于在Hotz论文中没有控制模型,实验中使用本文的控制模型补全系统。无人车所经过的路径如图5 所示,从A 处出发,经过B、C、D弯道,到达E处,三种方法相应的线速度、角速度如图6、图7 所示,角速度为负值表示左转,为正值表示右转。
图5 无人车路径
图6 无人车线速度
图7 无人车角速度
三种方法在直路时,无人车的线速度较高,为2m/s~3m/s,且较稳定,角速度接近零,且稳定,在到达路口时,线速度逐渐减慢,并在弯道中保持在2m/s 左右,同时角速度升高,并较稳定,在出弯道后,线速度逐渐加快,角速度降低接近零。本文算法与Hotz 的方法均可以较好地完成无人车的行为规划任务。图8 所示为三种方法在B 弯道的轨迹示意图,人工与本文方法的转弯轨迹较为平滑,而Hotz的方法转弯较早较急,由于Hotz的方法使用了解码模型,在耗时方面本文方法也要优于Hotz 方法。另外,在直路时,角速度、线速度仍然存在小范围调整,本文方法的轨迹平滑性和舒适性与人工方法仍有差距。
图8 人工(左)、本文方法(中)、Hotz方法(右)B弯道轨迹
在只给定如图5 中所示人工驾驶的样本后,实验结果显示,用本文方法得到的无人车行为规划系统具有了一定的局部避障能力和车道矫正能力,无人车行驶的轨迹如图9 所示,相应的线速度、角速度如图10 所示,在局部避障中,当面对前方障碍物,无人车线速度降低,而角速度变为负值,向左转弯,在避开障碍物后,角速度变为正值,向右转弯,继续沿道路行驶,在道路矫正中,初始无人车已偏离道路,其角速度变为正值,向右转弯,逐渐矫正行驶方向。在样本中并无这类行为,证明无人车不仅学习到了样本中提供的行为,还在一定程度上学习到了局部避障和车道矫正的能力,具有一定的泛化性。
图9 无人车局部避障行为(左图)与道路矫正行为(右图)
图10 无人车局部行为的线速度、角速度
6 结语
无人车的行为规划是无人车应用中的重要课题。基于ANN,我们建立了一套无人车行为规划系统,包括AEM、EM、RTM、CM 四个模型。实验表明,所设计的系统能够较好的对无人车进行行为规划并且有效的预防错误控制的发生。
在国内利用ANN 来完成无人车行为规划任务的文献较少,当前行为规划模型也不可否认存在若干问题。由于道路图像的分布非常复杂,图像自身的数据量也较为庞大,这都给模型的设计和训练带来了较大的阻碍,对于无人车的行为规划也变得非常复杂和困难,要想使得系统能够应对更多种类的道路图像,就需要更大规模、结构更复杂的模型,以及对模型更长时间的训练,另外由于训练集的限制,模型在实现避障的基础上,仍需针对特殊路况进行设计,因此在未来应对该模型加入如GRU、LSTM、DeepRNN 等更具潜力的模型以及更加完备的数据集,对于该行为规划模型的泛化能力,不仅涉及到模型结构规模的选取,还涉及到模型训练技巧,以及训练集和测试集的选取,有必要进一步深入地分析和实验,另外在线学习也应是无人车行为规划的一项重要能力,因此结合强化学习模型来使无人车具有在线学习能力也是很重要的方向。