黄武陵
智能车辆的道路检测及其应用
黄武陵
(中国科学院自动化研究所,北京100190)
道路检测是智能车辆环境感知的主要内容,也是实现自动驾驶的基础。由于交通道路环境多样、复杂,车道检测存在许多挑战。本文总结了相关工作,以缩微智能车辆验证平台为例,从车道检测系统的嵌入式平台构建、典型车道线检测算法分析、车道预警应用等方面入手,分析了典型道路检测技术实现,可作为智能车辆相关功能实现的技术参考。
智能车辆;视觉感知;道路检测;车载嵌入式平台
环境感知功能是实现自动驾驶的基础,以视觉传感器为主的智能车辆环境感知模块必须能够检测和识别行驶车道及周边的目标,包括结构化道路和非结构化道路信息、行驶环境中行人和车辆、交通信号灯和交通标志等[3]。其中,道路检测模块通过检测结构化和非结构化的道路信息,准确获得本车相对于车道的位置和方向,为环境感知功能提供最基础的支撑。
以道路检测为基础,可以衍生出智能车辆的高级辅助驾驶系统(ADAS)的车道偏离预警等许多具体应用,常用的有Mobileye AWS、Daimler Chrysler的Auto Vue和卡内基梅隆大学的AURORA等系统。以Mobileye的C2 270为例(见图1),包括固定于挡风玻璃内侧的视觉传感器(高动态CMOS摄像机和SeeQ图像处理模块)、声音警报蜂鸣器、Eye Watch显示及控制装置等,提供了车道偏离警告、车距监测与警告、行人碰撞警告等功能,有效减少了交通事故,提高了驾驶安全性[6]。
由于受交通标志线新旧磨损、光照条件和多变天气、周边车辆遮挡等交通环境复杂性因素影响,道路检测技术一直是智能车辆视觉感知的难题,还在不断研究以改进其可靠性和鲁棒性[14-15]。除了雨雪天气、车道线缺失等复杂情况下还需要进一步结合多传感器融合进行推理判断[13],针对城市结构化道路的检测技术已经相对比较成熟,而针对乡村和越野等情况下的非结构化道路检测,则还在研究和发展中,需要采用机器学习等方法来对复杂环境进一步理解判断[2]。近来,在结合传统道路检测技术的基础上,采用深度学习技术将可能极大改进车道检测精度和效果[12]。
本文主要包括道路检测技术综述、基于缩微智能车辆平台的道路检测系统分析、基于道路检测技术的典型车载应用等内容。
图1 Mobileye的C2-270
城市交通环境中一般都是标准的结构化道路,有清晰车道标志线和道路边界。车载视觉系统中一般假设距摄像机近的车道线方向变化不大(即道路曲率变化很小),可以用直线来拟合车道线[9];而在道路曲率变化较大的弯道处,可以采用多种曲线形式进行车道拟合[10]。乡村公路等非结构化道路在结构上符合道路的特征,但一般缺少车道线等标志,无法采用结构化道路所用的车道线检测方法,一般采用基于机器学习的检测算法来识别车道及其边界,完成道路检测。本文中主要讨论城市结构化道路检测。
1.1结构化道路检测中的假设
结构化道路有建设和施工国家标准,道路轮廓和曲率都遵循规则,道路区域和非道路区域有明显车道线和道路边缘。在结构化道路检测的具体实现中,一般对条件进行适当简化假设。例如,使用道路形状假设以简化道路模型,比如采用直线、回旋曲线、双曲线等多项式曲线来表示车道线,并采用Hough变换进行匹配[4]。一般还可对道路宽度和平坦度进行假设,认为道路宽度固定或变化比较缓慢,并且道路平坦、两个边缘平行。此外,还可以对道路特征一致性进行假设,认为图像中的路面区域具有一致的颜色、纹理等特征,而非道路区域则没有,故可采用聚类方法来检测道路区域。最后,为了加快道路检测的速度,可以设定感兴趣的区域,并进行分析和寻找期望特征,而无须对整幅图像进行分析。
1.2结构化道路的直道和弯道检测
在直道检测中,可以利用距离摄像机不远处曲率变化很小的假设,近似用直线来拟合车道线,利用车道线信息进行道路区域与非道路区域的分割,从而完成道路检测[5]。道路边缘检测主要包括图像预处理、边缘提取和二值化等步骤。其中,图像预处理一般先选定图像感兴趣区域,用中值滤波、均值滤波、高斯滤波等消除噪声,再采用膨胀腐蚀等方法进行边缘增强,然后进一步进行边缘提取,根据算法执行时间和边缘检测结果综合考虑选用Sobel、Canny、Gauss Laplacia等算子进行边缘检测,最后完成道路检测。
在弯道检测中,不仅要识别出道路边界线,还需要判断道路弯曲的方向,确定弯道曲率半径。选取适合的曲线模型来描述弯道车道线并由图像数据拟合出可靠的曲线方程参数,一般采用车载视频图像透视变换之后的俯视图进行车道拟合。常用的弯道检测方法可分为基于道路特征的方法和基于道路模型的方法[8]。基于道路特征的方法在道路标线明显且标线完整等条件下检测效果较好,基于道路模型的方法则具备更好的适应性,可以克服道路特征检测方法的弊端,因此,一般多采用基于道路模型的方法进行弯道检测,将弯道检测转化为各种曲线模型中数学参数的求解问题,一般包括建立弯道模型、提取车道线像素点,以及拟合车道线模型等主要步骤[7]。
2.1智能车辆道路检测验证方案
道路检测涉及车辆环境感知核心,一般要求在几十毫秒内得到车道检测结果,实时性要求较高。由于涉及图像处理,要求处理器具备较高的运算性能,一般专用处理器进行系统构建。例如Mobileye的系统中,采用了与意法半导体联合设计的EyeQ视觉处理器,结合Mobileye先进的视觉处理技术,EyeQ视觉处理器才能在要求的时间内完成行驶环境中车道、交通标志和行人等目标检测处理。2016年7月1日,Mobileye、Intel与BMW三家企业宣布,希望Mobileye把算法集成到Intel最新的高性能自动驾驶计算平台上。
为了验证智能车辆自动驾驶功能,构建了室内缩微交通环境,如图2所示,总面积70 m2左右,能够进行缩微智能车辆的直道行驶、弯道行驶、桥梁行驶、交叉口汇入、避障超车、十字路口、交通标志识别和岔道口行驶等典型交通情景自动驾驶测试。
图2 用于验证智能车辆技术的室内缩微交通环境
智能车辆采用缩微的HPI Cup Racer小车、Web Camera、速度传感器、MEMS加速度和陀螺仪、超声传感器等构建,车辆行驶电机和转向舵机采用AVR单片机控制,主处理模块初版采用AMD双核x86工业控制板,新版采用NVIDIA Tegra K1平台构建,如图3所示。
NVIDIA Tegra K1平台作为处理模块和传感器接口,处理像机视觉图像和LIDAR测距扫描数据,进行车道、交通信号、障碍物和可行驶区检测,通过串口整合GPS模块、惯性测量单元(IMU)、转向角和码盘轮速检测等传感器。Tegra K1运行Ubuntu Linux 14.04,集成ROS和OpenCV4Tegra,提供TK1 CUDA编译代码支持视觉图像处理和机器学习等任务,可以本地编译TK1 CUDA代码或在Linux开发主机进行交叉编译。除此之外,在Ubuntu版本中还包含丰富的ARM预编译软件包,大大减少了构建系统所需时间。基于JTK的开放架构,方便实现基于OpenCV4Tegra支持的道路检测算法。
图3 基于Tegra K1的智能车辆感知方案
2.2智能车辆车道检测算法
在室内缩微交通环境下,智能车辆采用比较常见的基于双曲线模型的车道识别算法来检测直道和弯道[11],并且可根据需要进行车道跟踪。其中,车道检测重点是车道线边缘点搜索和车道线边缘曲线拟合等,其算法简要流程如图4所示。
图4 车道检测算法简要流程
首先从摄像头读取视频帧进行重新采样,将RGB图像转为YCbCr颜色空间,同时设置感兴趣区域(ROI),通过Sobel等算子进行图形边缘增强,进行图像自适应二值化分割处理,通过Canny边缘检测算子进行不连续的道路边缘提取。采用Hough变化得到道路内的候选直线,根据左右车道线夹角和车道线宽等约束,筛选出距车辆坐标系原点最近的两条直线。
首先在筛选出的Hough直线附近通过自适应车道线特征点搜索算法进行搜索,采用拟合算法进行搜索到的特征点拟合,然后根据拟合车道线及像素梯度、灰度等信息构建车道置信度函数,最后根据置信度判断当前帧车道线识别成功预购,再转入车道跟踪算法,完成车道跟踪。
(1)Hough变换原理
Hough变换是利用图像的全局特性,在二维像素中寻找直线、圆及其他简单形状曲线的一种方法。将表决原理运用于参数估计,利用曲线上的点表决产生目标参数组,使分割过程具有较强的鲁棒性。
(2)建立车道线模型
常见的车道线模型中,直线模型简单但弯道时误差较大,B样条曲线模型计算复杂度较高,三次曲线模型对道路边缘噪声点干扰比较敏感且计算量也较大。双曲线模型可以同时描述直道和弯道模型,且模型简单、计算速度较快。
式中,(x,y)表示图像上点的像素坐标,a、b、c分别为车道线的曲率、起始点的切线斜率、车道线的截距,h控制消失点远近。因车载相机固定,消失点图像纵坐标可近似不变,只需在图像坐标系中求解参数a、b、c即可。
(3)车道线特征点搜索
道路图像经边缘增强后必须从诸多的边界信息中识别出道路边界。如图5所示,在结构化道路上,车道边界线亮度值较高,而边界线附近的路面亮度值较低,车道线两侧的亮度值会发生突变。因此,可以基于该特征进行道路边缘点筛选。
图5 车道线灰度变化特征
通过Hough变化获得候选直线,根据车道线特征筛选出左右车道直线,在车道直线下端点附近设置搜索范围,寻找特征点。一般可以基于行驶路面灰度均匀分布的特征,采用预设阈值的方法对寻找出的每行中最大灰度跳变的特征点进行预处理,同时去除道路区域上灰度跳变小于预设阈值的特征点。若符合车道线特征点条件,则沿着特征点下一行找候选车道线特征点集,当车道线特征点坐标超出设定的ROI区域,当前帧车道线特征点搜索完毕;否则,将搜索范围增大,重新寻找特征基点,再结合距离、角度、车道线宽等约束排除不满足要求的点。当预处理后剩余特征点的个数超过一定值时,启动车道线拟合算法。
(4)车道线拟合
为减少噪声对拟合结果的影响,所有搜索到的车道线基点不参与车道线的拟合,只有当拟合点(车道线特征点)个数大于阈值时才进行拟台。结合最小二乘拟合原理,可取目标函数为:
为使f(a,b,c)取得极小值,车道线参数a、b、c满足式(3),求解可得到线型双曲线的系数a、b、c,用最小二乘法分别拟合左右边界线,初步完成候选车道标线的识别。
3.1基于道路检测的车道偏离预警
道路检测为智能车辆车道偏离预警功能提供支撑,如图6所示,车道偏离预警系统中,车道检测模块主要是即时地获得车辆与车道线的即时夹角与相对距离等参数,并将信息发送给车载电控单元(ECU)判断是否需要警示。如果车辆在无转向信号情况下开始偏离车道,而ECU判定车辆已处于警示状态,则自动进行驾驶员警示,提醒立即作出处理。
图6 车道偏离预警系统组成
可以采用基于车辆当前位置判定(Car's Current Position,CCP)、基于车辆将出现的偏移量判定(Future Offset Difference,FOD)、基于车辆横越边界时间进行判定(Time to Lane Crossing,TLC)等多种车道偏离预警系统评判标准。例如TLC判定法可以根据车辆当前的运动状态,建立未来几秒钟内车辆运动的假设,估算出车辆驶离某一侧车道所需的时间,从而提前预测出将要出现的车道偏离。
在车道偏离预警分析时,结合道路检测进行判断,如果是直道时,假设车辆保持当前方向行驶,此时车辆相对于车道线的方向角为θ,当前车辆中心与车道中心线的横向偏移量为y0,某一时间段内车辆行驶的直线距离为l,某一时间段内车辆行驶的横向距离为y(l),由此假设得到以下描述:
假如车辆行驶在弯道上,则接下来要保持某一转角运动,可以类似于车道线的回旋曲线模型来描述。设车辆曲线运动的曲率为Cc(可通过转向盘转角测算),其近似方程为:
可以根据汽车的具体尺寸换算成车轮的偏移:
车辆的运动曲线与所检测的相应车道边线的交点之外,设定一个越线距离,结合车辆的运动速度,计算出车道偏离时间,可与规定阈值进行比较来判断是否需要进行预警。
3.2缩微环境下的道路检测结果
道路检测模块为自动驾驶提供了许多参数,可以在车道检测基础上实现智能车辆的许多功能,例如车道偏离预警等。Mobileye的EyeQ提供的道路检测结果参数如表1所列。
表1 Mobileye的EyeQ提供道路检测结果
本文所用的车道检测算法比Mobileye简单得多,如图7所示,在缩微交通环境中,进行车道图像处理和车道线检测过程得到的二值化图像、边缘检测图像、车道线图像,其中图7(c)中的白色线段标记车道线检测结果,可以看出所用车道线检测方法有较好效果。
在缩微智能车辆高性能JTK主板上运行道路检测算法,平均处理一幅图像的时间为35 ms,可以满足主控器与车辆底层控制模块的50 ms数据交互周期硬性要求,从而使得缩微智能车辆可以以较快速度行驶。
在车道检测基础上,结合相机标定所得的坐标转换矩阵,获得以智能车为原点的二维坐标系下表示的车道线与智能车的即时夹角和距离等参数。结合这些参数以及TLC判定法,即可实现车道偏离预警等演示功能。
道路检测是智能车辆环境感知的重要内容。本文通过道路检测技术的简要综述,结合缩微交通环境下的智能车辆平台的道路检测系统分析,以及基于道路检测技术的典型车载应用等内容,总结了道路检测系统的构建方案,分析典型道路检测技术实现,可作为智能车辆相关功能实现的技术参考。随着深度学习研究进展和相关应用技术的不断成熟,现有道路检测算法可以升级到深度学习架构上。本文所提出的深度学习的环境感知平台可以作为后续研究的参考方案。
[1]Jetson TK1[EB/OL].[201608].http://elinux.org/Jetson_ TK1.
[2]周圣砚.基于学习算法的智能车辆非结构化道路检测技术研究[D].北京:北京理工大学,2014.
[3]陈龙.城市环境下无人驾驶智能车感知系统若干关键技术研究[D].武汉:武汉大学,2013.
[4]腾今朝,邱杰.利用Hough变换实现直线的快速精确检测[J].中国图象图形学报,2008,13(2):234237.
[5]姬雪娇.基于视觉信息的缩微车自主驾驶研究[D].北京:清华大学,2011.
[6]Mobileye.Mobileye C2270[EB/OL].[201608].www. mobileye.com/zhcn/产品/mobileye c2270/.
[7]陆正辰.基于多缩微车的智能交通系统仿真平台研究[D].上海:上海交通大学,2013.
[8]王科.城市交通中智能车辆环境感知方法研究[D].长沙:湖南大学,2013.
[9]Qing Li,Nanning Zheng,Hong Cheng.Springrobot:a prototype autonomous vehicle and its algorithms for lane detection[J].Intelligent Transportation Systems,2004,5(4):300308.
[10]王永忠,王晓云,文成林,等.梯度点对约束的结构化车道检测[J].中国图象图形学报,2012,17(6):657663.
[11]陈本智.基于双曲线模型的车道识别与偏离预警[J].计算机应用,2013,33(9):6265.
[12]J Li,X Mei,D Prokhorov.Deep Neural Network for Structural Prediction and Lane Detection in Traffic Scene[J]. IEEE Transactions on Neural Networks and Learning Systems,2016(2).
[13]Y C Leng,C L Chen.Vision-based lane departure detection system in urban traffic scenes[C]//Control Automation Robotics&Vision(ICARCV),2010 11th International Conference on,Singapore,2010.
[14]X Liu,G Wang,J Liao,et al.Detection of geometric shape for traffic lane and mark[C]//Information and Automation(ICIA),2012 International Conference on,Shenyang,2012.
[15]J Yu,M Zuo.A Video-Based Method for Traffic Flow Detection of Multi-lane Road[C]//2015 Seventh International Conference on Measuring Technology and Mechatronics Automation,Nanchang,2015.
Road Detection and Application of lntelligent Vehicle
Huang Wuling
(Institute of Automation,Chinese Academy of Sciences,Beijing 100190,China)
Road detection is one of the basic functions of intelligent vehicle environment perception and automated driving.Due to the complex and diversity of the traffic environment,there are lots of challenges in reliable road detection technology.This article summarizes the related works,gives sample implementation on a micro intelligent vehicle platform,analyses the typical road detection technology with the detection embedded system architecture,typical algorithms,and application in road departure warning system.It can be used as reference for other road detection system im plementations.
intelligent vehicle;environment perception;road detection;vehicular embedded system
TP277
A
黄武陵,中国科学院自动化研究所副研究员、中国科学院大学博士,主要从事智能车辆研究,参与和主持了多项国家863和973、交通部和自然基金课题,发表SCI/EI论文12篇,申请和获得发明专利20项。获北京市科技进步奖、北京市“金桥工程”项目奖、吴文俊人工智能科学技术进步奖、中科院教学成果奖等奖励。
图7缩微交通环境下道路检测结果
��薛士然
2016-08-01)