一种基于多重衡量标准共检的车道线检测方法
2020-07-23王娇韩加蓬李煜马骏郭栋谭德荣
王娇 韩加蓬 李煜 马骏 郭栋 谭德荣
摘 要: 针对当前传统车道线检测算法较复杂,适应性及鲁棒性较差,且直?弯车道线检测的准确度较差的情况,提出一种基于多重标准共检的车道线识别方法。对原图像进行灰度化处理后双重设定感兴趣区域(ROI),利用脊度量和Canny检测算子进行边缘特征的提取,双重标准确定直?弯车道线的分界线,利用直?弯车道线模型进行车道线检测。通过实际道路图像对所提方法进行实验验证,车道线检测准确度和拟合程度较高,场景适应能力强,且能够满足实际道路的需要。
关键词: 脊度量; Canny检测算子; Hough变换; 双重标准; 分界线; 直?弯车道线模型
中图分类号: TN911.73?34; TP391 文献标识码: A 文章编号: 1004?373X(2020)05?0068?06
A lane detection method based on multi?criteria common inspection
WANG Jiao, HAN Jiapeng, LI Yu, MA Jun, GUO Dong, TAN Derong
(School of Transportation and Vehicle Engineering, Shandong University of Technology, Zibo 255049, China)
Abstract: In view of the complexity, poor adaptability and robustness of traditional lane detection algorithms, and the poor accuracy of straight?curve lane detection, a lane recognition method based on multi?criteria common inspection is proposed. The original image is grayed and double ROI (region of interest) is set. Then the ridge measurement and Canny detection operator are used to extract edge features, and double standard is set to determine the boundary of straight?curve lane. The straight?curve lane model is used for lane detection. The method is verified by experiments on actual road images, which shows that the accuracy and fitting degree of the lane detection are high and the scene adaptability is strong. Therefore, this method can meet the needs of actual roads.
Keywords: ridge measurement; Canny detection operator; Hough transform; double standard; boundary; straight?curve lane model
0 引 言
随着中国汽车产业的不断发展,汽车保有量的不断上升,存在的汽车安全隐患增多,加速了汽车智能自动驾驶系统的发展。车道线的精准识别是汽车实现自主驾驶的基本前提。当前,基于视觉的车道线检测方法主要分为基于特征和基于模型两大类。
基于特征的提取方法是通过分析车道线的特征信息,例如颜色、边缘等,通过对路面的车道线进行分割提取,从而检测出车道线;基于模型的提取方法是通过提取车道线的特征点,利用直线、抛物线和曲线等模型对车道进行匹配,进而对边缘特征点进行拟合后获得车道线模型参数。
文献[1]对黄色车道线的检测是通过在HSV颜色空间的颜色特征,收集不同光照强度条件下的黄色车道线作为样本,再以此样本作为检测后续黄色车道线的先验知识,利用边缘的直线特征进行检测。文献[2]采用Canny算子进行边缘检测,根据车道线的角度特征采用Hough变换对车辆内侧车道线进行检测。以上两者是基于特征的方法檢测车道线。文献[3]使用行方向的Sobel算子对处理区域进行边缘增强后,使用LSD进行线段提取,利用线段中的角度信息和位置信息来确定最佳车道线。文献[4]采用LSA算法对图像进行灰度化处理,然后采用抛物线模型对车道线进行拟合,采用混沌粒子算法对抛物线参数进行优化,经过多次迭代得到参数最优值,识别出车道线。以上两者是基于模型的方法检测车道线。
在实际的道路车道线检测场景中,通常会存在一些诸如车道线有破坏、其他干扰标志线、树荫的情况,以上情况对车道线的检测存在较大的干扰,而且当前的车道线检测算法大多是基于局部对比的方法提取边缘特征,未从全局中考虑,致使当前的车道线检测方法的适用性有较大的局限性,为解决以上问题,需全面地考虑道路中存在的环境信息来实现车道线的识别。因此,本文提出一种基于多重衡量标准的车道线检测方法。
本文通过对原图像设定双重感兴趣区域,以消除道路中树木和护栏等的干扰;利用脊度量和Canny检测算子进行边缘特征的提取,设置双重标准确定直?弯车道线的分界线,最后利用直?弯线模型对车道线拟合。该方法可以有效地避免道路中的干扰,在边缘特征点获取上,脊度量作为全局算子不易受到局部噪声的影响,可以有效地提高此算法的鲁棒性。
+45°Sobel算子:
[21010-10-1-2]
-45°Sobel算子:
[012-101-2-10]
利用改进的Canny检测算子进行车道线检测,仅增强了车道线的内侧,易识别且保证了精度。
3) 用非极大值抑制排除伪边缘信息,以及用滞后阈值算法保留图像中较多的细节边缘信息。
3 直?弯车道线分界线的提取
实际道路中存在直线和曲线两种车道线,为提高检测准确率,采用不同的模型进行检测。因此,需确定直?弯车道线的分界线。
3.1 梯度方向确定分界线
直?弯车道线最大的区别在于斜率的变化,第2节中利用Canny检测算子已计算出车道线的梯度幅值和方向,利用相邻梯度方向变化大的特点,将此变化大的行數作为直?曲车道线的分界线。
将二值化后的图像划分为[a×b]的子区域,然后对各个子区域的边缘线求取梯度方向,搜索相邻行中梯度方向变化较大的子区域,将此区域作为直?弯车道线的分界线,如图1所示。
通过梯度方向确定的分界线易受噪声边缘的影响,易造成较大偏差。因此,只能作为初步筛选。
3.2 特征点到直线方程距离确定分界线
利用梯度方向对分界线进行初步的筛选后,从图像底部向上的[13]之内的车道线采用Hough变换,获取的斜率和截距得出直线方程;然后获取剩余车道线的特征点,以每隔10个特征点为一个定点,计算此点到直线方程的水平距离,并计算出5个定点到直线距离的均值[d],设定阈值[dth],用于直?弯车道线的判定。具体步骤如下:
1) 从图像底部向上的[13]之内的车道线采用Hough变换,通过获取的斜率[k]和截距[b]可以得出直线方程[y=kx+b];
2) 获取剩余车道线的特征点为[M(m1,m2,…,mn)],以每隔10个特征点为一个定点[D(d1,d11,…,dn-10)];
3) 计算定点[D]到直线方程[y=kx+b]的水平距离,假设其中一定点为[p(u1,v1)],直线上相对应的水平点为[q(u2,v1)],其到直线方程的水平距离为[d=u1-u2];
4) 计算相邻5个定点到直线距离的均值[d],即[d=(d1+d2+…+d5)5];
5) 设定阈值[dth],若[d
若为曲线,则从第一个定点开始,其所在行为直?弯车道线的分界线,分别针对不同形状的车道线进行检测拟合。
4 车道线检测
通过Hough变换获取车道线的相关参数,确定初步的车道线,以此初步车道线为中心线分别向左右两个扩充10个像素,作为后续车道线进行检测拟合的感兴趣区域[ROI3],为后续的车道线拟合缩小图像的处理范围以减少处理时间。
4.1 直车道线检测
4.1.1 Hough变换
在车道线识别领域中,应用最广泛的为Hough变换[6]。Hough变换描述了图像坐标空间中的一条直线可以变换到对应参数空间中的一个点。在实际的应用中,为计算方便,将参数空间的坐标形式转化为极坐标形式,通过[ρ]和[θ]进行量化。具体步骤如下:
1) 图像空间被分割出多个参数区间,设计各参数空间相应的累加器,并初始化为0;
2) 在感兴趣区域[ROI3]中搜索边缘像素点,求取参数[θ]和[ρ]的值;
3) 每一个[(ρ,θ)]单元投票累加,累加器加1;
4) 查看每个参数空间单元累加器的值,找到累加器值为最大时所对应的[θi]和[ρi],即为需要拟合的直线参数。
根据[θi]和[ρi]粗略计算需要拟合的直线,且直线附近像素点的集合为[Q]。再利用最小二乘法对车道线进行拟合,避免由于像素点多且杂乱而导致出现多条直线而无法拟合的现象。
4.1.2 最小二乘法车道线拟合
通过上述Hough变换已经得到每个参数子区域里所有车道线的点,为得到车道线模型的参数,利用最小二乘法进行拟合。
将利用Hough变换得到的[θt]和[ρt]值采用最小二乘法进行拟合,则在图像空间下对应的直线方程为:[y=atx+bt],其中,[at]为斜率,[bt]为截距,同时设定2个像素位误差阈值[dt],通过求取[S]中的像素点到直线[y=atx+bt]的距离为[dt],即:
[dt=atxi+bt1+a2t, (xi,yi)∈Q,i=1,2,…,m ] (13)
若[d
先用Hough变换获取初步车道线特征点后,后用最小二乘法进行拟合的方法,可有效提高拟合精确度,避免受较远点干扰。
4.2 弯曲车道线检测
4.2.1 弯曲车道线模型的建立
本文弯曲车道线模型选用贝塞尔曲线模型[7]。此模型可以根据车道的实际弯曲程度,通过不断地调整曲线参数的控制点来确定具体的曲线模型,进而控制拟合曲线的走向,实现弯曲车道线的拟合。
通过[P0],[P1],[P2],[P3]四个顶点可以表达一条三阶的贝塞尔曲线。点[P0],[P3]为曲线的起点和终点,点[P1],[P2]为控制曲线的走向,以调整曲线的弯曲程度。三阶贝塞尔曲线相应的数学表达式为:
[P(t)=(1-3t+3t2-t3)P0+(3t-6t2+3t3)P1+(3t2-3t3)P2+t3P3] (14)
写成矩阵的形式为:
[P(t)=[t3t2t1]-13-313-630-33001000P0P1P2P3] (15)
式中[P0],[P1],[P2],[P3]对应贝塞尔曲线的四个控制点。
4.2.2 RANSAC对曲线模型的拟合
曲线模型的拟合常采用最小二乘法和随机采样一致性算法。最小二乘法使用了所有的数据点进行模型的估计,易受噪声点的干扰。随机采样一致性算法不会受个别噪声数据点的影响而致使最终的曲线模型出现较大的偏差。因此,本文选用随机采样一致性算法对曲线进行拟合。
随机采样一致性算法是一种从包含所有观测数据中随机的抽取部分数据,不断地进行迭代而估计出模型的最佳参数的方法。具体步骤如下:
1) 在车道线拟合感兴趣区域[ROI3]中查找灰度值不为零的像素点,获取观测数据点集[S];
2) 从观测数据点集[S]中随机选取4个数据点为曲线模型的假设有效点,则拟合出一条弯曲车道线的模型曲线;
3) 计算观测数据中剩余数据点到此模型曲线的距离[dr],若[dr
4) 统计有效点集[Q]中有效点的个数,若大于设定的阈值[n],则执行步骤5),若小于设定的阈值[n],则执行步骤2)和步骤3),以达到有效点集[Q]中的数量设置或迭代次数的上限;
5) 利用有效点集[Q]中的点重新进行曲线模型的拟合,获取最好的拟合结果,当达到所设定的迭代次数的上限时,则算法结束。
利用随机采样一致性算法对三阶贝塞尔曲线进行拟合,通过求解矩阵得到贝塞尔曲线的四个控制点来实现曲线的拟合。
4.3 拟合评价指标
真实车道线应处于所分布的边缘点的中间位置,拟合出的车道线越接近真实车道线,有效点集[Q]中的数据点与拟合出曲线的残差平方误差也就越小,即说明拟合出的曲线越接近真实的车道线。本文曲线拟合的评价标准为:有效点集[Q]中的数据为[m]个样本[(x1,y1),(x2,y2),…,(xm,ym)],拟合模型的估计值为[(x1,y1),(x2,y2),…,(xm,ym)],计算残差平方和[RSS=i=1m(yi-yi)2],若残差平方和的值越小,则说明曲线拟合得越接近真实曲线,拟合程度越高。
5 实验结果与分析
为了验证本文车道线检测的实际效果,本文选取了四种场景来验证算法的鲁棒性及适应性。四处场景的数据集是由车载相机所获得的前方道路图像,如图2所示。通过以上四种场景来验证本文算法的鲁棒性及检测效果。实验测试环境为:Matlab 2013a软件平台,CPU为Intel Core i5,内存为4 GB,操作系统为Win10。
5.1 主观评价
在本实验中包含四个场景,场景一为晴天,场景二为车道线存在遮挡的情况,场景三为路面包括干扰线,场景四为在隧道中光线较暗且存在小弯道。第一行作为输入图像,第二行作为本文算法的车道线检测效果图。
由场景一可以发现,在晴天的检测效果较好且拟合出的车道线几乎在车道线的中间,效果较好;场景二说明在隧道中且前方出现车辆遮挡车道线的现象,没有影响车道线检测的效果,说明本文的算法适用于车道线出现遮挡的情况;场景三说明本文算法对路面上的一些干扰车道线检测的车道标志线可以有效的去除,不易受其干扰,算法的适应性比较强;场景四说明在隧道中,灯光比较昏暗时,车道线与地面的对比度差别减小时,仍能较好地将车道线检测出来。
基于以上四处场景进行车道线检测的效果可以表明,本文的车道线检测算法的鲁棒性较强,且车道线的拟合线几乎处在图像中车道线的中间,检测效果较好。
5.2 客观评价
5.2.1 算法评价指标
为了更加准确地评价,全面地验证本文车道线检测算法的实用性和鲁棒性。采用文献[8]中对车道线检测的评价标准,利用本文算法拟合出的曲线与实际的车道线所在位置之间的差异程度来评价。基于以上条件,本文认为所拟合出的线条只要落在道路图像车道线的范围之内,则不认为造成误检。而对于多测试的图像中所存在的车道线没有被检测出来的,则认为是漏检。
采用文献[9]中的各项性能评价指标对文中四种场景所拟合出的车道线进行评价,其中,评价指标包括:正确的检测率(Correct Detection Rate,CDR)、误检率(False Detection Rate,FDR)以及漏检率(Missing Detection Rate,MDR),采用这三个评价指标对本文算法拟合出的车道线进行检测。定义如下:
[CDR=NCDTNF, FDR=NFDTNF, MDR=NMDTNF] (16)
式中:TNF为被测图像的总帧数;NFD为拟合车道线出现错误的帧数;NMD为被测图像出现车道线未被检测到的帧数;NCD为正确拟合车道线的帧数。
由表1可以看出:本文方法较文献[10]方法更适用于实际道路中,主要是由于本文中加入脊度量来获取特征点,以及双重标准获取直?弯车道线的分界线,可以更好地为车道线模型的擬合奠定基础,也可以提高车道线识别的正确度。
出现车道线部分遮挡、其他标志线干扰的问题,利用限定的车道线检测范围就可以较好地缩小范围,提高拟合准确度,且在场景中出现光线较差,仅依靠边缘检测方法来提取特征不能够满足车道线的检测,通过本文脊度量的优先提取车道线特征的方法,可以有效地提高此种情况下的正确率。
5.2.2 不同方法下检测的残差平方和
分别采用本文算法和文献[10]所提及的直?弯车道线的分界方法进行车道线检测实验,对比不同方法进行车道线拟合的残差平方和,对比结果如图3所示。
从图3中可以看出,采用本文算法比文献[10]的车道线的拟合程度更高。由于本文是采用双重感兴趣区域和双重标准确定直?弯车道线的分界线,更加精确,分别对直车道线和弯车道线采用不同的方法进行拟合,更加适用于不同的车道线检测,从而提升了本文的车道线检测拟合的精度。
6 结 论
针对传统车道线检测算法均较复杂,适应性和鲁棒性较差,且直?弯车道线的检测,准确度较差的情况,本文提出一种基于多重标准共检的车道线识别方法。通过对图像进行双重设定感兴趣区域(ROI),利用脊度量和Canny检测算子进行车道线特征的提取,双重标准确定直?弯车道线的分界线,最后利用直?弯曲线模型进行车道线检测。实验结果表明,经过与文献[10]比较后,本文算法的车道线拟合程度较高,场景适应能力较强,满足实际道路情况的需要。
参考文献
[1] 王怀涛,曹明伟,邢皎玉.基于HSV颜色空间与边缘特征的黄色车道线检测[J].北京汽车,2017(3):14?18.
[2] 黄晓青.基于Hough变换的高速公路车道线检测算法设计[J].宁夏师范学院学报,2018,39(4):57?61.
[3] 胡忠闯,陈杰,顾兆伦,等.单目视觉下结构化车道实时检测[J].信号处理,2017,33(4):635?640.
[4] 黄新,刘璋.基于LDA与混沌粒子群算法的车道线识别方法研究[J].液晶与显示,2017,32(6):491?498.
[5] L?PEZ A, SERRAT J, CA?ERO C, et al. Robust lane mar?kings detection and road geometry computation [J]. International journal of automotive technology, 2010, 11(3): 395?407.
[6] HOUGH V, PAUL C. Methods and means for recognizing complex pattern: US Patent 3069654 [P].1962?12?18.
[7] 屈贤,余烽,赵悦.基于双曲线模型的车道线检测算法[J].湖北汽车工业学院学报,2018,32(1):52?55.
[8] BORKAR A, HAYES M, SMITH M T. A novel lane detection system with efficient ground truth generation [J]. IEEE transactions on intelligent transportation systems, 2012, 13(1): 365?374.
[9] 侯长征.基于视觉的车道线检测技术研究[D].成都:西南交通大学,2017.
[10] 隋靓,党建武,王阳萍.基于分段切换模型的快速车道线检测[J].计算机应用与软件,2017,34(8):201?205.