基于机器视觉的车道线识别方法
2021-06-21胡泽军项新建黄炳强姚佳娜王乐乐
胡泽军,项新建,黄炳强,姚佳娜,王乐乐
(1.浙江科技学院机械与能源工程学院,浙江 杭州310000;2.浙江科技学院自动化与电气工程学院,浙江 杭州310000)
高级辅助驾驶系统正逐渐融入电动汽车。辅助系统既能在危险情况下提醒驾驶员,又能主动介入驾驶过程对危险驾驶行为进行干预。在今后,智能驾驶辅助系统将变得更为智能,而车道线的提取为智能驾驶辅助系统重要组成部分之一。车道线精准的检测提取,为自动巡航驾驶、车道保持、变道超车等技术提供重要的信息基础,为驾驶员在行驶的过程中提供安全保证[1-3]。
实现非结构性道路和结构性道路的快速车道线检测、跟踪是该模块的关键问题。YU等人[4]提出了一种多分辨率和多尺度霍夫变换(Houghtransform)车道边界检测,通过设定的车道线几何特征的阈值,得到车道线的方法。LEE[5]提出了通过边缘分布函数估计车道后续车道线方向变化,但是对于虚线和弯道检测效果并不理想。KANG等人[6]在平坦路面基础上,根据边缘梯度变化方向以获得车道线拟合的初始控制点,最后根据密度函数确定最佳位置。文中使用了基于梯度检测的模型,后使用Gabor滤波器获得最优车道线。MECHAT等人[7]在文中使用了支持向量机分类筛选的方式对车道线区域进行筛选,并利用曲线定义了车道模型。KORTLI等人[8]在道路图像中建立感兴趣区域(Region of Interest,ROI),使用高斯滤波进行去噪,边缘检测进行用边缘加强,以获得车道线边界的提取方法。SHIN[9]在文中采用了粒子过滤器的车道线检测方法,对其进行了复杂的环境优化,提高了多路况下车道线检测的鲁棒性。李茂月等人[10]在文中改进划分角度检测算子,对视角变换后的车道线采用DBSCAN聚类及NURBS曲线进行拟合,并利用随机抽样一致法优化车道线模型以滤除误匹配。姜立标等人[11]针对传统Hough变换和最小二乘法拟合提出改进建议,并通过卡尔曼滤波跟踪车道线,以提高其鲁棒性。
由于实际道路中存在车道线破损、车辆遮挡等问题,导致前期使用传统图像算法进行边缘检测提取关键信息的方式存在缺乏鲁棒性、准确率低等问题。后续笔者虽然引入了连续性判定和SVM等方式,增强了系统的鲁棒性。但是对于结构化道路、高动态光线变化场景的影响,改善上述算法存在准确率低等问题。鉴于此,本文提出了一种基于Hough直线检测的车道线提取方法,利用SVM识别出车道线信息,通过添加控制点过程将车道线与HOG特征提取出来,从而实现车道线的拟合。
1 预处理
为了提高车道线检测的精度与效率,需要对所采集的图像进行区域筛选,以消除图像中干扰因素对车道线检测的影响。通过对多数车载视频序列中的上万帧的序列图像分析得出,图片中将会包含部分天空区域。根据实际情况需求后续将该图像区域纳入非感兴趣区域中。
1.1 车道线区域截取
对于所检测的图像,车道线主要存在于车辆前方矩形区域,划分区域时需要去除图片中的天空、建筑、树等干扰因素。在行车过程中,拍摄图像视角一般处于固定状态,因此可采用静态参数配合动态规划进行区域划分。预设条件步骤如下:①天空位于图像上半部分区域,从上往下隔行扫略,获得亮度与变化幅度;②根据天空像素变化的亮度与地面区域的亮度有明显分界处;③根据亮度与梯度修正截取图片;④固定此参数,为后续车载视频提供截取ROI区域。
白天ROI区域选取如图1所示。根据图1灰度值变化曲线,假设一张图像的长和宽(H、W),白天天空与道路处于明显的分界处,位于图像上部分0.6H处,因为在0.6H处产生变化,平均灰度值降低。根据上述筛选,将图像最后截取为下半部分的0.4H范围。除去这一区域内干扰项的影响后,行车记录仪由于其放置的不同,导致其在不同高度下将对应不同的视角情况,而统计车道线和前车的位置,通常都位于视频图像的下半部分。而行驶中,车道线将会呈现梯形的图像区域,最后在公路尽头消失或者天空与道路分界消失。通过分析所拍摄的图像,得出如下结论:在固定角度的情况下,若将相机放置在离地面较近的位置,则图像获得的感兴趣区域较少,所收集的信息较少,因而需要放置到合适的高度,同时结合预先的车载相机的消光线,就可以有效地划分出前车的位置范围。前车的位置范围即为图1所示的ROI区域。
图1 白天ROI区域选取
1.2 截取图像预处理
图像经过截取后,对于车道线的提取并不需要彩色图像信息。对三通道图像进行加权求和灰度化如下Gray(x,y)=[R(x,y)+G(x,y)+B(x,y)]/3。
得到灰度图,减少了后续处理过程中的数据量,可适当提高算法的处理效率。
对图像进行灰度化处理后,文中利用中值滤波去除椒盐噪声,改善图像质量,保留有用信息,提高后续检测的准确率。中值滤波采用公式:G3×3=Med{f(x,y),f(x-1,y-1),…,f(x+1,y+1)}。其中,G3×3为遍历框大小,f(x,y)为图像框内像素点的像素值,求取其中3×3框内的中位数赋值于整个框,能有效抑制图像中椒盐噪声的影响。
1.3 图像直线提取
对于经过截取滤波的图像,进行边缘检测和Hough检测后提取直线,如图2所示。图2中所检索到的图像,存在多检、误检等直线。因此需对其进行筛选,以得到车道线,下文将通过特征提取方式进行优化提取。
图2 Hough检测后车道线检测图
2 车道线提取
经上述预处理后的图像,通过图像行向量亮度梯度的变化,确定了道路与天空界限阈值,从而提供了预筛选区域。
2.1 图像遍历
车道线检测的图像中,直线由两端直线所确定,但是缺少中间控制点所拟合的直线会出现不贴合原车道线的图像。故根据所提取的直线端点,进行框选,框选步骤如下:①基于X轴坐标,将坐标进行排序后,归为n类,并设置条件|Xline1-Xline2|≤w/n,其中,Xline1为直线端点X轴坐标值,w为所输入图像的宽度;②基于分类线,截取覆盖同类线的最小矩形;③对矩形框中图像进行分割,对中间控制点进行特征提取,进行最小二乘拟合车道线。
经过上述预处理后,并进行分割遍历,遍历方式如图3所示。
图3 部分图像遍历效果
图3中,该方法把行驶区域分成多个子图象,将车道线提取问题转化为图像分类问题。子图像中的车道线子图像具有明显的特征:为梯度变化连续的区域。因此可采用图像分类法对其进行筛选处理。
2.2 车道线类特征提取
通过图像遍历分割得到的图像,先采用HOG(Histogram of Oriented Gradient)的方式对行图像进行特征提取,最后采用SVM对子图像进行分类。HOG特征提取的方式如下:①对图像进行归一化处理,以减少不同光照下对样本的影响。②利用核函数对图像进行卷积运算,求得各个方向的梯度,gx=I(x+1,y)-I(x,y),gy=I(x,y+1)-I(x,y),其中,I(x,y)为图像在该点的像素值。根据梯度值,可通过公式计算梯度的方向,为g(x,y)=(gx2+gy2)0.5,θ=arctan(gy/gx)。③通过计算得到各个方向的梯度值与角度值,对图像进行窗口滑动,统计每一块的方向梯度值,以此转化为每张图的特征。
根据预筛选的分割图像进行归类,利用SVM进行分类,得出二分类模型,以此对图像上的车道线区域进行划分。经过HOG特征提取后SVM分类准确率可达到96.3%,可适用于分割图像的分类。整图测试过程,如图4所示。
3 车道线拟合
根据得到的分类模型,对预筛选区域的图像进行划分后所得到的子图像进行区分。所提取的车道线坐标仍然是离散坐标,对图像进最小二乘法拟合曲线步骤如下:①判断是否Hough检测到直线。如若没有检测到直线,进行全局遍历搜索车道线特征点,并执行以下流程:通过HOG配合SVM分类器,进行全图遍历搜索图像;对疑似车道线特征区域进行提取后,进行归类(判定条件3×3空间内是否存在被判定为车道线的区域);对判定为车道线区域利用图像中心线判定左右后进行坐标拟合。②将提取的车道线端点进行分类后,按所提取的图像区域遍历搜索图中车道线特征区域,提取中心点坐标值。③以提取出的坐标值为依据,用最小二乘法拟合曲线。
经过拟合后的车道线,如图5所示。
图4 SVM目标检测结果
图5 拟合车道线过程图
图5中黑色为Hough检测后,经筛选得到的直线,经过归类。白色为提取中间车道线区域中心点,利用上述参数采用二次型函数进行拟合车道线。
4 结论
经过测试,通过配合Hough直线检测提取出的直线,根据最小矩形所分割出的图像区域并从中利用HOG特征配合SVM提取车道线控制点的过程。可以有效利用于结构化车道线提取,即使对于未提取到Hough直线区域也可以利用HOG配合SVM进行校准,以防丢失车道线区域。但是对于更为复杂非结构化的道路,需要更多样本特征,用神经网络将会取得更好的精度,但是一定程度上会降低效率,因此本方法仍需不断优化,以应用于更广泛的场景中。