掌桥专利:专业的专利平台
掌桥专利
首页

一种建图方法、设备、车辆及程序产品

文献发布时间:2024-04-18 19:55:00


一种建图方法、设备、车辆及程序产品

技术领域

本申请涉及高精地图技术领域,尤其涉及一种建图方法、设备、车辆及程序产品。

背景技术

随着人工智能技术的快速发展,自动驾驶和移动机器人受到越来越广泛地关注。在自动驾驶中或在移动机器人移动中,通过建图(Mapping)技术可以对空间场景进行构建,以便定位使用。

建图是通过使用激光雷达或摄像头等传感器对周围环境进行数据采集,实现空间构建。激光雷达具有测距、精度高、不受光线影响等特性,从而被广泛应用于建图过程中。

相关技术中,使用激光雷达采集环境信息进行建图时,单帧点云所包含环境场景的信息不全,因而,通常将多帧点云拼接得到高精地图。但是,在该拼接的过程中,需要对各帧点云进行配准,配准的计算量大,建图效率低。

因此,如何提高建图效率,成为亟待解决的问题。

发明内容

本申请实施例中的一种建图方法、设备、车辆及程序产品,用以提高建图效率。

本申请实施例中的一种建图方法,所述方法包括:

获取预先采集的增量点云,所述增量点云用于对预先构建的高精地图中所包含的点云进行更新;

根据所述增量点云中点的位置信息,对所述增量点云进行特征提取,得到所述增量点云对应的特征图,所述特征图上的特征区域和所述增量点云中的点之间存在映射关系;

根据所述特征图中各特征区域的指定参数,在所述特征图上确定指定参数满足第一预设条件的特征区域,作为目标特征区域,并根据所述映射关系,从所述增量点云中选择出对应于所述目标特征区域的点,作为目标点;

确定所述增量点云与待更新的所述高精地图中所包含的点云之间的相对位姿,并将以所述相对位姿变换后的目标点加入所述高精地图所包含的点云中,以对所述高精地图进行更新。

本申请实施例中的一种建图设备,包括:处理器和存储器;其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;当所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

获取预先采集的增量点云,所述增量点云用于对预先构建的高精地图中所包含的点云进行更新;

根据所述增量点云中点的位置信息,对所述增量点云进行特征提取,得到所述增量点云对应的特征图,所述特征图上的特征区域和所述增量点云中的点之间存在映射关系;

根据所述特征图中各特征区域的指定参数,在所述特征图上确定指定参数满足第一预设条件的特征区域,作为目标特征区域,并根据所述映射关系,从所述增量点云中选择出对应于所述目标特征区域的点,作为目标点;

确定所述增量点云与待更新的所述高精地图中所包含的点云之间的相对位姿,并将以所述相对位姿变换后的目标点加入所述高精地图所包含的点云中,以对所述高精地图进行更新。

在一些实现方式中,上述处理器执行的方法形成程序后,各个程序功能模块对应的硬件执行模块可包括:获取模块、特征提取模块、选取模块及更新模块;所述获取模块与所述特征提取模块、所述选取模块及所述更新模块相连,其中:

所述获取模块,用于获取预先采集的增量点云,所述增量点云用于对预先构建的高精地图中所包含的点云进行更新;

所述特征提取模块,用于根据所述增量点云中点的位置信息,对所述增量点云进行特征提取,得到所述增量点云对应的特征图,所述特征图上的特征区域和所述增量点云中的点之间存在映射关系;

所述选取模块,用于根据所述特征图中各特征区域的指定参数,在所述特征图上确定指定参数满足第一预设条件的特征区域,作为目标特征区域,并根据所述映射关系,从所述增量点云中选择出对应于所述目标特征区域的点,作为目标点;

所述更新模块,用于确定所述增量点云与待更新的所述高精地图中所包含的点云之间的相对位姿,并将以所述相对位姿变换后的目标点加入所述高精地图所包含的点云中,以对所述高精地图进行更新。

可选的,所述特征提取模块具体用于:

确定所述增量点云中的各点在第一坐标轴上的各第一坐标值,以及所述增量点云中的各点在第二坐标轴上的各第二坐标值;

以各第一坐标值为第一索引,并以各第二坐标值为第二索引,构建特征矩阵;其中,所述特征矩阵中的元素值根据该元素值对应的各点各自的距离值确定,针对所述特征矩阵中的每个元素值,该元素值对应的点为所述增量点云中第一坐标值为该元素值对应的第一索引且第二坐标值为该元素值对应的第二索引的各点。

可选的,所述特征图包含N张,其中,自第一特征图至第N特征图,特征图中所包含的数据量依次减小,并且相邻的两个特征图上的特征区域之间存在映射关系;

所述选取模块具体用于:

在第N特征图上确定指定参数满足第一预设条件的特征区域;

根据相邻的两个特征图上的特征区域之间的映射关系,以自第N特征图至第一特征图的顺序,将所述第N特征图上的目标特征区域依次映射至各特征图上,得到各特征图上的目标特征区域;

根据第一特征图上的目标特征区域,以及所述第一特征图上的特征区域和所述增量点云中的点之间的映射关系,从所述增量点云中选择出对应于所述目标特征区域的点。

可选的,所述特征提取模块具体用于:

根据所述增量点云中点的位置信息,对所述增量点云进行特征提取,得到第一特征图;

以所述第一特征图为待提取特征图,对所述待提取特征图进行特征提取,得到数据量小于第一特征图的第二特征图,其中,所述第二特征图上的特征区域和第一特征图上的特征区域之间存在映射关系;

将所述第二特征图重新作为待提取特征图,继续对所述待提取特征图进行特征提取,直到得到满足第二预设条件的第N特征图。

可选的,所述设备还包括:

构建模块,用于获取预先采集的初始点云;

根据所述初始点云中点的位置信息,对所述初始点云进行特征提取,得到所述初始点云对应的初始特征图,所述初始特征图上的特征区域和所述初始点云中的点之间存在映射关系;

根据所述初始特征图中各特征区域的指定参数,在所述初始特征图上确定指定参数满足第三预设条件的特征区域,作为初始特征区域,并根据所述映射关系,从所述初始点云中选择出对应于所述初始特征区域的点;

基于所选择出的对应于所述初始特征区域的各点,构建高精地图。

可选的,所述增量点云为若干个点云采集设备在同一时刻采集到的点云的集合。

可选的,所述指定参数为平滑度;每个特征区域的平滑度用于表示所述特征区域与相邻特征区域对应的点之间的距离差异大小;

所述选取模块具体用于:

将所述特征图中,对应平滑度大于预设平滑度阈值的特征区域,作为所述特征图对应的目标特征区域。

本申请实施例中的一种车辆,所述车辆包括如上述任一项所述的建图设备。

本申请实施例中的一种计算机程序产品,包括计算机程序,当所述计算机程序被处理器执行时实现如上述任意一种建图方法。

可选的,计算机可读存储介质可以作为计算机程序产品的一种实现,即本申请实施例还提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序被处理器执行时实现如上述任意一种建图方法。

本申请实施例中的一种电子设备,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种建图方法的步骤。

本申请有益效果如下:

本申请实施例提供了一种建图方法、设备、车辆及程序产品。在本申请实施例中,对高精地图进行更新前,需要对采集到的增量点云进行筛选,而并非基于所有的增量点云进行地图更新,具体的,基于增量点云中各点的位置信息构建相应的特征图,特征图上的每个特征区域都对应有一个指定参数,基于此,可对特征图上的特征区域进行筛选,筛选出目标特征区域,最后根据特征区域与增量点云中点的映射关系,从增量点云中选择出对应于目标特征区域的点,作为目标点,该方式下,仅需基于目标点进行高精地图的更新,而非全部点云,可以有效减少计算量,提高建图效率。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本申请实施例中的一种应用场景示意图;

图2为本申请实施例中的一种建图方法的实施流程图;

图3为本申请实施例中的一种各层距离矩阵的排列方式示意图;

图4为本申请实施例中的又一种各层距离矩阵的排列方式示意图;

图5为本申请实施例中的一种距离矩阵示意图;

图6为本申请实施例中的一种建图方法的具体实施流程示意图;

图7为本申请实施例中的一种构建高精地图的具体实施流程示意图;

图8为本申请实施例中的一种建图设备的组成结构示意图;

图9为本申请实施例中的一种电子设备的组成结构示意图;

图10为应用本申请实施例的一种计算装置的一个硬件组成结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。

下面对本申请实施例中涉及的部分概念进行介绍。

载具:是指安装有激光雷达的可移动载体,例如,自动驾驶车辆、移动机器人平台等。

载具坐标系:是指以载具中心为原点的坐标系,例如,对于自动驾驶车辆而言,载具坐标系是指以车辆后轴中心为原点的坐标系;对于移动机器人而言,载具坐标系是指以质量或运动中心为原点的坐标系。

点云集合:是指将各颗激光雷达各自采集到的同一帧点云,进行组合得到的集合。

感兴趣区域(Region Of Interest,ROI):在机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域。在本申请一示例性实施例中,ROI区域是从特征图中筛选出的目标特征区域。在特征图为距离矩阵这种特征矩阵形式时,ROI区域是指距离矩阵中,平滑度大于预设阈值的元素所构成的区域。

距离矩阵:是一个包含一组点两两之间距离的矩阵。在本申请实施例中,距离矩阵是特征矩阵的一种表现形式,特征矩阵是特征图的一种表现形式,距离矩阵的各元素可能对应1个或者多个点,也可能没有点。本申请中,距离矩阵包含多层,各层距离矩阵中的数据量(也即元素的数量)不同;自第一距离矩阵至第N距离矩阵,距离矩阵中所包含的数据量依次减小,即第一距离矩阵包含的所包含数据量最多,第N距离矩阵包含的所包含数据量最少;并且相邻的两层距离矩阵上的元素之间存在映射关系。元素值即距离矩阵上元素所对应的具体数值,由于该元素值本质上表征的仍是距离,也可称作距离值。

时间软同步:是指不同颗激光雷达扫描时间是不一致的,接收端接收雷达帧数据时间也是不一致的,需要将多颗激光雷达扫描到的点云调整到统一的时间下。

索引:是指特征矩阵中的各元素对应的标识信息,如二维矩阵可通过(x,y)表示各元素对应的索引,其中x表示行号(即行索引),y表示列号(即列索引)。在本申请实施例中,第一索引与第二索引的其中一个可表示为行索引,另一个可表示为列索引。

以下结合说明书附图对本申请的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本申请不对建图时机进行具体限定,本申请实施例中的建图方法,不仅适用于高精地图的初次构建,还适用于高精地图的迭代更新,无论是初次构建或是迭代更新的过程中,都可基于部分点云进行建图,可以有效减少计算量,提高建图效率。

参阅图1所示,其为本申请实施例中的一种应用场景示意图。该应用场景图包括一个建图设备110和n个点云采集设备120,n为大于等于1的正整数。

可选的,点云采集设备120可以安装在载具上,在载具行驶过程中,由建图设备110获取各点云采集设备120各自采集的点云,组合得到初始点云或增量点云。

可选的,初始点云或增量点云,都是由若干个点云采集设备在同一时刻采集到的点云的集合。

在本申请实施例中,建图设备110可基于初始点云预先构建高精地图,之后,建图设备110则可基于获取到的增量点云更新该高精地图。

具体的更新过程为:建图设备110可基于获取到的增量点云构建特征图,特征图上的特征区域和增量点云中的点之间存在映射关系,在从该特征图中选取目标特征区域后,基于该目标特征区域对应的目标点,进行高精地图的更新。

需要说明的是,本申请各实施例中的建图方法可以由建图设备110执行,该建图设备110可以为终端设备或者服务器,即,该方法可以由终端设备或服务器单独执行,也可以由终端设备和服务器共同执行。当建图设备110为终端设备时,基于本申请实施例所提供的建图方法对高精地图进行更新后,应用更新后的高精地图进行定位的设备与建图设备110可以为同一终端设备,也可以为不同的终端设备,本说明书对此不作限制。

在本申请实施例中,终端设备包括但不限于笔记本电脑、台式电脑等设备;终端设备上可以安装建图相关的客户端,该客户端可以是软件(例如浏览器、建图软件等),也可以是网页、小程序等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

在一种可选的实施方式中,建图设备110与点云采集设备120之间可以通过通信网络进行通信。

在一种可选的实施方式中,通信网络是有线网络或无线网络。

需要说明的是,图1所示只是举例说明,实际上建图设备、点云采集设备的数量均不受限制,在本申请实施例中不做具体限定。

下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的建图方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。

本申请实施例提供一种建图方法,可应用于建图设备,参阅图2所示,其为本申请实施例中的一种建图方法的实施流程图,该方法的具体实施流程包括如下步骤S201-S204:

S201:获取预先采集的增量点云,增量点云用于对预先构建的高精地图中所包含的点云进行更新。

在本申请实施例中,增量点云可通过点云采集设备采集得到,包括但不限于激光雷达、摄像头、相机等。如可将增量点云安装于载具上,在载具行驶过程中采集点云并发送给建图设备。

在该步骤中,预先采集的增量点云可以是当前时刻之前的一段时间采集的,如在载具行驶过程中,点云采集设备无需实时发送给建图设备,而是将采集到的点云数据进行缓存,建图设备需要与点云采集设备之间进行点云数据的传输时,从缓存中获取增量点云即可;又或者,该预先采集的增量点云也可以是实时采集到的,如在载具行驶过程中,点云采集设备实时采集点云数据并传输给建图设备,以进行实时建图。

需要说明的是,上述任意一种实施方式都适用于本申请实施例,本说明书对此不作限制。

在本申请实施例中,预先构建的高精地图包含点云和点云中的点的位置信息,其中,该高精地图所包含的点云可以是由若干帧拼接得到的,也可以是只有一帧的。

此外,该高精地图可以是已经投入使用的,也可以是初始化的,本说明书对此不作限制。

可选的,增量点云为若干个点云采集设备在同一时刻采集到的点云的集合,如由一个或多个激光雷达采集到的同一帧点云的集合。

S202:根据增量点云中点的位置信息,对增量点云进行特征提取,得到增量点云对应的特征图,特征图上的特征区域和增量点云中的点之间存在映射关系。

其中,点的位置信息是指点云采集设备采集过程中,基于点云采集设备的位姿和点在点云采集设备坐标系中的位置推算出来的。以激光雷达采集点云为例,在激光雷达采集的过程中,激光雷达自身的位姿是已知的,且点在雷达坐标系中的位置也是已知的,基于此,即可推算出点的位置信息。

在获取到增量点云后,可以对增量点云中各点以及点的位置信息进行特征提取,以得到提取出包含各点位置信息的特征图,在本申请实施例中,一个特征图上包含至少一个特征区域,该特征区域可以理解为特征图上的单位区域,特征区域的数量越多,特征图中所包含的数据量也就越多。

具体的,特征图上的特征区域和增量点云中的点之间存在一定的映射关系,当然,单位区域和点之间的映射关系可以是一个单位区域对应于一个点,也可以是一个单位区域对应于多个点,还可以是一个点对应于多个单位区域,又或者,一个单位区域不存在对应的点,本说明书对此不作限定。

仅示例性的,特征图上的一个单位区域对应于多个点,如映射于同一特征区域的点之间的位置存在一定的相关性,如俯仰角相同,或是水平角相同,等等。

一种可选的实施方式为,按照如下子步骤实施步骤S202,具体包括S2021-S2022(图2中未示出):

S2021:确定增量点云中的各点在第一坐标轴上的各第一坐标值,以及增量点云中的各点在第二坐标轴上的各第二坐标值。

S2022:以各第一坐标值为第一索引,并以各第二坐标值为第二索引,构建特征矩阵;其中,特征矩阵中的元素值根据该元素值对应的各点各自的距离值确定,针对特征矩阵中的每个元素值,该元素值对应的点为增量点云中第一坐标值为该元素值对应的第一索引且第二坐标值为该元素值对应的第二索引的各点。

其中,每个点的距离(也称距离值),表示该点到坐标系原点的距离。

其中,特征矩阵为本申请实施例中特征图的一种表现形式。

例如,第一坐标轴对应特征矩阵中的行,第一坐标值即表示矩阵中的行号,第一索引也即行索引;第二坐标轴对应特征矩阵中的列,第二坐标值即表示矩阵中的列号,第二索引也即列索引。反之亦可,本说明书对此不作限制。

在本申请实施例中,点的位置信息包括但不限于下列的部分或全部:

俯仰角、水平角。

基于此,在步骤S2021中,对于每个点,可根据该点的俯仰角,确定该点所对应的第一坐标值,根据该点的水平角,确定该点所对应的第二坐标值,基于此,俯仰角相同的点所对应的行索引相同,也即对应特征矩阵中的同一行,水平角相同的点所对应的列索引相同,也即对应特征矩阵中的同一列,水平角和俯仰角都相同的点对应特征矩阵中的同一个元素值。

需要说明的是,在点云采集设备只有一个的情况下,在同一时刻一般不会采集到水平角和俯仰角都相同的点(也即同一个点),因而,也不会存在多个点对应特征矩阵中同一元素值的情况;而在点云采集设备有多个的情况下,则可能存在多个点对应特征矩阵中同一元素值的情况,该情况下,则需要先将多个点云采集设备采集到的点云转换至同一坐标系(下文会进行详细说明,在此不再重复赘述)。

S203:根据特征图中各特征区域的指定参数,在特征图上确定指定参数满足第一预设条件的特征区域,作为目标特征区域,并根据映射关系,从增量点云中选择出对应于目标特征区域的点,作为目标点。

在本申请实施例中,特征图上的每个特征区域都对应有一个指定参数,该指定参数具体是根据映射于对应的特征区域内的点的位置信息确定的,如根据点之间的距离确定。

具体地,可基于该指定参数,从特征图中筛选出指定参数满足第一预设条件的目标特征区域,进而,基于特征区域与点之间的映射关系,从增量点云中选取出目标点,该方式可有效实现点的筛选,减少计算量。

一种可选的实施方式为,特征图包含N张,其中,自第一特征图至第N特征图,特征图中所包含的数据量依次减小,并且相邻的两个特征图上的特征区域之间存在映射关系。

其中,每相邻两个特征图上的特征区域之间的映射关系,一般可以表示为所包含数据量较多的特征图上多个相邻的特征区域,对应所包含数据量较少的特征图上的一个特征区域,具体是几个对应一个可根据实际需求而定,本说明书对此不作限制,下文是以4对1为例进行举例说明的。

需要说明的是,这N张特征图的排列方式本说明书对此不作限制,如第一特征图可位于底部,第N特征图可位于顶部,即自底向上,分别为第一特征图、第二特征图、…、第N特征图。反之亦可,如第一特征图位于顶部,第N特征图位于底部,即自顶向下,分别为第一特征图、第二特征图、…、第N特征图。

在存在N张特征图的情况下,步骤S203包括如下子步骤S2031-S2033(图2中未示出):

S2031:在第N特征图上确定指定参数满足第一预设条件的特征区域;

S2032:根据相邻的两个特征图上的特征区域之间的映射关系,以自第N特征图至第一特征图的顺序,将第N特征图上的目标特征区域依次映射至各特征图上,得到各特征图上的目标特征区域;

S2033:根据第一特征图上的目标特征区域,以及第一特征图上的特征区域和增量点云中的点之间的映射关系,从增量点云中选择出对应于目标特征区域的点。

也即,在存在N张特征图的情况下,只需在所包含数据量最少的第N特征图上选出特征区域,进而,根据每相邻两个特征图上的特征区域之间的映射关系,递进式的确定出第一特征图上的目标特征区域。

该过程中,只需求取第N特征图上的目标特征区域,并按照上述映射关系进行简单映射,即可得到各特征图上的目标特征区域,简便快速,计算效率更高。

可选的,指定参数可以表示为平滑度;每个特征区域的平滑度用于表示特征区域与相邻特征区域对应的点之间的距离差异大小。当然,该指定参数也可以是锐度、对比度等等其他参数,本说明书对此不作限制。仅示例性的,本说明书以下以指定参数为平滑度为例进行说明。

在该情况下,选取目标特征区域的过程即为:

将特征图中,对应平滑度大于预设平滑度阈值的特征区域,作为特征图对应的目标特征区域。

以上述第N特征图为例,即分别获取第N特征图上各特征区域的平滑度,进而,将对应平滑度大于预设平滑度阈值的特征区域,组成第N特征图对应的目标特征区域。

在上述实施方式中,使用多张特征图来提取ROI区域,避免了特征贫乏的区域的特征提取计算,有效减少了计算量,提高特征提取效率,建立轻量级特征点级的高精地图。

可选的,在存在N张特征图的情况下,在步骤S202中,对增量点云进行特征提取时,还可通过如下方式实施:

首先,根据增量点云中点的位置信息,对增量点云进行特征提取,得到第一特征图;

进而,以第一特征图为待提取特征图,对待提取特征图进行特征提取,得到数据量小于第一特征图的第二特征图,其中,第二特征图上的特征区域和第一特征图上的特征区域之间存在映射关系;

之后,将第二特征图重新作为待提取特征图,继续对待提取特征图进行特征提取,直到得到满足第二预设条件的第N特征图。

同上述目标特征区域的提取方式类似,这里也是采用递进的方式,一步步逐渐提取得到所包含数据量更小的特征图。

具体地,以第一特征图作为待提取特征图以提取得到第二特征图时,具体可基于每相邻两张特征图上的特征区域之间的映射关系确定,如基于第一特征图上的多个相邻特征区域,对应第二特征图上的一个特征区域,例如,第一特征图上位于第一行第一列的特征区域、位于第一行第二列的特征区域、位于第二行第一列的特征区域、位于第二行第二列的特征区域,这四个相邻的特征区域,对应第二特征图上第一行第一列的特征区域,依次类推即可逐步提取得到所包含数据量更小的特征图,直至得到满足第二预设条件的第N特征图。

其中,第二预设条件可与点云采集设备的数量、点云采集设备的角分辨率、点云采集设备的视场范围及特征图构建工具(如本申请中的建图设备)的算力限制中的至少一种信息相关,用于确定特征图的最大数量。

S204:确定增量点云与待更新的高精地图中所包含的点云之间的相对位姿,并将以相对位姿变换后的目标点加入高精地图所包含的点云中,以对高精地图进行更新。

也即,基于上述方式从增量点云中筛选出目标点之后,即可仅根据目标点对高精地图进行更新。

具体地,基于目标点对高精地图进行更新的过程中,首先需要分析增量点云与待更新的高精地图中的点云(简称为待更新点云)之间的相对位姿,该过程即分析增量点云与待更新点云的旋转平移矩阵,包括旋转矩阵和平移矩阵(刚性变换或欧式变换),以将增量点云变换到待更新点云相同的坐标系下。

在本申请一示例性实施例中,可选取增量点云与待更新点云这两片点云中距离最近的点作为对应点,通过所有对应点对求解旋转矩阵和平移矩阵,并通过不断迭代的方式使两片点云之间的配准误差越来越小,直至满足提前设定的阈值要求或迭代次数。

在获得旋转矩阵和平移矩阵之后,直接根据旋转矩阵和平移矩阵对点云进行变换、拼接即可。

在本申请一示例性实施例中,可通过计算以相对位姿变换后的目标点所组成的点云与待更新点云之间重叠区域的大小,以分析是否拼接成功。其中,重叠区域可以根据点云特征来加权计算。当重叠区域面积或者比例大于一定的阈值,就判定为成功。

可选的,拼接好的点云数据存在多个重叠部分,对于重叠部分,还可采用平均融合或去除重叠的方式进行处理。其中,平均融合就是将重叠部分的点平均起来。去除重叠就是在重叠部分只取其中一帧的数据。

在上述过程完成后所获得的拼接后的点云集合,即更新后的高精地图中所包含的点云,也即下一次更新过程中“待更新的高精地图所包含的点云”,依此类推,即可实现高精地图的不断更新,丰富地图数据。

在一种可选的实施方式中,通过如下方式预先构建高精地图:

首先,获取预先采集的初始点云;进而,根据初始点云中点的位置信息,对初始点云进行特征提取,得到初始点云对应的初始特征图,初始特征图上的特征区域和初始点云中的点之间存在映射关系;进而,根据初始特征图中各特征区域的指定参数,在初始特征图上确定指定参数满足第三预设条件的特征区域,作为初始特征区域,并根据映射关系,从初始点云中选择出对应于初始特征区域的点;最后,基于所选择出的对应于初始特征区域的各点(也可称作初始点),构建高精地图。

该过程和上述所列举的高精地图的更新过程类似,初始点云也可以是若干个点云采集设备所采集的同一时刻点云的集合,继而,采用上述所列举的方式,可得到初始点云对应的初始特征图,该初始特征图也可以是特征矩阵。

并且,该初始特征图也可以有多张(如上述所列举的N张),其中,自第一初始特征图至第N初始特征图,初始特征图中所包含的数据量依次减小,并且相邻的两个初始特征图上的特征区域之间存在映射关系。

在有N张的情况下,则可先从第N初始特征图上筛选出指定参数满足第三预设条件的初始特征区域,如选取第N初始特征图上对应的平滑度大于一定的预设平滑度阈值的特征区域,作为初始特征区域,继而,基于这N张初始特征图中每相邻两层初始特征图上特征区域之间的映射关系,以自第N初始特征图至第一初始特征图的顺序,将第N初始特征图上的初始特征区域依次映射至各初始特征图上,得到各初始特征图上的初始特征区域,继而,根据第一初始特征图上的初始特征区域,以及第一初始特征图上的特征区域和初始点云中的点之间的映射关系,从初始点云中选择出对应于初始特征区域的点,构建高精地图即可。

下面以点云采集设备为激光雷达,特征图为距离矩阵(特征矩阵中的一种)为例,对本申请实施例中的建图方法进行详细说明:

具体的,激光雷达的数量不做限制,可以是一颗,也可以是多颗。下文以多颗激光雷达为例。

本申请中,多颗激光雷达的激光类型和扫描方式中的至少一种可以完全不相同,比如水平扫描包络和畸形扫描包络的激光雷达可以组合使用;多颗激光雷达的激光类型和扫描方式中的至少一种也可以完全相同。多颗激光雷达需满足以下全部条件:1)安装在不可相对载具运动的刚性结构底座上;2)激光雷达的内参已经完成出厂标定且足够准确;3)激光雷达的外参已知且不可改变;4)激光雷达需要做时间软同步。

其中,时间软同步是指不同颗激光雷达扫描时间是不一致的,接收端接收雷达帧数据时间也是不一致的,需要将多颗激光雷达扫描到的点云调整到统一的时间下。载具是指安装有激光雷达的可移动载体,可以为自动驾驶车辆,也可以为移动机器人平台,下文主要是以自动驾驶车辆为例进行详细介绍。

可选的,初始点云或是增量点云是指将各颗激光雷达各自采集到的同一帧点云,进行组合得到的点云集合。本申请以3颗激光雷达为例,获取3颗激光雷达各自采集的n(n≥2)帧点云,将3颗激光雷达的同一帧点云进行组合,可得到1帧初始点云和(n-1)帧增量点云。其中,第1帧初始点云可用于构建初始的高精地图,而后续的(n-1)帧增量点云可对该高精地图进行(n-1)次更新,每一帧增量点云对应一次地图更新。

考虑到多颗激光雷达的情况下,对于多颗激光雷达各自采集的点云,每个点云所在的坐标系是相应的激光雷达坐标系,为了统一不同型号和扫描特性的激光雷达所采集到的点云数据,需要将各帧初始点云或是增量点云(下述统称为点云集合)中的所有点进行坐标转换,转换至统一坐标系中,从而再构建相应的距离矩阵。

本申请实施例中,分别获得各帧点云集合各自对应的距离矩阵时,一种可选的实施方式如下:

对于每帧点云集合,分别执行以下操作(1)至(4):

(1)基于各颗激光雷达的外参数,将该帧点云集合由相应的雷达坐标系转换至载具坐标系。

其中,外参数是指激光雷达的位置和姿态,各颗激光雷达的外参数是已知的,外参数可以通过静态标定方法标定,如使用标靶在室内标定间做静态标定,也可以通过动态标定方法标定,如利用多传感器融合(比如车辆轮速和组合惯导)的动态标定方法进行标定。在自动驾驶车辆上,外参数一般是激光雷达相对于车辆后轴中心,在移动机器人平台上,外参数可以设定为激光雷达相对于质量或运动中心。

载具坐标系是指以载具中心为原点的坐标系,例如,对于自动驾驶车辆而言,载具坐标系是指以车辆后轴中心为原点的坐标系;对于移动机器人而言,载具坐标系是指以质量或运动中心为原点的坐标系。

例如,n颗激光雷达对应的点云集合中,第k帧激光雷达点云集合为

;

其中,

通过上述方式,可将多颗激光雷达对应的点云集合由雷达坐标系转换至载具坐标系后,即可构建该帧点云集合对应的距离矩阵。本申请使用距离矩阵统一了不同型号和扫描特性的激光雷达的特征提取方式。下文主要以第k帧点云集合为例进行详细说明。

本申请中,距离矩阵包括多层时,自第一距离矩阵至第N距离矩阵,距离矩阵中所包含的数据量依次减小,并且相邻的两个距离矩阵上的元素之间存在映射关系。

参阅图3所示,其为本申请实施例中的一种各层距离矩阵的排列方式示意图,在该图中,自底向上,各层距离矩阵中的数据量依次递增。

参阅图4所示,其为本申请实施例中的又一种各层距离矩阵的排列中示意图,在该图中,自顶向下,各层距离矩阵中的数据量依次递增。

下文主要以各层距离矩阵中的数据量递增为例进行说明。

距离矩阵的层数可基于以下至少一种信息确定:

激光雷达的数量、激光雷达的角分辨率、激光雷达的视场范围及矩阵构建工具的算力限制。

其中,激光雷达的角分辨率是指相邻两个激光扫描点之间的角度间隔,一般以度(°)为单位。

激光雷达的视场范围是指激光雷达所能覆盖的范围,通常用角度来表示。如车载激光雷达的视场范围一般是120°。

在本申请实施例中,矩阵构建工具用于构建距离矩阵,属于建图设备,如,可以是车辆的硬件配置,也可以是第三方的工具等,本说明书对此不作限制。

(2)根据该帧点云集合中的各点对应的位置信息,将各点映射至第一距离矩阵中的各个元素。

在本申请实施例中,该位置信息表征点在空间中相对于载具坐标系原点的位置。

可选的,位置信息包括:俯仰角和水平角,点云集合

a、根据该帧点云集合中的各点对应的俯仰角、第一距离矩阵的列分辨率及第一距离矩阵的列索引数,分别确定各点对应的列索引(即第二索引)。

其中,第一距离矩阵表征在多层距离矩阵中,包含所包含数据量最多的距离矩阵。列分辨率为多颗激光雷达中最高的水平角分辨率;列索引数是基于列分辨率和预设水平角确定的,表征相应层距离矩阵的列总数;列索引表征点在相应层距离矩阵中的列号。

第一距离矩阵的列索引数可由如下公式获得:

;

公式中,M

各点对应的列索引可由如下公式获得:

公式中,

b、根据该帧点云集合中的各点对应的水平角、第一距离矩阵的行分辨率及第一距离矩阵的行索引数,分别确定各点对应的行索引(即第一索引)。

其中,行分辨率为多颗激光雷达中最高的俯仰角分辨率;行索引数是基于行分辨率和预设俯仰角确定的,表征相应层距离矩阵的行总数;行索引表征点在相应层距离矩阵中的行号。

第一距离矩阵的行索引数可由如下公式获得:

;

公式中,L

;

公式中,

c、基于各点对应的列索引及行索引,将各点映射至第一距离矩阵中的对应元素。

通过上述过程,可将点云集合

;/>

其中,

(3)基于每个元素对应的各点的距离值及点的个数,确定该元素对应的距离值(也即元素值),获得第一距离矩阵;各点的距离值表征该点到载具坐标系原点的距离。

具体地,点云集合中的任一个点

第一距离矩阵中某一元素对应1个或多个点时,该元素对应的距离值,可用该元素所对应的各点的距离均值表示,公式如下:

;

公式中,

在本申请实施例中,不存在与第一距离矩阵中的某一元素具有映射关系的点时,该元素对应的距离值可设为默认值,如设置为10r

通过上述方式,确定每个元素对应的距离值,可获得第一距离矩阵。

(4)对于每相邻的两层距离矩阵,根据所包含数据量(即元素数量)较多的距离矩阵中的多个第一元素对应的距离值,获得所包含数据量较少的距离矩阵中的一个第二元素对应的距离值;多个第一元素两两相邻。

其中,多个第一元素的数量可以和相邻两层距离矩阵中的所包含数据量的比例相关,也即,和相邻两层距离矩阵的行索引数比例或者列索引数比例相关。

可选的,根据所包含数据量较多的距离矩阵,获得所包含数据量较少的距离矩阵的具体操作如下:

a、将所包含数据量较多的距离矩阵的行索引数的一半,作为所包含数据量较少的距离矩阵的行索引数。

b、将所包含数据量较多的距离矩阵的列索引数的一半,作为所包含数据量较少的距离矩阵的列索引数。

c、将根据所包含数据量较多的距离矩阵中,与第二元素对应的四个相邻的第一元素各自对应的距离值,获得的平均值,作为所包含数据量较少的距离矩阵中的第二元素对应的距离值;多个第一元素在所包含数据量较多的距离矩阵中的索引,是基于一个第二元素在所包含数据量较少的距离矩阵中的索引确定的。

具体地,索引是指距离矩阵中的各元素对应的标识信息,如二维矩阵可通过(x,y)表示各元素对应的索引,其中x表示行号,y表示列号。以距离矩阵为例,本申请实施例中为了将不同层距离矩阵中的元素进行区分,引出了第一元素和第二元素,其中,第一元素是指对于相邻的两个距离矩阵,所包含数据量较多的距离矩阵中的各元素;第二元素是指对于相邻的两个距离矩阵,所包含数据量较少的距离矩阵中的各元素。

具体的,第一元素与第二元素之间的映射关系,是基于第二元素在所包含数据量较少的距离矩阵中的索引确定的。即:第一元素对应的行索引可以为第二元素对应的行索引,也可以为第二元素对应的行索引值加1;第一元素对应的列索引可以为第二元素对应的列索引,也可以为第二元素对应的列索引值加1;根据第一元素对应的行索引和列索引,从而确定第一元素对应的索引。

例如,对于相邻的第一距离矩阵和第二距离矩阵,第一距离矩阵的所包含数据量较多,第二距离矩阵的所包含数据量较少。

第一距离矩阵的行索引数为L,第一距离矩阵的列索引数为M,则第二距离矩阵的行索引数为L/2,第二距离矩阵的列索引数为M/2。

第二距离矩阵中每个元素对应的距离值,公式如下:

;

公式中,

以3层距离矩阵为例,基于相同的方式,可根据第二距离矩阵,获得第三距离矩阵中每个元素对应的距离值,从而获得第三距离矩阵。

参阅图5所示,其为本申请实施例中的一种距离矩阵示意图,第二距离矩阵中的

本申请中,对于每帧点云集合,分别执行以下操作SA1-SA2:

SA1:将第N距离矩阵中,对应平滑度大于相应第一平滑度阈值的各元素所组成的区域,作为第N距离矩阵的感兴趣区域(即目标特征区域)。

其中,第N距离矩阵包含的所包含数据量最少,第一距离矩阵包含的所包含数据量最多。

第一平滑度阈值可以有多个,其个数与距离矩阵的层数有关。每层距离矩阵相应的第一平滑度阈值可以不同。

每层距离矩阵对应的平滑度表征相应层距离矩阵中的每个元素对应的平滑度,可通过下列方式确定各层距离矩阵各自对应的平滑度:

对于每层距离矩阵中的每个元素,分别执行以下操作:

根据该元素对应的距离值,及该元素的相邻元素对应的距离值之差,确定元素的平滑度。

例如,以3层距离矩阵为例,N=3。每层距离矩阵都各自对应有一个第一平滑度阈值,如第三距离矩阵对应的第一平滑度阈值可记为s

首先,从第三距离矩阵开始,第三距离矩阵中每个元素对应的平滑度可用如下公式计算:

;

公式中,

第三距离矩阵相应第一平滑度阈值为s

SA2:对于每相邻的两层距离矩阵,根据所包含数据量较少的距离矩阵的感兴趣区域及所包含数据量较多的距离矩阵对应的平滑度,提取所包含数据量较多的距离矩阵的感兴趣区域。

具体地,根据所包含数据量较少的距离矩阵的感兴趣区域,确定在所包含数据量较多的距离矩阵中相应元素所组成的候选区域;所包含数据量较多的距离矩阵的候选区域中的多个第一元素,与所包含数据量较少的距离矩阵的感兴趣区域中的一个第二元素相对应,多个第一元素两两相邻。

将所包含数据量较多的距离矩阵的候选区域中,对应平滑度大于相应第一平滑度阈值的各元素所组成的区域,作为所包含数据量较多的距离矩阵的感兴趣区域。

例如,第二距离矩阵相应第一平滑度阈值为s

基于相同的方式,第一距离矩阵相应第一平滑度阈值为

本申请中,目标点(或是初始点)可分为角点和平面点,因而可划分为角点集合和平面点集合。

对于每帧点云集合,分别执行以下操作SB1-SB2:

SB1:将该帧点云集合对应的第一距离矩阵的感兴趣区域中,平滑度大于第二平滑度阈值的元素所对应的点,作为角点,以获得相应的角点集合。

其中,第二平滑度阈值是指用于提取第一距离矩阵的感兴趣区域中的角点所预设的一个平滑度值,用λ

SB2:将该帧点云集合对应的第一距离矩阵的感兴趣区域中,平滑度小于第三平滑度阈值的元素所对应的点,作为第一平面点,以获得相应的平面点集合;第二平滑度阈值大于第三平滑度阈值。

其中,第三平滑度阈值是指用于提取第一距离矩阵的感兴趣区域中的第一平面点所预设的一个平滑度值,用λ

此外,平面点集合还包括第二平面点,第二平面点是通过如下方式确定的:

a、根据该帧点云集合对应的第一距离矩阵的感兴趣区域中各元素对应的距离值,确定各元素对应的距离方差值;各元素对应的距离值是基于该元素对应的各点的距离值及点的个数确定的;各点的距离值表征各点到载具坐标系原点的距离;

b、将该帧点云集合对应的第一距离矩阵的感兴趣区域中,对应的距离方差值大于预设方差阈值的元素所对应的点,作为第二平面点。

具体地,第一距离矩阵的感兴趣区域中各元素对应的距离方差值,公式可为:

;

公式中,k表示第k帧,

其中,第二平面点是指地面点,预设方差阈值是指用于提取第一距离矩阵的感兴趣区域中的第二平面点所预设的一个方差值,用τ表示。例如τ=10,将第一距离矩阵的感兴趣区域中方差大于10的元素所对应的点作为第二平面点,将第二平面点也放入平面点集合中。

通常地面点是通过计算竖直方向相邻线束间的两个点组成直线于水平面的夹角来获得,此时需要计算角度的余弦值,往往在此过程中消耗一定算力,而本申请中使用比较距离协方差的方式,替代角度余弦计算的方式提取地面点,减少了计算量,提高了特征提取效率。

本申请中,根据各帧点云集合各自对应的初始点或目标点,构建高精地图,一种可实施的方式如下SC1-SC2:

SC1:基于第一帧点云集合对应的初始点,初始化高精地图,获得预先构建的高精地图。

具体地,将第一帧点云集合中提取到的角点集合和平面点集合,分别记作ε

高精地图G中的角点集合记作ε

其中,树形结构(K-Dimensional Tree,KD-Tree)是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构;增量树形结构是指可以存储多帧点云集合的目标点,允许不断地增加点云。在本申请实施例中,其他帧点云集合的目标点都会存储在KD-Tree中。

SC2:对于其他各帧点云集合,分别执行以下操作,以更新高精地图:

a、将点云集合对应的目标点,与高精地图进行匹配,获得相应的位姿矩阵(如上文所列举的平移矩阵、旋转矩阵)。

b、基于位姿矩阵,将点云集合由对应的载具坐标系转换至高精地图对应的地图坐标系,拼接得到更新后的高精地图。地图坐标系为第一帧点云集合对应的载具坐标系。

具体地,第k+1帧点云集合对应的位姿矩阵可记作(R

如,对于第二帧点云集合,将第2帧点云集合对应的角点结合、平面点集合,与高精地图G进行匹配,获得位姿矩阵(R

对于p

;

公式中,对于p

在/>

;

公式中,C

若找到的5个最近邻点,获得的特征值不满足其中一个特征值比另外两个特征值大3倍以上这个条件,则目标点p

对于p

;

公式中,对于p

在/>

;

公式中,C

使用ε

基于相同的方式,可计算出其他帧的位姿变换(R

在上述实施方式中,使用距离矩阵的方式统计点云在不同水平角和俯仰角下的距离值,通过平滑度计算统一了不同型号和扫描原理的激光雷达的特征提取方法;此外,使用多层距离矩阵提取ROI区域,只对ROI区域内的点云提取特征,避免对全部点云做特征提取,达到了较少计算量的效果;使用比较距离协方差的方式来提取地面点,替代角度余弦计算的方式,在地面提取的过程中减少计算量。

参与图6所示,其为本申请实施例中的一种建图方法的具体实施流程示意图,该方法的具体实施流程如下:

步骤601:获取由多颗激光雷达各自采集的点云组合得到的多帧点云集合;

步骤602:将各帧点云集合由相应的雷达坐标系转换至载具坐标系;

步骤603:对于每帧点云集合,根据点云集合中的各点对应的俯仰角、水平角,将各点映射至第一距离矩阵中的各个元素;

步骤604:基于每个元素对应的各点的距离值及点的个数,确定相应元素对应的距离值,获得第一距离矩阵;

步骤605:对于每相邻的两层距离矩阵,根据所包含数据量较多的距离矩阵,获得所包含数据量较少的距离矩阵;

步骤606:对于每帧点云集合,基于相应的各层距离矩阵各自对应的平滑度,按照数据量由少至多的顺序,依次提取各层距离矩阵各自的感兴趣区域;

其中,具体应先提取第N距离矩阵对应的感兴趣区域,进而结合每相邻两层距离矩阵中元素之间的映射关系和相应的平滑度,依次确定第N-1距离矩阵、第N-2距离矩阵、…、第二距离矩阵、第一距离矩阵各自的感兴趣区域,具体可参见上述实施例,重复之处不再赘述。

步骤607:对于每帧点云集合,对相应第一距离矩阵对应的感兴趣区域进行特征提取,获得相应的初始点或目标点;

步骤608:根据各帧点云集合各自对应的初始点或目标点,构建高精地图。

其中,在执行步骤608时,具体可参阅如下方式构建高精地图:

参阅图7所示,其为本申请实施例中的一种构建高精地图的具体实施流程示意图,具体实施流程如下:

步骤701:根据第一帧点云集合对应的初始点,预先构建的高精地图;

步骤702:将其他各帧点云集合对应的目标点,分别与当前的高精地图进行匹配,获得相应的位姿矩阵;

步骤703:基于相应的位姿矩阵,将各帧点云集合对应的目标点转换至高精地图对应的地图坐标系中,以更新高精地图。

基于相同的发明构思,本申请实施例还提供一种建图设备,包括:处理器和存储器;其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;当所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

获取预先采集的增量点云,所述增量点云用于对预先构建的高精地图中所包含的点云进行更新;

根据所述增量点云中点的位置信息,对所述增量点云进行特征提取,得到所述增量点云对应的特征图,所述特征图上的特征区域和所述增量点云中的点之间存在映射关系;

根据所述特征图中各特征区域的指定参数,在所述特征图上确定指定参数满足第一预设条件的特征区域,作为目标特征区域,并根据所述映射关系,从所述增量点云中选择出对应于所述目标特征区域的点,作为目标点;

确定所述增量点云与待更新的所述高精地图中所包含的点云之间的相对位姿,并将以所述相对位姿变换后的目标点加入所述高精地图所包含的点云中,以对所述高精地图进行更新。

在一些实现方式中,上述处理器执行的方法形成程序后,各个程序功能模块对应的硬件执行模块可包括:获取模块、特征提取模块、选取模块及更新模块;所述获取模块与所述特征提取模块、所述选取模块及所述更新模块相连。

参阅图8所示,其为本申请实施例中的一种建图设备800的组成结构示意图,该建图设备包括获取模块801、特征提取模块802、选取模块803及更新模块804;所述获取模块801与所述特征提取模块802、所述选取模块803及所述更新模块804相连,其中:

所述获取模块801,用于获取预先采集的增量点云,所述增量点云用于对预先构建的高精地图中所包含的点云进行更新;

所述特征提取模块802,用于根据所述增量点云中点的位置信息,对所述增量点云进行特征提取,得到所述增量点云对应的特征图,所述特征图上的特征区域和所述增量点云中的点之间存在映射关系;

所述选取模块803,用于根据所述特征图中各特征区域的指定参数,在所述特征图上确定指定参数满足第一预设条件的特征区域,作为目标特征区域,并根据所述映射关系,从所述增量点云中选择出对应于所述目标特征区域的点,作为目标点;

所述更新模块804,用于确定所述增量点云与待更新的所述高精地图中所包含的点云之间的相对位姿,并将以所述相对位姿变换后的目标点加入所述高精地图所包含的点云中,以对所述高精地图进行更新。

可选的,所述特征提取模块802具体用于:

确定所述增量点云中的各点在第一坐标轴上的各第一坐标值,以及所述增量点云中的各点在第二坐标轴上的各第二坐标值;

以各第一坐标值为第一索引,并以各第二坐标值为第二索引,构建特征矩阵;其中,所述特征矩阵中的元素值根据该元素值对应的各点各自的距离值确定,针对所述特征矩阵中的每个元素值,该元素值对应的点为所述增量点云中第一坐标值为该元素值对应的第一索引且第二坐标值为该元素值对应的第二索引的各点。

可选的,所述特征图包含N张,其中,自第一特征图至第N特征图,特征图中所包含的数据量依次减小,并且相邻的两个特征图上的特征区域之间存在映射关系;

所述选取模块803具体用于:

在第N特征图上确定指定参数满足第一预设条件的特征区域;

根据相邻的两个特征图上的特征区域之间的映射关系,以自第N特征图至第一特征图的顺序,将所述第N特征图上的目标特征区域依次映射至各特征图上,得到各特征图上的目标特征区域;

根据第一特征图上的目标特征区域,以及所述第一特征图上的特征区域和所述增量点云中的点之间的映射关系,从所述增量点云中选择出对应于所述目标特征区域的点。

可选的,所述特征提取模块802具体用于:

根据所述增量点云中点的位置信息,对所述增量点云进行特征提取,得到第一特征图;

以所述第一特征图为待提取特征图,对所述待提取特征图进行特征提取,得到数据量小于第一特征图的第二特征图,其中,所述第二特征图上的特征区域和第一特征图上的特征区域之间存在映射关系;

将所述第二特征图重新作为待提取特征图,继续对所述待提取特征图进行特征提取,直到得到满足第二预设条件的第N特征图。

可选的,所述设备还包括:

构建模块805,用于获取预先采集的初始点云;

根据所述初始点云中点的位置信息,对所述初始点云进行特征提取,得到所述初始点云对应的初始特征图,所述初始特征图上的特征区域和所述初始点云中的点之间存在映射关系;

根据所述初始特征图中各特征区域的指定参数,在所述初始特征图上确定指定参数满足第三预设条件的特征区域,作为初始特征区域,并根据所述映射关系,从所述初始点云中选择出对应于所述初始特征区域的点;

基于所选择出的对应于所述初始特征区域的各点,构建高精地图。

可选的,所述增量点云为若干个点云采集设备在同一时刻采集到的点云的集合。

可选的,所述指定参数为平滑度;每个特征区域的平滑度用于表示所述特征区域与相邻特征区域对应的点之间的距离差异大小;

所述选取模块803具体用于:

将所述特征图中,对应平滑度大于预设平滑度阈值的特征区域,作为所述特征图对应的目标特征区域。

在介绍了本申请示例性实施方式的构图方法和建图设备之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。

所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在该实施例中,电子设备的结构可以如图9所示,包括存储器901,通讯模块903以及一个或多个处理器902。

存储器901,用于存储处理器902执行的计算机程序。存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。

存储器901可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器901也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器901是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器901可以是上述存储器的组合。

处理器902,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器902,用于调用存储器901中存储的计算机程序时实现上述建图方法。

通讯模块903用于与终端设备和其他服务器进行通信。

本申请实施例中不限定上述存储器901、通讯模块903和处理器902之间的具体连接介质。本申请实施例在图9中以存储器901和处理器902之间通过总线904连接,总线904在图9中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线904可以分为地址总线、数据总线、控制总线等。为便于描述,图9中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。

存储器901中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的建图方法。处理器902用于执行上述的建图方法,如图2所示。

下面参照图10来描述根据本申请的这种实施方式的计算装置1000。图10的计算装置1000仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图10,计算装置1000以通用计算装置的形式表现。计算装置1000的组件可以包括但不限于:上述至少一个处理单元1001、上述至少一个存储单元1002、连接不同系统组件(包括存储单元1002和处理单元1001)的总线1003。

总线1003表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。

存储单元1002可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1021和/或高速缓存存储器1022,还可以进一步包括只读存储器(ROM)1023。

存储单元1002还可以包括具有一组(至少一个)程序模块1024的程序/实用工具1025,这样的程序模块1024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算装置1000也可以与一个或多个外部设备1004(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置1000交互的设备通信,和/或与使得该计算装置1000能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1005进行。并且,计算装置1000还可以通过网络适配器1006与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1006通过总线1003与用于计算装置1000的其它模块通信。应当理解,尽管图中未表示出,可以结合计算装置1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

本申请实施例还提供一种计算机程序产品,本申请中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、核心网设备、OAM或者其它可编程装置。

计算机可读存储介质可以作为计算机程序产品的一种实现,即本申请实施例还提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序被处理器执行时实现如上述任意一种建图方法。

所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包括有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。

相关技术
  • 一种数据表识别方法、装置及终端设备
  • 一种基于XML描述两个数据表关系的方法
  • 数据表关联关系自动识别、多数据表自动整合方法及装置
  • 数据关系识别及数据表整合方法
技术分类

06120116386895