一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

道路识别方法、装置、无人机、设备及存储介质与流程

2022-12-21 20:00:18 来源:中国专利 TAG:


1.本技术实施例涉及道路识别技术领域,尤其涉及一种道路识别方法、装置、无人机、设备及存储介质。


背景技术:

2.随着国家道路建设的日益发展,满足多种通行条件的道路被建设完成。在各种道路的实际应用过程中,结合其道路类型、相邻道路实际设计类型、通行对象类型等的不同,设有不同的道路规则。为了规范道路对象的道路行为,或者确定易违规道路,需要对道路上的实时通行情况进行监控,并识别出道路违规行为,以便标记出易违规道路,或者对违规行为进行后续对违规对象的教育、处罚等处理。
3.目前,现有的道路识别,从应用角度主要可以分为两类:通过无人驾驶车辆或通过固定安装于道路上的固定视角的摄像头进行道路识别。但是,基于无人驾驶的道路识别方法,受限于镜头视角和使用场景,无法拍摄完整路况,主要用来提取当前已经由于仿射变换而变形的车道,无法识别其他道路场景的道路;基于固定视角的摄像头的道路识别方法,识别场景单一,往往对于多类型车道的适应性较差,进而无法准确地识别多种道路场景的路况。
4.因此,现有技术中识别道路的应用场景具有局限性,无法准确地识别出道路区域以及完整的路况信息,进而无法准确、有效地识别道路违规车辆。


技术实现要素:

5.本技术实施例提供一种道路识别方法、装置、无人机、设备及存储介质,以克服现有技术中识别道路的应用场景具有局限性,无法准确地识别出道路区域以及完整的路况信息,进而无法准确、有效地识别道路违规车辆的问题。
6.第一方面,本技术实施例提供一种道路识别方法,包括:
7.获取目标图像对应的第一车道线,所述目标图像是由无人机拍摄得到的多种道路场景中至少一种道路场景的图像;
8.将所述第一车道线转换到极坐标系下,得到所述第一车道线所对应的极线以及所述极线的斜率特征;其中,所述极线用于表示所述第一车道线在霍夫空间对应的点;
9.对所述极线的斜率特征进行聚类,确定所述目标图像的目标车道线,所述目标车道线用于确定道路区域。
10.在一种可能的设计中,对所述极线的斜率特征进行聚类,确定所述目标图像的目标车道线,包括:
11.对所述极线的斜率特征进行聚类,确定第二车道线;
12.根据所述第二车道线,确定目标车道线。
13.在一种可能的设计中,对所述极线的斜率特征进行聚类,确定第二车道线,包括:
14.若对所述极线的斜率特征进行聚类,得到一组斜率,则确定所述极线对应的第一
车道线为第二车道线;
15.若对所述极线的斜率特征进行聚类,得到多组斜率,确定每组斜率的聚类中心,根据每组斜率的聚类中心与无人机航向角,排除与道路方向不同的斜率组,确定第二车道线。
16.在一种可能的设计中,对所述极线的斜率特征进行聚类,确定第二车道线,包括:
17.若对所述极线的斜率特征进行聚类,得到一组斜率,则确定所述极线对应的第一车道线为第二车道线;
18.若对所述极线的斜率特征进行聚类,得到多组斜率,确定每组斜率的聚类中心,根据每组斜率的聚类中心与无人机航向角,排除与道路方向不同的斜率组,确定第二车道线。
19.在一种可能的设计中,所述方法还包括:若排除与道路方向不同的斜率组后存在至少两组斜率,则获取所述至少两组斜率中每组斜率对应的第一车道线数量,并确定第一车道线数量最大的斜率组;
20.若所述数量最大的斜率组对应的第一车道线数量均与其他各斜率组对应第一车道线数量的差值大于预设差值阈值,则排除所述其他各斜率组,确定所述数量最大斜率组对应的第一车道线为第二车道线。在一种可能的设计中,根据所述第二车道线,确定目标车道线,包括:
21.通过颜色区域面积识别所述第二车道线是实线或虚线;
22.从所述第二车道线所在画面的任一边缘向相邻边缘逐渐扫描,找到所有单向车道区域,所述单向车道区域为含有实线-若干虚线-实线的区域;
23.根据所述单向车道区域,确定目标车道线。
24.在一种可能的设计中,获取目标图像对应的第一车道线,包括:
25.将所述目标图像转换为灰度图;
26.根据所述灰度图像,确定初始车道线;
27.提取所述目标图像中的车道线掩膜,并基于所述初始车道线以及所述车道线掩膜,确定第一车道线。
28.在一种可能的设计中,根据所述灰度图像,确定初始车道线,包括:
29.对所述灰度图进行平滑处理后,通过边缘检测算法获取所述目标图像内的线段;
30.对所述线段进行膨胀处理,得到合并所述线段后的初始车道线。
31.在一种可能的设计中,提取所述目标图像中的车道线掩膜,并基于所述初始车道线以及所述车道线掩膜,确定第一车道线,包括:
32.基于颜色空间hls阈值对所述目标图像进行过滤,提取包括黄色以及白色区域的所述车道线掩膜;
33.基于所述车道线掩膜对所述初始车道线进行提取,获取到所述第一车道线。
34.在一种可能的设计中,所述方法还包括:
35.获取所述目标图像对应的实际车道线以及所述实际车道线的个数;
36.根据所述目标车道线以及所述目标车道线的个数分别与所述实际车道线以及所述实际车道线的个数进行比对,确定所述道路区域。
37.第二方面,本技术实施例提供一种道路识别装置,包括:
38.获取模块,用于获取目标图像对应的第一车道线,所述目标图像是由无人机拍摄得到的多种道路场景中至少一种道路场景的图像;
39.处理模块,用于将所述第一车道线转换到极坐标系下,得到所述第一车道线所对应的极线以及所述极线的斜率特征;其中,所述极线用于表示所述第一车道线在霍夫空间对应的点;
40.识别处理模块,用于对所述极线的斜率特征进行聚类,确定所述目标图像的目标车道线,所述目标车道线用于确定道路区域。
41.第三方面,本技术实施例提供一种无人机,所述无人机用于执行如上第一方面任一项所述的道路识别方法。
42.第四方面,本技术实施例提供一种电子设备,包括:处理器和存储器;
43.所述存储器存储计算机执行指令;
44.所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上第一方面任一项所述的道路识别方法。
45.第五方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面任一项所述的方法。
46.第六方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面任一项所述的方法。
47.本实施例提供的道路识别方法、装置、无人机、设备及存储介质,首先获取目标图像对应的第一车道线,该目标图像是由无人机拍摄得到的多种道路场景中至少一种道路场景的图像;然后将所述第一车道线转换到极坐标系下,得到所述第一车道线所对应的极线以及所述极线的斜率特征;其中,所述极线用于表示所述第一车道线在霍夫空间对应的点;再对所述极线的斜率特征进行聚类,确定所述目标图像的目标车道线,所述目标车道线用于确定道路区域。因此,基于无人机拍摄多种道路场景的路况图像,获取该图像对应的第一车道线,再基于第一车道线在极坐标系下的斜率特征,通过聚类排除一些干扰线,确定目标车道线,进而准确地识别出车道区域。同时,基于斜率特征进行聚类等技术不区分图像场景,因此能够应用于多种道路场景的识别,进而能够提取出准确完整的路径,用于后续的交通违规等应用,使得能够准确、有效地识别道路违规车辆。
附图说明
48.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
49.图1为本技术实施例提供的道路识别方法的场景示意图;
50.图2为本技术实施例提供的道路识别方法的流程示意图;
51.图3为本技术实施例提供的道路识别装置的结构示意图;
52.图4为本技术实施例提供的电子设备的结构示意图。
具体实施方式
53.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例
中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
55.现有的道路识别,从应用角度主要可以分为两类:通过无人驾驶车辆或通过固定安装于道路上的固定视角的摄像头进行道路识别。但是,基于无人驾驶的道路识别方法,受限于镜头视角和使用场景,无法拍摄完整路况,主要用来提取当前已经由于仿射变换而变形的车道,无法识别其他道路场景的道路;基于固定视角的摄像头的道路识别方法,识别场景单一,往往对于多类型车道的适应性较差,进而无法准确地识别多种道路场景的路况。因此,现有技术中识别道路的应用场景具有局限性,无法准确地识别出道路区域以及完整的路况信息,进而无法准确、有效地识别道路违规车辆。
56.因此,针对上述问题,本技术的技术构思是利用无人机道路巡航,无人机在巡航过程中,以俯视视角拍摄整个道路,采集多种道路场景的图像,然后无人机基于多种道路场景的图像进行道路识别,或者无人机将采集的图像回传至服务器,由服务器对采集的多种道路场景的图像进行道路识别;其中,道路识别的过程可以是通过获取无人机拍摄的多种道路场景的图像对应的第一车道线,对第一车道线进行极坐标转换,通过对得到的极限的斜率特征进行聚类排除多种道路场景的干扰线来实现道路区域的识别,能够提取出准确完整的路径,进而用于后续的交通违规等应用。
57.在实际应用中,该道路识别方法可以应用于无人机道路巡航中,以俯视视角拍摄整个道路,识别出完整的道路情况,用于后续的交通违规等应用。其中,无人机拍摄的道路图像不局限于一种道路场景,能够拍摄出多种道路场景的图像,进而识别出完整的道路情况。下述以无人机和服务器构成的道路识别系统为例,对道路识别方法进行详细说明。
58.示例性的,参见图1所示,图1为本技术实施例提供的道路识别方法的场景示意图。利用无人机道路巡航,在巡航过程中,以俯视视角拍摄整个道路,采集多种道路场景(或多种图像场景,比如含有辅路、梯田、路牌、隔离带栏杆、隔音墙等物体的干扰的图像场景)的图像,然后将多种道路场景的图像发送至服务器。服务器通过将第一车道线对应的极线的斜率特征进行聚类,排除干扰线,识别出车道区域。
59.具体地,服务器接收到目标图像,并获取目标图像对应的初始车道线,目标图像是由无人机拍摄得到的多种道路场景中至少一种道路场景的图像。服务器基于目标图像提取车道线掩膜,从而基于初始车道线以及车道线掩膜,得到第一车道线,然后基于第一车道线在极坐标系下的特征,确定目标图像的目标车道线,最后基于目标车道线,确定道路区域,该方法能够应用于多种道路场景的识别,进而能够提取出准确完整的道路区域,用于后续的交通违规等应用。
60.此外,固定视角的摄像头的道路识别方法,如果需要对整个路段监控,就需要在多个路段部署大量摄像头,耗费大量的工作量以及成本,而本技术基于无人机拍摄完整路况,降低了工作量以及成本,并且能够适用于多种道路场景,使得在道路场景应用中能够准确地识别道路,进而准确、有效地识别道路违规车辆。
61.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
62.图2为本技术实施例提供的道路识别方法的流程示意图,该方法可以包括:
63.s101、获取目标图像对应的第一车道线。
64.其中,所述目标图像是由无人机拍摄得到的多种道路场景中至少一种道路场景的图像。
65.本实施例中,可以通过边缘检测算法获取到初始车道线,并提取目标图像的车道线掩膜,根据初始车道线以及车道线掩膜,确定第一车道线。其中,对目标图像进行边缘检测得到边缘检测结果,这里的边缘检测结果可以是初始车道线,然后根据车道线掩膜对初始车道线进行干扰线排除,得到第一车道线,其中,初始车道线以及第一车道线均为多条。
66.其中,边缘检测的目的是标识数字图像中亮度变化明显的点。这里的边缘检测算法可以是canny边缘检测算法,可以通过以下步骤实现:
67.(1)用高斯滤波器平滑图像;(2)用一阶偏导的有限差分来计算梯度的幅值和方向;(3)对梯度幅值进行非极大值抑制;(4)用双阈值算法进行检测和链接边缘。
68.s102、将所述第一车道线转换到极坐标系下,得到所述第一车道线所对应的极线以及所述极线的斜率特征;其中,所述极线用于表示所述第一车道线在霍夫空间对应的点。
69.本实施例中,所述斜率特征用于表示极线的斜率。将第一车道线转换到极坐标系下,得到第一车道线所对应的极线,这里的极线是指第一车道线在霍夫空间对应的点,用polar_lines表示,极线的特征可以包括但不限于:距离特征rho和斜率特征theta。基于该极线的斜率特征或者两个特征结合来实现排除多种道路场景下的干扰,识别出目标车道线,进而准确地识别出道路区域。
70.其中,第一车道线转换到极坐标系下可以使用笛卡尔坐标到极座标的转换公式,进而得到极线polar_lines。
71.s103、对所述极线的斜率特征进行聚类,确定所述目标图像的目标车道线,所述目标车道线用于确定道路区域。
72.本实施例中,以斜率特征为例,通过对极限的斜率特征进行聚类,可以排除针对复杂路况的干扰,比如:横向桥梁、横向摄像头杆、横向路标杆的干扰以及大型车辆遮挡车道线的干扰,进而确定目标车道线。
73.本实施例提供的道路识别方法,基于无人机拍摄多种道路场景的路况图像,获取该图像对应的第一车道线,再基于第一车道线在极坐标系下的斜率特征,通过聚类排除一些干扰线,确定目标车道线,进而准确地识别出车道区域。同时,基于斜率特征进行聚类等技术不区分图像场景,因此能够应用于多种道路场景的识别,进而能够提取出准确完整的路径,用于后续的交通违规等应用,使得能够准确、有效地识别道路违规车辆。
74.在一种可能的设计中,所述获取目标图像对应的第一车道线,可以通过以下步骤实现:
75.步骤a1、将所述目标图像转化为灰度图。
76.步骤a2、根据所述灰度图像,确定初始车道线;
77.步骤a3、提取所述目标图像中的车道线掩膜,并基于所述初始车道线以及所述车道线掩膜,确定第一车道线。
78.本实施例中,为了简化信息,便于进行进一步对图像进行处理,可以对目标图像先进行灰度处理,即将目标图像转化为灰度图像。然后从灰度图像中提取初始车道线。并通过提取车道线掩膜,结合初始车道线,排除车道线掩膜中的一些干扰线,得到第一车道线。
79.具体地,在得到车道线掩膜后,基于掩膜的用法,用选定的图像(这里指车道线掩膜)与待处理的图像(这里指初始车道线)相乘,得到目标图像中的第一车道线。需要指出的是,目标图像中可以包括多条第一车道线。
80.在一种可能的设计中,根据所述灰度图像,确定初始车道线,可以通过以下步骤实现:
81.步骤a21、对所述灰度图进行平滑处理,通过边缘检测算法获取所述目标图像内的线段。
82.步骤a22、对所述线段进行膨胀处理,得到合并所述线段后的初始车道线。
83.其中,平滑处理即为图像平滑:用于突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分的图像处理方法,目的是使图像亮度平缓渐变,减小突变梯度,改善图像质量;图像平滑实际上是低通滤波,平滑过程会导致图像边缘模糊化。图像平滑可以包括:插值方法,线性平滑方法,卷积法等等。其中,可以根据图像噪声的不同选用不同的图像平滑方法,采用线性平滑方法。
84.本实施例中,边缘检测算法的具体实施过程可以为:
85.首先对目标图像进行图像降噪,先去除噪声,由于噪声就是灰度变化很大的地方,所以容易被识别为伪线段。
86.然后计算图像梯度,得到可能边缘。其中,计算图像梯度能够得到图像的边缘,因为梯度是灰度变化明显的地方,而边缘也是灰度变化明显的地方,因此,通过计算图像梯度可以得到可能的边缘,本技术中边缘即为目标图像中的线段。因为灰度变化的地方可能是边缘,也可能不是边缘。通过该步骤可以实现得到所有可能的线段。
87.再通过非极大值抑制,剔除掉一大部分的点。通常灰度变化的地方都比较集中,将局部范围内的梯度方向上,灰度变化最大的保留下来,其它的不保留,这样可以剔除掉一大部分的点。将有多个像素宽的边缘变成一个单像素宽的边缘。即“胖边缘”变成“瘦边缘”。
88.最后进行双阈值筛选。通过非极大值抑制后,仍然有很多的可能边缘点,进一步的设置一个双阈值,即低阈值(low),高阈值(high)。灰度变化大于high的,设置为强边缘像素,低于low的,剔除。在low和high之间的设置为弱边缘。进一步判断,如果其领域内有强边缘像素,保留,如果没有,剔除。这样做的目的是只保留强边缘轮廓的话,有些边缘可能不闭合,需要从满足low和high之间的点进行补充,使得边缘尽可能的闭合。因此,通过上述边缘检测算法,可以得到目标图像内的线段,需要指出的是,目标图像内可以包括多条线段。
89.在得到目标图像内的线段后,对这些线段进行膨胀处理,从而对目标图像内的线段进行合并,得到初始车道线,该初始车道线可以是多条。其中,膨胀处理是图像中的高亮部分进行膨胀,领域扩张,效果图拥有比原图更大的高亮区域。
90.在一种可能的设计中,所述提取所述目标图像中的车道线掩膜,并基于所述初始车道线以及所述车道线掩膜,确定第一车道线,可以通过以下步骤实现:
91.步骤a31、基于颜色空间hls阈值对所述目标图像进行过滤,提取包括黄色以及白色区域的所述车道线掩膜;
92.本实施例中,将目标图像转化为hls色彩空间格式的图像,即转换为hue(色相)、luminance(亮度)、saturation(饱和度)等三个通道的图像。然后通过hls阈值过滤,这里的阈值可以指三个通道的图像分别对应的预定义阈值,用来过滤得到包含白色以及黄色的区域,即为车道线掩膜,车道线掩膜包括黄色以及白色区域。基于车道线掩膜以及初始车道线得到的第一车道线也包括黄色以及白色区域。
93.需要指出的是,在得到车道线掩膜后,可以进一步对车道线掩膜进行以下处理,以进一步排除车道线掩膜中的干扰:
94.对车道线掩膜进行开操作,即依次进行腐蚀、膨胀处理,去除掉黄色以及白色噪声对双边。进一步,对去除掉黄色以及白色噪声对双边的车道线掩膜,排除白色以及黄色车辆的干扰,以避免对后续提取的第一车道线的干扰。
95.在排除白色以及黄色车辆的干扰时,对去除掉黄色以及白色噪声对双边的车道线掩膜进行闭操作,即依次进行膨胀、腐蚀处理,去掉其中的车道线,保留大块区域,得到车掩膜cars_mask,然后从去除掉黄色以及白色噪声对双边的车道线掩膜中去除掉车掩膜,从而得到排除干扰的车道线掩膜。其中,车道线掩模可以为二维矩阵数组。
96.其中,对车道线掩膜依次进行膨胀、腐蚀处理的原理为:先膨胀可以填补大块区域的空洞,然后做更大尺度的腐蚀,由于车道线区域的宽度小于大块区域(比如车)的宽度,所以在腐蚀过程中车道线区域会先消失,从而保留大块区域。然后结合两次对车道线掩膜的处理,得到包含车道线的区域。
97.本实施例中,首先将输入图像(这里可以指目标图像)转化为hls格式即转换为hue(色相)、luminance(亮度)、saturation(饱和度)等三个通道的图像。然后通过hls阈值过滤,这里的阈值可以指三个通道的图像分别对应的预定义阈值,用来过滤得到包含白色以及黄色的区域,作为车道线掩膜即mask。对mask做开操作(即先腐蚀再膨胀),其中,开操作可以去掉在尺寸较小的噪音图像(尺寸较小的噪音图形可以是预定义大小的噪音图形),比如,去掉比较小的黄色/白色噪声对双边。
98.对去除掉比较小的黄色/白色噪声对双边后的mask,再进行闭操作(即先膨胀再腐蚀),去掉车道线,保留大块区域,得到一个新的车掩膜,即cars_mask,然后从去除掉比较小的黄色以及白色噪声对双边后的mask中去掉cars_mask,从而排除黄色以及白色车辆的干扰。
99.需要指出的是,上述提取包括黄色以及白色区域的车道线掩膜,可以针对黄色以及白色这两种颜色分别进行上述的处理,在得到黄色以及白色的车道线掩膜后,将这两种车道线掩膜进行合并,从而得到包括黄色以及白色区域的车道线掩膜,也可以同时针对黄色以及白色这两种颜色进行上述的处理,从而得到黄色以及白色的车道线掩膜。
100.步骤a32、基于所述车道线掩膜对所述初始车道线进行提取,获取到所述第一车道线。
101.其中,所述初始车道线中可能存在干扰线,例如,一些除白色以及黄色的其他颜色
的线。在得到车道线掩膜后,利用掩膜的提取感兴趣区的用法,用车道线掩膜与待处理的图像(这里指初始车道线)相乘,得到目标图像中的第一车道线。车道线掩膜包括黄色以及白色区域,基于车道线掩膜以及初始车道线得到的第一车道线也包括黄色以及白色区域。
102.通过提取车道线掩膜,并基于所述初始车道线以及所述车道线掩膜,确定的第一车道线能够过滤掉一部分非车道线,得到所有可能包含车道线的区域。
103.在一种可能的设计中,所述极线的特征可以包括斜率特征。对极线的斜率特征进行聚类,确定所述目标图像的目标车道线,可以通过以下步骤实现:
104.步骤b1、对所述极线的斜率特征进行聚类,确定第二车道线;
105.步骤b2、根据所述第二车道线,确定目标车道线。
106.示例性的,可以基于斜率特征排除场景1中的干扰线。
107.场景1:针对复杂路况:横向桥梁、横向摄像头杆、横向路标杆以及大型车辆遮挡车道线的干扰。
108.具体地,所述对所述极线的斜率特征进行聚类,确定第二车道线,可以通过以下步骤实现:
109.步骤b11、若对所述极线的斜率特征进行聚类,得到一组斜率,则确定所述极线对应的第一车道线为第二车道线;
110.步骤b12、若对所述极线的斜率特征进行聚类,得到多组斜率,确定每组斜率的聚类中心,根据每组斜率的聚类中心与无人机航向角,排除与道路方向不同的斜率组,确定第二车道线。
111.本实施例中,首先对所述极线的斜率特征进行聚类,以筛掉离散值,得到至少一组斜率。若至少一组斜率的组数为一组,则将该组斜率对应的第一车道线作为第二车道直线,并根据第二车道线,确定目标车道线。若至少一组斜率的组数为多组,则确定每组斜率的聚类中心,根据每组斜率的聚类中心与无人机航向角,排除与道路方向不同的斜率组,确定第二车道线。其中,如果无人机的航向平行于车道线,那么可以采用每组斜率的聚类中心与水平阈值范围进行比对,否则,采用其它阈值范围进行比对。
112.示例性,以无人机的航向平行于车道线为例,若至少一组斜率的组数为多组,针对每组斜率,按照斜率特征对每组斜率对应的斜率值取平均,得到每组斜率的聚类中心。若多组斜率中存在聚类中心在水平角度阈值范围内的第一目标组斜率,则确定该第一目标组斜率对应的车道线为干扰线,并对干扰线进行排除,确定剩下的斜率组所对应的第一车道线为第二车道线。
113.本实施例中,对极线polar_lines,以斜率特征theta运行具有噪声的基于密度的聚类方法(density-based spatial clustering of applications with noise,dbscan)聚类以排除离散值(比如组里只有一条直线的情况),得到若干组直线(这里每组直线对应一组斜率,每组包括至少两条直线)。dbscan是一种很典型的密度聚类算法,dbscan既可以适用于凸样本集,也可以适用于非凸样本集。由于聚类后上半部分剩余可见的车道线将和下半部分车道线合并到同一组内,此时,解决了一部分大型车辆遮挡车道线的情况。
114.如果组数为1,表示所有的直线都接近平行,说明没有横向桥梁、横向摄像头杆、横向路标杆以及大型车辆遮挡车道线的干扰,结束此步骤,即基于该组斜率对应的第一车道线进行距离特征的聚类,以进一步排除干扰。否则,即如果组数为多组,排除干扰的过程可
以为:对每一组斜率,对theta取平均得到该组聚类中心,如果聚类中心接近水平(即在水平角度阈值范围内,比如0
°
左右的范围,直接排除该组,此时排除了横向干扰(如桥梁)。
115.在一种可能的设计中,在排除与道路方向不同的斜率组后,还可以通过以下步骤进一步确定第二车道线:
116.步骤b13、若排除与道路方向不同的斜率组后存在至少两组斜率,则获取所述至少两组斜率中每组斜率对应的第一车道线数量,并确定第一车道线数量最大的斜率组;
117.步骤b14、若所述数量最大的斜率组对应的第一车道线数量均与其他各斜率组对应第一车道线数量的差值大于预设差值阈值,则排除所述其他各斜率组,确定所述数量最大斜率组对应的第一车道线为第二车道线。
118.在排除与道路方向不同的斜率组后,如果此时仍有多组斜率,对剩余组根据组内斜率对应的第一车道线的数量的大小排序,由于同一车道区域内的车道线的方向相近或相同,因此,斜率也相近或相同,如果数量最大的斜率内第一车道线的数量远大于其他组,说明其他组为干扰直线,可以将其他组视为干扰直接排除;否则,认为此帧拍摄到了较为复杂的路况,可以直接丢弃此帧。在该场景1中,若对第二车道线不做进一步地处理,比如,排除窄隔离带;平行辅路、白色以及黄色田埂;车辆运载白色长管道的干扰以及宽隔离带、路边隔音墙的干扰。
119.因此,通过斜率特征,能够排除场景1的干扰,进而准确地识别第二车道线,进而确定目标车道线以及目标车道线对应的道路区域。
120.需要说明的是,场景1不仅仅表示一种道路场景,包含了多种道路场景,比如包含横向桥梁、横向摄像头杆、横向路标杆、大型车辆遮挡车道线中至少一种路况的道路场景。
121.需要指出的是,在确定第二车道线后,可以直接将第二车道线作为目标车道线。
122.此外,极线的特征还可以包括距离特征,在确定第二车道线后,可以进一步地排除其它干扰线,比如针对窄隔离带;平行辅路、白色以及黄色田埂;车辆运载白色长管道的干扰。即在得到第二车道线后,可以基于距离特征排除场景2中的干扰线。
123.场景2:针对窄隔离带;平行辅路、白色以及黄色田埂;车辆运载白色长管道的干扰。
124.其中,场景2可以是独立的一种道路场景,还可以是在场景1的基础上,对第二车道线内的干扰的排除。示例性的,以场景2可以在场景1的基础上,实现对第二车道线内的干扰的排除为例,即对所述第二车道线所对应的极线的距离特征进行聚类,排除干扰线,可以通过以下步骤实现:
125.步骤c1、对所述第二车道线所对应的极线的距离特征进行聚类,得到至少一组距离,并确定每组距离的聚类中心。
126.步骤c2、根据每组距离的聚类中心,排除所述第二车道线内的干扰线。
127.本实施例中,对所述第二车道线所对应的极线的距离特征进行聚类以筛掉离散值,得到至少一组距离。针对每组距离,按照距离特征对每组距离取平均,得到每组距离的聚类中心。
128.在一种可能的设计中,所述根据每组距离的聚类中心,排除所述第二车道线内的干扰线,可以通过以下步骤实现:
129.步骤c21、根据每组距离的聚类中心,形成聚类中心集合,并按照距离的大小对聚
类中心集合中各个聚类中心排序;
130.步骤c22、根据排序后的聚类中心集合,通过四分法查找离群的聚类中心,并排除所述离群的聚类中心以及排除所述离群的聚类中心对应的距离组;
131.步骤c23、根据剩余的距离组,检查每组距离对应的每对第二车道线是否存在交叉,排除存在交叉的第二车道线。
132.本实施例中,对场景1中排除干扰之后的第二车道线,以距离rho特征运行dbscan聚类以排除离散值,得到若干组距离(这里包括至少一组距离),通过对距离进行聚类,排除了窄隔离带以及白色栏杆的干扰,因为该窄隔离带以及白色栏杆呈现的直线会和旁边的车道线合并为一条。
133.针对聚类后的距离组,对每组距离rho取平均得到该组的聚类中心,从而得到所有距离组的聚类中心,这些聚类中心对应的第二车道线组成的集合记为lane_lines。对聚类中心的集合中的各个聚类中心,以距离rho的大小做排序,并对排序后的各个聚类中心,以四分位距(interquartile range,iqr)即四分法找到离群的rho值,将这些值对应的第二车道线从对场景1中排除干扰之后剩余的第二车道线中排除,此时排除了平行辅路和白色田埂的干扰。具体地,提取lane_lines中所有线的rho值,编为一维数组;iqr四分法的输入是一维数组,输出是分好的两个组(离群值,其他值);得到离群组后将它们从lane_lines中排除。
134.对于剩余的lane_lines,检查每一对直线是否在画面内有交叉,如果有则认为无法得到正确的道路检测结果,直接丢弃此帧,从而排除有车辆运输白色长管道的情况。
135.因此,通过距离特征,能够排除场景2的干扰,识别得到目标车道线,进而准确地识别道路区域。
136.需要说明的是,场景2不仅仅表示一种道路场景,其可以包含多种道路场景,比如包含窄隔离带、平行辅路、白色以及黄色田埂、车辆运载白色长管道中至少一种路况的道路场景。
137.此外,场景2可以独立进行该场景下的道路识别,即场景2可以无需在对场景1中排除干扰线的第二车道线的基础上进行干扰排除。具体实现过程可以是:将上述场景2的具体过程中的第二车道线替换为第一车道线,即场景1中还没有排除干扰线之前的第一车道线。具体实现过程与场景2阐述的实施例类似,在此不再赘述。
138.场景3、针对宽隔离带、路边隔音墙的干扰。
139.其中,场景3可以是独立的道路场景,场景3还可以在场景1或场景2的基础上,进一步对第二车道线进行干扰排除,实现目标车道线以及道路区域的准确识别。以场景3在场景2基础上为例,根据第二车道线确定目标车道线可以通过以下步骤实现:
140.步骤c3、排除存在交叉的第二车道线后,通过颜色区域面积识别剩余的第二车道线是实线或虚线;
141.步骤c4、从所述剩余的第二车道线所在画面的任一边缘向相邻边缘逐渐扫描,找到所有单向车道区域,所述单向车道区域为含有实线-若干虚线-实线的区域;
142.步骤c5、根据单车道区域,确定目标车道线。
143.以场景3在场景1的基础上为例,根据第二车道线确定目标车道线可以通过以下步骤实现:
144.步骤d1、确定第二车道线后,通过颜色区域面积识别所述第二车道线是实线或虚线;
145.步骤d2、从所述第二车道线所在画面的任一边缘向相邻边缘逐渐扫描,找到所有单向车道区域,所述单向车道区域为含有实线-若干虚线-实线的区域;
146.步骤d3、根据所述单向车道区域,确定目标车道线。
147.本实施例中,对于场景2中排除存在交叉的第二车道线或者对于场景1中确定的第二车道线,根据颜色区域面积识别是实线还是虚线。从而确定每条第二车道线是虚线还是实线。然后通过从画面的边缘向另一边缘扫描,找到第一个“实线、虚线若干、实线”的区域(这里指含有实线-若干虚线-实线的区域),视为第一个单向车道区域,如此不断地循环,找到所有单向车道区域(一些复杂的道路例如交汇处会有多个车道区域,一般的高速路有两个,即对向车道)。此时排除了隔音墙和隔离带中央直线的干扰,进而识别出所有车道线,即为目标车道线。
148.具体地,由于一些路边有隔音墙和其他类似的道路边缘,一些路边没有隔音墙和其他类似的道路边缘,因此,由隔音墙和其他类似的道路边缘导致的直线干扰问题产生的现象不稳定,因此,隔音墙和其他类似的道路边缘的直线不能作为稳定判断应急车道的依据,通过上述搜索过程,可以直接排除了虚实边界以外的所有直线,从而避免其干扰。此外,由于隔离带有时宽度较大,中央又有不能在上一步合并的栏杆等干扰,这些线会在车道区域之间被直接排除。
149.因此,通过颜色区域面积识别虚实线,并通过循环扫描边缘,能够排除场景3的干扰,进而准确地识别出目标车道线。
150.需要说明的是,场景3不仅仅表示一种道路场景,包含了多种道路场景,比如包含宽隔离带、路边隔音墙中至少一种路况的道路场景。
151.此外,场景3可以独立进行该场景下的道路识别,即场景3可以无需在对场景1或场景2中排除干扰线的基础上进行。具体实现过程可以是:将上述场景3的具体过程中“场景2中排除存在交叉的第二车道线”替换为“第一车道线”或“第二车道线”,即场景1中排除干扰线之前的第一车道线或场景2中排除干扰线之前的第二车道线。具体实现过程与场景3阐述的实施例类似,在此不再赘述。
152.需要说明的是,车道区域的识别过程可以是场景1、场景2以及场景3的自由组合,在此不做具体地限定,并且对组合的顺序也不做具体地限定。
153.在获取到目标车道线之后,目标车道线用于确定道路区域,在一种可能的设计中,可以通过以下方法根据目标车道线确定道路区域:
154.获取所述目标图像对应的实际车道线以及所述实际车道线的个数,根据所述目标车道线以及所述目标车道线的个数分别与所述实际车道线以及所述实际车道线的个数进行比对,确定所述道路区域。
155.本实施例中,对上述识别到的目标车道线进行校验,用以验证该道路识别方法的准确性以及有效性。具体地,获取得到多个车道区域(以搜索方向排列),以及每个车道区域内的所有实际车道线(虚线)。将目标车道线与实际车道线进行比对,判断目标车道线与实际车道线是否匹配,同时,比对目标车道线的个数与实际车道线的个数,如果匹配成功且个数一致,则确定目标车道线所在区域为道路区域。
156.其中,可以根据目标车道线以及目标车道线的个数分别与实际车道线以及实际车道线的个数进行比对来判断该识别结果是否可用:根据预设的最小车道数量(比如数量为2)判定此次识别是否可用,如果区域内实际车道线总数小于预设值(这里指预设的最小车道数量),则说明此次识别有误,丢弃此结果。(例如,已知一段高速公路为双向八车道,如果识别出来不到两个区域,或者每个区域车道数不为四,说明识别有误。)否则,说明校验成功。
157.本技术中,通过多种图像算法,针对多种图像场景作出优化,排除例如辅路、梯田、路牌、隔离带栏杆、隔音墙等物体的干扰,能够实时识别出复杂路况下的所有车道线,进而提取出准确完整的路况。
158.为了实现所述道路识别方法,本实施例提供了一种道路识别装置。参见图3,图3为本技术实施例提供的道路识别装置的结构示意图;所述道路识别装置30,包括:获取模块301、处理模块302、识别模块303;获取模块301,用于获取目标图像对应的第一车道线,所述目标图像是由无人机拍摄得到的多种道路场景中至少一种道路场景的图像;处理模块302,用于将所述第一车道线转换到极坐标系下,得到所述第一车道线所对应的极线以及所述极线的斜率特征;其中,所述极线用于表示所述第一车道线在霍夫空间对应的点;识别模块303,用于对所述极线的斜率特征进行聚类,确定所述目标图像的目标车道线,所述目标车道线用于确定道路区域。
159.本实施例中,通过设置获取模块301、处理模块302、识别模块303,用于基于无人机拍摄多种道路场景的路况图像,获取该图像对应的第一车道线,再基于第一车道线在极坐标系下的斜率特征,通过聚类排除一些干扰线,确定目标车道线,进而准确地识别出车道区域。同时,基于斜率特征进行聚类等技术不区分图像场景,因此能够应用于多种道路场景的识别,进而能够提取出准确完整的路径,用于后续的交通违规等应用,使得能够准确、有效地识别道路违规车辆。
160.本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
161.在一种可能的设计中,识别模块包括第一识别单元和第二识别单元;第一识别单元,用于对所述极线的斜率特征进行聚类,确定第二车道线;第二识别单元,用于根据所述第二车道线,确定目标车道线。
162.在一种可能的设计中,第一识别单元,具体用于:
163.在对所述极线的斜率特征进行聚类,得到一组斜率时,确定所述极线对应的第一车道线为第二车道线;
164.在对所述极线的斜率特征进行聚类,得到多组斜率时,确定每组斜率的聚类中心,根据每组斜率的聚类中心与无人机航向角,排除与道路方向不同的斜率组,确定第二车道线。
165.在一种可能的设计中,第一识别单元,还用于:
166.在排除与道路方向不同的斜率组后存在至少两组斜率时,获取所述至少两组斜率中每组斜率对应的第一车道线数量,并确定第一车道线数量最大的斜率组;
167.在所述数量最大的斜率组对应的第一车道线数量均与其他各斜率组对应第一车道线数量的差值大于预设差值阈值时,排除所述其他各斜率组,确定所述数量最大斜率组
对应的第一车道线为第二车道线。在一种可能的设计中,第二识别单元,具体用于:
168.通过颜色区域面积识别所述第二车道线是实线或虚线;
169.从所述第二车道线所在画面的任一边缘向相邻边缘逐渐扫描,找到所有单向车道区域,所述单向车道区域为含有实线-若干虚线-实线的区域;
170.根据所述单向车道区域,确定目标车道线。
171.在一种可能的设计中,获取模块包括第一处理单元、第二处理单元以及第三处理单元;
172.第一处理单元,用于将所述目标图像转换为灰度图;
173.第二处理单元,用于根据所述灰度图像,确定初始车道线;
174.第三处理单元,用于提取所述目标图像中的车道线掩膜,并基于所述初始车道线以及所述车道线掩膜,确定第一车道线。
175.在一种可能的设计中,第二处理单元,具体用于:对所述灰度图进行平滑处理后,通过边缘检测算法获取所述目标图像内的线段;对所述线段进行膨胀处理,得到合并所述线段后的初始车道线。
176.在一种可能的设计中,第三处理单元,具体用于:基于颜色空间hls阈值对所述目标图像进行过滤,提取包括黄色以及白色区域的所述车道线掩膜;基于所述车道线掩膜对所述初始车道线进行提取,获取到所述第一车道线。
177.在一种可能的设计中,第一识别单元,还用于:对所述第二车道线所对应的极线的距离特征进行聚类,得到至少一组距离,并确定每组距离的聚类中心;根据每组距离的聚类中心,排除所述第二车道线内的干扰线。
178.在一种可能的设计中,第一识别单元,还用于:
179.根据每组距离的聚类中心,形成聚类中心集合,并按照距离的大小对聚类中心集合中各个聚类中心排序;
180.根据排序后的聚类中心集合,通过四分法查找离群的聚类中心,并排除所述离群的聚类中心以及排除所述离群的聚类中心对应的距离组;
181.根据剩余的距离组,检查每组距离对应的每对第二车道线是否存在交叉,并排除存在交叉的第二车道线,确定目标车道线。
182.在一种可能的设计中,第二识别单元,还具体用于:
183.排除存在交叉的第二车道线后,通过颜色区域面积识别剩余的第二车道线是实线或虚线;
184.从所述剩余的第二车道线所在画面的任一边缘向相邻边缘逐渐扫描,找到所有单向车道区域,所述单向车道区域为含有实线-若干虚线-实线的区域;
185.根据所述单向车道区域,确定目标车道线。在一种可能的设计中,识别模块,具体用于:
186.获取所述目标图像对应的实际车道线以及所述实际车道线的个数;
187.根据所述目标车道线以及所述目标车道线的个数分别与所述实际车道线以及所述实际车道线的个数进行比对,确定所述道路区域。
188.为了实现上述实施例的方法,本实施例提供了一种无人机,该无人机用于执行上述实施例中所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
189.为了实现上述实施例的方法,本实施例提供了一种电子设备。图4为本技术实施例提供的电子设备的结构示意图。如图4所示,本实施例的电子设备40包括:处理器401以及存储器402;其中,存储器402,用于存储计算机执行指令;处理器401,用于执行存储器存储的计算机执行指令,以实现上述实施例中所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
190.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的方法。
191.本技术实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
192.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
193.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
194.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
195.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存
储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
196.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
197.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献