一种并行的三维点云数据自动化配准方法与流程

文档序号:17292519发布日期:2019-04-03 04:04阅读:431来源:国知局
一种并行的三维点云数据自动化配准方法与流程

本发明属于点云数据处理领域,尤其是一种并行的三维点云数据自动化配准方法。



背景技术:

三维点云数据是通过测量仪器得到的物体外观表面的点数据集合,是对真实世界的一种数字化表现形式。三维点云数据在建筑物保护、三维地图、生物医学等领域具有很强的应用价值。三维点云数据会遇到需要将两个不同视图获取的点云数据统一到相同的坐标系下的问题,即点云配准。

目前的点云配准技术主要分为手动配准和自动配准。手动配准需要提前人工标注两个点云数据中的多个对应点,然后根据标注的对应点求解刚性变换的齐次方程求解旋转矩阵r和平移向量t,最后根据求得的r、t将两个点云的坐标系进行统一,此方法对人工标准的准确性要求极高,错误的标准对应点会影响配准效果。自动配准通过计算点云数据的特征描述子fpfh,并进行特征匹配,通过特征匹配代替人工标准,进而求解旋转平移矩阵,此方法需要对点云数据进行大量的预处理,在大型三维点云数据中,特征的提取和匹配都需要巨大的时间成本,同时特征匹配的准确性是配准成果的关键。



技术实现要素:

针对上述问题,本发明提供了一种并行的三维点云数据自动化配准方法,包括以下步骤:

步骤1:获取不同视图下待配准的源点云p和目标点云q;

步骤2:点云降采样处理。针对大型的三维点云数据进行降采样处理,在最大程度保留点云数据特征的前提下减少计算量。此处采用尺度不变特征变换3d-sift提取点云中的关键点作为降采样的结果。特殊的,针对三维重建领域可以直接采用稀疏点云作为降采样结果。降采样后源点云p中的关键点数量np,目标点云q中的关键点数量pq。

步骤3:对两个点云集合中的点计算法向量进而计算快速点特征直方图描述子fpfh,fpfh是由点特征直方图描述子pfh简化而来,在保留fph大部分特性和结果的同时,计算复杂度更低。具体步骤如下:

步骤3.1:针对三维点云中的某点pq,它的fpfh描述子由三维空间中半径为r的球体区域中的k个领域点决定。

步骤3.2:计算中心点pq和领域点的相对差异,取领域中的任一点pk,且各自的法向量为n1和n2,在点pq上定义局部坐标系,坐标系方向u、v、w根据下式计算:

u=n1

w=u×v(式1)

步骤3.3:根据u、v、w坐标,n1和n2的差异可以用一个三元组(α,φ,θ)来表示,三元组的表达形式仅使用3个参数就涵盖两个点相对位置关系的12个参数。其中α,φ,θ根据下式计算:

α=v·n2

θ=arctan(w·n2,u·n2)(式2)

步骤3.4:计算中心点pq和领域k个点之间的三元组,并统计一个简化的点特征直方图spfh。

步骤3.5:分别以k个领域点自身为中心点,采用同样的方式计算以每个点为中心的spfh,利用领域点的spfh加权计算pq点最终的fpfh。权重wk依赖于中心点pq和领域点pk的距离:

步骤4:启动多个进程分别进行点云的特征匹配和刚性变换,每个进程的具体步骤如下:

步骤4.1:从源点云p中随机选取n个采样点,由于fpfh特征的特点,选取的点两两之间的距离应满足预先给定的最小阈值dmin。

步骤4.2:在目标点云q中根据kd-树最近邻查询算法flann查找与源点云p中采用点具有相似fpfh特征的对应点。

步骤4.3:由于噪声的影响并不是所有的点对应关系都是正确的,根据随机采样一致性ransac去除错误的匹配关系,在提高准确性的同时提高计算速度。同时将获取到的对应关系建立索引对应表。

步骤4.4:根据对应点利用svd分解方法获取旋转矩阵和平移向量。

步骤4.5:通过计算变换后的距离误差和函数来判断当前变换的误差水平,其中误差计算采用huber函数。其中li为第i组对应点变换后的距离差,δ为预先设定的阈值。

步骤5:上步骤的4.1到4.5成为一次迭代,迭代中进行对应点特征匹配的4.2首先查询之前建立的索引对应表,如果存在对应关系直接获取,不存在对应关系再根据flann进行特征匹配,加快匹配速度。由于各进程的初始点是随机选取能够保证获取不同的对应关系,进而获取不同的刚性变换矩阵,每个进程的每次迭代都计算误差度量。

步骤6:当各个进程达到迭代次数m时停止,将误差和函数最小的刚性变换矩阵作为最终变换矩阵。

步骤7:利用得到的变换矩阵作为icp迭代算法的初始化矩阵进行精配准,icp算法的配准效果和初始化矩阵有大关系,坏的初始化矩阵可能导致局部最优不能收敛到正确的结果,之前的步骤能够最大程度保证初始变换的正确性。

有益效果

针对当前手动点云配准的准确性低,人工成本大和自动点云配准的计算复杂度大、配准精度不高等背景,本发明提出一种并行的三维点云数据自动化配准方法,避免了人工标准的高成本和不准确标准带来的错误配准,并且降低了当前自动配准技术的计算复杂度,提高了当前自动化配准技术的精度。

附图说明

图1是两点之间三元组的计算图。

图2是fpfh描述子图。

图3是huber函数图。

图4是技术方案流程图。

具体实施方式

本发明提供了一种并行的三维点云数据自动化配准方法,如图4所示,包括以下步骤:

步骤1:获取不同视图下待配准的源点云p和目标点云q;

步骤2:点云降采样处理。针对大型的三维点云数据进行降采样处理,在最大程度保留点云数据特征的前提下减少计算量。此处采用尺度不变特征变换3d-sift提取点云中的关键点作为降采样的结果。特殊的,针对三维重建领域可以直接采用稀疏点云作为降采样结果。降采样后源点云p中的关键点数量np,目标点云q中的关键点数量mq。

步骤3:对两个点云集合中的点计算法向量进而计算快速点特征直方图描述子fpfh,fpfh是由点特征直方图描述子pfh简化而来,在保留fph大部分特性和结果的同时,计算复杂度更低。具体步骤如下:

步骤3.1:针对三维点云中的某点pq,它的fpfh描述子由三维空间中半径为r的球体区域中的k个领域点决定。

步骤3.2:计算中心点pq和领域点的相对差异,取领域中的任一点pk,且各自的法向量为n1和n2,在点pq上定义局部坐标系,坐标系方向u、v、w根据下式计算:

u=n1

w=u×v(式1)

步骤3.3:根据u、v、w坐标,n1和n2的差异可以用一个三元组(α,φ,θ)来表示,如图1所示。三元组的表达形式仅使用3个参数就涵盖两个点相对位置关系的12个参数。其中α,φ,θ根据下式计算:

α=v·n2

θ=arctan(w·n2,u·n2)(式2)

步骤3.4:计算中心点pq和领域k个点之间的三元组,并统计一个简化的点特征直方图spfh。

步骤3.5:分别以k个领域点自身为中心点,采用同样的方式计算以每个点为中心的spfh,利用领域点的spfh加权计算pq点最终的fpfh。权重wk依赖于中心点pq和领域点pk的距离,如图2所示。

步骤4:启动多个进程分别进行点云的特征匹配和刚性变换,每个进程的具体步骤如下:

步骤4.1:从源点云p中随机选取n个采样点,由于fpfh特征的特点,选取的点两两之间的距离应满足预先给定的最小阈值dmin。

步骤4.2:在目标点云q中根据kd-树最近邻查询算法flann查找与源点云p中采用点具有相似fpfh特征的对应点。

步骤4.3:由于噪声的影响并不是所有的点对应关系都是正确的,根据随机采样一致性ransac去除错误的匹配关系,在提高准确性的同时提高计算速度。同时将获取到的对应关系建立索引对应表。

步骤4.4:根据对应点利用svd分解方法获取旋转矩阵和平移向量。

步骤4.5:通过计算变换后的距离误差和函数来判断当前变换的误差水平,其中误差计算采用huber函数,其中li为第i组对应点变换后的距离差,δ为预先设定的阈值。

当δ=10,δ=5,δ=3,δ=1时,函数图像如图3所示。

步骤5:上步骤的4.1到4.5成为一次迭代,迭代中进行对应点特征匹配的4.2首先查询之前建立的索引对应表,如果存在对应关系直接获取,不存在对应关系再根据flann进行特征匹配,加快匹配速度。由于各进程的初始点是随机选取能够保证获取不同的对应关系,进而获取不同的刚性变换矩阵,每个进程的每次迭代都计算误差度量。

步骤6:当各个进程达到迭代次数m时停止,将误差和函数最小的刚性变换矩阵作为最终变换矩阵。

步骤7:利用得到的变换矩阵作为icp迭代算法的初始化矩阵进行精配准,icp算法的配准效果和初始化矩阵有大关系,坏的初始化矩阵可能导致局部最优不能收敛到正确的结果,之前的步骤能够最大程度保证初始变换的正确性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1