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

一种点云配准方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 12:00:51


一种点云配准方法、装置、电子设备及存储介质

技术领域

本公开涉及无人驾驶技术领域,具体而言,涉及一种点云配准方法、装置、电子设备及存储介质。

背景技术

近年来,无人驾驶领域高速发展,其中高精度地图是无人驾驶系统的基石技术。高精度地图通常分为多个图层,其中的点云地图层是其他图层的基础,而保障点云地图层达到高精度水平的核心技术是点云配准技术。比如,在构建点云地图时,将得到的当前帧的点云与已经得到的局部点云地图进行配准,在配准后将当前帧的点云加入得到的局部点云地图形成新的局部点云,如此往复,得到完整的点云地图。

通常采用的点云配准方法是正态分布变换(NDT,Normal DistributionTransform)算法,NDT算法的基本思想是首先确定源点云(当前帧的点云)和目标点云(得到的局部点云地图)在初始状态下的初始相对位姿(也称初值),然后基于该初值以及迭代算法,进行点云配准。然而,该方法对初值较为依赖,若初值的误差较大,将影响点云配准的精度。例如,在无人驾驶场景中,在峡谷或隧道等GNSS(Global Navigation SatelliteSystem,全球卫星导航)受限的场景,组合惯导提供的位姿信息会比较差,导致初值误差较大,进而影响点云配准的精度。

发明内容

本公开实施例至少提供一种点云配准方法、装置、电子设备及计算机可读存储介质。

第一方面,本公开实施例提供了一种点云配准方法,包括:

获取待配准的源点云和目标点云;

将所述目标点云划分成多个栅格,得到所述目标点云的体素栅格图;

以初始相对位姿为搜索起点,搜索得到所述源点云相对于所述目标点云的多组目标相对位姿数据;

基于所述多组目标相对位姿数据以及所述体素栅格图,确定优化相对位姿;

基于所述优化相对位姿以及迭代算法,对所述源点云以及所述目标点云进行点云配准。

本公开实施例中,由于在得到初始相对位姿后,以初始相对位姿为搜索起点,搜索得到所述源点云相对于所述目标点云的多组目标相对位姿数据,再基于所述多组目标相对位姿数据以及所述体素栅格图,确定优化相对位姿,最后基于优化相对位姿进行后面的迭代过程,如此,通过对初始相对位姿进行优化,即使初始相对位姿误差较大,也能够保证点云配准的精度,提高了点云配准方法的适用性。此外,由于该方法中的对初始相对位姿进行优化的过程可以和现有的NDT算法采用同一算法的框架来实现,进而提高了整体算法的处理效率。

根据第一方面,在一种可能的实施方式中,所述以初始相对位姿为搜索起点,搜索得到所述源点云相对于所述目标点云的多组目标相对位姿数据,包括:

以所述初始相对位姿为搜索起点,按照预设的搜索方向以及预设步长进行搜索,搜索得到所述多组目标相对位姿数据。

本公开实施例中,通过按照预设的搜索方向以及预设步长进行搜索,可以减少计算量,提高处理效率。

根据第一方面,在一种可能的实施方式中,所述以初始相对位姿为搜索起点,按照预设的搜索方向以及预设步长进行搜索,搜索得到所述多组目标相对位姿数据,包括:

以所述初始相对位姿为搜索起点,按照所述预设的搜索方向以及所述预设步长进行搜索,搜索得到多组相对位姿数据;

按照预设范围从所述多组相对位姿数据中确定所述多组目标相对位姿数据,所述预设范围为以所述初始相对位姿为搜索起点以及预设半径所形成的范围。

本公开实施例中,通过选择起点附近预设范围内的相对位姿数据作为目标相对位姿数据,可以提高运算的效率。

根据第一方面,在一种可能的实施方式中,在所述源点云和所述目标点云的高度相同,且所述源点云和目标点云的角度方向小于预设阈值的情况下,所述以所述初始相对位姿为搜索起点,按照预设的搜索方向以及预设步长进行搜索,包括:

以所述初始相对位姿为搜索起点,以二维坐标为变量按照所述预设的搜索方向以及预设步长进行搜索。

本公开实施例中,通过将6自由度的变量简化为二维变量,可以减少计算量,提高处理效率。

根据第一方面,在一种可能的实施方式中,所述基于所述多组目标相对位姿数据以及所述体素栅格图,确定优化相对位姿,包括:

将所述源点云中的每个点分别按照所述每一目标相对位姿向所述体素栅格图中投影,并计算针对每一所述目标相对位姿所对应的所有点在所述体素栅格图中的总高斯得分;

将最高的所述总高斯得分对应的目标相对位姿,确定为所述优化相对位姿。

本公开实施例中,通过计算针对每一所述目标相对位姿所对应的所有点在所述体素栅格图中的总高斯得分,来确定为所述优化相对位姿,可以提高优化相对位姿的确定精度。

根据第一方面,在一种可能的实施方式中,所述计算针对每一目标相对位姿所对应的所有点在所述体素栅格图中的总高斯得分,包括:

确定所述每个点投影至所述体素栅格图中的目标栅格,计算所述每个点在所述目标栅格中的高斯得分;

将所述每个点在所述目标栅格中的高斯得分求和,得到所述总高斯得分。

本公开实施例中,在计算总高斯得分的过程中,首先确定每个点投影至所述体素栅格图中的目标栅格,并计算所述每个点在所述目标栅格中的高斯得分,然后将所述每个点在所述目标栅格中的高斯得分求和,得到所述总高斯得分,可以提高总高斯得分的计算效率。

根据第一方面,在一种可能的实施方式中,所述确定所述每个点投影至所述体素栅格图中的目标栅格,计算所述每个点在所述目标栅格中的高斯得分包括:

计算所述体素栅格图中每个栅格内部点云的质心和协方差;

根据所述每个栅格的质心创建空间分割树,并根据所述空间分割树确定所述目标栅格。

基于所述目标栅格的所述质心和所述协方差,计算所述每个点在所述目标栅格中的高斯得分。

本公开实施例中,通过创建空间分割树来确定目标栅格,进而提高了目标栅格的确定效率,从而提高了每个点在所述目标栅格中的高斯得分的计算效率。

第二方面,本公开实施例还提供一种点云配准装置,包括:

获取模块,用于获取待配准的源点云和目标点云;

划分模块,用于将所述目标点云划分成多个栅格,得到所述目标点云的体素栅格图;

搜索模块,用于以初始相对位姿为搜索起点,搜索得到所述源点云相对于所述目标点云的多组目标相对位姿数据;

确定模块,用于基于所述多组目标相对位姿数据以及所述体素栅格图,确定优化相对位姿;

配准模块,用于基于所述优化相对位姿以及迭代算法,对所述源点云以及所述目标点云进行点云配准。

根据第二方面,在一种可能的实施方式中,所述搜索模块具体用于:

以所述初始相对位姿为搜索起点,按照预设的搜索方向以及预设步长进行搜索,搜索得到所述多组目标相对位姿数据。

根据第二方面,在一种可能的实施方式中,所述搜索模块具体用于:

以所述初始相对位姿为搜索起点,按照所述预设的搜索方向以及所述预设步长进行搜索,搜索得到多组相对位姿数据;

按照预设范围从所述多组相对位姿数据中确定所述多组目标相对位姿数据,所述预设范围为以所述初始相对位姿为搜索起点以及预设半径所形成的范围。

根据第二方面,在一种可能的实施方式中,在所述源点云和所述目标点云的高度相同,且所述源点云和目标点云的角度方向小于预设阈值的情况下,所述搜索模块具体用于:

以所述初始相对位姿为搜索起点,以二维坐标为变量按照所述预设的搜索方向以及预设步长进行搜索。

根据第二方面,在一种可能的实施方式中,所述确定模块具体用于:

将所述源点云中的每个点分别按照所述每一目标相对位姿向所述体素栅格图中投影,并计算针对每一所述目标相对位姿所对应的所有点在所述体素栅格图中的总高斯得分;

将最高的所述总高斯得分对应的目标相对位姿,确定为所述优化相对位姿。

根据第二方面,在一种可能的实施方式中,所述确定模块具体用于:

确定所述每个点投影至所述体素栅格图中的目标栅格,计算所述每个点在所述目标栅格中的高斯得分;

将所述每个点在所述目标栅格中的高斯得分求和,得到所述总高斯得分。

根据第二方面,在一种可能的实施方式中,所述确定模块具体用于:

计算所述体素栅格图中每个栅格内部点云的质心和协方差;

根据所述每个栅格的质心创建空间分割树,并根据所述空间分割树确定所述目标栅格。

基于所述目标栅格的所述质心和所述协方差,计算所述每个点在所述目标栅格中的高斯得分。

第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中所述的点云配准方法。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中所述的点云配准方法。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种点云配准方法的流程图;

图2示出了本公开实施例所提供的一种用于获取点云数据的车辆的示意图;

图3示出了本公开实施例所提供的一种构建目标点云的体素栅格图的示意图;

图4示出了本公开实施例所提供的一种确定优化相对位姿方法的流程图;

图5示出了本公开实施例所提供的一种计算所述总高斯得分的具体方法的流程图;

图6示出了本公开实施例所提供的一种点云配准装置的结构示意图;

图7示出了本公开实施例所提供的一种电子设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

近年来,无人驾驶领域高速发展,其中的相关技术譬如感知、定位、规划、决策都是完成自动驾驶的不可缺少的部分,而高精度地图正是无人驾驶系统的基石技术。高精度地图不仅可以辅助在线定位,也对无人车的决策、规划有非常重要的作用。高精度地图通常分为多个图层,其中的点云地图层,提供了高精度的全局点云信息,是其他图层的基础。在构建点云地图层时,采用多传感器融合建图定位技术,通过融合组合惯导的位姿信息和激光雷达的点云信息,来得到高精度的位置信息,进而构建点云地图,而保障点云地图层达到高精度水平的核心技术是点云配准技术。比如,在构建点云地图时,将得到的当前帧的点云与已经得到的局部点云地图进行配准,在配准后将当前帧的点云加入得到的局部点云地图形成新的局部点云,如此往复,得到完整的点云地图。

经研究发现,通常采用的点云配准方法是正态分布变换(NDT,NormalDistribution Transform)算法,NDT算法的基本思想是首先确定源点云(当前帧的点云)和目标点云(得到的局部点云地图)在初始状态下的初值,然后基于该初值以及迭代算法,进行点云配准。然而,该方法对初值较为依赖,若初值的误差较大,将影响点云配准的精度。例如,在无人驾驶场景中,在峡谷或隧道等GNSS(Global Navigation Satellite System,全球卫星导航)受限的场景,组合惯导提供的位姿信息会比较差,导致初值误差较大,进而影响点云配准的精度。

基于上述研究,本公开提供了一种点云配准方法,该方法可以获取待配准的源点云和目标点云,并将所述目标点云划分成多个栅格,得到所述目标点云的体素栅格图,然后以初始相对位姿为搜索起点,搜索得到所述源点云相对于所述目标点云的多组目标相对位姿数据,再基于所述多组目标相对位姿数据以及所述体素栅格图,确定优化相对位姿,最后基于所述优化相对位姿以及迭代算法,对所述源点云以及所述目标点云进行点云配准,如此,通过对初始相对位姿进行优化,即使初始相对位姿误差较大,也能够保证点云配准的精度,提高了点云配准方法的适用性。此外,由于该方法中的对初始相对位姿进行优化的过程可以和现有的NDT算法采用同一算法的框架来实现,进而提高了整体算法的处理效率。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种点云配准方法进行详细介绍,本公开实施例所提供的点云配准方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为移动设备、用户终端、终端、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该点云配准方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

参见图1所示,为本公开实施例所提供的一种点云配准方法的流程图,其中,该方法可以应用于上述电子设备中,或应用于本地或云端的服务器中。图1所示的点云配准方法包括以下S101~S105:

S101,获取待配准的源点云和目标点云。

所述点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合,称之为“点云”(PointCloud)。点云通常是通过激光雷达三维扫描测量设备获取的,而由于三维扫描测量设备受测量方式的限制和被测物体集合形状的限制,一次只能扫描被测物体有限范围的点云数据,这需要在多个视角下进行多次扫描,然而每个视角下得到点云数据是以扫描测量设备的位置为中心,都具有独立的坐标系,无法直接进行拼接。因此,就需要点云配准技术,通过对每个视角下获取的点云进行坐标转换,统一到全局坐标系下。

具体流程是通过一个点集(源点云)中的每一个点与另一个点集(目标点云)中的对应点的相互关系来实现点集与点集坐标系之间的转换,实现配准,也即,点云配准的过程实质就是求解源点云(source cloud)与目标点云(target cloud)之间的相对位姿变换,也称旋转平移矩阵或欧式变换,将源点云变换到目标点云相同的坐标系下。

具体可以表示为以下的方程:P

示例性地,参见图2所示,为本公开实施例提供的用于获取点云数据的车辆100的侧视图。其中,该车辆100为导航地图测绘车辆。也即,当该车辆100在路上行驶时,可以获取与周围环境相关的点云数据。

示例地,该车辆100包括图像采集单元10、全球卫星导航(GNSS)单元20、点云数据采集单元30、车辆轮速计单元40及多传感器数据时间同步单元50。

图像采集单元10用于获取与周围环境相关的多个图像。示例地,图像采集单元10可以包括多个单目相机,多个单目相机可以被设置在车辆100的外部(例如车辆上表面的前部)。

GNSS单元20用于提供车辆100的定位数据。例如,GNSS单元20可以是双天线GNSS信号接收模块,其可安装在车辆100的上表面的中部。

点云数据采集单元30用于获取与周围环境相关的点云数据。示例地,点云数据采集单元30可以包括激光雷达(例如倾斜多线激光雷达)。激光雷达用于向周围环境发射第一激光束并接收环境中物体(例如建筑物、交通信号灯、交通标识、车辆、行人、道路隔离带、道路等)反射的第二激光束。

车辆轮速计单元40用于提供轮速数据,可以被安装在车轮附近,例如后轮附近。

多传感器数据时间同步单元50与图像采集单元10、GNSS单元20、点云数据采集单元30及车辆轮速计单元40耦合,用于使图像采集单元10、GNSS单元20、点云数据采集单元30及车辆轮速计单元40获取的数据同步,其可设置于车辆100的侧面。

可以理解,车辆100还包括处理器(图2未示),该处理器可以与上述各个单元电连接,并依据上述各个单元所述获取的数据执行相应的方法,如本公开实施例中的点云配准方法。

S102,将所述目标点云划分成多个栅格,得到所述目标点云的体素栅格图。

示例地,参见图3所示,可以按照一定的尺寸,比如可以是2米,也可以是1米,将目标点云划分成多个尺寸相同的栅格,构建体素栅格图,每个栅格都存在目标点云中一定数量的点的分布,由于目标点云的点的分布往往是复杂无规律的,这里将目标点云中的点划分到栅格中,基于高斯理论,可以认为每个栅格中点的分布是符合正态分布的,也即所述体素栅格图表征的是栅格内点的分布的概率,进而表示目标点云中栅格内点的位置分布情况,此步骤中,通过构建目标点云的体素栅格图,为后续的计算做准备。

S103,以初始相对位姿为搜索起点,搜索得到所述源点云相对于所述目标点云的多组目标相对位姿数据。

其中,所述初始相对位姿为源点云与目标点云在配准之前初始状态下的相对位姿,也即配准之前源点云的初始位姿相对于目标点云的初始位姿的相对值,也可以称为初值。以初始相对位姿为起点,可以搜索得到源点云相对于目标点云的多组目标相对位姿数据,所述目标相对位姿数据包括多组不同的相对位姿。

在一些实施方式中,可以以初始相对位姿为搜索起点,按照预设的方向进行搜索,所述预设的方向可以是空间坐标系中任意的方向,比如可以是x轴方向,也可以是z轴方向,在此不做限定。

点云配准问题所求解的值为6自由度的状态量(x、y、z、α、β、γ),其中x、y、z表示的是空间坐标系中x轴、y轴、z轴的坐标,也即位置信息,α、β、γ表示的是分别与x轴、y轴、z轴的夹角,也即角度信息。而在本实施例中,由于针对的是无人驾驶场景,待配准的点云一般处于相同高度,因此z可以直接简化为0;同时角度方向上误差一般较小(比如小于预设阈值),α、β、γ也可以不用考虑,因此最终的待搜索的变量可以简化为二维坐标(x,y),那么就可以只按照x轴和y轴方向进行搜索,得到多组仅(x,y)不同的相对位姿。如此,可以减少计算量,提高处理效率。

在一些实施方式中,可以以初始相对位姿为搜索起点,按照预设的步长进行搜索,所述预设的步长可以是1米,也可以是2米,在此不做限定。由于待搜索的相对位姿是连续的,数量很大,通过按照预设的步长进行搜索,同样可以减少计算量,提高处理效率。

可以理解,在以初始相对位姿为搜索起点,预设方向进行搜索时,会得到若干组相对位姿数据,但为了提高运算的效率,可以选择起点附近的相对位姿数据作为目标相对位姿数据参与后续的运算即可。因此,在一些实施方式中,可以以初始相对位姿为搜索起点,搜索得到多组相对位姿数据,然后按照预设的范围从所述多组相对位姿数据中选择多组作为目标相对位姿数据,所述预设范围为以初始相对位姿为搜索起点以及预设半径所形成的范围。

S104,基于所述多组目标相对位姿数据以及所述体素栅格图,确定优化相对位姿。

在搜索到多组目标相对位姿数据后,基于所述多组目标相对位姿数据以及S102步骤中构建的体素栅格图,对所述初始相对位姿进行优化,得到优化后的相对位姿。其中,所述优化相对位姿为优化后的源点云位姿相对于目标点云位姿的相对值,该值相较于前述的初始相对位姿而言,准确率得到了提升。

需要说明的是,以上S101~S104步骤中阐述的方法是本公开实施例中点云配准方法中的粗配准的过程,也即确定一个大概准确的相对位姿的过程,而并非得到一个精准的相对位姿,具体的优化过程将在下述步骤中做详细阐述。

S105,基于所述优化相对位姿以及迭代算法,对所述源点云以及所述目标点云进行点云配准。

该步骤是基于上述步骤中计算得到的优化相对位姿,根据迭代算法对所述优化相对位姿进行不断的迭代优化直至收敛,得到最终的精准的相对位姿,也即精配准的过程。

本公开实施例中,由于在得到初始相对位姿后,以初始相对位姿为搜索起点,搜索得到所述源点云相对于所述目标点云的多组目标相对位姿数据,再基于所述多组目标相对位姿数据以及所述体素栅格图,确定优化相对位姿,最后基于优化相对位姿进行后面的迭代过程,如此,通过对初始相对位姿进行优化,即使初始相对位姿误差较大,也能够保证点云配准的精度,提高了点云配准方法的适用性。此外,由于该方法中的对初始相对位姿进行优化的过程可以和现有的NDT算法采用同一算法的框架来实现,进而提高了整体算法的处理效率。

针对上述步骤S104,参见图4所示,为具体的确定优化相对位姿方法的流程图,包括以下步骤S1041~S1043:

S1041,将所述源点云中的每个点分别按照所述每一目标相对位姿向所述体素栅格图中投影。

示例地,比如上述S103步骤中搜索到(1,1)、(2,2)、(3,3)三组目标相对位姿,则将源点云中的每个点分别以这三组目标相对位姿向所述体素栅格图中投影,由于目标相对位姿是不同的,投影结果必然不同。

S1042,计算针对每一所述目标相对位姿所对应的所有点在所述体素栅格图中的总高斯得分。

上述步骤S102中提到,目标点云的每个栅格中的点的分布是服从正态分布的,也即高斯分布,所述高斯得分表征的是源点云中的点落在目标点云对应栅格中正态分布的概率,得分越高,表示概率也大,进而表示源点云向目标点云投影之后配准得越精确。针对每一目标相对位姿分别将源点云向目标点云的体素栅格图投影,通过比较不同目标相对位姿对应的不同的总高斯得分,就可以判断出哪一个目标相对位姿是最优的相对位姿,针对所述总高斯得分的计算方法,将在下述步骤中做详细阐述。

S1043,将最高的所述总高斯得分对应的目标相对位姿,确定为所述优化相对位姿。

可以理解,计算完每一目标相对位姿对应的总高斯得分之后,通过比较,将最高的总高斯得分对应的目标相对位姿,确定为优化相对位姿,此时得到的优化相对位姿相对于初始相对位姿而言是相对准确的了,也即完成了粗配准的过程。

本公开实施例中,通过计算针对每一所述目标相对位姿所对应的所有点在所述体素栅格图中的总高斯得分,来确定为所述优化相对位姿,可以提高优化相对位姿的确定精度。

针对上述S1042,参见图5所示,为计算所述总高斯得分的具体方法的流程图,包括以下步骤S10421~S10423:

S10421,确定所述每个点投影至所述体素栅格图中的目标栅格。

为了计算源点云中的每个点在体素栅格图中对应的目标栅格的高斯得分,首先要确定每个点落入到哪一个目标栅格中。基于所述体素栅格图,针对每一个栅格,计算每个栅格内部点云的质心C和协方差P。假如一个栅格内包含了m个点,则其质心C和协方差P可以通过以下公式计算:

data={p

然后根据所有栅格的质心创建空间分割树,所述空间分割树可以是KD树,也可以是八叉树,在此不做限定。比如,KD树是每个节点均为K维数值的二叉树,其上的每个节点代表一个超平面,该超平面垂直于当前划分维度的坐标轴,并在该维度上将空间一分为二。其构建过程是循环选取数据点的各个维度来作为切分维度,将当前维度的中值作为划分点,递归处理各子树,直到所有数据点挂载完毕。创建空间分割树的目的是为了加快最近点搜索过程,进而能够快速确定源点云的点落入到哪一个目标栅格,具体的搜索过程这里不做详述。

S10422,计算所述每个点在所述目标栅格中的高斯得分。

可以理解,搜索到的目标栅格可以是一个栅格,也可以是多个近邻栅格,假设搜索到k个目标栅格,基于上述S10421中计算出的质心和协方差,则单个点的高斯得分计算方法如下:

即计算点p在所在目标栅格及其近邻目标栅格的得分并累加。其中,d

S10423,将所述每个点在所述目标栅格中的高斯得分求和,得到所述总高斯得分。

可以理解,每个点在对应的目标栅格中都计算一次高斯得分,然后将所有点的高斯得分求和,得到总高斯得分,进而将总高斯得分最高的目标相对位姿,确定为优化相对位姿。

针对上述步骤S105,具体的,将源点云以所述优化相对位姿向所述目标点云的体素栅格图进行投影,首先计算源点云中每个点落入的目标栅格,然后计算每个点在所述目标栅格中的高斯得分、梯度向量和海森矩阵。其中,目标栅格的选取和单个点的高斯得分计算方法与上述S104中确定优化相对位姿过程中的计算方法一致。这里,每个点的雅可比矩阵的计算方法如下:

其中:

ax

bx

c=x

d=x

e=x

f=x

g=x

h=x

上式中,x

每个点的海森矩阵的计算方法如下:

其中,

上式中的相关字母代表含义与计算雅可比矩阵中的含义相同。

待源点云中的所有点计算完毕后,将每个点计算结果累加求和,得到总的高斯得分、雅可比矩阵和海森矩阵。

基于上述步骤中计算出的雅可比矩阵和海森矩阵,根据牛顿法,构造正规方程,计算状态更新量,所述状态更新量为所述优化相对位姿在优化方向上的更新量。

HΔx-J

其中,H为海森矩阵,J为雅可比矩阵,Δx为状态更新量。

其中,求解方法不限于牛顿法,还可以采用高斯牛顿法或拟牛顿法等方法,在此不做限定。

将计算出的状态更新量作用于所述优化相对位姿,得到新的优化值,在以当前新的优化值重复上述S105中的步骤,迭代计算直至结果收敛后结束。其中,收敛条件一般设置为:

1、状态更新量小于一定阈值,认为状态量不会再有显著变化。

2、迭代次数大于一定阈值,避免过长时间的优化。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一技术构思,本公开实施例中还提供了与点云配准方法对应的点云配准装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述点云配准方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图6所示,为本公开实施例提供的一种点云配准装置的结构示意图,所述装置500包括:

获取模块501,用于获取待配准的源点云和目标点云;

划分模块502,用于将所述目标点云划分成多个栅格,得到所述目标点云的体素栅格图;

搜索模块503,用于以初始相对位姿为搜索起点,搜索得到所述源点云相对于所述目标点云的多组目标相对位姿数据;

确定模块504,用于基于所述多组目标相对位姿数据以及所述体素栅格图,确定优化相对位姿;

配准模块505,用于基于所述优化相对位姿以及迭代算法,对所述源点云以及所述目标点云进行点云配准。

在一种可能的实施方式中,所述搜索模块503具体用于:

以所述初始相对位姿为搜索起点,按照预设的搜索方向以及预设步长进行搜索,搜索得到所述多组目标相对位姿数据。

在一种可能的实施方式中,所述搜索模块503具体用于:

以所述初始相对位姿为搜索起点,按照所述预设的搜索方向以及所述预设步长进行搜索,搜索得到多组相对位姿数据;

按照预设范围从所述多组相对位姿数据中确定所述多组目标相对位姿数据,所述预设范围为以所述初始相对位姿为搜索起点以及预设半径所形成的范围。

在一种可能的实施方式中,在所述源点云和所述目标点云的高度相同,且所述源点云和目标点云的角度方向小于预设阈值的情况下,所述搜索模块503具体用于:

以所述初始相对位姿为搜索起点,以二维坐标为变量按照所述预设的搜索方向以及预设步长进行搜索。

在一种可能的实施方式中,所述确定模块504具体用于:

将所述源点云中的每个点分别按照所述每一目标相对位姿向所述体素栅格图中投影,并计算针对每一所述目标相对位姿所对应的所有点在所述体素栅格图中的总高斯得分;

将最高的所述总高斯得分对应的目标相对位姿,确定为所述优化相对位姿。

在一种可能的实施方式中,所述确定模块504具体用于:

确定所述每个点投影至所述体素栅格图中的目标栅格,计算所述每个点在所述目标栅格中的高斯得分;

将所述每个点在所述目标栅格中的高斯得分求和,得到所述总高斯得分。

在一种可能的实施方式中,所述确定模块504具体用于:

计算所述体素栅格图中每个栅格内部点云的质心和协方差;

根据所述每个栅格的质心创建空间分割树,并根据所述空间分割树确定所述目标栅格。

基于所述目标栅格的所述质心和所述协方差,计算所述每个点在所述目标栅格中的高斯得分。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

基于同一技术构思,本公开实施例还提供了一种电子设备。参照图7所示,为本公开实施例提供的电子设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换。

本申请实施例中,存储器702具体用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。也即,当电子设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701执行存储器702中存储的应用程序代码,进而执行前述任一实施例中所揭示的方法。

其中,存储器702可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。

处理器701可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

可以理解的是,本申请实施例示意的结构并不构成对电子设备700的具体限定。在本申请另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的点云配准方法。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机程序产品载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中的点云配准方法,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种点云配准方法、装置、电子设备及可读存储介质
  • 一种点云配准方法、装置、电子设备及存储介质
技术分类

06120113134898