一种基于霍夫变换的车道线检测方法及终端设备与流程

文档序号:13005551阅读:476来源:国知局
一种基于霍夫变换的车道线检测方法及终端设备与流程

本申请涉及图像检测领域,尤其涉及一种基于霍夫变换的车道线检测方法及终端设备。



背景技术:

汽车安全驾驶辅助系统是当前国际智能交通系统研究的重要内容,该系统通过为汽车提供日益完善的辅助驾驶功能,促进汽车逐步实现智能化。其中,车道偏离预警系统(lanedeparturewarningsystem,ldws)是汽车安全驾驶辅助系统中的一个重要组成部分,用于通过报警的方式辅助驾驶员减少甚至避免车道偏离事故。在应用过程中,ldws基于单目视觉方式时刻采集汽车所在场景的场景图像;然后通过图像处理获取车道线在场景图像中的位置;当根据车道线在场景图像中的位置确定汽车偏离车道时,ldws发出预警信号,提醒驾驶员修正本次偏离,从而减少车道偏离事故的发生。

车道线检测作为ldws的核心技术,其检测结果的准确性直接影响后续的预警效果。现有技术在对车道线进行检测时,通常采用的步骤包括:第一步,将采集到的场景图像从彩色空间转换到灰度空间,并对灰度空间下的整幅图像进行处理,去除其中的无效区域(如路边建筑和天空等),保留其中的路面部分作为路面图像,以便减少计算量;第二步,对路面图像进行边缘检测,获取车道线的边缘点,由于车道线一般为白色或黄色,灰度值较大,而路面接近黑色,灰度值较小,因此该步骤中可通过梯度信息对车道线进行边缘检测,获取车道线的边缘点;第三步,获取边缘点后,得到相应的二值化图像,然后对该二值化图像进行霍夫变换,获取霍夫矩阵;第四步,查找霍夫矩阵中的两个局部极大值,将这两个局部极大值确定的直线分别作为两条车道线。

上述第二步对路面图像进行边缘检测时,目前通常采用canny算法。该算法包括以下步骤:

(1)使用高斯滤波器对路面图像进行滤波处理。

(2)计算滤波后的路面图像的梯度幅值和梯度方向,该计算过程中,通过sobel算子计算gx与gy方向的梯度,其中gx与gy的滤波模板如图1所示,滤波区域如图2所示,为3*3区域,使目标像素(即3*3区域的中心像素)位于滤波模板的中心,将各个像素值与该滤波模板对应的模板算子相乘后再相加,分别得到目标像素的gx与gy的值,即:

gx=a1*(-1)+a2*0+a3*1+a4*(-2)+a5*0+a6*2+a7*(-1)+a8*0+a9*1

gy=a1*1+a2*2+a3*1+a4*0+a5*0+a6*0+a7*(-1)+a8*(-2)+a9*(-1)。

计算得到的目标像素的梯度幅值和梯度方向分别为:和θ=arctan2(gy,gx)。

(3)按照上述方法遍历路面图像中的各个像素,计算路面图像中所有像素的梯度幅值和方向,其中,当滤波模板超出图像边界的时候,将超出部分对应的像素值设置为0,然后再依据上述方式进行计算。

(4)使用非最大化抑制方法确定各个像素点是否为车道线的边缘点,具体的,依次设定各个像素为当前像素,将当前像素的梯度值与其梯度方向上相邻像素的梯度值进行比较,若当前像素的梯度值大于相邻像素的梯度值,则将当前像素作为车道线的一个边缘点。

但是,发明人在本申请的研究过程中发现,通过现有技术对路面图像进行边缘检测时,需要进行大量的乘法和三角函数运算,并且,在使用非最大化抑制方法确定各个像素点是否为车道线的边缘点时,均需要遍历一次路面图像以进行比较操作,计算量较大,从而导致车道线检测的耗时较长,影响预警效果。



技术实现要素:

本发明实施例公开一种基于霍夫变换的车道线检测方法及终端设备,以解决通过现有技术进行车道线检测时,所存在的由于计算量大,导致车道线检测耗时长,影响预警效果的问题。

本发明实施例的第一方面,公开一种基于霍夫变换的车道线检测方法,包括:

通过预设滤波模板对路面图像进行滤波,计算各个像素的横向梯度,所述预设滤波模板包括一行滤波因子,设定所述滤波因子的数量为n,其中,n为大于1的奇数,所述预设滤波模板中间的滤波因子为0,并且第a个滤波因子与第(n+1-a)个滤波因子互为相反数;

将所述横向梯度为正数或负数的像素作为待处理像素,将所述待处理像素的横向梯度置为0后,根据各个像素的横向梯度获取梯度图像;

对所述梯度图像进行二值化处理,获取所述梯度图像对应的二值化图像,并对所述二值化图像进行霍夫变换,获取相应的霍夫矩阵;

对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并根据所述局部极大值确定车道线在所述路面图像中的位置。

可选的,所述通过预设滤波模板对路面图像进行滤波,计算各个像素的横向梯度,具体为:

若所述预设滤波模板为[-101],通过以下公式计算目标像素的横向梯度:

g=a1*(-1)+a2*0+a3*1公式(1);

其中,g为所述目标像素的横向梯度,a1为所述目标像素左侧相邻的像素的灰度值,a2为所述目标像素的灰度值,a3为所述目标像素右侧相邻的像素的灰度值。

可选的,所述对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并根据所述局部极大值确定车道线在所述路面图像中的位置,具体为:

根据各个坐标值对应的投票数对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并获取所述局部极大值对应的坐标值,其中,所述霍夫矩阵包括:所述二值化图像中灰度值为255的各个像素点在极坐标参数空间下的坐标值(ρ,θ),以及各个坐标值对应的投票数;

根据所述霍夫矩阵中局部极大值的数量,确定相应的约束条件,并判断所述局部极大值对应的坐标值是否满足所述约束条件;

确定满足所述约束条件的坐标值为目标坐标值,根据所述目标坐标值确定车道线在所述路面图像中的位置。

可选的,设定所述霍夫矩阵中局部极大值的数量为k,若k≥2,所述根据所述霍夫矩阵中局部极大值的数量,确定相应的约束条件,并判断所述局部极大值对应的坐标值是否满足所述约束条件,包括:

根据所述霍夫矩阵中局部极大值的数量,确定所述约束条件包括以下的四个公式:

abs(ρ1-ρ2)+abs(θ1-θ2)*200>t1andabs(ρ1-ρ2)+abs(θ1-θ2)*200<t2(公式2);

abs(θ1-θ2)>t3andabs(θ1-θ2)<t4(公式3);

(θ1>90andθ2<=90)or(θ1<=90andθ2>90)(公式4);

abs((θ1-90)+(θ2-90))<t5(公式5);

其中,(ρ1,θ1)和(ρ2,θ2)为所述霍夫矩阵中的两个局部极大值分别对应的坐标值,t1、t2、t3、t4和t5分别为预先设置的约束参数;

将所述局部极大值对应的坐标值对所述四个公式进行两两匹配;

若存在两个坐标值匹配所述四个公式,确定所述两个坐标值满足所述约束条件。

可选的,设定所述霍夫矩阵中局部极大值的数量为k,若k=1,所述根据所述霍夫矩阵中局部极大值的数量,确定相应的约束条件,并判断所述局部极大值对应的坐标值是否满足所述约束条件,包括:

根据所述霍夫矩阵中局部极大值的数量,确定所述约束条件为:

(θ3≥t6andθ3≤t7)or(θ3≥t8andθ3≤t9)(公式6);

其中,(ρ3,θ3)为所述霍夫矩阵中的局部极大值对应的坐标值,t6、t7、t8和t9分别为预先设置的约束参数;

将所述局部极大值对应的坐标值与公式6进行匹配;

若所述局部极大值对应的坐标值匹配所述公式6,确定所述坐标值满足所述约束条件。

本发明实施例的第二方面,公开一种终端设备,包括:

横向梯度计算模块,用于通过预设滤波模板对路面图像进行滤波,计算各个像素的横向梯度,所述预设滤波模板包括一行滤波因子,设定所述滤波因子的数量为n,其中,n为大于1的奇数,所述预设滤波模板中间的滤波因子为0,并且第a个滤波因子与第(n+1-a)个滤波因子互为相反数;

梯度图像获取模块,用于将所述横向梯度为正数或负数的像素作为待处理像素,将所述待处理像素的横向梯度置为0后,根据各个像素的横向梯度获取梯度图像;

霍夫矩阵获取模块,用于对所述梯度图像进行二值化处理,获取所述梯度图像对应的二值化图像,并对所述二值化图像进行霍夫变换,获取相应的霍夫矩阵;

车道线位置确定模块,用于对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并根据所述局部极大值确定车道线在所述路面图像中的位置。

可选的,若所述预设滤波模板为[-101],所述横向梯度计算模块用于通过以下公式计算目标像素的横向梯度:

g=a1*(-1)+a2*0+a3*1公式(1);

其中,g为所述目标像素的横向梯度,a1为所述目标像素左侧相邻的像素的灰度值,a2为所述目标像素的灰度值,a3为所述目标像素右侧相邻的像素的灰度值。

可选的,所述车道线位置确定模块包括:

局部极大值搜索单元,用于根据各个坐标值对应的投票数对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并获取所述局部极大值对应的坐标值,其中,所述霍夫矩阵包括:所述二值化图像中灰度值为255的各个像素点在极坐标参数空间下的坐标值(ρ,θ),以及各个坐标值对应的投票数;

约束条件判断单元,用于根据所述霍夫矩阵中局部极大值的数量,确定相应的约束条件,并判断所述局部极大值对应的坐标值是否满足所述约束条件;

车道线位置确定单元,用于确定满足所述约束条件的坐标值为目标坐标值,根据所述目标坐标值确定车道线在所述路面图像中的位置。

可选的,设定所述霍夫矩阵中局部极大值的数量为k,若k≥2,所述约束条件判断单元包括:

第一条件确定单元,用于根据所述霍夫矩阵中局部极大值的数量,确定所述约束条件包括以下的四个公式:

abs(ρ1-ρ2)+abs(θ1-θ2)*200>t1andabs(ρ1-ρ2)+abs(θ1-θ2)*200<t2(公式2);

abs(θ1-θ2)>t3andabs(θ1-θ2)<t4(公式3);

(θ1>90andθ2<=90)or(θ1<=90andθ2>90)(公式4);

abs((θ1-90)+(θ2-90))<t5(公式5);

其中,(ρ1,θ1)和(ρ2,θ2)为所述霍夫矩阵中的两个局部极大值分别对应的坐标值,t1、t2、t3、t4和t5分别为预先设置的约束参数;

第一匹配单元,用于将所述局部极大值对应的坐标值对所述四个公式进行两两匹配;

第一确定单元,用于若存在两个坐标值匹配所述四个公式,确定所述两个坐标值满足所述约束条件。

可选的,设定所述霍夫矩阵中局部极大值的数量为k,若k=1,所述约束条件判断单元包括:

第二条件确定单元,用于根据所述霍夫矩阵中局部极大值的数量,确定所述约束条件为:

(θ3≥t6andθ3≤t7)or(θ3≥t8andθ3≤t9)(公式6);

其中,(ρ3,θ3)为所述霍夫矩阵中的局部极大值对应的坐标值,t6、t7、t8和t9分别为预先设置的约束参数;

第二匹配单元,用于将所述局部极大值对应的坐标值与公式6进行匹配;

第二确定单元,用于若所述局部极大值对应的坐标值匹配所述公式6,确定所述坐标值满足所述约束条件。

本发明公开一种基于霍夫变换的车道线检测方法及终端设备,该方法中,首先通过预设滤波模板对路面图像进行滤波,计算各个像素的横向梯度;然后查找所述横向梯度为负数的待处理像素,将所述待处理像素的横向梯度置为0,并根据处理后的各个像素的横向梯度获取梯度图像;再获取梯度图像对应的二值化图像,并对所述二值化图像进行霍夫变换,获取相应的霍夫矩阵;然后对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并根据所述局部极大值确定车道线在所述路面图像中的位置。

通过本发明实施例公开的方案能够检测出车道线在路面图像中的位置,从而实现车道线检测。并且,该方法不再计算各个像素的梯度幅值和梯度方向,而是计算各个像素的横向梯度,并且将横向梯度为正数或负数的像素作为待处理像素,将待处理像素的横向梯度置为0,从而对于一条车道线只保留一侧的边缘信息,相对于现有技术来说,能够大幅减少计算量,从而减少车道线检测耗费的时间,提高预警效果。

进一步,本发明实施例中,在获取霍夫矩阵中的各个局部极大值后,会根据各个局部极大值的数量,确定相应的约束条件,将满足约束条件的坐标值作为目标坐标值,再根据目标坐标值确定车道线在路面图像中的位置,从而能够排除其他干扰直线的影响,提高了车道线检测结果的准确性。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术公开的一种滤波模板的示意图;

图2为现有技术公开的一种滤波区域的示意图;

图3为本申请实施例公开的一种基于霍夫变换的车道线检测方法的工作流程示意图;

图4为本申请实施例公开的一种滤波模板的示意图;

图5为本申请实施例公开的一种滤波区域的示意图;

图6为本申请实施例公开的一种极坐标参数空间的示意图;

图7为本申请实施例公开的又一种基于霍夫变换的车道线检测方法的工作流程示意图;

图8为本申请实施例公开的一种终端设备的结构示意图。

具体实施方式

下面结合附图,对本发明的实施例进行描述。

本发明实施例公开一种基于霍夫变换的车道线检测方法及终端设备,以解决通过现有技术进行车道线检测时,所存在的由于计算量大,导致车道线检测耗时长,影响预警效果的问题。

本发明第一实施例公开一种基于霍夫变换的车道线检测方法,参见图3所示的工作流程示意图,本发明实施例公开的基于霍夫变换的车道线检测方法包括以下步骤:

步骤s11、通过预设滤波模板对路面图像进行滤波,计算各个像素的横向梯度。

所述预设滤波模板包括一行滤波因子,设定所述滤波因子的数量为n,其中,n为大于1的奇数,所述预设滤波模板中间的滤波因子为0,并且第a个滤波因子与第(n+1-a)个滤波因子互为相反数。另外,a为小于n的正整数。

当需要获取路面图像时,首先用摄像机等拍摄装置采集一段包括路面的视频,获取其中的一帧或多帧图像;然后将图像从彩色空间转换到灰度空间,以便将彩色空间的三个通道的图像信息整合为灰度空间的单通道信息,从而能够有效减少计算量;一幅图像中不仅包括路面信息,往往还包括路边建筑和天空等内容,但在车道线检测过程中只需要对路面信息进行分析,其他区域属于无效区域,为了减少无用的计算量,划定图像中包含路面信息的部分,将其作为路面图像。

另外,在通过预设滤波模板对路面图像进行滤波,计算某一像素的横向梯度时,若预设滤波模板中某一滤波因子所在区域的像素无法取值,则直接将该像素的横向梯度设置为0。

本发明实施例中,预设滤波模板可采用多种形式,本发明实施例对此不做限定。例如,预设滤波模板可以为[-101],该预设滤波模板中,n为3,若a为1,则第a个滤波因子为-1,第(n+1-a)个滤波因子(即第3个滤波因子)为1,二者互为相反数。另外,这种情况下,若计算位于图像边缘的某一像素的横向梯度时,滤波因子-1或滤波因子1所在区域的像素可能无法取值,则直接将该位于图像边缘的像素的横向梯度设置为0。

或者,在另一示例中,预设滤波模板可以为[-5-3-10135],该预设滤波模板中,n为7,若a为1,则第a个滤波因子为-5,第(n+1-a)个滤波因子(即第7个滤波因子)为5,二者互为相反数。

步骤s12、将所述横向梯度为正数或负数的像素作为待处理像素,将所述待处理像素的横向梯度置为0后,根据各个像素的横向梯度获取梯度图像。

步骤s13、对所述梯度图像进行二值化处理,获取所述梯度图像对应的二值化图像,并对所述二值化图像进行霍夫变换,获取相应的霍夫矩阵。

由于车道线和道路的灰度值差别较大,车道线边缘的像素的横向梯度也较大,因此对梯度图像二值化处理后,可以保留车道特征,滤除其他干扰。在对梯度图像进行二值化处理,获取二值化图像时,可采用大津法,大津法基于每幅图像的统计特征,能够实现阈值的自适应选取,从而得到较为准确的二值图像。当然,也可以采用其他方法,本发明实施例对此不做限定。

通过步骤s11公开的方案计算得到的各个像素的横向梯度,通常一部分为正数,一部分为负数。另外,在对二值化图像进行霍夫变换时,需要将二值化图像中每一个灰度值为255的像素进行相应变换,因此,二值化图像中灰度值为255的像素总数极大影响了计算量,并进一步影响了车道线检测的速度。

这种情况下,通过步骤s12公开的方案,将横向梯度为正数或负数的像素作为待处理像素,然后将待处理像素的横向梯度置为0,这样对于一条车道线只保留了一侧的边缘信息,另一侧的边缘信息被删除,从而能够在满足检测要求的情况下,大幅减少计算量。

步骤s14、对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并根据所述局部极大值确定车道线在所述路面图像中的位置。

所述霍夫矩阵包括:所述二值化图像中灰度值为255的各个像素点在极坐标参数空间下的坐标值(ρ,θ),以及各个坐标值对应的投票数。其中,每一个坐标值(ρ,θ)能够唯一确定一条直线,根据局部极大值以及局部极大值对应的坐标值,即可确定车道线在路面图像中的位置,实现车道线的检测。

本发明第一实施例公开一种基于霍夫变换的车道线检测方法,该方法中,首先通过预设滤波模板对路面图像进行滤波,计算各个像素的横向梯度;然后查找所述横向梯度为负数的待处理像素,将所述待处理像素的横向梯度置为0后,根据各个像素的横向梯度获取梯度图像;再获取梯度图像对应的二值化图像,并对所述二值化图像进行霍夫变换,获取相应的霍夫矩阵;然后对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并根据所述局部极大值确定车道线在所述路面图像中的位置。

通过本发明实施例公开的方法能够检测出车道线在路面图像中的位置,从而实现车道线检测。并且,该方法不再计算各个像素的梯度幅值和梯度方向,而是计算各个像素的横向梯度,并且将横向梯度为正数或负数的像素作为待处理像素,将待处理像素的横向梯度置为0,从而对于一条车道线只保留一侧的边缘信息,相对于现有技术来说,能够大幅减少计算量,从而减少车道线检测耗费的时间,提高预警效果。

在本发明实施例公开的基于霍夫变换的车道线检测方法中,预设滤波模块能够包括多种形式。在其中一种示例中,预设滤波模板可以为[-101]。

这种情况下,所述通过预设滤波模板对路面图像进行滤波,计算各个像素的横向梯度,具体为:若所述预设滤波模板为[-101],所述预设滤波模板的示意图如图4所示,通过预设滤波模板对路面图像进行滤波时,经过的图像区域如图5所示。通过以下公式计算目标像素的横向梯度:

g=a1*(-1)+a2*0+a3*1公式(1)。

其中,g为所述目标像素的横向梯度,a1为所述目标像素左侧相邻的像素的灰度值,a2为所述目标像素的灰度值,a3为所述目标像素右侧相邻的像素的灰度值。

在计算过程中,若目标像素为图像边缘的某一像素,滤波因子-1或滤波因子1所在所在区域的像素可能无法取值,也就是说,a1或a3无法获得,这种情况下,则确定目标像素的横向梯度为0。

在本发明实施例中,对二值化图像进行霍夫变换之后,获取的霍夫矩阵包括:所述二值化图像中灰度值为255的各个像素点在极坐标参数空间下的坐标值(ρ,θ),以及各个坐标值对应的投票数。

在直角坐标系下,直线被定义为:y=mx+b。其中,m为直线的斜率,b为直线与y轴的截距,只要确定了m和b的具体数值,一条直线就可以被唯一地确定下来。另外,在极坐标参数空间下,参见图6所示的极坐标参数空间的示意图,如果用ρ0表示原点到该直线的欧氏距离,θ0表示该直线的正交线与x轴的夹角,则:这种情况下,该直线又可以表示为:将其写为更通用的形式,则为:ρ=xcos+ysinθ,其中(ρ,θ)即为极坐标的表示形式,也可称其为霍夫空间。

另外,在直角坐标系中的一点,对应于霍夫空间中的一条正弦曲线。一条直线由无数个点组成,对应霍夫空间中的无数条正弦曲线,但这些正弦曲线会相交于一点(ρ0,θ0),根据该点可以求得m和b的具体数值,并据此确定一条直线。另外,有多少条正弦曲线相交于一点(ρ0,θ0)处,则对应(ρ0,θ0)这一坐标值通常就有多少个投票数。因此,在通过霍夫变换识别直线时,根据投票数确定局部极大值,该局部极大值对应的坐标值有可能确定一条直线。

这种情况下,作为图3方法的细化,在本发明的另一实施例中,如图7所示,所述对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并根据所述局部极大值确定车道线在所述路面图像中的位置,包括以下步骤:

步骤s21、根据各个坐标值对应的投票数对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并获取所述局部极大值对应的坐标值。

其中,所述霍夫矩阵包括:所述二值化图像中灰度值为255的各个像素点在极坐标参数空间下的坐标值(ρ,θ),以及各个坐标值对应的投票数。

步骤s22、根据所述霍夫矩阵中局部极大值的数量,确定相应的约束条件。

步骤s23、判断所述局部极大值对应的坐标值是否满足所述约束条件,若是,执行步骤s24的操作,若否,执行步骤s25的操作。

步骤s24、确定满足所述约束条件的坐标值为目标坐标值,根据所述目标坐标值确定车道线在所述路面图像中的位置。

步骤s25、若所述局部极大值对应的坐标值不满足所述约束条件,确定路面图像中不存在车道线。这种情况下,可继续获取下一幅路面图像,继续对下一幅路面图像进行车道线检测。

在路面图像中若存在车道线,由于车道线往往长度较长,则车道线所在直线上的边缘像素的个数较多,这种情况下,该条直线在霍夫矩阵中对应的投票数往往较多,因此,局部极大值对应的坐标值确定的直线可能为车道线。

现有技术中,在获取霍夫矩阵后,将霍夫矩阵中检测到的投票数最多的前两个局部极大值作为车道线的检测结果。但在实际情况中,受到其他干扰直线的影响,投票数最多的前两个局部极大值并不一定对应两条车道线。这种情况下,本发明实施例的步骤s21至步骤s25公开的方案中,在获取霍夫矩阵中的各个局部极大值后,会根据各个局部极大值的数量,确定相应的约束条件,将满足约束条件的坐标值作为目标坐标值,再根据目标坐标值确定车道线在路面图像中的位置,从而能够排除其他干扰直线的影响,提高了车道线检测结果的准确性。

本发明实施例中,根据霍夫矩阵中局部极大值的数量,预先设置了不同的约束条件。其中,设定所述霍夫矩阵中局部极大值的数量为k,若k≥2,所述根据所述霍夫矩阵中局部极大值的数量,确定相应的约束条件,并判断所述局部极大值对应的坐标值是否满足所述约束条件,包括以下步骤:

首先,根据所述霍夫矩阵中局部极大值的数量,确定所述约束条件包括以下的四个公式:

abs(ρ1-ρ2)+abs(θ1-θ2)*200>t1andabs(ρ1-ρ2)+abs(θ1-θ2)*200<t2(公式2);

abs(θ1-θ2)>t3andabs(θ1-θ2)<t4(公式3);

(θ1>90andθ2<=90)or(θ1<=90andθ2>90)(公式4);

abs((θ1-90)+(θ2-90))<t5(公式5)。

其中,(ρ1,θ1)和(ρ2,θ2)为所述霍夫矩阵中的两个局部极大值分别对应的坐标值,t1、t2、t3、t4和t5分别为预先设置的约束参数。

然后,将所述局部极大值对应的坐标值对所述四个公式进行两两匹配。若存在两个坐标值匹配所述四个公式,确定所述两个坐标值满足所述约束条件,也就是说,确定匹配公式2至公式5的两个坐标值为目标坐标值。

在本发明实施例中,若霍夫矩阵中局部极大值的数量不小于2,则约束条件为公式2至公式5,t1、t2、t3、t4和t5分别为预先设置的约束参数,表示正常路面下两条车道线关系应该满足的阈值。其中,公式2表示两条正常车道线的相似度应满足的条件;公式3表示两条正常车道线的角度差的绝对值应满足的条件;公式4表示两条正常车道线的角度应为异号;公式5表示两条正常车道线的角度和的绝对值应满足的条件。

通过公式2至公式5,能够从两条车道线的相似性和几何角度来判断两条直线是否为真正的车道线,提高车道线检测的正确性,避免干扰直线的影响。

进一步的,若霍夫矩阵中局部极大值的数量较多,还可以预先设定阈值r,其中r为小于k且不小于2的正整数,然后从霍夫矩阵中选择投票数较大的前r个局部极大值,将选择出来的前r个局部极大值对应的坐标值对公式2至公式5进行两两匹配,并在确定其中两个坐标值匹配这四个公式时,确定这两个坐标值满足所述约束条件,从而进一步减少计算量。

另外,若经过两两匹配,确定局部极大值对应的坐标值均不满足公式2至公式5,则认为局部极大值对应的坐标值不满足约束条件,这种情况下,则认为路面图像中不包括车道线。

进一步的,设定所述霍夫矩阵中局部极大值的数量为k,若k=1,也就是说,局部极大值对应的坐标值只有一个,所述根据所述霍夫矩阵中局部极大值的数量,确定相应的约束条件,并判断所述局部极大值对应的坐标值是否满足所述约束条件,包括:

首先,根据所述霍夫矩阵中局部极大值的数量,确定所述约束条件为:

(θ3≥t6andθ3≤t7)or(θ3≥t8andθ3≤t9)(公式6);

其中,(ρ3,θ3)为所述霍夫矩阵中的局部极大值对应的坐标值,t6、t7、t8和t9分别为预先设置的约束参数。

然后,将所述局部极大值对应的坐标值与公式6进行匹配,若所述局部极大值对应的坐标值匹配所述公式6,确定所述坐标值满足所述约束条件。也就是说,确定匹配公式6的坐标值为目标坐标值。

若霍夫矩阵中只有一个局部极大值,通过该局部极大值对应的坐标值是否匹配公式6,即可确定该坐标值是否满足约束条件。其中,t6、t7、t8和t9分别为预先设置的约束参数,通常为预设的角度值。例如,t6可设置为30度,t7可设置为60度,若θ3大于或等于30度,且小于或等于60度,则认为该坐标值匹配公式6,也就是说,该坐标值满足约束条件,并且这种情况下,通常可认为该条车道线为左侧的车道线;另外,t8可设置为120度,t9可设置为150度,若θ3大于或等于120度,且小于或等于150度,则认为该坐标值匹配公式6,也就是说,该坐标值满足约束条件,并且这种情况下,通常可认为该条车道线为右侧的车道线。

通过公式6,能够根据车道线的几何角度来判断一条直线是否为真正的车道线,提高车道线检测的正确性,避免干扰直线的影响。

上述实施例中,分别针对霍夫矩阵中局部极大值的数量大于等于2和数量为1的两种情况下,对其相应的约束条件进行介绍,从而能够获取满足约束条件的目标坐标值,以便根据目标坐标值确定车道线在路面图像中的位置。另外,若通过局部极大值搜索,确定霍夫矩阵中不包含局部极大值时,通常认为该路面图像中不包含车道线,可选取下一幅路面图像进行车道线检测。

在本发明另一实施例中,公开一种终端设备,该终端设备通常被设置在汽车中,作为车道偏离预警系统的一部分,执行车道线检测操作。参见图8所示的结构示意图,所述终端设备包括:横向梯度计算模块100、梯度图像获取模块200、霍夫矩阵获取模块300和车道线位置确定模块400。

其中,所述横向梯度计算模块100用于通过预设滤波模板对路面图像进行滤波,计算各个像素的横向梯度,所述预设滤波模板包括一行滤波因子,设定所述滤波因子的数量为n,其中,n为大于1的奇数,所述预设滤波模板中间的滤波因子为0,并且第a个滤波因子与第(n+1-a)个滤波因子互为相反数。

在横向梯度计算模块100通过预设滤波模板对路面图像进行滤波,计算某一像素的横向梯度时,若预设滤波模板中某一滤波因子所在区域的像素无法取值,则直接将该像素的横向梯度设置为0。

本发明实施例中,预设滤波模板可采用多种形式,本发明实施例对此不做限定。例如,预设滤波模板可以为[-101],该预设滤波模板中,n为3,若a为1,则第a个滤波因子为-1,第(n+1-a)个滤波因子(即第3个滤波因子)为1,二者互为相反数。另外,这种情况下,若计算位于图像边缘的某一像素的横向梯度时,滤波因子-1或滤波因子1所在所在区域的像素可能无法取值,则直接将该位于图像边缘的像素的横向梯度设置为0。

或者,在另一示例中,预设滤波模板可以为[-5-3-10135],该预设滤波模板中,n为7,若a为1,则第a个滤波因子为-5,第(n+1-a)个滤波因子(即第7个滤波因子)为5,二者互为相反数。

所述梯度图像获取模块200用于将所述横向梯度为正数或负数的像素作为待处理像素,将所述待处理像素的横向梯度置为0后,根据各个像素的横向梯度获取梯度图像。

所述霍夫矩阵获取模块300,用于对所述梯度图像进行二值化处理,获取所述梯度图像对应的二值化图像,并对所述二值化图像进行霍夫变换,获取相应的霍夫矩阵。

通过所述横向梯度计算模块100计算得到的各个像素的横向梯度,通常一部分为正数,一部分为负数。另外,在对二值化图像进行霍夫变换时,需要将二值化图像中每一个灰度值为255的像素进行相应变换,因此,二值化图像中灰度值为255的像素总数极大影响了计算量,并进一步影响了车道线检测的速度。

因此,可通过梯度图像获取模块200将横向梯度为正数或负数的像素作为待处理像素,然后将待处理像素的横向梯度置为0,这样对于一条车道线只保留了一侧的边缘信息,另一侧的边缘信息被删除,从而能够在满足检测要求的情况下,大幅减少计算量。

所述车道线位置确定模块400,用于对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并根据所述局部极大值确定车道线在所述路面图像中的位置。

所述霍夫矩阵包括:所述二值化图像中灰度值为255的各个像素点在极坐标参数空间下的坐标值(ρ,θ),以及各个坐标值对应的投票数。其中,每一个坐标值(ρ,θ)能够唯一确定一条直线,根据局部极大值以及局部极大值对应的坐标值,即可确定车道线在路面图像中的位置,实现车道线的检测。

本发明实施例中,预设滤波模块能够包括多种形式。在其中一种示例中,预设滤波模板可以为[-101]。

若所述预设滤波模板为[-101],所述横向梯度计算模块100用于通过以下公式计算目标像素的横向梯度:

g=a1*(-1)+a2*0+a3*1公式(1);

其中,g为所述目标像素的横向梯度,a1为所述目标像素左侧相邻的像素的灰度值,a2为所述目标像素的灰度值,a3为所述目标像素右侧相邻的像素的灰度值。

在计算过程中,若目标像素为图像边缘的某一像素,滤波因子-1或滤波因子1所在所在区域的像素可能无法取值,也就是说,a1或a3无法获得,这种情况下,则确定目标像素的横向梯度为0。

在本发明实施例中,所述霍夫矩阵包括:所述二值化图像中灰度值为255的各个像素点在极坐标参数空间下的坐标值(ρ,θ),以及各个坐标值对应的投票数;

这种情况下,所述车道线位置确定模块400包括:

局部极大值搜索单元,用于根据各个坐标值对应的投票数对所述霍夫矩阵进行局部极大值搜索,获取所述霍夫矩阵中的局部极大值,并获取所述局部极大值对应的坐标值;

约束条件判断单元,用于根据所述霍夫矩阵中局部极大值的数量,确定相应的约束条件,并判断所述局部极大值对应的坐标值是否满足所述约束条件;

车道线位置确定单元,用于确定满足所述约束条件的坐标值为目标坐标值,根据所述目标坐标值确定车道线在所述路面图像中的位置。

在路面图像中若存在车道线,由于车道线往往长度较长,则车道线所在直线上的边缘像素的个数较多,这种情况下,该条直线在霍夫矩阵中对应的投票数往往较多,因此,局部极大值对应的坐标值确定的直线可能为车道线。

现有技术中,在获取霍夫矩阵后,将霍夫矩阵中检测到的投票数最多的前两个局部极大值作为车道线的检测结果。但在实际情况中,受到其他干扰直线的影响,投票数最多的前两个局部极大值并不一定对应两条车道线。这种情况下,本发明实施例公开的方案在获取霍夫矩阵中的各个局部极大值后,会根据各个局部极大值的数量,确定相应的约束条件,将满足约束条件的坐标值作为目标坐标值,再根据目标坐标值确定车道线在路面图像中的位置,从而能够排除其他干扰直线的影响,提高了车道线检测结果的准确性。

本发明实施例中,根据霍夫矩阵中局部极大值的数量,预先设置了不同的约束条件。其中,设定所述霍夫矩阵中局部极大值的数量为k,若k≥2,所述约束条件判断单元包括:

第一条件确定单元,用于根据所述霍夫矩阵中局部极大值的数量,确定所述约束条件包括以下的四个公式:

abs(ρ1-ρ2)+abs(θ1-θ2)*200>t1andabs(ρ1-ρ2)+abs(θ1-θ2)*200<t2(公式2);

abs(θ1-θ2)>t3andabs(θ1-θ2)<t4(公式3);

(θ1>90andθ2<=90)or(θ1<=90andθ2>90)(公式4);

abs((θ1-90)+(θ2-90))<t5(公式5);

其中,(ρ1,θ1)和(ρ2,θ2)为所述霍夫矩阵中的两个局部极大值分别对应的坐标值,t1、t2、t3、t4和t5分别为预先设置的约束参数;

第一匹配单元,用于将所述局部极大值对应的坐标值对所述四个公式进行两两匹配;

第一确定单元,用于若存在两个坐标值匹配所述四个公式,确定所述两个坐标值满足所述约束条件。

在本发明实施例中,若霍夫矩阵中局部极大值的数量不小于2,则约束条件为公式2至公式5,t1、t2、t3、t4和t5分别为预先设置的约束参数,表示正常路面下两条车道线关系应该满足的阈值。其中,公式2表示两条正常车道线的相似度应满足的条件;公式3表示两条正常车道线的角度差的绝对值应满足的条件;公式4表示两条正常车道线的角度应为异号;公式5表示两条正常车道线的角度和的绝对值应满足的条件。

通过公式2至公式5,能够从两条车道线的相似性和几何角度来判断两条直线是否为真正的车道线,提高车道线检测的正确性,避免干扰直线的影响。

进一步的,若霍夫矩阵中局部极大值的数量较多,终端设备还可以预先设定阈值r,其中r为小于k且不小于2的正整数,然后从霍夫矩阵中选择投票数较大的前r个局部极大值,将选择出来的前r个局部极大值对应的坐标值对公式2至公式5进行两两匹配,并在确定其中两个坐标值匹配这四个公式时,确定这两个坐标值满足所述约束条件,从而进一步减少计算量。

另外,若经过两两匹配,确定局部极大值对应的坐标值均不满足公式2至公式5,则认为局部极大值对应的坐标值不满足约束条件,这种情况下,则认为路面图像中不包括车道线。

进一步的,设定所述霍夫矩阵中局部极大值的数量为k,若k=1,所述约束条件判断单元包括:

第二条件确定单元,用于根据所述霍夫矩阵中局部极大值的数量,确定所述约束条件为:

(θ3≥t6andθ3≤t7)or(θ3≥t8andθ3≤t9)(公式6);

其中,(ρ3,θ3)为所述霍夫矩阵中的局部极大值对应的坐标值,t6、t7、t8和t9分别为预先设置的约束参数;

第二匹配单元,用于将所述局部极大值对应的坐标值与公式6进行匹配;

第二确定单元,用于若所述局部极大值对应的坐标值匹配所述公式6,确定所述坐标值满足所述约束条件。

若霍夫矩阵中只有一个局部极大值,通过该局部极大值对应的坐标值是否匹配公式6,即可确定该坐标值是否满足约束条件。其中,t6、t7、t8和t9分别为预先设置的约束参数,通常为预设的角度值。例如,t6可设置为30度,t7可设置为60度,若θ3大于或等于30度,且小于或等于60度,则认为该坐标值匹配公式6,也就是说,该坐标值满足约束条件,并且这种情况下,通常可认为该条车道线为左侧的车道线;另外,t8可设置为120度,t9可设置为150度,若θ3大于或等于120度,且小于或等于150度,则认为该坐标值匹配公式6,也就是说,该坐标值满足约束条件,并且这种情况下,通常可认为该条车道线为右侧的车道线。

通过公式6,能够根据车道线的几何角度来判断一条直线是否为真正的车道线,提高车道线检测的正确性,避免干扰直线的影响。

上述实施例中,分别针对霍夫矩阵中局部极大值的数量大于等于2和数量为1的两种情况下,对其相应的约束条件进行介绍,从而能够获取满足约束条件的目标坐标值,以便根据目标坐标值确定车道线在路面图像中的位置。另外,若通过局部极大值搜索,确定霍夫矩阵中不包含局部极大值时,通常认为该路面图像中不包含车道线,可选取下一幅路面图像进行车道线检测。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于……实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1