一种基于曲率特征的三维正态分布变换点云配准方法
【技术领域】
[0001] 本发明属于三维重建技术领域,特别是涉及两片带重叠区域的点云数据集之间实 现配准的方法。
【背景技术】
[0002] 由于待重建场景的复杂性、激光传感器扫描范围的局限性等原因,往往需要将一 个大的场景分为多个区域分别扫描。而每次扫描的相对坐标系都是以激光扫描仪的发射 点(视点)为原点的新建坐标系。为了使多次扫描的点云数据集统一到同一个坐标系下, 需要求出每两次扫描的点云数据集之间的变换矩阵,求变换矩阵的过程就是点云配准的过 程。三维重建系统中常用的配准算法主要分为三类:基于特征的配准算法 [W],迭代最近点 算法(ICP) [5_7]和正态分布变换算法(NDT) [8_11]。
[0003] 基于特征的配准算法就是利用两片点云对应的特征点对或者对应的特征向量估 计变换矩阵,使得一个点云数据集准确地配准到另一个点云数据集。由于此类算法只存在 一次变换过程,对应特征估计的准确性要求非常高,因此在实际应用中,基于特征的配准算 法均作为一种粗配准或者初始配准,如文献[3]中提取SIFT特征完成初始配准以及文献
[4] 中根据k近邻搜索点设计的一种不变特征。完成初始配准得到比较理想的初始位置之 后,采用精确配准算法提高配准精度。常用的精确配准算法是Besl等人在1992年提出的 迭代最近点算法(ICP)[6]。ICP算法的明显特征是在计算过程中的迭代思想,本质上是一种 计算两个点集间的距离并将其最小化的方法。ICP算法对初始位置要求严格、易于陷入局部 最优,而且算法时间复杂度高[8]。
[0004]正态分布变换配准算法于2003年由Biber和Strasser提出[9],正态分布变换配 准的主要思想是改变模型的表示形式,由原来离散点的表示形式转换为一种正态分布的组 合形式,新的模型描述了某一个点分别属于各个表面的概率。
【发明内容】
[0005] 本发明目的是解决配准过程耗时长的问题,提供一种基于曲率特征的三维正态分 布变换点云配准方法。
[0006] 本发明采用三维正态分布变换算法在很大程度上降低了配准算法的运行时间,而 且降低了实验误差,提高了实验精度。但应用到一个场景范围大、点云密集程度高的场景 中,配准过程耗时长的问题依然不容忽视。通过提取曲率特征,排除了大量冗余点的干扰, 降低了参与配准过程的点的数量,有效地缩短了配准算法的运行时间。
[0007] 本发明提供的一种基于曲率特征的三维正态分布变换点云配准方法,包括如下步 骤:
[0008] 第1、曲率特征提取,提取曲率特征的原则是:曲率种子点邻域半径范围内的点为 曲率特征点,邻域半径计算过程为在提取曲率特征点之前,首先设定曲率阈值 e,曲率值大 于阈值的点为曲率种子点,并确定邻域半径的计算公式:
[0009] R=kH(I)其中H为该点曲率值,k为比例参数。k的取值根据实际情况进行调 节,场景特征丰富时,同比例减小比例值;反之,增大比例值;
[0010] 曲率特征提取过程为:
[0011] 第1.1、分别计算模型点云中点的曲率值,计算公式如下:
[0013] 其中,曲面函数为y=f(x),y',y"分别为函数y关于X的一阶和二阶导数。
[0014] 第1. 2、遍历模型点云中所有点,若曲率值大于阈值e,计算该点的邻域半径R,提 取邻域半径R内的点为曲率特征点。
[0015] 第1. 3、参照第I. 1步和第1. 2步方法,提取目标点云的曲率特征点。
[0016] 第2、坐标变换矩阵估计
[0017] 采用精简过程为:首先将点云模型划分为体素栅格结构,然后分别计算每个体素 栅格内包含数据点的重心,用重心点代替同一栅格内其他点,依次处理完所有体素栅格。然 后应用三维正态分布变换算法求取坐标变换矩阵,完成配准,具体步骤如下:
[0018] 第2. 1、首先,将模型点云的曲率特征点均分为一系列小立方体,每个小立方体为 一个单元,边长长度一般设定为场景宽度的1/20,并且保证小立方体内点数不少于10个。
[0019] 第2. 2、然后对于每一个单元,用公式(3)计算均值向量和公式(4)计算协方差矩 阵,每个单元的点数要大于一个设定的阈值;
[0022] 其中q为均值向量,C为协方差矩阵,n为此单元内点的个数,xk= 1...n是此单元里
号,表示从k= 1的项,累加到k=n的项。位置X处的点在单元b内的概率用正态分布N(q,c)表示,概率密度函数为:
[0024] 其中,q是此单元的均值向量,C是此单元的协方差矩阵,C的上标-1代表对C进 行矩阵求逆运算,c是归一化常数,exp表示自然指数函数。
[0025] 第2. 3、需要优化的参数是旋转变量和平移变量,把所有参数用一个向量p表示。 定义一个变换函数T(p,X),即将点X通过p代表的旋转和平移变换得到新的位置坐标,在二 维空间中,T(p,x)为:
[0027] 其中tx,ty是平移变量,巾为旋转变量,因此p=[tx,ty,伞]。
[0028]第2. 4、假设目标点云的曲率特征点集为X={Xl,???,Xn},坐标变换参数向量为 P。定义目标函数S(p),求最优变换P使得X变换之后在模型点云上的概率最大,具体公式 为:
[0030] 等价于求目标函数S(P)的最小值;应用迭代牛顿算法优化此函数,直到最后一次 迭代的参数向量模长IpI小于o.oooi。
[0031] 第3、将目标点云集变换到模型点云坐标系
[0032]根据第2. 3步求得的坐标变换函数T(p,X),将目标点云数据集X= {Xl,. . .,Xn} 变换到模型点云坐标系,完成两片点云的配准。
[0033] 本发明的优点和有益效果:
[0034] 本发明设计的改进方法与原三维正态分布变换方法在设定的初始旋转偏差范围 内运行时间随着偏差的增大而上升,但本发明方法的运行时间相比于原方法表现出更加明 显的优势。
【附图说明】:
[0035] 图1为配准实验点云模型;
[0036] 图2为初始平移偏差对本发明方法和文献[9]中方法的配准时间及最终误差的影 响;
[0037] 图3为初始旋转误差对本发明方法和文献[9]中方法的配准时间及最终误差的影 响;
[0038] 图4表不全景点云模型;
[0039] 图5表示模型点云提取曲率特征结果图;
[0040] 图6表示目标点云提取曲率特征结果图;
[0041] 图7表示配准之前两片点云的位置关系图;
[0042] 图8表示配准之后两片点云的位置关系图。
【具体实施方式】:
[0043] 实例例1:
[0044] 为了进一步分析比较原三维正态分布变换方法与本发明方法,设计一组评估实 验:待配准的模型点云与目标点云来自同一个点云数据集(点云模型如附图1所示),人为 设置一定的初始平移偏差与初始旋转偏差,在此初始偏差的基础上分别应用三维正态分布 变换方法与本发明方法进行配准实验,每组参数均进行10次实验并求取均值。
[0045] 第一组实验:
[0046]I.la、设定初始偏差
[0047] 为了验证初始平移偏差对配准效果的影响,保证初始旋转为Orad,设定初始平移 偏差为100~500mm,并将目标点云按照相应的变换矩阵完成变换。
[0048]I. 2a、提取模型点云与目标点云的曲率特征值
[0049] 设置曲率阈值0. 5和邻域半径比例值500,根据公式(2)计算各个点的曲率值,根 据公式(1)计算邻域半径的值,保证特征点数量大概为原点云数量的1/10,分别提取模型 点云和目标点云的曲率特征点。
[0050]I. 3a、应用三维正态分布变换方法完成两组曲率特征点之间的配准
[0051] 将模型点云的曲率特征点在空间范围内划分为一系列小立方体,小立方体的边长 为50cm,根据公式(3)、(4)计算小立方体内三维点的平均向量和协方差矩阵,根据公式(5) 得到三维点在该立方体空间内的概率密度函数。根据公式(6)、(7)求变换矩阵使得目标点 云变换到模型点云空间坐标系内概率最大。
[0052]I. 4a、比较两种方法的运行时间,以及配准完成后最终平均偏差值
[0053] 附图2展示了附图1中点云数据集实验结果的曲线图,当初始平移偏差由IOOmm 增大到500mm时,原方法的运行时间由279. 32ms增大到546. 54ms。而在此过程中,本发明 方法的运行时间一直低于原方法运行时间的一半,误差值基本保持为一个很小的定值。分 析上述实验结果可得,本发明方法与原方法有一个共同特征,即初始偏差越大,方法运行时 间越长,但是本发明方法的运行时间相比于原方法有明显地缩短。而且在设定的初始偏差 范围内,两种方法最后均能收敛到非常小的误差值。
[0054] 第二组实验:
[0055]I.Ib、设定初始偏差
[0056] 为了验证初始旋转偏差对配准效果的影响,保证初始平移为0mm,设定初始旋转偏 差为0. 1~0. 5rad,并将目标点云按照相应的变换矩阵完成变换。
[0057] I.2b、提取模型点云与目标点云的曲率特征值
[0058] 设置曲率阈值0. 5和邻域半径比例值500,根据公式(2)计算各个点的曲率值,根 据公式(1)计算邻域半径的值,保证特征点数量大概为原点云数量的1/10,分别提取模型 点云和目标点云的曲率特征点。
[0059]I. 3b、应用三维正态分布变换方法完成两组曲率特征点之间的配准
[0060] 将模型点云的曲率特征点在空间范围内划分为一系列小立方体,,小立方体的边 长为50cm,根据公式(3)、(4)计算小立方体内三维点的平