本发明涉及智能交通及辅助驾驶技术领域,尤其涉及一种检测车道线的方法及车载设备。
背景技术:
车道偏离预警系统(lanedeparturewarningsystem,ldws)是汽车安全驾驶辅助领域的一个重要组成部分,它是一种通过报警的方式辅助驾驶员减少甚至避免车道偏离事故的系统。该系统基于单目视觉方式时刻采集场景数据,通过图像处理获得车道线在图像中的位置参数,当检测到汽车偏离车道时,系统发出预警信号,提醒驾驶员修正无意识的车道偏离,从而减少车道偏离事故的发生。
车道线检测作为车道偏离预警系统的核心技术,其检测结果的准确性直接影响后续预警系统的效果。在车道线检测过程中,如果车辆两侧各只有一条车道线,通常利用霍夫变换检测直线能够顺利检测出两条车道线。但是如果车辆一侧有双黄线存在,由于两条直线特征非常相似,因此不能准确检测出内侧直线。而双黄线一般是双向车道的分界线,如果检测不正确,很可能发生交通事故。
技术实现要素:
有鉴于此,本发明提供一种检测车道线的方法及车载设备来解决现有技术中无法准确检测出双黄线的内侧直线的问题。
具体地,本发明是通过如下技术方案实现的:
本发明提供一种检测车道线的方法,所述方法包括:
从道路的灰度图中获取左侧边缘线;
判断所述左侧边缘线是否为双黄线中的直线;
若是,则将所述双黄线中极径较大的直线作为车道线输出;
若否,则将所述左侧边缘线作为车道线输出。
作为一个实施例,从道路的灰度图中获取左侧边缘线,包括:
从道路的灰度图中选择感兴趣区域;
在感兴趣区域进行滤波和二值化处理得到左侧边缘区域;
对所述左侧边缘区域进行霍夫变换检测出左侧边缘线。
作为一个实施例,判断所述左侧边缘线是否为双黄线中的直线,包括:
将邻域内与左侧边缘线投票结果最接近的直线和所述左侧边缘线作为候选双黄线;
选取所述候选双黄线任一行上的两点坐标,根据所述两点坐标计算所述候选双黄线之间的宽度;
若所述宽度满足预设条件,则确定所述左侧边缘线是双黄线中的直线;
若所述宽度不满足预设条件,则确定所述左侧边缘线不是双黄线中的直线。
作为一个实施例,将邻域内与左侧边缘线投票结果最接近的直线和所述左侧边缘线作为候选双黄线,包括:
获取所述左侧边缘线的投票数;
从邻域内获取与所述左侧边缘线的投票数最接近的目标直线;
选择与所述左侧边缘线的极径之差小于第一阈值,且极角之差小于第二阈值的目标直线和所述左侧边缘线作为候选双黄线。
作为一个实施例,确定所述邻域的方法,包括:
计算包含所述左侧边缘线的霍夫矩阵;
确定与所述左侧边缘线在所述霍夫矩阵中的位置相邻的区域为所述邻域。
基于相同的构思,本发明还提供一种车载设备,所述车载设备包括存储器、处理器、通信接口以及通信总线;
其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现所述检测车道线的方法的任一步骤。
基于相同的构思,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现所述检测车道线的方法的任一步骤。
由此可见,本发明可以从道路的灰度图中获取左侧边缘线,如果确定该左侧边缘线是双黄线中的直线,则可以从所双黄线中选取极径较大的直线作为车道线输出;否则认为该左侧边缘线为单黄线,因此直接将所述左侧边缘线作为车道线输出。相比于现有技术,本发明可以根据双黄线的特性,快速准确检测出内侧直线,防止检测结果跳变引起偏离预警错误,保障行车安全。
附图说明
图1是本发明一种示例性实施方式中的一种检测车道线的方法的处理流程图;
图2是现有技术中的车道检测示意图;
图3是本发明一种示例性实施方式中的感兴趣区域示意图;
图4是本发明一种示例性实施方式中的坐标示意图;
图5是本发明一种示例性实施方式中的车道检测示意图;
图6本发明一种示例性实施方式中的一种计算机设备的逻辑结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决现有技术存在的问题,本发明提供一种检测车道线的方法及车载设备,可以从道路的灰度图中获取左侧边缘线,如果确定该左侧边缘线是双黄线中的直线,则可以从所双黄线中选取极径较大的直线作为车道线输出;否则认为该左侧边缘线为单黄线,因此直接将所述左侧边缘线作为车道线输出。相比于现有技术,本发明可以根据双黄线的特性,快速准确检测出双黄线中的内侧直线,防止检测结果跳变引起偏离预警错误,保障行车安全。
请参考图1,是本发明一种示例性实施方式中的一种检测车道线的方法的处理流程图,所该方法包括:
步骤101、从道路的灰度图中获取左侧边缘线;
在本实施例中,可以通过光学设备获取道路的灰度图,然后对该灰度图进行图像处理得到灰度图中的左侧边缘线。
具体来讲,首先可以从所述灰度图中选择感兴趣区域。光学设备通常会采集一段路面视频,然后对于每一帧灰度图像进行处理,由于一幅图像中不仅包括路面信息,还包括路边建筑,天空等,车道线检测只需要对路面信息进行分析,其他区域则属于无效区域,如果对整幅图像进行处理,则增加了许多无用计算,因此本实施例中预先划定了感兴趣区域(regionofinterest,roi),如图2所示,在感兴趣区域中只包含路面信息,将其他无用信息全部删除,从而减小了计算量。
其次,可以在感兴趣区域进行滤波和二值化处理得到左侧边缘区域。例如,采用[-1,0,1]模板对感兴趣区域中的图像进行滤波,只保留车道线左侧边缘区域,再对左侧边缘区域进行二值化处理,即小于0的像素置为0,大于255的像素置为255,使整个图像呈现出明显的只有黑和白的视觉效果。由于车道线有一定的宽度,为了便于计算,可以在经过二值化的图像中进一步通过霍夫变换,从而在左侧边缘区域中检测出左侧边缘线。
步骤102、判断所述左侧边缘线是否为双黄线中的直线;若是,则转步骤103;若否,则转步骤104;
如果车辆行驶道路上的车道线为双黄线,往往在颜色、纹理、几何等特征上非常相似,利用传统的霍夫变换检测直线方法能够检测出其中一条直线,但其结果随机的,即可能是内侧也可能是外侧,当检测到外侧直线时,如图3所示,左侧黑线标记的区域是双黄线的外侧直线,这对于车道偏离预警来说是极其危险的,因为双黄线往往是双向车道的分界线,如果车道偏离信息不准确可能会触发事故。
由于车辆在道路上行驶时,只有左侧车道线可能为双黄线,因此只需要对霍夫检测出的左侧边缘线进行复检,则可以判断左侧边缘线是否为双黄线中的直线。
作为一个实施例,可以将邻域内与左侧边缘线投票结果最接近的直线和所述左侧边缘线作为候选双黄线;具体来讲,可以获取所述左侧边缘线的投票数;并通过霍夫变换计算左侧边缘线时,计算得到包含所述左侧边缘线的霍夫矩阵,在所述霍夫矩阵中确定与该左侧边缘线的位置相邻的预设区域为邻域,从邻域内获取与所述左侧边缘线的投票数最接近的目标直线;然后选择与所述左侧边缘线的极径之差小于第一阈值,且极角之差小于第二阈值的目标直线和所述左侧边缘线作为候选双黄线。
举例来讲,假设霍夫检测的左侧边缘线的结果为(ρ1,θ1),其中ρ为极径和θ为极角。在霍夫矩阵中对该左侧边缘线的较小邻域进行搜索,当搜索到某一位置(ρ2,θ2)的投票数与当前结果投票数最接近时,比较两条直线的极径之差和极角之差,当|ρ1-ρ2|<t1且|θ1-θ2|<t2时,可以确定这两条直线为候选双黄线。
确定两条直线为候选双黄线后,可以进一步选取所述候选双黄线任一行上的两点坐标,根据所述两点坐标计算所述候选双黄线之间的宽度;若所述宽度满足预设条件,则确定所述左侧边缘线是双黄线中的直线;若所述宽度不满足预设条件,则确定所述左侧边缘线不是双黄线中的直线。
举例来讲,可以在二值图中画出候选双黄线,然后选取图像某一行上的两个点的坐标(u1,v)和(u2,v),由于车道线本身是平行的,因此无论从候选双黄线上选择哪一行的点,其真实的宽度都是一致的,坐标图如图4所示。由透视变换原理可得:
其中xi=(u-u0)·dx,yi=(v-v0)·dy,yc为相机高度。
由公式(一)可得:
变换后,可得:
由ρ=xcosθ ysinθ可得:
将公式(四)代入公式(三)可得:
则
公式(六)的结果表示两条候选双黄线之间的宽度。
当两条候选双黄线满足预设条件,即t3<xc1-xc2<t4,则能够确定两条候选双黄线为真实的双黄线,则说明该左侧边缘线为双黄线中的直线。如果计算出来的宽度不满足预设条件,则需要重新查找与该左侧边缘线投票接近的直线,并重复上述双黄线的判断。如果遍历全部直线后,都不满足双黄线的要求,则认为该左侧边缘线不是双黄线中的直线,说明当前车道线可能是单黄线。
步骤103、将所述双黄线中极径较大的直线作为车道线输出;
当确定该左侧边缘线为双黄线中的直线后,可以进一步选择双黄线中的内侧直线进行输出。因为双黄线内侧直线的极径ρ比外侧直线的大,因此可以通过选取极径ρ较大的直线作为车道线输出。
最终输出的结果如图5所示,其中左侧黑线标记的位置就是双黄线内侧直线的位置。
步骤104、将所述左侧边缘线作为车道线输出。
如果认为该左侧边缘线不是双黄线中的直线,则说明当前车道不是双黄线,该左侧边缘线有可能是单黄线,因此可以将该左侧边缘线作为车道线输出。
相比于现有技术,本发明利用双黄线的两条直线特征相似且距离固定的特点,可以通过查找投票数以及每条直线对应的ρ和θ的位置来进行双黄线的检测,并通过判断两条直线的实际宽度是否满足双黄线的要求来确定是否为双黄线,最后选择双黄线中ρ较大的直线作为双黄线内侧直线输出。因此本发明能够快速准确的检测双黄线内侧直线,对道路上跨越双黄线这种危险行为能够及时预警,从而极大保护了驾驶员的行车安全。
基于相同的构思,本发明还提供一种车载设备,如图6所示,所述车载设备包括存储器61、处理器62、通信接口63以及通信总线64;
其中,所述存储器61、处理器62、通信接口63通过所述通信总线64进行相互间的通信;
所述存储器61,用于存放计算机程序;
所述处理器62,用于执行所述存储器61上所存放的计算机程序,所述处理器62执行所述计算机程序时实现本发明实施例提供的检测车道线的方法的任一步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的检测车道线的方法的任一步骤。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于计算机设备和计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
综上所述,本发明可以从道路的灰度图中获取左侧边缘线,如果确定该左侧边缘线是双黄线中的直线,则可以从所双黄线中选取极径较大的直线作为车道线输出;否则认为该左侧边缘线为单黄线,因此直接将所述左侧边缘线作为车道线输出。相比于现有技术,本发明可以根据双黄线的特性,快速准确检测出内侧直线,防止检测结果跳变引起偏离预警错误,保障行车安全。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
1.一种检测车道线的方法,其特征在于,所述方法包括:
从道路的灰度图中获取左侧边缘线;
判断所述左侧边缘线是否为双黄线中的直线;
若是,则将所述双黄线中极径较大的直线作为车道线输出;
若否,则将所述左侧边缘线作为车道线输出。
2.根据权利要求1所述的方法,其特征在于,从道路的灰度图中获取左侧边缘线,包括:
从道路的灰度图中选择感兴趣区域;
在感兴趣区域进行滤波和二值化处理得到左侧边缘区域;
对所述左侧边缘区域进行霍夫变换检测出左侧边缘线。
3.根据权利要求1所述的方法,其特征在于,判断所述左侧边缘线是否为双黄线中的直线,包括:
将邻域内与左侧边缘线投票结果最接近的直线和所述左侧边缘线作为候选双黄线;
选取所述候选双黄线任一行上的两点坐标,根据所述两点坐标计算所述候选双黄线之间的宽度;
若所述宽度满足预设条件,则确定所述左侧边缘线是双黄线中的直线;
若所述宽度不满足预设条件,则确定所述左侧边缘线不是双黄线中的直线。
4.根据权利要求3所述的方法,其特征在于,将邻域内与左侧边缘线投票结果最接近的直线和所述左侧边缘线作为候选双黄线,包括:
获取所述左侧边缘线的投票数;
从邻域内获取与所述左侧边缘线的投票数最接近的目标直线;
选择与所述左侧边缘线的极径之差小于第一阈值,且极角之差小于第二阈值的目标直线和所述左侧边缘线作为候选双黄线。
5.根据权利要求3或4所述的方法,其特征在于,确定所述邻域的方法,包括:
计算包含所述左侧边缘线的霍夫矩阵;
确定与所述左侧边缘线在所述霍夫矩阵中的位置相邻的区域为所述邻域。
6.一种车载设备,其特征在于,所述车载设备包括存储器、处理器、通信接口以及通信总线;
其中,所述存储器、处理器、通信接口通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
技术总结