APP下载

一种基于卡方统计的弯道识别算法

2019-01-03胡延平王乃汉魏振亚唐叩祝

汽车工程学报 2018年6期
关键词:卡方像素点交点

胡延平,王乃汉,魏振亚,唐叩祝

(合肥工业大学 机械工程学院,合肥 230009)

随着对汽车行驶安全性和驾驶舒适性要求的提高,汽车驾驶辅助系统越来越受到消费者的重视和青睐。准确地识别道路信息是成功开发驾驶辅助系统的基础。相对于直线车道,弯道车道线的识别难度大,汽车行驶在弯道中发生事故的概率也更高,调查数据显示,9.31%的事故发生在转弯路段[1]。因此,如何高效准确地识别弯道车道线成为研究的重要课题之一。

早期的车道识别是通过多传感器融合技术来探测车道线信息,但由于价格过高而被机器视觉技术所替代。目前机器视觉技术进行车道识别的一般过程是通过图像传感器采集道路图像,根据特征将车道线信息与其它图像信息分离,通过车道识别算法分析数据,最终得到车道线信息和车辆行驶情况。

目前常见的弯道识别算法有基于模型匹配的弯道识别和基于特征的弯道识别[2-9],基于模型匹配的弯道识别方法一般分3个步骤:建立车道模型、提取车道线像素点、根据车道模型拟合车道线。常用的模型有:直线模型、同心圆曲线模型、多项式模型(二次曲线和抛物线)、直线-抛物线模型等[10-11]。郭磊等[2]采用方向可调滤波器增强图像信息后,利用Hough变换[12-13]及其变体[14-16]和二次曲线[17]拟合的方法来识别车道线。这种方法把图像固定地分为远近视场,对直线车道的适应性比较好,但对不同曲率的弯道适应性不强,而且容易受外界因素的影响,如道路的状况、阴影、光照条件等。基于特征的弯道识别方法不需要车道模型匹配,王宝锋等[5]将直线和B样条曲线用于车道线重构,较好地提取了车道线几何特征,最终拟合出车道线。BORKAR等[6]和MCCALL等[7]利用逆透视变换(Inverse Perspective Mapping,IPM)将原始图像全部转化为俯视图,并利用平行特性对车道线进行提取。IPM的引入提高了车道线识别的精度,但是IPM运算量大,处理效率较低。

为了提高弯道识别算法对车道线模型的适应性和复杂车道环境的抗干扰性,本文提出一种基于卡方统计的弯道识别算法。通过对弯道图像特征的分析,对弯道进行前视模型设计和ROI划分,结合卡方统计法得到检测点与车道线中心线的对称关联性概率。试验结果表明:卡方统计法能够准确高效地识别弯道和弯道方向,满足汽车辅助驾驶系统识别的实时性和准确性。

1 弯道曲线变化角模型建立

根据CJJ37—2012城市道路建设行业标准,主干路的设计车速为40~60 km/h,车道宽度为3.75 m,车道线的宽度为0.15 m。图1为弯道曲线变化角模型,弯道曲线A处到B处,弯道曲线变化角为θ,弯道B处到C处的弯道曲线变化角为Δθ,半径为r。通常认为,汽车平视距离近处16 m以内的可视为近视场,近视场车道部分可用直线模型表示,超过16 m的则视为远视场弯道部分。所有的车道线都由平滑的曲线相连,而非折线。图中仅作了左弯道的行驶模型,右弯道的情况与之同理。

图1 弯道曲线变化角模型

2 卡方统计识别弯道算法

2.1 卡方统计弯道识别原理

本文提出的车道识别算法逻辑框图如图2所示。

图2 车道识别算法逻辑框图

卡方统计法能够有效地检测实际观测值与理论推断值之间的偏离程度,弯道与直道呈现在图像上的区别为直道有明显的对称趋势,弯道则没有对称性。根据此原理,首先采集道路图像,然后对图像进行预处理与ROI划分,通过高斯滤波平滑和canny算子边缘检测,筛选满足道路边缘特征的像素点并提取车道线中点,再分割为多个连续的ROI,使用卡方统计法得到两侧车道线上各区域像素点的中心位置与实际车道中心的关联性概率函数,并利用关联性概率函数和对称性来识别弯道。

考虑到车辆在行驶当中所采集到的图像是动态变化的,且由于摄像头的角度变化,易造成远视角车道的弯曲程度大于近视角车道。为保证卡方统计的对称关联性概率的可靠性,需对弯道曲线变化角θ的变化范围进行计算。

2.2 预处理ROI划分

为避免非车道区域图像处理带来的噪声并提高效率,在图像平滑滤波和边缘检测阶段限定ROI,本文将ROI分为初帧检测ROI和车道线识别成功时跟踪ROI两类。当上帧图片未检测出车道线时,根据车辆行驶在车道上时,左右侧车道线出现在像素坐标下的极限位置来划分初始预处理ROI;当上帧车道线检测成功时,根据消失点位置划分预处理ROI。

预处理阶段ROI左右侧车道线极限位置如图3所示,左侧车道线极限位置为右侧车道线处于像素坐标系中央时对应的位置,右侧车道线极限位置为左侧车道线处于像素坐标系中央时对应的位置。

图3 预处理ROI划分模型

像素坐标下两极限位置车道线方程如式(1)所示。

式中:φ为摄像机安装俯角;H为摄像机安装高度;dmax为左右侧车道线极限位置与道路中心的距离,左侧车道线取单个最大车道宽度负值,右侧取单个最大车道宽度正值;(xvp,yvp)为消失点位置,初帧检测时取为道路消失行和图像左右侧中间位置。ROI的上下位置被限定在消失线以下和车头线以上,从而预处理ROI为图3中黑线标示区域。

2.3 车道线像素点提取

在预处理ROI提取的基础上,对此部分区域实施图像预处理,主要步骤包括高斯滤波平滑、canny算子边缘检测和筛选满足道路边缘特征的像素点以及车道线中点提取。

采用canny算子计算得到边缘点处u方向梯度值。从图3 像素坐标系中可以看出,车道线的左侧边缘点梯度值应满足Gul>0,且右侧边缘点水平梯度值应满足Gur>0。根据此特征对预处理ROI边缘点进行方向性选择,若Gul>0,将其灰度值设置为200,若Gur<0,则将其灰度值设置为100。边缘点方向性筛选结果如图4所示。

图4 预处理ROI边缘点方向筛选

为减少非车道线边缘点的影响以准确提取车道线像素点,根据车道线宽度范围提取车道线的中点。在逐行遍历时,首先判断边缘点的方向梯度值是否满足,若满足,则沿梯度方向继续搜索方向梯度值Gur<0的边缘点。若继续搜索到的边缘点满足方向信息,则计算两边缘点在大地坐标系下的坐标,边缘点在大地坐标系下的坐标计算转换公式如式(2)和式(3)所示。

式中:Z为大地坐标系下的纵坐标;x为大地坐标系下的横坐标;fe为摄像机焦距。若满足车道线宽度要求则将两边缘点的中点作为车道线中点,并记录下对应的梯度值,为后面的消失点和直线检测提供依据。否则,继续遍历边缘点搜索满足梯度方向的点,并重复上述过程。最终提取的车道线中点如图5所示,可以看出能够准确提取车道线中点,并过滤了部分非车道线边缘点。

图5 车道线中点提取

2.4 动态ROI划分

由于车道线在行驶中为实时变化且连续平滑移动,具有连续性,所以设计动态的ROI。前后连续的ROI区域对于车道线的弧度检测具有可延续性和预判性,并且在各个ROI区域的车道线上设置监测像素点。

如图6所示,将待检测的监测像素点的坐标按照其区域位置分为n组。首先检测出最近区域即区域1和区域2,区域1的左车道线上的监测像素点为A,区域2的右车道线上的监测像素点为B。计算出二者的中点坐标,然后中间车道线与之对比看是否在弯道曲线变化角θ的范围之内。再以区域1和区域2为起始监测区域,继续向上探测区域3和区域4。计算出中点,分析是否在中间车道线弯道曲线变化角θ之内。重复此步骤,循环至所有区域的监控像素点都检测结束为止。

为提高算法的鲁棒性,避免因为区域和像素点的选择而出现偏差,以及与车道线无关的图像信息对车道线中点提取的干扰,如将图像中的防护栏以及其它车道标志线错认为是车道线从而影响最终识别的结果,在此区域循环监测算法中设置弯道曲线变化角θ。将θ的左右角度极限值设为θ1和θ2,在本文试验中,将θ1取为左弯道中左车道线最小偏离角度θmin,即θ1=θmin,而θ2取为右车道线最大偏离角度θmax,即θ2=θmax,所以θ的范围为θ1<θ<θ2。

图6 分割ROI区域并设置监测像素点

3 弯道识别

3.1 卡方统计弯道识别

通过卡方统计法自上而下检测所有区域监测像素点的中点与中间车道线的吻合度,从而识别出是否为弯道。

由图6可得左右两侧的点坐标依次为,(A1,B1),(A2,B2),(A3,B3),…,(An,Bn),检测区域的中点坐标分别为Z1(x1,y1),Z2(x2,y2),Z3(x3,y3),…,Zn(xn,yn)。

区域检测线与中间车道线的交点坐标依次为O1(x1,y1),O2(x2,y2),O3(x3,y3),…,On(xn,yn)。由于本文区域检测线设置为水平平行,各个区域彼此连接,且选取的监测像素点为种子点自下而上扩散,所以可认为其中点和交点在同一水平坐标,即纵坐标相同:

为表述方便,以下将左右监测像素点的中点集简称为中点集,区域线与中间车道线的交点集简称为交点集,利用卡方统计法来检验所有中点集与交点集之间的关联度。关联程度需考虑偏差范围θ的影响,所以将同一检测线上中点与交点的关联系数表示为:用yi表示实际观察到的点频率分布,表示期望的点频率分布,具体实现算法如下[10]。

(1)设与第i组相邻的相关联系数的数值为ti与ti+1,计算第i组的期望频率为:(2)第i组的观测频率

(4)由此获得的中点集与交点集之间的关联概率p为:

(5)以关联概率为纵坐标,左右监测像素点的中点横坐标相对于交点位置横坐标的变化情况作为横坐标,得出关联概率与监测像素点间的函数图。

(6)由关联概率的图像结果识别车道线。

3.2 弯道方向识别

根据中点集与交点集的偏离方向判断弯道方向。这里的偏离方向是指相对位置,即将所有点集中的两点横坐标累加,根据和的符号判定弯道的方向。

由2.4节得到左右两侧监测像素点的中点坐标依次为Z1(x1,y1),Z2(x2,y2),Z3(x3,y3),…,Zn(xn,yn);该区域检测线与中间车道线的交点坐标依次为O1(x1,y1),O2(x2,y2),O3(x3,y3),…,On(xn,yn)。分别计算每一点对应的位置偏差,即由公式可知,D为所有点集偏差累加之和,所以可根据D的正负性判断弯道的方向。判断依据为:当D>0时为左拐弯道;反之D<0 时为右拐弯道。

4 试验验证

为验证本文算法的效果,在计算机上,利用VS2013配置Opencv2.4.9库函数,对车载图像传感器采集的城市车道图像进行试验验证,图7为试验平台搭建示意图。

图7 车道识别试验平台

图8是卡方检测算法在识别直线车道到弯道车道过程中中点集与交点集之间的关联性概率。由图8a可知,关联概率几乎为1,说明左右两侧车道线的像素点中点线与中间车道线基本重合,即车道是直道。由图8b可知,概率从1下降到0再上升到1,这期间图线平缓变化,说明是从直道驶入弯道再到直道的行驶过程。

图8 卡方检测识别中点集与交点集的关联概率

试验结果表明,在车辆由直道行驶到弯道的变化过程中,该算法能够较准确地进行识别判断,算法的识别速度平均耗时为40.36 ms/帧。图9为不同试验路段检测结果,表1为不同算法对弯道识别的速度和准确率对比。由表1可知,该算法在耗时和准确率方面能够略占优势,且满足驾驶辅助系统对实时性的要求。

图9 不同试验路段测试结果

表1 不同弯道识别算法的耗时与准确率

5 结论

(1)本文在传统弯道识别算法的基础上提出一种以卡方统计来检测弯道的算法。该算法在对车道图像预处理的基础上,利用边缘检测与车道线宽度信息快速筛选出有效的车道线特征点,利用动态划分ROI的方法分割多个区域并设置监测像素点和弯道曲线变化角,有效降低了非车道线部分对检测的干扰,进一步保证了算法的有效性。

(2)根据弯道左右车道线中点坐标与区域中心线重合度低的特点,利用卡方统计法检测像素中点集与交点集的关联性概率,关联度高即为直道,否则即为弯道。弯道方向通过累加中点集与交点集的偏差之和符号进行判断,正即为左弯道,负即为右弯道。

(3)试验结果表明,本文提出的算法在不同的试验路段具有较强的鲁棒性和准确性,算法的识别速度为平均耗时40.36 ms/帧,满足辅助驾驶系统的识别要求。

猜你喜欢

卡方像素点交点
卡方检验的应用条件
卡方变异的SSA的FSC赛车转向梯形优化方法
基于局部相似性的特征匹配筛选算法
三大抽样分布的理解与具体性质
阅读理解
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
借助函数图像讨论含参数方程解的情况
试析高中数学中椭圆与双曲线交点的问题