辅助车辆驾驶车道检测技术研究

时间:2022-08-26 08:39:35

辅助车辆驾驶车道检测技术研究

【摘要】提高汽车智能化、网联化程度是世界各国汽车发展的必然趋势,而车道线检测技术是实现高级驾驶辅助系统和自动驾驶的基础。文章基于特征的车道线检测技术,根据数字图像在计算机中的存储原理,将RGB图像转化成灰度图像,对图像进行平滑滤波,对比使用sobel算子和canny算子进行边缘检测的检测效果。通过感兴趣区域(ROI)分割、图像二值化和霍夫变换等过程,在实验中实现了对图像中的车道检测。

【关键词】辅助驾驶;图像处理;车道线检测

随着计算机、通信、人工智能等技术的快速发展,汽车的电气化、网联化、智能化程度也越来越高,世界各国都在加快进行智能车辆的战略部署。我国于2020年2月了《智能汽车创新发展战略》[1],用于规范和加快智能车产业的落地。目前,高级驾驶辅助系统已经实现产业化应用,而无人驾驶车辆也在码头、园区等特定场所逐步开始测试和运营,相关技术处于不断发展和完善的阶段。在辅助驾驶和自动驾驶技术中,环境感知技术处于技术实现的最前端,是行为决策、路径规划和运动控制的依据。目前环境感知技术的解决方案主要是依赖雷达和摄像头两类传感器,由于车载摄像头相比于激光雷达在成本上有很大的优势,因此基于视觉的环境感知技术一直是行业研究的热点。基于图像的车道线检测技术是环境感知的一部分,研究方法可以分为基于特征的检测方法、基于模型的检测方法和基于深度学习的检测方法。其中基于特征的检测方法和基于模型的检测方法属于传统的目标检测方法,主要通过检测车道线的颜色、边缘、梯度变化等底层特征和车道线形状等信息来提取车道线或对其进行模型化描述[2]。本文对传统车道线检测技术进行研究,分析了数字图像的处理技术,包括图像灰度化、二值化以及图像滤波方法,研究图像边缘增强方法以及霍夫变换(Hough)的原理,通过实验验证了方法的有效性,并分析了不足之处。

1图像计算机表示及滤波处理

数字图像是由有限数量离散的像素点组成,它是借助于数字计算机来处理的图像,要求计算机有足够强大的存储和计算能力,需要依靠计算机数据存储、显示和传输等相关技术,因此该领域的发展很大程度的依赖于计算机技术的发展。我们日常拍摄和见到彩色图片在计算机表示中通常被表示为RGB图像,通过红、绿、蓝这三个原色按照不同的比例混合,可以获得其他各种颜色。RGB色彩是由人眼对色彩的感知特性而设定的,国际照明委员会在1931年对三原色的标准化进行了设计[3]。RGB图像在计算机中的表示三通道的,包含的数据量相对较多,在车道检测中,首先需要将其转化成单通道的灰度图,即做灰度化处理,转化公式为:Gray=0.299·R+0.587·G+0.114·B灰度化处理后的图像不但可以满足后续目标的检测,同时可以减少内存空间的占用,降低计算机的计算量、从而提高处理器的运算效率。灰度化处理效果如图1所示。彩色图像完成灰度化处理后还需要进行滤波处理,滤波的目的是降低图像噪声,提高图片质量,常用的滤波方法有均值滤波、高斯滤波和中值滤波。中值滤波是一种非线性滤波方法,其原理是以滤波器包围的图像区域中所包含的像素值的排序为依据,统计排序结果来替代中心像素值。该滤波器对随机噪声具有良好的去噪能力,同时能够较好的保留图像边缘细节,因此后文将使用该滤波器对图片进行滤波处理。

2图像边缘增强方法

在车道线检测中,我们的目标是提取图像中的车道线信息,图像中的一条线可以看成是一条边缘线段,该线段两侧的边缘灰度值相对于周边灰度值会有较大的变化。利用这一特性,可以计算图片中每个像素点的梯度,从而将线与其他信息区分开来。对于一副图像f在位置(x,y)处的梯度△f,可以表示为:△f的大小为:△f的方向为:边缘增强中,常用的梯度算子有Prewitt算子、Sobel算子、Canny算子。Prewitt算子和Sobel算子仅仅考虑了图像的梯度信息,Sobel算子是在Prewitt算子的基础上进行了优化,实现原理都是用模板矩阵进行滤波处理。Canny算子不仅仅考虑了图像的梯度信息,它还包括图像平滑处理、梯度计算、梯度图非极大值抑制和阈值处理等过程,使用该算子通常能够获得较为理想的处理结果,因而具有较为广泛的应用。

3Hough变换原理

图像经过边缘增强后将使用Hough变换方法对检测到的边缘信息进行提取,Hough变换是计算机视觉领域中识别几何形状的基本方法,其实现原理为:在直角坐标系O-XY平面中有一点p,经过该点的直线l可以表达成公式y=ax+b,在参数空间中使用距离ρ和角度θ可以将直线描述为ρ=x·cosθ+y·sinθ。容易知道,将直线l绕p点旋转,可以得到无数条直线,经过原点O向这无数条直线作垂线可以产生无数个垂点,所有垂点连接起来便得到了参数空间中的一条曲线。如果给出直角坐标系下两个点,并重复上述过程,则根据参数空间中两条曲线的交点,就可以确定直角坐标系中这两个点所确立的直线。

4实验验证

车道线的检测通常是对车载相机所拍摄的视频数据按帧提取,并实时处理。车载相机的内参和外参需要提前完成校准和标定,我们这里不考虑相机标定问题,使用Matlab读取拍摄完成的道路图像进行实验,图像的选取原则是人眼可以清晰的从图像中识别到车道线即可。首先选取一张清晰度较高的图像,沥青路面的颜色为黑色,车道线为白色,颜色反差较大,并且基本不存在光照和杂物的干扰。使用3x3滤波核进行中值滤波,边缘增强算子使用Sobel算子,实验结果如图3所示,图中绿色的线条为检测出来并自动生成的车道线,所用方法能够准确的提取出图像中的车道线信息,检测效果较好,满足要求。为了验证方法的通用性,我们更换图像进行测试,将图像更换为图1,一张在法士特研究院内部拍摄的图像,该图像中的路面为水泥路面,路面颜色与车道线相近,同时图像中存在一定的光线干扰,使用同样的方法和参数进行检测,检测结果如图4所示。图4检测结果中,黄色的中间虚线车道线完全丢失,对比图3和图4检测结果可以知道,使用Sobel算子和同样的算法来进行车道线检测,所使用的图片质量对检测结果有较大的影响。由于黄色车道线灰度值与路面灰度值较相近,在边缘增强并二值化后黄色车道线就已经被舍弃了,因此后续霍夫变换就无法检测到该条车道。为了解决这个问题,我们使用边缘增强效果更加细腻和复杂的Canny算子进行图片处理,其他参数和方法不变,检测效果如图5所示。从图5可以看出,将Sobel算子替换为Canny算子后进行边缘检测,二值化后图像更加精细一些,中间黄色的车道线信息也被体现出来了,但是在检测结果中依然无法提取出中间的黄色车道线。其原因还是黄色车道线轮廓不够清晰,在整个图幅中,该车道线与地面的切缝、建筑等环境噪生没有明显的区别。针对这个问题,在可视区域内划定感兴趣区域是一个很好的解决办法,因为车载相机在车上的安装位姿是固定的,这就决定了路面、天空等环境信息在相机图像中的位置也是相对固定的。因此,可以仅针对路面可能出现的区域进行目标检测,这样不仅可以减少计算量、提高运算效率,更能够提高检测准确率,同时与实际使用工况相符。由于黄色车道线自身灰度化特性及其附近存在地缝且漆面有掉落不连续的现象,在使用Cannyz和Sobel算子并反复调整阈值参数后,二值化后的图像中黄色中间车道线的轮廓依然不清晰,接下来我们继续调整边缘增强算子,并划定图中车道线所在区域为感兴趣区域再次进行实验,检测结果如图6所示。从检测结果可以看出,通过划定ROI再进行目标检测并适当调整边缘增强算子后可以实现对图中车道线的检测,但仍然存在一些问题:将中间黄色车道线明显突显出来以后,左边和右边的边界车道线却相应的被弱化了,导致生成的绿色车道线不够完整且有多线段叠加现象,这说明二值化后的直线像素点不够连续。此外光线的不均匀照射现象没有得到抑制,这一现象也可能会对后续帧的检测造成影响。

5结论

基于特征的传统车道线检测方法可以实现对图像中的车道线提取,但图像的质量对检测结果有较大的影响,实际工况中,会存在光照不同、路面湿度不同等各种随时可能发生变化的不利因素,这些不利因素对检测算法的稳定性和准确性来说都是挑战。因此,单一使用图像边缘特征的检测方法还需要改进,车道线的宽度、颜色、形状、车道线间的距离等信息具有一定的规范,因此可以在图像预处理阶段加入更多的判断条件来提取车道信息,或者使用基于数据集训练的深度学习方法来进一步提高检测的准确性和稳定性[4]。

作者:吕厚权 杨小辉 王登辉