CN104778688A - 点云数据的配准方法及装置 - Google Patents
点云数据的配准方法及装置 Download PDFInfo
- Publication number
- CN104778688A CN104778688A CN201510141889.XA CN201510141889A CN104778688A CN 104778688 A CN104778688 A CN 104778688A CN 201510141889 A CN201510141889 A CN 201510141889A CN 104778688 A CN104778688 A CN 104778688A
- Authority
- CN
- China
- Prior art keywords
- registration
- cloud data
- data
- frame
- frame cloud
- 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.)
- Granted
Links
Abstract
本发明公开一种点云数据的配准方法及装置,属于计算机技术领域。包括:对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数;根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据;从初始配准点云数据中提取配准参考数据,配准参考数据为配准度高的数据;以配准参考数据为参考再次对各帧点云数据进行配准,得到目标配准点云数据。本发明通过根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据后,进一步通过从初始配准点云数据中提取配准度比较高的配准参考数据,并以配准参考数据为参考对各帧点云数据进行再次配准,能够减小累积误差,从而能够得到比较准确的配准结果。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种点云数据的配准方法及装置。
背景技术
随着计算机技术的迅速发展,三维重建技术在计算机辅助几何设计、计算机图形学、计算机动画、医学图像处理等领域得到了广泛应用。影响三维重建技术的基础而核心问题是如何准确、快速获取场景、物体等目标对象的空间位置信息。具体地,在获取目标对象的空间位置信息时,通常会使用激光雷达等扫描设备在不同姿态下对目标对象进行多次扫描。点云数据即是通过扫描设备扫描到的目标对象表面离散点的空间坐标。由于受目标对象大小、环境以及测量器具等因素的限制,扫描设备在每次扫描时可能只能测量到目标对象的一个侧面。因此,为获得目标对象的完整数据信息,需要控制扫描设备以不同姿态对目标对象行多次扫描。其中,每次扫描可以得到一帧点云数据,将不同帧点云数据进行匹配和拼接,以统一到同一坐标系中的过程为点云数据的配准。
相关技术在进行点云数据的配准时,通常通过如下两种方式实现:
第一种方式为ICP(Iterative Closest Point,迭代最近点法)。具体地,该种方式的实现过程为:获取相邻的每两帧点云数据;确定相邻的每两帧点云数据中的所有匹配点;根据相邻的每两帧点云数据的所有匹配点,对ICP目标函数进行迭代计算,得到相邻的每两帧点云数据之间的姿态变换参数。根据各帧点云数据和相邻的每两帧点云数据之间的姿态变换参数,对各帧点云数据进行累积,得到目标配准点云数据。
第二种方式为NDT(Normal Distribution Transformation,正态分布变换法)。具体地,该种方式的实现过程为:获取相邻的每两帧点云数据;使用指定尺寸的立方单元格划分相邻的每两帧点云数据中的第二帧点云数据,并确定每个立方单元格中包括的第二帧点云数据中各个空间点的正态分布函数;根据相邻的每两帧点云数据中第一帧点云数据中各个空间点在立方单元格中的位置及正态分布函数优化NDT目标函数,将得到NDT目标函数的最大值时的姿态变换参数作为相邻的两帧点云数据之间的姿态变换参数。根据相邻的每两帧点云数据之间的姿态变换参数对各帧点云数据进行累积,得到目标配准点云数据。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
相关技术在进行点云数据的配准时,会根据各帧点云数据及相邻的每两帧点云数据之间的姿态变换参数,对各帧点云数据进行累积,而在配准相邻的每两帧点云数据时,可能会由于存在噪声数据等原因而出现配准误差问题,此时,在对一个点云序列中的各帧点云数据进行累积时,误差会被进一步放大,容易出现误差累计的情况,导致配准结果不准确。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种点云数据的配准方法及装置。所述技术方案如下:
第一方面,提供了一种点云数据的配准方法,所述方法包括:
对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数;
根据每个目标姿态变换参数,对各帧点云数据进行累积,得到初始配准点云数据;
从所述初始配准点云数据中,提取配准参考数据,所述配准参考数据为配准度高的数据;
以所述配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据。
结合第一方面,在第一方面的第一种可能的实现方式中,所述对相邻的每两帧点云数据进行配准之前,还包括:
滤除扫描设备扫描到的每帧点云数据中的第一噪声数据,得到各帧点云数据,所述第一噪声数据为与坐标原点之间的距离在第一预设数值范围外的点云数据,所述坐标原点为所述扫描设备所在位置处的坐标。
结合第一方面,在第一方面的第二种可能的实现方式中,所述对相邻的每两帧点云数据进行配准之前,还包括:
对于扫描设备扫描到的任一帧点云数据,计算所述点云数据中每个空间点第二预设范围内的所有邻域点与所述每个空间点之间的平均距离;
根据每个空间点对应的平均距离确定第一高斯分布函数,其中,第一高斯分布函数的均值为第一数值,方差为第二数值;
对于所述点云数据中的任一空间点,当所述空间点对应的平均距离与所述第一数值之间的差值大于所述第二数值时,将所述空间点作为一个第二噪声数据;
滤除所述扫描设备扫描到的每帧点云数据中的所有第二噪声数据,得到各帧点云数据。
结合第一方面,在第一方面的第三种可能的实现方式中,所述对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数,包括:
对于任一组相邻的两帧点云数据,使用ICP对所述相邻的两帧点云数据进行配准,得到所述相邻的两帧点云数据之间的第一姿态变换参数;
根据所述第一姿态变换参数将所述相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一配准点云数据;
使用NDT对所述第一配准点云数据和所述第二帧点云数据进行配准,得到所述第一配准点云数据与所述第二帧点云数据之间的第二姿态变换参数,将所述第二姿态变换参数作为所述相邻的两帧点云数据之间的目标姿态变换参数。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述对于任一组相邻的两帧点云数据,使用迭代最近点法ICP对所述相邻的两帧点云数据进行配准,得到所述相邻的两帧点云数据之间的第一姿态变换参数,包括:
对于任一组相邻的两帧点云数据,确定所述相邻的两帧点云数据中第一帧点云数据和第二帧点云数据之间的所有匹配点对;
使用所述第一帧点云数据和第二帧点云数据之间的所有匹配点对,对ICP目标函数进行迭代计算,以最小化所述ICP目标函数的值,将得到所述ICP目标函数的最小值时的姿态变换参数作为第一初始姿态变换参数;
根据所述第一初始姿态变换参数,将所述相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一初始配准点云数据;
确定所述第一初始配准点云数据与所述第二帧点云数据之间的所有匹配点对;
从所述第一初始配准点云数据与所述第二帧点云数据之间的所有匹配点对中,筛选出匹配点对之间的距离不大于第一指定数值的部分匹配点对;
使用所述部分匹配点对,对所述ICP目标函数进行迭代计算,以最小化所述ICP目标函数的值,将得到所述ICP的目标函数的最小值时的姿态变换参数作为第二初始姿态变换参数,并继续进行筛选部分匹配点的过程及最小化所述ICP目标函数的值的过程,直至所述第一指定数值不大于第一预设阈值时,将迭代得到的姿态变换参数作为第一姿态变换参数。
结合第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述使用NDT对所述第一配准点云数据和所述第二帧点云数据进行配准,得到所述第一配准点云数据与所述第二帧点云数据之间的第二姿态变换参数,包括:
使用第一尺寸的立方单元格划分所述第二帧点云数据;
对于任一第一尺寸的立方单元格,确定所述第一尺寸的立方单元格中空间点的第二高斯分布函数;
根据所述第一尺寸、所述第一尺寸的立方单元格中空间点的第二高斯分布函数及所述第一配准点云数据中各个空间点在所述第一尺寸的立方单元格中的位置,对NDT目标函数进行迭代计算,将得到NDT目标函数的最大值时的姿态变换参数作为第三初始姿态变换参数;
根据所述第三初始姿态变换参数,将所述第一配准点云数据拼接至所述第二帧点云数据,得到第二配准点云数据;
缩小所述第一尺寸的立方单元格的尺寸,并继续进行最大化NDT目标函数值的过程,直至所述第一尺寸的立方单元格的边长不大于第二预设阈值时,将迭代得到的姿态变换参数作为第二姿态变换参数。
结合第一方面,在第一方面的第六种可能的实现方式中,所述从所述初始配准点云数据中,提取配准参考数据,包括:
使用第二尺寸的立方单元格划分所述初始配准点云数据;
确定所有第二尺寸的立方单元格的数据矩阵,其中,每个数据矩阵中的一行元素表示一个空间点的三维坐标,每个数据矩阵的行数与每个第二尺寸的立方单元格中包括的初始配准点云数据的空间点数量相同;
根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵;
对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量;
当任一协方差矩阵的三个特征值中的任两个特征值与第三个特征值之间的差值超过第三预设阈值时,将所述协方差矩阵对应的第二尺寸的立方单元格所包括的空间点作为一个配准参考数据。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量之后,还包括:
统计各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数;
根据所述出现次数确定三个主方向,所述三个主方向两两垂直;
当任一第二尺寸的立方单元格的平面的法向量与任一主方向之间的角度不大于第四预设阈值时,将所述第二尺寸的立方单元格所包括的空间点作为所述主方向上的一个配准参考数据。
结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述方法还包括:
对于提取到的任一主方向上的各个配准参考数据,确定各个空间点所在平面与坐标原点之间的距离;
根据每个空间点所在平面与坐标原点之间的距离,将所述主方向上的配准参考数据划分为多个不相交的子集;
对每个子集中的空间点进行平面拟合,得到每个子集对应的拟合平面;
将所述主方向的配准参考数据中的各个空间点投影到对应的拟合平面上,将所述拟合平面上的投影点作为配准参考数据。
结合第一方面的第六种可能的实现方式至第一方面的第八种可能的实现方式中的任一种可能的实现方式,在第一方面的第九种可能的实现方式中,所述以所述配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据,包括:
以所述配准参考数据为参考,使用正态分布变换法NDT对各帧点云数据进行二次配准,得到每帧点云数据与所述配准参考数据之间的姿态变换参数;
根据每帧点云数据与所述配准参考数据之间的姿态变换参数对各帧点云数据进行累积,得到二次配准点云数据;
继续进行再次配准过程,将再次配准次数达到第二指定数值时得到的点云数据作为目标配准点云数据;
其中,在每次进行再次配准过程时,以从上一次再次配准过程得到的配准点云数据中提取出的配准参考数据为参考;在每次提取配准参考数据时,使用的立方单元格的边长小于上一次提取配准参考数据时使用的立方单元格的边长,且每次提取配准参考数据时使用的第三预设阈值大于上一次提取配准参考数据时使用的第三预设阈值。
第二方面,提供了一种点云数据的配准装置,所述装置包括:
初始配准模块,用于对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数;
累积模块,用于根据每个目标姿态变换参数,对各帧点云数据进行累积,得到初始配准点云数据;
提取模块,用于从所述初始配准点云数据中,提取配准参考数据,所述配准参考数据为配准度高的数据;
再次配准模块,用于以所述配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括:
第一滤除模块,用于滤除扫描设备扫描到的每帧点云数据中的第一噪声数据,得到各帧点云数据,所述第一噪声数据为与坐标原点之间的距离在第一预设数值范围外的点云数据,所述坐标原点为所述扫描设备所在位置处的坐标。
结合第二方面,在第二方面的第二种可能的实现方式中,所述装置还包括:
计算模块,用于对于扫描设备扫描到的任一帧点云数据,计算所述点云数据中每个空间点第二预设范围内的所有邻域点与所述每个空间点之间的平均距离;
第一确定模块,用于根据每个空间点对应的平均距离确定第一高斯分布函数,其中,第一高斯分布函数的均值为第一数值,方差为第二数值;
第二确定模块,用于对于所述点云数据中的任一空间点,当所述空间点对应的平均距离与所述第一数值之间的差值大于所述第二数值时,将所述空间点作为一个第二噪声数据;
第二滤除模块,用于滤除所述扫描设备扫描到的每帧点云数据中的所有第二噪声数据,得到各帧点云数据。
结合第二方面,在第二方面的第三种可能的实现方式中,所述初始配准模块包括:
第一配准单元,用于对于任一组相邻的两帧点云数据,使用ICP对所述相邻的两帧点云数据进行配准,得到所述相邻的两帧点云数据之间的第一姿态变换参数;
拼接单元,用于根据所述第一姿态变换参数将所述相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一配准点云数据;
第二配准单元,用于使用NDT对所述第一配准点云数据和所述第二帧点云数据进行配准,得到所述第一配准点云数据与所述第二帧点云数据之间的第二姿态变换参数,将所述第二姿态变换参数作为所述相邻的两帧点云数据之间的目标姿态变换参数。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所第一配准单元包括:
第一确定子单元,用于对于任一组相邻的两帧点云数据,确定所述相邻的两帧点云数据中第一帧点云数据和第二帧点云数据之间的所有匹配点对;
第一迭代子单元,用于使用所述第一帧点云数据和第二帧点云数据之间的所有匹配点对,对ICP目标函数进行迭代计算,以最小化所述ICP目标函数的值,将得到所述ICP目标函数的最小值时的姿态变换参数作为第一初始姿态变换参数;
第一拼接子单元,用于根据所述第一初始姿态变换参数,将所述相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一初始配准点云数据;
第二确定子单元,用于确定所述第一初始配准点云数据与所述第二帧点云数据之间的所有匹配点对;
筛选子单元,用于从所述第一初始配准点云数据与所述第二帧点云数据之间的所有匹配点对中,筛选出匹配点对之间的距离不大于第一指定数值的部分匹配点对;
第二迭代子单元,用于使用所述部分匹配点对,对所述ICP目标函数进行迭代计算,以最小化所述ICP目标函数的值,将得到所述ICP的目标函数的最小值时的姿态变换参数作为第二初始姿态变换参数,并继续进行筛选部分匹配点的过程及最小化所述ICP目标函数的值的过程,直至所述第一指定数值不大于第一预设阈值时,将迭代得到的姿态变换参数作为第一姿态变换参数。
结合第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二配准单元包括:
划分子单元,用于使用第一尺寸的立方单元格划分所述第二帧点云数据;
第三确定子单元,用于对于任一第一尺寸的立方单元格,确定所述第一尺寸的立方单元格中空间点的第二高斯分布函数;
第三迭代子单元,用于根据所述第一尺寸、所述第一尺寸的立方单元格中空间点的第二高斯分布函数及所述第一配准点云数据中各个空间点在所述第一尺寸的立方单元格中的位置,对NDT目标函数进行迭代计算,将得到NDT目标函数的最大值时的姿态变换参数作为第三初始姿态变换参数;
第二拼接子单元,用于根据所述第三初始姿态变换参数,将所述第一配准点云数据拼接至所述第二帧点云数据,得到第二配准点云数据;
缩小子单元,用于缩小所述第一尺寸的立方单元格的尺寸,并继续进行最大化NDT目标函数值的过程,直至所述第一尺寸的立方单元格的边长不大于第二预设阈值时,将迭代得到的姿态变换参数作为第二姿态变换参数。
结合第二方面,在第二方面的第六种可能的实现方式中,所述提取模块包括:
第一划分单元,用于使用第二尺寸的立方单元格划分所述初始配准点云数据;
第一确定单元,用于确定所有第二尺寸的立方单元格的数据矩阵,其中,每个数据矩阵中的一行元素表示一个空间点的三维坐标,每个数据矩阵的行数与每个第二尺寸的立方单元格中包括的初始配准点云数据的空间点数量相同;
计算单元,用于根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵;
分解单元,用于对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量;
第二确定单元,用于当任一协方差矩阵的三个特征值中的任两个特征值与第三个特征值之间的差值超过第三预设阈值时,将所述协方差矩阵对应的第二尺寸的立方单元格所包括的空间点作为一个配准参考数据。
结合第二方面的第六种可能的实现方式中,在第二方面的第七种可能的实现方式中,所述提取模块还包括:
统计单元,用于统计各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数;
第三确定单元,用于根据所述出现次数确定三个主方向,所述三个主方向两两垂直;
第四确定单元,用于当任一第二尺寸的立方单元格的平面的法向量与任一主方向之间的角度不大于第四预设阈值时,将所述第二尺寸的立方单元格所包括的空间点作为所述主方向上的一个配准参考数据。
结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述提取模块还包括:
第五确定单元,用于对于提取到的任一主方向上的各个配准参考数据,确定各个空间点所在平面与坐标原点之间的距离;
第二划分单元,用于根据每个空间点所在平面与坐标原点之间的距离,将所述主方向上的配准参考数据划分为多个不相交的子集;
拟合单元,用于对每个子集中的空间点进行平面拟合,得到每个子集对应的拟合平面;
投影单元,用于将所述主方向的配准参考数据中的各个空间点投影到对应的拟合平面上,将所述拟合平面上的投影点作为配准参考数据。
结合第二方面的第六种可能的实现方式至第二方面的第八种可能的实现方式中的任一种可能的实现方式,在第二方面的第九种可能的实现方式中,所述再次配准模块包括:
第一再次配准单元,用于以所述配准参考数据为参考,使用正态分布变换法NDT对各帧点云数据进行二次配准,得到每帧点云数据与所述配准参考数据之间的姿态变换参数;
累积单元,用于根据每帧点云数据与所述配准参考数据之间的姿态变换参数对各帧点云数据进行累积,得到二次配准点云数据;
第二再次配准单元,用于继续进行再次配准过程,将再次配准次数达到第二指定数值时得到的点云数据作为目标配准点云数据;
其中,在每次进行再次配准过程时,以从上一次再次配准过程得到的配准点云数据中提取出的配准参考数据为参考;在每次提取配准参考数据时,使用的立方单元格的边长小于上一次提取配准参考数据时使用的立方单元格的边长,且每次提取配准参考数据时使用的第三预设阈值大于上一次提取配准参考数据时使用的第三预设阈值。
本发明实施例提供的技术方案带来的有益效果是:
通过对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数,并根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据后,进一步通过从初始配准点云数据中提取配准度比较高的配准参考数据,并以配准参考数据为参考对各帧点云数据进行再次配准,能够减小累积误差,从而能够得到比较准确的配准结果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种点云数据的配准方法流程图;
图2是本发明另一实施例提供的一种点云数据的配准方法流程图;
图3是本发明另一实施例提供的一种对相邻的两帧点云数据进行配准的过程示意图;
图4是本发明另一实施例提供的一种点云数据的配准装置的结构示意图;
图5是本发明另一实施例提供的一种点云数据的配准装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明一实施例提供的一种点云数据的配准方法流程图。参见图1,本发明实施例提供的方法流程包括:
101:对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数。
102:根据每个目标姿态变换参数,对各帧点云数据进行累积,得到初始配准点云数据。
103:从初始配准点云数据中,提取配准参考数据,其中,配准参考数据为配准度高的数据。
104:以配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据。
本发明实施例提供的方法,通过对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数,并根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据后,进一步通过从初始配准点云数据中提取配准度比较高的配准参考数据,并以配准参考数据为参考对各帧点云数据进行再次配准,能够减小累积误差,从而能够得到比较准确的配准结果。
在另一个实施例中,对相邻的每两帧点云数据进行配准之前,还包括:
滤除扫描设备扫描到的每帧点云数据中的第一噪声数据,得到各帧点云数据,其中,第一噪声数据为与坐标原点之间的距离在第一预设数值范围外的点云数据,坐标原点为扫描设备所在位置处的坐标。
在另一个实施例中,对相邻的每两帧点云数据进行配准之前,还包括:
对于扫描设备扫描到的任一帧点云数据,计算点云数据中每个空间点第二预设范围内的所有邻域点与每个空间点之间的平均距离;
根据每个空间点对应的平均距离确定第一高斯分布函数,其中,第一高斯分布函数的均值为第一数值,方差为第二数值;
对于点云数据中的任一空间点,当空间点对应的平均距离与第一数值之间的差值大于第二数值时,将空间点作为一个第二噪声数据;
滤除扫描设备扫描到的每帧点云数据中的所有第二噪声数据,得到各帧点云数据。
在另一个实施例中,对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数,包括:
对于任一组相邻的两帧点云数据,使用ICP对相邻的两帧点云数据进行配准,得到相邻的两帧点云数据之间的第一姿态变换参数;
根据第一姿态变换参数将相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一配准点云数据;
使用正态分布变换法NDT对第一配准点云数据和第二帧点云数据进行配准,得到第一配准点云数据与第二帧点云数据之间的第二姿态变换参数,将第二姿态变换参数作为相邻的两帧点云数据之间的目标姿态变换参数。
在另一个实施例中,对于任一组相邻的两帧点云数据,使用迭代最近点法ICP对相邻的两帧点云数据进行配准,得到相邻的两帧点云数据之间的第一姿态变换参数,包括:
对于任一组相邻的两帧点云数据,确定相邻的两帧点云数据中第一帧点云数据和第二帧点云数据之间的所有匹配点对;
使用第一帧点云数据和第二帧点云数据之间的所有匹配点对,对ICP目标函数进行迭代计算,以最小化ICP目标函数的值,将得到ICP目标函数的最小值时的姿态变换参数作为第一初始姿态变换参数;
根据第一初始姿态变换参数,将相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一初始配准点云数据;
确定第一初始配准点云数据与第二帧点云数据之间的所有匹配点对;
从第一初始配准点云数据与第二帧点云数据之间的所有匹配点对中,筛选出匹配点对之间的距离不大于第一指定数值的部分匹配点对;
使用部分匹配点对,对ICP目标函数进行迭代计算,以最小化ICP目标函数的值,将得到ICP的目标函数的最小值时的姿态变换参数作为第二初始姿态变换参数,并继续进行筛选部分匹配点的过程及最小化ICP目标函数的值的过程,直至第一指定数值不大于第一预设阈值时,将迭代得到的姿态变换参数作为第一姿态变换参数。
在另一个实施例中,使用NDT对第一配准点云数据和第二帧点云数据进行配准,得到第一配准点云数据与第二帧点云数据之间的第二姿态变换参数,包括:
使用第一尺寸的立方单元格划分第二帧点云数据;
对于任一第一尺寸的立方单元格,确定第一尺寸的立方单元格中空间点的第二高斯分布函数;
根据第一尺寸、第一尺寸的立方单元格中空间点的第二高斯分布函数及第一配准点云数据中各个空间点在第一尺寸的立方单元格中的位置,对NDT目标函数进行迭代计算,将得到NDT目标函数的最大值时的姿态变换参数作为第三初始姿态变换参数;
根据第三初始姿态变换参数,将第一配准点云数据拼接至第二帧点云数据,得到第二配准点云数据;
缩小第一尺寸的立方单元格的尺寸,并继续进行最大化NDT目标函数值的过程,直至第一尺寸的立方单元格的边长不大于第二预设阈值时,将迭代得到的姿态变换参数作为第二姿态变换参数。
在另一个实施例中,从初始配准点云数据中,提取配准参考数据,包括:
使用第二尺寸的立方单元格划分初始配准点云数据;
确定所有第二尺寸的立方单元格的数据矩阵,其中,每个数据矩阵中的一行元素表示一个空间点的三维坐标,每个数据矩阵的行数与每个第二尺寸的立方单元格中包括的初始配准点云数据的空间点数量相同;
根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵;
对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量;
当任一协方差矩阵的三个特征值中的任两个特征值与第三个特征值之间的差值超过第三预设阈值时,将协方差矩阵对应的第二尺寸的立方单元格所包括的空间点作为一个配准参考数据。
在另一个实施例中,对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量之后,还包括:
统计各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数;
根据出现次数确定三个主方向,三个主方向两两垂直;
当任一第二尺寸的立方单元格的平面的法向量与任一主方向之间的角度不大于第四预设阈值时,将第二尺寸的立方单元格所包括的空间点作为主方向上的一个配准参考数据。
在另一个实施例中,方法还包括:
对于提取到的任一主方向上的各个配准参考数据,确定各个空间点所在平面与坐标原点之间的距离;
根据每个空间点所在平面与坐标原点之间的距离,将主方向上的配准参考数据划分为多个不相交的子集;
对每个子集中的空间点进行平面拟合,得到每个子集对应的拟合平面;
将主方向的配准参考数据中的各个空间点投影到对应的拟合平面上,将拟合平面上的投影点作为配准参考数据。
在另一个实施例中,以配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据,包括:
以配准参考数据为参考,使用NDT对各帧点云数据进行二次配准,得到每帧点云数据与配准参考数据之间的姿态变换参数;
根据每帧点云数据与配准参考数据之间的姿态变换参数对各帧点云数据进行累积,得到二次配准点云数据;
继续进行再次配准过程,将再次配准次数达到第二指定数值时得到的点云数据作为目标配准点云数据;
其中,在每次进行再次配准过程时,以从上一次再次配准过程得到的配准点云数据中提取出的配准参考数据为参考;在每次提取配准参考数据时,使用的立方单元格的边长小于上一次提取配准参考数据时使用的立方单元格的边长,且每次提取配准参考数据时使用的第三预设阈值大于上一次提取配准参考数据时使用的第三预设阈值。
图2是本发明另一实施例提供的一种点云数据的配准方法流程图。参见图2,本发明实施例提供的方法流程包括:
201:滤除扫描设备扫描到的每帧点云数据中的噪声数据。
其中,噪声数据可能为不同类型的数据。例如,噪声数据至少包括固定噪声数据和统计噪声数据。
固定噪声数据的产生原因为:扫描设备通常固定于一个移动实验平台上,在其扫描过程中需要人员的操作。因此,在扫描得到的各帧点云数据中,必然会包含属于实验平台和操作人员的空间点,这些空间点即为固定噪声数据。固定噪声数据在每帧点云数据中都会存在。此外,基于扫描设备的扫描原理,其在较远距离上的扫描精度会降低,因此,远距离上的点云数据也可以视为固定噪声数据。
统计噪声数据的产生原因为:扫描设备捕捉到的点云数据在空间上密度并不均匀,其测量误差会导致产生一些空间上稀疏分布的异常点,这些异常点会造成对扫描到的目标对象的正常数据的污染,并对下一步的点云数据的配准造成不利影响。这些在空间中呈现异常分布的空间点即为统计噪声数据。
结合上述内容,为了确保参与点云数据配准的数据中的噪声数据比较小,从而使得配准结果比较准确,在进行点云数据的配准时,需要先滤除扫描设备扫描到的每帧点云数据中的噪声数据。具体地,结合噪声数据的类型,包括但不限于通过如下两种方式来滤除噪声数据:
第一种方式:该种方式可以用于滤除固定噪声数据,下述的第一噪声数据可以为固定噪声数据。
具体地,结合固定噪声数据的产生原因,在滤除固定噪声数据时,可以滤除扫描设备扫描到的每帧点云数据中的第一噪声数据,得到各帧点云数据,其中,第一噪声数据为与坐标原点之间的距离在第一预设数值范围外的点云数据,坐标原点为扫描设备所在位置处的坐标。
其中,预设数值范围可以根据扫描设备的类型、扫描精度等确定。例如,对于Lidar(激光雷达)扫描设备,该第一预设数值范围可以设置为1.5米至25米。在该种方式下,当扫描到的某一个空间点与扫描设备之间的距离大于25米或小于1.5米时,可以将该空间点的空间坐标作为一个第一噪声数据,并将其滤除,从而减少对点云数据的配准过程造成的干扰。
第二种方式:该种方式可以用于滤除统计噪声数据,下述的第二噪声数据可以为固定噪声数据。
结合统计噪声数据的产生原因,可以通过如下步骤2011至步骤2014来实现滤除统计噪声数据。其中,为了便于说明,以扫描设备扫描到的任一帧点云数据为例进行说明。
2011:对于扫描设备扫描到的任一帧点云数据,计算该点云数据中每个空间点第二预设范围内的所有邻域点与每个空间点之间的平均距离。
其中,本发明实施例不对第二预设范围的具体数值进行限定。例如,该第二预设范围可以为空间点周围10米范围。具体地,对于空间点A,当扫描设备扫描到的该帧点云数据中的任一个空间点B落在该空间点A的第二预设范围内时,将该空间点B作为空间点A的一个邻域点。
具体地,对于任一个空间点,在计算该空间点与其第二预设范围内的邻域点之间的平均距离时,可以先获取该空间点第二预设范围内的所有邻域点,并确定该空间点与每个邻域点之间的距离;进一步地,根据该空间点与每个邻域点之间的距离,计算该空间点对应的平均距离。其中,任一空间点对应的平均距离为该空间点与其第二预设范围内的邻域点之间的平均距离。
2012:根据每个空间点对应的平均距离确定第一高斯分布函数,其中,第一高斯分布函数的均值为第一数值,方差为第二数值。
在本发明实施例中,假设所有空间点对应的平均距离服从高斯分布,因此,对于一帧扫描到的点云数据,可以用第一高斯分布函数来表示所有空间点对应的平均距离的分布情况。其中,在确定第一高斯分布函数时,可以先确定所有空间点对应的平均距离的均值和方差,然后将该均值和方差分别代入标准高斯分布函数中实现。其中,第一数值用于表示第一高斯分布函数的均值,第二数值用于表示第一高斯分布函数的方差。
2013:对于扫描设备扫描到的该帧点云数据中的任一空间点,当该空间点对应的平均距离与第一数值之间的差值大于第二数值时,将该空间点作为一个第二噪声数据。
在本发明实施例中,当任一空间点对应的平均距离与第一数值之间的差值大于第二数值时,确定该空间点不满足统计规律,因此,将该空间点作为一个第二噪声数据。
对于扫描设备扫描到的每帧点云数据均进行上述步骤2011至步骤2013,即可确定扫描设备扫描到的每帧点云数据中的所有第二噪声数据。
2014:滤除扫描设备扫描到的每帧点云数据中的所有第二噪声数据,得到各帧点云数据。
为了避免这些第二噪声数据对后续的数据配准过程产生影响,可以滤除扫描设备扫描到的每帧点云数据中的所有第二噪声数据。
需要说明的是,该步骤201为可选步骤。通过该可选步骤,能够滤除扫描设备扫描到的每帧点云数据中的噪声数据,从而能够避免该噪声数据对后续的点云数据的配准过程产生影响,从而导致配准结果不准确的现象出现。
202:对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数。
其中,该步骤为进行局部配准的实现过程。通常,扫描设备在进行扫描时,会进行多次扫描,每次扫描可以获得一帧点云数据,扫描完成时得到的各帧点云数据构成一组点云数据序列。在点云数据的配准过程中,为了获得扫描设备在扫描相邻的两帧点云数据时的姿态变换情况,以便于将一帧点云数据拼接至另一帧点云数据,从而得到表征目标对象空间位置的完整信息,针对于相邻的每两帧点云数据,需要分别进行配准。此处,扫描设备的姿态是指扫描设备的传感器外部参数,该参数可以包括镜头的方向和位置等。另外,每帧点云数据中至少包括目标对象上的某一空间点的三维坐标。当然,每帧点云数据还可以包括目标对象的颜色信息(RGB值)或物体反射面强度等参数。
在本发明实施例中,用参数F表示扫描设备扫描得到的一组点云数据序列,扫描设备通过对同一目标对象在不同姿态下进行多次扫描,可以得到一组点云数据序列F={F1,F2,F3,......FN}。Fi表示第i次扫描得到的一帧点云数据。另外,为了便于对相邻的每两帧点云数据的配准过程进行说明,在该步骤后续内容中,以Fj与Fj+1分别表示一组相邻的两帧点云数据中的第一帧点云数据和第二帧点云数据,以uj和vj+1分别表示Fj与Fj+1中的空间点。其中, 另外,对于任一组相邻的两帧点云数据,其均包括第一帧点云数据和第二帧点云数据。下面将结合该部分内容对任一组相邻的两帧点云数据进行配准的过程进行详细阐述。具体地,对任一组相邻的两帧点云数据进行配准的过程可通过如下步骤2021至步骤2023来实现:
2021:使用ICP对相邻的两帧点云数据中的第一帧点云数据和第二帧点云数据进行配准,得到该相邻的两帧点云数据中的第一帧点云数据和第二帧点云数据之间的第一姿态变换参数。
具体地,由于在进行相邻的两帧点云数据的配准时,需要确定采集两帧点云数据时扫描设备相对姿态的改变,因此,在本发明实施例中,使用参数化模型表示相邻的两帧点云数据之间的相对姿态的改变。其中,该参数化模型包括两部分参数:
其中,R=RxRyRz,表示扫描设备姿态的三维旋转矩阵,Rx,Ry和Rz分别对应扫描设备绕三条坐标轴旋转的矩阵表示。t=[tx,ty,tz],表示扫描设备姿态的三维平移向量,tx,ty,tz分别对应扫描设备沿三条坐标轴平移的距离。
其中,在使用ICP进行配准时,需要结合相邻的两帧点云数据中的匹配点对来实现。而当扫描设备在扫描目标对象时,在扫描相邻的两帧点云数据时,其姿态变化程度往往比较小,从而便于查找到相邻的两帧点云数据之间的匹配点对,因此,在本发明实施例中,先通过ICP对相邻的两帧点云数据进行配准。具体地,通过ICP对相邻的两帧点云数据中的第一帧点云数据和第二帧点云数据进行配准的过程,可以通过下述步骤2021.1至步骤2021.5来实现。
2021.1:确定第一帧点云数据和第二帧点云数据之间的所有匹配点对。
其中,对于一组相邻两帧点云数据,如果其第一帧点云数据中的某个空间点与第二帧点云数据中的某个空间点之间的欧式距离最近,且该最近的欧式距离不大于指定阈值,则确定这两个空间点为一对匹配点对。关于指定阈值的具体数值,本发明实施例不作具体限定。具体实施时,可以根据需要设定。
结合上述内容,在确定第一帧点云数据和第二帧点云数据之间的所有匹配点对时,包括但不限于:获取第一帧点云数据中的任一空间点,在第二帧点云数据中的查找与该空间点之间的欧氏距离最近的空间点,得到针对该空间点的匹配点对。对于第一帧点云数据中的所有空间点均进行该操作,即可得到第一帧点云数据和第二帧点云数据之间的所有匹配点对。
2021.2:使用第一帧点云数据和第二帧点云数据之间的所有匹配点对,对ICP目标函数进行迭代计算,以最小化ICP目标函数的值,将得到ICP目标函数的最小值时的姿态变换参数作为第一初始姿态变换参数。
其中,ICP目标函数可以用公式表示为:
式中,n为第一帧点云数据Fj与第二帧点云数据Fj+1之间的所有匹配点对的数量,E是以三维旋转矩阵和三维平移向量为变量构造的ICP目标函数。其中,最小化E即最小化ICP目标函数的过程。
其中,在对ICP目标函数进行迭代操作时,可以先为R和t分别初始化一个值,并使用第一帧点云数据与第二帧点云数据之间的所有匹配点对进行计算,得到一个E。在后续迭代过程中,不断优化R和t的值,直至迭代结束时,将迭代过程中E最小时对应的R和t作为第一初始姿态变换参数。
上述步骤2021.1和步骤2021.2描述了当相邻两帧点云数据中的所有匹配点对均参与ICP目标函数的计算时,得到姿态变换参数的过程。然而,令相邻的两帧点云数据中的所有匹配点对均参与计算并不一定能获得相邻的两帧点云数据之间的最优的姿态变换参数。在本发明实施例中,为了优化相邻的两帧点云数据之间的姿态变换参数,将采用层次化的迭代策略进一步优化步骤2021.1和步骤2021.2得到的相邻的两帧点云数据之间的第一初始姿态变换参数,具体的层次化迭代策略可以参见下述步骤2021.3至步骤2021.5。
2021.3:根据第一初始姿态变换参数,将相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一初始配准点云数据。
具体地,在进行拼接时,可以将第一帧点云数据中的每个点旋转第一初始姿态变换参数中的三维旋转矩阵中的每个元素所对应的值,并平移第一初始姿态变换参数中三维平移向量的值,即可将第一帧点云数据拼接至第二帧点云数据中,从而得到第一初始配准点云数据。
2021.4:确定第一初始配准点云数据与第二帧点云数据之间的所有匹配点,并从第一初始配准点云数据与第二帧点云数据之间的所有匹配点对中,筛选出匹配点对之间的距离不大于第一指定数值的部分匹配点对。
第一指定数值可以是结合目标对象的类型而选择的一个经验值。关于第一指定数值的具体数值大小,本发明实施例不作具体限定。例如,当目标对象是一栋建筑物时,第一指定数值可以设置得比较大;当目标对象是一个花瓶时,第一指定数值可以设置得比较小。
其中,确定第一初始配准点云数据与第二帧点云数据之间的所有匹配点的方式可以参见上述步骤2021.1中确定第一帧点云数据和第二帧点云数据之间的所有匹配点对的方式,此处不再赘述。
进一步地,筛选出的第一初始配准点云数据与第二帧点云数据之间的部分匹配点对满足如下公式:
(u,v)'={(u,v)||u-v|<max_distance} (3)
式中,max_distance表示第一指定数值。由于筛选出的部分匹配点对之间的距离在一定数值范围内,因此,筛选出的部分匹配点对是置信度比较高的匹配点对。
2021.5:使用第一初始配准点云数据与第二帧点云数据之间的部分匹配点对,对ICP目标函数进行迭代计算,以最小化ICP目标函数的值,将得到ICP的目标函数的最小值时的姿态变换参数作为第二初始姿态变换参数。
该步骤的原理同步骤2021.2的原理一致,具体可参见上述步骤2021.2中的内容,此处不再赘述。
通过该步骤,由于确定第二初始姿态变换参数的过程选择了置信度比较高的部分匹配点对,因此,第二初始姿态变换参数比第一初始姿态变换参数更准确。通过该第二初始姿态变换参数可以进一步将第一初始配准点云数据拼接至第二帧点云数据,从而能够得到一个更好的配准点云数据。
2021.6:根据第二初始姿态变换参数,将第一初始配准点云数据拼接至第二帧点云数据,得到新的配准点云数据,并继续从新的配准点云数据与第二帧点云数据中筛选部分匹配点对,并继续使用筛选出的部分匹配点对最小化ICP目标函数的值。
具体地,为了进一步优化姿态变换参数,可以执行该步骤。其中,在从新的配准点云数据与第二帧点云数据中筛选部分匹配点对时,第一指定数值的范围小于步骤2021.4中第一指定数值的范围。
其中,筛选部分匹配点对的过程及最小化ICP目标函数的值的过程,即为不断在上一次配准得到的配准点云数据与第二帧点云数据之间查找部分匹配点对,并使用部分匹配点对,最小化ICP目标函数值的过程。由上述内容可得,在每次筛选部分匹配点对时,从上一次对ICP目标函数进行优化并拼接到的配准点云数据中筛选。也就是说,每次筛选部分匹配点对的过程及最小化ICP目标函数的值的过程均在上一次最小化ICP目标函数值得到的配准点云数据的基础上进行。
其中,每次进行筛选部分匹配点对时,将会缩小第一指定数值的范围。如此反复,直至第一指定数值不小于第一预设阈值时,将迭代得到的姿态变换参数作为第一姿态变换参数。其中,本发明实施例不对第一预设阈值的数值进行限定。
其中,在筛选部分匹配点对时,每次选取的第一指定数值,可以在上一次选取的基础上取一个不大于1的线性系数。例如,步骤2021.4中选取第一指定数值时,第一指定数值可以为0.5*max_distance,后续选取第一指定数值时,第一指定数值可以为0.5*0.5max_distance。此处的0.5仅用于举例,并不构成对本发明实施例的限制。
进一步地,在本发明实施例中,当第一指定数值不大于第一预设阈值为止时,将第一指定数值不大于第一预设阈值时迭代得到的姿态变换参数作为第一姿态变换参数。
本发明实施例提供的这种层次化迭代策略,可以在进行配准的过程中,在开始时考虑尽可能多的匹配点对,以实现增强配准的鲁棒性,而在随后的配准过程中,通过选择置信度比较高的部分匹配点对,从而能够提高配准的精确度。
2022:根据第一姿态变换参数将相邻两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一配准点云数据。
该步骤的原理同步骤2021.3中的原理一致,具体可参见上述步骤2021.3中的内容,此处不再赘述。
2023:使用NDT对第一配准点云数据和第二帧点云数据进行配准,得到第一配准点云数据与第二帧点云数据之间的第二姿态变换参数,将第二姿态变换参数作为相邻的两帧点云数据之间的目标姿态变换参数。
为了使相邻的两帧点云数据之间的配准结果更加准确,在本发明实施例中,在通过ICP得到第一姿态变换参数后,继续通过NDT的方式优化第一姿态变换参数,该过程具体可通过如下步骤2023.1至步骤2023.5来实现:
2023.1:使用第一尺寸的立方单元格划分第二帧点云数据。
关于第一尺寸的具体数值,可以根据需要设定,本发明实施例对此不作具体限定。其中,第一尺寸的立方单元格的数量与第二帧点云数据的分布情况及第一尺寸的具体数值有关。根据第二帧点云数据的分布情况及每个立方单元格的边长,能够确定第一尺寸的立方单元格的数量。
为了便于说明,在后续内容中,以对一个第一尺寸的立方单元格进行处理为例进行说明。
2023.2:对于任一第一尺寸的立方单元格,确定该第一尺寸的立方单元格中空间点的第二高斯分布函数。
其中,一个第一尺寸的立方单元格中的空间点为第二帧点云数据中,坐标落在该第一尺寸的立方单元格所包围的范围内的空间点。该第一尺寸的立方单元格中的空间点服从正态分布。在确定第二高斯分布函数时,可以先计算该第一尺寸的立方单元格内包括的所有空间点的均值和方差;然后,根据该均值和方差确定第二高斯分布函数。
2023.3:根据第一尺寸、第一尺寸的立方单元格中空间点的第二高斯分布函数及第一配准点云数据中各个空间点在该第一尺寸的立方单元格中的位置,对NDT目标函数进行迭代计算,将得到NDT目标函数的最大值时的姿态变换参数作为第三初始姿态变换参数。
其中,NDT目标函数可以通过如下公式来表示:
式中,pk(·)表示第k个第一尺寸的立方单元格中的空间点的第二高斯分布函数,uk,i表示第一配准点云数据中位置处于第k个立方单元格范围内的第i个空间点,K表示划分第二帧点云数据的第一尺寸的立方体单元格的数量,nk表示第一配准点云数据中处于第k个第一尺寸的立方单元格中的空间点数量。
对NDT目标函数的最优化,等价于给定概率分布函数下的极大似然估计问题。由于第二高斯分布函数基于统计信息,所以其可以更加稳定地描述第一尺寸的立方单元格内空间点的分布结构,有利于克服ICP在确定匹配点对时容易出现匹配点对关系不准确的问题,因此,在本发明实施例中,当通过该种方式继续对第一配准点云数据进行优化,使得配准结果更加准确。另外,由于该种方式会以第一尺寸的单元格中的空间点为算法单元,因此,该种方式的运行效率比较高。
2023.4:根据第三初始姿态变换参数,将第一配准点云数据拼接至第二帧点云数据,得到第二配准点云数据。
该步骤的原理同步骤2021.3中的原理一致,具体可参见上述步骤2021.3中的内容,此处不再赘述。
2023.5:缩小该第一尺寸的立方单元格的尺寸,并继续进行最大化NDT目标函数的过程,直至第一尺寸的立方单元格的边长不大于第二预设阈值时,将迭代得到的姿态变换参数作为第二姿态变换参数。
最大化NDT目标函数的过程的原理同上述步骤2023.1至步骤2023.4的原理一致,具体可参见上述步骤2023.1至步骤2023.4中的内容,此处不再赘述。
其中,在每次缩小第一尺寸的立方单元格的尺寸时,可以在上一次确定的第一尺寸的立方单元格的边长的基础上缩小一个线性系数。例如,如果上次划分第二帧点云数据的第一尺寸的立方单元格的边长为grid-size,则在下次缩小第一尺寸的立方单元格的边长时,可以令第一尺寸的立方单元格的边长为0.5*grid-size等。此处的0.5仅用于举例,并不构成对本发明实施例的限制。
另外,关于第二预设阈值的具体数值,本发明实施例同样不作具体限定。具体实施时,可以根据目标对象等因素确定。
在本发明实施例中,在对相邻的两帧点云数据进行配准时,先使用ICP方式,在使用NDT的方式,并使用层次化的迭代策略,能够实现不断优化相邻的两帧点云数据之间的姿态变换参数,不仅能够保证相邻的两帧点云数据之间的配准过程具有较高的鲁棒性,而且能够提高配准的精确程度。如图3所示,其示出了一种对一组相邻的两帧点云数据进行配准的过程示意图。
需要说明的是,上述步骤202仅以对任一组相邻的两帧点云数据进行配准的过程进行了具体说明。进一步地,通过对点云序列中所有相邻的两帧点云数据均通过该种方式进行配准,即可得到相邻的每两帧点云数据之间的目标姿态变换参数。
203:根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据。
针对于任一组相邻的两帧点云数据,当确定其目标姿态变换参数后,即可将该相邻的两帧点云数据中的一帧点云数据拼接至另一帧点云数据上。在此基础上,将各帧点云数据均拼接至最后一帧点云数据上,即可得到一个配准完成的点云数据。其中,将每一帧点云数据均拼接至最后一帧点云数据,以形成最终的配准点云数据的过程即为对各帧点云数据进行累积的过程。
具体地,根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据的过程包括但不限于通过如下公式来表示:
令Tk(·)表示根据Fk与Fk+1之间的目标姿态变换参数对给定点云“·”进行姿态变换的操作,即Tk(·)=Rk(·)+tk,则重新定义以下姿态变换操作:
Tk’(·)=Tk+1’(Tk(·)),......,TN-1(·)=TN-1(·) (5)
其中,k={1,2,...,N-2},则初始配准点云数据F’表示为:
F'=T1’(F1)+T2’(F2)+...+TN-1’(FN-1)+FN (6)
该公式具体释义为:根据第一帧点云数据与第二帧点云数据之间的目标姿态变换参数将第一帧点云数据拼接至第二帧点云数据,得到第1配准点云数据;根据第二帧点云数据与第三帧点云数据之间的目标姿态变换参数,将第1配准点云数据拼接至第三帧点云数据,得到第2配准点云数据;根据第三帧点云数据与第四帧点云数据之间的目标姿态变换参数,将第2配准点云数据拼接至第四帧点云数据中,得到第3配准点云数据;如此重复,直至将第N-1配准点云数据拼接至第N帧点云数据上,得到第N配准点云数据。至此,实现将第一帧点云数据拼接至第N配准点云数据上。接下来,通过同样的方式,再将第二帧点云数据拼接至第N配准点云数据上;将第三帧点云数据拼接至第N配准点云数据上……,直至将第N-1帧点云数据拼接至第N配准点云数据上后,得到初始配准点云数据。
204:从初始配准点云数据中提取配准参考数据,其中,配准参考数据为配准度高的数据。
通过步骤202和步骤203,实现对各帧点云数据进行了一个初始的配准过程。然而,由于该配准过程得到的初始配准点云数据可能还不是很准确,本发明实施例对初始配准点云数据进行了再次配准的步骤。其中,在进行再次配准时,以初始配准点云数据中配准度比较高的数据作为配准参考数据实现。因此,需要先从初始配准点云数据中提取配准参考数据。其中,在本发明实施例中,在提取配准参考数据时,所依据的两个准则分别为:所提取到的配准参考数据的分布是否接近平面;如果提取到的配准参考数据的分布接近平面,该平面的法向量是否与三个主方向(x轴方向、y轴方向和z轴方向)接近。当提取到的配准参考数据满足第一个准则或同时满足第一个准则和第二个准则时,确定提取到的配准参考数据为配准度高的数据。
具体地,从初始配准点云数据中提取配准参考数据时,包括但不限于通过如下步骤2041至步骤2044来实现。其中,骤2041至步骤2044用于从初始配准点云数据中提取出分布情况接近平面的配准参考数据。
2041:使用第二尺寸的立方单元格划分初始配准点云数据,并确定所有第二尺寸的立方单元格的数据矩阵,其中,每个数据矩阵中的每行表示一个空间点的三维坐标,每个数据矩阵的行数与每个第二尺寸的立方单元格中包括的初始配准点云数据的空间点数量相同。
关于第二尺寸的具体数值,可以根据需要设定。每个第二尺寸的立方单元格的数据矩阵的行数由每个第二尺寸的立方单元格包括的初始配准点云数据中空间点的数量决定。在本发明实施例中,假设每个第二尺寸的立方单元格的数据矩阵是一个n行3列的矩阵,即每个第二尺寸的立方单元格中包括n个初始配准点云数据中的空间点。其中,任一第二尺寸的立方单元格的数据矩阵可以表示为:S∈Rn×3。
2042:根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵。
具体地,根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵时,可以通过如下公式来实现:
2043:对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及特征值对应的特征向量。
其中,在对每个协方差矩阵进行特征值分解时,可以使用矩阵特征值求解算法实现,本发明实施例对此不作详细阐述。
对于任一协方差矩阵C,对C进行特征值分解,得到该协方差矩阵的三个特征值为λ1,λ2,λ3。其中,λ1,λ2,λ3由大到小排列而成。相应地,该协方差矩阵的特征向量为p1,p2,p3。其中,p1,p2,p3为即该第二尺寸的立方单元格中的空间点的主成分。
2044:对于任一协方差矩阵,当其三个特征值中的任两个特征值大于第三个特征值的值均超过第三预设阈值时,将协方差矩阵对应的第二尺寸的立方单元格所包括的空间点作为提取出的一个配准参考数据。
由于特征向量彼此正交,因此,当λ1,λ2数值较大,λ3相对较小时,该第二尺寸的立方单元格中的空间点可能是分布于同一平面或分布规律近似平面,因而可以将其作为一个配准参考数据。
通过上述步骤2041至步骤2044在从初始点云配准数据中提取配准参考数据时,其准则是确保提取到的配准参考数据位于接近平面的区域上。进一步地,为了进一步优化提取到的配准参考数据,使得进行再次配准各帧点云数据时使用的配准参考数据比较准确,可以继续执行下面的步骤2045至步骤2047。其中,骤2045至步骤2047用于确定步骤2041至步骤2044所提取到的配准参考数据所在的平面法向量是否与三个主方向中的任一个主方向接近。
2045:统计各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数。
结合上述步骤2043中的内容,p3即为每个第二尺寸的立方单元格的平面法向量。因此,根据每个协方差矩阵的特征向量,即可得到同一法向量的出现次数。
2046:根据出现次数确定三个主方向,其中,三个主方向两两垂直。
通常,目标对象上的各个空间点通常会位于相互正交的各个平面上。例如,如当目标对象为一个建筑物时,其地面和墙壁一般彼此正交。因此,扫描设备扫描得到的点云数据的分布情况也应呈现彼此正交的性质,且各个相互正交的平面的法向量通常与三个主方向一致。因此,当各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数比较多时,可以确定该方向为一个主方向。从所有出现次数中选择三个出现次数最多的三个法向量后,可以将这三个法向量的方向确定为三个主方向。在本发明实施例中,用p'1,p'2,p'3表示三个主方向。
2047:当任一第二尺寸的立方单元格的平面的法向量与任一主方向之间的角度不大于第四预设阈值时,将该第二尺寸的立方单元格所包括的空间点作为该主方向上的一个配准参考数据。
关于第四预设阈值的具体数值范围,本发明实施例不作具体限定,为了保证提取到的配准参考数据比较准确,该第四预设阈值可以设置得比较小。
具体地,当某一个第二尺寸的立方单元格的平面的法向量与三个主方向中的任一个主方向之间的角度比较小时,则说明这个第二尺寸的立方单元格所包括的数据点很有可能位于一个主方向平面上,因此,可以将该第二尺寸的立方单元格所包括的空间点作为该主方向上的一个配准参考数据。
进一步地,通过上述步骤2045至步骤2047可以实现提取出可能位于同一主方向平面的各个配准参考数据。然而,由于同一主方向的平面可能有多个,因此,提取出的这些配准参考数据中并不是一定位于同一平面上,为了获得位于同一平面的更准确的配准参考数据,可以继续下述步骤2048至步骤20410。
2048:对于提取到的任一主方向的配准参考数据,确定各个空间点所在平面与坐标原点之间的距离。
具体地,在步骤2047后,可以对所有提取到的空间点以如下结构进行存储:u=(x,y,z,ρ,d)。其中,ρ∈{1,2,3},用于指示当前空间点的方向属于第几主方向,d为该空间点所在平面与坐标原点之间的距离。
具体地,在确定任一空间点所在平面与坐标原点之间的距离d时,可以通过如下公式来实现:
[x y z]·p'ρ+d=0 (8)
式中,
[x y z]·p'ρ=x*p'ρ+y*p'ρ+z*p'ρ (9)。
2049:根据每个空间点所在平面与坐标原点之间的距离,将每个主方向上的配准参考数据划分为多个不相交的子集,并对每个子集中的空间点进行平面拟合,得到每个子集对应的拟合平面。
例如,对属于第一主方向提取到的所有配准参考数据U1={ui|ρi=1},可以根据各个空间点所在平面与坐标原点之间的距离d,将其划分成几个不相交的子集。进一步地,可以将各子集按容量由大到小重新排列如下:
其中,子集的数量与各空间点所在平面与坐标原点之间的距离的数量相等。例如,当各空间点所在平面与坐标原点之间的距离有5个,则子集数量也为5个。
由于一个子集上的各个空间点所在平面与坐标原点之间的距离相等,因此,可以确定属于同一子集的空间点处于同一个平面上。为了确定属于同一子集的各个空间点所在平面的平面方程,可以进一步对每个子集中的空间点进行平面拟合,从而得到每个子集对应的拟合平面。
具体地,以对中的空间点进行平面拟合,得到对应的拟合平面方程的参数方程为:
其中,w1是拟合空间平面的法向量,是拟合空间平面到原点的距离。
接下来,可以继续对U1中的剩余子集进行平面拟合,并在拟合中约束各拟合平面相互平行,即共享相同的w1。
依照相同的方式对属于第二主方向的所有点划分子集,并进行平面拟合。需要说明的是,在对第二主方向的最大子集拟合平面时,附加如下约束,以确保该平面与上一步中在U1上拟合的平面垂直:
接下来,继续对剩余子集继续进行平面拟合,与上一步相同,同样约束各平面共用同样的w2。
依照相同的方式对属于第三主方向的所有点划分子集,并进行平面拟合,但在对第三主方向的最大子集拟合平面时,附加如下约束,以确保该平面与上两步中拟合的平面垂直:
(w1×w2)·w3=1 (13)
对剩余子集继续进行平面拟合,与上两步相同,同样约束各平面共用同样的w3。
20410:将每个主方向上提取到的配准参考数据中的各个空间点投影到对应的拟合平面上,将拟合平面上的投影点作为配准参考数据。
其中,将每个主方向上提取到的配准参考数据中的各个空间点投影到对应的拟合平面上时,需要求每个空间点在其对应拟合平面上的投影点。具体地,对于任一个空间点,在求该空间点在其对应拟合空间平面上的投影点时,可以通过如下公式来实现:
假设该空间点的三维坐标为M(x0,y0,z0),其拟合平面方程为Ax+By+Cz+D=0,M(x0,y0,z0)在Ax+By+Cz+D=0上的垂足为M’(x,y,z)。直线MM’与拟合平面的法向量平行,则直线MM’的方程可以表示为:
转化为参数方程得:x=x0-At,y=y0-Bt,z=z0-Ct。
代入拟合平面方程求得t,将t代入直线方程(14),即可求得P’坐标。
本发明实施例提供的从初始配准点云数据中提取配准参考数据的方法,实现了一种以曼哈顿假设相符的方法,使得提取到的配准参考数据具有很高的参考性,使得后续进行再次配准的过程能够有好的参考数据,进而使得配准结果更加准确。
205:以配准参考数据为参考,再次各帧点云数据进行配准,得到目标配准点云数据。
具体地,以配准参考数据为参考,再次配准过程可以通过如下步骤2051至步骤2052来实现:
2051:以配准参考数据作为参考,使用NDT对各帧点云数据进行二次配准,得到每帧点云数据与配准参考数据之间的姿态变换参数。
该步骤的原理同步骤2023的原理一致,具体可参见上述步骤2023中的内容,此处不再赘述。
2052:根据每帧点云数据与配准参考数据之间的姿态变换参数对各帧点云数据进行累积,得到二次配准点云数据。
该步骤的原理同步骤203的原理一致,具体可参见上述步骤203中的内容,此处不再赘述。
2053:继续进行再次配准过程,将再次配准次数达到第二指定数值时得到的点云数据作为目标配准点云数据。
进一步地,为了确保得到的目标配准点云数据比较准确,二次配准的过程可以迭代执行第二指定数值次,当二次配准次数达到第二预设数值时,将得到的配准数据作为目标配准点云数据。
再次配准过程与上述2051和步骤2052的原理一致,与步骤2051和步骤2052的区别在于,由于每个再次配准过程均可以得到一个配准点云数据,在后续的再次配准过程中,会提取上一次配准过程得到的配准点云数据中配准度比较高的参考数据,并以该参考数据为参考,使用NDT实现再次配准。
其中,提取上一次配准过程得到的配准点云数据中配准度比较高的参考数据的方式,同步骤204的原理一致,具体可参见步骤204中2041至步骤20410中的内容,此处不再赘述。
需要说明的是,为了不断优化提取到的配准参考数据,在每次提取配准参考数据时,在使用一定尺寸的立方单元格划分上一次配准得到的配准点云数据时,使用的立方单元格的边长小于上一次再次配准过程提取配准参考数据时使用的立方单元格的边长。另外,每次提取配准参考数据时使用的第三预设阈值大于上一次提取配准参考数据时使用的第三预设阈值,使得提取到的参考数据越来越接近某一个主方向,从而更具参考性。
本发明实施例提供的方法,通过对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数,并根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据后,进一步通过从初始配准点云数据中提取配准度比较高的配准参考数据,并以配准参考数据为参考对各帧点云数据进行再次配准,能够减小累积误差,从而能够得到比较准确的配准结果。
图4是本发明另一实施例提供的一种点云数据的配准装置的结构示意图,该装置可以用于执行上述图1或图2所对应实施例提供的点云数据的配准方法。参见图4,该装置包括:
初始配准模块401,用于对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数;
第一累积模块402,用于根据每个目标姿态变换参数,对各帧点云数据进行累积,得到初始配准点云数据;
提取模块403,用于从初始配准点云数据中,提取配准参考数据,其中,配准参考数据为配准度高的数据;
再次配准模块404,用于以配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据。
本发明实施例提供的装置,通过对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数,并根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据后,进一步通过从初始配准点云数据中提取配准度比较高的配准参考数据,并以配准参考数据为参考对各帧点云数据进行再次配准,能够减小累积误差,从而能够得到比较准确的配准结果。
在另一个实施例中,装置还包括:
第一滤除模块,用于滤除扫描设备扫描到的每帧点云数据中的第一噪声数据,得到各帧点云数据,其中,第一噪声数据为与坐标原点之间的距离在第一预设数值范围外的点云数据,坐标原点为扫描设备所在位置处的坐标。
在另一个实施例中,装置还包括:
计算模块,用于对于扫描设备扫描到的任一帧点云数据,计算点云数据中每个空间点第二预设范围内的所有邻域点与每个空间点之间的平均距离;
第一确定模块,用于根据每个空间点对应的平均距离确定第一高斯分布函数,其中,第一高斯分布函数的均值为第一数值,方差为第二数值;
第二确定模块,用于对于点云数据中的任一空间点,当空间点对应的平均距离与第一数值之间的差值大于第二数值时,将空间点作为一个第二噪声数据;
第二滤除模块,用于滤除扫描设备扫描到的每帧点云数据中的所有第二噪声数据,得到各帧点云数据。
在另一个实施例中,初始配准模块401包括:
第一配准单元,用于对于任一组相邻的两帧点云数据,使用ICP对相邻的两帧点云数据进行配准,得到相邻的两帧点云数据之间的第一姿态变换参数;
拼接单元,用于根据第一姿态变换参数将相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一配准点云数据;
第二配准单元,用于使用NDT对第一配准点云数据和第二帧点云数据进行配准,得到第一配准点云数据与第二帧点云数据之间的第二姿态变换参数,将第二姿态变换参数作为相邻的两帧点云数据之间的目标姿态变换参数。
在另一个实施例中,所第一配准单元包括:
第一确定子单元,用于对于任一组相邻的两帧点云数据,确定相邻的两帧点云数据中第一帧点云数据和第二帧点云数据之间的所有匹配点对;
第一迭代子单元,用于使用第一帧点云数据和第二帧点云数据之间的所有匹配点对,对ICP目标函数进行迭代计算,以最小化ICP目标函数的值,将得到ICP目标函数的最小值时的姿态变换参数作为第一初始姿态变换参数;
第一拼接子单元,用于根据第一初始姿态变换参数,将相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一初始配准点云数据;
第二确定子单元,用于确定第一初始配准点云数据与第二帧点云数据之间的所有匹配点对;
筛选子单元,用于从第一初始配准点云数据与第二帧点云数据之间的所有匹配点对中,筛选出匹配点对之间的距离不大于第一指定数值的部分匹配点对;
第二迭代子单元,用于使用部分匹配点对,对ICP目标函数进行迭代计算,以最小化ICP目标函数的值,将得到ICP的目标函数的最小值时的姿态变换参数作为第二初始姿态变换参数,并继续进行筛选部分匹配点的过程及最小化ICP目标函数的值的过程,直至第一指定数值不大于第一预设阈值时,将迭代得到的姿态变换参数作为第一姿态变换参数。
在另一个实施例中,第二配准单元包括:
划分子单元,用于使用第一尺寸的立方单元格划分第二帧点云数据;
第三确定子单元,用于对于任一第一尺寸的立方单元格,确定第一尺寸的立方单元格中空间点的第二高斯分布函数;
第三迭代子单元,用于根据第一尺寸、第一尺寸的立方单元格中空间点的第二高斯分布函数及第一配准点云数据中各个空间点在第一尺寸的立方单元格中的位置,对NDT目标函数进行迭代计算,将得到NDT目标函数的最大值时的姿态变换参数作为第三初始姿态变换参数;
第二拼接子单元,用于根据第三初始姿态变换参数,将第一配准点云数据拼接至第二帧点云数据,得到第二配准点云数据;
缩小子单元,用于缩小第一尺寸的立方单元格的尺寸,并继续进行最大化NDT目标函数值的过程,直至第一尺寸的立方单元格的边长不大于第二预设阈值时,将迭代得到的姿态变换参数作为第二姿态变换参数。
在另一个实施例中,提取模块403包括:
第一划分单元,用于使用第二尺寸的立方单元格划分初始配准点云数据;
第一确定单元,用于确定所有第二尺寸的立方单元格的数据矩阵,其中,每个数据矩阵中的一行元素表示一个空间点的三维坐标,每个数据矩阵的行数与每个第二尺寸的立方单元格中包括的初始配准点云数据的空间点数量相同;
计算单元,用于根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵;
分解单元,用于对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量;
第二确定单元,用于当任一协方差矩阵的三个特征值中的任两个特征值与第三个特征值之间的差值超过第三预设阈值时,将协方差矩阵对应的第二尺寸的立方单元格所包括的空间点作为一个配准参考数据。
在另一个实施例中,提取模块403还包括:
统计单元,用于统计各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数;
第三确定单元,用于根据出现次数确定三个主方向,其中,三个主方向两两垂直;
第四确定单元,用于当任一第二尺寸的立方单元格的平面的法向量与任一主方向之间的角度不大于第四预设阈值时,将第二尺寸的立方单元格所包括的空间点作为主方向上的一个配准参考数据。
在另一个实施例中,提取模块403还包括:
第五确定单元,用于对于提取到的任一主方向上的各个配准参考数据,确定各个空间点所在平面与坐标原点之间的距离;
第二划分单元,用于根据每个空间点所在平面与坐标原点之间的距离,将主方向上的配准参考数据划分为多个不相交的子集;
拟合单元,用于对每个子集中的空间点进行平面拟合,得到每个子集对应的拟合平面;
投影单元,用于将主方向的配准参考数据中的各个空间点投影到对应的拟合平面上,将拟合平面上的投影点作为配准参考数据。
在另一个实施例中,再次配准模块404包括:
第一再次配准单元,用于以配准参考数据为参考,使用正态分布变换法NDT对各帧点云数据进行二次配准,得到每帧点云数据与配准参考数据之间的姿态变换参数;
累积单元,用于根据每帧点云数据与配准参考数据之间的姿态变换参数对各帧点云数据进行累积,得到二次配准点云数据;
第二再次配准单元,用于继续进行再次配准过程,将再次配准次数达到第二指定数值时得到的点云数据作为目标配准点云数据;
其中,在每次进行再次配准过程时,以从上一次再次配准过程得到的配准点云数据中提取出的配准参考数据为参考;在每次提取配准参考数据时,使用的立方单元格的边长小于上一次提取配准参考数据时使用的立方单元格的边长,且每次提取配准参考数据时使用的第三预设阈值大于上一次提取配准参考数据时使用的第三预设阈值。
图5是本发明另一实施例提供的一种点云数据的配准装置的结构示意图,该装置可以用于执行上述图1或图2所对应实施例提供的点云数据的配准方法。参见图5,该装置包括处理器501和存储器502。
处理器501,用于对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数;根据每个目标姿态变换参数,对各帧点云数据进行累积,得到初始配准点云数据;从初始配准点云数据中,提取配准参考数据,其中,配准参考数据为配准度高的数据;以配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据。
存储器502用于存储处理器501所执行的各种指令。
本发明实施例提供的装置,通过对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数,并根据每个目标姿态变换参数对各帧点云数据进行累积,得到初始配准点云数据后,进一步通过从初始配准点云数据中提取配准度比较高的配准参考数据,并以配准参考数据为参考对各帧点云数据进行再次配准,能够减小累积误差,从而能够得到比较准确的配准结果。
在另一个实施例中,处理器501,还用于滤除扫描设备扫描到的每帧点云数据中的第一噪声数据,得到各帧点云数据,其中,第一噪声数据为与坐标原点之间的距离在预设数值范围外的点云数据,坐标原点为扫描设备所在位置处的坐标。
在另一个实施例中,处理器501,还用于对于扫描设备扫描到的任一帧点云数据,计算点云数据中每个空间点第二预设范围内的所有邻域点与每个空间点之间的平均距离;根据每个空间点对应的平均距离确定第一高斯分布函数,其中,第一高斯分布函数的均值为第一数值,方差为第二数值;对于点云数据中的任一空间点,当空间点对应的平均距离与第一数值之间的差值大于第二数值时,将空间点作为一个第二噪声数据;滤除扫描设备扫描到的每帧点云数据中的所有第二噪声数据,得到各帧点云数据。
在另一个实施例中,处理器501,还用于对于任一组相邻的两帧点云数据,使用ICP对相邻的两帧点云数据进行配准,得到相邻的两帧点云数据之间的第一姿态变换参数;根据第一姿态变换参数将相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一配准点云数据;使用NDT对第一配准点云数据和第二帧点云数据进行配准,得到第一配准点云数据与第二帧点云数据之间的第二姿态变换参数,将第二姿态变换参数作为相邻的两帧点云数据之间的目标姿态变换参数。
在另一个实施例中,处理器501,还用于对于任一组相邻的两帧点云数据,确定相邻的两帧点云数据中第一帧点云数据和第二帧点云数据之间的所有匹配点对;使用第一帧点云数据和第二帧点云数据之间的所有匹配点对,对ICP目标函数进行迭代计算,以最小化ICP目标函数的值,将得到ICP目标函数的最小值时的姿态变换参数作为第一初始姿态变换参数;根据第一初始姿态变换参数,将相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一初始配准点云数据;确定第一初始配准点云数据与第二帧点云数据之间的所有匹配点对;从第一初始配准点云数据与第二帧点云数据之间的所有匹配点对中,筛选出匹配点对之间的距离不大于第一指定数值的部分匹配点对;使用部分匹配点对,对ICP目标函数进行迭代计算,以最小化ICP目标函数的值,将得到ICP的目标函数的最小值时的姿态变换参数作为第二初始姿态变换参数,并继续进行筛选部分匹配点的过程及最小化ICP目标函数的值的过程,直至第一指定数值不大于第一预设阈值时,将迭代得到的姿态变换参数作为第一姿态变换参数。
在另一个实施例中,处理器501,还用于使用第一尺寸的立方单元格划分第二帧点云数据;对于任一第一尺寸的立方单元格,确定第一尺寸的立方单元格中空间点的第二高斯分布函数;根据第一尺寸、第一尺寸的立方单元格中空间点的第二高斯分布函数及第一配准点云数据中各个空间点在第一尺寸的立方单元格中的位置,对NDT目标函数进行迭代计算,将得到NDT目标函数的最大值时的姿态变换参数作为第三初始姿态变换参数;根据第三初始姿态变换参数,将第一配准点云数据拼接至第二帧点云数据,得到第二配准点云数据;缩小第一尺寸的立方单元格的尺寸,并继续进行最大化NDT目标函数值的过程,直至第一尺寸的立方单元格的边长不大于第二预设阈值时,将迭代得到的姿态变换参数作为第二姿态变换参数。
在另一个实施例中,处理器501,还用于使用第二尺寸的立方单元格划分初始配准点云数据;确定所有第二尺寸的立方单元格的数据矩阵,其中,每个数据矩阵中的一行元素表示一个空间点的三维坐标,每个数据矩阵的行数与每个第二尺寸的立方单元格中包括的初始配准点云数据的空间点数量相同;根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵;对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量;当任一协方差矩阵的三个特征值中的任两个特征值与第三个特征值之间的差值超过第三预设阈值时,将协方差矩阵对应的第二尺寸的立方单元格所包括的空间点作为一个配准参考数据。
在另一个实施例中,处理器501,还用于统计各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数;根据出现次数确定三个主方向,三个主方向两两垂直;当任一第二尺寸的立方单元格的平面的法向量与任一主方向之间的角度不大于第四预设阈值时,将第二尺寸的立方单元格所包括的空间点作为主方向上的一个配准参考数据。
在另一个实施例中,处理器501,还用于对于提取到的任一主方向上的各个配准参考数据,确定各个空间点所在平面与坐标原点之间的距离;根据每个空间点所在平面与坐标原点之间的距离,将主方向上的配准参考数据划分为多个不相交的子集;对每个子集中的空间点进行平面拟合,得到每个子集对应的拟合平面;将主方向的配准参考数据中的各个空间点投影到对应的拟合平面上,将拟合平面上的投影点作为配准参考数据。
在另一个实施例中,处理器501,还用于以配准参考数据为参考,使用正态分布变换法NDT对各帧点云数据进行二次配准,得到每帧点云数据与配准参考数据之间的姿态变换参数;根据每帧点云数据与配准参考数据之间的姿态变换参数对各帧点云数据进行累积,得到二次配准点云数据,继续进行再次配准过程,将再次配准次数达到第二指定数值时得到的点云数据作为目标配准点云数据;其中,在每次进行再次配准过程时,以从上一次再次配准过程得到的配准点云数据中提取出的配准参考数据为参考;在每次提取配准参考数据时,使用的立方单元格的边长小于上一次提取配准参考数据时使用的立方单元格的边长,且每次提取配准参考数据时使用的第三预设阈值大于上一次提取配准参考数据时使用的第三预设阈值。
需要说明的是:上述实施例提供的点云数据的配准装置在进行点云数据的配准时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的点云数据的配准装置与点云数据的配准方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种点云数据的配准方法,其特征在于,所述方法包括:
对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数;
根据每个目标姿态变换参数,对各帧点云数据进行累积,得到初始配准点云数据;
从所述初始配准点云数据中,提取配准参考数据,所述配准参考数据为配准度高的数据;
以所述配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据。
2.根据权利要求1所述的方法,其特征在于,所述对相邻的每两帧点云数据进行配准之前,还包括:
滤除扫描设备扫描到的每帧点云数据中的第一噪声数据,得到各帧点云数据,所述第一噪声数据为与坐标原点之间的距离在第一预设数值范围外的点云数据,所述坐标原点为所述扫描设备所在位置处的坐标。
3.根据权利要求1所述的方法,其特征在于,所述对相邻的每两帧点云数据进行配准之前,还包括:
对于扫描设备扫描到的任一帧点云数据,计算所述点云数据中每个空间点第二预设范围内的所有邻域点与所述每个空间点之间的平均距离;
根据每个空间点对应的平均距离确定第一高斯分布函数,其中,第一高斯分布函数的均值为第一数值,方差为第二数值;
对于所述点云数据中的任一空间点,当所述空间点对应的平均距离与所述第一数值之间的差值大于所述第二数值时,将所述空间点作为一个第二噪声数据;
滤除所述扫描设备扫描到的每帧点云数据中的所有第二噪声数据,得到各帧点云数据。
4.根据权利要求1所述的方法,其特征在于,所述对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数,包括:
对于任一组相邻的两帧点云数据,使用迭代最近点法ICP对所述相邻的两帧点云数据进行配准,得到所述相邻的两帧点云数据之间的第一姿态变换参数;
根据所述第一姿态变换参数将所述相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一配准点云数据;
使用正态分布变换法NDT对所述第一配准点云数据和所述第二帧点云数据进行配准,得到所述第一配准点云数据与所述第二帧点云数据之间的第二姿态变换参数,将所述第二姿态变换参数作为所述相邻的两帧点云数据之间的目标姿态变换参数。
5.根据权利要求4所述的方法,其特征在于,所述对于任一组相邻的两帧点云数据,使用迭代最近点法ICP对所述相邻的两帧点云数据进行配准,得到所述相邻的两帧点云数据之间的第一姿态变换参数,包括:
对于任一组相邻的两帧点云数据,确定所述相邻的两帧点云数据中第一帧点云数据和第二帧点云数据之间的所有匹配点对;
使用所述第一帧点云数据和第二帧点云数据之间的所有匹配点对,对ICP目标函数进行迭代计算,以最小化所述ICP目标函数的值,将得到所述ICP目标函数的最小值时的姿态变换参数作为第一初始姿态变换参数;
根据所述第一初始姿态变换参数,将所述相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一初始配准点云数据;
确定所述第一初始配准点云数据与所述第二帧点云数据之间的所有匹配点对;
从所述第一初始配准点云数据与所述第二帧点云数据之间的所有匹配点对中,筛选出匹配点对之间的距离不大于第一指定数值的部分匹配点对;
使用所述部分匹配点对,对所述ICP目标函数进行迭代计算,以最小化所述ICP目标函数的值,将得到所述ICP的目标函数的最小值时的姿态变换参数作为第二初始姿态变换参数,并继续进行筛选部分匹配点的过程及最小化所述ICP目标函数的值的过程,直至所述第一指定数值不大于第一预设阈值时,将迭代得到的姿态变换参数作为第一姿态变换参数。
6.根据权利要求4或5所述的方法,其特征在于,所述使用正态分布变换法NDT对所述第一配准点云数据和所述第二帧点云数据进行配准,得到所述第一配准点云数据与所述第二帧点云数据之间的第二姿态变换参数,包括:
使用第一尺寸的立方单元格划分所述第二帧点云数据;
对于任一第一尺寸的立方单元格,确定所述第一尺寸的立方单元格中空间点的第二高斯分布函数;
根据所述第一尺寸、所述第一尺寸的立方单元格中空间点的第二高斯分布函数及所述第一配准点云数据中各个空间点在所述第一尺寸的立方单元格中的位置,对NDT目标函数进行迭代计算,将得到NDT目标函数的最大值时的姿态变换参数作为第三初始姿态变换参数;
根据所述第三初始姿态变换参数,将所述第一配准点云数据拼接至所述第二帧点云数据,得到第二配准点云数据;
缩小所述第一尺寸的立方单元格的尺寸,并继续进行最大化NDT目标函数值的过程,直至所述第一尺寸的立方单元格的边长不大于第二预设阈值时,将迭代得到的姿态变换参数作为第二姿态变换参数。
7.根据权利要求1所述的方法,其特征在于,所述从所述初始配准点云数据中,提取配准参考数据,包括:
使用第二尺寸的立方单元格划分所述初始配准点云数据;
确定所有第二尺寸的立方单元格的数据矩阵,其中,每个数据矩阵中的一行元素表示一个空间点的三维坐标,每个数据矩阵的行数与每个第二尺寸的立方单元格中包括的初始配准点云数据的空间点数量相同;
根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵;
对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量;
当任一协方差矩阵的三个特征值中的任两个特征值与第三个特征值之间的差值超过第三预设阈值时,将所述协方差矩阵对应的第二尺寸的立方单元格所包括的空间点作为一个配准参考数据。
8.根据权利要求7所述的方法,其特征在于,所述对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量之后,还包括:
统计各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数;
根据所述出现次数确定三个主方向,所述三个主方向两两垂直;
当任一第二尺寸的立方单元格的平面的法向量与任一主方向之间的角度不大于第四预设阈值时,将所述第二尺寸的立方单元格所包括的空间点作为所述主方向上的一个配准参考数据。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
对于提取到的任一主方向上的各个配准参考数据,确定各个空间点所在平面与坐标原点之间的距离;
根据每个空间点所在平面与坐标原点之间的距离,将所述主方向上的配准参考数据划分为多个不相交的子集;
对每个子集中的空间点进行平面拟合,得到每个子集对应的拟合平面;
将所述主方向的配准参考数据中的各个空间点投影到对应的拟合平面上,将所述拟合平面上的投影点作为配准参考数据。
10.根据权利要求7至9中任一权利要求所述的方法,其特征在于,所述以所述配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据,包括:
以所述配准参考数据为参考,使用正态分布变换法NDT对各帧点云数据进行二次配准,得到每帧点云数据与所述配准参考数据之间的姿态变换参数;
根据每帧点云数据与所述配准参考数据之间的姿态变换参数对各帧点云数据进行累积,得到二次配准点云数据;
继续进行再次配准过程,将再次配准次数达到第二指定数值时得到的点云数据作为目标配准点云数据;
其中,在每次进行再次配准过程时,以从上一次再次配准过程得到的配准点云数据中提取出的配准参考数据为参考;在每次提取配准参考数据时,使用的立方单元格的边长小于上一次提取配准参考数据时使用的立方单元格的边长,且每次提取配准参考数据时使用的第三预设阈值大于上一次提取配准参考数据时使用的第三预设阈值。
11.一种点云数据的配准装置,其特征在于,所述装置包括:
初始配准模块,用于对相邻的每两帧点云数据进行配准,得到相邻的每两帧点云数据之间的目标姿态变换参数;
累积模块,用于根据每个目标姿态变换参数,对各帧点云数据进行累积,得到初始配准点云数据;
提取模块,用于从所述初始配准点云数据中,提取配准参考数据,所述配准参考数据为配准度高的数据;
再次配准模块,用于以所述配准参考数据为参考,再次对各帧点云数据进行配准,得到目标配准点云数据。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一滤除模块,用于滤除扫描设备扫描到的每帧点云数据中的第一噪声数据,得到各帧点云数据,所述第一噪声数据为与坐标原点之间的距离在第一预设数值范围外的点云数据,所述坐标原点为所述扫描设备所在位置处的坐标。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
计算模块,用于对于扫描设备扫描到的任一帧点云数据,计算所述点云数据中每个空间点第二预设范围内的所有邻域点与所述每个空间点之间的平均距离;
第一确定模块,用于根据每个空间点对应的平均距离确定第一高斯分布函数,其中,第一高斯分布函数的均值为第一数值,方差为第二数值;
第二确定模块,用于对于所述点云数据中的任一空间点,当所述空间点对应的平均距离与所述第一数值之间的差值大于所述第二数值时,将所述空间点作为一个第二噪声数据;
第二滤除模块,用于滤除所述扫描设备扫描到的每帧点云数据中的所有第二噪声数据,得到各帧点云数据。
14.根据权利要求11所述的装置,其特征在于,所述初始配准模块包括:
第一配准单元,用于对于任一组相邻的两帧点云数据,使用迭代最近点法ICP对所述相邻的两帧点云数据进行配准,得到所述相邻的两帧点云数据之间的第一姿态变换参数;
拼接单元,用于根据所述第一姿态变换参数将所述相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一配准点云数据;
第二配准单元,用于使用正态分布变换法NDT对所述第一配准点云数据和所述第二帧点云数据进行配准,得到所述第一配准点云数据与所述第二帧点云数据之间的第二姿态变换参数,将所述第二姿态变换参数作为所述相邻的两帧点云数据之间的目标姿态变换参数。
15.根据权利要求14所述的装置,其特征在于,所第一配准单元包括:
第一确定子单元,用于对于任一组相邻的两帧点云数据,确定所述相邻的两帧点云数据中第一帧点云数据和第二帧点云数据之间的所有匹配点对;
第一迭代子单元,用于使用所述第一帧点云数据和第二帧点云数据之间的所有匹配点对,对ICP目标函数进行迭代计算,以最小化所述ICP目标函数的值,将得到所述ICP目标函数的最小值时的姿态变换参数作为第一初始姿态变换参数;
第一拼接子单元,用于根据所述第一初始姿态变换参数,将所述相邻的两帧点云数据中的第一帧点云数据拼接至第二帧点云数据,得到第一初始配准点云数据;
第二确定子单元,用于确定所述第一初始配准点云数据与所述第二帧点云数据之间的所有匹配点对;
筛选子单元,用于从所述第一初始配准点云数据与所述第二帧点云数据之间的所有匹配点对中,筛选出匹配点对之间的距离不大于第一指定数值的部分匹配点对;
第二迭代子单元,用于使用所述部分匹配点对,对所述ICP目标函数进行迭代计算,以最小化所述ICP目标函数的值,将得到所述ICP的目标函数的最小值时的姿态变换参数作为第二初始姿态变换参数,并继续进行筛选部分匹配点的过程及最小化所述ICP目标函数的值的过程,直至所述第一指定数值不大于第一预设阈值时,将迭代得到的姿态变换参数作为第一姿态变换参数。
16.根据权利要求14或15所述的装置,其特征在于,所述第二配准单元包括:
划分子单元,用于使用第一尺寸的立方单元格划分所述第二帧点云数据;
第三确定子单元,用于对于任一第一尺寸的立方单元格,确定所述第一尺寸的立方单元格中空间点的第二高斯分布函数;
第三迭代子单元,用于根据所述第一尺寸、所述第一尺寸的立方单元格中空间点的第二高斯分布函数及所述第一配准点云数据中各个空间点在所述第一尺寸的立方单元格中的位置,对NDT目标函数进行迭代计算,将得到NDT目标函数的最大值时的姿态变换参数作为第三初始姿态变换参数;
第二拼接子单元,用于根据所述第三初始姿态变换参数,将所述第一配准点云数据拼接至所述第二帧点云数据,得到第二配准点云数据;
缩小子单元,用于缩小所述第一尺寸的立方单元格的尺寸,并继续进行最大化NDT目标函数值的过程,直至所述第一尺寸的立方单元格的边长不大于第二预设阈值时,将迭代得到的姿态变换参数作为第二姿态变换参数。
17.根据权利要求11所述的装置,其特征在于,所述提取模块包括:
第一划分单元,用于使用第二尺寸的立方单元格划分所述初始配准点云数据;
第一确定单元,用于确定所有第二尺寸的立方单元格的数据矩阵,其中,每个数据矩阵中的一行元素表示一个空间点的三维坐标,每个数据矩阵的行数与每个第二尺寸的立方单元格中包括的初始配准点云数据的空间点数量相同;
计算单元,用于根据每个第二尺寸的立方单元格的数据矩阵,计算每个第二尺寸的立方单元格的协方差矩阵;
分解单元,用于对每个协方差矩阵进行特征值分解,得到每个协方差矩阵的三个特征值及对应特征向量;
第二确定单元,用于当任一协方差矩阵的三个特征值中的任两个特征值与第三个特征值之间的差值超过第三预设阈值时,将所述协方差矩阵对应的第二尺寸的立方单元格所包括的空间点作为一个配准参考数据。
18.根据权利要求17所述的装置,其特征在于,所述提取模块还包括:
统计单元,用于统计各个第二尺寸的立方单元格的平面法向量中同一法向量的出现次数;
第三确定单元,用于根据所述出现次数确定三个主方向,所述三个主方向两两垂直;
第四确定单元,用于当任一第二尺寸的立方单元格的平面的法向量与任一主方向之间的角度不大于第四预设阈值时,将所述第二尺寸的立方单元格所包括的空间点作为所述主方向上的一个配准参考数据。
19.根据权利要求18所述的装置,其特征在于,所述提取模块还包括:
第五确定单元,用于对于提取到的任一主方向上的各个配准参考数据,确定各个空间点所在平面与坐标原点之间的距离;
第二划分单元,用于根据每个空间点所在平面与坐标原点之间的距离,将所述主方向上的配准参考数据划分为多个不相交的子集;
拟合单元,用于对每个子集中的空间点进行平面拟合,得到每个子集对应的拟合平面;
投影单元,用于将所述主方向的配准参考数据中的各个空间点投影到对应的拟合平面上,将所述拟合平面上的投影点作为配准参考数据。
20.根据权利要求17至19中任一权利要求所述的装置,其特征在于,所述再次配准模块包括:
第一再次配准单元,用于以所述配准参考数据为参考,使用正态分布变换法NDT对各帧点云数据进行二次配准,得到每帧点云数据与所述配准参考数据之间的姿态变换参数;
累积单元,用于根据每帧点云数据与所述配准参考数据之间的姿态变换参数对各帧点云数据进行累积,得到二次配准点云数据;
第二再次配准单元,用于继续进行再次配准过程,将再次配准次数达到第二指定数值时得到的点云数据作为目标配准点云数据;
其中,在每次进行再次配准过程时,以从上一次再次配准过程得到的配准点云数据中提取出的配准参考数据为参考;在每次提取配准参考数据时,使用的立方单元格的边长小于上一次提取配准参考数据时使用的立方单元格的边长,且每次提取配准参考数据时使用的第三预设阈值大于上一次提取配准参考数据时使用的第三预设阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510141889.XA CN104778688B (zh) | 2015-03-27 | 2015-03-27 | 点云数据的配准方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510141889.XA CN104778688B (zh) | 2015-03-27 | 2015-03-27 | 点云数据的配准方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778688A true CN104778688A (zh) | 2015-07-15 |
CN104778688B CN104778688B (zh) | 2018-03-13 |
Family
ID=53620134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510141889.XA Active CN104778688B (zh) | 2015-03-27 | 2015-03-27 | 点云数据的配准方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778688B (zh) |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104992074A (zh) * | 2015-07-29 | 2015-10-21 | 华南理工大学 | 机载激光扫描系统航带拼接方法与装置 |
CN105607071A (zh) * | 2015-12-24 | 2016-05-25 | 百度在线网络技术(北京)有限公司 | 一种室内定位方法及装置 |
CN105702151A (zh) * | 2016-03-31 | 2016-06-22 | 百度在线网络技术(北京)有限公司 | 一种室内地图构建方法及装置 |
CN106017873A (zh) * | 2016-07-19 | 2016-10-12 | 武汉海达数云技术有限公司 | 一种激光扫描仪反射面参数的标定方法 |
CN106485662A (zh) * | 2016-12-01 | 2017-03-08 | 深圳市维新登拓医疗科技有限公司 | 空间点云拼接方法和装置 |
CN107452062A (zh) * | 2017-07-25 | 2017-12-08 | 深圳市魔眼科技有限公司 | 三维模型构建方法、装置、移动终端、存储介质及设备 |
CN108152831A (zh) * | 2017-12-06 | 2018-06-12 | 中国农业大学 | 一种激光雷达障碍物识别方法及系统 |
CN108510439A (zh) * | 2017-02-28 | 2018-09-07 | 上海小桁网络科技有限公司 | 点云数据的拼接方法、装置和终端 |
CN108776991A (zh) * | 2018-04-17 | 2018-11-09 | 深圳清创新科技有限公司 | 三维建模方法、装置、存储介质和计算机设备 |
CN108876862A (zh) * | 2018-07-13 | 2018-11-23 | 北京控制工程研究所 | 一种非合作目标点云位置姿态计算方法 |
CN109146935A (zh) * | 2018-07-13 | 2019-01-04 | 中国科学院深圳先进技术研究院 | 一种点云配准方法、装置、电子设备及可读存储介质 |
CN109145969A (zh) * | 2018-08-03 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 三维物体点云数据的处理方法、装置、设备及介质 |
CN109285188A (zh) * | 2017-07-21 | 2019-01-29 | 百度在线网络技术(北京)有限公司 | 用于生成目标物体的位置信息的方法和装置 |
CN109379509A (zh) * | 2018-12-10 | 2019-02-22 | 盎锐(上海)信息科技有限公司 | 点云加密压缩引擎 |
CN109375228A (zh) * | 2018-10-31 | 2019-02-22 | 歌尔股份有限公司 | 激光雷达的异常帧点云数据的确定方法、处理方法及装置 |
CN109584280A (zh) * | 2017-09-29 | 2019-04-05 | 上海时元互联网科技有限公司 | 基于陀螺仪的三维点云数据匹配方法及系统、控制器 |
CN109583513A (zh) * | 2018-12-17 | 2019-04-05 | 香港理工大学 | 一种相似帧的检测方法、系统、装置及可读存储介质 |
CN109934124A (zh) * | 2019-02-25 | 2019-06-25 | 东软睿驰汽车技术(沈阳)有限公司 | 一种物体识别方法和装置 |
CN110060282A (zh) * | 2019-03-27 | 2019-07-26 | 东软睿驰汽车技术(沈阳)有限公司 | 一种点云配准的方法及装置 |
CN110186467A (zh) * | 2018-02-23 | 2019-08-30 | 通用汽车环球科技运作有限责任公司 | 群感测点云地图 |
CN110196044A (zh) * | 2019-05-28 | 2019-09-03 | 广东亿嘉和科技有限公司 | 一种基于gps闭环检测的变电站巡检机器人建图方法 |
CN110264502A (zh) * | 2019-05-17 | 2019-09-20 | 华为技术有限公司 | 点云配准方法和装置 |
CN110969650A (zh) * | 2019-11-20 | 2020-04-07 | 中北大学 | 一种基于中心投影的强度图像与纹理序列间的配准方法 |
CN111080682A (zh) * | 2019-12-05 | 2020-04-28 | 北京京东乾石科技有限公司 | 点云数据的配准方法及装置 |
CN111327902A (zh) * | 2018-12-13 | 2020-06-23 | 华为技术有限公司 | 点云的编解码方法及装置 |
CN111340860A (zh) * | 2020-02-24 | 2020-06-26 | 北京百度网讯科技有限公司 | 点云数据的配准、更新方法、装置、设备和存储介质 |
CN111366938A (zh) * | 2018-12-10 | 2020-07-03 | 北京图森智途科技有限公司 | 一种挂车夹角的测量方法、装置及车辆 |
CN111401264A (zh) * | 2020-03-19 | 2020-07-10 | 上海眼控科技股份有限公司 | 车辆目标检测方法、装置、计算机设备和存储介质 |
CN111540015A (zh) * | 2020-04-27 | 2020-08-14 | 深圳南方德尔汽车电子有限公司 | 基于点云匹配的位姿计算方法、装置、计算机设备及存储介质 |
CN112132971A (zh) * | 2020-09-08 | 2020-12-25 | 合肥的卢深视科技有限公司 | 三维人体建模方法、装置、电子设备和存储介质 |
CN112330702A (zh) * | 2020-11-02 | 2021-02-05 | 蘑菇车联信息科技有限公司 | 点云补全方法、装置、电子设备及存储介质 |
CN112710318A (zh) * | 2020-12-14 | 2021-04-27 | 深圳市商汤科技有限公司 | 地图生成方法、路径规划方法、电子设备以及存储介质 |
CN112950706A (zh) * | 2019-12-11 | 2021-06-11 | 北京海益同展信息科技有限公司 | 可移动设备定位数据处理方法、装置、设备及存储介质 |
CN113344995A (zh) * | 2021-06-22 | 2021-09-03 | 平安普惠企业管理有限公司 | 基于直线特征的数据配准方法、装置、设备及存储介质 |
CN113554759A (zh) * | 2021-07-26 | 2021-10-26 | 河南德拓信息科技有限公司 | 一种煤炭运输遗撒智能监测分析方法、装置和设备 |
CN113763438A (zh) * | 2020-06-28 | 2021-12-07 | 北京京东叁佰陆拾度电子商务有限公司 | 一种点云配准方法、装置、设备及存储介质 |
CN113989366A (zh) * | 2021-12-27 | 2022-01-28 | 机科发展科技股份有限公司 | 一种托盘定位方法及装置 |
CN114526720A (zh) * | 2020-11-02 | 2022-05-24 | 北京四维图新科技股份有限公司 | 定位的处理方法、装置、设备及存储介质 |
CN114942026A (zh) * | 2022-06-01 | 2022-08-26 | 四川大学 | 基于智能数据的多模态三维影像导航系统 |
WO2024002360A1 (zh) * | 2022-06-30 | 2024-01-04 | 武汉联影智融医疗科技有限公司 | 配准方法、装置、计算机设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101082988A (zh) * | 2007-06-19 | 2007-12-05 | 北京航空航天大学 | 自动的深度图像配准方法 |
US20110142354A1 (en) * | 2009-12-11 | 2011-06-16 | Electronics And Telecommunications Research Institute | Apparatus and method for detecting pose in motion capture data |
CN102169579A (zh) * | 2011-03-31 | 2011-08-31 | 西北工业大学 | 密集点云模型快速精确配准方法 |
CN103236064A (zh) * | 2013-05-06 | 2013-08-07 | 东南大学 | 一种基于法向量的点云自动配准方法 |
-
2015
- 2015-03-27 CN CN201510141889.XA patent/CN104778688B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101082988A (zh) * | 2007-06-19 | 2007-12-05 | 北京航空航天大学 | 自动的深度图像配准方法 |
US20110142354A1 (en) * | 2009-12-11 | 2011-06-16 | Electronics And Telecommunications Research Institute | Apparatus and method for detecting pose in motion capture data |
CN102169579A (zh) * | 2011-03-31 | 2011-08-31 | 西北工业大学 | 密集点云模型快速精确配准方法 |
CN103236064A (zh) * | 2013-05-06 | 2013-08-07 | 东南大学 | 一种基于法向量的点云自动配准方法 |
Non-Patent Citations (3)
Title |
---|
KEIJI NAGATANI 等: "Scan-point Planning and 3-D Map Building for a 3-D Laser Range Scanner in an Outdoor Environment", 《FIELD AND SERVICE ROBOTICS. SPRINGER BERLIN HEIDELBERG》 * |
PETER BITER 等: "The Normal Distributions Transform: A New Approach to Laser Scan Matching", 《PROCEEDINGS OF THE 2003 IEEE/RSJ INTL. CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS LAS VEGAS, NEVEDA. OCTOBER 2003》 * |
马兆建: "虚拟现实辅助遥操作机器人的非结构化环境建模研究", 《中国优秀硕士学位论文全文数据库_信息科技辑》 * |
Cited By (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104992074A (zh) * | 2015-07-29 | 2015-10-21 | 华南理工大学 | 机载激光扫描系统航带拼接方法与装置 |
CN105607071B (zh) * | 2015-12-24 | 2018-06-08 | 百度在线网络技术(北京)有限公司 | 一种室内定位方法及装置 |
CN105607071A (zh) * | 2015-12-24 | 2016-05-25 | 百度在线网络技术(北京)有限公司 | 一种室内定位方法及装置 |
CN105702151A (zh) * | 2016-03-31 | 2016-06-22 | 百度在线网络技术(北京)有限公司 | 一种室内地图构建方法及装置 |
CN106017873A (zh) * | 2016-07-19 | 2016-10-12 | 武汉海达数云技术有限公司 | 一种激光扫描仪反射面参数的标定方法 |
CN106485662A (zh) * | 2016-12-01 | 2017-03-08 | 深圳市维新登拓医疗科技有限公司 | 空间点云拼接方法和装置 |
CN108510439A (zh) * | 2017-02-28 | 2018-09-07 | 上海小桁网络科技有限公司 | 点云数据的拼接方法、装置和终端 |
CN108510439B (zh) * | 2017-02-28 | 2019-08-16 | 贝壳找房(北京)科技有限公司 | 点云数据的拼接方法、装置和终端 |
CN109285188B (zh) * | 2017-07-21 | 2020-04-21 | 百度在线网络技术(北京)有限公司 | 用于生成目标物体的位置信息的方法和装置 |
CN109285188A (zh) * | 2017-07-21 | 2019-01-29 | 百度在线网络技术(北京)有限公司 | 用于生成目标物体的位置信息的方法和装置 |
CN107452062A (zh) * | 2017-07-25 | 2017-12-08 | 深圳市魔眼科技有限公司 | 三维模型构建方法、装置、移动终端、存储介质及设备 |
CN107452062B (zh) * | 2017-07-25 | 2020-03-06 | 深圳市魔眼科技有限公司 | 三维模型构建方法、装置、移动终端、存储介质及设备 |
CN109584280A (zh) * | 2017-09-29 | 2019-04-05 | 上海时元互联网科技有限公司 | 基于陀螺仪的三维点云数据匹配方法及系统、控制器 |
CN108152831A (zh) * | 2017-12-06 | 2018-06-12 | 中国农业大学 | 一种激光雷达障碍物识别方法及系统 |
CN108152831B (zh) * | 2017-12-06 | 2020-02-07 | 中国农业大学 | 一种激光雷达障碍物识别方法及系统 |
CN110186467A (zh) * | 2018-02-23 | 2019-08-30 | 通用汽车环球科技运作有限责任公司 | 群感测点云地图 |
CN108776991A (zh) * | 2018-04-17 | 2018-11-09 | 深圳清创新科技有限公司 | 三维建模方法、装置、存储介质和计算机设备 |
CN108876862B (zh) * | 2018-07-13 | 2021-12-07 | 北京控制工程研究所 | 一种非合作目标点云位置姿态计算方法 |
CN109146935B (zh) * | 2018-07-13 | 2021-03-12 | 中国科学院深圳先进技术研究院 | 一种点云配准方法、装置、电子设备及可读存储介质 |
CN109146935A (zh) * | 2018-07-13 | 2019-01-04 | 中国科学院深圳先进技术研究院 | 一种点云配准方法、装置、电子设备及可读存储介质 |
CN108876862A (zh) * | 2018-07-13 | 2018-11-23 | 北京控制工程研究所 | 一种非合作目标点云位置姿态计算方法 |
CN109145969A (zh) * | 2018-08-03 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 三维物体点云数据的处理方法、装置、设备及介质 |
CN109145969B (zh) * | 2018-08-03 | 2020-07-28 | 百度在线网络技术(北京)有限公司 | 三维物体点云数据的处理方法、装置、设备及介质 |
CN109375228A (zh) * | 2018-10-31 | 2019-02-22 | 歌尔股份有限公司 | 激光雷达的异常帧点云数据的确定方法、处理方法及装置 |
CN109375228B (zh) * | 2018-10-31 | 2020-07-24 | 歌尔股份有限公司 | 激光雷达的异常帧点云数据的确定方法、处理方法及装置 |
CN111366938B (zh) * | 2018-12-10 | 2023-03-14 | 北京图森智途科技有限公司 | 一种挂车夹角的测量方法、装置及车辆 |
CN109379509A (zh) * | 2018-12-10 | 2019-02-22 | 盎锐(上海)信息科技有限公司 | 点云加密压缩引擎 |
CN111366938A (zh) * | 2018-12-10 | 2020-07-03 | 北京图森智途科技有限公司 | 一种挂车夹角的测量方法、装置及车辆 |
CN111327902A (zh) * | 2018-12-13 | 2020-06-23 | 华为技术有限公司 | 点云的编解码方法及装置 |
US11961265B2 (en) | 2018-12-13 | 2024-04-16 | Huawei Technologies Co., Ltd. | Point cloud encoding and decoding method and apparatus |
CN109583513B (zh) * | 2018-12-17 | 2022-12-02 | 香港理工大学 | 一种相似帧的检测方法、系统、装置及可读存储介质 |
CN109583513A (zh) * | 2018-12-17 | 2019-04-05 | 香港理工大学 | 一种相似帧的检测方法、系统、装置及可读存储介质 |
CN109934124A (zh) * | 2019-02-25 | 2019-06-25 | 东软睿驰汽车技术(沈阳)有限公司 | 一种物体识别方法和装置 |
CN110060282A (zh) * | 2019-03-27 | 2019-07-26 | 东软睿驰汽车技术(沈阳)有限公司 | 一种点云配准的方法及装置 |
CN110264502A (zh) * | 2019-05-17 | 2019-09-20 | 华为技术有限公司 | 点云配准方法和装置 |
CN110264502B (zh) * | 2019-05-17 | 2021-05-18 | 华为技术有限公司 | 点云配准方法和装置 |
CN110196044A (zh) * | 2019-05-28 | 2019-09-03 | 广东亿嘉和科技有限公司 | 一种基于gps闭环检测的变电站巡检机器人建图方法 |
CN110969650B (zh) * | 2019-11-20 | 2022-07-19 | 中北大学 | 一种基于中心投影的强度图像与纹理序列间的配准方法 |
CN110969650A (zh) * | 2019-11-20 | 2020-04-07 | 中北大学 | 一种基于中心投影的强度图像与纹理序列间的配准方法 |
CN111080682B (zh) * | 2019-12-05 | 2023-09-01 | 北京京东乾石科技有限公司 | 点云数据的配准方法及装置 |
CN111080682A (zh) * | 2019-12-05 | 2020-04-28 | 北京京东乾石科技有限公司 | 点云数据的配准方法及装置 |
CN112950706B (zh) * | 2019-12-11 | 2023-11-03 | 京东科技信息技术有限公司 | 可移动设备定位数据处理方法、装置、设备及存储介质 |
CN112950706A (zh) * | 2019-12-11 | 2021-06-11 | 北京海益同展信息科技有限公司 | 可移动设备定位数据处理方法、装置、设备及存储介质 |
WO2021115154A1 (zh) * | 2019-12-11 | 2021-06-17 | 京东数科海益信息科技有限公司 | 可移动设备定位数据处理方法、装置、设备及存储介质 |
US11574417B2 (en) | 2019-12-11 | 2023-02-07 | Jingdong Technology Information Technology Co., Ltd. | Portable device positioning data processing method and apparatus, device, and storage medium |
CN111340860B (zh) * | 2020-02-24 | 2023-09-19 | 北京百度网讯科技有限公司 | 点云数据的配准、更新方法、装置、设备和存储介质 |
CN111340860A (zh) * | 2020-02-24 | 2020-06-26 | 北京百度网讯科技有限公司 | 点云数据的配准、更新方法、装置、设备和存储介质 |
CN111401264A (zh) * | 2020-03-19 | 2020-07-10 | 上海眼控科技股份有限公司 | 车辆目标检测方法、装置、计算机设备和存储介质 |
CN111540015A (zh) * | 2020-04-27 | 2020-08-14 | 深圳南方德尔汽车电子有限公司 | 基于点云匹配的位姿计算方法、装置、计算机设备及存储介质 |
CN113763438A (zh) * | 2020-06-28 | 2021-12-07 | 北京京东叁佰陆拾度电子商务有限公司 | 一种点云配准方法、装置、设备及存储介质 |
CN113763438B (zh) * | 2020-06-28 | 2024-04-19 | 北京京东叁佰陆拾度电子商务有限公司 | 一种点云配准方法、装置、设备及存储介质 |
CN112132971A (zh) * | 2020-09-08 | 2020-12-25 | 合肥的卢深视科技有限公司 | 三维人体建模方法、装置、电子设备和存储介质 |
CN112132971B (zh) * | 2020-09-08 | 2024-04-23 | 合肥的卢深视科技有限公司 | 三维人体建模方法、装置、电子设备和存储介质 |
CN114526720A (zh) * | 2020-11-02 | 2022-05-24 | 北京四维图新科技股份有限公司 | 定位的处理方法、装置、设备及存储介质 |
CN112330702A (zh) * | 2020-11-02 | 2021-02-05 | 蘑菇车联信息科技有限公司 | 点云补全方法、装置、电子设备及存储介质 |
CN114526720B (zh) * | 2020-11-02 | 2024-04-16 | 北京四维图新科技股份有限公司 | 定位的处理方法、装置、设备及存储介质 |
CN112710318A (zh) * | 2020-12-14 | 2021-04-27 | 深圳市商汤科技有限公司 | 地图生成方法、路径规划方法、电子设备以及存储介质 |
CN113344995A (zh) * | 2021-06-22 | 2021-09-03 | 平安普惠企业管理有限公司 | 基于直线特征的数据配准方法、装置、设备及存储介质 |
CN113554759A (zh) * | 2021-07-26 | 2021-10-26 | 河南德拓信息科技有限公司 | 一种煤炭运输遗撒智能监测分析方法、装置和设备 |
CN113989366A (zh) * | 2021-12-27 | 2022-01-28 | 机科发展科技股份有限公司 | 一种托盘定位方法及装置 |
CN114942026A (zh) * | 2022-06-01 | 2022-08-26 | 四川大学 | 基于智能数据的多模态三维影像导航系统 |
WO2024002360A1 (zh) * | 2022-06-30 | 2024-01-04 | 武汉联影智融医疗科技有限公司 | 配准方法、装置、计算机设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104778688B (zh) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104778688A (zh) | 点云数据的配准方法及装置 | |
Liu et al. | Balm: Bundle adjustment for lidar mapping | |
US8792726B2 (en) | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus | |
Tazir et al. | CICP: Cluster Iterative Closest Point for sparse–dense point cloud registration | |
Ückermann et al. | Real-time 3D segmentation of cluttered scenes for robot grasping | |
CN111144349B (zh) | 一种室内视觉重定位方法及系统 | |
CN110223298A (zh) | 基于点云局部结构的语义分割改进算法 | |
CN105654483A (zh) | 三维点云全自动配准方法 | |
CN110276768B (zh) | 图像分割方法、图像分割装置、图像分割设备及介质 | |
CN113436270B (zh) | 传感器标定方法及装置、电子设备和存储介质 | |
CN112784873A (zh) | 一种语义地图的构建方法及设备 | |
Shivakumar et al. | Real time dense depth estimation by fusing stereo with sparse depth measurements | |
Liu et al. | Efficient and consistent bundle adjustment on lidar point clouds | |
Tao et al. | A convenient and high-accuracy multicamera calibration method based on imperfect spherical objects | |
CN103810747A (zh) | 基于二维主流形的三维点云物体形状相似性比较方法 | |
CN112002007A (zh) | 基于空地影像的模型获取方法及装置、设备、存储介质 | |
Zhao et al. | Linear MonoSLAM: A linear approach to large-scale monocular SLAM problems | |
CN115239899B (zh) | 位姿图生成方法、高精地图生成方法和装置 | |
Bassier et al. | BIM reconstruction: Automated procedural modeling from point cloud data | |
Tushev et al. | Parallel algorithms for effective correspondence problem solution in computer vision | |
Arnaud et al. | On the fly plane detection and time consistency for indoor building wall recognition using a tablet equipped with a depth sensor | |
CN113592976A (zh) | 地图数据的处理方法、装置、家用电器和可读存储介质 | |
CN113034673A (zh) | 一种3d点云建模系统及计算机可读存储介质 | |
Yu et al. | Multi-view 2D–3D alignment with hybrid bundle adjustment for visual metrology | |
Guan et al. | Laser measurements registration algorithm for hull blocks with shipbuilding constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |