本发明属于智能网联汽车技术领域,涉及一种车道线检测识别方法。
背景技术:
随着当今智能网联汽车的发展,车道信息已经成为汽车辅助驾驶和无人驾驶很重要的行车依据。目前主流的车道线检测方法有基于形状的车道线检测,基于模型匹配的车道线检测,基于图像特征的车道线检测。基于形状的车道线检测对路面要求比较高,主要针对结构化的道路,且易受到噪声干扰比较大,会检出大量与车道线像是形状的边缘。基于模型匹配的方法也主要正对结构化道路较强的几何特征,利用二维或多维曲线进行建模匹配,分析车道线的车道信息以此确定车道线模型参数,当模型较复杂时,运算开销也较大,以上两种检测方法仅仅只能检测车道线,均不能对车道线的颜色进行识别。基于图像特征的方法主要是通过车道线与周围环境在颜色、纹理、灰度等方面的不同,以此检测出车道线以及所属类型,但除颜色特征外的其他特征也仅仅只能检测出车道线的线条数,并不能识别出车道线颜色,且容易受到光线变化、背景等因素的影响,造成无法对车道线正确检测与识别。在这些方法中对车道线的曲直检测识别较差,且可移植型差。
技术实现要素:
有鉴于此,本发明的目的在于提供一种车道线检测识别方法,实现了对车道线的颜色、曲直、线数和虚实进行准确的检测识别。
为达到上述目的,本发明提供如下技术方案:
一种车道线检测识别方法,包括以下步骤:
a:通过安装在车顶的车载摄像头在汽车行驶过程中采集车道前方的道路视频,剔除视频帧中的模糊图片,从而得到车道线检测与识别的图像帧;
b:车载终端通过通信模块获取已经在信息服务云平台预训练的车道线检测模型,将车载摄像头经过过滤后的图像帧传给处理器,处理器经过预训练的模型处理得到含有车道线的感兴趣区域;
c:在含有车道线的感兴趣区域通过颜色、虚实、线数和曲直四个特征量表示车道线的检测识别。
进一步,信息服务云平台对车道线检测模型进行预训练的步骤包括:
s1:选取高斯核函数k(x,z)和适当的参数c,构建并求解车道线的最优问题
0≤αi≤c,i=1,2,…,n
其中,αi,αj为拉格朗日乘子,xi为样本,yi,yj为标签,k(xi,yj)为高斯核函数,c为惩罚参数;
使用smo算法求得最优解:
s2:计算
其中,w*表示超平面的法向量;
选择αi的一个正分量
其中,b*表示超平面的截距;
s3:构建车道线检测的决策函数:
进一步,步骤c包括以下步骤:
c1:在含有车道线的感兴趣区域内,对车道线进行hsv颜色补偿,首先将rgb色彩空间转换为hsv颜色空间,转换后的hsv空间中,色调值h∈[0,360],饱和值和度s,v∈[0,1];然后在车道线的感兴趣区域附近搜索色彩空间的最大值,两者的较大值作为新的车道线识别区域;
c2:颜色提取,车道线的颜色由白色和黄色组成,白色的阈值为:s∈[0,0.3]&v∈[0.5,1],黄色区域的阈值为:h∈[40,50],s∈[0.2,1]&v∈[0.35,1],根据颜色阈值得到车道线颜色,滤除其他颜色;
c3:对车道线进行二值化;
c4:对车道线进行逆透视叠加边缘提取,对原图像及其逆透视变换后的图像进行横向canny边缘检测;对原图的canny边缘检测图进行逆透视变换,最后将两幅经过逆透视变换后的边缘图像进行叠加;
c5:对二值车道线进行霍夫直线和曲线变换,变换后进行旋转矫正;
c6:若是直线,通过线性回归进行回归拟合,得到直车道线,并对其延长至图像的边缘处;若是曲车道线,则对车道线进行二次曲线拟合,得到曲线车道线,并对其延长至图像的边缘处;经过二次曲线拟合得到的车道线的延长线也属于车道线的一部分;
c7:对车道线的二值图像进行直方图统计;
c8:统计车道心线的线条数,在得到直方图后,对边缘直方图进行滤波,获得图像兴趣区域内的所有边缘直线对,所述边缘直线对均满足作为一条车道线直线的左右边缘的条件,即边缘线段长度约束、边缘顺序约束和车道线宽度约束;
在完成线数识别后,将识别出的标线的左右边缘进行合并,获得新的行车线信息,对于合并后的行车线直线有:
ρi=f(ρi,li,ci)
即完成线数识别;
c9:虚实识别,对车道线的虚实识别,令η为一条车道线在旋转矫正后统计长度和最长车道线长度的比值,按η值对车道线虚实信息进行划分:
从而获取车道线的虚实。
进一步,在步骤c1中,rgb-hsv空间转换公式为:
v=max
其中,先将rgb色彩空间中的(r,g,b)值映射到[0,1]空间中,公式中max指(r,g,b)最大者,min指这些值中的最小者。
进一步,在步骤c6中,直车道线求解过程如下:
通过霍夫变换及矫正,对直线进行拟合,设所需求解的最优直线方程为:
y=a0+a1x
通过最小二乘法得到参数为:
曲车道线的求解过程如下:
对霍夫变换得到的曲线进行二次拟合,进而消除遮挡、缺失等影响,为了计算方便,这里只进行二次曲线拟合,设待拟合的曲线的方程为:
y=a0+a1x+a2x2
通过最小二乘法求解得到三个参数为:
进一步,步骤c8中,对边缘直方图进行滤波的约束规则包括:
在边缘直方图中,一条车道线支线s表示为:
s=(ρ1,ρ2)
其中ρ表示车道线两侧的边缘,则一条边缘表示为:
ρi=f(pi,li,ti)
其中,p为边缘的横向位置、长度和升降,对于任何一条车道线单线,其三项约束为:
(1)边缘约束
车道线的单根支线满足左边缘为上升边缘,右边缘为下降边缘,即
(2)车道线宽度约束
任意行车线两侧的边缘间的距离在一定范围内,即
a≤pright-pleft≤b
(3)边缘长度约束
车道线的边缘应满足一定的长度约束,即
本发明的有益效果在于:本发明的有益效果在于首先通过预训练车道模型,得到行车道的感兴趣区域,消除非车道区域的干扰,通过利用车道的颜色特征以及车道线所固有的特征对其进行检测识别,同时对车道的颜色、曲直、线数和虚实进行检测识别。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1是本发明车道线检测识别系统整体设计架构图;
图2是本发明车道线检测识别方法流程图;
图3是本发明逆透视叠加边缘检测流程图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
如图1所示,本发明实施的车道线检测识别方法,是在一种车道线检测识别系统的基础上实施的,车道线检测识别系统所述包括车载终端和信息服务云平台;其中:
车载终端包括处理器(包括图像处理器)模块、摄像头采集模块、通信模块,摄像头采集模块主要负责实时获取车道图片,处理器模块将其发送给处理器模块,根据获取的图像进行检测和识别,通信模块主要负责与信息服务云平台进行通信,获取云平台预训练的车道线检测模型;
信息服务云平台主要负责训练车道线数据,为车道线检测提供可靠的检测模型。
本发明实施的一种车道线检测识别方法,包含以下步骤:
a、通过安装在车顶的车载摄像头在汽车行驶过程中采集车道前方的道路视频,剔除视频帧中模糊图片,从而得到车道线检测识别的图像帧。
b、车载终端通过通信模块获取已经在信息服务云平台预训练的车道线检测模型,将车载摄像头经过过滤后的图像帧传给处理器,处理器经过预训练的模型处理得到含有车道线的感兴趣区域。
c、在含有车道线的感兴趣区域通过颜色、曲直、线数和虚实四个特征量表示车道线的检测识别。
本实施例中,信息服务云平台预训练车道线检测模型的具体过程为:
s1、选取高斯核函数k(x,z)为和适当的参数c,构建并求解车道线的最优问题
0≤αi≤c,i=1,2,…,n
其中,αi,αj为拉格朗日乘子,xi为样本,yi,yj为标签,k(xi,yj)为高斯核函数,c为惩罚参数;
使用smo算法求得最优解:
s2、计算
其中,w*表示超平面的法向量;
选择αi的一个正分量
其中,b*表示超平面的截距;
s3、构建车道线检测的决策函数:
如图2所示,本实施例中的具体实施过程如下所示:
本实施例中,步骤c的具体步骤为:
在含有车道线的感兴趣区域通过颜色、曲直、线数和虚实四个特征量表示车道线的检测识别。
c1、在含有车道线的感兴趣区域内,为减少车道线因车道线模糊、遮挡、缺失带来的识别错误,因此对车道线进行hsv颜色补偿,首先将rgb色彩空间转换为hsv颜色空间,rgb-hsv空间转换公式为:
v=max
其中,应先将rgb色彩空间中的(r,g,b)值映射到[0,1]空间中,公式中max指(r,g,b)最大者,min指这些值中的最小者。
转换后的hsv空间中,色调值h∈[0,360],饱和值和度s,v∈[0,1]。然后在车道线的感兴趣区域附近搜索色彩空间的最大值,两者的较大值作为新的车道线识别区域。
c2、对车道线进行hsv颜色补偿后,接着就是颜色提取,车道线的颜色由白色和黄色组成,白色的阈值为:s∈[0,0.3]&v∈[0.5,1]。黄色区域的阈值为:h∈[40,50],s∈[0.2,1]&v∈[0.35,1]。根据颜色从而得到车道线颜色,滤除其他属于车道的颜色。
c3、提取车道颜色后,对车道线进行二值化。
c4、进过二值化后,对车道线进行逆透视叠加叠加边缘提取,对原图像及其逆透视变换后的图像进行横向canny边缘检测。对原图的canny边缘检测图进行逆透视变换,最后将两幅经过逆透视变换后的边缘图像进行叠加,从而保证了图像远处和近处的边缘提取完整度。图3为逆透视变换叠加边缘提取的流程图。
c5、接着对二值车道线进行霍夫直线和曲线变换,变换后进行旋转矫正。
c6、若是直线的通过线性回归进行回归拟合,得到直车道线,并对其延长至图像的边缘处,求解过程如下:
通过霍夫变换及矫正,对直线进行拟合,设所需求解的最优直线方程为:
y=a0+a1x
通过最小二乘法求解得到参数为:
若是曲车道线。则对车道线进行二次曲线拟合,得到曲线车道线,并对其延长至图像的边缘处,求解过程如下:
对霍夫变换得到的曲线进行二次拟合,进而消除遮挡、缺失等影响,为了计算方便,这里只进行二次曲线拟合,设待拟合的曲线的方程为:
y=a0+a1x+a2x2
通过最小二乘法求解得到三个参数为:
其中:
经过二次曲线拟合得到的车道线的延长线也属于车道线的一部分。
c7、对车道线的二值图像进行直方图统计。
c8、接下来就是统计车道心线的线条数,在得到直方图后,在进行直方图滤波,筛选车道线的边缘线段对,依次统计车道线的数量,一条车道线对应的两条线段应满足边缘顺序约束、车道线宽度约束和边缘长度约束。
在边缘直方图中,一条车道线支线s可以表示为:
s=(ρ1,ρ2)
其中ρ表示为车道线两侧的边缘。而对于一条边缘,可以表示为:
ρi=f(pi,li,ti)
其中,p为边缘的横向位置、长度和升降。对于任何一条车道线单线,其上述三项约束为:
(1)边缘约束
车道线的单根支线应满足左边缘为上升边缘,右边缘为下降边缘。即
(2)车道线宽度约束
任意行车线两侧的边缘间的距离应该在一定范围内。即
a≤pright-pleft≤b
(3)边缘长度约束
车道线的边缘应满足一定的长度约束。即
按以上约束规则,对边缘直方图进行滤波,即可获得图像兴趣区域内的所有
边缘直线对,这些对均满足作为一条车道线直线的左右边缘的条件:即边缘线段
长度约束、边缘顺序约束和车道线宽度约束。在完成线数识别后,可将识别出的标线的左右边缘进行合并,获得新的行车线信息。对于合并后的行车线直线有:
ρi=f(ρi,li,ci)
即可完成线数识别。
c8、虚实识别
最后就是对车道线的虚实识别,令η为一条车道线在旋转矫正后统计长度和最长车道线长度的比值,按η值对车道线虚实信息进行划分:
从而获取车道线的虚实。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。