CN112747756B - 一种地图构建方法及装置 - Google Patents
一种地图构建方法及装置 Download PDFInfo
- Publication number
- CN112747756B CN112747756B CN201911060372.2A CN201911060372A CN112747756B CN 112747756 B CN112747756 B CN 112747756B CN 201911060372 A CN201911060372 A CN 201911060372A CN 112747756 B CN112747756 B CN 112747756B
- Authority
- CN
- China
- Prior art keywords
- road
- unit
- map
- point cloud
- cloud data
- 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.)
- Active
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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
公开了一种地图构建方法、装置、计算机可读存储介质及电子设备,该方法包括:将道路拆分成至少一个道路单元;获取每个所述道路单元对应的子点云数据;针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图;基于每个所述道路单元对应的混合高斯地图,获得高度混合高斯地图。本申请由于在构建地图的过程中充分考虑了道路的实际场景,因此在定位过程中可以根据道路的实际场景对地图进行加载,有效提高了定位的准确度,减少定位过程的计算成本。
Description
技术领域
本申请涉及电子地图技术领域,且更具体地,涉及一种地图构建方法及装置。
背景技术
在车辆的行使过程中,通常需要实时采集路面图像并加载地图,以实现对车辆的定位和导航。为了对车辆的位置进行良好定位以及对车辆进行导航,需要预先进行地图构建。
目前在进行地图构建时,通常采用的方法是对整个点云在某个水平范围内的高度分布进行拟合,这样获得地图对于位于同一平面的道路来说没有问题,但是对于一些立体场景(例如立交桥、底下车库、多楼层车库等),由于同一个平面坐标可能对应多条道路,采用现有方法构建地图时未能考虑每条道路实际的场景,使得得到的地图信息无法适用于每条道路的定位,导致定位效果不理想。
发明内容
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种地图构建方法、装置、计算机可读存储介质及电子设备,不仅可以极大减少语义混合高斯地图的数据量,从而减小地图占用的存储空间,而且由于在构建地图的过程中充分考虑了道路的实际场景,因此在定位过程中可以根据道路的实际场景对地图进行加载,有效提高了定位的准确度,减少定位过程的计算成本。
根据本申请的第一方面,提供了一种地图构建方法,包括:
将道路拆分成至少一个道路单元;
获取每个所述道路单元对应的子点云数据;
针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图;
基于每个所述道路单元对应的混合高斯地图,获得高度混合高斯地图。
根据本申请的第二方面,提供了一种地图构建装置,包括:
道路单元获取模块,用于将道路拆分成至少一个道路单元;
子点云获取模块,获取每个所述道路单元对应的子点云数据;
第一构件模块,用于针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图;
第二构件模块,用于基于每个所述道路单元对应的混合高斯地图,获得高度混合高斯地图。
根据本申请的第三方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第一方面所述的地图构建方法。
根据本申请的第四方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述第一方面所述的地图构建方法。
与现有技术相比,本申请提供的地图构建方法、装置、计算机可读存储介质及电子设备,至少包括以下有益效果:
一方面,本申请实施例在构建地图的过程中充分考虑了道路的实际场景,并根据实际场景将道路拆分为多个道路单元,并基于对多个道路单元分别建立的混合高斯地图获得高度混合高斯地图,因此在定位过程中可以根据道路的实际场景对地图进行加载,避免了无用地图部分的加载,不仅可以有效提高定位的准确度,而且可以减少定位过程的计算成本。
另一方面,本申请实施例可以通过存储高斯函数的参数的方式来存储高度分布,不仅可以极大减少混合高斯地图的数据量,从而减小地图占用的存储空间,而且占用存储空间的减小有利于点云地图的即时传输,减小了带宽占用,降低了传输延时,同时也有助于减少解析时的计算量。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本申请一示例性实施例所适用的多层道路场景示意图。
图2是本申请一示例性实施例提供的地图构建方法的流程示意图一。
图3是本申请一示例性实施例提供的地图构建方法中将道路拆分成至少一个道路单元的流程示意图。
图4是本申请一示例性实施例提供的地图构建方法中获取每个道路单元对应的子点云数据的示意图。
图5是本申请一示例性实施例提供的地图构建方法中构建混合高斯地图的流程示意图一。
图6是本申请一示例性实施例提供的地图构建方法中将数据点分配至单位空间的流程示意图。
图7是本申请一示例性实施例提供的地图构建方法中构建混合高斯地图的流程示意图二。
图8是本申请一示例性实施例提供的地图构建方法中混合高斯分布的示意图。
图9是本申请一示例性实施例提供的地图构建方法的流程示意图二。
图10是本申请一示例性实施例提供的地图构建方法中构建每个道路单元对应的道路单元高度地图的流程示意图一。
图11是本申请一示例性实施例提供的地图构建方法中构建每个道路单元对应的道路单元高度地图的流程示意图二。
图12是本申请一示例性实施例提供的地图构建装置的示意图一。
图13是本申请一示例性实施例提供的地图构建装置中道路单元获取模块的示意图。
图14是本申请一示例性实施例提供的地图构建装置中第一构建模块的示意图。
图15是本申请一示例性实施例提供的地图构建装置的示意图二。
图16是本申请一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
车辆在行驶过程中通常都需要开启地图来进行导航,为了对车辆的位置进行良好定位以及对车辆进行导航,需要预先进行地图构建。目前在进行地图的构建时,通常采用的方法是对整个点云在某个水平范围内的高度分布进行拟合。然而,通过这种方式所获得的地图只能适用于位于同一平面的道路,而对于一些立体场景则不适用,这是因为对于一些立体场景而言,同一个平面坐标在高度方向上可能对应多条道路,采用现有方法构建地图时未能考虑每条道路实际的场景,因而得到的地图信息无法适用于每条道路的定位。
如图1所示,两条高度不同、相互垂直的道路A和道路B,采用目前的方法构建地图时,是根据整个点云在预设水平范围内的高度分布进行拟合,在进行定位时道路A和道路B使用的是同样的地图信息。然而,当车辆在道路B上行驶时,车辆上的激光雷达并不会扫描到道路B下方的物体,因此只需要加载道路B相关的地图信息即可,而现有的地图会同时加载道路A和道路B的地图信息,不能考虑两条道路实际的场景,不仅会增加定位错误的风险,而且会增加定位过程中的计算成本。
本实施例则提供了一种完全不同的地图构建方法,在构建地图时充分考虑了道路的实际场景,并根据实际场景将道路拆分为多个道路单元,并基于对多个道路单元分别建立的混合高斯地图获得高度混合高斯地图,因此在定位过程中可以根据道路的实际场景对地图进行加载,有效提高了定位的准确度,减少定位过程的计算成本。
示例性方法
图2是本申请一示例性实施例提供的地图构建方法的流程示意图。本实施例可应用在电子设备上,具体可以应用于服务器或一般计算机上。
如图2所示,本申请一示例性实施例提供的地图构建方法包括如下步骤:
步骤10:将道路拆分成至少一个道路单元。
道路根据实际场景可以看作是一个或多个道路单元按照一定顺序连接而成。例如,道路包括有至少两个分支,分支对应还设有分支,此时可以根据道路的分支情况,将道路分成多个道路单元,而道路则可以看做是这多个道路单元拼接而成。
步骤20:获取每个所述道路单元对应的子点云数据。
点云数据的获取方式可以根据需要进行选择,例如可以通过安装在车辆上的激光雷达或相机获取点云数据。在获取了每个道路单元后,可以从点云数据中获得每个道路单元对应的子点云数据,从而实现对子点云数据的分类。可以理解的是,此处的子点云数据包括道路单元对应的路面点云数据,还包括其他点云数据。在本实施例中,每个子点云数据中的数据点坐标可以记为(X,Y,Z),其中X和Y为平面坐标,Z为高度坐标。
步骤30:针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图。
混合高斯模型(Gaussian Mixture Model,简写为GMM)是一种使用一个或多个高斯函数来拟合一组数据的方法。在本实施例中,针对每个道路单元对应的子点云数据,可以采用至少一个高斯函数对子点云数据中的数据点的高度进行拟合,从而可以通过高斯函数的形式来表示数据点的高度分布,极大减少了数据存储量。
步骤40:基于每个所述道路单元对应的混合高斯地图,获得高度混合高斯地图。
在获得各子点云数据对应的混合高斯地图后,需要将各子点云数据的混合高斯地图进行合并,以形成高度混合高斯地图。该高度混合高斯地图进行存储时,各数据点的高度分布不用通过坐标的方式单独进行存储,而是通过高斯函数建立相互关系,并通过存储高斯函数的参数的方式来存储高度分布,从而可以减少整体的数据存储量。
本实施例提供的地图构建方法的有益效果至少在于:
一方面,本实施例在构建地图时充分考虑了道路的实际场景,并根据实际场景将道路拆分为多个道路单元,并基于对多个道路单元分别建立的混合高斯地图获得高度混合高斯地图,因此在定位过程中可以根据道路的实际场景对地图进行加载,避免了无用地图部分的加载,不仅可以有效提高定位的准确度,而且可以减少定位过程的计算成本。
另一方面,由于在构建地图的过程中充分考虑了道路的实际场景,可以通过存储高斯函数的参数的方式来存储高度分布,不仅可以极大减少语义混合高斯地图的数据量,从而减小地图占用的存储空间,而且占用存储空间的减小有利于点云地图的即时传输,减小了带宽占用,降低了传输延时,同时也有助于减少解析时的计算量。
图3示出了如图2所示的实施例中将道路拆分成至少一个道路单元步骤的流程示意图。
如图3所示,在上述图2所示实施例的基础上,本申请一个示例性实施例中,步骤10所示对道路进行拆分步骤,具体可以包括:
步骤101:获取点云数据形成的轨迹中的道路以及所述道路上载具的运行轨迹。
在本实施例中,载具可以是任何可以移动的物体,例如可以是在道路上行驶的车辆。车辆在行驶的过程中,可以通过其上设置的相机或者激光雷达连续获得多张图像,从而可以获得对应的点云数据,点云数据中包括道路对应的点云,通过对这些连续的点云数据进行处理,连续多张图像中的道路点云可以形成车辆运行中的道路以及道路中车辆的运行轨迹。
步骤102:根据所述载具的运行轨迹,将所述道路拆分成至少一个道路单元,并获取所述道路单元之间的拓扑信息。
车辆在运行过程中的位姿可以实时获取,随着其行驶状态的不同,其位姿也会发生变化。例如,车辆的位姿也会随着道路的不同而进行调整,因此,在获取车辆的运行轨迹的过程中对应获取车辆的位姿,并将车辆的位姿与道路进行关联,从而可以根据车辆的位姿是否变化来对道路进行拆分。
请参阅图4,例如,在所获得的车辆运行轨迹图中,可以采用箭头来表示车辆的位姿,箭头的指向不同,则车辆的位姿不同(如图4.a所示)。因此,可以根据车辆的位姿将道路拆分成6个道路单元,并对每个道路单元进行编号,每个道路单元对应一个矩形框,每个矩形框中的车辆位姿相同(如图4.b所示)。在完成了拆分以后,可以对道路单元对应的点云数据进行拆分,以获取每个道路单元对应的子点云数据(如图4.c所示)。当然,在进行道路单元拆分的过程中,还需要获取道路单元之间的拓扑信息,以便在后续获得高度混合高斯地图时,可以根据道路单元之间的拓扑关系来对道路单元进行拼接。例如,道路单元1、道路单元3、道路单元4、道路单元5以及道路单元6均只与道路单元2连接,而相互之间并不连接(如图4.d所示)。
本实施例通过获取点云数据中的道路与道路上载具的运行轨迹,并通过载具的位姿与道路之间的关联对道路进行拆分,不仅可以对道路进行有效拆分,而且可以获得道路单元之间的拓扑关系,有助于后续获得高度混合高斯地图时对道路单元进行拼接。
图5示出了如图2所示的实施例中针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图步骤的流程示意图。
如图5所示,在上述图2所示实施例的基础上,本申请一个示例性实施例中,步骤30所示构建混合高斯地图步骤,具体可以包括:
步骤301:针对每个所述道路单元的所述子点云数据,按照预设方式将所述子点云数据的数据点分配至至少一个单位空间。
在本实施例中,单位空间的尺寸可以根据需要进行设置,例如,可以将一个道路单元内的子点云数据所在的平面空间(与数据点的高度相垂直的平面)看做是一个单位空间,此时所有的数据点均位于该单位空间中。再如,可以将一个道路单元内的子点云数据所在的平面空间划分为多个单位空间(可分别用ga、gb、gc、gd等表示),然后加载数据点,使得数据点落入各单位空间中,实现对数据点的分配。
步骤302:对每个所述单位空间中的数据点的高度进行高斯拟合,以获得所述单位空间中的数据点的混合高斯分布。
在进行高斯拟合时,每个单位空间对其中的所有数据点的高度进行拟合,以通过统一的高斯函数表达式来进行表达。请参阅图7,例如,在一个实施例中,对于一个单位空间,高斯函数的数量为一个,此时可以仅通过一个高斯分布来表示该单位空间中所有数据点的高度分布。再如,在一个实施例中,对于一个单位空间,高斯函数的数量为两个,此时可以通过两个高斯分布加权叠加形成一个混合高斯分布GMM,每个高斯函数为一个钟形曲线。
每个高斯分布包含三个重要参数,即均值(mean)、方差(variance)和权重(weight),其中均值和方差是高斯分布的基本参数,权重是高斯分布的权重,当高斯函数的数量为1个时,该高斯分布对应的权重为1;当高斯函数的数量为两个时,每个高斯分布的权重范围为0~1,且两个高斯分布的权重之和为1(例如一个为0.3,另一个为0.7)。当然,高斯函数的数量还可以为两个以上,根据实际拟合来确定。
步骤303:基于每个所述单位空间的所述混合高斯分布,获得每个所述道路单元的所述子点云数据对应的混合高斯地图。
在经过步骤302后,每个单位空间中的数据点都可以通过混合高斯分布来表示其中数据点的高度分布,通过将每个子点云数据中所有数据点的高度分布进行合并,可以获得该子点云数据对应的混合高斯地图。请参阅图8,例如,在将平面空间划分为4个单位空间(分别记为ga、gb、gc和gd)的情形下,每个单位空间对应一个混合高斯分布(例如:ga单位空间的坐标为(1,1),对应混合高斯分布GMM1;gb单位空间的坐标为(1,2),对应混合高斯分布GMM2;gc单位空间的坐标为(2,1),对应混合高斯分布GMM3;gd单位空间的坐标为(2,2),对应混合高斯分布GMM4),然后将各高斯分布进行合并,即可以组成该子点云数据对应的混合高斯地图。
本实施例获得的混合高斯地图中,无需对每一个数据点的高度数据进行存储,而只需通过一个混合高斯分布即可表示一个单位空间中所有数据点的高度分布,极大减少了地图存储的数据量,从而减小地图占用的存储空间。
图6示出了如图5所示的实施例中将数据点分配至单位空间步骤的流程示意图。
如图6所示,在上述图5所示实施例的基础上,本申请一个示例性实施例中,步骤301具体可以包括:
步骤3011:在与所述数据点的高度相垂直的平面内,按照预设单位尺寸将地图空间分割为至少一个单位空间。
在本实施例中,每个数据点的坐标记为(X,Y,Z),其中Z方向为数据点的高度方向,XY平面则为与数据点的高度方向相垂直的平面。沿着XY方向,按照预设单位尺寸对平面空间进行划分。根据单位尺寸的不同,平面空间划分后单位空间的数量和大小也不相同。例如,在X方向和Y方向上的单位尺寸均设置为20厘米(cm),则划分得到的单位空间的尺寸为20cm*20cm。当然,在其他实施例中,单位空间也可以为其他值,并不仅限于上述的情形。在X方向和Y方向上进行划分的单位尺寸也可以相同,也可以不相同,例如在X方向上的单位尺寸可以设置为20cm,在Y方向上的单位尺寸可以设置为10cm,此时得到的单位空间的尺寸为20cm*10cm。通过上述方式划分得到的单位空间为矩形,在其他实施例中,也可以通过其他方式进行划分,单位空间也随之为其他形状,例如还可以为三角形、六边形等,此处不过限制。
在划分单位空间后,可以对每一个单位空间的位置坐标进行标记。例如,可以选择单位空间中某一个点的坐标作为该单位空间的位置坐标,该点可以是单位空间的中心点,也可以是一条边上的某一点,还可以是某一顶点。在本实施例中,优选将单位空间的中心点的坐标(X,Y)作为该单位空间的位置坐标。
步骤3012:在若干所述单位空间中加载对应的子点云数据。每个单位空间中根据实际情况可能分配一个数据点,也可以分配多个数据点。
本实施例通过对平面空间进行划分,从而可以获得至少一个单位空间,并在每一个单位空间中相应加载数据点,有利于后续对每个单位空间中数据点的高度进行高斯拟合。
进一步地,本实施例在获得了每个子点云数据对应的混合高斯地图后,需要对混合高斯地图进行存储。根据存储方式的不同,混合高斯地图存储时所占用的空间尺寸也会不同。以下以每个单位空间中对应有30个数据点为例进行说明。
目前在进行点云数据存储时,每一个数据点有X、Y、Z三个坐标参数,每个参数占用4个字节,因此30个数据点存储时占用的空间为4*3*30=360字节。
在一个实施例中,混合高斯地图存储时,单位空间中的数据点的高度用两个高斯函数进行表示,每个高斯函数有三个参数(均值、方差和权重),每个参数占用4个字节,因此高斯函数占用的空间为:4*3*2=24字节。单位空间中的数据点用单位空间的位置坐标(例如中心点的X、Y坐标)进行表示,每个坐标参数占用4个字节,因此数据点的坐标占用空间为:4*2=8字节。因此30个数据点存储时占用的空间为24+8=32字节。通过这种方式存储混合高斯地图时,无需对每一个数据点的高度数据进行存储,而只需通过一个混合高斯分布即可表示一个单位空间中所有数据点的高度分布,同时每个单位空间中的数据点仅用一个位置坐标即可表示,极大减少了地图存储的数据量,从而减小地图占用的存储空间。
在本实施例中,在进行混合高斯地图的存储时,优选采用存储单位空间的位置坐标、单位空间中数据点的高斯分布信息的方式。应当理解的是,混合高斯地图中还存储了数据点的语义类别。因此,为了描述方便,混合高斯地图包括多个元素,每个元素包括以下信息:单位空间的中心点的X、Y坐标,单位空间的高斯分布信息(包括每个高斯函数的均值、方差和权重),语义类别。
进一步地,本实施例在获取了每个道路单元对应的子点云数据后,一方面可以针对每个道路单元对应的所述子点云数据,构建对应的混合高斯地图,以便构建高度混合高斯地图;另一方面,也可以构建路面高度地图,有助于后续采用该地图进行定位。
图9示出了步骤20后构建路面高度地图步骤的流程示意图,具体可以包括:
步骤50:基于每个所述道路单元的所述子点云数据,构建每个所述道路单元对应的道路单元高度地图。
在获得子点云数据之后,可以对子点云数据中每个数据点进行语义分割,以获得语义点云数据。例如,激光雷达获得的图像中包括车辆、行人、道路以及斑马线等,此时语义类型至少包括车、人、道路以及斑马线,通过对点云数据中每个数据点的语义类型进行标注,使得每个数据点具有其对应的语义类型,此时具有语义类型的数据点构成语义点云数据。在获得语义点云数据以后,需要对从语义点云数据中筛选出语义类型为路面的点云数据,以获取语义点云数据中的路面点云数据。
对于多层道路场景中的道路地图,不同的道路单元可能分布在不同高度上,因此可以根据高度分布来对应构建道路单元的高度地图。在本实施例中,在获得了每个道路单元的子点云数据中的路面点云数据后,可以获得每个数据点的高度值,从而可以根据数据点的高度值来构建对应的道路单元高度地图。
步骤60:将每个所述道路单元对应的道路单元高度地图进行合并,获得路面高度地图。
在获得各道路单元高度地图后,需要将各子点云数据对应的道路单元高度地图进行合并,以形成路面高度地图。在后续进行定位时,可以根据获取的点云数据的高度值在路面高度地图中进行定位,从而可以获取对应高度的道路信息,而不用获取其他无关的道路信息,定位准确度更高,定位过程中数据传输量和计算量更小。
图10示出了如图9所示的实施例中构建每个道路单元对应的道路单元高度地图步骤的流程示意图。
如图10和图11所示,在上述图9所示实施例的基础上,本申请一个示例性实施例中,步骤50具体可以包括:
步骤501:针对每个所述道路单元的所述子点云数据中的路面点云数据,按照预设方式将所述路面点云数据的数据点分配至多个单位空间。
在本实施例中,单位空间的尺寸可以根据需要进行设置,例如,可以将一个道路单元的路面点云数据所在的平面空间(与数据点的高度相垂直的平面)看做是一个单位空间,此时所有的数据点均位于该单位空间中。再如,可以将一个道路单元的路面点云数据所在的平面空间划分为多个单位空间,然后加载数据点,使得数据点落入各单位空间中,实现对数据点的分配。
在设置单位空间后,可以对每一个单位空间的位置坐标进行标记。例如,可以选择单位空间中某一个点的坐标作为该单位空间的位置坐标,该点可以是单位空间的中心点,也可以是一条边上的某一点,还可以是某一顶点。在本实施例中,优选将单位空间的中心点的坐标(X,Y)作为该单位空间的位置坐标。
步骤502:获取每个所述单位空间中所有数据点的高度平均值,以获得所述单位空间的高度值。
当单位空间中的数据点只有一个时,则该数据点的高度值即为单位空间的高度值;当单位空间中的数据点有两个以上时,则单位空间的高度值为数据点的高度值的平均值。当然,在其他实施例中,数据点的高度平均值还可以通过其他方式获得,并不仅限于上述的情形。
步骤503:将每个所述单位空间的高度值进行合并,获得每个所述道路单元对应的道路单元高度地图。此处每个单位空间的高度值与其位置坐标(X,Y)相对应。
本实施例在获得了每个子点云数据中路面点云数据对应的道路单元高度地图后,需要对道路单元高度地图进行存储。根据存储方式的不同,混合高斯地图存储时所占用的空间尺寸也会不同。以下以每个单位空间中对应有30个数据点为例进行说明。
目前在进行点云数据存储时,每一个数据点有X、Y、Z三个坐标参数,每个参数占用4个字节,因此30个数据点存储时占用的空间为4*3*30=360字节。
在一个实施例中,道路单元高度地图存储时,单位空间中的数据点的高度用一个坐标参数(即高度平均值)进行表示,每个坐标参数占用4个字节,因此高度方向的坐标参数占用的空间为:4*1=4字节。单位空间中的数据点用单位空间的位置坐标(例如中心点的X、Y坐标)进行表示,每个坐标参数占用4个字节,因此数据点的坐标占用空间为:4*2=8字节。因此30个数据点存储时占用的空间为4+8=12字节。通过这种方式存储道路单元高度地图时,极大减少了地图存储的数据量,从而减小地图占用的存储空间。
在构建了高度混合高斯地图后,可以将高度混合高斯地图用于定位。例如汽车在行驶过程中,需要实时获取三维点云数据,并根据获取的点云数据结合构建的语义混合高斯地图进行定位。因此,在上述步骤40后,还可以包括:
步骤70:确定实时点云数据与所述高度混合高斯地图的匹配度。
实时点云数据可以通过多种方式获得,例如可以通过安装在载具上的激光雷达或者相机获得,载具可以是汽车,也可以是其他设备,此处不做限制。载具在移动的过程中,可以通过激光雷达按照预设频率(例如10Hz)获取实时点云数据,实时点云数据中包括多个数据点(当然,根据实际情况,也可以只包括1个数据点),将数据点与高度混合高斯地图进行匹配,并根据匹配度来确定载具当前所在的位置,从而实现对载具的定位。
本实施例构建的高度混合高斯地图可以存储在云端,在进行载具的定位时,可以实时获取高度混合高斯地图,从而实现定位。应当理解的是,在定位的过程中,可以根据路面高度地图确定载具所在的高度位置,从而确定需要加载的在该高度位置的高度混合高斯地图;同时,在加载高度混合高斯地图时,可以根据道路单元之间的拓扑关系,加载与当前道路单元相连接的其他道路单元,而与当前道路单元不相连的道路单元则不加载,从而避免了将跟当前行驶路线完全不相干的上层或者下层道路引入,有助于提高实时定位的稳定性和定位精度。
示例性装置
图12是本申请一示例性实施例提供的地图构建装置的示意图,包括道路单元获取模块81、子点云获取模块82、第一构件模块83以及第二构件模块84。其中,道路单元获取模块81用于将道路拆分成至少一个道路单元;子点云获取模块82用于获取每个所述道路单元对应的子点云数据;第一构件模块83用于针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图;第二构件模块84用于基于每个所述道路单元对应的混合高斯地图,获得高度混合高斯地图。
进一步地,请参阅图13,道路单元获取模块81包括轨迹获取单元811以及拆分单元812。其中,轨迹获取单元811用于获取点云数据形成的轨迹中的道路以及所述道路上载具的运行轨迹;拆分单元812用于根据所述载具的运行轨迹,将所述道路拆分成至少一个道路单元,并获取所述道路单元之间的拓扑信息。
进一步地,请参阅图14,第一构件模块83包括数据分配单元831、第一获取单元832以及第二获取单元833。其中,数据分配单元831用于针对每个所述道路单元的所述子点云数据,按照预设方式将所述子点云数据的数据点分配至至少一个单位空间;第一获取单元832用于对每个所述单位空间中的数据点的高度进行高斯拟合,以获得所述单位空间中的数据点的混合高斯分布;第二获取单元833用于基于每个所述单位空间的所述混合高斯分布,获得每个所述道路单元的所述子点云数据对应的混合高斯地图。
进一步地,请参阅图15,地图构建装置还包括单元高度地图构建模块85以及路面高度地图获取模块86。其中,单元高度地图构建模块85用于基于每个所述道路单元的所述子点云数据,构建每个所述道路单元对应的道路单元高度地图;路面高度地图获取模块86用于将每个所述道路单元对应的道路单元高度地图进行合并,获得路面高度地图。
进一步地,地图构建装置还包括匹配模块87,匹配模块87用于确定实时点云数据与所述高度混合高斯地图的匹配度。
示例性电子设备
下面,参考图16来描述根据本申请实施例的电子设备。图16图示了根据本申请实施例的电子设备的框图。
如图16所示,电子设备90包括一个或多个处理器91和存储器92。
处理器91可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备90中的其他组件以执行期望的功能。
存储器92可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器91可以运行所述程序指令,以实现上文所述的本申请的各个实施例的地图构建方法以及/或者其他期望的功能。
在一个示例中,电子设备90还可以包括:输入装置93和输出装置94,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入装置93还可以包括例如键盘、鼠标等。该输出装置94可以向外部输出各种信息。该输出装置94可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等。
当然,为了简化,图16中仅示出了该电子设备90中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备90还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的地图构建方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的地图构建方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (8)
1.一种地图构建方法,包括:
将道路拆分成至少一个道路单元;
获取每个所述道路单元对应的子点云数据;
针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图;
基于每个所述道路单元对应的混合高斯地图,获得高度混合高斯地图;所述高度混合高斯地图用于载具的实时定位;
所述将道路拆分成至少一个道路单元,包括:
获取点云数据形成的轨迹中的道路以及所述道路上载具的运行轨迹;
根据所述载具的运行轨迹对应获取所述载具的位姿,将所述载具的位姿与道路进行关联,以根据所述载具的位姿变化将所述道路拆分成至少一个道路单元,每个所述道路单元中载具的位姿相同,并获取所述道路单元之间的拓扑信息,所述道路单元之间的拓扑信息用于:在所述载具的实时定位过程中,根据所述道路单元之间的拓扑关系,仅加载与当前道路单元相连接的其他道路单元;
所述获取每个所述道路单元对应的子点云数据步骤后,还包括:
基于每个所述道路单元的所述子点云数据,构建每个所述道路单元对应的道路单元高度地图;
将每个所述道路单元对应的道路单元高度地图进行合并,获得路面高度地图,所述路面高度地图用于:在所述载具的实时定位过程中,根据所述路面高度地图确定所述载具所在的高度位置,以确定需要加载的对应所述高度位置的所述高度混合高斯地图。
2.根据权利要求1所述的方法,其中,所述针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图,包括:
针对每个所述道路单元的所述子点云数据,按照预设方式将所述子点云数据的数据点分配至至少一个单位空间;
对每个所述单位空间中的数据点的高度进行高斯拟合,以获得所述单位空间中的数据点的混合高斯分布;
基于每个所述单位空间的所述混合高斯分布,获得每个所述道路单元的所述子点云数据对应的混合高斯地图。
3.根据权利要求2所述的方法,其中,所述针对每个所述道路的所述子点云数据,按照预设方式将所述子点云数据的数据点分配至至少一个单位空间,包括:
在与所述数据点的高度相垂直的平面内,按照预设单位尺寸将地图空间分割为至少一个单位空间;
在若干所述单位空间中加载对应的子点云数据。
4.根据权利要求3所述的方法,其中,所述混合高斯地图包括每个单位空间的中心点对应的坐标、该单位空间中数据点的高斯分布信息以及语义类型。
5.根据权利要求1所述的方法,其中,所述基于每个所述道路单元的所述子点云数据,构建每个所述道路单元对应的道路单元高度地图,包括:
针对每个所述道路单元的所述子点云数据,按照预设方式将所述子点云数据的数据点分配至多个单位空间;
获取每个所述单位空间中所有数据点的高度平均值,以获得所述单位空间的高度值;
将每个所述单位空间的高度值进行合并,获得每个所述道路单元的所述子点云数据对应的道路单元高度地图。
6.一种地图构建装置,包括:
道路单元获取模块,用于将道路拆分成至少一个道路单元;
子点云获取模块,获取每个所述道路单元对应的子点云数据;
第一构件模块,用于针对每个所述道路单元对应的所述子点云数据,构建对应的混合高斯地图;
第二构件模块,用于基于每个所述道路单元对应的混合高斯地图,获得高度混合高斯地图,所述高度混合高斯地图用于载具的实时定位;
所述道路单元获取模块包括轨迹获取单元以及拆分单元;
所述轨迹获取单元用于:获取点云数据形成的轨迹中的道路以及所述道路上载具的运行轨迹;
所述拆分单元用于:根据所述载具的运行轨迹对应获取所述载具的位姿,将所述载具的位姿与道路进行关联,以根据所述载具的位姿变化将所述道路拆分成至少一个道路单元,每个所述道路单元中载具的位姿相同,并获取所述道路单元之间的拓扑信息,所述道路单元之间的拓扑信息用于:在所述载具的实时定位过程中,根据所述道路单元之间的拓扑关系,仅加载与当前道路单元相连接的其他道路单元;
所述地图构建装置还包括单元高度地图构建模块和路面高度地图获取模块;
所述单元高度地图构建模块用于:基于每个所述道路单元的所述子点云数据,构建每个所述道路单元对应的道路单元高度地图;
所述路面高度地图获取模块用于:将每个所述道路单元对应的道路单元高度地图进行合并,获得路面高度地图,所述路面高度地图用于:在所述载具的实时定位过程中,根据所述路面高度地图确定所述载具所在的高度位置,以确定需要加载的对应所述高度位置的所述高度混合高斯地图。
7.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-5任一所述的地图构建方法。
8.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-5任一所述的地图构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060372.2A CN112747756B (zh) | 2019-10-30 | 2019-10-30 | 一种地图构建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060372.2A CN112747756B (zh) | 2019-10-30 | 2019-10-30 | 一种地图构建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112747756A CN112747756A (zh) | 2021-05-04 |
CN112747756B true CN112747756B (zh) | 2023-04-07 |
Family
ID=75644979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911060372.2A Active CN112747756B (zh) | 2019-10-30 | 2019-10-30 | 一种地图构建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112747756B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122465A (zh) * | 2006-08-11 | 2008-02-13 | 株式会社电装 | 导航设备 |
CN101685017A (zh) * | 2008-09-27 | 2010-03-31 | 阿尔派株式会社 | 导航装置及其显示方法 |
CN102782452A (zh) * | 2010-05-24 | 2012-11-14 | 三菱电机株式会社 | 导航装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011023244A1 (en) * | 2009-08-25 | 2011-03-03 | Tele Atlas B.V. | Method and system of processing data gathered using a range sensor |
CN104916133B (zh) * | 2015-06-09 | 2017-01-25 | 福建工程学院 | 一种基于交通轨迹数据的道路海拔信息提取方法及系统 |
CN110226186B (zh) * | 2016-12-26 | 2023-08-04 | 宝马股份公司 | 表示地图元素的方法和装置以及定位的方法和装置 |
CN108765487B (zh) * | 2018-06-04 | 2022-07-22 | 百度在线网络技术(北京)有限公司 | 重建三维场景的方法、装置、设备和计算机可读存储介质 |
CN109186625B (zh) * | 2018-10-24 | 2020-05-05 | 北京奥特贝睿科技有限公司 | 智能车辆利用混合采样滤波进行精确定位的方法及系统 |
CN110221616A (zh) * | 2019-06-25 | 2019-09-10 | 清华大学苏州汽车研究院(吴江) | 一种地图生成的方法、装置、设备及介质 |
-
2019
- 2019-10-30 CN CN201911060372.2A patent/CN112747756B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122465A (zh) * | 2006-08-11 | 2008-02-13 | 株式会社电装 | 导航设备 |
CN101685017A (zh) * | 2008-09-27 | 2010-03-31 | 阿尔派株式会社 | 导航装置及其显示方法 |
CN102782452A (zh) * | 2010-05-24 | 2012-11-14 | 三菱电机株式会社 | 导航装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112747756A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694903A (zh) | 地图构建方法、装置、设备以及可读存储介质 | |
CN110766793B (zh) | 一种基于语义点云的地图构建方法及装置 | |
CN110378175B (zh) | 道路边沿的识别方法和装置 | |
CN114764778A (zh) | 一种目标检测方法、目标检测模型训练方法及相关设备 | |
CN108734780A (zh) | 用于生成地图的方法、装置和设备 | |
CN114219276A (zh) | 一种仓储物流的仿真方法、装置、设备及存储介质 | |
CN113032132A (zh) | 一种基于云边端架构的时空数据可视化任务执行方法 | |
AU2019361874B2 (en) | Automatically pairing GPS data to planned travel routes of mobile objects | |
CN112747756B (zh) | 一种地图构建方法及装置 | |
CN112906081A (zh) | 一种规划仓库布局的方法和装置 | |
CN114581871A (zh) | 一种目标物体的检测方法和装置 | |
CN110490926B (zh) | 标高确定方法、装置和电子设备 | |
US11823039B2 (en) | Safe and fast exploration for reinforcement learning using constrained action manifolds | |
US20230185881A1 (en) | Stepwise uncertainty-aware offline reinforcement learning under constraints | |
CN109254857A (zh) | 一种共享内存的调整方法、装置、设备和介质 | |
CN113804208B (zh) | 无人车路径优化方法及相关设备 | |
CN113872798A (zh) | 空间网络拓扑图的构建方法、装置、存储介质及电子设备 | |
CN113516013A (zh) | 目标检测方法、装置、电子设备、路侧设备和云控平台 | |
CN113806862B (zh) | 无人车仿真方法、装置、存储介质及电子设备 | |
CN111935642B (zh) | 一种可移动设备的定位方法及装置 | |
US11244567B2 (en) | Method of determining if an object is allowed to board or disembark a vehicle at a vehicle stop | |
CN113011823A (zh) | 装箱方法、装置、电子设备以及存储介质 | |
CN114764860A (zh) | 一种特征提取方法、装置、计算机设备及存储介质 | |
CN114692958A (zh) | 物品陈列方法、装置、电子设备和计算机可读介质 | |
CN113129437A (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 |