长城汽车股份有限公司天津哈弗分公司 天津 301712
摘要:随着人们生活水平的不断提高,对生活条件的要求提高。目前,自动驾驶汽车的越来越多,使自动驾驶的车能够准确的识别车道线成为了一个很重要的问题。通过调用OpenCV中的函数库中的Canny函数和霍夫变换等方法进行仿真实验,实验结果表明了该技术比传统的检测有更好的准确性。通过本文实验可以实现自动驾驶汽车对车道的检测。
关键词:车道检测;图像处理;自动驾驶
引言
在基于图像处理的车道线识别技术研究中,需将车载视觉系统获取的图像分析出车道线,明确行车可以行驶的区域,确定行车和车道线之间的距离,从而监控车辆行驶情况,当智能汽车偏离正确位置时,能够提醒司机纠正行车姿势,降低交通事故发生的概率。本文在图像处理的基础上提出了一种基于霍夫变换的车道线识别算法。
1滑动窗口搜索特征点
Hough霍夫能够确定车道线在道路图像中的位置,通过使用滑动窗口寻找道路车道线的特征点。车道线分为直线车道线和曲线车道线。对于直线车道线来说,车道线边缘梯度方向角是一个常数。车道线为曲线时,车道线在转完之后将进入直线车道线,梯度方向角变小,逐渐稳定在一个常数左右。无论车道线左转弯还是右转弯,都是一样的结果。根据车道线梯度方向角特点使用滑动窗口检测法搜索车道线。滑动窗口搜索车道线方法实现过程如下:首先选择水平滑动窗口按照由下往上的方向对图像的每行做扫描从而对每条车道线的特征点进行确定,其中车道线特征点的边缘点必须为滑动窗口中梯度方向角和出现位置符合要求的边缘点;其次记录滑动窗口的坐标;最后将检测信息与道路模型进行匹配。
2基于霍夫变换加离群值过滤筛选车道线
Hough变换是从图像中识别几何形状的基本方法之一,它的原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。通过霍夫变换,将直角坐标系下的直线转换为一个点,以此达到了减少计算量的降维目的。本文利用HoughLinesP()函数通过调整参数来检测感兴趣区域的线段。由于车道线有虚有实,线段的检测数值不能过短,以此来避免短线被忽略掉的可能。由于边缘检测时阈值选取可能存在误差,导致会产生一些噪点,这些噪点可能会对最后的结果产生影响,并且经过霍夫变换处理得到的直线有很多,一条粗线可能变换成多条线,因此利用离群值过滤剔除斜率不一致的线段,即那些因为误差而被识别出来的直线。在过滤之前我们认为有29条直线是做右车道线,之后有27条,说明有2条直线是由于误差被识别出来的车道线,实际上它并不是右车道线,通过斜率把它筛选出来,这样就实现了离群值过滤。通过斜率过滤掉一些没有用的,得到了如表1:
表1离群值过滤图
3非正常光照条件下车道线的识别
对于非正常光照条件下,如强光、弱光、夜间行车等特殊环境,图像的预处理尤为重要。鉴于非正常光照条件下,图像受光线强度、入射方向以及分布状况等因素影响较大。通过实验分析可知,即使在非正常光照条件下,车道线仍保留明显的边界特征。因此,文中用两次Sobel算法提取边界特征。经过Sobel算子处理后,车道线边界向外扩展(变粗),不利于车道线的精确识别。为此,文中应用形态学滤波对Sobel算子处理后的图像进行细化。然后采用可变窗口进行图像分割方法,有效克服光照不均匀下图像的二值化问题。
4车道线跟踪方法
车道线检测过程中,路况不同实际道路显示的图像也不同。车道线如果出现磨损,比如有些车道线中间断开,有些车道线被污渍盖住,车道线无法准确辨别。为了能够在这些情况下提高车道线的检测准确率需要跟踪车道线。在分析处理道路图像时,因为图像的连贯性所以可以通过图像分析车道线上一帧的情况和下一帧的情况,达到车道线跟踪的目的。车道线跟踪方法有四种:第一特征点追踪方法,这种方法的原理是分析出道路图像的特征,比如车道线的边缘,然后通过特征点预测下一帧车道线的位置,低速行驶道路比较适合这种跟踪方法;第二区域匹配跟踪方法,这种方法将道路图像进行分割,将分割后图像中的颜色和边缘纹理等特征与模板对比分析,从而跟踪车道线,这种方法需要有目标模型,在实际应用过程中受多种因素影响,使得车道线跟踪准确率比较低;第三主动轮廓跟踪法,将图像分割问题转换为求解能量泛函最小值问题,为图像分割提供一种全新的思路。主动轮廓模型的主要原理通过构造能量泛函,在能量函数最小值驱动下,轮廓曲线逐渐向待检测物体的边缘逼近最终分割出目标,最大优点是在高噪声的情况下也能得到连续、光滑的闭合分割边界。按照能量函数构造方式的不同,可以将主动轮廓模型分为基于边缘和基于区域两类;第四贝叶斯跟踪方法,这种方使用贝叶斯分离器得到道路图像边界。
5复杂环境车道线分析与识别
在车道线的识别中,复杂道路环境情况是目标识别的难点,识别过程可能遇到的干扰因素包括:雨雪天气、遮挡物、光照不均(强光照/弱光照)等。本文通过对24张复杂道路图片(包括:夜间光照不均匀、遮挡、雨天、阴天等)进行识别,车道线识别正确率为62.5%,微调ROI参数后正确率可提升至83%。图1给出了四张复杂道路车道线识别结果,可以看出:本文算法对于复杂背景车道线拟合具有良好效果。图2为本系统所设计的道路边界识别算法GUI界面及识别结果。通常,车道线宽度为15cm,在实验图像中占据6个像素,像素当量为2.5cm/pixel。通过对24张复杂环境下的车道线图像拟合结果与实际值进行误差分析,最大偏差为8pixel,最小偏差为0pixel。
图1复杂环境车道线识别实现
图2车道线识别算法GUI界面及结果显示
结语
本文基于图像处理技术,结合OpenCV开源的计算机视觉函数库进行实验任务,首先,为了提高任务检测的准确性,将车道线检测所用的彩色图转换为灰度图;然后通过Can-ny边缘检测算子提取图中的车道边缘;同时,为了减少检测过程中的环境干扰和提高检测效率,获取了图中的感兴趣区域;最后利用霍夫变换对车道线进行拟合,在此过程中依据所获取直线的斜率对左右车道线分别拟合,并利用离群值过滤剔除掉那些因为误差而被识别出来的直线,并结合最小二乘直线拟合得到了车道线数据,结果表明该算法具有良好的拟合能力。本文所研究的内容和实验验证是在良好的环境条件下对直道车道线进行的单道检测,但在实际生活中天气环境和道路状况等条件是复杂多变的。近年来,随着深度学习领域的发展和GPU计算性能的提高,在图像分割、目标检测、行为识别等领域取得了突破性进展,为了满足目前自动驾驶领域功能模块的需要,在以后的研究中可以运用深度学习的算法对复杂天气和多车道及曲线轨迹预测等任务进行实验,从而满足自动驾驶系统应用的功能需求。
参考文献
[1]曹树星.基于OpenCV的直道车道线识别技术研究[J].汽车实用技术,2022,4705:26-29.
[2]刘宇,韩磊,王程庆,孙扬.基于视觉的车道线检测算法研究综述[J].汽车实用技术,2021,4622:24-27.
[3]孙影.基于视觉的智能汽车面向前方车辆的运动轨迹预测技术研究[D].沈阳理工大学,2020.
[4]佟洋,毛须伟,张茂桢,徐熙平.一种基于图像处理的车道线识别方法[C]//.国防光电子论坛第二届新型探测技术及其应用研讨会论文集.,2015:79.
[5]莫玲,李剑豪,肖苏华,张帆,甘艳.基于灰度图像的车道线识别系统研究[J].轻工科技,2021,37(01):80-83.