基于CCD参数智能调节的车道线检测*

2014-10-11 07:41葛平淑杜元虎王荣本
汽车工程 2014年7期
关键词:数组灰度车道

葛平淑,郭 烈,杜元虎,王荣本

(1.大连民族学院机电信息工程学院,大连 116600;2.大连理工大学汽车工程学院,大连 116024;3.吉林大学交通学院,长春 130022)

前言

车道偏离预警系统是汽车安全辅助驾驶技术研究的重要组成部分,通过警告疲劳或注意力不集中的驾驶员,使其修正无意识的车道偏离,从而减少车辆偏离行驶车道事故的发生[1-3]。其中,如何快速、准确地提取出道路中车道标识线或道路边界是影响该系统应用的关键[4]。由于车道偏离预警系统是针对高速公路而开发的,而车辆在高速公路运动的典型特点就是行驶速度快,光照不断变化,采集到的图像内容复杂,噪声较多[5-6]。在这种情况下,系统的实时性与算法鲁棒性的矛盾就成为制约车道偏离预警系统实用化的主要原因[7]。

针对上述问题,本文中建立相对简单的直线道路模型,采用Hough变换算法对车道线进行检测。Hough变换是一种鲁棒性较强的直线提取方法,它对直线中的缺损部分、噪声和其它共存的非直线结构不敏感,其缺点是计算量大,不利于系统的实时性[8]。因此,本文中提出一种基于CCD摄像机参数智能调节的车道线检测算法,依据图像特征区域进行CCD参数调节,从而减少路面上的噪声和干扰,弥补后续Hough变换计算量大的不足。并在此基础上提出基于改进Hough变换的车道线检测算法。

1 基于图像特征区域的CCD参数调节

车道偏离预警系统对CCD摄像机的图像采集速度要求较高,满足这项指标的CCD普遍采用了可编程增益、亮度和曝光时间(本文中统称为CCD参数)控制技术。因此,可以通过编程控制来实时调节CCD的参数,有针对性地增强路面与车道线的对比度,有利于图像分割,并减少图像噪声,提高车道线识别算法的可靠性和实时性。本文中采用BaslerA602f型CCD摄像机,利用IEEE1394视频采集卡的驱动函数通过编程来实时设定CCD参数。

对于车道偏离预警系统而言,CCD内部参数设定的依据原理就是增强车道线与路面的对比度,主要通过确定图像的特征区域和计算特征区域内的特征值来实现。

1.1 图像特征区域的确定和特征值计算

将图像划分为如图1所示的6个特征区域,A区为图像上部中央1/4区域,该区域图像的灰度均值μa和方差σa可表示天空的明暗情况[9]。

B区为图像底部中央矩形区域,其宽度和高度分别为图像宽度和高度的1/4,该区域图像的灰度均值μb和方差σb可表示地面的明暗情况。

C、D、E、F区域主要包含车道标识线信息,这4个区域的灰度均值和方差可在一定程度上表示车道线周围图像的明暗情况。由于车辆的运动,车道线在图像中的位置并不是固定不变的,因此,C、D、E、F区域(称为车道线特征区域)也应该是不断变化的。具体划分则须根据车道线是处于检测状态还是跟踪来确定。

当车道线处于检测状态时,并不知道车道线位置,也就不能确定车道线的特征区域,根据试验数据可大体定义一个能够包含车道线的特征区域。具体划分为:图1中的QS宽度为160像素,Q点与S点关于y轴对称,PQ与x轴的夹角为45°,ST与 x轴的夹角为135°,MN与PQ平行,NL与ST平行;I、G、K和J分别为离图像底线1/4高度线(与B区上边界线同高)与PQ、MN、NL和ST的交点。因此检测状态下的特征区域在图像中的位置是固定的,在此基础上可进行特征区域内灰度均值和方差的计算。

当车道线处于跟踪状态时,通过建立动态梯形特征区域的车道标识线跟踪来提高系统的实时性。由于投影变换影响,图像底部与图像中央部分的车道标识线偏离的距离会有所不同,因此利用6个特殊点来建立梯形动态特征区域,见图2。O点为前一帧图像中车道线的相交点,其坐标为(Ox,Oy);L点为左车道线的端点,坐标值为(Lx,Ly);R点为右车道线的端点,坐标值为(Rx,Ry)。

动态特征区域建立所需要的6个特殊点按下面方式确定:L1点为O点向左平移20个像素,即L1坐标为(Ox-20,Oy);R1点坐标为(Ox+20,Oy);L 点向左平移30个像素后的点L'与点L1所确定一条直线,该直线与图像边缘相交点为L2,L点向右平移30个像素后的点L″与R1点所确定的直线与图像边缘相交点为L3,同理可确定R点左右平移后所得到的与图像边缘相交的点R2和R3。由于车辆在车道中的位置不断变化,因此跟踪状态下这6个特殊点也随着车道线不断变化,由它们所确定的特征区域也是动态的;但在一般情况下,图2的动态特征区域会被包容在图1中C、D、E、F区域内。

以A区为例说明特征值的计算。令w表示图像宽度,h表示高度(本文中w=320像素,h=240像素)。A区图像的灰度均值和方差计算式为

式中:(x,y)为图像中坐标值;f(x,y)为像素点的灰度值。

1.2 CCD参数调节方法

基于图像特征区域的CCD参数调节步骤如下。

(1)根据车道线是处于检测还是跟踪状态,计算各特征区域的特征值,即灰度均值和方差。

(2)前期通过在各种不同光照条件下进行试验,得出结论:当特征区域灰度均值在[60,110]之间时,车道线与路面对比明显,分割效果好。因此,当步骤(1)计算出的灰度均值中有满足在[60,110]之间的,则不调节摄像机内部参数,继续以当前参数设置采集图像;若灰度均值都小于60,则按一定的步长增加摄像机亮度、增益和曝光时间,直至灰度均值调至[60,110]范围内;若都大于110,则减小摄像机参数,调至[60,110]内。

(3)保留当前参数设置,采集下一帧图像。

1.3 试验验证

由于CCD参数调节是针对采集序列图像而言的,因此在高速公路上对上述方法进行强光照射下的试验。如图3所示,左图为强光照射下采集的基于CCD参数调节算法的图像,右图为分割效果图。

从图3可以看出,由于特征区域的确定和CCD参数调节算法,使得车道线与路面对比度增强,整个图像分割得很干净,噪声影响小,这为后续车道线的识别奠定了有利基础。

2 基于改进Hough变换的车道线检测

2.1 Hough变换优缺点分析

由于高速公路图像的复杂性,选用直线拟合等方法会造成很大误差,而Hough变换具有对噪声不敏感,能有效处理图像中物体局部被遮挡和覆盖的情况等优点[10],这一优势在车道线检测时表现的尤为明显。在高速公路上采集到的图像中包含多条车道线,利用Hough变换提取当前车道线的具体实现过程如下。

(1)量化ρ和θ,在参数空间(ρ,θ)里建立一个二维累加数组,设数组为M(ρ,θ),见图4。其中,[ρmin,ρmax]和[θmin,θmax]分别为 ρ和 θ的取值范围。

(2)初始化二维数组M(ρ,θ),顺序搜索图像中所有白点,对二值化图像中每一个白点,让θ遍历θ轴上所有可能值,根据式ρ=xcosθ+ysinθ计算其对应的ρ值。再根据θ和ρ的值对数组M进行累加:M(ρ,θ)=M(ρ,θ)+1。

(3)求出变换域中的最大值点并记录。

(4)将最大值点及其附近的点清零。

(5)依次求出所有最大值点并记录。

(6)根据一定约束求取当前车道线。

对上述基于Hough变换检测车道线的步骤进行分析,可以发现如下结果。

(1)由于Hough变换中每一个白点都要参与空间转换计算,使得算法计算量增大,耗用时间多,该问题可以通过CCD参数调节来解决。图5对同一地点采集的图像进行二值化。通过比较图左侧和右侧的参数空间峰值分布可以发现,使用CCD参数调节算法后参与Hough变换的点明显减少,尤其是右侧图像,能明显降低噪声点对Hough变换的影响,验证了CCD参数调节算法的有效性。

(2)由于(ρ,θ)量化的问题,一条直线附近的峰值往往很大,找出最大峰值后,需要将峰值附近的值清零,再重新搜索下一条直线。但是往往不能很好地确定清零范围,如果范围确定小了,下一次搜索的直线通常还在已经检测出的直线上,如果清零范围确定大了,则会将周围的待检测的直线特征点清零,检测不出直线。这种现象在同时存在多条相似直线并且距离较近时尤其明显,如图5中(a1)、(a2)和(b1)、(b2)所示。

2.2 改进的Hough变换检测车道线算法

由于CCD参数调节能有效提高车道线与路面对比度,根据对基于Hough变换提取车道线优缺点的分析,本文中提出一种新的车道线识别方法,即首先进行车道线种子点的选取,再对各组种子点分别进行Hough变换。图6为进行二值化和去孤滤波之后的道路图像,分别代表3种典型情况,即正常、存在干扰和已经偏离车道线的情况。

2.2.1 车道线种子点的选取和归类

通过分析图6发现,在某一扫描行上,车道线具有两个主要特征,即具有一定宽度和车道线两侧灰度值产生突变。将此特征作为提取车道线种子点的选取依据,具有此特征的视为车道线种子点。相邻扫描行之间的种子点像素位置差值若小于一定阈值,则将其归为同一种子点数组,否则归为新的种子点数组。具体实现步骤如下。

(1)首先设定一个大小为m×n的二维数组SeedGroup,此数组表示种子点的横坐标。其中m表示种子点组数,即最多车道线条数,这里最大设为4;n表示扫描行数,也表示种子点的纵坐标,车道线一般在图像下半部分,因此将n设为图像高度的一半,即n=120像素。将数组初始化为0。

(2)自下而上,自左向右进行扫描。当扫描到白点时,设其坐标为(xj,yj),继续扫描,并开始进行计数,直到扫描到像素值为0的点,设此时统计白点个数为s,取其中间像素为种子点:

因此,该种子点坐标为(xs,ys),考虑到车道线有间断线的情况,同一车道线上的种子点可能相隔多个扫描行,因此采用如下策略进行归类:当yj<30时,则对yj之前的所有车道线组数内的SeedGroup值与该种子点的横坐标值进行比较,若小于一定的阈值(试验中发现,该阈值设为20较合适),则将该种子点归类到此车道线数组下,若大于该阈值,表示出现了新的车道线,则将其归类到新的车道线数组中;当yj>30时,则对yj之前的前30行车道线数组内的SeedGroup值与该种子点的横坐标值进行比较,归类原理同上。

设该种子点所归类的车道线数组为mi,则须保留车道线数组数据(SeedGroup,yj)。然后从所扫描到的0像素点开始,继续向下扫描,直至完成当前行扫描。

(3)继续向上扫描,直至完成所有种子点的选取和归类。

按照上述步骤,本文以图6中的各图为例,图7显示了在处理图6各图过程中的非零种子点数据(SeedGroupi,yj)表格,其中 i∈(0,m),j∈(0,n),每个表格分别表示一组车道线数组下的数据,其中横纵坐标分别表示图像的横纵坐标。

从图7可以看出,本文中提出的种子点选取方法能准确地获取车道中心线上的点,并正确归类。

2.2.2 对各组种子点进行Hough变换

当完成所有种子点选取和归类后,对各组车道线上的种子点进行Hough变换:

(1)将(ρ,θ)参数空间量化,建立一个二维累加数组;

(2)初始化二维数组,然后对种子点进行Hough变换,让每个点遍历θ轴上所有值,并计算其对应的ρ值,将其对应的数组元素值加1;

(3)比较数组元素值的大小,最大值所对应的(ρi,θj)就是所要求取得直线所对应的参数,这样,只要求取出每车道线数组下的参数(ρi,θj)即可。

2.2.3 利用一定的约束提取当前车道线

由于图像中可能存在多条车道线,因此,须利用一定的约束条件进行当前车道中车道线的提取。由于CCD模型投影变换的作用,车道线在图像中消失于一点。图8为多条车道线在图像坐标中的角度关系示意图。

从图8看出,左侧车道线的角度θl∈(π/2,π),右侧车道线的θr∈(0,π/2),而且离开图像中心线越远,左侧θl值越小,右侧θr值越大。因此,可以按照这一规律进行当前车道线的提取。当利用改进的Hough变换求取出各组车道线的直线参数值后,分别求取(0,π/2)内的最小值和(π/2,π)内的最大值,然后再根据各(ρ,θ)值计算相应的斜率和截距,求取的直线即为当前车道线。图9为最终提取的当前车道线结果。

3 试验验证

为验证所提方法的有效性,将改进Hough变换提取车道线的算法与传统Hough变换算法进行了对比试验。图10为高速公路试验结果,其中左侧图为利用传统Hough变换检测车道线结果,右侧图为改进Hough变换检测车道线结果。试验结果表明:

(1)车辆在正常环境下行驶时,两者都能准确识别出车道线,主要区别是处理时间的差异,处理同一幅静态图像,传统Hough变换平均耗时为45ms,改进后的Hough变换平均处理时间为25ms,每帧跟踪时间由原来的35ms缩短到10ms;

(2)在有公路边沿等干扰时,传统Hough会出现误识别的情况,而改进后的Hough变换则能很好地识别出当前车道线;

(3)当车辆处在换道状态时,传统Hough变换会由于当前车道线识别有误而出现漏警情况,而改进后的Hough变换由于利用角度约束能准确地识别出当前车道线,为正确预警提供了基础。

4 结论

(1)提出的基于CCD参数智能调节算法,能够较好地适应不同光照条件,增强车道线与路面对比度,减少路面噪声,有利于后续车道线识别。

(2)在此基础上,通过分析Hough变换优缺点,提出了改进的Hough变换识别车道线方法,并利用角度约束提取出当前车道线。通过对比表明,该方法能有效提高识别效率和准确性,从而有利于提高系统的预警准确率。

(3)大量道路试验表明,所提出的方法对于白天各种光照条件有较好的适应性,系统具有良好的实时性和鲁棒性。

[1] 王荣本,余天洪,郭烈,等.基于机器视觉的车道偏离警告系统研究综述[J].汽车工程,2005,27(4):463 -466.

[2] Minoiu Enache N,Netto M,Mammar S,et al.Driver Steering Assistance for Lane Departure Avoidance[J].Control Engineering Practice,2009,17(6):642 -651.

[3] Navarro J,Mars F,Forzy J F,et al.Objective and Subjective E-valuation of Motor Priming and Warning Systems Applied to Lateral Control Assistance[J].Accident Analysis & Prevention,2010,42(3):904-912.

[4] 张润生,黄小云,马雷.复杂环境下车辆前方多车道识别方法[J].农业机械学报,2010,42(5):24 -29.

[5] 马雷,于福莹,李昊.基于灰度图像的复杂环境下智能车辆道路识别[J].汽车工程,2010,32(4):351 -355.

[6] Wang Y F,Dahnoun N,Achim A.A Novel System for Robust Lane Detection and Tracking[J].Signal Processing,2012,92(2):319-334.

[7] 马雷,臧俊杰,张润生,等.基于DS证据理论的不同光照条件下道路边界识别[J].汽车工程,2011,33(8):707 -712.

[8] 肖献强,王其东,潘盛辉.基于视觉及TLC概念的车辆跑偏检测方法研究[J].汽车工程,2010,32(1):77 -80.

[9] 葛平淑.车道偏离预警视觉系统算法改进研究[D].长春:吉林大学,2008.

[10] Shapiro V.Accuracy of the Straight Line Hough Transform:the Non-voting Approach[J].Computer Vision and Image Understanding,2006,103(1):1-21.

猜你喜欢
数组灰度车道
采用改进导重法的拓扑结构灰度单元过滤技术
JAVA稀疏矩阵算法
基于OpenCV的直道车道线识别技术研究
北斗+手机实现车道级导航应用
天津港智慧工作平台灰度发布系统和流程设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
JAVA玩转数学之二维数组排序
Arduino小车巡线程序的灰度阈值优化方案
基于单片机的潮汐车道设计与实现
更高效用好 Excel的数组公式