动态条件模仿学习自动驾驶算法研究*

2023-07-11 07:30张兴波石朝侠王燕清
计算机与数字工程 2023年3期
关键词:方向盘车速时刻

张兴波 石朝侠 王燕清

(1.南京理工大学计算机科学与工程学院 南京 210094)

(2.南京晓庄学院信息工程学院 南京 211171)

1 引言

自动驾驶能有效地减少交通事故的发生,合理利用交通资源,缓解交通压力。传统的自动驾驶方法会将任务划分为路径规划、目标检测、目标跟踪、车道线识别等多个子任务来解决,这种方法可解释性强但同时也存在着系统复杂、计算量大和对硬件要求高的缺点[1]。近年来基于强化学习和深度学习的方法成为自动驾驶领域的研究热点。在基于深度学习的方法中,神经网络的输入是传感器输出信息,网络输出是车辆控制信息,神经网络通过学习人类专家的示范来进行学习这种映射关系,能够较快达到较高自动驾驶水平。而基于强化学习的自动驾驶算法则依靠自己探索环境做出正确决策,最通用的构造方法是构造一个列表存储所有的状态-动作对的奖励值。但是这种方法对于自动驾驶这种状态-动作空间较大的情况难以奏效,因此基于强化学习的自动驾驶算法一直未出现较大规模的应用[2]。

2005 年,Lecun 等[3]构建了具有6 层卷积神经网络的端到端模型DAVE,采用监督学习的方式进行神经网络的训练,研究表明该模型在野外环境下具有很好的鲁棒性。2016 年NVIDIA 通过采集实车数据训练了一个卷积神经网络模型预测方向盘角度,该模型能够根据前置摄像头传输的图像得到转向角度,可以在多种路况下行驶,这一成果证明了端到端控制方法的可行性,这一成果命名为DAVE-2[4]。2017 年Dosovitskiy 等介绍了一款开源自动驾驶仿真平台CARLA[5],他们在CARLA 上通过训练端到端自动驾驶模型CIL[6](Conditional Imitation Learning),实验结果表明根据导航信息进行分支的网络CIL 能够有效利用导航信息。2018 年Simon Hecker[7]等提出了一种基于环绕视觉的端到端模型,该模型能够有效避免单相机情况下的驾驶错误,提高模型鲁棒性。2019 年Codevilla 等提出CILRS[8]模型使用ResNet34[9]进行环境感知取得了良好的效果并且通过速度预测一定程度上消除了CIL模型中有时会异常停车的问题。

上述模型除了Simon Hecker 提出的环绕视觉模型外,都是将单帧图片作为网络输入来预测车辆控制信息,这样无法对视野中的车辆和行人等动态障碍的速度进行估计,在动态环境中对环境感知存在不足。而Simon Hecker 等提出的环绕视觉模型是将导航信息和感知信息进行直接融合,不如用导航信息对决策网络做分支简单有效。上述CILRS模型将图像和车辆当前速度作为网络输入来预测方向盘角度和车辆加速度,而在训练数据中因为避障停车存在大量车速和加速度都为零的样本,所以网络会学习到低速度和低加速度的映射关系,这会造成在测试过程中车速为零时车辆有时无法启动的情况。CILRS 模型中为了解决这一问题直接用单帧图片预测当前车速,让感知网络提取速度特征来降低对输入车速的依赖,这部分的解决了异常停车的问题,但这一问题仍会随训练数据规模的增加不断突出。本文提出的DCIL(Dynamic Conditional Imitation Learning)模型能够利用历史视觉信息对动态障碍进行状态估计,从而提升模型在动态环境下的表现。仿真实验表明我们提出的DCIL模型能够在测试环境下大幅提高模型的表现。

2 动态条件模仿学习模型

1) 条件模仿学习

在人类驾驶过程中,主要依靠车辆前方视觉信息和速度信息操控油门和刹车控制车辆速度,依靠方向盘控制车辆转向。模仿学习即利用上述信息作为网络输入,预测油门刹车和方向盘来控制车辆。为了训练网络,一般会收集一定专家驾驶记录,作为训练集进行训练。网络在训练过程中会学习数据集中存在的传感器数据到驾驶操作的映射关系。

CARLA 仿真平台通过A*[10]算法可以提供直行,左拐、右拐等导航信息。Dosovitski等在2017年提出通过不同分支决策网络实现不同导航控制,这些分支决策网络共享环境感知网络。该算法被称为条件模仿学习CIL(Conditional Imitation Learning),能够有效利用导航信息,满足不同的导航需求。

2) 模型原理

如果我们将t时刻车辆的视觉信息记为It,车速记为vt,方向盘角度记为st。我们假设t时刻的车辆的期望速度为t+1 时刻的车速vt+1,并且t时刻的车辆的期望速度vt+1和方向盘角度st是t时刻及之前多帧视觉信息的函数,那么我们就可以得到式(1)。

其中It-k为t-k时刻的视觉信息,f是神经网络所刻画的函数。我们进一步采用文章CIL 中描述的分支网络,在不同导航行为如直行,左拐、右拐和道路跟随时分别使用不同的决策网络进行车辆控制,此时对于导航信息i来说,我们有式(2)所描述的函数fi。

其中sit为导航信息i对应的t时刻的方向盘预测,为导航信息i对应的t时刻的速度预测,fi为对应的分支网络所刻画的函数。

因为Codevilla等[11]提出L1损失比L2损失更适合失自,损动失驾函驶数任如务式,(所3)以所我示们。的其损中失函为数t采时用刻L方1损向盘角度的估计值,为t时刻速度v的估计值。

3) 网络结构

在基于视觉信息的模仿自动驾驶模型中,多数模型只利用了单帧视觉信息,而在实际驾驶过程中,人类驾驶员需要历史视觉信息来躲避动态障碍。因此我们提出动态避障的端到端模仿学习网络来提升驾驶表现。我们的模型被命名为DCIL,网络结构如图1所示。连续4帧图片经过ResNet34网络得到4 个512 维特征向量,特征向量经过单层LSTM 网络得到512 维融合特征向量,融合特征向量经过3 层全连接预测车辆速度和方向盘角度。其中LSTM 网络的隐层节点个数为128。图中所示的分支网络根据导航信息c选择激活,每次只会有一个导航信息对应的分支网络被激活来预测速度和方向盘角度。导航信息c有道路跟随,直行、左拐和右拐四种状态。网络中没有像模型CILRS 将速度作为输入来预测油门和刹车,使网络不会学习到数据中存在而逻辑错误的低速度和低加速度的映射。CILRS 网络中学习到这一映射会导致车辆可能在未到达目标且前方可通行时停车。

图1 DCIL网络结构图

4) LSTM网络

长短期记忆网络[12](long short term memory network,LSTM)引入内部状态和门机制来保存和更新历史状态,是一种广泛应用的循环神经网络。LSTM 的网络结构如图2 所示,LSTM 的数学模型如式(4)~(8)所示。其中xt为t时刻的网络输入,ℎt-1为t-1 时刻的外部状态,ct-1为t-1 时刻的记忆单元,ct为t时刻的候选状态,W是LSTM 细胞单元的参数矩阵,b是LSTM 细胞单元的偏置,tanh是激活函数,用以增强神经网络的非线性,it、ot和ft分别为t时刻输入门、输出门和遗忘门的大小,ct为t时刻的内部状态,ℎt为t时刻的输出。

5) 速度控制

因为图1 中网络的输出为方向盘角度和期望车速,而实际控制车速的方式为油门和刹车,所以我们设计了一个简单的比例积分控制器来控制车速,控制器如图3 所示。控制器的比例系数为0.25,积分系数为0.2,控制器输出a为正时则为油门大小,为负时则为刹车大小。控制器输出a如式(9)所示,其中v为速度的估计值,v为速度的实际值。

图3 速度比例积分控制示意图

3 实验和结果

CARLA 是一个用于自动驾驶研究的开源仿真模拟平台,已经有多篇优秀论文[5~6,8,11]是基于CARLA 仿真平台进行实验的,所以我们选择使用CARLA 进行仿真研究。本文使用的CARLA 版本为0.8.4,包括图4 所示的Town01 和Town02 两个地图和多种天气设置,我们会在Town01 中收集训练和验证数据,在Town02中进行测试。

图4 Town01(左)、Town02(右)地图及场景图

为了评估不同模型在CARLA 中的表现,Codevilla 等在2017 年提 出CARLA benchmark[5]来进行测试。CARLA benchmark 包括Training,New Weather & Town 等测试环境。每种测试环境包括四种子任务,分别是直行任务,单拐弯任务,导航任务,动态导航任务。前三种子任务没有动态障碍,第四种子任务包括车辆、行人等动态障碍。每种子任务包括25 个起点和终点,能够在一定时间内到达终点即为成功,否则失败。Training Weather包括4种天气,New weather包括另外两种天气。

网络训练采用的优化器为Adam[13],Batchsize设置为64,初始学习率为0.0002。如果网络损失在4000 次迭代中没有下降,我们就把学习率减半。模型每隔5000 次迭代保存一次,如果验证损失在连续4 个模型上没有下降,我们就停止训练并选取当前验证损失最小的模型进行测试。表1 中详细列举了我们的模型DCIL和众多经典方法在同一数据 集CARLA100[8]训 练后 在CARLA Benchmark 中测试的结果,表中数字为对应类型任务完成百分比,加粗数字为同类型任务最好结果。

表1 多模型CARLA Benchmark 测试结果

从表中可以看出,几乎所有模型都是在训练环境下测试结果更好而且成功率随任务难度增加呈下降趋势。在所有类型的任务中,DCIL 模型的评分都取得了最优的结果。在直行类型任务中取得了100%的成功率,这是因为消除了其他模型中存在的低速度和低加速度的映射,从而解决了车辆异常停车的问题。在New town&weather 环境下的含有动态障碍的Nav.Dynamic任务中取得了98%的成功率,比之前的最好结果90%提升了8%。这说明我们的模型有良好的泛化能力和动态避障能力。

4 结语

本文在模型CILRS的基础上进行改进,提出了DCIL 模型,将速度作为预测而不是输入,解决了CILRS 等模型中存在的车辆异常停止的问题。另外在网络中加入LSTM 网络来处理历史视觉信息,使得网络可以更好地感知动态环境,从而预测速度和方向盘角度。为了对车速进行控制,本文引入了传统的PI 控制器,通过油门和刹车来控制车速到DCIL 网络的期望车速。DCIL 模型在CARLA Benchmark 上测试的结果表明具有良好的泛化性能和动态避障能力,具有一定的实用价值。

猜你喜欢
方向盘车速时刻
冬“傲”时刻
捕猎时刻
把握好直销的方向盘
2012款奔驰R300车修改最高车速限制
把准方向盘 握紧指向灯 走好创新路
北京现代途胜车车速表不工作
两车直角碰撞车速计算方法及应用
某型轿车方向盘抖动的分析与改进
“私车公用”打错“方向盘”
一天的时刻