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

道路中心线提取方法、装置、设备以及存储介质与流程

2022-04-30 10:00:33 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及云计算、时空大数据领域。


背景技术:

2.道路中心线计算方法一般依赖于道路(link)。需要先对link进行等距离处理,获取其多个垂直横截面。然后计算轨迹与每个横截面交点,并通过对每个横截面交点聚类,计算一系列中心点,作为该link的道路中心点。这种方法由于过度依赖道路(link),并不适用于新路等无link场景下的道路中心线计算。


技术实现要素:

3.本公开提供了一种道路中心线提取方法、装置、设备以及存储介质。
4.根据本公开的一方面,提供了一种道路中心线提取方法,包括:
5.基于轨迹特征,构建第一道路模型;
6.基于第一道路模型,提取道路轮廓;
7.基于道路轮廓,构建第二道路模型;
8.基于第二道路模型,提取道路中心点集合;
9.其中,道路中心线包括道路中心点集合。
10.根据本公开的另一方面,提供了一种道路中心线提取装置,包括:
11.第一构建模块,用于基于轨迹特征,构建第一道路模型;
12.第一提取模块,用于基于第一道路模型,提取道路轮廓;
13.第二构建模块,用于基于道路轮廓,构建第二道路模型;
14.第二提取模块,用于基于第二道路模型,提取道路中心点集合;
15.其中,道路中心线包括道路中心点集合。
16.根据本公开的另一方面,提供了一种电子设备,包括:
17.至少一个处理器;以及
18.与该至少一个处理器通信连接的存储器;其中,
19.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
20.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
21.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开中任一实施例的方法。
22.本方案基于轨迹特征构建的第一道路模型提取道路轮廓,再基于道路轮廓构建的第二道路模型提取道路中心点集合,能够得到准确的道路中心线。
23.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
24.附图用于更好地理解本方案,不构成对本公开的限定。其中:
25.图1是根据本公开一实施例的道路中心线提取方法的流程示意图;
26.图2是根据本公开另一实施例的道路中心线提取方法的流程示意图;
27.图3a是根据本公开另一实施例的道路中心线提取方法的流程示意图;
28.图3b是根据本公开另一实施例的三角形的信息的示意图;
29.图4a是根据本公开另一实施例的道路中心线提取方法的流程示意图;
30.图4b是根据本公开另一实施例的三角形分类及中心点的示意图;
31.图5是根据本公开一实施例的道路中心线提取装置的结构示意图;
32.图6是根据本公开另一实施例的道路中心线提取装置的结构示意图;
33.图7是根据本公开另一实施例的道路中心线提取装置的结构示意图;
34.图8是根据本公开另一实施例的道路中心线提取装置的结构示意图;
35.图9是第一次构建的三角网模型的示意图;
36.图10是对三角网模型进行剪枝后的道路轮廓的示意图;
37.图11是道路轮廓转换得到的道路有向图;
38.图12是对有向图进行剪枝后的道路优化图;
39.图13是根据道路有画图得到的最大连通子图;
40.图14是根据最大连通子图第二次构建的三角网模型的示意图;
41.图15是从第二次构建三角网模型中提取道路中心点的示意图;
42.图16是提取完成的道路中心点组成的道路中心线的示意图;
43.图17是可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
44.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
45.图1是根据本公开一实施例的道路中心线提取方法的流程示意图。该方法可以包括:
46.s101、基于轨迹特征,构建第一道路模型;
47.s102、基于所述第一道路模型,提取道路轮廓;
48.s103、基于所述道路轮廓,构建第二道路模型;
49.s104、基于所述第二道路模型,提取道路中心点集合;
50.其中,所述道路中心线包括所述道路中心点集合。
51.在本公开实施例中,车辆等在道路上运行会产生运动轨迹。通过地图、道路交通管理平台等可以获得车辆的轨迹。如果需要提取某个区域的道路中心线,可以采集这个区域一段时间内的车辆轨迹。对于这些采集的车辆轨迹可以进行聚类等操作,将位置较为接近的轨迹划分到一组,利用这组轨迹作为后续提取道路中心线的数据集合。
52.在本公开实施例中,从车辆的n条运动轨迹中提取轨迹特征,n为需要处理的轨迹
数量例如某条道路对应的一组轨迹的数量为n条。然后基于轨迹特征建立第一道路模型。第一道路模型可以包括三角网模型。该三角网模型可以包括三角形集合,三角形集合中可以包括若干三角形。三角形的每个顶点的位置可以根据轨迹点的位置来确定。三角网模型可以显示为包括这些三角形的系统整体架构。从第一道路模型中可以提取道路轮廓,为提取道路中心线做准。道路轮廓也可以称为道路拓扑或道路拓扑模型等。道路轮廓中可以包括提取的多个顶点(轨迹点),基于道路轮廓中的多个顶点可以构建第二道路模型。例如,第二道路模型也可以为三角网模型。第二道路模型中包括的三角形数量可以比第一道路模型包括的三角形数量减少很多。基于第二道路模型和约束的规则可以计算道路中心点,进而得到道路中心点集合,完成道路中心线的提取。
53.在本公开实施例中,基于轨迹特征构建的第一道路模型提取道路轮廓,再基于道路轮廓构建的第二道路模型提取道路中心点集合,能够得到准确的道路中心线。因此,可以适用于没有标注的道路的中心线的提取。例如,适用于无link场景下的道路中心线计算。对于有link场景,也可以利用本公开的道路中心线提取方法基于轨迹特征提取道路中心线。此外,可以将基于轨迹特征提取道路中心线,与依赖道路link提取的道路中心线进行比较或融合,得到更加准确的道路中心线。
54.图2是根据本公开另一实施例的道路中心线提取方法的流程示意图,该实施例的方法包括上述道路中心线提取方法实施例的一个或多个特征。在一种可能的实施方式中,该方法还包括:
55.s201、对待处理轨迹进行预处理;
56.s202、对预处理后的轨迹进行特征化处理,得到轨迹特征。
57.在本公开实施例中,通过预处理可以过滤掉待处理轨迹中的异常轨迹,得到可用于挖掘道路中心线的优质轨迹,通过特征化处理,可以将一系列的轨迹点拼接成轨迹线用于后面处理。特征化处理后,得到的轨迹特征可以包括矩阵或多维数组。以矩阵为例,矩阵的行可以表示一条轨迹的轨迹点,矩阵的列可以表示每个轨迹点的各种属性。矩阵中元素的含义也可以改变,例如,矩阵的行可以表示每个轨迹点的各种属性,矩阵的列可以表示一条轨迹的轨迹点。一般来说,特征化处理的估计越多,轨迹特征越丰富,后续得到的道路中心点也会越准确。
58.在一种可能的实施方式中,所述预处理包括:
59.将所述待处理轨迹中符合以下情况的至少之一过滤掉:经纬度坐标异常的轨迹点、车辆速度异常的轨迹点、轨迹点丢失的轨迹线、过短的轨迹线、属性异常的轨迹点。
60.在本公开实施例中,原始众源轨迹可以称为待处理轨迹。原始众源轨迹可以包括从各种途径例如地图、交通管理平台等获取的车辆轨迹。原始众源轨迹可能存在gps信号漂移、噪音影响、采样间隔稀疏等问题。通过预处理可以过滤掉经纬度坐标异常的轨迹点、车辆速度异常的轨迹点、轨迹点丢失的轨迹线、过短的轨迹线、属性异常的轨迹点,从而得到更加优质的轨迹,有利于挖掘出更加准确的道路中心线。
61.例如,如果某条运动轨迹上的某些轨迹点的经纬度超出正常经纬度的数值范围,为负值、数值太大、经纬度坐标格式不对等,可以认为这些轨迹点的经纬度异常。
62.再如,如果某个运动轨迹上的某些轨迹点的车辆速度远大于正常车速或者为负值,可以认为这些轨迹点的车辆速度异常。
63.再如,如果某条运动轨迹中轨迹点的前后距离超过阈值后,可以进行轨迹分组操作,得到多条短一些的轨迹。也可以过滤掉轨迹点丢失较多的轨迹线。
64.再如,如果某条运动轨迹的轨迹线的长度小于设定阈值,可以认为该轨迹线过短。
65.再如,如果某条运动轨迹的某些轨迹点属性例如时间戳不统一或缺失,可能无法准确计算该轨迹的车辆速度、轨迹点运动角度等,可以认为这些轨迹点属性异常。
66.在预处理和特征化处理后,可以利用得到轨迹特征执行s101。
67.图3a是根据本公开另一实施例的道路中心线提取方法的流程示意图,该实施例的方法包括上述道路中心线提取方法实施例的一个或多个特征。在一种可能的实施方式中,s101基于轨迹特征,构建第一道路模型,包括:
68.s301、基于所述轨迹特征中的各个轨迹点,构建第一三角网模型,所述第一三角网模型中三角形的各个顶点对应各个所述轨迹点。
69.在本公开实施例中,第一三角网模型可以为例如delaunay三角网模型。delaunay三角网模型可以广泛应用于图像处理、模式识别等领域,利用delaunay三角网模型能够对数据集建立有效的拓扑关系,并提取中轴线等。第一三角网模型可以显示为其所包括的三角形的系统整体架构。本公开实施例基于轨迹特征中的各个轨迹点构建的第一三角网模型,第一三角网模型中的三角形顶点可以对应轨迹点,因此可以通过行驶在道路上的车辆的轨迹反映该道路的空间分布情况,为后续提取道路轮廓和道路中心点做准备。
70.在一种可能的实施方式中,s102基于所述第一道路模型,提取道路轮廓,包括:
71.s302、根据所述第一三角网模型中的顶点的运动角度,对所述第一三角网模型中的边进行剪枝,得到道路的第一轮廓。
72.在本公开实施例中,第一三角网模型包括的三角形数量较多,通过剪枝,可以减少第一三角网模型整体架构中非必要的边,得到道路的整体轮廓,减少后续提取道路中心点所需处理的数据量。例如,第一三角网模型中三角形的边可以分为道路的轮廓外边与轮廓内边,去掉道路的轮廓外边,可得出道路的整体轮廓,即第一轮廓。
73.在一种可能的实施方式中,所述第一三角网模型的每个三角形的每条边记录在第一数据集合中。
74.在一种可能的实施方式中,s302、根据所述第一三角网模型中的顶点的运动角度,对所述第一三角网模型根据所述第一三角网模型中的顶点的运动角度,对所述第一三角网模型中的边进行剪枝,包括:
75.在待处理边的两个顶点的运动角度小于第一阈值的情况下,将所述待处理边的角度设置为两个顶点的运动角度的均值;
76.在待处理边的两个顶点的运动角度大于或等于第一阈值的情况下,将所述待处理边的角度设置为第一值;
77.将所述第一数据集合中角度取值为第一值的边去掉。
78.在公开实施例中,第一三角网模型包括多个三角形,可以在第一数据集合中记录每个三角形的顶点、边及其对应的三角形的映射关系等信息的一种或多种。例如,如图3b所示,三角形a包括顶点d1、d2和d3,边l11(d1和d2确定)、l12(d1和d3确定)和l13(d2和d3确定)。三角形b包括顶点d2、d3和d4,边l13(d2和d3确定)、l21(d2和d4确定)和l22(d3和d4确定)。因此,顶点d1归属于三角形a,顶点d2和d3归属于三角形a和b,顶点d4归属于三角形b。
边l11、l12归属于三角形a,边l13归属于三角形a和b。
79.在公开实施例中,第一三角网模型的顶点对应轨迹点。三角形的两个顶点组成一条边。边的两个顶点也可以称为边的两个端点。顶点的运动角度也即顶点对应的轨迹点的运动角度。在轨迹特征中可以包括轨迹点的运动角度。运动角度有时也可以称为运动方向。可以预先设置角度阈值,即第一阈值。如果一条边的两个顶点的运动角度差异较大,例如,两个顶点的运动角度均超过了第一阈值可能表示该边异常。具体地,如果一条边的两个顶点的运动角度均超过了第一阈值,将该边的角度设置为第一值。第一值可以为例如0或1或360等运动角度不太常出现的值。如果一条边的两个顶点的运动角度均未超过第一阈值,可以将该边的角度设置为这两个顶点的运动角度的均值,也可以设置为这两个顶点中任一个的运动角度,还可以保持边的角度(例如有默认值)不变。然后,可以将异常的边去掉。例如,从在第一数据集合中删除角度取值为第一值的边。
80.在公开实施例中,可以将顶点的运动角度差异化较大的边从第一数据集合中去掉,从而保留更加符合运动规律的边,得到道路的整体轮廓,减少后续提取道路中心点所需处理的数据量。
81.在一种可能的实施方式中,s102基于所述第一道路模型,提取道路轮廓,还包括:
82.s303、根据所述第一轮廓中的顶点的出度和/或入度,对所述第一轮廓中的边进行剪枝,得到所述道路的第二轮廓。例如,道路可以由一条条路段组成,每条路段一般包括直线线段,第一轮廓中剩余的边可以看作是路段对应的直线线段。车辆轨迹一般是沿着直线线段的端点驶入或者驶出。对于某个顶点d1来说,如果有n条边的方向指向该顶点d1,则表示该顶点d1有n个入度;如果有m条边的方向从该顶点d1指向其他顶点,则表示该顶点d1有m个出度。如果顶点的出度、入度或者出入度之和太大,表示该顶点所在某些边可能异常。可以将异常的边去掉。例如,从在第一数据集合中出度、入度或者出入度之和太大顶点的某些边,实现对第一轮廓中的边进行剪枝,得到第二轮廓。这样,可以将出入度异常的顶点的某些边从第一数据集合中去掉,从而保留更加符合出入度规律的边,得到道路的整体轮廓,减少后续提取道路中心点所需处理的数据量。
83.在一种可能的实施方式中,s303根据所述第一轮廓中的顶点的出度和/或入度,对所述第一轮廓中的边进行剪枝,得到所述道路的第二轮廓,包括:
84.基于所述第一轮廓包括的各个顶点生成有向图;
85.根据各个所述顶点的出度和/或入度,从所述有向图中去掉冗余边。
86.在公开实施例中,第一轮廓包括的各个顶点对应轨迹点,可以根据这些轨迹点的位置、运动角度等生成有向图。有向图中可以包括各个顶点、边和边的方向等。根据各个顶点和各个边的方向,可以得到各个顶点的出度和/或入度。根据各个顶点的出度和/或入度确定哪些边是需要保留的边,不需要保留可以设置为冗余边。可以将冗余边从有向图中去掉。例如,在从第一数据集合中删除角度取值为第一值的边后,继续删除冗余边。通过有向图可以对道路内部边即轮廓内边继续进行剪枝,去除冗余边,优化内部边。
87.在一种可能的实施方式中,根据各个所述顶点的出度和/或入度,从所述有向图中去掉冗余边,包括:
88.在待处理顶点的出度和入度之和大于第二阈值的情况下,获取所述待处理顶点对应的出度边集合s1和入度边集合s2;
89.将所述出度边集合s1和入度边集合s2排列组合得到成对的出度边和入度边的集合{(s1,s2)|s1∈s1,s2∈s2};
90.计算成对的出度边和入度边的集合中每对出度边和入度边(s1,s2)之间的角度差;
91.保留角度差最小的一对出度边和入度边,并将所述出度边集合s1和入度边集合s2中除了保留边的其它边设为冗余边;
92.从所述有向图中去掉冗余边。
93.在一种可能的实施方式中,根据各个所述顶点的出度和/或入度,从所述有向图中去掉冗余边,包括:
94.在待处理顶点的出度和入度之和小于或等于第二阈值的情况下,可以不做处理,保留该顶点所确定的边。
95.例如,如果第二阈值等于2,某个顶点的出度和入度之和小于或等于该第二阈值的情况下,表示该顶点可能只有一个出度边和一个入度边,符合车辆运动的出入度规律,可以保留这个顶点的两条边。
96.再如,如果某个顶点的出度和入度之和大于该第二阈值的情况下,表示该出入度太大,可以保留部分边,删除部分边。具体例如,顶点d2的出度为2和入度为3,出度和入度之和为5大于第二阈值2。可以获取该顶点d2对应的出度边集合s1和入度边集合s2。s1中的边可以表示为s1,s2中的边可以表示为s2。可以将出度边集合s1中的每条边s1和入度边集合s2中的每条边s2排列组合得到成对的出度边和入度边(s1,s2)的集合。如果s1中的边s1包括s11和s12,s2中的边s2包括s21、s22和s23,则排列组合得到成对的出度边和入度边的集合包括{(s11,s21),(s11,s22),(s11,s23),(s12,s21),(s12,s22),(s12,s23)}。
97.然后,可以计算该集合中每对出度边和入度边之间的角度(也可以称为方向差)。保留角度差最小的一对出度边和入度边。例如(s11,s21)的角度差最小,保留s11和s21。并将出度边集合s1和入度边集合s2中除了保留边的其它边例如s12、s22和s23设为冗余边。然后,可以从有向图中去掉冗余边s12、s22和s23。具体例如,在从第一数据集合中删除角度取值为第一值的边后,继续删除冗余边s12、s22和s23。通过有向图可以将顶点的出度边和入度边之间的角度差太大的边设置为冗余边,去除冗余边可以优化内部边,减少后续处理的非必要的数据,提高处理速度和效率。
98.在一种可能的实施方式中,s102基于所述第一道路模型,提取道路轮廓,还包括:
99.s304、将去掉冗余边的有向图转为无向图;
100.s305、计算所述无向图的最大连通子图;
101.s306、去掉未在最大连通子图中的边,得到道路轮廓图。
102.在本公开实施例中,去掉冗余边的有向图可以为第二轮廓。第二轮廓包括的顶点对应轨迹特征中的轨迹点。将有向图转换为无向图,相当于得到第二轮廓的顶点和边对应的无向图。然后,利用无向图中的各顶点可以计算出最大连通子图,该最大连通子图可以反映出道路的外围轮廓。然后,从删除了角度取值为第一值的边和冗余边后的第一数据集合中,删除未在最大连通子图中的边。这样,可以保留准确地反映出道路的外围轮廓的道路轮廓图,进一步减少后续处理的非必要的数据,提高处理速度和效率。
103.图4a是根据本公开另一实施例的道路中心线提取方法的流程示意图,该实施例的
方法包括上述道路中心线提取方法实施例的一个或多个特征。在一种可能的实施方式中,s103基于所述道路轮廓,构建第二道路模型,还包括:
104.s401、基于所述道路轮廓图,构建第二三角网模型。
105.在本公开实施例中,第二三角网模型可以为delaunay三角网模型。可以基于道路轮廓图中的所有顶点delaunay三角网模型。第二三角网模型可以包括多个三角形。每个三角形包括顶点和边等信息。通过道路轮廓图构建的第二三角网模型,可以为提取道路中心点做准备。
106.在一种可能的实施方式中,所述第二三角网模型的每个三角形的每条边与其对应的三角形的映射关系记录在在第二数据集合。第二数据集合中可以包括根据道路轮廓构建的delaunay三角网模型中各个三角形的边,以及每条边与三角形的映射关系。一条边可能归属一个三角形,也可能归属于多个三角形。
107.在一种可能的实施方式中,s104基于所述第二道路模型,提取道路中心点集合,包括:
108.s402、根据所述第二数据集合计算在道路不同位置的三角形所邻接的三角形的数量,得到第一类三角形和第二类三角形;其中所述第一类三角形邻接一个三角形,所述第二类三角形邻接两个三角形。
109.在本公开实施例中,第一类三角形邻接一个三角形,一般位于道路的开始位置或结束位置。第二类三角形临界两个三角形,一般位于道路的干线上。将道路轮廓图划分为不同类型的三角形,可以区分道路的位置例如开始位置、主干位置和结束位置等,进而更加准确的提取各个位置的道路中心点。
110.在一种可能的实施方式中,s103基于所述第二道路模型,提取道路中心点集合,还包括:
111.s403、提取一个所述第一类三角形的两条长边的中点,并将所述两条长边中的第一长边的中点作为所述道路中心线的开始点或结束点,所述第一长边为所述第一类三角形的无邻接三角形的一边。
112.在一种可能的实施方式中,s103基于所述第二道路模型,提取道路中心点集合,还包括:
113.s404、将所述开始点或结束点记录到点集合c中,将所述开始点或结束点对应的边记录到边集合l中。
114.在本公开实施例中,第一类三角形的两条长边的一边无邻接三角形,另一边的邻接三角形是第二类三角形。第一类三角形的第三条边位于道路边缘。第一类三角形中,无邻接三角形的一边可能表示道路的开始位置或结束位置。通过提取第一类三角形的两条长边的无邻接三角形的一边的中点,可以快速准确地确定道路中心线的开始点或结束点。通过点集合c可以保存已经判定出的道路中心点。例如,将确定为道路中心线上的每个点,保存到点集合c中。此外,还可以通过边集合l来保存已经处理过的边。例如,如图4b所示,在第二数据集合中,三角形t1为第一类三角形,t1的一条长边l1无邻接三角形,另一条长边l2有邻接三角形。将l1的中点c1作为道路中心线的开始点或结束点记录到点集合c中。并且,将l1记录到边集合l中。
115.在一种可能的实施方式中,s103基于所述第二道路模型,提取道路中心点集合,还
包括:
116.s405、获取邻接三角形的长边的中点,包括:根据所述第二数据集合中的映射关系,获取上次处理的三角形的第二长边的邻接三角形,所述第二长边为上次处理的三角形中未处理的长边;将所述邻接三角形的两条长边中不在所述边集合l中的所述第二长边的中点,记录到所述点集合c中,将所述第二长边记录到所述边集合l中。
117.例如,如图4b所示,在第二数据集合中,三角形t1为第一类三角形,并且t1与第二类三角形t2邻接。t1的一条长边l1仅归属于t1,另一条长边l2归属于t1和t2。因此,l1对应t1,l2对应t1和t2。如果上次处理的三角形为t1,则本次可以根据t1的另一长边l2获取t1的邻接三角形t2。t2的两条长边为l2和l3,均不在边集合l中。将l2的中点c2记录到所述点集合c中。将l2记录到边集合l中。
118.再如,如图4b所示,接上例,继续执行s405,本次处理过程中,上次处理的三角形为t2,t2的第二长边为l3。根据l3可以获取邻接三角形t3,t2的两条长边为l3和l4,将l3的中点c3记录到点集合c中,将l3记录到边集合l中。此外,根据l3获取的邻接三角形也可能是t2,由于t2的边l2已在边集合l中,因此,不对l2重复处理。
119.s406、重复执行所述获取邻接三角形的长边的中点的步骤s405,直至再次获取到另一个所述第一类三角形,提取另一个所述第一类三角形的两条长边的中点,并将所述两条长边中无邻接三角形的一边的中点作为所述道路中心线的结束点或开始点,将所述结束点或开始点记录到所述点集合c中。其中,所述点集合c是所述道路中心线的中心点集合。在本公开实施例中,如果s403提取的是道路中心线的开始点,s406提取的是道路中心线的结束点。如果s403提取的是道路中心线的结束点,s406提取的是道路中心线的开始点。例如,如图4b所示,三角形t4为第一类三角形,将t4的无邻接三角形的一边的中点c5作为道路中心线的结束点或开始点,记录到点集合c中。
120.在本公开实施例中,完成对一条道路的道路中心线提取后,将所述点集合c作为所述道路中心线的中心点集合。例如,再次检测到第一类三角形可以表示本次道路中心线提取即将完成,根据该第一类三角形更新点集合c后,将该点集合c作为道路中心线的中心点集合。例如,点集合c包括t1、t2、t3和t4的边的中点{c1,c2,c3,c4,c5}。
121.在本公开实施例中,通过提取第二类三角形的两条长边的无邻接三角形的一边的中点,可以快速准确地确定道路干线上的道路中点,并且如果再次检测到第一类三角形可以完成道路中心线另一个端点的检测,得到道路中心线包括的完整的道路中心点。
122.图5是根据本公开一实施例的道路中心线提取装置的结构示意图,该装置可以包括:
123.第一构建模块501,用于基于轨迹特征,构建第一道路模型;
124.第一提取模块502,用于基于所述第一道路模型,提取道路轮廓;
125.第二构建模块503,用于基于所述道路轮廓,构建第二道路模型;
126.第二提取模块504,用于基于所述第二道路模型,提取道路中心点集合;
127.其中,所述道路中心线包括所述道路中心点集合。
128.图6是根据本公开另一实施例的道路中心线提取装置的结构示意图,该实施例的装置包括上述道路中心线提取装置实施例的一个或多个特征。在一种可能的实施方式中,所述装置还包括:
129.预处理模块601,用于对待处理轨迹进行预处理;
130.特征化模块602,用于对预处理后的轨迹进行特征化处理,得到所述轨迹特征。
131.在一种可能的实施方式中,所述预处理模块601用于将所述待处理轨迹中符合以下情况的至少之一过滤掉:经纬度坐标异常的轨迹点、车辆速度异常的轨迹点、轨迹点丢失的轨迹线、过短的轨迹线、属性异常的轨迹点。
132.图7是根据本公开另一实施例的道路中心线提取装置的结构示意图,该实施例的装置包括上述道路中心线提取装置实施例的一个或多个特征。在一种可能的实施方式中,所述第一构建模块501用于基于所述轨迹特征中的各个轨迹点,构建第一三角网模型,所述第一三角网模型中三角形的各个顶点对应各个所述轨迹点。
133.在一种可能的实施方式中,所述第一提取模块502,包括:
134.第一剪枝子模块701,用于根据所述第一三角网模型中的顶点的运动角度,对所述第一三角网模型中的边进行剪枝,得到道路的第一轮廓。
135.在一种可能的实施方式中,所述第一三角网模型的每个三角形的每条边记录在第一数据集合中。
136.在一种可能的实施方式中,所述第一剪枝子模块,包括:
137.在待处理边的两个顶点的运动角度小于第一阈值的情况下,将所述待处理边的角度设置为两个顶点的运动角度的均值;
138.在待处理边的两个顶点的运动角度大于或等于第一阈值的情况下,将所述待处理边的角度设置为第一值;
139.将所述第一数据集合中角度取值为第一值的边去掉。
140.在一种可能的实施方式中,所述第一提取模块502,还包括:
141.第二剪枝子模块702,用于根据所述第一轮廓中的顶点的出度和/或入度,对所述第一轮廓中的边进行剪枝,得到所述道路的第二轮廓。
142.在一种可能的实施方式中,所述第二剪枝子模块702用于:
143.基于所述第一轮廓包括的各个顶点生成有向图;
144.根据各个所述顶点的出度和/或入度,从所述有向图中去掉冗余边。
145.在一种可能的实施方式中,所述第二剪枝子模块702用于根据各个所述顶点的出度和/或入度,从所述有向图中去掉冗余边,包括:
146.在待处理顶点的出度和入度之和大于第二阈值的情况下,获取所述待处理顶点对应的出度边集合s1和入度边集合s2;
147.将所述出度边集合s1和入度边集合s2排列组合得到成对的出度边和入度边的集合{(s1,s2)|s1∈s1,s2∈s2};
148.计算成对的出度边和入度边的集合中每对出度边和入度边(s1,s2)之间的角度差;
149.保留角度差最小的一对出度边和入度边,并将所述出度边集合s1和入度边集合s2中除了保留边的其它边设为冗余边;
150.从所述有向图中去掉冗余边。
151.在一种可能的实施方式中,所述第一提取模块502,还包括:
152.转换子模块703,用于将去掉冗余边的有向图转为无向图;
153.连通子模块704,用于计算所述无向图的最大连通子图;
154.去边子模块705,用于去掉未在最大连通子图中的边,得到道路轮廓图。
155.图8是根据本公开另一实施例的道路中心线提取装置的结构示意图,该实施例的装置包括上述道路中心线提取装置实施例的一个或多个特征。在一种可能的实施方式中,在一种可能的实施方式中,所述第二构建模块,还用于基于所述道路轮廓图,构建第二三角网模型。
156.在一种可能的实施方式中,所述第二三角网模型的每个三角形的每条边与其对应的三角形的映射关系记录在在第二数据集合。
157.在一种可能的实施方式中,所述第二提取模块504包括:
158.分类子模块801,用于根据所述第二数据集合计算在道路不同位置的三角形所邻接的三角形的数量,得到第一类三角形和第二类三角形;其中所述第一类三角形邻接一个三角形,所述第二类三角形邻接两个三角形。
159.在一种可能的实施方式中,所述第二提取模块504,还包括:
160.第一提取子模块802,用于提取一个所述第一类三角形的两条长边的中点,并将所述两条长边中的第一长边的中点作为所述道路中心线的开始点或结束点,所述第一长边为所述第一类三角形的无邻接三角形的一边;
161.第一记录子模块803,用于将所述开始点或结束点记录到点集合c中,将所述开始点或结束点对应的边记录到边集合l中。
162.在一种可能的实施方式中,所述第二提取模块,还包括:
163.第二提取子模块804,用于获取邻接三角形的长边的中点,包括:根据所述第二数据集合中的映射关系,获取上次处理的三角形的第二长边的邻接三角形,所述第二长边为上次处理的三角形中未处理的长边;将所述邻接三角形的两条长边中不在所述边集合l中的所述第二长边的中点,记录到所述点集合c中,将所述第二长边记录到所述边集合l中;
164.第二记录子模块805,用于在所述第二提取子模块804重复执行所述获取邻接三角形的长边的中点的步骤,直至再次获取到另一个所述第一类三角形,提取另一个所述第一类三角形的两条长边的中点,并将所述两条长边中无邻接三角形的一边的中点作为所述道路中心线的结束点或开始点后,将所述结束点或开始点记录到所述点集合c中;其中,所述点集合c是所述道路中心线的中心点集合。
165.本公开实施例的道路中心线提取装置的各模块、子模块的具体功能和示例的描述,可以参见上述道路中心线提取方法实施例中对应步骤的相关描述,在此不再赘述。
166.本公开实施例的道路中心线提取方法是一种高效的道路中心线要素计算解决方案,属于云计算、时空大数据领域。道路中心线画像是道路要素挖掘技术的最重要的基础数据之一,能够广泛应用于施工、车信、开通等业务中。例如通过对比观察道路中心线的最新变化,以挖掘有效的施工情报用于作业。再如,通过道路中心线的变化对车信修改进行判断等。本公开实施例的道路中心线提取方法可以适用于挖掘无link场景下的道路中心线属性,有助于新路等其它挖掘业务的快速开展,提升召回。
167.本公开实施例从构建道路拓扑图的角度,提出了一种新型道路中心线挖掘方案。该方案能够在无link场景下的提取道路中心线,属于一种基于道路拓扑挖掘中心线的方案。此方案通过建立道路拓扑多边形的方法,快速提取道路中心线,是一种不依赖link计算
中心线的方案,能够挖掘无link业务场景下的道路中心线。
168.本方案包括轨迹预处理、构建路网轮廓图与提取道路中心线几个部分:(1)轨迹特征化处理:通过设置一系列约束过滤条件,对原始稀疏、多噪音的众源轨迹进行特征化处理,并将处理后的轨迹作为可用于挖掘道路中心线的优质轨迹。(2)构建道路拓扑模型:针对上述处理后的优质轨迹,构建delaunay三角网,并对构建后的三角形集合进行剪枝处理,提取道路拓扑,为提取道路中心线做准备。(3)提取道路中心线:基于上述剪枝后的道路拓扑,再次构建delaunay三角网,并根据约束的规则计算道路中心点,即可完成道路中心线的提取。
169.上述几个部分的具体实现可以分为原始轨迹预处理和刻画道路中心线。原始轨迹预处理主要包括轨迹特征化处理,画道路中心线主要包括构建道路拓扑模型和提取道路中心线。下面分别进行介绍:
170.一.原始轨迹的预处理
171.在实际采样中,由于原始众源轨迹可能存在gps信号漂移、噪音影响、采样间隔稀疏等问题的至少之一,这些原始轨迹数据不能直接用于挖掘道路中心线。鉴于此问题,本公开实施例首先对原始轨迹点进行特征化处理,主要包括但不限于以下至少之一:
172.过滤经纬度坐标点的异常轨迹点;
173.轨迹点速度范围过滤,去掉速度在正常车辆速度区间内的轨迹点;
174.轨迹点丢失情况过滤,当轨迹线前后距离超过阈值后,进行轨迹分组操作;
175.轨迹线过滤,过滤掉过短的轨迹线及轨迹角度变化杂乱的无效轨迹;
176.异常轨迹点属性清洗,解决如时间戳格式不统一或缺失属性问题。
177.经过上述对原始轨迹的预处理之后,可以完成原始轨迹点的特征化处理,然后将一系列的轨迹点拼接成轨迹线用于后面处理。例如,将原始轨迹处理成一个多为数组或矩阵。例如,矩阵的一行表示一条轨迹线的各个轨迹点,一列表示轨迹点的每个属性。
178.二刻画道路中心线
179.delaunay三角网模型广泛应用于图像处理、模式识别等领域,能够对数据集建立有效的拓扑关系,并提取中轴线等。本公开采用delaunay三角网模型构建道路的空间分布情况,并结合构建图的方式提取道路中心线。主要分为提取道路轮廓(即构建道路拓扑模型)与提取道路中心线。
180.1.提取道路轮廓
181.首先,基于delaunay三角网模型,利用上述预处理后的所有轨迹点建立delaunay三角网,提取道路形状。如图9所示,将每个三角形记录到数据集t中。由图9可知,构建后的道路整体模型可以通过边分为轮廓外边(可以称为外部边)与轮廓内边(可以称为内部边),去掉道路轮廓外三角形的边,可得出道路的整体轮廓。进一步可以发现,外部长边的两个轨迹点的运动方向差异化较大,因此在构建三角形时,可以计算三角形的每条边的方向(角度),例如:
182.1)当两顶点轨迹的运动方向(角度)《30
°
时,则将该边方向(角度)设置为两端点方向(角度)的均值.
183.2)若两顶点轨迹的运动方向(角度)》=30
°
,则将该边方向(角度)设置为0。
184.然后,将所有三角形中(数据集t中)边方向(角度)为0的边去掉,即可去掉外部长
边,也可以去掉一些非必要的内部边,并获取道路的大体轮廓图,如图10所示。为进一步抽取道路轮廓,可以采用有向图的方法对道路内部边继续进行剪枝。例如,先将数据集t中剩余的部分构成有向图g1,如图11所示,然后对g1的点集合中的点进行逐一遍历,根据顶点的度数作以下处理:
185.1)若顶点的出度 入度《=2时,不做处理。
186.2)若顶点的出度 入度》2时,获取该点对应的出度边集合s1和入度边集合s2。对s1和s2中的边进行排列组合得到集合s’{(s1,s2)|s1∈s1,s2∈s2}。然后计算集合s’中每对(s1,s2)之间的方向(角度)差,并保留方向(角度)差最小的一对边。将其它边设为冗余边,并在g1中去掉。
187.经过以上步骤,可完成对内部边的优化剪枝,并得到图12所示的对于剩余内部边的优化。本公开可以采用构建连通图的方式去掉多余边。首先将g1转为无向图g2,然后计算图g2的最大连通子图,并在g2中去掉未在最大连通子图中的边,如图13所示,是完成对道路轮廓的提取后得到的道路轮廓图g3。
188.3.提取道路中心线
189.上述提取道路轮廓的步骤完成后,提取到了完整的道路轮廓图g3。基于g3中的所有顶点,再次构建delaunay三角网模型,图14所示。并且,为了方便提取道路中心线,在构建三角网模型时记录下三角形集合t’以及每条边与对应的三角形的映射关系q。可以分析出在道路不同位置的三角形会邻接有不同数量的三角形,根据邻接三角形的数量,可以将内部三角形分成两类:
190.1)第一类三角形邻接一个三角形;
191.2)第二类三角形邻接两个三角形。
192.第一类三角形通常出现在道路的开始/结束位置,第二类三角形出现在道路干线上。因此,提取道路中心线时,可以随机选择一个第一类三角形(道路开始/结束位置),提取两个长边的中点,并以其中无邻接三角形的一边中点作为道路中心线的开始点,记录到作为点集合c中,并将边记录到边集合l中。然后根据q,获取上次处理的三角形的另一长边的邻接三角形(第二类三角形),并计算该三角形中两边长边中非在l中的长边中点到c中,并将边记录到集合l中。以此类推,直至再次遇到第一类三角形,即完成对一条道路的道路中心线提取,点集合c即为道路中心线的中心点集合,如图15和图16所示。
193.本公开实施例提供的新型的道路中心线计算方法,可以采用delaunay三角网和图处理方法进行提取道路中心线,无需依赖link计算中心线,可以适用于应用于新路业务。因此,能够更快的挖掘新路类情报,并提高情报的召回率。此外也适用于一切应用道路中心线的业务,如施工中,以提升召回,从而实现地图产品更加快速、精准的刻画显示道路变化的愿景。
194.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
195.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
196.图17示出了可以用来实施本公开的实施例的示例电子设备1700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数
字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
197.如图17所示,设备1700包括计算单元1701,其可以根据存储在只读存储器(rom)1702中的计算机程序或者从存储单元1708加载到随机访问存储器(ram)1703中的计算机程序,来执行各种适当的动作和处理。在ram 1703中,还可存储设备1700操作所需的各种程序和数据。计算单元1701、rom 1702以及ram 1703通过总线1704彼此相连。输入/输出(i/o)接口1705也连接至总线1704。
198.设备1700中的多个部件连接至i/o接口1705,包括:输入单元1706,例如键盘、鼠标等;输出单元1707,例如各种类型的显示器、扬声器等;存储单元1708,例如磁盘、光盘等;以及通信单元1709,例如网卡、调制解调器、无线通信收发机等。通信单元1709允许设备1700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
199.计算单元1701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1701执行上文所描述的各个方法和处理,例如道路中心线提取方法。例如,在一些实施例中,道路中心线提取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1708。在一些实施例中,计算机程序的部分或者全部可以经由rom 1702和/或通信单元1709而被载入和/或安装到设备1700上。当计算机程序加载到ram 1703并由计算单元1701执行时,可以执行上文描述的道路中心线提取方法的一个或多个步骤。备选地,在其他实施例中,计算单元1701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行道路中心线提取方法。
200.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
201.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
202.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
203.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
204.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
205.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
206.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
207.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献