一种基于特征点投票统计的车道线快速检测算法
2018-06-15谈东奎王乃汉张一营
时 利,谈东奎,王乃汉,袁 宁,张一营
(1.安徽江淮汽车股份有限公司 技术中心,合肥 230091;2.合肥工业大学 机械与汽车工程学院,合肥 230009)
车道识别技术作为驾驶员高级辅助驾驶系统(Advanced Driver Assistant System,ADAS)中的关键技术之一,能为各种辅助系统提供车路相对位置和道路几何尺寸信息。由于道路场景易受天气、光照以及道路交通环境等众多因素影响,且辅助控制系统对车道线识别的速度也提出要求,因而快速、准确而且鲁棒的车道线识别技术是智能汽车技术研究的一项难点。
车道线识别常采用视觉传感器,经典的Hough变换算法[1]及其变体[2-4]被广泛应用于该任务,这类方法一般先利用诸如Sobel算子[5]、canny算子[6]和方向可调滤波器[7]等边缘检测算法来处理图像,再结合自适应阈值生成候选点,但这类方法通常易受噪声干扰且较为耗时[8]。高德芝等[9]利用非均匀B样条曲线拟合车道线,并将其转化为多阶动态规划问题,根据定义的代价函数来优化曲线控制点,但其算法需要不断迭代优化,难以实时处理图像。王宝锋等[10]提出了基于动态区域划分的车道线识别方法,并将直线和B样条曲线用于车道线重构。为了更好地提取车道线几何特征,MCCALL等[11]利用逆透视变换将原始图像全部转化为鸟瞰图,并利用平行特性对车道线进行提取。逆透视变换的引入降低了车道线识别的难度,但其运算量巨大。通过将车道识别问题转变为车道模型参数优化问题,王科等[12]利用不定 Bezier 变形模板开发出了能够适应复杂城市道路环境的车道线检测算法。BORKAR等[13]提出一种按时间平均图像的方法,将图像中间断的车道虚线转变为连续的车道实线,再利用随机抽样一致算法排除离群点继而拟合车道线。CHOI等[14]提出将车道线检测与前向汽车检测融合的方法,确保当车道线被汽车遮挡时检测结果具有鲁棒性。现有的车道线检测方法大都由多个精心设计的算法组成,不仅处理步骤较为繁琐,而且计算量大,难以实现能够应用于嵌入式运算平台的快速、准确且可靠的车道线识别。
针对此问题,本文提出一种基于特征点投票统计的车道线快速检测算法。首先对采集的图像进行预处理,在感兴趣区域内完成车道线边缘点筛选,然后建立关联性的投票空间,对筛选的边缘点进行相应的投影计算,在消失线上检测出消失点位置,并由消失点反向搜索检测出车道线,进而结合车道线模型计算出所需的车道参数。试验采用DSP为开发平台测试程序,结果表明,该算法在系统中运行具有较好的车道线检测效果,在雨雾天气、夜晚等复杂情况下均能正常运行,实时性能较好,具有一定的实用价值。
1 车道线模型
车道线模型对于车道线识别和车路方位参数计算具有重要作用。首先建立世界坐标系OXYZ和相机坐标系Oxcyczc,如图1所示。其中,H表示相机的安装高度,d为相机距离车道线的横向距离,eψ为汽车航向角偏差。假设在世界坐标系中的车道线为二次曲线,即有:
那么,车道线转换到图像中的曲线方程可近似表示为:
式中:CR为车道线的曲率;r和c分别为车道线在图像中的行坐标和列坐标;u0和v0分别为图像中心点的行、列坐标;αu和αv分别为相机在水平和垂直方向的缩放因子。当车道线为直线时,(r0,c0)为车道线消失点的坐标。该车道线模型的详细推导过程可参考文献[15]。
图 1 用于计算车道线模型的坐标系统
当从图像中检测到车道线之后,就能根据车道线模型计算得到汽车横向位置偏差、航向角偏差和道路曲率等参数。此外,车道保持控制系统一般都需要获取预瞄距离处的横向偏差。假设车道为直道,即道路曲率CR等于0,令cl和cr分别表示预瞄点所在行左右车道线的列坐标,rpv表示预瞄点所在行坐标,如图2所示。那么由车道线模型式(2)可知:
可见,在车道宽度不变的情况下,预瞄距离越远,即越小,则车道线在图像中的列偏差越小。根据上式可求得预瞄点处汽车横向位置偏差为:
而预瞄距离xla与预瞄点在图像中的函数亦存在如下关系:
图 2 车道线模型及预瞄偏差计算
2 车道线检测流程
本文所设计的车道线检测算法流程如图3所示。
该算法基本流程如下:
(1)对CCD相机采集的图像进行预处理,包括灰度化、感兴趣区域选取、边缘检测等。
(2)车道线边缘点提取,利用边缘点梯度幅值大的特性设定梯度阈值,再结合车道线宽度约束,即可逐行筛选有效的车道线边缘点,排除大部分干扰像素点。
(3)车道线边缘点投影统计,建立投影空间的关联性,一旦检测到有效的车道线边缘点,就可根据该边缘点处像素的梯度进行投影统计。
(4)消失点与车道线位置搜索,通过搜索消失线上最大的峰值点获取消失点,并由消失点搜索该列中两个局部峰值点,就能确定左右侧车道线的位置。
(5)为了提升车道线检测算法的鲁棒性,在车道跟踪中定义带状区域,通过车道线模板匹配避免阴影车辆等的影响,利用卡尔曼滤波器处理检测出的车道线位置数据,从而实现车道线跟踪。
图 3 车道线检测算法
3 图像预处理
3.1 图像灰度化
首先需要将彩色图像转换为灰度图像,由于车道线均是黄色或白色,而红色和绿色通道对于黄色和白色又具有很好的对比特性,所以采用式(6)的色彩特征空间。
其中,R、G和B分别为红色、绿色和蓝色分量,选取比较适合车道线的检测。在道路图像中,车道线皆位于道路消失线下方。在消失线附近的车道线距离较远,相比较近处的车道线其图像特征不明显且干扰更多。因此,车道线识别算法只需要处理包含近处车道线的图像数据。车道线识别感兴趣区域提取过程如图4所示。
图4 感兴趣区域提取
3.2 边缘检测
在获取待处理图像区域之后,采用中值滤波来减少图像中噪声点的干扰。对于3×3的滤波器核,中值滤波即为求取图5a中 9 个元素的中值。再运用Sobel算子求解图像在水平和垂直方向的梯度,图5b和图5c为3×3的Sobel算子模板,分别用于求解像素点在水平和垂直方向的梯度。若用Dx和Dy分别表示水平和垂直方向的梯度,则梯度幅值和方向为:
方向角α为:
图 5 大小为3×3的图像区域及Sobel算子模板
4 车道线检测
4.1 车道线边缘点提取
正常情况下车道线上的像素点比道路像素点具有更高的灰度值,因此,从左至右车道线附近的图像灰度值先上升,然后在一定宽度内保持不变,最后是下降,如图6所示。反映在水平方向的梯度图像中,即为车道线左右边缘处梯度绝对值较大,且左侧为上升沿,梯度为负值,右侧为下降沿,梯度为正值。利用该特性并设定梯度阈值,再结合车道线宽度约束,即可逐行筛选有效的车道线边缘点,排除大部分干扰像素点。
图6 车道线边缘点筛选
4.2 车道线边缘点投影统计
一旦检测到有效的车道线边缘点,就可根据该边缘点处像素的梯度进行投影统计。假设所处理的图像区域大小为r行c列,车道边缘点的行列坐标为(re,ce),那么过边缘点并沿着该点梯度方向的直线与图像首行和尾行的交点的列坐标分别为:
车道边缘点投影计算的示意图如图7所示。分别建立并初始化一个向量V和一个矩阵M,用来统计计算得到的cup和cdown,向量V的大小为1行c列,矩阵M的大小为2c行c列。每当计算得到一组cup和cdown数值,首先对向量V中第cup个元素作累加运算,然后对矩阵M中位于c/2+cdown行cup列的元素作累加运算,直至统计完所有的有效车道边缘点。
图7 车道线边缘点投影计算
4.3 消失点与车道线位置搜索
上述统计方式利用了图像中所有车道线汇聚于一点的性质,该点被称为消失点,消失点位于消失线上。当所有车道线边缘点皆向消失线所在行投影并统计时,消失点所在位置往往获得最多的投影数,因而通过搜索向量V中的最大值点就能确定消失点的位置,假定其列坐标为cv。接着,反向检索那些向消失点投影的车道边缘点,只需要分析矩阵M中第cv列的统计数据,如图8所示。通过搜索该列中两个局部峰值点,即能确定左右侧车道线的位置。该方法不仅能够有效地检测出车道线位置,减少错误边缘点的干扰,还能够缩短搜索时间,提高算法的实时性。
图8 反向搜索车道线结果
4.4 车道线跟踪与车道参数匹配
经过上述搜索步骤,最终可以得到消失点列坐标以及左、右侧车道线与图像尾行交点的列坐标3个参数。考虑到实际道路环境的复杂性,为了提升车道线检测算法的鲁棒性,还需要分析左右侧车道线的置信度,判断车道宽度是否在合理范围内,从而实现车道线跟踪。考虑前后帧图像中车道线位置的连续性约束,通过建立带状区域跟踪车道线。为了提升车道线检测算法的鲁棒性,通过车道线模板匹配避免阴影车辆等的影响,利用卡尔曼滤波器处理检测出的车道线位置数据,从而实现车道线跟踪,如图9所示。识别出车道线在图像中的位置后,即可计算出车道线模型中的具体参数,为后续的车道偏离预警和车道保持控制提供信息。由于高速公路上道路半径很大,只对距离汽车近处的直道参数进行了识别,若要获取车道线曲率参数,通常还需要结合较远区域的车道线边缘点来进行优化匹配。
图9 车道跟踪的带状区域
5 实车试验
选用高性能视频分析DSP开发板SEEDDEC6437作为车道线识别算法的运算平台,该平台包含TI公司推出的型号为TMS320DM6437的32位定点DSP处理器,其主频为700 MHz,配备256 Mb内存和4 Mb闪存,拥有视频输入、VGA视频输出和CAN总线等接口。利用CCD相机获取前向道路图像并输出模拟信号,经过视频输入接口和视频解码芯片后,在DSP中得到YUV格式的图像数据,继而编写相应的车道线识别程序,并将最终的车道线位置或车路方位偏差等识别结果通过CAN总线输出。图10所示的车道线识别系统由DSP开发板和车道线识别系统的硬件组成。
图10 基于DSP的车道线识别试验系统
实车试验结果表明,汽车在结构化道路上行驶时,该算法受汽车颠簸和道路线模糊等情况影响较小,具有较强的鲁棒性,检测结果如图11所示。该系统以30 fps的速度采集并处理像素为720×576的图像,在不同状况下的结构化道路的平均识别率能达到90%以上。不同状况下的车道线识别率见表1。
将本文算法与文献[16]利用Hough变换、文献[17]利用边缘点信息识别车道线的算法进行比较,结果见表2,可以看出,识别速度与识别率均达到了较好效果。
图 11 不同场景下的车道线检测结果
表1 不同状况下的车道线识别率
表2 不同算法的识别速度与识别率
6 结论
本文提出一种车道线边缘点筛选的方法,整个搜索过程只遍历感兴趣区域一次,保持较小的计算时间损耗,且能够有效排除干扰点。
提出一种基于投票机制的方法检测出消失点,并建立关联性的投影空间,可快速由消失点反向搜索出车道线。通过建立带状区域并基于车道宽度,完成对车道线的跟踪,大大提高算法的实时性。
试验结果表明,本文提出的车道检测算法在DSP平台上运行,以30 fps的速度采集并处理图像,在不同状况下的结构化道路平均识别率能达到90%以上。
[1] SON J,YOO H,KIM S,et al. Real-time Illuminatio n Invariant Lane Detection for Lane Departure Warning System[J]. Expert Systems with Applications,2015,42(4):1816-1824.
[2] 王科,黄智,钟志华. 基于不定Bezier变形模板的城市道路检测算法[J]. 机械工程学报,2013,49(8):143-150.WANG Ke,HUANG Zhi,ZHONG Zhihua. Algorithm for Urban Road Detection Based on Uncertain Bezier Deformable Template.[J]. Journal of Mechanical Engineering,2013,49(8):143-150.(in Chinese)
[3] 王家恩,陈无畏,王檀彬,等. 基于期望横摆角速度的视觉导航智能车辆横向控制[J]. 机械工程学报,2012,48(4):108-115.WANG Jiaen,CHEN Wuwei,WANG Tanbin,et al.Vision Guided Intelligent Vehicle Lateral Control Based on Desired Yaw Rate[J]. Journal of Mechanical Engi-neering, 2012,48(4):108-115. (in Chinese)
[4] YAN Xinping,ZHANG Rui,MA Jie,et al. Considering Variable Road Geometry in Adaptive Vehicle Speed Control[J]. Mathematical Problems in Engineering,2013,2013(30):1-12.
[5] FERNANDES L A F,OLIVEIRA M M. Real-time Line Detection Through an Improved Hough Transform Voting Scheme[J]. Pattern Recognition,2008,41(1):299-314.
[6] GONZALEZ R C, WOODS R E. 数字图像处理(第3版)(英文版)[M]. 北京:电子工业出版社, 2010.GONZALEZ R C,WOODS R E. Digital Image Processing(Third Edition)[M].Beijing:Publishing House of Electronics Industry,2010.(in English)
[7] CANNY J. A Computational Approach to Edge Detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[8] 郭磊,李克强,王建强,等. 应用方向可调滤波器的车道线识别方法[J].机械工程学报,2008,44(8):214-218.GUO Lei,LI Keqiang,WANG Jianqiang,et al. Lane Detection Method by Using Steerable Filters[J]. Journal of Mechanical Engineering,2008,44(8):214-218. (in Chinese)
[9] 高德芝,段建民,杨磊,等. 应用多阶动态规划的车道线识别方法[J]. 机械工程学报,2011,47(8):141-145.GAO Dezhi,DUAN Jianmin,YANG Lei,et al. Lane Recognition Method Using Multi-stage Dynamic Programming [J]. Journal of Mechanical Engineering,2011,47(8):141-145.(in Chinese)
[10] 王宝锋,齐志权,马国成,等. 基于动态区域规划的双模型车道线识别方法[J]. 北京理工大学学报,2014,34(5):485-489.WANG Baofeng,QI Zhiquan,MA Guocheng,et al.Lane Detection System Based on Region Dynamically Planning and Dual Model Fitting [J]. Transactions of Beijing Institute of Technology,2014,34(5):485-489.(in Chinese)
[11] MCCALL J C,TRIVEDI M M. Video-based Lane Estimation and Tracking for Driver Assistance:Survey,System,and Evaluation[J]. Intelligent Transportation Systems,IEEE Transactions on,2006,7(1):20-37.
[12] 王科,黄智,钟志华. 基于不定Bezier变形模板的城市道路检测算法[J]. 机械工程学报,2013,49(8):143-150.WANG Ke,HUANG Zhi,ZHONG Zhihua. Algorithm for Urban Road Detection Based on Uncertain Bezier Deformable Template [J]. Journal of Mechanical Engineering,2013,49(8):143-150.(in Chinese)
[13] BORKAR A,HAYES M,SMITH M T. A Novel Lane Detection System with Efficient Ground Truth Generation[J]. Intelligent Transportation Systems,IEEE Transactions on,2012,13(1):365-374.
[14] CHOI H C,PARK J M,CHOI W S,et al. Vision-based Fusion of Robust Lane Tracking and Forward Vehicle Detection in a Real Driving Environment[J]. International Journal of Automotive Technology,2012,13(4):653-669.
[15] ZHOU Yong,XU Rong,HU Xiaofeng,et al. A Robust Lane Detection and Tracking Method Based on Computervision[J]. Measurement Science & Technology,2006,17(4):736.
[16] LIN Qing,HAN Y J,HAHN H S. Real-time Lane Departure Detection Based on Extended Edge-linking Algorithm[C]//Proceedings of the 2010 Second International Conference on Computer Research and Development,May 7-10,2010,Washington DC,USA.IEEE Press,2010:725-730.
[17] 初雪梅,王珂娜,张维刚. 基于分段直线模型的弯道识别算法的研究[J]. 汽车工程,2012,34(12):1141-1144.CHU Xuemei,WANG Kena,ZHANG Weigang. A Study on a Recognition Algorithm of Curved Lane Based on Piecewise Straightline Model [J]. Automotive Engineering,2012,34(12):1141-1144. (in Chinese)