张杭铖,杜海林,王齐超
基于视觉的车道保持系统
张杭铖,杜海林,王齐超
(长安大学 汽车学院,陕西 西安 710064)
为提高无人驾驶车辆主动安全性,文章基于神经网络车道线检测和单点预瞄横向控制策略的车道保持方法,以车载摄像头作为感知设备,采集前方道路的图像信息并传输给车载终端对图片进行处理后得到车道线信息,据此设计相应的横向控制器计算出偏离车道中心所需的前轮转角,最终作为控制信号传输给车辆的控制机构实现车道保持。经过实车验证表明,在低速情况下该系统能实现车道保持功能。研究结果对提高汽车的车道保持性能有一定参考价值。
神经网络;车道线识别;横向控制;车道保持
无人驾驶汽车已经成为时代发展热点,其中车道保持是无人驾驶的一种重要技术[1]。基于视觉的车道保持系统依据车道线检测方法,目前主流的车道线检测方法可分为传统车道线检测方法和基于深度学习的方法。传统车道线识别方法依据车道线的特征或利用车道线的曲线模型对之进行识别,基于深度学习的车道线检测方法,搭载网络结构能够全面学习不同环境下的车道线特征,并具备良好鲁棒性。车道保持系统利用基于单点预瞄的横向控制算法,能够求解得到车辆到预瞄点所需的最优的横摆角速度,结合车辆动力学模型将横摆角速度转化为理想的前轮转角实现智能汽车车道保持。
车道线检测信息是车道保持系统的决策输入,保证车道线检测的准确性和实时性是实现车道保持系统的先决条件[2]。
本文采用基于深度学习的车道线检测方法,其网络整体架构图如图1所示,网络采用公开的图森(TuSimple)数据集,该数据集包含车道线图像以及对应的标注信息,包括了各种天气、时段、交通状况下的车道线。采用基于E-Net编码器-解码器的结构搭建网络,其网络深度适中具有良好的检测准确性和实时性[3]。车道图片经过共享编码器进行下采样,降低图片分辨率,减小网络的计算压力,然后利用解码器的两个分支:语义分割提取车道线,实例分割对不同车道线进行划分。最后对车道线进行聚类和二次多项式拟合得到车道线结果。
图1 网络整体架构图
由表1可知,E-Net大致分为以下几个阶段。首先是初始化阶段,该阶段是由一个单独的初始化模块组成的,其主要功能为调整输入图像的通道数,压缩图像的大小。Bottleneck1.0到Bottleneck 4.0之前是编码器部分,图片经过初始化模块处理后分辨率和通道数大小转换为256×256×16,输入编码器进行特征提取和下采样。Bottleneck4.0到Bottleneck5.1阶段是解码器部分,对提取完特征后的特征图进行车道线分割并上采样。最后一个阶段是反卷积层,将特征图恢复至原分辨率大小输出。是输出的通道数,表1中的值为2,即区分像素点是车道还是背景。
表1 E-Net网络结构
车道保持系统需要将网络输出的像素点转换到世界坐标系,并对车道线进行拟合,才能得到车道线方程从而计算车辆与车道线的集合位置关系。建立模型的三维图如图2所示。
图2 成像三维模型图
依据成像模型图,建立像素点转换到世界坐标系方程如式(1)。其中摄像机固定高度、图像宽度与采集图像下视界距镜头距离可通过标定获得,为摄像机的焦距,摄像机光心在图像坐标系中轴的坐标t为定值,车道线中像素点在图像坐标系中轴的坐标'y由神经网络输出。
转换到世界坐标系下的像素点,采用二次多项式对车道线进行拟合[4],建立二次多项式方程如式(2)。
计算各点到该方程的偏差的平方和为
式中,(x,y)为点在世界坐标系下ww平面中的坐标;z为车辆在车辆坐标系轴的值;为点的个数。接着计算偏差平方和对二次多项式各系数的偏导,并令之为0。
联立式(4)中各式,求解即可计算出系数2、1与0,从而拟合出车道线方程。
如图3所示,车道线检测网络的检测准确率在前20 000次训练中提升较快,网络进行了20 000次训练后,模型的检测准确率已经基本达到0.9,可以看出训练次数达到95 000次时车道线检测的准确率达到最高值,约为0.95。
图3 车道线检测准确率
预瞄控制算法根据车辆位置信息和运动状态计算出车辆的最优横摆角速度,横向控制算法依据横摆角速度计算出车辆前轮转角。
单点预瞄驾驶员模型具有模型简单、计算量小等特性,能够满足横向控制算法要求的实时性和准确性。在该模型中,驾驶员以目标路径上的一点为预瞄点,根据车辆当前位置、预瞄点位置及车辆运动状态,计算出当前时刻车辆的最优横摆角速度,如图2、表2所示。
图4 横摆角速度恒定时的车辆轨迹
表2 车辆轨迹图中各参数含义
假设车辆转向时在一定时间内横摆角速度为一定值。根据车辆动力学模型可知,车辆的纵向速度也为一定值,且远大于横向速度。即认为车辆在转向时车速保持不变,又因为横摆角速度也保持不变,可将车辆视为作匀速圆周运动,设这段运动时间为p。则车辆行驶过的路径为一段圆弧,且车速的方向始终与圆弧相切。
依据车辆轨迹图得到横摆角速度与各参数之间的关系为
在单点预瞄驾驶员模型中,车辆在经过p时间的运动后,应当恰好移动到点,由此计算出最优的横摆角速度。此时,点与点重合。得到在理想状态下车辆由当前位置点运动到预瞄点点的最优横摆角速度。
本文的横向控制算法依据车辆的最优横摆角速度计算转向时所需的前轮转角。
在本文中,横向控制算法以前轮转角作为控制机构的输入。上文已经根据车辆的运动状态及其与预瞄点的几何关系求解出车辆运动到预瞄点所需的最优横摆角速度。因此,需要建立前轮转角与车辆横摆角速度的对应关系。
得到车辆横摆角速度关于前轮转角的稳态增益为
式中,为车辆的轴距,其值等于车辆质心到前轴距离与到后轴距离的和;为车辆稳定性因数,其表达式为
联立式(6)—式(9),计算得到最优横摆角速度对应的理想车辆前轮转角为
由于神经网络的输出为车辆左右两侧的车道线方程,而目标路径应该为车道的中心线。因此,对车道线方程作以下处理得到目标轨迹,并选取预瞄点。
假设网络输出的左右车道线方程分别为
left:=2_l×2+1_l×+0_l
right:=2_r×2+1_r×+0_r(11)
根据驾驶员的驾驶习惯,人在驾驶车辆时前视距离通常是固定的,假设这个值为,则在车辆坐标系中,前视点的坐标即为(0,),如图5所示。
图5 车辆与预瞄点位置关系示意图
将点(0,)代入式(11),得到
l=2_l×2+1_l×+0_l
r=2_r×2+1_r×+0_r (12)
本文的实验场地选择校内的汽车试验场。该试验场包括直道、弯道、十字路口、环岛等各类典型试验道路,以及各类附着系数和坡度的试验路面,可以在此对智能车的各项性能进行实验。本文选择其中一段包括直线以及右转的路段进行车道保持实验,实验路段长约200 m,车道宽度3.5 m,不考虑坡度因素对实验的影响。如图6所示。
图6 实验路段图
系统采用usb摄像头对车辆前方车道线进行采集,采用工控机作为决策机构,执行机构为由丽驰V5-T型号电动车改装的线控底盘,整个系统硬件连接如图7所示。
图7 系统硬件连接示意图
如图7(a),左侧为逆变器,它的功能为将车载的12 V直流电源转换为220 V为各设备供电。中间为INS-550D组合导航设备,其中包括三轴MEMS陀螺仪,可以通过卫星信号实时获得车辆的定位信息,同时解算出线控底盘在车辆坐标系下沿各轴方向的速度。图中右侧为工控机。控制器局域网(Controller Area Network, CAN)通信卡处于工控机的右上角,通过双绞线与车辆的CAN总线相连接,以实现控制信号的发送。图7(b)为摄像头安装位置,它通过usb接口与工控机进行连接。
将线控底盘移动至所选路段中靠近道路中心处,并通过车内电源为各设备供电,调试无误后,在工控机中的机器人操作系统(Robot Operating System, ROS)内开启CAN卡中的CAN0接口与车载CAN总线进行通信。启动roscore,并依次启动系统中的以下各节点:
(1)启动车道线检测节点。该节点会读取摄像头采集的图像并对其进行预处理,然后输入神经网络中进行车道线识别,当识别出车道线时,该节点将车道线方程的系数通过话题发布出去。
(2)启动横向控制算法节点。该节点会订阅车道线检测节点发布的话题,得到所需要的车道线信息;此外,该节点也订阅通过INS-550D组合导航设备解析出的线控底盘在轴、轴方向上的速度信息。得到这些信息后,该节点根据横向控制算法计算出最优的前轮转角,并通过话题发布出去。
(3)启动控制执行节点。该节点订阅横向控制算法节点发布的前轮转角信号,同时设置一个恒定的车速,根据 CAN报文解析规则将这两个控制信号转换为报文并通过工控机中的CAN卡发送至线控底盘。
虚线表示实验路段的道路中心线,首先对道路中心的位置进行标定,得到一连串离散的点,通过组合导航设备 INS-550D 记录这些点的全球定位系统(Global Positioning System, GPS)位置信息,并进行坐标转换到全局坐标系下,最后拟合出中心线。实线为车辆实际行驶轨迹。从图8中可以看出,在直线路段行驶时,车辆轨迹与道路中心线基本重合,在转向时横向误差逐渐增大,此后轨迹又逐渐重合。
图8 车辆行驶轨迹和道路中心线
无人驾驶是现在汽车行业发展的热门方向,车道保持系统作为智能辅助驾驶系统的组成部分,具有重要的研究价值和意义。车道保持系统搭建了基于E-Net的网络模型可以稳定实时地得到车道线,设计了基于预瞄算法的横向控制算法,计算出最优横摆角速度和最优前轮转角,达到对实车进行最优的控制。
[1] 马莹,王建强,徐友春,等.智能车辆车道保持系统[J]. ITS通讯,2004,6(1):6.
[2] 高琳琳,戎辉,唐风敏,等.自动驾驶汽车横向运动控制方法综述[J].汽车电器,2019(9):1-4.
[3] BADRINARAYANAN V,KENDALL A,CIPOLLA R. SegNet:A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation[J].IEEE Transa- ctions on Pattern Analysis and Machine Intelligence, 2017,39(12):1-5.
[4] 高秋英,王丽丽,王荣忠.最小二乘法曲线拟合及优化算法研究[J].工业控制计算机, 2021,34(11):100-101.
[5] 任进军,王宁.人工神经网络中损失函数的研究[J].甘肃高师学报,2018,23(2):61-63.
[6] 韩俊,王保云.MeanShift算法在图像分割中的应用[J].现代计算机,2021,27(33):71-76.
[7] 卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述[J].数据采集与处理,2016,31(1):1- 17.
[8] 彭驿茹.人工神经网络发展历史与训练算法概述[J].科技传播,2018,10(21):129-130.
[9] 张涌,夏雨,成海飞,等.智能车辆路径跟踪横向控制研究[J].重庆理工大学学报:自然科学,2021,35(7): 53-61.
[10] 张炳力,吕敏煜,程进,等.两点预瞄轨迹跟踪横向控制系统[J].电子测量与仪器学报,2019,33(5):158-163.
[11] 马芳武,佘烁,吴量,等.基于时间系数的单点预瞄驾驶员模型分析[J].汽车工程,2019,41(3):340-345.
[12] 曹晴晴,丁志中.基于二自由度的车辆AFS系统建模与仿真[J].电子测量与仪器学报,2014,28(4):447-453.
Vision-based Lane Keeping System
ZHANG Hangcheng, DU Hailin, WANG Qichao
( College of Automobile, Chang’an University, Xi'an 710064, China )
In order to improve the active safety of unmanned vehicles, this paper adopts the lane keeping method based on neural network lane line detection and single point preview lateral control strategy. The on-board camera is used as the sensing device to collect the image information of the road ahead and transmit it to the on-board terminal to process the image and obtain the lane line information. Accordingly, the corresponding lateral controller is designed to calculate the front wheel Angle required to deviate from the lane center, which is finally transmitted to the vehicle control mechanism as a control signal to realize lane keeping. The test results show that the system can realize the lane keeping function at low speed. The research results have some reference value for improving the performance of lane keeping.
Neural network;Lane line recognition;Transverse control; Lane keep
U463
A
1671-7988(2022)23-45-06
U463
A
1671-7988(2022)23-45-06
10.16638/j.cnki.1671-7988.2022.023.009
张杭铖(1998—),男,硕士研究生,研究方向为无人驾驶,E-mail:1135498030@qq.com。