CN112907747A - 一种点云数据处理的方法、装置、电子设备及存储介质 - Google Patents

一种点云数据处理的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112907747A
CN112907747A CN202110328474.9A CN202110328474A CN112907747A CN 112907747 A CN112907747 A CN 112907747A CN 202110328474 A CN202110328474 A CN 202110328474A CN 112907747 A CN112907747 A CN 112907747A
Authority
CN
China
Prior art keywords
point cloud
point
grid
data
determining
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
CN202110328474.9A
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.)
Shanghai Sensetime Lingang Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Lingang Intelligent Technology 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 Shanghai Sensetime Lingang Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Lingang Intelligent Technology Co Ltd
Priority to CN202110328474.9A priority Critical patent/CN112907747A/zh
Publication of CN112907747A publication Critical patent/CN112907747A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

本公开提供了一种点云数据处理的方法、装置、电子设备及存储介质,其中,该方法包括:获取雷达设备采集的第一点云数据、以及预先构建的点云地图所对应的第二点云数据;对获取的第二点云数据进行栅格化处理,得到多个点云栅格;针对第一点云数据中的每个第一点云点,基于该第一点云点的数据,确定多个点云栅格中与该第一点云点关联的目标点云栅格;基于每个第一点云点关联的目标点云栅格,确定用于对第一点云数据进行调整的变化量信息,以使得基于变化量信息调整后的第一点云数据与第二点云数据相匹配。本公开实现了高精度和高鲁棒性的点云配准效果。

Description

一种点云数据处理的方法、装置、电子设备及存储介质
技术领域
本公开涉及激光雷达技术领域,具体而言,涉及一种点云数据处理的方法、装置、电子设备及存储介质。
背景技术
随着科学技术的发展与进步,常常用于军事领域的激光雷达的成本大大降低而被广泛应用于各个技术领域,例如,无人驾驶定位领域、三维重建领域等。以无人驾驶定位应用领域为例,基于激光雷达的点云配准技术可以实现无人驾驶车辆的定位,而可靠的定位性能则是无人驾驶车辆完成后续作业任务的基本。
目前比较常用的点云配准方法可以是基于迭代最近点(Iterative ClosestPoint,ICP)原理来实现的,这里,利用激光雷达采集点云数据,然后将该点云数据与已知的环境地图进行逐点的最近邻关联,统计所有关联点的平均距离作为配准结果,以进行定位。
然而,考虑到基于ICP的点云配准方法容易受到初始估计的影响,在初始估计不够准确的情况下,所得到的配准结果的精度和鲁棒性均较低。
发明内容
本公开实施例至少提供一种点云数据处理的方案,实现了高精度和高鲁棒性的点云配准效果。
第一方面,本公开实施例提供了一种点云数据处理的方法,所述方法包括:
获取雷达设备采集的第一点云数据、以及预先构建的点云地图所对应的第二点云数据;所述第一点云数据包括多个第一点云点的数据,所述第二点云数据包括多个第二点云点的数据;
对获取的所述第二点云数据进行栅格化处理,得到多个点云栅格;
针对每个所述第一点云点,基于该第一点云点的数据,确定所述多个点云栅格中与该第一点云点关联的目标点云栅格;
基于所述第一点云数据中每个所述第一点云点关联的目标点云栅格,确定用于对所述第一点云数据进行调整的变化量信息,以使得基于所述变化量信息调整后的第一点云数据与所述第二点云数据相匹配。
采用上述点云数据处理的方法,在获取到雷达设备采集的第一点云数据以及点云地图所对应的第二点云数据的情况下,可以先对第二点云数据进行栅格化处理,得到多个点云栅格,也即,可以将第二点云数据中的各个第二点云点映射到各个点云栅格。这里,为了实现第一点云数据和第二点云数据的匹配,可以针对每个第一点云点,从各个第二点云点映射到的各个点云栅格确定与这一第一点云点关联的目标点云栅格,这样,基于各个第一点云点关联的目标点云栅格,即可以确定出基于栅格匹配所意图达到的两份点云数据的匹配效果所应对第一点云数据进行调整的变化量信息。可知的是,在整个匹配过程中,无需依赖初始估计结果,以栅格匹配为导向,仅需对第一点云点适应性调整即可达到两份点云数据的匹配效果,操作简单高效,且配准的精度和鲁棒性均较好。
在一种可能的实施方式中,所述第二点云点的数据包括坐标信息;所述对获取的所述第二点云数据进行栅格化处理,得到多个点云栅格,包括:
按照预设栅格划分尺寸将所述第二点云数据对应的区域坐标范围划分为多个栅格坐标范围;
针对每个第二点云点,基于该第二点云点的坐标信息以及所述多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围;
将落入每个栅格坐标范围的至少一个第二点云点的数据,确定为该栅格坐标范围对应的点云栅格的数据。
在一种可能的实施方式中,按照如下步骤确定所述第二点云数据对应的区域坐标范围:
基于所述第二点云数据中包括的多个第二点云点的坐标信息,从多个第二点云点中,选取距离最远的两个第二点云点;
基于选取出的所述两个第二点云点的坐标信息,确定所述第二点云数据对应的区域坐标范围。
在一种可能的实施方式中,所述针对每个第二点云点,基于该第二点云点的坐标信息以及所述多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围,包括:
利用预先申请的第一图形处理器GPU资源,并行针对所述多个第二点云点中的每个所述第二点云点,基于该第二点云点的坐标信息以及所述多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围。
这里,考虑到多个第二点云点之间相互独立的特性,这里,在针对第二点云点进行点云栅格映射的过程中,可以基于预先申请的GPU资源,并行对多个第二点云点进行映射处理,提升了处理效率。
在一种可能的实施方式中,所述第一点云点的数据包括坐标信息;所述针对每个所述第一点云点,基于该第一点云点的数据,确定所述多个点云栅格中与该第一点云点关联的目标点云栅格,包括:
针对每个所述点云栅格,基于该点云栅格的数据,确定该点云栅格的质心点的坐标信息;
针对每个所述第一点云点,基于该第一点云点的坐标信息以及每个所述点云栅格的质心点的坐标信息,从所述多个点云栅格中查找质心点与该第一点云点的距离符合预设要求的点云栅格;
将查找到的点云栅格,确定为与该第一点云点关联的目标点云栅格。
这里所确定的与第一点云点关联的目标点云栅格,是基于各个点云栅格的质心点与第一点云点之间的距离远近程度来确定的,距离越近说明关联程度越高,距离越远说明关联程度越低,且其关联程度一定程度上是呈高斯分布的,这里为了便于后续进行有关这一高斯分布的变化量信息的计算,才进行了有关目标点云栅格的确定。
在一种可能的实施方式中,所述针对每个所述第一点云点,基于该第一点云点的坐标信息以及每个所述点云栅格的质心点的坐标信息,从所述多个点云栅格中查找质心点与该第一点云点的距离符合预设要求的点云栅格,包括:
获取预先构建的索引树;所述索引树基于所述多个点云栅格中每个所述点云栅格的质心点的坐标信息构建得到,且所述索引树的每一个节点对应一个点云栅格的质心点;
针对每个所述第一点云点,基于该第一点云点的坐标信息以及构建的所述索引树,从所述索引树中查找到与该第一点云点的距离符合预设要求的节点,并将查找到的所述节点对应的质心点所在点云栅格,确定为从所述多个点云栅格中查找到的质心点与该第一点云点的距离符合预设要求的点云栅格。
这里,为了便于进行目标点云栅格的快速查找,可以预先基于各个点云栅格的质心点的坐标信息来构建索引树,这样,一旦存在目标点云栅格的查找需求的情况时,即可以直接基于索引树进行相关联的点云栅格的查找,方便快捷。
在一种可能的实施方式中,所述针对每个所述第一点云点,基于该第一点云点的坐标信息以及构建的所述索引树,从所述索引树中查找与该第一点云点的距离小于预设距离的节点,包括:
利用预先申请的第二图形处理器GPU资源,并行针对所述多个第一点云点中的每个所述第一点云点,基于该第一点云点的坐标信息以及构建的所述索引树,从所述索引树中查找与该第一点云点的距离小于预设距离的节点。
这里,考虑到多个第一点云点之间相互独立的特性,这里,在针对第一点云点进行目标点云栅格查找的过程中,可以基于预先申请的GPU资源,并行对多个第一点云点进行查找处理,提升了处理效率。
在一种可能的实施方式中,按照以下步骤确定所述符合预设要求的点云栅格:
将质心点与所述第一点云点的距离小于预设距离的点云栅格确定为所述符合预设要求的点云栅格;
或者,将质心点与该第一点云点的距离等于最小预设距离的点云栅格确定为所述符合预设要求的点云栅格;
或者,按照质心点与所述第一点云点的距离的升序对所述多个点云栅格进行排序,将排序在第一至第预设位的点云栅格确定为所述符合预设要求的点云栅格。
在一种可能的实施方式中,所述基于所述第一点云数据中每个所述第一点云点关联的目标点云栅格,确定用于对所述第一点云数据进行调整的变化量信息,包括:
针对每个所述点云栅格,基于该点云栅格内的第二点云点的数据,确定该点云栅格对应的协方差;
针对每个第一点云点,基于该第一点云点关联的目标点云栅格的质心点的坐标信息和对应的协方差、以及所述雷达设备的位姿表示信息,构建针对该第一点云点的高斯得分表示函数;所述位姿表示信息用于表征所述雷达设备的位姿信息;
基于针对每个第一点云点构建的高斯得分表示函数,确定用于对所述第一点云数据进行调整的变化量信息。
这里,考虑到点云映射过程中所存在的高斯分布状态,这里,可以基于目标点云栅格的质心点的坐标以及对应的协方差构建针对第一点云点的高斯得分表示函数,该函数表示的是当前第一点云点映射到第二点云点所对应点云栅格下,第一点云点的分布情况相对各点云栅格所在的分布情况之间的逼近程度,在得分较低时,说明需要对第一点云数据进行较大变化量信息的调整,反之,在得分较高时,说明需要对第一点云数据进行较小变化量信息的调整,直至上述两种分布情况完全接近,即可实现两份点云数据的配准。
在一种可能的实施方式中,所述基于针对每个第一点云点构建的高斯得分表示函数,确定用于对所述第一点云数据进行调整的变化量信息,包括:
针对每个第一点云点,从与所述第一点云数据中的多个第一点云点一一对应的多个线程中,确定与所述第一点云点对应的一个线程,通过确定的所述一个线程执行所述确定用于对该第一点云点进行调整的变化量信息的操作;
对所述多个线程确定的所述变化量信息进行合并,得到用于对所述第一点云数据进行调整的变化量信息。
这里,可以利用多线程实现针对多个点云点进行变化量信息的计算,大大提升了配准效率。
在一种可能的实施方式中,所述基于针对每个第一点云点构建的高斯得分表示函数,确定用于对所述第一点云数据进行调整的变化量信息,包括:
将针对每个第一点云点构建的高斯得分表示函数进行求和运算,得到高斯得分和值表示函数;
对所述高斯得分和值表示函数求取有关所述雷达设备的位姿表示信息的一阶导数,得到第一导数矩阵;以及,
对所述高斯得分和值表示函数求取有关所述雷达设备的位姿表示信息的二阶导数,得到第二导数矩阵;
基于所述第一导数矩阵、所述第二导数矩阵、以及第一导数矩阵、第二导数矩阵和变化量信息之间的预设对应关系,确定用于对所述第一点云数据进行调整的变化量信息。
在一种可能的实施方式中,按照如下步骤确定基于所述变化量信息调整后的第一点云数据与所述第二点云数据相匹配:
在基于每个所述第一点云点关联的目标点云栅格,确定用于对所述第一点云数据进行调整的变化量信息小于预设变化量的情况下,确定调整后的第一点云数据与所述第二点云数据相匹配。
在一种可能的实施方式中,所述方法还包括:
在确定用于对所述第一点云数据进行调整的变化量信息不小于预设变化量的情况下,重复执行如下操作:
基于确定的所述变化量信息,调整对应的第一点云点的数据;
针对调整后的每个所述第一点云点,基于该第一点云点的数据,确定所述多个点云栅格中与该第一点云点关联的目标点云栅格;
基于调整后的所述第一点云数据中每个所述第一点云点关联的目标点云栅格,更新用于对所述第一点云数据进行调整的变化量信息。
为了实现两份点云数据的高精度配准,这里,可以针对第一点云数据进行多次变化量信息的调整,随着调整次数的增加,两份点云数据也约为逼近,越为逼近,下次所需要调整的变化量信息所指向的值也越小,从而实现了高精度的点云配准。
第二方面,本公开实施例还提供了一种点云数据处理的装置,所述装置包括:
获取模块,用于获取雷达设备采集的第一点云数据、以及预先构建的点云地图所对应的第二点云数据;所述第一点云数据包括多个第一点云点的数据,所述第二点云数据包括多个第二点云点的数据;
处理模块,用于对获取的所述第二点云数据进行栅格化处理,得到多个点云栅格;
确定模块,用于针对每个所述第一点云点,基于该第一点云点的数据,确定所述多个点云栅格中与该第一点云点关联的目标点云栅格;
调整模块,用于基于所述第一点云数据中每个所述第一点云点关联的目标点云栅格,确定用于对所述第一点云数据进行调整的变化量信息,以使得基于所述变化量信息调整后的第一点云数据与所述第二点云数据相匹配。
第三方面,本公开实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的点云数据处理的方法的步骤。
第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述的点云数据处理的方法的步骤。
关于上述点云数据处理的装置、电子设备、及计算机可读存储介质的效果描述参见上述点云数据处理的方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种点云数据处理的方法的流程图;
图2示出了本公开实施例所提供的一种点云数据处理的装置的示意图;
图3示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,目前比较常用的点云配准方法可以是基于ICP原理来实现的,这里,利用激光雷达采集点云数据,然后将该点云数据与已知的环境地图进行逐点的最近邻关联,统计所有关联点的平均距离作为配准结果,以进行定位。
然而,考虑到基于ICP的点云配准方法容易受到初始估计的影响,在初始估计不够准确的情况下,所得到的配准结果的精度和鲁棒性均较低。
基于上述研究,本公开至少提供了一种点云数据处理的方案,基于栅格化处理实现了点云配准,配准效率较高,即使初始估计不够准确,也可以基于多次变化量的调整实现高精度和高鲁棒性的配准效果。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种点云数据处理的方法进行详细介绍,本公开实施例所提供的点云数据处理的方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该点云数据处理的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的点云数据处理的方法的流程图,方法包括步骤S101~S104,其中:
S101:获取雷达设备采集的第一点云数据、以及预先构建的点云地图所对应的第二点云数据;第一点云数据包括多个第一点云点的数据,第二点云数据包括多个第二点云点的数据;
S102:对获取的第二点云数据进行栅格化处理,得到多个点云栅格;
S103:针对每个第一点云点,基于该第一点云点的数据,确定多个点云栅格中与该第一点云点关联的目标点云栅格;
S104:基于第一点云数据中每个第一点云点关联的目标点云栅格,确定用于对第一点云数据进行调整的变化量信息,以使得基于变化量信息调整后的第一点云数据与第二点云数据相匹配。
这里,为了便于理解本公开实施例提供的点云数据处理的方法,接下来首先对该方法的应用场景进行详细介绍。上述点云数处理的方法主要应用于点云配准定位的相关应用场景中,例如,可以具体应用到自动驾驶技术领域、机器人应用领域,还可以应用到其它领域中,在此不做具体的限制,接下来可以以自动驾驶技术领域进行示例说明。
这里,可以基于配准结果确定安装有雷达设备的行驶装置的位置信息。这主要是考虑到这里的配准是基于点云地图的配准,而点云地图本身是基于离线的第二点云数据构建的,在利用雷达设备采集到在线的第一点云数据的情况下,基于点云数据配准结果可以确定行驶装置是具体在地图的哪个位置。
其中,本公开实施例提供的点云数据处理的方法实现点云配准的前提是需要获取到两份点云数据,一份来自于雷达设备实时采集的第一点云数据,另一份则来自用于构建点云地图的第二点云数据。
其中,本公开实施例可以采用旋转式扫描雷达实现第一点云数据的采集,这里的旋转式扫描雷达在水平方向旋转扫描时可以获取设备周边环境内有关目标的点云数据。在进行旋转扫描的过程中,雷达可以采用多线扫描方式,即使用多个激光管顺序发射,结构为多个激光管纵向排列,即在水平方向旋转扫描的过程中,进行垂直方向的多层扫描。每个激光管之间有一定的夹角,垂直发射视场可以在30°~40°,这样,在雷达设备每旋转一个扫描角度可以获取多个激光管发射激光束所返回的一个数据包,将各个扫描角度获取的数据包进行拼接即可得到点云数据。
为了实现行驶装置的定位,本公开实施例提供的点云数据处理的方法还需要获取构建点云地图的第二点云数据。这里的点云地图可以是高精度地图。相比传统电子地图而言,高精度地图的绘制通常需要使用搭载雷达设备的专业采集车对所需建图区域进行数据采集。对于采集得到的第二点云数据,基于物体轮廓标注处理,可以构建对应的三维物体模型,而后,将构建出的三维物体模型设置在对应的地图位置处,即可构建得到点云地图。
需要说明的是,在实际应用中,可以将搭载有激光雷达的采集车行驶的一系列轨迹点对应的点云数据进行拼接,这样所构建出来的点云地图也可以是拼接得到的。
考虑到本公开实施例提供的点云数据处理的方法旨在基于栅格点云分布情况来实现点云匹配。为了实现这一技术目的,本公开实施例提供的点云数据处理的方法首先可以基于点云地图对应的第二点云数据作为参考点云数据进行栅格处理,以根据得到的多个点云栅格进行第一点云数据中各个第一点云点的映射处理,进而基于映射关系实现上述栅格分布匹配的目的。
这主要是考虑到栅格内的第二点云点原则上是符合高斯分布的,这样,对于第一点云点而言,在投影到对应的栅格以后,可以基于这一点云点是否符合栅格所对应高斯分布来确定两份点云数据之间的匹配程度,也即,越是符合对应高斯分布(例如,高斯得分越高),说明两份点云数据之间的匹配程度也就越大,这相比单点最近邻搜索而言,扩大了匹配范围,从而可以避免单点匹配所存在的精度和鲁棒性均不高的问题,实现了高精度和高鲁棒性的点云匹配。
本公开实施例中,首先可以确定第二点云数据对应的区域坐标范围,而后对这一区域坐标范围进行划分,并确定划分到每一个栅格坐标范围的第二点云点的数据,从而实现栅格化处理。
在实现栅格化处理的前提下,可以针对第一点云数据中的每个第一点云点,进行对应的栅格投影操作。考虑到周边栅格分布对于第一点云点所投影的栅格分布的影响,可以从栅格化处理后的多个点云栅格中,确定与每个第一点云点关联的目标点云栅格,这里所指的关联的目标点云栅格,可以指的是距离第一点云点比较近的点云栅格,这主要是考虑到越是更为靠近的点云栅格对于第一点云点所指向的高斯分布的影响越大,因而选取了关联的目标点云栅格来实现点云匹配。
考虑到第一点云点在其邻近的栅格直接影响了该第一点云点与栅格所代表高斯分布的符合程度,该符合程度则对应了需要对第一点云点进行调整的变化量信息,也即,符合程度越高,所需要调整的变化量信息的值越小,符合程度越低,所需要调整的变化量信息的值越大,这里,通过变化量信息的调整,可以实现调整后的第一点云数据与第二点云数据这两份点云数据之间的匹配。
考虑到栅格化处理对于后续进行目标点云栅格的查找的关键作用,接下来可以通过如下步骤详细说明有关栅格化处理的过程。
步骤一、按照预设栅格划分尺寸将第二点云数据对应的区域坐标范围划分为多个栅格坐标范围;
步骤二、针对每个第二点云点,基于该第二点云点的坐标信息以及多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围;
步骤三、将落入每个栅格坐标范围的至少一个第二点云点的数据,确定为该栅格坐标范围对应的点云栅格的数据。
这里,首先可以在空间范围内对第二点云数据对应的区域坐标范围进行栅格划分,得到多个栅格坐标范围。这样,针对每个第二点云点,可以基于该第二点云点的坐标信息,从多个栅格坐标范围内确定该第二点云点落入的栅格坐标范围,也即,可以基于第二点云数据所在雷达坐标系与栅格坐标之间的映射关系,确定各个第二点云点落入的栅格坐标范围。
在针对第二点云点进行栅格映射处理之前,本公开实施例提供的点云数据处理的方法可以预先申请第一图形处理器(Graphics Processing Unit,GPU)资源,以通过申请的第一GPU资源并行地进行各个第二点云点的栅格映射处理,这将提升栅格映射处理的效率,进一步提高后续进行点云配准的效率。
这样,针对每个栅格坐标范围,可以进行有关落入该范围的至少一个第二点云点的统计,从而可以确定出各个点云栅格的数据。
在一些实施例中,可以按照预设栅格划分尺寸进行栅格划分。这里的预设栅格划分尺寸不宜过大,也不宜过小,过大的划分尺寸将导致划分的栅格坐标范围越大,这样在针对栅格坐标范围所对应的点云栅格进行后续的质心点和协方差计算时将耗费更多的GPU资源,而过小的划分尺寸将导致划分的栅格坐标范围较小,较小的栅格坐标范围一定程度上无法凸显栅格内所呈现的高斯分布,因而,这里,可以基于第二点云数据对应的区域坐标范围进行适应性划分。在区域坐标范围比较大的情况下,可以设置更大的划分尺寸,在区域坐标范围比较小的情况下,则可以设置更小的划分尺寸。
其中,上述第二点云数据对应的区域坐标范围可以按照如下步骤来确定:
步骤一、基于第二点云数据中包括的多个第二点云点的坐标信息,从多个第二点云点中,选取距离最远的两个第二点云点;
步骤二、基于选取出的两个第二点云点的坐标信息,确定第二点云数据对应的区域坐标范围。
这里,从第二点云数据包含的各个第二点云点中查找到相距最远的两个第二点云点,从而可以构建出能够包围整份第二点云数据的区域坐标范围。
本公开实施例中所确定的与第一点云点关联的目标点云栅格可以是与点云点相距比较近的点云栅格。在具体应用中,可以基于质心点计算实现有关目标点云数据的确定,具体包括如下步骤:
步骤一、针对每个点云栅格,基于该点云栅格的数据,确定该点云栅格的质心点的坐标信息;
步骤二、针对每个第一点云点,基于该第一点云点的坐标信息以及每个点云栅格的质心点的坐标信息,从多个点云栅格中查找质心点与该第一点云点的距离符合预设要求的点云栅格;
步骤三、将查找到的点云栅格,确定为与该第一点云点关联的目标点云栅格。
这里,首先可以确定每个点云栅格的质心点的坐标信息,该质心点的坐标信息由对应点云栅格内落入的各个第二点云点的坐标信息来共同确定。在具体应用中,可以通过求取各个第二点云点的坐标信息的均值来确定质心点的坐标信息,该坐标信息表征的是在对应的点云栅格内各个第二点云点的集中位置。
在确定各个点云栅格的质心点的坐标信息的情况下,可以基于每个第一点云点的坐标信息,以及各个质心点的坐标信息,来确定与每个第一点云点关联的目标点云栅格。
这里所确定的与第一点云点关联的目标点云栅格可以指的是距离该第一点云点的距离小于预设距离的点云栅格,例如,可以是距离该第一点云点在2个栅格坐标范围以内的点云栅格。
另外,上述目标点云栅格还可以指的是质心点与该第一点云点的距离等于最小预设距离的点云栅格,例如,可以是距离第一点云点在一个栅格坐标范围的点云栅格。
除此之外,还可以先基于距离的远近对多个点云栅格进行排序,然后从排序结果中选取出排名比较靠前(对应距离比较近)的点云栅格来确定上述目标点云栅格。例如按照质心点与所述第一点云点的距离的升序对所述多个点云栅格进行排序,将排序在第一至第预设位的点云栅格确定为所述符合预设要求的点云栅格。
需要说明的是,在实际应用中,本公开实施例可以基于不同的应用需求选取相应的确定方式,例如,针对栅格划分粒度比较小的栅格划分方式而言,可以采用先按距离排序再进行栅格筛选的确定方式,再如,针对栅格划分粒度比较大的栅格划分而言,可以采用最小预设距离的确定方式,本公开实施例对此不做具体的限制。
在一些实施例中,上述关联的目标点云栅格可以包括第一点云点自身所在的点云栅格,除此之外,还可以包括与该第一点云点自身所在的点云栅格直接相邻的点云栅格或者间接相邻的点云栅格,本公开实施例中可以结合预设栅格划分尺寸来确定预设距离这一参数,例如,在预设栅格划分尺寸比较大的情况下,这里可以适当的减小预设距离,在预设栅格划分尺寸比较小的情况下,这里可以适当的增大预设距离,以在兼顾栅格处理计算量的同时,降低其他无关点云栅格所带来的影响。
为了更为快速的查找到目标点云栅格,本公开实施例提供的点云数据处理的方法可以基于多个点云栅格中每个点云栅格的质心点的坐标信息构建的索引树来实现基于索引树的点云栅格的查找。
这里,可以将每个点云栅格的质心点作为索引树的一个节点。在索引树的各个节点的坐标信息确定的情况下,可以基于索引树构建方法实现有关索引树的构建。本公开实施例中可以采用八叉树或k-d树构建索引树。
这里以k-d树为例,对基于点云栅格的质心点构建索引树的过程进行简单描述。
k-d树可以理解成每个节点均为k数值点的二叉树,其上的每个节点代表一个超平面,该超平面垂直于当前划分维度的坐标轴,并在该维度上将空间划分为两部分,一部分在其左子树,另一部分在其右子树。也即,若当前节点的划分维度为d,其左子树上所有点在d维的坐标值均小于当前值,右子树上所有点在d维的坐标值均大于等于当前值。本公开实施例即是在三维空间内基于各个质心点实现k-d树的构建,构建的k-d树包括了各个质心点之间的相对位置关系,将这一相对位置关系存储至数据集即可。
这样,在需要查找针对每个第一点云点的目标点云栅格的情况下,即可以基于给定的第一点云点,查询数据集中与其距离最近点的过程即为最近邻搜索,从而可以搜索到相应的目标点云栅格。
这里,为了进一步提升点云配准效率,可以基于预先申请的第二GPU资源,并行查找与每个第一点云点对应的索引树节点,从而查找到相应的目标点云栅格,也即,各个第一点云点之间的查找过程相互独立,方便快捷。
考虑到上述点云数据处理的方法中,所需要对第一点云数据进行调整的变化量信息是直接受到各个点云点与各个栅格所代表高斯分布的符合程度的影响的,也即,符合程度越大,对应所需调整的变化量信息的值越小,反之亦然。基于此,本公开实施例提供了一种基于高斯得分表示函数来表征上述符合程度,以期利用上述高斯得分表示函数求解得到变化量信息的确定方法,具体包括如下步骤:
步骤一、针对每个点云栅格,基于该点云栅格的数据,确定该点云栅格对应的协方差;
步骤二、针对每个第一点云点,基于该第一点云点关联的目标点云栅格的质心点的坐标信息和对应的协方差、以及雷达设备的位姿表示信息,构建针对该第一点云点的高斯得分表示函数;位姿表示信息用于表征雷达设备的位姿信息;
步骤三、基于针对每个第一点云点构建的高斯得分表示函数,确定用于对第一点云数据进行调整的变化量信息。
这里,首先可以针对每个第一点云点,基于该第一点云点关联的目标点云栅格的质心点的坐标信息和对应的协方差、以及雷达设备的位姿表示信息,来构建针对该第一点云点的高斯得分表示函数。该高斯得分表示函数的值越大,第一点云点与关联的目标点云栅格的高斯分布的符合程度越高,反之,在第一点云点与关联的目标点云栅格的高斯分布的符合程度越低的情况下,对应的高斯得分表示函数的值越小。
将各个第一点云点构建的高斯得分表示函数进行求和运算,可以得到针对该第一点云点的高斯得分和值表示函数。该高斯得分和值表示函数则可以表示的是第一点云数据的分布与第二点云数据的分布的吻合程度,吻合程度越高,对应的高斯得分和值表示函数的值越大,反之,高斯得分和值表示函数的值越小,说明第一点云数据的分布与第二点云数据的分布的吻合程度越低。
通过分别对高斯得分和值表示函数求取有关雷达设备的位姿表示信息的一阶导数和二阶导数,可以得到第一导数矩阵和第二导数矩阵。利用两个导数矩阵以及变化量信息之间的预设对应关系,将第一导数矩阵和第二导数矩阵代入至预设对应关系中,可以确定用于对第一点云数据进行调整的变化量信息。
为了便于进一步理解本公开实施例提供的确定变化量信息的方法,接下来可以结合如下公式对上述变化量信息的确定过程进行具体描述。
在确定变化量信息之前,首先可以确定各个点云栅格的质心点的坐标信息及对应的协方差。这里,如一个点云栅格内包含了m个第二点云点,即{p1,p2,...,pm},则其质心点C和协方差P的计算公式有:
Figure BDA0002995472620000161
Figure BDA0002995472620000162
这里,针对每个第一点云点,可以基于该第一点云点关联的目标点云栅格的坐标信息和对应的协方差、以及雷达设备的位姿表示信息,在针对任一第一点云点p关联的目标点云栅格的个数有n个的情况下,构建针对该第一点云点的高斯得分表示函数,如下式所示:
Figure BDA0002995472620000163
其中,S用于表示第一点云点p在其所在点云栅格及其近邻栅格的得分和值,d1(k)和d2(k)为拟合高斯分布的参数常量,Ck和Pk对应点p的第k个目标点云栅格的质心点的坐标信息及其协方差。
在将各个第一点云点的高斯得分表示函数进行求和,可以输出得到高斯得分和值表示函数。这里,通过对高斯得分和值表示函数进行一阶导数和二阶导数的求解,可以得到各个第一点云点对应的第一导数矩阵和第二导数矩阵。
如下式所示为求取的第一导数矩阵,即雅可比矩阵:
Figure BDA0002995472620000171
其中,
a=x1(-sxsz+cxsycz)+x2(-sxcz-cxsysz)+x3(-cxcy),
b=x1(cxsz+sxsycz)+x2(-sxsysz+cxcz)+x3(sxcy),
c=x1(-sycz)+x2(sysz)+x3(cy),
d=x1(sxcycz)+x2(-sxcysz)+x3(sxsy),
e=x1(-cxcycz)+x2(cxcysz)+x3(-cxsy),
f=x1(-cysz)+x2(-cycz),
g=x1(cxcz-sxsysz)+x2(-cxsz-sxsycz),
b=x1(sxcz+cxsysz)+x2(cxsycz-sxsz).
如下式所示为求取的第二导数矩阵,即海森矩阵:
Figure BDA0002995472620000172
其中,
Figure BDA0002995472620000173
Figure BDA0002995472620000174
Figure BDA0002995472620000175
Figure BDA0002995472620000176
Figure BDA0002995472620000177
Figure BDA0002995472620000178
其中,x1、x2和x3为当前第一点云点p的三维坐标,sx、sy、sz、cx、cy和cz为sin(x),sin(y),sin(z),cos(x),cos(y),cos(z);其中,x、y、z对应于雷达设备的位姿表示信息。
本公开实施例中,可以基于雅可比矩阵和海森矩阵,根据牛顿法钢构件正规方程,如下所示:
HΔx=-JT
其中,H对应海森矩阵,J对应雅可比矩阵,Δx则对应变化量信息。
这样,在初始位姿已知的情况下,上述第一导数矩阵和第二导数矩阵也为确定的值,在将确定的第一导数矩阵和第二导数矩阵带入到上述正规方程的情况下,即可以确定出用于对第一点云数据进行调整的变化量信息,由于这里是基于高斯分布趋于一致所实现的变化量调整,因而这时经过调整的第一点云数据一定程度上与第二点云数据更为匹配。
需要说明的是,在实际应用中,还可以基于其它方法构建正规方程以确定变化量信息,例如,还可以利用高斯牛顿法或者拟牛顿法,采用这些方法构建正规方程时,无法计算海森矩阵,还可以进一步提升计算的效率。
本公开实施例提供的有关第一点云数据的变化量信息的调整方法不仅可以按照上述方式直接对高斯得分和值表示函数进行导数运算来实现,还可以分别确定对每个第一点云点进行调整的变化量信息,以通过求和运算来确定。具体可以通过如下步骤来实现:
步骤一、针对每个第一点云点,从与第一点云数据中的多个第一点云点一一对应的多个线程中,确定与第一点云点对应的一个线程,通过确定的一个线程执行确定用于对该第一点云点进行调整的变化量信息的操作;
步骤二、对多个线程确定的变化量信息进行合并,得到用于对第一点云数据进行调整的变化量信息。
这里,可以利用每个第一点云点对应的一个线程,来执行确定用于对该第一点云点进行调整的变化量信息的操作。在具体应用中,可以将各第一点云点对应的线程同步运行,这大大加快了有关变化量信息的计算速度,进一步提升配准效率。
其中,有关对每个第一点云点进行调整的变化量信息的确定过程可以参照上述对第一点云数据进行调整的变化量信息的确定方法,也即,也可以分别通过一阶导数和二阶导数的运算结果来确定,在此不做赘述。
在具体应用中,往往需要进行多次变化量的调整实现第一点云数据与第二点云数据这两份数据分布的进一步逼近,可以通过如下步骤来实现:
步骤一、基于确定的变化量信息,调整对应的第一点云点的数据;
步骤二、循环执行针对调整后的每个第一点云点,基于该第一点云点的数据,确定多个点云栅格中与该第一点云点关联的目标点云栅格;基于调整后的第一点云数据中每个第一点云点关联的目标点云栅格,更新用于对第一点云数据进行调整的变化量信息的过程;
步骤三、直至在基于每个第一点云点关联的目标点云栅格,确定用于对第一点云数据进行调整的变化量信息小于预设变化量的情况下,确定调整后的第一点云数据与第二点云数据相匹配。
这里,可以基于确定的变化量信息对各个第一点云点的数据进行调整,再次基于调整后的数据来确定与每个第一点云点关联的目标点云栅格,直至在基于所关联的目标点云数据确定用于进行调整的变化量信息足够小的情况下,可以不再进行变化量的调整,并确定调整后的第一点云数据与第二点云数据相匹配。
本公开实施例中,所确定需要调整的变化量信息越小,一定程度上说明两份点云数据分布也越接近,迭代若干次后,即可以实现精度高和鲁棒性好的点云配准效果。
需要说明的是,这里的迭代截止条件不仅可以是变化量信息足够小,还可以是高斯函数不再随着迭代次数的增加而下降,除此之外,还可以是达到预设的迭代次数等,在此不做具体的限制。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与点云数据处理的方法对应的点云数据处理的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述点云数据处理的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图2所示,为本公开实施例提供的一种点云数据处理的装置的示意图,装置包括:获取模块201、处理模块202、确定模块203和调整模块204;其中,
获取模块201,用于获取雷达设备采集的第一点云数据、以及预先构建的点云地图所对应的第二点云数据;第一点云数据包括多个第一点云点的数据,第二点云数据包括多个第二点云点的数据;
处理模块202,用于对获取的第二点云数据进行栅格化处理,得到多个点云栅格;
确定模块203,用于针对每个第一点云点,基于该第一点云点的数据,确定多个点云栅格中与该第一点云点关联的目标点云栅格;
调整模块204,用于基于第一点云数据中每个第一点云点关联的目标点云栅格,确定用于对第一点云数据进行调整的变化量信息,以使得基于变化量信息调整后的第一点云数据与第二点云数据相匹配。
采用上述点云数据处理的装置,在获取到雷达设备采集的第一点云数据以及点云地图所对应的第二点云数据的情况下,可以先对第二点云数据进行栅格化处理,得到多个点云栅格,也即,可以将第二点云数据中的各个第二点云点映射到各个点云栅格。这里,为了实现第一点云数据和第二点云数据的匹配,可以针对每个第一点云点,从各个第二点云点映射到的各个点云栅格确定与这一第一点云点关联的目标点云栅格,这样,基于各个第一点云点关联的目标点云栅格,即可以确定出基于栅格匹配所意图达到的两份点云数据的匹配效果所应对第一点云数据进行调整的变化量信息。可知的是,在整个匹配过程中,无需依赖初始估计结果,以栅格匹配为导向,仅需对第一点云点适应性调整即可达到两份点云数据的匹配效果,操作简单高效,且配准的精度和鲁棒性均较好。
在一种可能的实施方式中,第二点云点的数据包括坐标信息;处理模块202,用于按照以下步骤对获取的第二点云数据进行栅格化处理,得到多个点云栅格:
按照预设栅格划分尺寸将第二点云数据对应的区域坐标范围划分为多个栅格坐标范围;
针对每个第二点云点,基于该第二点云点的坐标信息以及多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围;
将落入每个栅格坐标范围的至少一个第二点云点的数据,确定为该栅格坐标范围对应的点云栅格的数据。
在一种可能的实施方式中,处理模块202,用于按照如下步骤确定第二点云数据对应的区域坐标范围:
基于第二点云数据中包括的多个第二点云点的坐标信息,从多个第二点云点中,选取距离最远的两个第二点云点;
基于选取出的两个第二点云点的坐标信息,确定第二点云数据对应的区域坐标范围。
在一种可能的实施方式中,处理模块202,用于按照以下步骤针对每个第二点云点,基于该第二点云点的坐标信息以及多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围:
利用预先申请的第一图形处理器GPU资源,并行针对多个第二点云点中的每个第二点云点,基于该第二点云点的坐标信息以及多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围。
在一种可能的实施方式中,第一点云点的数据包括坐标信息;调整模块204,用于按照以下步骤针对每个第一点云点,基于该第一点云点的数据,确定多个点云栅格中与该第一点云点关联的目标点云栅格:
针对每个点云栅格,基于该点云栅格的数据,确定该点云栅格的质心点的坐标信息;
针对每个第一点云点,基于该第一点云点的坐标信息以及每个点云栅格的质心点的坐标信息,从多个点云栅格中查找质心点与该第一点云点的距离符合预设要求的点云栅格;
将查找到的点云栅格,确定为与该第一点云点关联的目标点云栅格。
在一种可能的实施方式中,调整模块204,用于按照以下步骤针对每个第一点云点,基于该第一点云点的坐标信息以及每个点云栅格的质心点的坐标信息,从多个点云栅格中查找质心点与该第一点云点的距离符合预设要求的点云栅格:
获取预先构建的索引树;索引树基于多个点云栅格中每个点云栅格的质心点的坐标信息构建得到,且索引树的每一个节点对应一个点云栅格的质心点;
针对每个第一点云点,基于该第一点云点的坐标信息以及构建的索引树,从索引树中查找到与该第一点云点的距离符合预设要求的节点,并将查找到的节点对应的质心点所在点云栅格,确定为从多个点云栅格中查找到的质心点与该第一点云点的距离符合预设要求的点云栅格。
在一种可能的实施方式中,调整模块204,用于按照以下步骤针对每个第一点云点,基于该第一点云点的坐标信息以及构建的索引树,从索引树中查找与该第一点云点的距离小于预设距离的节点:
利用预先申请的第二图形处理器GPU资源,并行针对多个第一点云点中的每个第一点云点,基于该第一点云点的坐标信息以及构建的索引树,从索引树中查找与该第一点云点的距离小于预设距离的节点。
在一种可能的实施方式中,调整模块204,用于按照以下步骤确定符合预设要求的点云栅格:
将质心点与第一点云点的距离小于预设距离的点云栅格确定为符合预设要求的点云栅格;
或者,将质心点与该第一点云点的距离等于最小预设距离的点云栅格确定为符合预设要求的点云栅格;
或者,按照质心点与第一点云点的距离的升序对多个点云栅格进行排序,将排序在第一至第预设位的点云栅格确定为符合预设要求的点云栅格。
在一种可能的实施方式中,调整模块204,用于按照以下步骤基于第一点云数据中每个第一点云点关联的目标点云栅格,确定用于对第一点云数据进行调整的变化量信息:
针对每个点云栅格,基于该点云栅格内的第二点云点的数据,确定该点云栅格对应的协方差;
针对每个第一点云点,基于该第一点云点关联的目标点云栅格的质心点的坐标信息和对应的协方差、以及雷达设备的位姿表示信息,构建针对该第一点云点的高斯得分表示函数;位姿表示信息用于表征雷达设备的位姿信息;
基于针对每个第一点云点构建的高斯得分表示函数,确定用于对第一点云数据进行调整的变化量信息。
在一种可能的实施方式中,调整模块204,用于按照以下步骤基于针对每个第一点云点构建的高斯得分表示函数,确定用于对第一点云数据进行调整的变化量信息:
针对每个第一点云点,从与第一点云数据中的多个第一点云点一一对应的多个线程中,确定与第一点云点对应的一个线程,通过确定的一个线程执行确定用于对该第一点云点进行调整的变化量信息的操作;
对多个线程确定的变化量信息进行合并,得到用于对第一点云数据进行调整的变化量信息。
在一种可能的实施方式中,调整模块204,用于按照以下步骤基于针对每个第一点云点构建的高斯得分表示函数,确定用于对第一点云数据进行调整的变化量信息:
将针对每个第一点云点构建的高斯得分表示函数进行求和运算,得到高斯得分和值表示函数;
对高斯得分和值表示函数求取有关雷达设备的位姿表示信息的一阶导数,得到第一导数矩阵;以及,
对高斯得分和值表示函数求取有关雷达设备的位姿表示信息的二阶导数,得到第二导数矩阵;
基于第一导数矩阵、第二导数矩阵、以及第一导数矩阵、第二导数矩阵和变化量信息之间的预设对应关系,确定用于对第一点云数据进行调整的变化量信息。
在一种可能的实施方式中,调整模块204,用于按照如下步骤确定基于变化量信息调整后的第一点云数据与第二点云数据相匹配:
在基于每个第一点云点关联的目标点云栅格,确定用于对第一点云数据进行调整的变化量信息小于预设变化量的情况下,确定调整后的第一点云数据与第二点云数据相匹配。
在一种可能的实施方式中,调整模块204,用于在确定用于对第一点云数据进行调整的变化量信息不小于预设变化量的情况下,重复执行如下操作:
基于确定的变化量信息,调整对应的第一点云点的数据;
针对调整后的每个第一点云点,基于该第一点云点的数据,确定多个点云栅格中与该第一点云点关联的目标点云栅格;
基于调整后的第一点云数据中每个第一点云点关联的目标点云栅格,更新用于对第一点云数据进行调整的变化量信息。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种电子设备,如图3所示,为本公开实施例提供的电子设备结构示意图,包括:处理器301、存储器302、和总线303。存储器302存储有处理器301可执行的机器可读指令(比如,图2中的装置中获取模块201、处理模块202、确定模块203、调整模块204对应的执行指令等),当电子设备运行时,处理器301与存储器302之间通过总线303通信,机器可读指令被处理器301执行时执行如下处理:
获取雷达设备采集的第一点云数据、以及预先构建的点云地图所对应的第二点云数据;第一点云数据包括多个第一点云点的数据,第二点云数据包括多个第二点云点的数据;
对获取的第二点云数据进行栅格化处理,得到多个点云栅格;
针对每个第一点云点,基于该第一点云点的数据,确定多个点云栅格中与该第一点云点关联的目标点云栅格;
基于第一点云数据中每个第一点云点关联的目标点云栅格,确定用于对第一点云数据进行调整的变化量信息,以使得基于变化量信息调整后的第一点云数据与第二点云数据相匹配。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的点云数据处理的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的点云数据处理的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (16)

1.一种点云数据处理的方法,其特征在于,所述方法包括:
获取雷达设备采集的第一点云数据、以及预先构建的点云地图所对应的第二点云数据;所述第一点云数据包括多个第一点云点的数据,所述第二点云数据包括多个第二点云点的数据;
对获取的所述第二点云数据进行栅格化处理,得到多个点云栅格;
针对每个所述第一点云点,基于该第一点云点的数据,确定所述多个点云栅格中与该第一点云点关联的目标点云栅格;
基于所述第一点云数据中每个所述第一点云点关联的目标点云栅格,确定用于对所述第一点云数据进行调整的变化量信息,以使得基于所述变化量信息调整后的第一点云数据与所述第二点云数据相匹配。
2.根据权利要求1所述的方法,其特征在于,所述第二点云点的数据包括坐标信息;所述对获取的所述第二点云数据进行栅格化处理,得到多个点云栅格,包括:
按照预设栅格划分尺寸将所述第二点云数据对应的区域坐标范围划分为多个栅格坐标范围;
针对每个第二点云点,基于该第二点云点的坐标信息以及所述多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围;
将落入每个栅格坐标范围的至少一个第二点云点的数据,确定为该栅格坐标范围对应的点云栅格的数据。
3.根据权利要求2所述的方法,其特征在于,按照如下步骤确定所述第二点云数据对应的区域坐标范围:
基于所述第二点云数据中包括的多个第二点云点的坐标信息,从多个第二点云点中,选取距离最远的两个第二点云点;
基于选取出的所述两个第二点云点的坐标信息,确定所述第二点云数据对应的区域坐标范围。
4.根据权利要求2或3所述的方法,其特征在于,所述针对每个第二点云点,基于该第二点云点的坐标信息以及所述多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围,包括:
利用预先申请的第一图形处理器GPU资源,并行针对所述多个第二点云点中的每个所述第二点云点,基于该第二点云点的坐标信息以及所述多个栅格坐标范围,确定该第二点云点落入的栅格坐标范围。
5.根据权利要求2-4任一所述的方法,其特征在于,所述第一点云点的数据包括坐标信息;所述针对每个所述第一点云点,基于该第一点云点的数据,确定所述多个点云栅格中与该第一点云点关联的目标点云栅格,包括:
针对每个所述点云栅格,基于该点云栅格内的第二点云点的数据,确定该点云栅格的质心点的坐标信息;
针对每个所述第一点云点,基于该第一点云点的坐标信息以及每个所述点云栅格的质心点的坐标信息,从所述多个点云栅格中查找质心点与该第一点云点的距离符合预设要求的点云栅格;
将查找到的点云栅格,确定为与该第一点云点关联的目标点云栅格。
6.根据权利要求5所述的方法,其特征在于,所述针对每个所述第一点云点,基于该第一点云点的坐标信息以及每个所述点云栅格的质心点的坐标信息,从所述多个点云栅格中查找质心点与该第一点云点的距离符合预设要求的点云栅格,包括:
获取预先构建的索引树;所述索引树基于所述多个点云栅格中每个所述点云栅格的质心点的坐标信息构建得到,且所述索引树的每一个节点对应一个点云栅格的质心点;
针对每个所述第一点云点,基于该第一点云点的坐标信息以及构建的所述索引树,从所述索引树中查找到与该第一点云点的距离符合预设要求的节点,并将查找到的所述节点对应的质心点所在点云栅格,确定为从所述多个点云栅格中查找到的质心点与该第一点云点的距离符合预设要求的点云栅格。
7.根据权利要求6所述的方法,其特征在于,所述针对每个所述第一点云点,基于该第一点云点的坐标信息以及构建的所述索引树,从所述索引树中查找与该第一点云点的距离小于预设距离的节点,包括:
利用预先申请的第二图形处理器GPU资源,并行针对所述多个第一点云点中的每个所述第一点云点,基于该第一点云点的坐标信息以及构建的所述索引树,从所述索引树中查找与该第一点云点的距离小于预设距离的节点。
8.根据权利要求6或7所述的方法,其特征在于,按照以下步骤确定所述符合预设要求的点云栅格:
将质心点与所述第一点云点的距离小于预设距离的点云栅格确定为所述符合预设要求的点云栅格;
或者,将质心点与该第一点云点的距离等于最小预设距离的点云栅格确定为所述符合预设要求的点云栅格;
或者,按照质心点与所述第一点云点的距离的升序对所述多个点云栅格进行排序,将排序在第一至第预设位的点云栅格确定为所述符合预设要求的点云栅格。
9.根据权利要求5-8任一所述的方法,其特征在于,所述基于所述第一点云数据中每个所述第一点云点关联的目标点云栅格,确定用于对所述第一点云数据进行调整的变化量信息,包括:
针对每个所述点云栅格,基于该点云栅格内的第二点云点的数据,确定该点云栅格对应的协方差;
针对每个第一点云点,基于该第一点云点关联的目标点云栅格的质心点的坐标信息和对应的协方差、以及所述雷达设备的位姿表示信息,构建针对该第一点云点的高斯得分表示函数;所述位姿表示信息用于表征所述雷达设备的位姿信息;
基于针对每个第一点云点构建的高斯得分表示函数,确定用于对所述第一点云数据进行调整的变化量信息。
10.根据权利要求9所述的方法,其特征在于,所述基于针对每个第一点云点构建的高斯得分表示函数,确定用于对所述第一点云数据进行调整的变化量信息,包括:
针对每个第一点云点,从与所述第一点云数据中的多个第一点云点一一对应的多个线程中,确定与所述第一点云点对应的一个线程,通过确定的所述一个线程执行所述确定用于对该第一点云点进行调整的变化量信息的操作;
对所述多个线程确定的所述变化量信息进行合并,得到用于对所述第一点云数据进行调整的变化量信息。
11.根据权利要求9所述的方法,其特征在于,所述基于针对每个第一点云点构建的高斯得分表示函数,确定用于对所述第一点云数据进行调整的变化量信息,包括:
将针对每个第一点云点构建的高斯得分表示函数进行求和运算,得到高斯得分和值表示函数;
对所述高斯得分和值表示函数求取有关所述雷达设备的位姿表示信息的一阶导数,得到第一导数矩阵;以及,
对所述高斯得分和值表示函数求取有关所述雷达设备的位姿表示信息的二阶导数,得到第二导数矩阵;
基于所述第一导数矩阵、所述第二导数矩阵、以及第一导数矩阵、第二导数矩阵和变化量信息之间的预设对应关系,确定用于对所述第一点云数据进行调整的变化量信息。
12.根据权利要求1-11任一所述的方法,其特征在于,按照如下步骤确定基于所述变化量信息调整后的第一点云数据与所述第二点云数据相匹配:
在基于每个所述第一点云点关联的目标点云栅格,确定用于对所述第一点云数据进行调整的变化量信息小于预设变化量的情况下,确定调整后的第一点云数据与所述第二点云数据相匹配。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在确定用于对所述第一点云数据进行调整的变化量信息不小于预设变化量的情况下,重复执行如下操作:
基于确定的所述变化量信息,调整对应的第一点云点的数据;
针对调整后的每个所述第一点云点,基于该第一点云点的数据,确定所述多个点云栅格中与该第一点云点关联的目标点云栅格;
基于调整后的所述第一点云数据中每个所述第一点云点关联的目标点云栅格,更新用于对所述第一点云数据进行调整的变化量信息。
14.一种点云数据处理的装置,其特征在于,所述装置包括:
获取模块,用于获取雷达设备采集的第一点云数据、以及预先构建的点云地图所对应的第二点云数据;所述第一点云数据包括多个第一点云点的数据,所述第二点云数据包括多个第二点云点的数据;
处理模块,用于对获取的所述第二点云数据进行栅格化处理,得到多个点云栅格;
确定模块,用于针对每个所述第一点云点,基于该第一点云点的数据,确定所述多个点云栅格中与该第一点云点关联的目标点云栅格;
调整模块,用于基于所述第一点云数据中每个所述第一点云点关联的目标点云栅格,确定用于对所述第一点云数据进行调整的变化量信息,以使得基于所述变化量信息调整后的第一点云数据与所述第二点云数据相匹配。
15.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至13任一所述的点云数据处理的方法的步骤。
16.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至13任一所述的点云数据处理的方法的步骤。
CN202110328474.9A 2021-03-26 2021-03-26 一种点云数据处理的方法、装置、电子设备及存储介质 Pending CN112907747A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110328474.9A CN112907747A (zh) 2021-03-26 2021-03-26 一种点云数据处理的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110328474.9A CN112907747A (zh) 2021-03-26 2021-03-26 一种点云数据处理的方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112907747A true CN112907747A (zh) 2021-06-04

Family

ID=76109296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110328474.9A Pending CN112907747A (zh) 2021-03-26 2021-03-26 一种点云数据处理的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112907747A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568997A (zh) * 2021-07-30 2021-10-29 京东鲲鹏(江苏)科技有限公司 点云地图更新方法、装置、电子设备和计算机可读介质
CN113671460A (zh) * 2021-08-20 2021-11-19 上海商汤临港智能科技有限公司 一种地图生成方法、装置、计算机设备及存储介质
CN113674296A (zh) * 2021-09-03 2021-11-19 广东三维家信息科技有限公司 一种区域切割方法、装置、电子设备及存储介质
CN114693505A (zh) * 2022-06-01 2022-07-01 中汽创智科技有限公司 一种点云数据的存储处理方法和装置
CN115407304A (zh) * 2022-08-30 2022-11-29 中国第一汽车股份有限公司 点云数据的处理方法及处理装置
CN115469292A (zh) * 2022-11-01 2022-12-13 天津卡尔狗科技有限公司 环境感知方法、装置、电子设备和存储介质
WO2023040437A1 (zh) * 2021-09-18 2023-03-23 北京京东乾石科技有限公司 路牙确定方法、装置、设备以及存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568997A (zh) * 2021-07-30 2021-10-29 京东鲲鹏(江苏)科技有限公司 点云地图更新方法、装置、电子设备和计算机可读介质
CN113671460A (zh) * 2021-08-20 2021-11-19 上海商汤临港智能科技有限公司 一种地图生成方法、装置、计算机设备及存储介质
WO2023019898A1 (zh) * 2021-08-20 2023-02-23 上海商汤智能科技有限公司 用于地图生成的方法、装置、计算机设备及存储介质
CN113671460B (zh) * 2021-08-20 2024-03-22 上海商汤临港智能科技有限公司 一种地图生成方法、装置、计算机设备及存储介质
CN113674296A (zh) * 2021-09-03 2021-11-19 广东三维家信息科技有限公司 一种区域切割方法、装置、电子设备及存储介质
WO2023040437A1 (zh) * 2021-09-18 2023-03-23 北京京东乾石科技有限公司 路牙确定方法、装置、设备以及存储介质
CN114693505A (zh) * 2022-06-01 2022-07-01 中汽创智科技有限公司 一种点云数据的存储处理方法和装置
CN114693505B (zh) * 2022-06-01 2022-09-06 中汽创智科技有限公司 一种点云数据的存储处理方法和装置
CN115407304A (zh) * 2022-08-30 2022-11-29 中国第一汽车股份有限公司 点云数据的处理方法及处理装置
CN115469292A (zh) * 2022-11-01 2022-12-13 天津卡尔狗科技有限公司 环境感知方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN112907747A (zh) 一种点云数据处理的方法、装置、电子设备及存储介质
US8014568B2 (en) Method for computer-aided identification of the child octants of a parent octant, which are intersected by a beam, in an octree data structure by means of look-up tables
CN113436238B (zh) 点云配准精度的评估方法、装置和电子设备
Najdataei et al. Continuous and parallel lidar point-cloud clustering
CN112418129B (zh) 一种点云数据处理的方法、装置、电子设备及存储介质
CN112847343A (zh) 动态目标跟踪定位方法、装置、设备和存储介质
CN109993793A (zh) 视觉定位方法及装置
CN111831660A (zh) 度量空间划分方式评价方法、装置、计算机设备及存储介质
CN104050710A (zh) 用隐式几何体进行3d图形渲染
CN113223078B (zh) 标志点的匹配方法、装置、计算机设备和存储介质
WO2021025761A1 (en) Sub-pixel data simulation system
CN115082611B (zh) 光照渲染方法、装置、设备和介质
CN112802126A (zh) 一种标定方法、装置、计算机设备和存储介质
CN112734837A (zh) 图像匹配的方法及装置、电子设备及车辆
Sipiran et al. SHREC'13 track: large-scale partial shape retrieval using simulated range images
CN113902856A (zh) 一种语义标注的方法、装置、电子设备及存储介质
CN117172633B (zh) 一种面向工业互联网平台的制造服务子图仿真方法及系统
CN113191323A (zh) 一种语义元素处理的方法、装置、电子设备及存储介质
CN113610967A (zh) 三维点检测的方法、装置、电子设备及存储介质
CN113222042A (zh) 一种评测方法、装置、电子设备及存储介质
Wang et al. Robust and real-time outdoor localization only with a single 2-D LiDAR
CN117152237A (zh) 一种距离场生成方法、装置、电子设备及存储介质
CN113077523A (zh) 一种标定方法、装置、计算机设备及存储介质
CN110413716B (zh) 数据存储和数据查询方法、装置及电子设备
CN115511731A (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