基于优先像素与卡尔曼滤波追踪的车道线检测*
2016-04-21张洪丹
陈 涛,张洪丹,陈 东,谭 纯
(湖南大学,汽车车身先进设计制造国家重点实验室,长沙 410082)
2016032
基于优先像素与卡尔曼滤波追踪的车道线检测*
陈 涛,张洪丹,陈 东,谭 纯
(湖南大学,汽车车身先进设计制造国家重点实验室,长沙 410082)
针对车道线检测不能满足实时性与鲁棒性要求的问题,提出了一种新的车道线检测方法。基于R,G和B三原色在灰度图像中所占比例的多样性、车道线与道路的亮度差,将黄色、白色像素作为优先像素处理。首先通过图像的形态学礼帽算法去除大量噪声,再经最大类间方差法(OTSU)将图像二值化,最终通过轮廓的筛选标注车道线,后续视频帧采用卡尔曼滤波追踪处理,确定新的感兴趣区域。本算法大大减少数据计算量,提高了处理效率,同时正确提取感兴趣区域,提高了算法的鲁棒性,降低车道线检测的误检率。
车道检测;偏离车道;优先像素;最大类间方差法;卡尔曼滤波追踪
前言
随着汽车工业的发展,高速公路交通事故也呈现出增长的趋势,调查报告显示,50%的交通事故是由车道偏离引发的。轨道偏离预警系统能在驾驶员由于疲劳驾驶而偏出车道的时候提前报警,提醒驾驶员回到正常行驶的车道内,促进安全驾驶。
目前,基于视觉的轨道偏离预警系统[1-3]占主导地位,通过对视频帧的处理,提取车辆与道路的位置关系,判断是否偏离车道。基于视觉的轨道偏离预警系统由两大模块组成:(1)视频处理模块,通过摄像头采集图片,经主控制器处理,提取车道线信息;(2)控制策略模块,通过车道线信息判断是否偏离车道。其中视频处理模块为轨道偏离预警系统的核心模块。准确提取车辆与车道线的位置信息,才能使轨道偏离预警系统精确预警。
车道线检测方法[2-3]大都是通过大量的计算来实现车道线检测,其中包括转换灰度图像、滤波、边缘检测和Hough变换,通过层层过滤,噪声得到了有效的去除。最终精确地提取车道线。但是大量的处理过程必然导致计算耗时增加而影响系统的实时性。
实时性可以通过提高运行速度和减少数据计算量两种方式实现。运行速度的提高对硬件的要求也会相应提高,在同样硬件配置下只有通过减少计算量来实现实时性。同时,数据计算量的减少,导致系统在应对复杂工况时的鲁棒性急剧下滑,从而导致车道线误检现象的发生。目前车道线检测算法,有些采取固定的感兴趣区域[2-3],因而不能根据不同的环境做出调整,稳定性不强,耗时长。
为了精确提取出车道线,必须同时兼顾少的数据计算量和高的系统鲁棒性。本文中提出一种使用卡尔曼滤波器追踪的方法动态地确定感兴趣区域(平行于车道线的周围区域)。根据车道线位置的不同,动态确定包含有车道线的感兴趣区域,能提高车道线提取的鲁棒性,同时,处理的数据减少,保证了算法的实时性。
1 车道线检测算法流程
针对传统车道线检测算法在兼顾算法的实时性和鲁棒性方面存在不足,提出了一种新的车道线检测算法,弥补了边缘检测算子车道线检测稳定性方面的不足,同时放弃使用在直线检测方面计算量较大,耗时较长的Hough变换。
通过图像形态学礼帽算法[3]与优先像素凸显车道线在道路背景下的亮度,在真彩图转换到灰度图过程中不是通过固定公式灰度化,而是将真彩图像分解为3个单通道图像单独处理,保留优先像素的优势,然后通过OTSU算法[4]得到的阈值,将灰度图像二值化,进而通过轮廓的筛选,保留符合车道线特征的轮廓,最终通过对车道线轮廓边缘点的拟合标注车道线,成功提取出车道线,之后根据车道线的参数信息,通过卡尔曼滤波器追踪感兴趣区域,如果出现连续追踪不到车道线,则跳出追踪模式,重新回到最初的感兴趣区域,在提取出车道线后再次回到追踪模式,以此循环交替。
本文中的算法以拟合车道线轮廓边缘点来标注车道线替换了耗时较多的Hough变换寻找车道线的方法。通过提取优先像素的方法取代了灰度图滤波和边缘检测等方法。同时在感兴趣区域的选取方面,最初的感兴趣区域选取目的是为了稳定地提取车道线,但是在实时性方面存在欠缺;而卡尔曼滤波器追踪到的感兴趣区域,在鲁棒性方面存在不足。两者的结合兼顾了算法的实时性与鲁棒性。算法流程如图1所示。
2 感兴趣区域的确定
2.1 最初感兴趣区域的确定
感兴趣区域的选取在算法当中起着举足轻重的作用,它直接关系到检测算法能否满足实时性要求。而车道线是否包括在感兴趣区域内,直接涉及到算法的鲁棒性。
调整摄像机的外部参数,使选取的图像感兴趣部分为道路部分,如图2所示,感兴趣区域即框选部分区域。且给定图像感兴趣区域的大小{w,h}。通过对道路部分图像处理,得到最初的车道线并提取车道线的信息,为后续跟踪感兴趣区域的划定奠定基础。
对于感兴趣区域的确定方法,划分最初的感兴趣区域为道路部分虽保证算法的鲁棒性,但存在处理速度慢的不足,因此,提出了卡尔曼跟踪模式下的感兴趣区域的概念,目的是在保证算法稳定的前提下,提高算法的运行速度。
2.2 追踪时感兴趣区域的确定
经过最初的感兴趣区域的处理,提取出最初的车道线后,可以根据车道线参数信息(斜率、起始点坐标等),利用卡尔曼滤波器追踪车道线[5-6]确定感兴趣区域(如图3所示,灰色区域为追踪模式下的感兴趣区域),能减少数据的计算量,减少计算时间。然而在车辆变道等车道线突变的情况下,由于卡尔曼追踪灵敏度的不足,可能出现追踪失败的情况,在这种情况下,系统会在两种感兴趣区域模式下转换,以利用感兴趣区域两种模式下的优势,摒弃其不足。
3 车道线识别
3.1 图像形态学处理
图像形态学广泛运用在图像处理中,形态学操作中的礼帽处理由膨胀和腐蚀两种基本算法组成,运用礼帽算法可凸显车道线在道路背景中的位置,增加目标与背景之间的亮度差,以提高车道线与背景的辨别度。首先将24位真彩图片拆分成R和G单通道图像,分别进行礼帽处理,以凸显车道线的亮度。
最初感兴趣区域部分(道路部分),即使在存在阴影或其它干扰的情况下,车道线的亮度也会高于周围的亮度,所以在此采用图像形态学的礼帽处理,即通过原图src与原图开运算open(src)作差值运算,凸显出车道线的亮度,减少噪声的影响,如图4所示。
礼帽处理后的图像为
TopHat(src)=src-open(src)
(1)
3.2 确定优先像素
对于感兴趣区域,基于车道线的像素值一般大于背景的像素值,提取前50%亮度的像素作第一次优先处理,即50%处的像素值f(x0,y0)为阈值Ts,像素值大于阈值的保持原值不变,小于阈值的作归零操作,即
(2)
处理的数据不包括像素值为0的像素,这样能减少数据计算量,使通过OTSU算法确定的阈值能将道路与背景更精确地分割,如图5所示。
车道线检测算法中将真彩图像转换为灰度图像过程中,采用固定的转换公式,削弱了车道线像素的优势,不能根据车道线颜色对部分像素优先处理和分类,增加了后续去除噪声的难度,导致车道线检测算法复杂度增加,程序运行时间过长。对车道线像素作为优先像素处理能提高车道线检测的稳定性,增加了车道线像素的保有率。在采取优先像素值处理后,车道线亮度被明显加强,如图6所示。从图中可以看出,优先像素的加入,促使OTSU算法更好地将目标与背景分离。
Sobel算子和canny算子[7]作为传统的算法广泛的运用于检测轮廓的边缘,canny算子的双阈值能很好地提取轮廓边缘,一般同Hough变换结合使用,但只是提取边缘信息,会造成车道线像素的大量丢失,增加车道线提取的难度。
车道线的颜色一般为黄色和白色,黄色和白色像素的R,G和B的值分别为[255,255,0]和[255,255,255],以黄和白色像素中R和G部分比例与R和G像素值的相关性作为两个约束提取车道线像素,分别对单通道的R和G两张图片[8],经OTSU算法求取两张图片阈值Tr和Tg,保留下来的像素需要满足如下条件:
(3)
式中f(xr,yr)和f(xr,yr)分别表示R和G图片单个像素值。即对白、黄色像素作为优先像素处理,以此增加车道线像素的占有率,增加目标与背景的对比度。
3.3 车道线轮廓的筛选
传统的寻找直线方法为Hough变换,通过对二值图像中的每个白色像素点的笛卡尔坐标转换成极坐标,通过坐标的转换,实现点到曲线的转换,以极坐标下曲线交点个数作为阈值来判断直线是否存在,保留二值图中符合车道线特征的边缘点,这种方法计算量比较大,耗时长。而单一地筛选出符合车道线轮廓之后,对轮廓的边缘点进行直线或曲线的拟合能减少数据计算量。
从二值图像筛选符合车道线特征的轮廓的过程也是去噪的过程,去掉不符合车道线特征的轮廓,通过计算轮廓的斜率Cslope和轮廓的面积Carea来进行轮廓的筛选,如图7所示,其步骤如下:
(1) 遍历二值图像中所有轮廓,计算每个轮廓的面积Carea和斜率Cslope;
(2) 根据计算轮廓中心位置的横坐标和图像中心横坐标的大小,保留图像中线左右两边每边面积最大的4个轮廓,Contour1,Contour2,…,Contour8,图7中中线左右各4个;
(3) 计算出这8个轮廓的斜率,取最接近斜率(轮廓高比宽)为[0.5,∞]的4个轮廓,左右各两个;
(4) 根据轮廓的斜率计算每个轮廓与图片上端的交点横坐标xw,保留中线两边横坐标离中线横坐标w/2最近的轮廓。
如图7所示,保留与图片顶端交点为L2和R1的两个轮廓,即轮廓Contour2和Contour4,并且确定这两个轮廓为车道线轮廓,只保留车辆所在的左右两边车道线。
4 车道线的提取与跟踪
4.1 车道线的提取
标注车道线是车道线检测算法中最后一个环节,通过标注得到的车道线,可以得到车辆与道路的位置关系,为预警策略提供输入信号。
经典的Hough变换通过对点的拟合得到直线上的一点和直线的斜率,从而得到标注车道线的直线方程。为了避免Hough变换计算量大和高耗时等不足,并考虑车道线检测算法中不存在边缘检测,故不采用Hough变换寻找直线,而采用最小二乘法拟合车道线轮廓的点的方法标注车道线。
轨道偏离系统主要面向高速公路使用,假设车道为直线,在弯曲道路可对边缘点进行二次方程拟合,本文中只对车道线作一次函数拟合,车道线拟合点的选取方法如图8所示。
通过从左至右扫描轮廓,将扫描到的第一个白色点放入点集(xi,yi)中,直到轮廓扫描结束。假设直线的方程为p(x)=a+bx,直线的均方误差为
(4)
在微积分极值理论中,Q(a,b)达到极小时,a,b满足
(5)
整合得到拟合曲线满足:
(6)
该方程称为拟合曲线法方程。
(7)
对点集(xi,yi)进行直线拟合,得到直线方程为p(x)=a+bx,并根据直线信息,在图中标注出车道线。
4.2 卡尔曼滤波器追踪车道线
视频图像序列中目标的检测和追踪,一直在智能视觉领域中占据重要地位,而在理想情况下,经典卡尔曼滤波器(即无偏最小方差估计)能够很好地追踪到目标,但在视频图像序列中,在运动目标发生突变的情况下,经典卡尔曼滤波进行追踪会出现目标丢失的现象,导致滤波误差增大和追踪性能下降的情况。为应对卡尔曼滤波器追踪的不足,在卡尔曼滤波器追踪的运动目标出现突变状况时(变道或突然避让),转为处理最初感兴趣区域,重新找到目标位置,再次成功提取车道线后转为卡尔曼滤波器的追踪模式,从而弥补了经典卡尔曼滤波器在运动目标追踪方面的不足。由于运动目标突变的情况很少发生,且在两种模式下均能高效地检测到车道线,算法的稳定性不会受到影响。
卡尔曼滤波器是能够通过K时刻实测值和K-1时刻最优值来确定K时刻目标最优位置或状态的一种算法。对于K时刻最优值的预测仅仅依靠上一时刻K-1时刻状态,而不是通过前K-1个状态的累计值来进行预测,这样能大大减少计算工作量,实现实时跟踪。本文中应用卡尔曼滤波器追踪车道线,并根据运动目标位置参数,划定感兴趣区域,减少计算量。
卡尔曼滤波器运用在车道线追踪方面的原理为:在首次提取车道线以后,将车道线作为K-1时刻最佳值,随之感兴趣区域划定为平行与车道线的周围区域[9-10],但当出现车道线漏检的情况,算法的适应性会被削弱,为了克服类似的问题,当应用卡尔曼滤波器追踪车道线出现漏检的情况时,可通过卡尔曼的预测特性继续追踪。
经典卡尔曼的5个重要的公式和1个测量值如下。
状态方程:
x(k|k-1)=Fx(k-1|k-1)+wk
(8)
观测方程:
zk=Hkxk+vk
(9)
式中:F为传递矩阵;Hk为观测矩阵;wk和vk分别为符合高斯分布N(0,Qk)和N(0,Rk)的系统噪声向量和观测向量;zk为测量值。
误差协方差:
(10)
卡尔曼增益:
(11)
K时刻最优值:
(12)
验后误差方差阵:
(13)
迭代过程中,卡尔曼追踪计算得出卡尔曼增益来逼近最优解,通过不停地迭代出验后误差方差与K时刻最优值作为下一时刻的最优解的输入值。
卡尔曼滤波器追踪方法的运用,成功实现了对车道线周围感兴趣区域的追踪。将车道线与图片(图7所示)上端的交点L2和R1与车道线的斜率S1和S2作为系统状态量。在追踪车道线过程中会出现“断层”现象,即视频中没有检测到车道线的存在,无法标注车道线,如图9左侧图所示。
图9为两种感兴趣区域转换对比,左侧为跟踪模式,右侧为最初车道线检测模式。从图9(c)中可以看出,左图漏检右边车道线,这种情况下,前一帧车道线的最优值会保存到下一帧,即这张图片仍然能进行车道线的标注,如果出现多于T(根据试验,本文中取5)张图片没有跟踪到车道线的情况,则会跳回到最初的感兴趣部分,如图中右边图片所示,重新定位并追踪车道线,在重新标注车道线以后,跳回到卡尔曼滤波追踪模式。追踪流程如图10所示。
5 车道线算法试验检测
5.1 无车道变更
车辆在单一车道时,车道线作小范围的变更,这种情况下,经典卡尔曼滤波器能追踪到车道线,并保留当前位置作为下一时刻的最优值作为输入。基于RGB原色比例及卡尔曼滤波器追踪所识别出的车道线的效果如图11所示。该算法针对模糊不清、残缺的车道线、有外界文字与指示标志干扰的工况,表现出了很强的鲁棒性。
5.2 车道变更
在车辆变道时,对于运动目标突变的情况经典卡尔曼滤波器追踪车道线的效果会受到很大的影响,本文中提出的算法通过切换感兴趣区域很好地克服了经典卡尔曼在追踪突变目标时的不足,表现出了良好的鲁棒性,如图12所示。
本文中展示的实验均在电脑平台中进行测试,测试环境如表1所示。
表1 测试环境
测试环境中,图片处理速度为62f/s,对时速120km/h的车辆,平均每隔0.54m处理一帧图片,从表1可以看出,与文献[11]相比,处理速度得到了很大的提升。
6 结论
本文中提出了一种车道线检测的新方法,通过卡尔曼滤波器跟踪车道线感兴趣区域,不仅提高了车道检测的精确性,也提高了算法的运行速度。试验表明,该方法对于不同的情况有很强的适应性,能够准确地识别出车道线,同时能很好地应对车道变更的情况,从而满足了轨道偏离预警系统的实时性和鲁棒性的要求。
[1] BRADSKI Gary, KAEHLER Adrian.学习OpenCV(中文版)[M].于仕琪,刘瑞祯,译.北京:清华大学出版社,2009.
[2] LI Qingquan, CHEN Long, LI Ming, et al. A Sensor-Fusion Drivable-Region and Lane-Detection System for Autonomous Vehicle Navigation in Challenging Road Scenarios[J]. IEEE Transactions on Vehicular Technology,2014,63(2):540-555.
[3] YANG Jianyu, LI Zhuo, LI Liangchao. Lane Detection Based on Classification of Lane Geometrical Model[J] . IEEE Signal Processing (ICSP),2012,2:842-846.
[4] 李进,陈杰平,易克传,等.不同光照下基于自适应图像阈值的车道保持系统设计[J].机械工程学报,2014,50(2):146-152.
[5] 尤小泉,彭映杰.结合分块Hough变换与Kalman预测的车道线检测方法[J].科学技术与工程,2013,13(24):7087-7092.
[6] 胡会珍,黄晋英.卡尔曼滤波器模型的建立及其对车道线的跟踪[J].机械工程与自动化,2008,148(3):52-53.
[7] YOO Hunjae, YANG Ukil. Gradient-Enhancing Conversion for Illumination-Robust Lane Detection[J]. IEEE Transactions on Intelligent Transportation Systems,2013,14(13):1192-1202.
[8] 杨益,何颖.基于RGB空间的车道线检测与识别方法[J].计算机与现代化,2014,222(2):86-90.
[9] 陈效华,孙锐,陈军.基于FPGA的车道偏离预警系统关键技术研究[J].汽车工程,2013,35(11):986-990.
[10] 高锋,桂瀚洋,张强,等.基于FPGA的车道线检测系统开发[J].汽车工程学报,2010,1(5):493-498.
[11] 沈峘.智能车辆视觉环境感知技术的研究[D].南京:南京航空航天大学,2010.
Lane Detection Based on High Priority Pixels and Tracking by Kalman Filter
Chen Tao, Zhang Hongdan, Chen Dong & Tan Chun
HunanUniversity,StateKeyLaboratoryofAdvancedDesignandManufacturingforVehicleBody,Changsha410082
Aiming at the defect of lane detection in meeting both real-time performance and robustness, a novel lane detection algorithm is proposed. Based on the diverse proportion of the red, green and blue three primary colors in gray image and the brightness difference between lane markings and road surface, yellow and white pixels are selected as the high priority pixels to be processed. A great number of noises are removed first with top hat algorithm in image morphological operations. Then image binaryzation is conducted by using OTSU algorithm. Finally the lane markings are fixed by profile screening, the subsequent video frames are tracked by Kalman filter, and the new region of interest is determined. With the algorithm proposed, the computation efforts are greatly reduced, the operation efficiency is enhanced, the ROIs are correctly extracted, with the robustness of the algorithm raised and false detection rate reduced.
lane detection; lane departure; high priority pixels; OTSU algorithm; tracking by Kalman filter
*湖南省自然科学基金(14JJ3055)和国家863计划项目(2012AA111802)资助。
原稿收到日期为2014年7月23日,修改稿收到日期为2014年9月25日。