CN117739950A - 一种地图的生成方法、装置及设备 - Google Patents

一种地图的生成方法、装置及设备 Download PDF

Info

Publication number
CN117739950A
CN117739950A CN202311768217.2A CN202311768217A CN117739950A CN 117739950 A CN117739950 A CN 117739950A CN 202311768217 A CN202311768217 A CN 202311768217A CN 117739950 A CN117739950 A CN 117739950A
Authority
CN
China
Prior art keywords
lane
road
roads
euclidean distance
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.)
Pending
Application number
CN202311768217.2A
Other languages
English (en)
Inventor
汪杰
蔡鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Everything Mirror Beijing Computer System Co ltd
Original Assignee
Everything Mirror Beijing Computer System Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Everything Mirror Beijing Computer System Co ltd filed Critical Everything Mirror Beijing Computer System Co ltd
Priority to CN202311768217.2A priority Critical patent/CN117739950A/zh
Publication of CN117739950A publication Critical patent/CN117739950A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Navigation (AREA)

Abstract

本公开提供一种地图的生成方法、装置及设备,涉及高精地图仿真与高精地图还原技术领域。解决了现有高精地图还原时存在过于依赖于多传感器融合数据以及数据来源不统一,导到高精地图还原效率低的问题。方法包括:获取目标地图车道线的散点集合;根据车道线的散点集合,获取多条车道;对多条车道进行聚合处理,形成多条道路;确定多条道路之间的拓扑关系,生成目标地图。本公开的方案通过对车道线散点信息的处理,提高了高精地图还原效率;且输出是矢量类型的地图。

Description

一种地图的生成方法、装置及设备
技术领域
本公开涉及高精地图仿真与高精地图还原技术领域,具体涉及一种地图的生成方法、装置及设备。
背景技术
高精地图作为高精定位的底图,记录了道路的三维特征、行车辅助信息(如车道线等)和丰富的语意信息(如交通灯的类型等),因此高精地图在自动驾驶行业起着不可或缺的作用,但目前高精地图的绘制主要来源于拥有测绘资质的地图厂商,由于申请测绘资质困然,同时绘制高精地图的成本巨大,所以从地图厂商手中购买高精地图的费用也是巨大的;这使得还原高精地图的技术变的尤为重要,目前市场上已经涌现出了一些高精地图还原方案,但均存在数据来源不统一,导到高精地图还原效率低的问题。
发明内容
本公开要解决的技术问题是提供一种地图的生成方法、装置及设备,解决了现有高精地图还原时存在过于依赖于多传感器融合数据以及数据来源不统一,导到高精地图还原效率低的问题。
为解决上述技术问题,本公开的技术方案如下:
本公开的实施例提供一种地图的生成方法,包括:
获取目标地图车道线的散点集合;
根据车道线的散点集合,获取多条车道;
对多条车道进行聚合处理,形成多条道路;
确定多条道路之间的拓扑关系,生成目标地图。
可选的,根据车道线的散点集合,获取多条车道,包括:
通过车道线的散点集合,获取多条车道线;
通过目标数组对每条车道线进行标记,获取标记车道线;
根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,直至对所有标记车道线均进行聚合处理为止,获取多条车道。
可选的,根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,包括:
获取第一标记车道线中第一点与第二标记车道线之间的第一垂直距离;
获取第一标记车道线中第一点与第二标记车道线中第一点之间的第一欧式距离;
获取第二标记车道线与第一标记车道线中第二点之间的第二欧式距离,第二点为第一标记车道线所在线段中的最后一个点;
将第一垂直距离、第一欧式距离以及第二欧式距离均满足第一预设条件的两条标记车道线进行聚合,得到一条车道;
其中,第一预设条件为第一垂直距离大于第一预设值小于第二预设值、第一欧式距离大于第三预设值小于第四预设值,且第二欧式距离大于第五预设值小于第六预设值。
可选的,对多条车道进行聚合处理,形成多条道路,包括:
根据每个车道的方向和曲率,将符合第二预设条件的车道分别进行聚合,得到多条道路。
可选的,确定多条道路之间的拓扑关系,生成目标地图,包括:
确定道路之间车道级的拓扑关系;
根据道路之间车道级的拓扑关系,确定道路之间道路级的拓扑关系;
根据道路之间道路级的拓扑关系,生成目标地图。
可选的,确定道路之间车道级的拓扑关系,包括:
根据第三预设条件,确定每个道路上的车道之间的左右邻居关系;
第三预设条件为将道路内部的车道下标小于当前车道下标的车道设置为当前车道的左邻居,将道路内部的车道下标大于当前车道下标的车道设置为当前车道的右邻居;
其中,道路内部的每个车道的车道下标根据车道在道路内部的物理位置获取。
可选的,根据道路之间车道级的拓扑关系,确定道路之间道路级的拓扑关系,包括:
获取任意两条道路,基于第四预设条件,确定任意两条道路之间的前后继关系;
其中,第四预设条件为第三欧式距离大于第七预设值小于第八预设值、第四欧式距离大于第九预设值小于第十预设值,且第五欧式距离大于第十一预设值小于第十二预设值;
第三欧式距离为第一道路的第一车道的末端车道中心线的终点与第二道路的第一车道的车道中心线的起点的欧式距离;
第四欧式距离为第一道路的第一车道的第一车道线终点与第二道路的第一车道的第一车道线起点的欧式距离;
第五欧式距离为第一道路的第一车道的第二车道线终点与第二道路的第一车道的第二车道线起点的欧式距离。
可选的,根据道路之间道路级的拓扑关系,生成目标地图,包括:
根据道路级的拓扑关系,确定道路的起点、终点以及交叉口节点;
基于节点,通过线状矢量表示每段道路,获取每段道路的矢量数据;
基于每段道路的矢量数据,为每段道路生成代表每段道路形状的散点数据,生成目标地图。
本公开的实施例还提供一种地图的生成装置,包括:
第一获取模块,用于获取目标地图车道线的散点集合;
第二获取模块,用于根据所述车道线的散点集合,获取多条车道;
第一处理模块,用于对所述多条车道进行聚合处理,形成多条道路;
第二处理模块,用于确定多条道路之间的拓扑关系,生成目标地图。
可选的,所述第二获取模块包括:
第一获取子模块,用于通过车道线的散点集合,获取多条车道线;
第二获取子模块,用于通过目标数组对每条车道线进行标记,获取标记车道线;
第三获取子模块,用于根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,直至对所有标记车道线均进行聚合处理为止,获取多条车道。
可选的,根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,包括:
获取第一标记车道线中第一点与第二标记车道线之间的第一垂直距离;
获取第一标记车道线中第一点与第二标记车道线中第一点之间的第一欧式距离;
获取第二标记车道线与第一标记车道线中第二点之间的第二欧式距离,第二点为第一标记车道线所在线段中的最后一个点;
将第一垂直距离、第一欧式距离以及第二欧式距离均满足第一预设条件的两条标记车道线进行聚合,得到一条车道;
其中,第一预设条件为第一垂直距离大于第一预设值小于第二预设值、第一欧式距离大于第三预设值小于第四预设值,且第二欧式距离大于第五预设值小于第六预设值。
可选的,第一处理模块包括:
第一处理子模块,用于根据每个车道的方向和曲率,将符合第二预设条件的车道分别进行聚合,得到多条道路。
可选的,第二处理模块包括:
第二处理子模块,用于确定道路之间车道级的拓扑关系;
第三处理子模块,用于根据道路之间车道级的拓扑关系,确定道路之间道路级的拓扑关系;
第四处理子模块,用于根据道路之间道路级的拓扑关系,生成目标地图。
可选的,第二处理子模块包括:
根据第三预设条件,确定每个道路上的车道之间的左右邻居关系;
第三预设条件为将道路内部的车道下标小于当前车道下标的车道设置为当前车道的左邻居,将道路内部的车道下标大于当前车道下标的车道设置为当前车道的右邻居;
其中,道路内部的每个车道的车道下标根据车道在道路内部的物理位置获取。
可选的,第三处理子模块包括:
获取任意两条道路,基于第四预设条件,确定任意两条道路之间的前后继关系;
其中,第四预设条件为第三欧式距离大于第七预设值小于第八预设值、第四欧式距离大于第九预设值小于第十预设值,且第五欧式距离大于第十一预设值小于第十二预设值;
第三欧式距离为第一道路的第一车道的末端车道中心线的终点与第二道路的第一车道的车道中心线的起点的欧式距离;
第四欧式距离为第一道路的第一车道的第一车道线终点与第二道路的第一车道的第一车道线起点的欧式距离;
第五欧式距离为第一道路的第一车道的第二车道线终点与第二道路的第一车道的第二车道线起点的欧式距离。
可选的,第四处理子模块包括:
根据道路级的拓扑关系,确定道路的起点、终点以及交叉口节点;
基于节点,通过线状矢量表示每段道路,获取每段道路的矢量数据;
基于每段道路的矢量数据,为每段道路生成代表每段道路形状的散点数据,生成目标地图。
本公开的实施例还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,计算机程序被处理器运行时,执行上述的地图的生成方法。
本公开的上述方案至少包括以下有益效果:
本公开的地图的生成方法,包括:获取目标地图车道线的散点集合;根据车道线的散点集合,获取多条车道;对多条车道进行聚合处理,形成多条道路;确定多条道路之间的拓扑关系,生成目标地图。通过对车道线散点信息的处理,提高了高精地图还原效率;且输出是矢量类型的地图。
附图说明
图1是本公开的地图的生成方法的流程示意图;
图2是本公开的地图的生成方法中根据车道线的散点集合获取多条车道的流程示意图;
图3是本公开的地图的生成方法中对所有标记车道线均进行聚合处理获取多条车道的流程示意图;
图4是本公开的地图的生成装置中生成目标地图的流程示意图;
图5是本公开的地图的生成方法的具体流程示意图;
图6是本公开的地图的生成装置的模块框示意图;
图7是本公开的实施例提供的计算设备的结构示意图;
图8是实现本公开的实施例提供的计算设备的硬件结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1和图5所示,本公开的实施例提出一种地图的生成方法,包括:
步骤11,获取目标地图车道线的散点集合;
步骤12,根据车道线的散点集合,获取多条车道;
步骤13,对多条车道进行聚合处理,形成多条道路;
步骤14,确定多条道路之间的拓扑关系,生成目标地图。
本实施例中,散点集合为一种由多个点组成的数据集,其中每个点都在空间中有明确的坐标,这种数据集通常用于表示物体或地形的三维结构,而每个点都可能有与之关联的其他属性或信息;以下是关于散点数据集的一些特点,基本组成:散点数据集主要由点组成,每个点至少有X、Y坐标。在3D数据集中,还有一个Z坐标;属性信息:除了基本的坐标信息,每个点还可具有其他属性。例如:颜色:如果点云来自彩色扫描或摄影,每个点都有RGB值。强度:如果数据来自激光雷达扫描,每个点都有一个与其反射强度相关的值。其他属性:如温度、湿度或任何其他与点相关的测量值;目标地图车道线的散点集合的获取可通过传感器(例如激光雷达、摄像头、地磁仪等)来收集关于目标地图的车道线的散点数据;该实施例中,通过车道线的散点集合,获取目标地图的方式,具有以下的优点:1.统一性:不论来源于何种传感器(如激光雷达、雷达、摄像头等),数据可以被转化为散点的形式,这有助于数据源的统一处理;2.准确性和细节:散点数据往往能提供高精度的空间信息,这对于地图构建和更新是很有价值的;3.处理灵活性:散点数据可以经过各种处理、转化和融合,例如将多条车道线聚合为单一车道,确定车道与道路的拓扑关系等。4.标准化:许多现代地图格式和工具都支持基于散点的数据处理,这使得散点数据更容易被接受和使用;5.能够为复杂的环境提供丰富和准确的表示,同时散点数据提供了一种统一和标准化的方式来处理来自不同数据源的信息,从而解决了数据统一的问题。
本实施例,通过对车道线散点集合信息进行处理,来获取目标地图,解决了现有高精地图还原时存在过于依赖于多传感器融合数据以及数据来源不统一,导到高精地图还原效率低的问题,提高了高精地图还原效率,同时使数据输入更加简单,依赖的语义信息更加简洁,输出的是矢量类型的地图,有利用解析软件对高精地图的解析。
本公开的一个可选的实施例中,步骤12可以包括:
步骤121,通过车道线的散点集合,获取多条车道线;
步骤122,通过目标数组对每条车道线进行标记,获取标记车道线;
步骤123,根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,直至对所有标记车道线均进行聚合处理为止,获取多条车道。
本实施例中,通过车道线的散点集合,获取多条车道线具体包括:数据采集:首先,通过传感器(例如激光雷达、摄像头、地磁仪等)收集关于车道线的散点数据;预处理:包括噪声去除,利用滤波算法,如高斯滤波或中值滤波,去除散点数据中的噪声;数据降维,如果数据量过大,可以使用PCA(主成分分析)或其他降维技术进行简化;特征提取:从预处理后的数据中提取车道线特征,这通常涉及检测直线、曲线和其他车道标记;车道检测:使用Hough变换或其他适合的方法识别和提取车道线。
该实施例中,目标数组用于防止聚合过程中车道线的重复使用,操作过程中,可将每条车道线标记为1,当聚合过程中使用过该车道线后标记为0,从而防止重复使用。该实施例中,当多条车道线进行聚合后,可被组合或合并成更大的、更结构化的实体,通常是整个道路或车道的表示,车道线的聚合处理有助于从许多离散的线段创建一个更清晰、更完整的道路网络模型。
本公开的一个可选的实施例中,步骤123中,根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,包括:
步骤1231,获取第一标记车道线中第一点与第二标记车道线之间的第一垂直距离;
步骤1232,获取第一标记车道线中第一点与第二标记车道线中第一点之间的第一欧式距离;
步骤1233,获取第二标记车道线与第一标记车道线中第二点之间的第二欧式距离,第二点为第一标记车道线所在线段中的最后一个点;
步骤1234,将第一垂直距离、第一欧式距离以及第二欧式距离均满足第一预设条件的两条标记车道线进行聚合,得到一条车道;
其中,第一预设条件为第一垂直距离大于第一预设值小于第二预设值、第一欧式距离大于第三预设值小于第四预设值,且第二欧式距离大于第五预设值小于第六预设值。
本实施例中,具体的可通过递归的方式对车道线的散点集合进行聚合,形成多条车道,具体包括:用一个目标数组将车道线的散点集合lines[n]中的每条车道线标记为1,当聚合过程中使用过该车道线后标记为0,防止重复使用;根据车道线的散点集合lines[n],确定递归中用于遍历和比较不同车道线的索引i和j;其中,n为车道线的总数;
在外层递归中,通过遍历i(从0到n-1)来比较不同的标记车道线;
在内层递归中,通过遍历j(从i+1到n-1)来比较不同标记车道线之间的关系;
当内层递归结束时,即j=n-1时,表示已经比较完了某条标记车道线与其后面所有标记车道线的关系;
聚合车道线的判断条件为同时满足V_dis、E_dis、end_point_dis;
其中,V_dis表示line[j]与Line[i]的垂直距离(第一垂直距离);
E_dis表示line[i]与line[j]的欧式距离(第一欧式距离);
end_point_dis表示Line[i]与Line[j]最后一个点的欧式距离(第二欧式距离);
其中,Line[j]表示车道线的散点集合lines[n]中第j条车道线;
line[j]表示第j条车道线的第一个点;
Line[i]表示车道线的散点集合lines[n]中第i条车道线;
line[i]表示第i条车道线的第一个点;
聚合过程中,如果V_dis、E_dis以及end_point_dis均满足第一预设条件,即第一垂直距离大于第一预设值小于第二预设值、第一欧式距离大于第三预设值小于第四预设值,且第二欧式距离大于第五预设值小于第六预设值,那么可以将第i条车道线和第j条车道线聚合成同一条车道;
在一具体实施例中,第一预设值为0.5米,第二预设值为2米,第三预设值为1米,第四预设值为5米,第五预设值为0.5米,第六预设值为3米。
当i=n-1时,表示所有标记车道线已经聚合完毕,最终生成了预设条数的车道,然后对多条车道进行聚合处理,获取k条道路。
本公开的一个可选的实施例中,步骤13可以包括:
步骤131,根据每个车道的方向和曲率,将符合第二预设条件的车道分别进行聚合,得到多条道路,具体为:例如,当第二预设条件为将车道方向为仅左转和直行的车道进行聚合;则当一条车道的方向被标记为"仅左转",而另一条车道的方向被标记为"直行",则可将它们聚合为一条道路。
一种优选的实施例中,在车道线聚合成道路时,还可对道路的表示进行进一步的优化,例如平滑道路边界或合并非常接近的道路;使用现有地图数据或其他独立数据源验证生成的道路表示的准确性。这个过程可以根据具体的应用、数据来源和所需的精度进行调整,在实际应用中,还需要考虑其他因素,如交通标志、交通规则和地形特征,以提供更准确和实用的道路表示。
本公开的一个可选的实施例中,步骤14可以包括:
步骤141,确定道路之间车道级的拓扑关系;
步骤142,根据道路之间车道级的拓扑关系,确定道路之间道路级的拓扑关系;
步骤143,根据道路之间道路级的拓扑关系,生成目标地图。
本公开的一个可选的实施例中,步骤141可以包括:
根据第三预设条件,确定每个道路上的车道之间的左右邻居关系;
第三预设条件为将道路内部的车道下标小于当前车道下标的车道设置为当前车道的左邻居,将道路内部的车道下标大于当前车道下标的车道设置为当前车道的右邻居;
其中,道路内部的每个车道的车道下标根据车道在道路内部的物理位置获取。
具体可以用Lane_lefts表示车道的左邻居,lane_rights表示右邻居;判断条件为当道路内部的车道下标小于当前车道下标时为当前车道的左邻居,否则为右邻居,其中,道路内部的车道下标可基于车道在道路上的物理位置来分配,通过每条车道被分配的一个唯一的标识符或索引来代表每条道路;例如,可以从道路的一端开始,按照车辆行驶方向逐个给车道分配下标,从而形成一个有序的车道序列。
本公开的一个可选的实施例中,步骤142可以包括:
获取任意两条道路,基于第四预设条件,确定任意两条道路之间的前后继关系;
其中,第四预设条件为第三欧式距离大于第七预设值小于第八预设值、第四欧式距离大于第九预设值小于第十预设值,且第五欧式距离大于第十一预设值小于第十二预设值;
第三欧式距离为第一道路的第一车道的末端车道中心线的终点与第二道路的第一车道的车道中心线的起点的欧式距离;
第四欧式距离为第一道路的第一车道的第一车道线终点与第二道路的第一车道的第一车道线起点的欧式距离;
第五欧式距离为第一道路的第一车道的第二车道线终点与第二道路的第一车道的第二车道线起点的欧式距离。
本实施例中,当两条道路满足以上3个条件(第四预设条件)时,则可直接确定第一条道路和第二条道路的前后继关系为:第一条道路为第二条道路的前继,而第二条道路为第一条道路的后继。
一种优选的实施例中,第七预设值为2米,第八预设值为10米,第九预设值为1米,第十预设值为5米,第十一预设值为1米,第十二预设值为5米;
如图5所示,一种具体的实施例中,通过递归的方式确定道路之间车道级的拓扑关系;根据道路之间车道级的拓扑关系,确定道路之间道路级的拓扑关系具体为:
确定递归中用于遍历的索引a和b;
对Roads[a]进行递归外层,当a=k时表示递归结束;
对Roads[b]进行递归内层,当b=k时表示内层递归结束;
其中,Roads[a]表示第a条道路,Roads[b]表示第b条道路,k表示总的道路的个数;
用Roads[a][h]表示第a条道路的第h个车道,这里用lanes[h]代替,lanes[m]代表第b条路中的第m个车道。
这里的a和b是用于遍历所有道路的索引。在递归过程中,a作为外层循环的索引,b作为内层循环的索引;
外层递归:这个递归的外层遍历所有道路,对于每条道路(即Roads[a]),算法会进一步探索与其他道路的关系;
内层递归:内层递归负责比较和确定每条道路(Roads[a])与其他道路(Roads[b])之间的关系,这可能涉及比较车道级的拓扑关系,比如两条道路是否相连,它们之间的交叉点如何等;
k表示总的道路的个数:k是道路集合的大小,即总道路数,当a或b达到k时,表示所有可能的道路组合都已被考虑,因此递归结束;
该实施例中,通过递归的方式,逐一考虑每条道路及其车道,以确定道路之间的车道级拓扑关系,然后,基于这些车道级关系,进一步确定道路级的拓扑关系,这种方法允许系统详细地理解和表示道路网络的结构,这对于道路规划、导航系统、以及自动驾驶车辆的路径规划等应用至关重要,通过递归遍历和比较不同道路上的车道,可以构建出一张详细的道路网络地图,显示道路之间的连接方式和内部结构;
递归过程中,根据第三预设条件,确定每条道路上的车道之间的左右邻居关系,并用lane_lefts表示车道的左邻居,lane_rights表示车道的右邻居;
同时,根据道路之间车道级的拓扑关系,基于第四预设条件,确定道路之间道路级的拓扑关系,具体为:
计算Euc_dis,即lanes[h]的末端车道中心线的终点与lanes[m]的起点的欧式距离(第三欧式距离);
计算Ver_up_dis,即lanes[h]的左边车道线终点与lanes[m]的左边车道线起点的欧式距离(第四欧式距离);
计算Ver_down_dis,即lanes[h]的右边车道线终点与lanes[m]的右边车道线起点的欧式距离(第五欧式距离);
如果Euc_dis、Ver_up_dis和Ver_down_dis均满足第四预设条件,则说明lanes[n]是lanes[m]的前继,而lanes[m]是lanes[n]的后继;
当a=k时,表示所有道路的前后继关系已经预测完毕。
本实施例中,图5中的lines[n]表示道线的散点集合;Flag[n]={1}为目标数组,表示对n条车道线进行标注,ifFlag[i]!=0表示第i条车道线尚未被聚合,需要继续处理,Flag[i]=0,表示对第i条车道线进行标记,表示第i条车道线已被使用;ifFlag[j]!=0表示第j条车道线尚未被聚合,需要继续处理,Flag[j]=0,表示对第j条车道线进行标记,表示第j条车道线已被使用;Lines[i]表示外层递归,Lines[j]表示内层递归;ifi=n-1表示通过将ifi设置为n-1(最后一个车道线的索引)来标志外层递归结束;k++表示增加道路计数器,用于追踪已处理的道路数量;i++表示移动到下一条车道线以进行外层递归;else j++表示在内层递归中,移动到下一条车道线以进行比较;
0.5<V_dis(line[i],lines[j]["points"][0])<2表示line[j]与Line[i]的垂直距离,即第一垂直距离大于0.5米小于2米;
1<E_dis(line[i]["points"][0],lines[j]["points"][0])<5表示line[i]与line[j]的欧式距离即第一欧式距离大于1米小于5米;0.5<end_point_dis<3表示第二欧式距离大于0.5米小于3米;
当ifi=n-1时,表示当前外层递归已经处理到最后一条车道线即外层递归结束;
Roads[k=0]={lines[i],lines[j]}表示初始化道路集合,包括当前处理的两条车道线;ifi=n-1表示当前外层递归已经处理到最后一条车道线即外层递归结束;
Roads[a]表示第a条道路的数据集合,Roads[b]表示第b条道路的数据集合,lanes[h]=Roads[a][h]表示第a条道路的第h个车道,lanes[m]=Roads[b][m]表示第b条道路的第m个车道;For a in len(roads[a]);ifa<h;lane_lefts[a]else lane_rights[a]表示遍历第a条道路的所有车道,确定每个车道的左邻居和右邻居,if 2<Euc_dis(lanes[h],lanes[m])<10表示如果两个车道之间的欧氏距离小于10米大于2米,即第三欧式距离小于10米大于2米;1<Ver_up_dis(lanes[h],lanes[m])<=5表示如果两个车道之间的上方垂直距离小于或等于5米大于1米即第四欧式距离小于等于5米大于1米;1<Ver_down_dis(lanes[n],lanes[m])<=5表示如果两个车道之间的下方垂直距离小于或等于5米大于1米即第五欧式距离小于等于5米大于1米;ifb<k;b++表示在内层递归中,继续处理下一条道路;lfa<k,a++表示在内层递归中,继续处理下一条道路;
lane_lefts表示车道的左邻居;lane_rights表示车道的右邻居;
Lane_pres={lanes[h],lanes[m]}表示确定lanes[h]作为lanes[m]的前驱车道;Lane_succs={lanes[n],lanes[m]}表示确定lanes[m]作为lanes[h]的后继车道;Roads[a]_pres={Roads[b]}表示将Roads[b]作为Roads[a]的前驱道路;Roads[a]_succs={Roads[b]}表示将Roads[b]作为Roads[a]的后继道路;over表示完成所有处理和递归,输出最终结果。
本公开的一个可选的实施例中,步骤143可以包括:
根据道路级的拓扑关系,确定道路的起点、终点以及交叉口节点;
基于节点,通过线状矢量表示每段道路,获取每段道路的矢量数据;
基于每段道路的矢量数据,为每段道路生成代表每段道路形状的散点数据,生成目标地图。
本实施例中,根据道路之间道路级的拓扑关系,获取目标地图的具体过程为:
节点识别:在道路的起点和终点以及交叉口处创建节点。
边识别:每一段道路或车道都被视为一个边,连接两个节点。
节点和边的关系建立:例如,一个节点可能连接多条道路,这表示一个交叉口,从而可以确定相互连接的道路。
矢量数据生成:基于节点和边的关系,使用线状矢量表示每段道路,每个线状矢量都有起点和终点,以及与其相关的属性(如道路名称、类型等),同时节点也可以具有其自己的属性,如交叉口类型(例如,三岔路口、四岔路口)。
散点数据的转换:基于每段道路的矢量数据,为每段道路生成代表每段道路形状的散点数据;其中,基于矢量数据,为每段道路生成代表每段道路形状的散点数据,具体可以通过对矢量线进行“采样”来实现,即在矢量线上以规定的间距选择点,其中对于曲线或曲折的道路,可能需要更密集的采样来准确表示其形状。
属性数据的整合获取目标地图:每个散点都可以携带与其相关的属性数据,例如其所在的道路、速度限制、车道数等;为交叉口和其他特殊点分配特定的属性,获取散点矢量地图(目标地图);
将整合后的数据进行输出格式选择:根据需要选择一个适当的格式来保存或输出散点矢量地图,常用的格式包括Shapefile、GeoJSON、KML等;
一种优选的实施例中还包括优化和后处理:对散点矢量地图进行空间索引,以便快速查询和渲染,使用平滑算法优化道路的表示,以减少不必要的曲线和锯齿;验证和校准:与现有的地图数据或使用现场测量数据进行比较验证,确保生成的散点矢量地图的准确性;通过上述步骤,可以将道路级的拓扑关系转化为散点矢量形式的地图,这样的地图可以为导航、路网分析和其他地理信息应用提供详细和准确的数据。
如图6所示,本公开的实施例还提供一种地图的生成装置60,包括:
第一获取模块61,用于获取目标地图车道线的散点集合;
第二获取模块62,用于根据车道线的散点集合,获取多条车道;
第一处理模块63,用于对多条车道进行聚合处理,形成多条道路;
第二处理模块64,用于确定多条道路之间的拓扑关系,生成目标地图。
可选的,第二获取模块62包括:
第一获取子模块,用于通过车道线的散点集合,获取多条车道线;
第二获取子模块,用于通过目标数组对每条车道线进行标记,获取标记车道线;
第三获取子模块,用于根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,直至对所有标记车道线均进行聚合处理为止,获取多条车道。
可选的,根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,包括:
获取第一标记车道线中第一点与第二标记车道线之间的第一垂直距离;
获取第一标记车道线中第一点与第二标记车道线中第一点之间的第一欧式距离;
获取第二标记车道线与第一标记车道线中第二点之间的第二欧式距离,第二点为第一标记车道线所在线段中的最后一个点;
将第一垂直距离、第一欧式距离以及第二欧式距离均满足第一预设条件的两条标记车道线进行聚合,得到一条车道;
其中,第一预设条件为第一垂直距离大于第一预设值小于第二预设值、第一欧式距离大于第三预设值小于第四预设值,且第二欧式距离大于第五预设值小于第六预设值。
可选的,第一处理模块63包括:
第一处理子模块,用于根据每个车道的方向和曲率,将符合第二预设条件的车道分别进行聚合,得到多条道路。
可选的,第二处理模块64包括:
第二处理子模块,用于确定道路之间车道级的拓扑关系;
第三处理子模块,用于根据道路之间车道级的拓扑关系,确定道路之间道路级的拓扑关系;
第四处理子模块,用于根据道路之间道路级的拓扑关系,生成目标地图。
可选的,第二处理子模块包括:
根据第三预设条件,确定每个道路上的车道之间的左右邻居关系;
第三预设条件为将道路内部的车道下标小于当前车道下标的车道设置为当前车道的左邻居,将道路内部的车道下标大于当前车道下标的车道设置为当前车道的右邻居;
其中,道路内部的每个车道的车道下标根据车道在道路内部的物理位置获取。
可选的,第三处理子模块包括:
获取任意两条道路,基于第四预设条件,确定任意两条道路之间的前后继关系;
其中,第四预设条件为第三欧式距离大于第七预设值小于第八预设值、第四欧式距离大于第九预设值小于第十预设值,且第五欧式距离大于第十一预设值小于第十二预设值;
第三欧式距离为第一道路的第一车道的末端车道中心线的终点与第二道路的第一车道的车道中心线的起点的欧式距离;
第四欧式距离为第一道路的第一车道的第一车道线终点与第二道路的第一车道的第一车道线起点的欧式距离;
第五欧式距离为第一道路的第一车道的第二车道线终点与第二道路的第一车道的第二车道线起点的欧式距离。
可选的,第四处理子模块包括:
根据道路级的拓扑关系,确定道路的起点、终点以及交叉口节点;
基于节点,通过线状矢量表示每段道路,获取每段道路的矢量数据;
基于每段道路的矢量数据,为每段道路生成代表每段道路形状的散点数据,生成目标地图。
需要说明的是,该装置是与上述地图的生成方法对应的装置,上述方法中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
如图7所示,本公开实施例还提供一种计算设备700,包括处理器701,存储器702,存储在存储器702上并可在处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述地图的生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。需要说明的是,本公开实施例中的计算设备包括上述的移动电子设备和非移动电子设备。
图8为实现本公开实施例的一种计算设备的硬件结构示意图。
该计算设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、以及处理器810等部件。
本领域技术人员可以理解,计算设备800还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的计算设备结构并不构成对计算设备的限定,计算设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,本公开实施例中,输入单元804可以包括图形处理器(GraphicsProcessing Unit,GPU)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像设备)获得的静态图片或视频的图像数据进行处理。显示单元806可包括显示面板8061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板8061。用户输入单元807包括触控面板8071以及其他输入设备8072。触控面板8071,也称为触摸屏。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器809可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当指令在计算机上运行时,使得计算机执行上述地图的生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,处理器为上述实施例中的计算设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。
本公开实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述地图的生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本公开实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本公开实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本公开的保护之内。

Claims (10)

1.一种地图的生成方法,其特征在于,包括:
获取目标地图车道线的散点集合;
根据所述车道线的散点集合,获取多条车道;
对所述多条车道进行聚合处理,形成多条道路;
确定多条道路之间的拓扑关系,生成目标地图。
2.根据权利要求1所述的地图的生成方法,其特征在于,根据所述车道线的散点集合,获取多条车道,包括:
通过车道线的散点集合,获取多条车道线;
通过目标数组对每条车道线进行标记,获取标记车道线;
根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,直至对所有标记车道线均进行聚合处理为止,获取多条车道。
3.根据权利要求2所述的地图的生成方法,其特征在于,所述根据第一预设条件,对任意两条标记车道线进行聚合处理,将符合第一预设条件的两条标记车道线进行聚合形成一条车道,包括:
获取第一标记车道线中第一点与第二标记车道线之间的第一垂直距离;
获取所述第一标记车道线中第一点与所述第二标记车道线中第一点之间的第一欧式距离;
获取所述第二标记车道线与所述第一标记车道线中第二点之间的第二欧式距离,所述第二点为第一标记车道线所在线段中的最后一个点;
将所述第一垂直距离、第一欧式距离以及第二欧式距离均满足第一预设条件的两条标记车道线进行聚合,得到一条车道;
其中,所述第一预设条件为第一垂直距离大于第一预设值小于第二预设值、第一欧式距离大于第三预设值小于第四预设值,且第二欧式距离大于第五预设值小于第六预设值。
4.根据权利要求1所述的地图的生成方法,其特征在于,对所述多条车道进行聚合处理,形成多条道路,包括:
根据每个车道的方向和曲率,将符合第二预设条件的车道分别进行聚合,得到多条道路。
5.根据权利要求1所述的地图的生成方法,其特征在于,确定多条道路之间的拓扑关系,生成目标地图,包括:
确定道路之间车道级的拓扑关系;
根据所述道路之间车道级的拓扑关系,确定道路之间道路级的拓扑关系;
根据所述道路之间道路级的拓扑关系,生成目标地图。
6.根据权利要求5所述的地图的生成方法,其特征在于,所述确定道路之间车道级的拓扑关系,包括:
根据第三预设条件,确定每个道路上的车道之间的左右邻居关系;所述第三预设条件为将道路内部的车道下标小于当前车道下标的车道设置为当前车道的左邻居,将道路内部的车道下标大于当前车道下标的车道设置为当前车道的右邻居;
其中,道路内部的每个车道的车道下标根据车道在道路内部的物理位置获取。
7.根据权利要求6所述的地图的生成方法,其特征在于,根据所述道路之间车道级的拓扑关系,确定道路之间道路级的拓扑关系,包括:
获取任意两条道路,基于第四预设条件,确定任意两条道路之间的前后继关系;
其中,所述第四预设条件为第三欧式距离大于第七预设值小于第八预设值、第四欧式距离大于第九预设值小于第十预设值,且第五欧式距离大于第十一预设值小于第十二预设值;
所述第三欧式距离为第一道路的第一车道的末端车道中心线的终点与第二道路的第一车道的车道中心线的起点的欧式距离;
所述第四欧式距离为第一道路的第一车道的第一车道线终点与第二道路的第一车道的第一车道线起点的欧式距离;
所述第五欧式距离为第一道路的第一车道的第二车道线终点与第二道路的第一车道的第二车道线起点的欧式距离。
8.根据权利要求6所述的地图的生成方法,其特征在于,根据所述道路之间道路级的拓扑关系,生成目标地图,包括:
根据所述道路级的拓扑关系,确定道路的起点、终点以及交叉口节点;
基于所述节点,通过线状矢量表示每段道路,获取每段道路的矢量数据;
基于每段道路的矢量数据,为每段道路生成代表每段道路形状的散点数据,生成目标地图。
9.一种地图的生成装置,其特征在于,包括:
第一获取模块,用于获取目标地图车道线的散点集合;
第二获取模块,用于根据所述车道线的散点集合,获取多条车道;
第一处理模块,用于对所述多条车道进行聚合处理,形成多条道路;
第二处理模块,用于确定多条道路之间的拓扑关系,生成目标地图。
10.一种计算设备,其特征在于,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如权利要求1至8任一项所述的方法。
CN202311768217.2A 2023-12-21 2023-12-21 一种地图的生成方法、装置及设备 Pending CN117739950A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311768217.2A CN117739950A (zh) 2023-12-21 2023-12-21 一种地图的生成方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311768217.2A CN117739950A (zh) 2023-12-21 2023-12-21 一种地图的生成方法、装置及设备

Publications (1)

Publication Number Publication Date
CN117739950A true CN117739950A (zh) 2024-03-22

Family

ID=90254108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311768217.2A Pending CN117739950A (zh) 2023-12-21 2023-12-21 一种地图的生成方法、装置及设备

Country Status (1)

Country Link
CN (1) CN117739950A (zh)

Similar Documents

Publication Publication Date Title
JP6837467B2 (ja) 点群データ同士のマッチング関係を確定するための方法及び装置
CN110287276A (zh) 高精地图更新方法、装置及存储介质
EP2427726B1 (en) Methods and systems for creating digital transportation networks
CN110796714B (zh) 一种地图构建方法、装置、终端以及计算机可读存储介质
CN108280886A (zh) 激光点云标注方法、装置及可读存储介质
CN104866500A (zh) 图片分类展示方法和装置
CN108204819B (zh) 一种地图数据自动检测方法和装置、及混合导航系统
CN113034566B (zh) 高精度地图构建方法、装置、电子设备及存储介质
WO2021051346A1 (zh) 立体车道线确定方法、装置和电子设备
CN115164918B (zh) 语义点云地图构建方法、装置及电子设备
JP2020042793A (ja) 確率プロットに基づく障害物分布シミュレーション方法、装置及び端末
CN116518960B (zh) 路网更新方法、装置、电子设备和存储介质
CN114662253A (zh) 一种仿真建模方法、装置、电子设备及存储介质
CN114705180B (zh) 高精地图的数据修正方法、装置、设备及存储介质
CN116091716A (zh) 一种基于深度学习的高精度地图自动化制作系统及方法
CN117739950A (zh) 一种地图的生成方法、装置及设备
CN115631476A (zh) 一种车道数据处理方法、系统、电子设备及存储介质
CN115540880A (zh) 一种导航路径匹配方法及装置、电子设备、存储介质
CN114440905A (zh) 中间图层的构建方法、装置、电子设备及存储介质
CN113008246A (zh) 地图匹配方法和装置
CN116465394B (zh) 基于车辆轨迹数据的路网结构生成方法及装置
CN113656425B (zh) 电子地图的更新方法、装置、电子设备、存储介质及产品
CN117708261B (zh) 地图数据处理方法、装置、设备、存储介质及程序产品
CN116718181B (zh) 地图生成方法、装置、电子设备及存储介质
CN111121793B (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