CN115077515A - 数据生成方法、装置、电子设备及计算机程序产品 - Google Patents
数据生成方法、装置、电子设备及计算机程序产品 Download PDFInfo
- Publication number
- CN115077515A CN115077515A CN202210999419.7A CN202210999419A CN115077515A CN 115077515 A CN115077515 A CN 115077515A CN 202210999419 A CN202210999419 A CN 202210999419A CN 115077515 A CN115077515 A CN 115077515A
- Authority
- CN
- China
- Prior art keywords
- lane line
- line
- side wall
- initial
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
- G01C21/3822—Road feature data, e.g. slope data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本公开实施例公开了一种数据生成方法、装置、电子设备及计算机程序产品,所述方法包括:获取下沉道路侧面墙的侧面墙初始数据;所述侧面墙初始数据包括下沉道路关联的底端车道线、所述底端车道线关联的初始侧面墙以及所述初始侧面墙关联的初始顶端线;基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线;所述目标顶端车道线为所述初始侧面墙关联的顶面道路的边缘车道线;基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙。该技术方案能够增强下沉道路建模渲染的显示效果。
Description
技术领域
本公开涉及地理信息技术领域,具体涉及一种数据生成方法、装置、电子设备及计算机程序产品。
背景技术
高精地图将现实世界的空间地物要素进行抽象,通过语义化的方式进行逻辑表达。高精地图中表达的地图要素多达百余种,这些地图元素包括道路、车道、下沉道路侧面墙、绿化带等道路设施。其中,下沉道路侧面墙是高精地图数据中的一项重要的道路要素。如果缺少对高精地图中侧面墙的表达,会引起下沉道路两侧空洞,影响地图的图面效果。因此,需要提出一种解决方案,针对高精地图中的下沉道路侧面墙进行建模,使得下沉道路在高精地图中得到更好地表达,提高下沉道路侧面墙在高精地图中的渲染效果。
发明内容
本公开实施例提供一种数据生成方法、装置、电子设备及计算机程序产品。
第一方面,本公开实施例中提供了一种数据生成方法,其中,包括:
获取下沉道路侧面墙的侧面墙初始数据;所述侧面墙初始数据包括下沉道路关联的底端车道线、所述底端车道线关联的初始侧面墙以及所述初始侧面墙关联的初始顶端线;
基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;
基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线;所述目标顶端车道线为所述初始侧面墙关联的顶面道路的边缘车道线;
基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙。
进一步地,基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙,包括:
确定所述侧面墙初始数据中属于同一下沉道路、且前后连接的一个或多个底端车道线;
确定所述前后连接的一个或多个底端车道线关联的初始侧面墙;
将所述初始侧面墙按所述前后连接的一个或多个底端车道线的前后连接顺序进行合并,得到合并侧面墙。
进一步地,基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线,包括:
在所述底端车道线上确定与所述初始顶端线上任意第一点的平面距离最小的第二点;
确定与所述初始顶端线上任意第一点的平面距离在预设距离范围内、且处于所述顶面道路边缘的至少一个候选顶端车道线;
确定所述候选顶端车道线上与所述初始顶端线上的任意第一点的平面距离最近的第三点;
基于满足预设条件的所述候选顶端车道线确定目标顶端车道线;其中,所述预设条件包括:
所述候选顶端车道线与所述初始顶端线的最小平面距离小于预设距离阈值;
所述第三点与所述第二点的高度之差大于或等于预设高度阈值;
所述候选顶端车道线与所述初始顶端线的方向夹角小于或等于预设角度阈值。
进一步地,所述初始侧面墙包括下沉道路关联的隧道内中段侧面墙、隧道外位于所述中段侧面墙两端的前段侧面墙以及后段侧面墙;所述候选顶端车道线包括所述前段侧面墙对应的前段顶端车道线和后段侧面墙对应的后段顶端车道线;所述底端车道线包括所述前段侧面墙对应的前段底端车道线、中段底端车道线和后段底端车道线。
基于满足预设条件的所述候选顶端车道线确定目标顶端车道线,包括:
基于满足预设条件的所述候选顶端车道线中的所述前段顶端车道线和所述后段顶端车道线,以及所述前段底端车道线、所述中段底端车道线和所述后段底端车道线确定中段折线;
基于所述前段顶端车道线、所述后段顶端车道线和所述中段折线确定所述目标侧面墙的目标车道顶端线。
进一步地,基于满足预设条件的所述候选顶端车道线中的所述前段顶端车道线和所述后段顶端车道线,以及所述前段底端车道线、所述中段底端车道线和所述后段底端车道线确定中段折线,包括:
确定所述前段顶端车道线的尾端点相对于所述前段底端车道线的尾端点的第一偏移向量,以及确定所述后段顶端车道线的首端点相对于所述后段底端车道线的首端点的第二偏移向量;
基于所述第一偏移向量、所述第二偏移向量以及所述中段底端车道线上各点的位置坐标,在所述前段顶端车道线的尾端点和所述后段顶端车道线的首端点之间进行线性插值,得到所述中段折线。
进一步地,基于所述第一偏移向量、所述第二偏移向量以及所述中段底端车道线上各点的位置坐标,在所述前段顶端车道线的尾端点和所述后段顶端车道线的首端点之间进行线性插值,得到所述中段折线,包括:
将所述第一偏移向量在所述前段顶端车道线的尾端点的折线方向和垂直折线方向上进行向量分解,得到第一水平偏移分量和第一垂直偏移分量,以及将所述第二偏移向量在所述后段顶端车道线的首端点的折线方向和垂直折线方向上进行向量分解,得到第二水平偏移分量和第二垂直偏移分量;
计算所述中段底端车道线上各点到所述中段底端车道线的一端点的长度与所述中段底端车道线的总长度的长度比例;
基于所述长度比例以及所述第一水平偏移分量、第一垂直偏移分量、所述第二水平偏移分量和第二垂直偏移分量,在所述前段顶端车道线的尾端点和所述后段顶端车道线的尾端点之间进行长度线性插值,得到与所述中段底端车道线上各点相对应的插值点的偏移长度;
基于所述中段底端车道线上各点在所述中段底端车道线的折线方向和垂直折线方向上的所述偏移长度,确定所述插值点与在所述中段底端车道线上所述插值点相对应的各点的第三偏移向量;
基于所述第三偏移向量以及在所述中段底端车道线上与所述插值点相对应的各点的位置坐标确定所述插值点的位置坐标;
基于所述前段顶端车道线的尾端点、所述后段顶端车道线的首端点和所述插值点的位置坐标确定所述中段折线。
进一步地,基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙,包括:
基于所述目标顶端车道线上各点的平面坐标,以及在水平面上与所述目标顶端车道线上各点距离最近的所述底端车道线上的点的高度坐标,确定底角线上各点的位置坐标;
基于所述底角线和所述底端车道线生成所述目标侧面墙的底面;
基于所述目标顶端车道线和所述底角线生成所述目标侧面墙的垂直墙面。
进一步地,所述方法还包括:
基于所述侧面墙初始数据获取初始侧面墙关联的底端车道线,并形成初始车道线集合;
将所述初始车道线集合中的其中一个底端车道线作为当前的所述初始侧面墙对应的搜索车道线;
从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线;
在所述候选底端车道线属于所述初始车道线集合或者所述候选底端车道线的车道线属性包括隧道墙时,将所述候选底端车道线加入目标底端车道线集合,并将所述候选底端车道线确定为下一搜索车道线,跳转至从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线的步骤,重复执行,直至满足搜索停止条件后,跳转至将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线的步骤;
在所述候选底端车道线不属于所述初始车道线集合并且所述候选底端车道线的车道线属性也不包括隧道墙时,确定所述候选底端车道线的长度;
在所述候选底端车道线的长度小于预设长度容许阈值时,将所述候选底端车道线加入目标底端车道线集合,将所述预设长度容许阈值减去所述候选底端车道线的长度,并将所述候选底端车道线确定为下一搜索车道线,跳转至从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线的步骤,重复执行,直至满足搜索停止条件后,跳转至将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线的步骤;
将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线;
在所述初始车道线集合不为空时,跳转至将所述初始车道线集合中的其中一个底端车道线作为搜索车道线的步骤,进行下一初始侧面墙关联的底端车道线的搜索。
第二方面,本公开实施例中提供了一种高精地图生成方法,所述方法利用第一方面所述的方法生成高精地图中下沉道路关联的目标侧面墙。
第三方面,本公开实施例中提供了一种数据生成装置,其中,包括:
第一获取模块,被配置为获取下沉道路侧面墙的侧面墙初始数据;所述侧面墙初始数据包括下沉道路关联的底端车道线、所述底端车道线关联的初始侧面墙以及所述初始侧面墙关联的初始顶端线;
合并模块,被配置为基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;
第一确定模块,被配置为基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线;所述目标顶端车道线为所述初始侧面墙关联的顶面道路的边缘车道线;
第一生成模块,被配置为基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
第四方面,本公开实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现上述任一方面所述的方法。
第五方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
第六方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,针对下沉道路侧面墙,获取侧面墙初始数据中已有的下沉道路关联的底端车道线、下沉道路关联的初始侧面墙以及初始侧面墙关联的初始顶端线,并利用底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;进而再基于该合并侧面墙关联的初始顶端线确定目标顶端车道线,并基于底端车道线和目标顶端车道线生成下沉道路的目标侧面墙。通过这种方式,可以将同一下沉道路的下沉部分和上升部分的侧面墙合并为一个整体,增强下沉道路建模渲染的显示效果;同时克服了已有技术直接采用侧面墙初始数据生成下沉道路,而造成的侧面墙与道路贴合不够紧密,下沉道路在下沉部分和上升部分的侧面墙被隔断的缺陷。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。以下是对附图的说明。
图1示出根据本公开一实施方式的数据生成方法的流程图。
图2示出根据本公开一实施方式的下沉道路侧面墙的侧面墙初始数据效果示意图。
图3示出根据本公开一实施方式的车道线分段后的效果示意图。
图4示出根据本公开一实施方式的数据生成装置的结构框图。
图5是适于用来实现根据本公开一实施方式的数据生成方法和/或高精地图生成方法的电子设备的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
下面通过具体实施例详细介绍本公开实施例的细节。
图1示出根据本公开一实施方式的数据生成方法的流程图。如图1所示,该数据生成方法包括以下步骤:
在步骤S101中,获取下沉道路侧面墙的侧面墙初始数据;所述侧面墙初始数据包括下沉道路关联的底端车道线、所述底端车道线关联的初始侧面墙以及所述初始侧面墙关联的初始顶端线;
在步骤S102中,基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;
在步骤S103中,基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线;所述目标顶端车道线为所述初始侧面墙关联的顶面道路的边缘车道线;
在步骤S104中,基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙。
本实施例中,该数据生成方法可以在服务器或云端执行。下沉道路侧面墙的侧面墙初始数据可以通过对采集数据进行处理得到的,采集数据可以包括由行驶在道路上的采集车辆上的采集设备采集的图像数据、点云资料等。下沉道路侧面墙的侧面墙初始数据中可以包括下沉道路的底端车道线、底端车道线关联的初始侧面墙以及初始侧面墙关联的初始顶端线等。需要说明的是,初始侧面墙为底端车道线和初始顶端线所在的平面,而初始顶端线并非顶面道路上的车道线。
图2示出根据本公开一实施方式的下沉道路侧面墙的侧面墙初始数据效果示意图。如图2所示,下沉道路两侧是顶面道路,下沉道路和顶面道路之间通过侧面墙连接,下沉道路相对于顶面道路具有一定的高度差,该高度差即为侧面墙的高度。侧面墙初始数据中侧面墙的底边线则为底端车道线,而侧面墙的顶端线通常不是顶面道路上的边缘车道线,顶端线为距离边缘车道线较近的一条线。从图2可以看出,下沉道路的下沉部分延伸至隧道的一端,而下沉道路的上升部分与下沉部分相反,从隧道的另一端延伸出来。
在下沉道路侧面墙的侧面墙初始数据中,同一下沉道路的下沉部分和上升部分被单独表达,也即同一下沉道路的侧面墙在侧面墙初始数据中被表达为多个初始侧面墙,而每个初始侧面墙对应各自的初始顶端线,同一下沉道路的初始侧面墙关联的初始顶端线至少在隧道部分是断开的,不连续的。因此,本公开实施例中,通过关联与同一下沉道路的底端车道线搜寻到属于同一下沉道路的初始侧面墙,并将这些初始侧面墙进行合并,形成一个完整的合并侧面墙,该完整的合并侧面墙即为现实世界中看到的同一下沉道路的完整侧面墙。之后,基于该完整侧面墙和不连续的初始顶端线找到对应的连续的目标顶端车道线。
可以理解的是,下沉道路对应的顶面道路在隧道部分是连续的,因此可以找到一条目标顶端车道线在同一下沉道路的下沉部分和上升部分位于侧面墙顶端,与初始顶端线距离较近,因此找到该条目标顶端车道线后,可以将该条目标顶端车道线作为合并侧面墙的顶端线,而将合并侧面墙关联的底端车道线作为该合并侧面墙的底端线生成该目标侧面墙。在一些实施例中,目标侧面墙可以位于连接该目标顶端车道线和底端车道线的平面。
本公开实施例中,针对下沉道路侧面墙,获取侧面墙初始数据中已有的下沉道路关联的底端车道线、下沉道路关联的初始侧面墙以及初始侧面墙关联的初始顶端线,并利用底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;进而再基于该合并侧面墙关联的初始顶端线确定目标顶端车道线,并基于底端车道线和目标顶端车道线生成下沉道路的目标侧面墙。通过这种方式,可以将同一下沉道路的下沉部分和上升部分的侧面墙合并为一个整体,增强下沉道路建模渲染的显示效果;同时克服了已有技术直接采用侧面墙初始数据生成下沉道路,而造成的侧面墙与道路贴合不够紧密,下沉道路在下沉部分和上升部分的侧面墙被隔断的缺陷。
在本实施例的一个可选实现方式中,步骤S102,即基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙的步骤,进一步包括以下步骤:
确定所述侧面墙初始数据中属于同一下沉道路、且前后连接的一个或多个底端车道线;
确定所述前后连接的一个或多个底端车道线关联的初始侧面墙;
将所述初始侧面墙按所述前后连接的一个或多个底端车道线的前后连接顺序进行合并,得到合并侧面墙。
该可选的实现方式中,可以从侧面墙初始数据中找出属于同一下沉道路的所有底端车道线,从而将所有的底端车道线基于下沉道路的延伸方向依次连接形成一条连续的完整的底端车道线。而该条完整的底端车道线所关联的所有初始侧面墙也可以按照该条底端车道线的连接顺序依次合并,形成合并侧面墙。
在本实施例的一个可选实现方式中,步骤S103,即基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线的步骤,进一步包括以下步骤:
在所述底端车道线上确定与所述初始顶端线上任意第一点的平面距离最小的第二点;
确定与所述初始顶端线上任意第一点的平面距离在预设距离范围内、且处于所述顶面道路边缘的候选顶端车道线;
确定所述候选顶端车道线上与所述初始顶端线上的任意第一点的平面距离最近的第三点;
基于满足预设条件的所述候选顶端车道线确定目标顶端车道线;其中,所述预设条件包括:
所述候选顶端车道线与所述初始顶端线的最小平面距离小于预设距离阈值;
所述第三点与所述第二点的高度之差大于或等于预设高度阈值;
所述候选顶端车道线与所述初始顶端线的方向夹角小于或等于预设角度阈值。
该可选的实现方式中,在确定目标顶端车道线的时,先根据合并侧面墙中各初始侧面墙关联的初始顶端线上的每个点(为了与之后其他线上的点进行区分,此处称之为第一点),计算对应底端车道线上的平面距离最近的点(此处称之为第二点),并记录第二点的高度为Z0。
根据初始顶端线上的每个第一点,计算平面距离在预设距离范围内,且位于顶面道路边缘的候选顶端车道线,并计算第一点到每条候选顶端车道线的平面距离最近的点(此处称之为第三点),记录第三点的高度为Zi。
从同时满足以下三个条件的候选顶端车道线中选择与初始顶端线距离最近的候选顶端车道线,并将该距离最近的候选顶端车道线确定为与合并侧面墙中各初始侧面墙关联的顶端车道线:
1)与初始顶端线的平面最近距离小于距离阈值。
2)Zi-Z0不小于预设高度阈值。
3)候选顶端车道线的方向与底端车道线方向夹角不超过预设角度阈值。
基于与各初始侧面墙关联的顶端车道线确定目标顶端车道线。
在本实施例的一个可选实现方式中,所述初始侧面墙包括下沉道路关联的隧道内中段侧面墙、隧道外位于所述中段侧面墙两端的前段侧面墙以及后段侧面墙;所述候选顶端车道线包括所述前段侧面墙对应的前段顶端车道线和后段侧面墙对应的后段顶端车道线;所述底端车道线包括所述前段侧面墙对应的前段底端车道线、中段底端车道线和后段底端车道线;
基于满足预设条件的所述候选顶端车道线确定目标顶端车道线的步骤,进一步包括以下步骤:
基于满足预设条件的所述候选顶端车道线中的所述前段顶端车道线和所述后段顶端车道线,以及所述前段底端车道线、所述中段底端车道线和所述后段底端车道线确定中段折线;
基于所述前段顶端车道线、所述后段顶端车道线和所述中段折线确定所述目标侧面墙的目标车道顶端线。
该可选的实现方式中,为了能够找到下沉道路关联的顶面道路上与该下沉道路距离较近的边缘车道线,将该边缘车道线作为目标顶端车道线,从而建模下沉道路的目标侧面墙,可以将合并侧面墙进行分段。如上文中所述,下沉道路可以包括隧道外的下沉部分、上升部分以及隧道内的部分。隧道内的下沉道路部分关联的侧面墙由于被隧道处的顶面道路所覆盖,在高精地图中不需要进行表达。而下沉道路的上升部分和下沉部分关联的侧面墙需要在高精地图中进行表达,并且为了将两者从观感上形成一个整体的效果,需要找到连接两部分侧面墙的顶端线,该顶端线可以通过顶面道路上位于下沉道路侧的边缘车道线来表达。
为了找到该边缘车道线也即上文中提到的目标顶端车道线,将合并侧面墙划分为隧道两端的前段侧面墙和后段侧面墙,前段和后段可以基于下沉道路的下沉部分和上升部分来确定,比如下沉道路的下沉部分为前段侧面墙,上升部分为后段侧面墙,隧道内的为中段侧面墙。相应地,底端车道线和初始顶端线也按照该方式进行分段,对应于下沉道路下沉部分的为前段底端车道线和前段初始顶端线,对应于下沉道路上升部分的为后段底端车道线和后段初始顶端线,隧道内的部分为中段底端车道线和中段初始顶端线。
可以理解的是,在下沉道路侧面墙的侧面墙初始数据中包括的初始侧面墙关联的初始顶端线仅包括下沉道路的下沉部分和上升部分关联的侧面墙关联的初始顶端线,而隧道内的侧面墙关联的初始顶端线并没有表达;而基于上述初始侧面墙关联的初始顶端线所找出的顶端车道线也仅包括前段顶端车道线和后段顶端车道线,对应于隧道部分的中段顶端车道线并不存在,因此需要基于已有的前段顶端车道线、后段顶端车道线、前段底端车道线、中段底端车道线和后段顶端车道线将前段顶端车道线和后段顶端车道线之间的中段折线确定出来,该中段折线的首尾段分别与前段顶端车道线和后段顶端车道线连接,并且该中段折线上各点的平面位置与中段底端车道线上相对应的各点的平面位置之间的偏移一致,且该中段折线上各点的折线方向与中段底端车道线上相对应的各点的折线方向一致,而该中段折线上各点与中段底端车道线上相对应的各点的高度差在中段折线上首端点(为已知点,即前段顶端车道线的尾端点)与中段底端车道线的首端点之间的第一高度差、中段尾端点(也是已知点,即后段顶端车道线的首端点)与中段底端车道线的尾端点之间的第二高度差之间均匀分布。需要说明的是,中段折线上各点与中段底端车道线上的相应点可以理解为在目标侧面墙的垂直平面上一一对应的关系。
确定了中段折线之后,可以将前段顶端车道线、中段折线、后段顶端车道线进行首尾相接,得到目标顶端车道线。前段顶端车道线、中段折线、后段顶端车道线、前段底端车道线、中段底端车道线和后段底端车道线参见图3所示。
在本实施例的一个可选实现方式中,基于满足预设条件的所述候选顶端车道线确定目标顶端车道线的步骤,进一步包括以下步骤:
确定所述前段顶端车道线的尾端点相对于所述前段底端车道线的尾端点的第一偏移向量,以及确定所述后段顶端车道线的首端点相对于所述后段底端车道线的首端点的第二偏移向量;
基于所述第一偏移向量、所述第二偏移向量以及所述中段底端车道线上各点的位置坐标在所述前段顶端车道线的尾端点和所述后段顶端车道线的首端点之间进行线性插值,得到所述中段折线。
该可选的实现方式中,如上文中所述,该中段折线上各点的平面位置(也即X、Y方向的位置)与中段底端车道线上相对应的各点的平面位置之间的偏移一致,且该中段折线上各点的折线方向与中段底端车道线上相对应的各点的折线方向一致,而该中段折线上各点与中段底端车道线上相对应的各点的高度差在中段折线上首端点(为已知点,即前段顶端车道线的尾端点)与中段底端车道线的首端点之间的第一高度差、中段尾端点(也是已知点,即后段顶端车道线的首端点)与中段底端车道线的尾端点之间的第二高度差之间均匀分布。因此,在确定中段折线上各点的位置坐标时,可以先确定各点相对于底端车道线上对应点的平面位置偏移以及折线方向。
为此,本公开实施例中先确定前段顶端车道线的尾端点(该尾端点也相当于中段折线的首端点)相对于前段底端车道线的尾端点在折线方向和垂直折线方向上的第一偏移向量,后段顶端车道线的首端点(该首端点相当于中段折线的尾端点)相对于后段底端车道线的首端点在折线方向和垂直折线方向上的第二偏移向量,基于该第一偏移向量、第二偏移向量以及中段底端车道线上各点的位置坐标在前段顶端车道线的尾端点和后段顶端车道线的首端点之间进行线性插值,得到中段折线;线性插值得到的中段折线上的各点相对于中段底端车道线上相对应的各点在在折线方向和垂直折线方向上的偏移与第一偏移向量和第二偏移向量相关,而且中段折线上的各点的折线方向与中段底端车道线上相对应的各点的折线方向(也即各点在中段底端车道线上的折线方向)一致,中段折线上的各点与中段底端车道线上相对应的各点的高度差也与第一偏移向量和第二偏移向量相关,因此基于第一偏移向量、第二偏移向量和中段底端车道线上各点的位置坐标,可以线性插值得到中段折线的首尾端点之间的各点。
在本实施例的一个可选实现方式中,基于所述第一偏移向量、所述第二偏移向量以及所述中段底端车道线上各点的位置坐标,在所述前段顶端车道线的尾端点和所述后段顶端车道线的首端点之间进行线性插值,得到所述中段折线,包括:
将所述第一偏移向量在所述前段顶端车道线的尾端点的折线方向和垂直折线方向上进行向量分解,得到第一水平偏移分量和第一垂直偏移分量,以及将所述第二偏移向量在所述后段顶端车道线的首端点的折线方向和垂直折线方向上进行向量分解,得到第二水平偏移分量和第二垂直偏移分量;
计算所述中段底端车道线上各点到所述中段底端车道线的一端点的长度与所述中段底端车道线的总长度的长度比例;
基于所述长度比例以及所述第一水平偏移分量、第一垂直偏移分量、所述第二水平偏移分量和第二垂直偏移分量,在所述前段顶端车道线的尾端点和所述后段顶端车道线的尾端点之间进行长度线性插值,得到与所述中段底端车道线上各点相对应的插值点的偏移长度;
基于所述中段底端车道线上各点在所述中段底端车道线的折线方向和垂直折线方向上的所述偏移长度,确定所述插值点与在所述中段底端车道线上所述插值点相对应的各点的第三偏移向量;
基于所述第三偏移向量以及在所述中段底端车道线上与所述插值点相对应的各点的位置坐标确定所述插值点的位置坐标;
基于所述前段顶端车道线的尾端点、所述后段顶端车道线的首端点和所述插值点的位置坐标确定所述中段折线。
该可选的实现方式中,如上文中所述,中段折线的两端点包括前段顶端车道线的尾端点和后段顶端车道线的首端点,并且中段折线上各点的折线方向与中段底端车道线上相应的各点的折线方向一致。为了能够得到该中段折线上除两端点之外的其他点,可以找到与中段底端车道线上各点相对应的插值点相对于各点的偏移向量。为了能够更精准地找到插值点的位置,本公开实施例将插值点与中段底端车道线上相应的各点的偏移向量分解成折线方向和垂直折线方向上两个分量。需要说明的是,折线方向为沿中段折线的方向,垂直折线方向为折线方向的垂直方向。
中段折线的两端点相对于中段底端车道线两端点的偏移向量为第一偏移向量和第二偏移向量,可以先对第一偏移向量和第二偏移向量折线方向和垂直折线方向上进行向量分解,得到对应于第一偏移向量的第一水平偏移分量和第一垂直偏移分量,以及对应有第二偏移向量的第二水平偏移分量和第二垂直偏移分量。
由于插值点与中段底端车道线上各点相对应,因此中段底端车道线上各点在中段底端车道线上的长度分布与各插值点在中段折线上的一致,故可以先基于中段底端车道线上各点距离中段底端车道线的一端点(可以是首端点或者尾端点)的长度与中段底端车道线的总长度,计算各点的长度比例,该长度比例可以表达各点在中段底端车道线上的长度分布信息。
基于各点的长度比例以及第一水平偏移分量、第一垂直偏移分量、第二水平偏移分量和第二垂直偏移分量,可以在前段顶端车道线的尾端点和后段顶端车道线的尾端点之间进行长度线性插值,得到与中段底端车道线上各点相对应的插值点在折线方向和垂直折线方向上的偏移长度,进而再基于该折线方向和垂直折线方向上的偏移长度确定插值点相对于中段底端车道线上相对应的各点的第三偏移向量,基于该第三偏移向量以及中段底端车的车道线上相对应的各点的位置坐标,即可确定各插值点的位置坐标,进而通过将中段折线上的两端点和各插值点进行连接的方式得到中段折线。
下面通过一种实现实例详细说明。
如上文中所述,通过对下沉道路侧面墙的侧面墙初始数据进行搜索及处理,可以得到如下5种车道线:侧面墙前段底端车道线、中段底端车道线、后段底端车道线、前段顶端车道线、后段顶端车道线;而前段顶端车道线和后段顶端车道线之间的中段折线(因为不是车道线,所以用中段折线来表述)未知,因此本公开实施例提出了下述计算前段顶端车道线和后段顶端车道线之间中段折线的方法:
1、分别将已知5种车道线的各点(在侧面墙初始数据中各车道线用车道线上的各个点描述)串联为1条折线,并让折线方向与车道线方向保持一致。
2、获取前段顶端车道线、前段底端车道线的2个尾端点,后段顶端车道线、后段底端车道线的2个首端点,分别计算对应点在X、Y、Z三个方向的偏移,记为第一偏移向量Offset0和第二偏移向量Offset1。
3、以中段底端车道线为基准,以2个偏移向量Offset0、Offset1作为首尾整体偏移向量。将首尾整体偏移向量,分别在折线首尾点的方向上进行向量分解,计算沿折线方向、垂直折线方向的第一垂直偏移分量ValueH0、第一水平偏移分量ValueV0、 第二垂直偏移分量ValueH1、 第二水平偏移分量ValueV1。需要说明的是,水平偏移分量为沿折线方向的偏移分量,垂直偏移分量为沿垂直折线方向的偏移分量。
4、计算中段底端车道线中,每个点沿折线距离中段底端车道线的首端点的长度,除以中段底端车道线的整体长度,作为当前点在中段底端车道线上的长度比例Ratio。
5、按中段底端车道线的每个点的长度比例,将中段底端车道线的首尾点的沿折线方向、垂直折线方向的长度线性插值,如下计算得到每个点的沿折线方向、垂直折线方向的偏移长度ValueHi、ValueVi:
ValueHi = ValueH0 * (1 - Ratio) + ValueH1 * Ratio
ValueVi = ValueV0 * (1 - Ratio) + ValueV1 * Ratio
6、计算中段底端车道线每个点的沿折线方向Hi和垂直折线方向Vi,并根据沿折线方向、垂直折线方向的偏移长度ValueHi、ValueVi,如下计算中段底端车道线每个点的第三偏移向量Offset_i:
Offset_i = Hi * ValueHi + Vi * ValueVi
7、根据中段底端车道线每个点的第三偏移向量,和该中段底端车道线每个点的原始位置,计算出中段顶端车道线上每个点的位置。
在本实施例的一个可选实现方式中,步骤S104,即基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙,包括:
基于所述目标顶端车道线上各点的平面坐标,以及在水平面上与所述目标顶端车道线上各点距离最近的所述底端车道线上的点的高度坐标,确定底角线上各点的位置坐标;
基于所述底角线和所述底端车道线生成所述目标侧面墙的底面;
基于所述目标顶端车道线和所述底角线生成所述目标侧面墙的垂直墙面。
该可选的实现方式中,为了增强建模渲染的显示效果,本实施中单个侧面墙拆分为底面和垂直侧面两部分的方式生成目标侧面墙,这样生成的目标侧面墙渲染出来的效果更加有立体感,不会与下沉道路出现缝隙和空洞。
在一些实施例中,计算目标顶端车道线上每个点,在二维平面(可以理解为水平面,也即XY平面)上距离底端车道线最近的点,并获取在底端车道线距离最近点(也即与目标顶端车道线上各点在水平面距离最近点)的高度。将目标顶端车道线上个点的平面坐标和底端车道线上距离最近点的高度合并生成一个新的坐标点,该新的坐标点作为目标侧面墙底角线的点。
底端车道线和底角线生成水平面,作为目标侧面墙的底面,而目标顶端车道线和底角线生成垂直面,作为目标侧面墙的垂直墙面。
在本实施例的一个可选实现方式中,所述方法进一步还包括以下步骤:
基于所述侧面墙初始数据获取初始侧面墙关联的底端车道线,并形成初始车道线集合;
将所述初始车道线集合中的其中一个底端车道线作为当前的所述初始侧面墙对应的搜索车道线;
从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线;
在所述候选底端车道线属于所述初始车道线集合或者所述候选底端车道线的车道线属性包括隧道墙时,将所述候选底端车道线加入目标底端车道线集合,并将所述候选底端车道线确定为下一搜索车道线,跳转至从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线的步骤,重复执行,直至满足搜索停止条件后,跳转至将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线的步骤;
在所述候选底端车道线不属于所述初始车道线集合并且所述候选底端车道线的车道线属性也不包括隧道墙时,确定所述候选底端车道线的长度;
在所述候选底端车道线的长度小于预设长度容许阈值时,将所述候选底端车道线加入目标底端车道线集合,将所述预设长度容许阈值减去所述候选底端车道线的长度,并将所述候选底端车道线确定为下一搜索车道线,跳转至从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线的步骤,重复执行,直至满足搜索停止条件后,跳转至将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线的步骤;
将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线;
在所述初始车道线集合不为空时,跳转至将所述初始车道线集合中的其中一个底端车道线作为搜索车道线的步骤,进行下一初始侧面墙关联的底端车道线的搜索。
该可选的实现方式中,下沉道路侧面墙的侧面墙初始数据中,分段表达完整的一个侧面墙,例如将完整的侧面墙分成下沉部分、上升部分进行表达,但是这种方式在渲染后使得下沉部分和上升部分之间可能产生错位等现象。本公开中将下沉道路的下沉部分和上升部分进行合并,形成为一个整体,进而再生成整体侧面墙。合并下沉道路相关数据的步骤可以在步骤S102之前执行。
为了生成下沉道路的整体侧面墙,本公开实施例从下沉道路侧面墙的侧面墙初始数据中找出所有的底端车道线,形成初始底端车道线集合,并设置预设长度容许阈值。设置该预设长度容许阈值的目的是避免由于侧面墙初始数据表达的原本同一个完整侧面墙中间有间断。从初始底端车道线集合搜索同一侧面墙关联的底端车道线,形成目标底端车道线集合,一个目标底端车道线集合对应一个完整的侧面墙。
在一些实施例中,搜索停止条件包括:前后连通的候选底端车道线不唯一、初始底端车道线集合为空或者候选底端车道线的长度大于或等于预设长度容许阈值。
下面详细介绍该搜索过程:
以初始底端车道线集合中第一条初始底端车道线(可以是任意一条)开始搜索,查找与此底端车道线前后连通的候选底端车道线,判断搜索到的候选底端车道线是否满足以下条件中的任意一条:
1)在初始底端车道线集合中。
2)车道线属性为隧道墙。
第一种情况,若具有前后连接关系的候选底端车道线唯一,并且满足上述任意一个条件,则按前后连接关系,记录该条候选底端车道线至目标底端车道线集合,并以此候选底端车道线开始新的搜索。
第二种情况,若具有前后连接关系的候选底端车道线唯一,但是不满足上述任意一个条件,则计算该候选底端车道线长度,如果长度未超出预设长度容许阈值,以预设长度容许阈值减去该候选车道线长度,作为新的预设长度容许阈值,按前后连接关系,记录该条候选底端车道线至目标底端车道线,并以此候选底端车道线继续前后搜索。如果长度超出预设长度容许阈值,则停止当前搜索,目标底端车道线集合中前后连通的底端车道线即为当前搜索对应的侧面墙关联的所有底端车道线。
如果具有前后连接关系的候选底端车道线不唯一,则停止当前搜索,目标底端车道线集合中前后连通的底端车道线即为当前搜索对应的侧面墙关联的所有底端车道线。
如果初始底端车道线集合不为空,则以剩余初始底端车道线集合中第一条初始底端车道线开始下一搜索,也即生成包括下一侧面墙关联的所有底端车道线的目标底端车道线集合。
在初始底端车道线集合为空,或者满足上述提到的停止搜索的条件后,可以得到一个或多个目标底端车道线集合,每个目标底端车道线集合对应一个完整的目标侧面墙。因此,可以将一个目标底端车道线集合中前后联通的多个候选底端车道线按照顺序关系连接起来确定为对应的初始侧面墙关联的底端车道线。
此外,由于设置了预设容许长度阈值,所搜索到的目标底端车道线集合中可能在首尾部分存在并不是当前初始侧面墙关联的底端车道线的情形,因此可以针对目标底端车道线集合中所有前后连接的车道线,计算满足上述条件1)或2)的最小、最大车道线索引,保留索引位于最小、最大索引之间的车道线,而排除因设置预设长度容许阈值,在首尾部分引入的最小和最大索引之外的车道线。
此外,还可以排除非下沉道路侧面墙,例如高架桥这类的侧面墙。在目标底端车道线集合的连续车道线中,若不存在隧道墙属性的车道线,则可以确定该目标底端车道线集合对应的不是下沉道路,因此可以排除。
在本实施例的一个可选实现方式中,步骤S102,即基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙的步骤之前,所述方法进一步还包括以下步骤:
将从下沉道路侧面墙的侧面墙初始数据中确定的所有前段底端车道线沿前段底端车道线向前搜索,以及将从下沉道路侧面墙的侧面墙初始数据中确定的所有后段底端车道线沿前段底端车道线向后搜索,搜索停止条件包括:
第一条,当前搜索点到导流带的距离不超过距离阈值;导流带为距离当前的底端车道线方向最近的导流带;
第二条,向前或向后所搜的距离超过预设距离;
第三条,向前或向后没有搜索到与前段底端车道线或后段底端车道线连接的其他底端车道线;
如果满足第一条,则将搜索到的底端车道线并入前段底端车道线或后段底端车道线;
如果满足第二条和/或第三条,则当前搜索到的底端车道线为无效车道线。
在本实施例的一个可选实现方式中,基于满足预设条件的所述候选顶端车道线确定目标顶端车道线的步骤之前,所述方法进一步还包括以下步骤:
从利用初始顶端线确定的所有目标顶端车道线中,选取与初始侧面墙顶端线方向最接近的目标顶端车道线,作为用于搜索的初始顶端车道线,并记录当前的初始顶端车道线至目标顶端线集合中;
分别沿初始顶端车道线两端向前或向后搜索相关联的候选顶端车道线,若满足以下条件之一,停止搜索:
去除虚拟线属性的目标顶端车道线后,当前单个方向关联的所有目标顶端车道线里的剩余数量不等于1;
被搜索的唯一目标顶端车道线,已被记录在目标顶端线集合;
被搜索的唯一目标顶端车道线,在目标顶端车道线首尾方向上的范围,与原有初始顶端线在所述首尾方向上的范围不相交;
若不满足搜索停止条件,则以被搜索的唯一目标顶端车道线,作为下一条初始顶端车道线,继续搜索和记录,直到搜索停止。
需要说明的是,目标顶端车道线也可以按照上文中底端车道线前后探索延伸的方式进行探测,以将属于同一侧面墙的目标顶端车道线进行合并。
根据本公开一实施方式的高精地图生成方法,该高精地图生成方法利用上述数据生成方法生成高精地图中下沉道路关联的目标侧面墙。
本实施例中,该高精地图生成方法可以在服务器上执行,利用采集车辆行驶在道路上时,从采集点采集下沉道路以及下沉道路侧面墙的图像数据、点云资料等采集数据,采集车辆将采集数据以及对应的采集点传送至服务器进行处理。服务器可以从采集数据提取下沉道路侧面墙的侧面墙初始数据,该侧面墙初始数据包括下沉道路的底端车道线、底端车道线关联的初始侧面墙以及初始侧面墙关联的初始顶端线等。
利用上述数据生成方法对下沉道路侧面墙的侧面墙初始数据进行处理后,可以得到下沉道路关联的目标侧面墙,该目标侧面墙作为一个整体表达了下沉道路两侧的侧面墙。数据生成方法的具体细节可以参见上文中的描述,在此不再赘述。沉道路的目标侧面墙可以被制作在高精地图数据中,该高精地图数据可以被应用于基于位置的服务过程中,尤其是车辆的智能驾驶过程中。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图4示出根据本公开一实施方式的数据生成装置的结构框图。该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该数据生成装置包括:
第一获取模块401,被配置为获取下沉道路侧面墙的侧面墙初始数据;所述侧面墙初始数据包括下沉道路关联的底端车道线、所述底端车道线关联的初始侧面墙以及所述初始侧面墙关联的初始顶端线;
合并模块402,被配置为基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;
第一确定模块403,被配置为基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线;所述目标顶端车道线为所述初始侧面墙关联的顶面道路的边缘车道线;
第一生成模块404,被配置为基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙。
本实施例中,该数据生成装置可以在服务器或云端执行。下沉道路侧面墙的侧面墙初始数据可以通过对采集数据进行处理得到的,采集数据可以包括由行驶在道路上的采集车辆上的采集设备采集的图像数据、点云资料等。下沉道路侧面墙的侧面墙初始数据中可以包括下沉道路的底端车道线、底端车道线关联的初始侧面墙以及初始侧面墙关联的初始顶端线等。需要说明的是,初始侧面墙为底端车道线和初始顶端线所在的平面,而初始顶端线并非顶面道路上的车道线。
在下沉道路侧面墙的侧面墙初始数据中,同一下沉道路的下沉部分和上升部分被单独表达,也即同一下沉道路的侧面墙在侧面墙初始数据中被表达为多个初始侧面墙,而每个初始侧面墙对应各自的初始顶端线,同一下沉道路的初始侧面墙关联的初始顶端线至少在隧道部分是断开的,不连续的。因此,本公开实施例中,通过关联与同一下沉道路的底端车道线搜寻到属于同一下沉道路的初始侧面墙,并将这些初始侧面墙进行合并,形成一个完整的合并侧面墙,该完整的合并侧面墙即为现实世界中看到的同一下沉道路的完整侧面墙。之后,基于该完整侧面墙和不连续的初始顶端线找到对应的连续的目标顶端车道线。
可以理解的是,下沉道路对应的顶面道路在隧道部分是连续的,因此可以找到一条目标顶端车道线在同一下沉道路的下沉部分和上升部分位于侧面墙顶端,与初始顶端线距离较近,因此找到该条目标顶端车道线后,可以将该条目标顶端车道线作为合并侧面墙的顶端线,而将合并侧面墙关联的底端车道线作为该合并侧面墙的底端线生成该目标侧面墙。在一些实施例中,目标侧面墙可以位于连接该目标顶端车道线和底端车道线的平面。
本公开实施例中,针对下沉道路侧面墙,获取侧面墙初始数据中已有的下沉道路关联的底端车道线、下沉道路关联的初始侧面墙以及初始侧面墙关联的初始顶端线,并利用底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;进而再基于该合并侧面墙关联的初始顶端线确定目标顶端车道线,并基于底端车道线和目标顶端车道线生成下沉道路的目标侧面墙。通过这种方式,可以将同一下沉道路的下沉部分和上升部分的侧面墙合并为一个整体,增强下沉道路建模渲染的显示效果;同时克服了已有技术直接采用侧面墙初始数据生成下沉道路,而造成的侧面墙与道路贴合不够紧密,下沉道路在下沉部分和上升部分的侧面墙被隔断的缺陷。
在本实施例的一个可选实现方式中,所述合并模块,包括:
第一确定子模块,被配置为确定所述侧面墙初始数据中属于同一下沉道路、且前后连接的一个或多个底端车道线;
第二确定子模块,被配置为确定所述前后连接的一个或多个底端车道线关联的初始侧面墙;
合并子模块,被配置为将所述初始侧面墙按所述前后连接的一个或多个底端车道线的前后连接顺序进行合并,得到合并侧面墙。
该可选的实现方式中,可以从侧面墙初始数据中找出属于同一下沉道路的所有底端车道线,从而将所有的底端车道线基于下沉道路的延伸方向依次连接形成一条连续的完整的底端车道线。而该条完整的底端车道线所关联的所有初始侧面墙也可以按照该条底端车道线的连接顺序依次合并,形成合并侧面墙。
在本实施例的一个可选实现方式中,步骤S103,即基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线的步骤,进一步包括以下步骤:
在所述底端车道线上确定与所述初始顶端线上任意第一点的平面距离最小的第二点;
确定与所述初始顶端线上任意第一点的平面距离在预设距离范围内、且处于所述顶面道路边缘的候选顶端车道线;
确定所述候选顶端车道线上与所述初始顶端线上的任意第一点的平面距离最近的第三点;
基于满足预设条件的所述候选顶端车道线确定目标顶端车道线;其中,所述预设条件包括:
所述候选顶端车道线与所述初始顶端线的最小平面距离小于预设距离阈值;
所述第三点与所述第二点的高度之差大于或等于预设高度阈值;
所述候选顶端车道线与所述初始顶端线的方向夹角小于或等于预设角度阈值。所述第一确定模块,包括:
第三确定子模块,被配置为在所述底端车道线上确定与所述初始顶端线上任意第一点的平面距离最小的第二点;
第四确定子模块,被配置为确定与所述初始顶端线上任意第一点的平面距离在预设距离范围内、且处于所述顶面道路边缘的至少一个候选顶端车道线;
第五确定子模块,被配置为确定所述候选顶端车道线上与所述初始顶端线上的任意第一点的平面距离最近的第三点;
第六确定子模块,被配置为基于满足预设条件的所述候选顶端车道线确定目标顶端车道线;其中,所述预设条件包括:
所述候选顶端车道线与所述初始顶端线的最小平面距离小于预设距离阈值;
所述第三点与所述第二点的高度之差大于或等于预设高度阈值;
所述候选顶端车道线与所述初始顶端线的方向夹角小于或等于预设角度阈值。
该可选的实现方式中,在确定目标顶端车道线的时,先根据合并侧面墙中各初始侧面墙关联的初始顶端线上的每个点(为了与之后其他线上的点进行区分,此处称之为第一点),计算对应底端车道线上的平面距离最近的点(此处称之为第二点),并记录第二点的高度为Z0。
根据初始顶端线上的每个第一点,计算平面距离在预设距离范围内,且位于顶面道路边缘的候选顶端车道线,并计算第一点到每条候选顶端车道线的平面距离最近的点(此处称之为第三点),记录第三点的高度为Zi。
从同时满足以下三个条件的候选顶端车道线中选择与初始顶端线距离最近的候选顶端车道线,并将该距离最近的候选顶端车道线确定为与合并侧面墙中各初始侧面墙关联的顶端车道线:
1)与初始顶端线的平面最近距离小于距离阈值。
2)Zi-Z0不小于预设高度阈值。
3)候选顶端车道线的方向与底端车道线方向夹角不超过预设角度阈值。
基于与各初始侧面墙关联的顶端车道线确定目标顶端车道线。
在本实施例的一个可选实现方式中,所述初始侧面墙包括下沉道路关联的隧道内中段侧面墙、隧道外位于所述中段侧面墙两端的前段侧面墙以及后段侧面墙;所述候选顶端车道线包括所述前段侧面墙对应的前段顶端车道线和后段侧面墙对应的后段顶端车道线;所述底端车道线包括所述前段侧面墙对应的前段底端车道线、中段底端车道线和后段底端车道线;
所述第六确定子模块,包括:
第七确定子模块,被配置为基于满足预设条件的所述候选顶端车道线中的所述前段顶端车道线和所述后段顶端车道线,以及所述前段底端车道线、所述中段底端车道线和所述后段底端车道线确定中段折线;
第八确定子模块,被配置为基于所述前段顶端车道线、所述后段顶端车道线和所述中段折线确定所述目标侧面墙的目标车道顶端线。
该可选的实现方式中,为了能够找到下沉道路关联的顶面道路上与该下沉道路距离较近的边缘车道线,将该边缘车道线作为目标顶端车道线,从而建模下沉道路的目标侧面墙,可以将合并侧面墙进行分段。如上文中所述,下沉道路可以包括隧道外的下沉部分、上升部分以及隧道内的部分。隧道内的下沉道路部分关联的侧面墙由于被隧道处的顶面道路所覆盖,在高精地图中不需要进行表达。而下沉道路的上升部分和下沉部分关联的侧面墙需要在高精地图中进行表达,并且为了将两者从观感上形成一个整体的效果,需要找到连接两部分侧面墙的顶端线,该顶端线可以通过顶面道路上位于下沉道路侧的边缘车道线来表达。
为了找到该边缘车道线也即上文中提到的目标顶端车道线,将合并侧面墙划分为隧道两端的前段侧面墙和后段侧面墙,前段和后段可以基于下沉道路的下沉部分和上升部分来确定,比如下沉道路的下沉部分为前段侧面墙,上升部分为后段侧面墙,隧道内的为中段侧面墙。相应地,底端车道线和初始顶端线也按照该方式进行分段,对应于下沉道路下沉部分的为前段底端车道线和前段初始顶端线,对应于下沉道路上升部分的为后段底端车道线和后段初始顶端线,隧道内的部分为中段底端车道线和中段初始顶端线。
可以理解的是,在下沉道路侧面墙的侧面墙初始数据中包括的初始侧面墙关联的初始顶端线仅包括下沉道路的下沉部分和上升部分关联的侧面墙关联的初始顶端线,而隧道内的侧面墙关联的初始顶端线并没有表达;而基于上述初始侧面墙关联的初始顶端线所找出的顶端车道线也仅包括前段顶端车道线和后段顶端车道线,对应于隧道部分的中段顶端车道线并不存在,因此需要基于已有的前段顶端车道线、后段顶端车道线、前段底端车道线、中段底端车道线和后段顶端车道线将前段顶端车道线和后段顶端车道线之间的中段折线确定出来,该中段折线的首尾段分别与前段顶端车道线和后段顶端车道线连接,并且该中段折线上各点的平面位置与中段底端车道线上相对应的各点的平面位置之间的偏移一致,且该中段折线上各点的折线方向与中段底端车道线上相对应的各点的折线方向一致,而该中段折线上各点与中段底端车道线上相对应的各点的高度差在中段折线上首端点(为已知点,即前段顶端车道线的尾端点)与中段底端车道线的首端点之间的第一高度差、中段尾端点(也是已知点,即后段顶端车道线的首端点)与中段底端车道线的尾端点之间的第二高度差之间均匀分布。需要说明的是,中段折线上各点与中段底端车道线上的相应点可以理解为在目标侧面墙的垂直平面上一一对应的关系。
确定了中段折线之后,可以将前段顶端车道线、中段折线、后段顶端车道线进行首尾相接,得到目标顶端车道线。前段顶端车道线、中段折线、后段顶端车道线、前段底端车道线、中段底端车道线和后段底端车道线参见图3所示。
在本实施例的一个可选实现方式中,所述第七确定子模块,包括:
第九确定子模块,被配置为确定所述前段顶端车道线的尾端点相对于所述前段底端车道线的尾端点的第一偏移向量,以及确定所述后段顶端车道线的首端点相对于所述后段底端车道线的首端点的第二偏移向量;
第一插值子模块,被配置为基于所述第一偏移向量、所述第二偏移向量以及所述中段底端车道线上各点的位置坐标,在所述前段顶端车道线的尾端点和所述后段顶端车道线的首端点之间进行线性插值,得到所述中段折线。
该可选的实现方式中,如上文中所述,该中段折线上各点的平面位置(也即X、Y方向的位置)与中段底端车道线上相对应的各点的平面位置之间的偏移一致,且该中段折线上各点的折线方向与中段底端车道线上相对应的各点的折线方向一致,而该中段折线上各点与中段底端车道线上相对应的各点的高度差在中段折线上首端点(为已知点,即前段顶端车道线的尾端点)与中段底端车道线的首端点之间的第一高度差、中段尾端点(也是已知点,即后段顶端车道线的首端点)与中段底端车道线的尾端点之间的第二高度差之间均匀分布。因此,在确定中段折线上各点的位置坐标时,可以先确定各点相对于底端车道线上对应点的平面位置偏移以及折线方向。
为此,本公开实施例中先确定前段顶端车道线的尾端点(该尾端点也相当于中段折线的首端点)相对于前段底端车道线的尾端点在折线方向和垂直折线方向上的第一偏移向量,后段顶端车道线的首端点(该首端点相当于中段折线的尾端点)相对于后段底端车道线的首端点在折线方向和垂直折线方向上的第二偏移向量,基于该第一偏移向量、第二偏移向量以及中段底端车道线上各点的位置坐标在前段顶端车道线的尾端点和后段顶端车道线的首端点之间进行线性插值,得到中段折线;线性插值得到的中段折线上的各点相对于中段底端车道线上相对应的各点在在折线方向和垂直折线方向上的偏移与第一偏移向量和第二偏移向量相关,而且中段折线上的各点的折线方向与中段底端车道线上相对应的各点的折线方向(也即各点在中段底端车道线上的折线方向)一致,中段折线上的各点与中段底端车道线上相对应的各点的高度差也与第一偏移向量和第二偏移向量相关,因此基于第一偏移向量、第二偏移向量和中段底端车道线上各点的位置坐标,可以线性插值得到中段折线的首尾端点之间的各点。
在本实施例的一个可选实现方式中,所述第一插值子模块,包括:
分解子模块,被配置为将所述第一偏移向量在所述前段顶端车道线的尾端点的折线方向和垂直折线方向上进行向量分解,得到第一水平偏移分量和第一垂直偏移分量,以及将所述第二偏移向量在所述后段顶端车道线的首端点的折线方向和垂直折线方向上进行向量分解,得到第二水平偏移分量和第二垂直偏移分量;
计算子模块,被配置为计算所述中段底端车道线上各点到所述中段底端车道线的一端点的长度与所述中段底端车道线的总长度的长度比例;
第二插值子模块,被配置为基于所述长度比例以及所述第一水平偏移分量、第一垂直偏移分量、所述第二水平偏移分量和第二垂直偏移分量,在所述前段顶端车道线的尾端点和所述后段顶端车道线的尾端点之间进行长度线性插值,得到与所述中段底端车道线上各点相对应的插值点的偏移长度;
第十确定子模块,被配置为基于所述中段底端车道线上各点在所述中段底端车道线的折线方向和垂直折线方向上的所述偏移长度,确定所述插值点与在所述中段底端车道线上所述插值点相对应的各点的第三偏移向量;
第十一确定子模块,被配置为基于所述第三偏移向量以及在所述中段底端车道线上与所述插值点相对应的各点的位置坐标确定所述插值点的位置坐标;
第十二确定子模块,被配置为基于所述前段顶端车道线的尾端点、所述后段顶端车道线的首端点和所述插值点的位置坐标确定所述中段折线。
该可选的实现方式中,如上文中所述,中段折线的两端点包括前段顶端车道线的尾端点和后段顶端车道线的首端点,并且中段折线上各点的折线方向与中段底端车道线上相应的各点的折线方向一致。为了能够得到该中段折线上除两端点之外的其他点,可以找到与中段底端车道线上各点相对应的插值点相对于各点的偏移向量。为了能够更精准地找到插值点的位置,本公开实施例将插值点与中段底端车道线上相应的各点的偏移向量分解成折线方向和垂直折线方向上两个分量。需要说明的是,折线方向为沿中段折线的方向,垂直折线方向为折线方向的垂直方向。
中段折线的两端点相对于中段底端车道线两端点的偏移向量为第一偏移向量和第二偏移向量,可以先对第一偏移向量和第二偏移向量折线方向和垂直折线方向上进行向量分解,得到对应于第一偏移向量的第一水平偏移分量和第一垂直偏移分量,以及对应有第二偏移向量的第二水平偏移分量和第二垂直偏移分量。
由于插值点与中段底端车道线上各点相对应,因此中段底端车道线上各点在中段底端车道线上的长度分布与各插值点在中段折线上的一致,故可以先基于中段底端车道线上各点距离中段底端车道线的一端点(可以是首端点或者尾端点)的长度与中段底端车道线的总长度,计算各点的长度比例,该长度比例可以表达各点在中段底端车道线上的长度分布信息。
基于各点的长度比例以及第一水平偏移分量、第一垂直偏移分量、第二水平偏移分量和第二垂直偏移分量,可以在前段顶端车道线的尾端点和后段顶端车道线的尾端点之间进行长度线性插值,得到与中段底端车道线上各点相对应的插值点在折线方向和垂直折线方向上的偏移长度,进而再基于该折线方向和垂直折线方向上的偏移长度确定插值点相对于中段底端车道线上相对应的各点的第三偏移向量,基于该第三偏移向量以及中段底端车的车道线上相对应的各点的位置坐标,即可确定各插值点的位置坐标,进而通过将中段折线上的两端点和各插值点进行连接的方式得到中段折线。
下面通过一种实现实例详细说明。
如上文中所述,通过对下沉道路侧面墙的侧面墙初始数据进行搜索及处理,可以得到如下5种车道线:侧面墙前段底端车道线、中段底端车道线、后段底端车道线、前段顶端车道线、后段顶端车道线;而前段顶端车道线和后段顶端车道线之间的中段折线(因为不是车道线,所以用中段折线来表述)未知,因此本公开实施例提出了下述计算前段顶端车道线和后段顶端车道线之间中段折线的装置:
1、分别将已知5种车道线的各点(在侧面墙初始数据中各车道线用车道线上的各个点描述)串联为1条折线,并让折线方向与车道线方向保持一致。
2、获取前段顶端车道线、前段底端车道线的2个尾端点,后段顶端车道线、后段底端车道线的2个首端点,分别计算对应点在X、Y、Z三个方向的偏移,记为第一偏移向量Offset0和第二偏移向量Offset1。
3、以中段底端车道线为基准,以2个偏移向量Offset0、Offset1作为首尾整体偏移向量。将首尾整体偏移向量,分别在折线首尾点的方向上进行向量分解,计算沿折线方向、垂直折线方向的第一垂直偏移分量ValueH0、第一水平偏移分量ValueV0、 第二垂直偏移分量ValueH1、 第二水平偏移分量ValueV1。需要说明的是,水平偏移分量为沿折线方向的偏移分量,垂直偏移分量为沿垂直折线方向的偏移分量。
4、计算中段底端车道线中,每个点沿折线距离中段底端车道线的首端点的长度,除以中段底端车道线的整体长度,作为当前点在中段底端车道线上的长度比例Ratio。
5、按中段底端车道线的每个点的长度比例,将中段底端车道线的首尾点的沿折线方向、垂直折线方向的长度线性插值,如下计算得到每个点的沿折线方向、垂直折线方向的偏移长度ValueHi、ValueVi:
ValueHi = ValueH0 * (1 - Ratio) + ValueH1 * Ratio
ValueVi = ValueV0 * (1 - Ratio) + ValueV1 * Ratio
6、计算中段底端车道线每个点的沿折线方向Hi和垂直折线方向Vi,并根据沿折线方向、垂直折线方向的偏移长度ValueHi、ValueVi,如下计算中段底端车道线每个点的第三偏移向量Offset_i:
Offset_i = Hi * ValueHi + Vi * ValueVi
7、根据中段底端车道线每个点的第三偏移向量,和该中段底端车道线每个点的原始位置,计算出中段顶端车道线上每个点的位置。
在本实施例的一个可选实现方式中,步骤S104,即基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙,包括:
基于所述目标顶端车道线上各点的平面坐标,以及在水平面上与所述目标顶端车道线上各点距离最近的所述底端车道线上的点的高度坐标,确定底角线上各点的位置坐标;
基于所述底角线和所述底端车道线生成所述目标侧面墙的底面;
基于所述目标顶端车道线和所述底角线生成所述目标侧面墙的垂直墙面。所述第一生成模块,包括:
第十三确定子模块,被配置为基于所述目标顶端车道线上各点的平面坐标,以及在水平面上与所述目标顶端车道线上各点距离最近的所述底端车道线上的点的高度坐标,确定底角线上各点的位置坐标;
第一生成子模块,被配置为基于所述底角线和所述底端车道线生成所述目标侧面墙的底面;
第二生成子模块,被配置为基于所述目标顶端车道线和所述底角线生成所述目标侧面墙的侧面。
该可选的实现方式中,为了增强建模渲染的显示效果,本实施中单个侧面墙拆分为底面和垂直侧面两部分的方式生成目标侧面墙。
在一些实施例中,计算目标顶端车道线上每个点,在二维平面(可以理解为水平面,也即XY平面)上距离底端车道线最近的点,并获取在底端车道线距离最近点(也即与目标顶端车道线上各点在水平面距离最近点)的高度。将目标顶端车道线上个点的平面坐标和底端车道线上距离最近点的高度合并生成一个新的坐标点,该新的坐标点作为目标侧面墙底角线的点。
底端车道线和底角线生成水平面,作为目标侧面墙的底面,而目标顶端车道线和底角线生成垂直面,作为目标侧面墙的垂直墙面。
在本实施例的一个可选实现方式中,所述装置还包括:
第二获取模块,被配置为基于所述侧面墙初始数据获取初始侧面墙关联的底端车道线,并形成初始车道线集合;
第二确定模块,被配置为将所述初始车道线集合中的其中一个底端车道线作为当前的所述初始侧面墙对应的搜索车道线;
第三获取模块,被配置为从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线;
第一加入模块,被配置为在所述候选底端车道线属于所述初始车道线集合或者所述候选底端车道线的车道线属性包括隧道墙时,将所述候选底端车道线加入目标底端车道线集合,并将所述候选底端车道线确定为下一搜索车道线,跳转至所述第三获取模块,重复执行,直至满足搜索停止条件后,跳转至第四确定模块;
第三确定模块,被配置为在所述候选底端车道线不属于所述初始车道线集合并且所述候选底端车道线的车道线属性也不包括隧道墙时,确定所述候选底端车道线的长度;
第二加入模块,被配置为在所述候选底端车道线的长度小于预设长度容许阈值时,将所述候选底端车道线加入目标底端车道线集合,将所述预设长度容许阈值减去所述候选底端车道线的长度,并将所述候选底端车道线确定为下一搜索车道线,跳转至所述第三获取模块,重复执行,直至满足搜索停止条件后,跳转至第四确定模块;
第四确定模块,被配置为将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线;
跳转模块,被配置为在所述初始车道线集合不为空时,跳转第二确定模块后,进行下一初始侧面墙关联的底端车道线的搜索。
该可选的实现方式中,下沉道路侧面墙的侧面墙初始数据中,分段表达完整的一个侧面墙,例如将完整的侧面墙分成下沉部分、上升部分进行表达,但是这种方式在渲染后使得下沉部分和上升部分之间可能产生错位等现象。本公开中将下沉道路的下沉部分和上升部分进行合并,形成为一个整体,进而再生成整体侧面墙。合并下沉道路相关数据的上述模块可以在合并模块之前执行。
为了生成下沉道路的整体侧面墙,本公开实施例从下沉道路侧面墙的侧面墙初始数据中找出所有的底端车道线,形成初始底端车道线集合,并设置预设长度容许阈值。设置该预设长度容许阈值的目的是避免由于侧面墙初始数据表达的原本同一个完整侧面墙中间有间断。从初始底端车道线集合搜索同一侧面墙关联的底端车道线,形成目标底端车道线集合,一个目标底端车道线集合对应一个完整的侧面墙。
在一些实施例中,搜索停止条件包括:前后连通的候选底端车道线不唯一、初始底端车道线集合为空或者候选底端车道线的长度大于或等于预设长度容许阈值。
下面详细介绍该搜索过程:
以初始底端车道线集合中第一条初始底端车道线(可以是任意一条)开始搜索,查找与此底端车道线前后连通的候选底端车道线,判断搜索到的候选底端车道线是否满足以下条件中的任意一条:
1)在初始底端车道线集合中。
2)车道线属性为隧道墙。
第一种情况,若具有前后连接关系的候选底端车道线唯一,并且满足上述任意一个条件,则按前后连接关系,记录该条候选底端车道线至目标底端车道线集合,并以此候选底端车道线开始新的搜索。
第二种情况,若具有前后连接关系的候选底端车道线唯一,但是不满足上述任意一个条件,则计算该候选底端车道线长度,如果长度未超出预设长度容许阈值,以预设长度容许阈值减去该候选车道线长度,作为新的预设长度容许阈值,按前后连接关系,记录该条候选底端车道线至目标底端车道线,并以此候选底端车道线继续前后搜索。如果长度超出预设长度容许阈值,则停止当前搜索,目标底端车道线集合中前后连通的底端车道线即为当前搜索对应的侧面墙关联的所有底端车道线。
如果具有前后连接关系的候选底端车道线不唯一,则停止当前搜索,目标底端车道线集合中前后连通的底端车道线即为当前搜索对应的侧面墙关联的所有底端车道线。
如果初始底端车道线集合不为空,则以剩余初始底端车道线集合中第一条初始底端车道线开始下一搜索,也即生成包括下一侧面墙关联的所有底端车道线的目标底端车道线集合。
在初始底端车道线集合为空,或者满足上述提到的停止搜索的条件后,可以得到一个或多个目标底端车道线集合,每个目标底端车道线集合对应一个完整的目标侧面墙。因此,可以将一个目标底端车道线集合中前后联通的多个候选底端车道线按照顺序关系连接起来确定为对应的初始侧面墙关联的底端车道线。
此外,由于设置了预设容许长度阈值,所搜索到的目标底端车道线集合中可能在首尾部分存在并不是当前初始侧面墙关联的底端车道线的情形,因此可以针对目标底端车道线集合中所有前后连接的车道线,计算满足上述条件1)或2)的最小、最大车道线索引,保留索引位于最小、最大索引之间的车道线,而排除因设置预设长度容许阈值,在首尾部分引入的最小和最大索引之外的车道线。
此外,还可以排除非下沉道路侧面墙,例如高架桥这类的侧面墙。在目标底端车道线集合的连续车道线中,若不存在隧道墙属性的车道线,则可以确定该目标底端车道线集合对应的不是下沉道路,因此可以排除。
在本实施例的一个可选实现方式中,合并模块之前,所述装置进一步还可以实施为:
将从下沉道路侧面墙的侧面墙初始数据中确定的所有前段底端车道线沿前段底端车道线向前搜索,以及将从下沉道路侧面墙的侧面墙初始数据中确定的所有后段底端车道线沿前段底端车道线向后搜索,搜索停止条件包括:
第一条,当前搜索点到导流带的距离不超过距离阈值;导流带为距离当前的底端车道线方向最近的导流带;
第二条,向前或向后所搜的距离超过预设距离;
第三条,向前或向后没有搜索到与前段底端车道线或后段底端车道线连接的其他底端车道线;
如果满足第一条,则将搜索到的底端车道线并入前段底端车道线或所述后段底端车道线;
如果满足第二条和/或第三条,则当前搜索到的底端车道线为无效车道线。
在本实施例的一个可选实现方式中,第六确定子模块之前,所述装置进一步还被实施为:
从利用初始顶端线确定的所有目标顶端车道线中,选取与初始侧面墙顶端线方向最接近的目标顶端车道线,作为用于搜索的初始顶端车道线,并记录当前的初始顶端车道线至目标顶端线集合中;
分别沿初始顶端车道线两端向前或向后搜索相关联的候选顶端车道线,若满足以下条件之一,停止搜索:
去除虚拟线属性的目标顶端车道线后,当前单个方向关联的所有目标顶端车道线里的剩余数量不等于1;
被搜索的唯一目标顶端车道线,已被记录在目标顶端线集合;
被搜索的唯一目标顶端车道线,在目标顶端车道线首尾方向上的范围,与原有初始顶端线在首尾方向上的范围不相交;
若不满足搜索停止条件,则以被搜索的唯一目标顶端车道线,作为下一条初始顶端车道线,继续搜索和记录,直到搜索停止。
需要说明的是,目标顶端车道线也可以按照上文中底端车道线前后探索延伸的方式进行探测,以将属于同一侧面墙的目标顶端车道线进行合并。
图5是适于用来实现根据本公开一实施方式的数据生成方法和/或高精地图生成方法的电子设备的结构示意图。
如图5所示,电子设备500包括处理单元501,其可实现为CPU、GPU、FPGA、NPU等处理单元。处理单元501可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行本公开上述任一方法的实施方式中的各种处理。在RAM503中,还存储有电子设备500操作所需的各种程序和数据。处理单元501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种数据生成方法,其特征在于,包括:
获取下沉道路侧面墙的侧面墙初始数据;所述侧面墙初始数据包括下沉道路关联的底端车道线、所述底端车道线关联的初始侧面墙以及所述初始侧面墙关联的初始顶端线;
基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;
基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线;所述目标顶端车道线为所述初始侧面墙关联的顶面道路的边缘车道线;
基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙。
2.根据权利要求1所述的方法,其特征在于,基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙,包括:
确定所述侧面墙初始数据中属于同一下沉道路、且前后连接的一个或多个底端车道线;
确定所述前后连接的一个或多个底端车道线关联的初始侧面墙;
将所述初始侧面墙按所述前后连接的一个或多个底端车道线的前后连接顺序进行合并,得到合并侧面墙。
3.根据权利要求1或2所述的方法,其特征在于,基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线,包括:
在所述底端车道线上确定与所述初始顶端线上任意第一点的平面距离最小的第二点;
确定与所述初始顶端线上任意第一点的平面距离在预设距离范围内、且处于所述顶面道路边缘的至少一个候选顶端车道线;
确定所述候选顶端车道线上与所述初始顶端线上的任意第一点的平面距离最近的第三点;
基于满足预设条件的所述候选顶端车道线确定目标顶端车道线;其中,所述预设条件包括:
所述候选顶端车道线与所述初始顶端线的最小平面距离小于预设距离阈值;
所述第三点与所述第二点的高度之差大于或等于预设高度阈值;
所述候选顶端车道线与所述初始顶端线的方向夹角小于或等于预设角度阈值。
4.根据权利要求3所述的方法,其特征在于,所述初始侧面墙包括下沉道路关联的隧道内中段侧面墙、隧道外位于所述中段侧面墙两端的前段侧面墙以及后段侧面墙;所述候选顶端车道线包括所述前段侧面墙对应的前段顶端车道线和后段侧面墙对应的后段顶端车道线;所述底端车道线包括所述前段侧面墙对应的前段底端车道线、中段底端车道线和后段底端车道线;
基于满足预设条件的所述候选顶端车道线确定目标顶端车道线,包括:
基于满足预设条件的所述候选顶端车道线中的所述前段顶端车道线和所述后段顶端车道线,以及所述前段底端车道线、所述中段底端车道线和所述后段底端车道线确定中段折线;
基于所述前段顶端车道线、所述后段顶端车道线和所述中段折线确定所述目标侧面墙的目标车道顶端线。
5.根据权利要求4所述的方法,其特征在于,基于满足预设条件的所述候选顶端车道线中的所述前段顶端车道线和所述后段顶端车道线,以及所述前段底端车道线、所述中段底端车道线和所述后段底端车道线确定中段折线,包括:
确定所述前段顶端车道线的尾端点相对于所述前段底端车道线的尾端点的第一偏移向量,以及确定所述后段顶端车道线的首端点相对于所述后段底端车道线的首端点的第二偏移向量;
基于所述第一偏移向量、所述第二偏移向量以及所述中段底端车道线上各点的位置坐标,在所述前段顶端车道线的尾端点和所述后段顶端车道线的首端点之间进行线性插值,得到所述中段折线。
6.根据权利要求5所述的方法,其特征在于,基于所述第一偏移向量、所述第二偏移向量以及所述中段底端车道线上各点的位置坐标,在所述前段顶端车道线的尾端点和所述后段顶端车道线的首端点之间进行线性插值,得到所述中段折线,包括:
将所述第一偏移向量在所述前段顶端车道线的尾端点的折线方向和垂直折线方向上进行向量分解,得到第一水平偏移分量和第一垂直偏移分量,以及将所述第二偏移向量在所述后段顶端车道线的首端点的折线方向和垂直折线方向上进行向量分解,得到第二水平偏移分量和第二垂直偏移分量;
计算所述中段底端车道线上各点到所述中段底端车道线的一端点的长度与所述中段底端车道线的总长度的长度比例;
基于所述长度比例以及所述第一水平偏移分量、第一垂直偏移分量、所述第二水平偏移分量和第二垂直偏移分量,在所述前段顶端车道线的尾端点和所述后段顶端车道线的尾端点之间进行长度线性插值,得到与所述中段底端车道线上各点相对应的插值点的偏移长度;
基于所述中段底端车道线上各点在所述中段底端车道线的折线方向和垂直折线方向上的所述偏移长度,确定所述插值点与在所述中段底端车道线上所述插值点相对应的各点的第三偏移向量;
基于所述第三偏移向量以及在所述中段底端车道线上与所述插值点相对应的各点的位置坐标确定所述插值点的位置坐标;
基于所述前段顶端车道线的尾端点、所述后段顶端车道线的首端点和所述插值点的位置坐标确定所述中段折线。
7.根据权利要求1-2任一项所述的方法,其中,基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙,包括:
基于所述目标顶端车道线上各点的平面坐标,以及在水平面上与所述目标顶端车道线上各点距离最近的所述底端车道线上的点的高度坐标,确定底角线上各点的位置坐标;
基于所述底角线和所述底端车道线生成所述目标侧面墙的底面;
基于所述目标顶端车道线和所述底角线生成所述目标侧面墙的垂直墙面。
8.根据权利要求1-2任一项所述的方法,其中,所述方法还包括:
基于所述侧面墙初始数据获取初始侧面墙关联的底端车道线,并形成初始车道线集合;
将所述初始车道线集合中的其中一个底端车道线作为当前的所述初始侧面墙对应的搜索车道线;
从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线;
在所述候选底端车道线属于所述初始车道线集合或者所述候选底端车道线的车道线属性包括隧道墙时,将所述候选底端车道线加入目标底端车道线集合,并将所述候选底端车道线确定为下一搜索车道线,跳转至从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线的步骤,重复执行,直至满足搜索停止条件后,跳转至将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线的步骤;
在所述候选底端车道线不属于所述初始车道线集合并且所述候选底端车道线的车道线属性也不包括隧道墙时,确定所述候选底端车道线的长度;
在所述候选底端车道线的长度小于预设长度容许阈值时,将所述候选底端车道线加入目标底端车道线集合,将所述预设长度容许阈值减去所述候选底端车道线的长度,并将所述候选底端车道线确定为下一搜索车道线,跳转至从所述初始车道线集合取出与所述搜索车道线前后连通的候选底端车道线的步骤,重复执行,直至满足搜索停止条件后,跳转至将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线的步骤;
将所述目标底端车道线集合中前后连通的多个候选底端车道线确定为当前的目标侧面墙关联的底端车道线;
在所述初始车道线集合不为空时,跳转至将所述初始车道线集合中的其中一个底端车道线作为搜索车道线的步骤,进行下一初始侧面墙关联的底端车道线的搜索。
9.一种高精地图生成方法,其特征在于,所述方法利用权利要求1-8任一项所述的方法生成高精地图中下沉道路关联的目标侧面墙。
10.一种数据生成装置,其特征在于,包括:
第一获取模块,被配置为获取下沉道路侧面墙的侧面墙初始数据;所述侧面墙初始数据包括下沉道路关联的底端车道线、所述底端车道线关联的初始侧面墙以及所述初始侧面墙关联的初始顶端线;
合并模块,被配置为基于所述底端车道线将属于同一下沉道路的初始侧面墙进行合并,形成合并侧面墙;
第一确定模块,被配置为基于所述合并侧面墙关联的初始顶端线确定目标顶端车道线;所述目标顶端车道线为所述初始侧面墙关联的顶面道路的边缘车道线;
第一生成模块,被配置为基于所述底端车道线和所述目标顶端车道线生成所述下沉道路的目标侧面墙。
11.一种电子设备,其中,包括存储器、处理器以及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-9任一项所述的方法。
12.一种计算机程序产品,其包括计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210999419.7A CN115077515B (zh) | 2022-08-19 | 2022-08-19 | 数据生成方法、装置、电子设备及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210999419.7A CN115077515B (zh) | 2022-08-19 | 2022-08-19 | 数据生成方法、装置、电子设备及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115077515A true CN115077515A (zh) | 2022-09-20 |
CN115077515B CN115077515B (zh) | 2022-11-11 |
Family
ID=83244864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210999419.7A Active CN115077515B (zh) | 2022-08-19 | 2022-08-19 | 数据生成方法、装置、电子设备及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115077515B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149251A1 (en) * | 2000-07-18 | 2005-07-07 | University Of Minnesota | Real time high accuracy geospatial database for onboard intelligent vehicle applications |
CN110006665A (zh) * | 2019-04-22 | 2019-07-12 | 中国汽车工程研究院股份有限公司 | 一种利用虚拟车道线的室内车道偏离预警测试方法 |
CN113138594A (zh) * | 2020-01-20 | 2021-07-20 | 北京四维图新科技股份有限公司 | 自动驾驶方法及装置 |
WO2021195697A1 (en) * | 2020-03-30 | 2021-10-07 | Anditi Pty Ltd | Feature extraction from mobile lidar and imagery data |
CN113551679A (zh) * | 2021-07-23 | 2021-10-26 | 杭州海康威视数字技术股份有限公司 | 一种示教过程中的地图信息构建方法、构建装置 |
CN113739811A (zh) * | 2021-09-03 | 2021-12-03 | 阿波罗智能技术(北京)有限公司 | 关键点检测模型的训练和高精地图车道线的生成方法设备 |
CN114494505A (zh) * | 2021-12-13 | 2022-05-13 | 武汉中海庭数据技术有限公司 | 一种道路外侧线构建方法、***、电子设备及存储介质 |
-
2022
- 2022-08-19 CN CN202210999419.7A patent/CN115077515B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149251A1 (en) * | 2000-07-18 | 2005-07-07 | University Of Minnesota | Real time high accuracy geospatial database for onboard intelligent vehicle applications |
CN110006665A (zh) * | 2019-04-22 | 2019-07-12 | 中国汽车工程研究院股份有限公司 | 一种利用虚拟车道线的室内车道偏离预警测试方法 |
CN113138594A (zh) * | 2020-01-20 | 2021-07-20 | 北京四维图新科技股份有限公司 | 自动驾驶方法及装置 |
WO2021195697A1 (en) * | 2020-03-30 | 2021-10-07 | Anditi Pty Ltd | Feature extraction from mobile lidar and imagery data |
CN113551679A (zh) * | 2021-07-23 | 2021-10-26 | 杭州海康威视数字技术股份有限公司 | 一种示教过程中的地图信息构建方法、构建装置 |
CN113739811A (zh) * | 2021-09-03 | 2021-12-03 | 阿波罗智能技术(北京)有限公司 | 关键点检测模型的训练和高精地图车道线的生成方法设备 |
CN114494505A (zh) * | 2021-12-13 | 2022-05-13 | 武汉中海庭数据技术有限公司 | 一种道路外侧线构建方法、***、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
段建民等: "基于车载4线激光雷达的前方道路可行驶区域检测", 《汽车技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115077515B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102145109B1 (ko) | 지도 생성 및 운동 객체 위치 결정 방법 및 장치 | |
CN106056570B (zh) | 路面坡度检测装置 | |
Broggi et al. | A full-3D voxel-based dynamic obstacle detection for urban scenario using stereo vision | |
JP6227318B2 (ja) | 障害物及び急斜面を検出する検出装置およびそれを備えた車両 | |
CN111612728B (zh) | 一种基于双目rgb图像的3d点云稠密化方法和装置 | |
CN111007534A (zh) | 一种利用十六线激光雷达的障碍物检测方法及*** | |
CN113390407A (zh) | 车道级导航地图的构建方法、装置、设备以及存储介质 | |
CN110363771B (zh) | 一种基于三维点云数据的隔离护栏形点提取方法及装置 | |
CN103679120A (zh) | 不平道路的检测方法和*** | |
CN105844224A (zh) | 一种车载LiDAR 道路点云快速有序化方法 | |
CN112154303B (zh) | 高精度地图定位方法、***、平台及计算机可读存储介质 | |
CN110645996B (zh) | 一种感知数据的提取方法及*** | |
CN113933859A (zh) | 一种无人矿卡行驶场景的路面及两侧挡墙检测方法 | |
CN115077515B (zh) | 数据生成方法、装置、电子设备及计算机程序产品 | |
CN117058339A (zh) | 基于as-sgm-sf体素化三维重建的施工进度量化追踪方法 | |
CN114550116A (zh) | 一种对象识别方法和装置 | |
CN113077473B (zh) | 三维激光点云路面分割方法、***、计算机设备及介质 | |
CN112230565A (zh) | 车辆的模拟驾驶方法、装置、电子设备及计算机可读存储介质 | |
WO2020135325A1 (zh) | 移动设备定位方法、装置、***及移动设备 | |
CN112639822A (zh) | 一种数据处理方法及装置 | |
CN111784798B (zh) | 地图生成方法、装置、电子设备和存储介质 | |
CN116724315A (zh) | 确定神经网络的编码器架构的方法 | |
JP2021163279A (ja) | 3次元形状復元装置及びプログラム | |
CN115100426B (zh) | 信息确定方法、装置、电子设备及计算机程序产品 | |
CN114882141A (zh) | 斑马线绘制方法、装置、电子设备及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |