基于二次阈值分割和车道宽度匹配的车道线检测算法*

2019-07-10 07:31胡胜黄妙华陈毅
汽车技术 2019年4期
关键词:曲线拟合灰度宽度

胡胜 黄妙华 陈毅

(武汉理工大学,现代汽车零部件技术湖北省重点实验室,武汉 430070)

主题词:车道线检测 图像分割 二值图像 最小二乘法 曲线拟合 检测算法

1 前言

环境感知技术是智能驾驶的基础,在复杂的道路环境下,通过车载传感器采集道路信息,特别是对车道线进行检测有不少难点。车道线检测可以分成图像预处理、特征点提取、车道线参数估计和车道线跟踪4个部分[1],在较为复杂的环境下,道路图像的分割和车道线拟合是其中的难点。Cáceres等[2]选择R通道作为图像的灰度图像,再采用大津法(即最大类间差分法或OTSU算法)对图像进行阈值分割,该方法在颜色空间转换时利用了车道线的颜色特征,但是在环境较复杂时采用大津法进行阈值分割误差较大。Xu H等[3]提出基于大津法的二次阈值分割算法,该改进算法通过计算2个灰度阈值T1和T2将图像分为3个部分,能够对包含3类物体的图像较好地进行分割,但对包含2种相似物体的图像易出现误分类。李博等[4]提出了二次阈值分割算法,提高了复杂背景下的识别效果,能够将目标从复杂背景中分割出来,但会丢失一次阈值分割后的部分有效信息。对车道线进行拟合的常用方法有最小二乘曲线拟合[5]、B样条曲线拟合[6]、Hough变换[7]等,这些模型各有优势,但均有提升的空间。车道宽度等空间特征可对车道线拟合起辅助作用,Wang等[8]通过分析相机的透视模型,建立了车道宽度与相机参数之间的关系,该算法通过估计灭点位置,得到车道的宽度特性,对车道线拟合进行辅助,该算法的固定区域划分易导致漏检,且采用Canny边缘检测及多次Hough变换实时性较差。王晓云[9]提出采用梯度点对约束确定宽度特性的方法,该方法根据车道线左、右侧具有相同或相反梯度方向的特性,对车道线边缘点及图像中的各行车道宽度进行估计,该算法计算简单,但在道路环境较为复杂时,根据横向梯度对边缘点进行检测时对噪声十分敏感,导致宽度特性的提取准确率较低。

本文提出一种基于大津法的二次阈值分割方法,在对道路图像进行二值化后,根据车道线的形态特征对图像逐行扫描得到车道线特征点,进而采用分视场最小二乘曲线拟合算法对车道线进行拟合,为提高算法的鲁棒性,提出车道宽度匹配算法,具有一定的应用价值。

2 图像预处理

2.1 图像灰度化

车载相机采集到的是RGB图像,由于RGB图像包含的信息比较丰富,直接在其基础上进行图像分割寻找车道线十分困难,因此需要先进行灰度化操作。将RGB图像转换为灰度图像的函数为:

式中,g为灰度图像的灰度级;R、G、B分别为RGB图像各通道的值。

图1所示为图像灰度化的结果。

图1 图像灰度化

2.2 感兴趣区域提取

为提高程序的实时性,减少图像中建筑、树木的干扰,需在采集到的道路图像中划分感兴趣区域(Region of Interest,ROI)。ROI的选取与摄像机的安装位置相关,图2所示为摄像机安装位置示意。

图2 车载摄像机安装示意

图2中,h为摄像机的安装高度,θ为摄像机的倾角,α为摄像机扫描点与其光轴之间的夹角,d0为扫描点到摄像机的横向距离,(xc,yc)为摄像机光心在成像平面上的投影点,f为摄像机焦距,yi为摄像机扫描点在成像平面上的投影点的纵坐标。由图中的几何关系可得:

式中,dx为图像像素坐标系中一个像素在图像物理坐标系中的尺寸。

设车道线检测的目标距离为D,则根据式(2)和式(3)可得,图像中ROI(图1中两条直线中间的区域即为ROI)上、下边界的纵坐标分别为:

式中,ye为发动机罩在图像中的纵坐标,摄像机安装好之后,ye为定值。

2.3 二次阈值分割

为将车道线从道路图像中提取出来,即将目标(车道线)与道路背景进行区分,需要对灰度图像进行二值化处理。二值化处理的核心是确定灰度阈值,为提高程序的鲁棒性,使二值化算法适用于不同的场景,采用大津法确定灰度阈值。其基本思路是:选取的最佳阈值应当使得区分出的目标和背景两类间具有最好的分离性,而将两类间统计意义上的灰度值方差作为类间分离性优劣的判据。图像的最佳阈值为:

式中,μ0、μ1和μ分别为目标、背景和整幅图像的灰度均值;ω0、ω1分别为目标和背景部分像素点占整幅图像总像素点的比例。

图3所示为采用大津法进行二值化操作的效果。当光照条件较好、干扰不多时,大津法能够将车道线从道路背景中区分出来,如图3a、图3b所示;但在光照条件不佳时,高亮区域中的路面与低亮区域呈现出明显的分离性,因此在采用统计学方法求阈值时,灰度值较大的高亮路面会被误分成目标,如图3c、图3d所示。

为了提高二值化算法的鲁棒性,本文提出二次阈值分割算法,算法流程如图4所示。

图3 大津法求二值图的结果

图4 二次阈值分割算法流程

求取二次阈值图可以分为如下步骤:

a.采用大津法求得二值图像,如图5a所示;

b.对二值图进行逐行扫描,记录各行中连续白色像素点的长度lc,由于车道线在图像中具有一定的宽度范围[lmin,lmax],若lc在该范围内,则保留该段连续像素点,否则将其灰度值置为0,处理结果如图5b所示;

c.取出灰度图上与采用大津法求得的二值图上白色像素对应的点,对该点集再根据大津法进行一次阈值分割,得到一个只包含车道线目标和少量干扰的二值图,如图5c所示;

d.对步骤b和步骤c的结果进行与运算,得到最终的输出图像,如图5d所示。

图5 二次阈值分割算法效果

由图5a和图5d可以看出,在ROI中根据大津法进行二值化会将背景误分为目标,采用二次阈值分割算法可对误分的目标进行进一步区分,进而将车道线与道路背景进行区分。图6所示为采用大津法和二次阈值分割算法对道路图像进行分割后提取的候选车道线特征点数量。从图6中可以看出,经过二次阈值分割,从二值图中提取的候选车道线特征点数量大大增加,这表明相比于一次阈值分割,二次阈值分割能够获取更多的有用信息。

3 车道线检测

3.1 车道线特征点提取

在对道路图片的感兴趣区域进行二值化处理后,需要对车道线特征点进行提取,进而完成车道线的拟合。二值图像中的白色像素点大部分是车道线,但也存在前方车辆、路基、路面杂物等的干扰,因此,车道线特征点的提取分为候选点提取和噪点过滤两个步骤。候选点提取是以车道线在图像中具有一定宽度范围为依据的,如图7所示,通过对图像逐行扫描,根据连续白色像素点的长度可以对该段像素点是否属于车道线进行初步判断。

图6 阈值分割方法效果对比

图7 候选车道特征点提取

图8a所示为候选点提取的结果,可以看出,候选特征点中存在部分噪点,需要进行过滤。过滤算法的原理是利用候选特征点的坐标将候选特征点集分为小段,再根据车道线的连续性对每一小段是否为噪点进行判断,进而滤除噪点,图8b所示为噪点过滤的结果。在对噪点过滤的基础上,对有效点进行分类,对分属于不同车道线的点分别进行拟合。

图8 车道线特征点提取

3.2 基于最小二乘法的分段曲线拟合

最小二乘法是一种通过最小化误差的平方和寻找数据的最佳函数匹配的数学优化方法,其目标是求出在给定点(x0,y0),(x1,y1),…,(xm,ym)处与给定点的距离平方和最小的曲线y=p(x)。

最小二乘曲线拟合的数学模型为:

式中,I为误差的平方和;p(xi)为目标函数;m为用于车道线拟合的车道线特征点数量;n为选择的多项式的最高次数;xi、yi分别为各点的横、纵坐标;aj为多项式的各项次数;j为多项式的各项指数。

本文选择用多项式函数来描述车道线,因此需要求出多项式的各项系数aj,式(6)的正规方程组为:

通过求解式(7)可以得到多项式的系数。

由于在实际场景应用时对车道线的线型没有先验信息,因此对车道线进行拟合需选取一种能适用于不同场景的方法。本文采用的方法是分段曲线拟合,如图9所示,将用于车道线拟合的车道线特征点等分为4个部分,第Ⅱ、Ⅲ、Ⅳ部分位于图片的中下方,其曲率较小,采用直线拟合。第Ⅰ部分根据其最上端点的纵坐标选择采用何种拟合方式:若上端点纵坐标较小,说明可供拟合的特征点数量足够,则采用三次曲线拟合,以尽可能贴近曲线的实际趋势;若上端点纵坐标较大,说明本帧中用于拟合的特征点较少,为了防止出现趋势错误,采用直线拟合。图10所示为不同曲线拟合方法的效果对比。

图9 分段曲线拟合示意

图10 不同方法拟合结果对比

如图10所示,采用三次曲线拟合和直线拟合均会出现过拟合或欠拟合,采用分段直线拟合会在曲率较大时出现较大误差,而本文提出的曲线拟合算法拟合结果与实际的车道线及其趋势较为切合。

表1所示为对图10中的车道线采用不同拟合方法所需的拟合时间以及拟合的残差。从表1中可以看出,除Hough变换实时性较差外,其余方法实时性均较好,且本文提出的曲线拟合算法残差明显小于其余方法,表明其具有更大的准确率。

表1 车道线不同拟合方法对比

4 车道宽度匹配算法

由于车辆在行驶过程中,道路上的车道线可能出现某一侧被遮挡或者缺失的情况,导致直接进行拟合出现较大误差。为了提高车道线检测算法的鲁棒性,提出车道宽度匹配算法,以一侧的拟合结果对另一侧车道线的参数进行估计。

世界坐标系和图像坐标系中的车道模型如图11所示。已知世界坐标系中的两点(xl,y)和(xr,y),通过透视变换到以左上角为原点,c轴为横轴,r轴为纵轴的图像坐标系中的两点坐标分别(cl,r)和(cr,r),则可得世界坐标系中的道路宽度为:

图11 车道模型

而图像坐标系的道路宽度为:

根据透视的原理,还可以得到[5]:

其中:

式中,k为用于宽度匹配算法的宽度匹配系数;w为世界坐标系中车道的宽度;hz为车道线灭点所在的直线的纵坐标值。

由于镜头的透视作用,地面上相互平行的两条车道线在图像中会由近至远相交于一点,通常将交点称为灭点(Vanishing Point)。

根据相似原理,在图像坐标系中可得:

与式(10)联立可得:

式中,cbr和cbl分别为图片中左、右车道线最底部点的横坐标,rb为车道线最底部的纵坐标;L1为图像中某一行距车道线灭点的高度;L2为灭点距车道线底部的高度。

在任一时刻,车道在世界坐标中的宽度处处相等,由式(11)可知,在该时刻宽度匹配系数k为固定值,通过式(13)对k值进行计算后,即可通过式(10)求出图像坐标系中各行的车道宽度,进而根据一侧车道线的拟合结果对另一侧车道线进行匹配,增强算法的鲁棒性。

由式(13)可知,求车道宽度匹配系数的关键是找到灭点的位置。当车道线为曲线时,灭点的求取十分困难。如图12a所示,YueWang等[8]提出将图片分成几个固定的区域,在每个区域中将左、右车道线作为直线处理,进而寻找灭点。但如图12b所示,当车道线为虚线时,车道线不连续导致某区域中没有直线,且固定区域的划分没有充分利用虚线段的特征。

针对以上问题,提出改进的宽度匹配算法,步骤为:

a.对左侧车道线提取到的车道线特征点坐标进行分析,按照虚线段的分布将特征点分成3个部分,进而对图像区域进行划分,如图12b所示;

b.在区域1中,分别对左、右侧车道线特征点进行直线拟合,进而求得灭点VP1,再根据式(13)求出该区域的宽度匹配系数k1;

c.在区域3中重复步骤b的过程,求出该区域中的灭点VP3和宽度匹配系数k3;

d.在区域2中,由于左侧不存在车道线特征点,不能进行直线拟合。考虑到车道线曲率变化的连续性,采用区域1和区域3中的灭点和宽度匹配系数的均值作为区域2的灭点VP2和宽度匹配系数k2;

e.根据各区域中的灭点的纵坐标和宽度匹配系数,按式(11)求出图像中车道各行的宽度;

f.对右侧车道线进行曲线拟合,根据步骤e求出的车道各行宽度对左侧车道线进行匹配。

5 试验结果及分析

为验证所述算法的准确性和实时性,以飞思卡尔的iMX6为硬件平台对算法进行了实车测试,图13所示为系统布置示意。iMX6是一款基于Cortex-A9架构、主频为1GHz的四核车规级芯片。车载摄像机以30帧/s的速度采集分辨率为640×480DPI的道路图像,在iMX6平台上对图片进行实时处理并显示车道线识别结果。在不同环境下,该算法处理1帧图像的时间均在17ms以内,能够满足实时性需求,综合识别准确率可达94%以上,表2所示为在不同环境下对车道线进行检测的结果,其中时间段1中道路条件较好,时间段2中存在标识符、前方车辆、高架桥阴影等干扰,时间段3为夜间,时间段4为雨天。表3所示为不同车道线检测算法的准确率对比,其中文献[10]采用Canny检测算子对图像进行分割,采用随机抽样一致(Random Sample Consensus,RANSAC)曲线拟合算法进行车道线拟合。文献[11]采用Hough变换进行车道线检测。从表3可以看出,本文所提出的算法实时性和准确率均优于文献[10]及[11]中的算法。

图13 硬件平台系统布置示意

表2 检测结果

表3 不同算法识别准确率与实时性对比

图14所示为部分识别结果,从图14可以看出,本文提处的车道线检测算法能够适用于多种复杂的场景,具有一定的应用价值。

图14 不同环境下检测结果

6 结束语

本文对道路图像分割及曲线拟合问题进行了研究,得到如下结论:

a.采用基于大津法的二次阈值分割方法,将复杂环境下的道路图像分割分为正确目标提取和误分目标再分割两个步骤,能将车道线信息较为完整提取出,相比于传统的阈值分割算法,对环境有更强的适应性。

b.提出一种基于最小二乘法的分视场自适应曲线拟合算法和车道宽度匹配算法,解决了不同线型自适应拟合的问题并提高了复杂环境下的鲁棒性,达到了94%以上的综合准确率以及17ms的单帧处理时间。

c.本文提出的二次阈值分割方法和曲线拟合方法适用于较为复杂的光照及道路环境,具有一定的应用价值。针对复杂道路环境,建议对本文二次阈值分割过程进行重复,达到更好的分割效果,同时可采用滤波算法对车道线进行跟踪,降低漏检率。

猜你喜欢
曲线拟合灰度宽度
航空滤光片阵列多光谱图像条带灰度调整算法
采用改进导重法的拓扑结构灰度单元过滤技术
天津港智慧工作平台灰度发布系统和流程设计
基于MATLAB 和1stOpt 的非线性曲线拟合比较
Arduino小车巡线程序的灰度阈值优化方案
曲线拟合的方法
应用曲线拟合法优化油井合理沉没度
孩子成长中,对宽度的追求更重要
你有“马屁股的宽度”吗?