一种高精度点云法向计算方法

文档序号:551856 发布日期:2021-05-14 浏览:8次 >En<

阅读说明:本技术 一种高精度点云法向计算方法 (High-precision point cloud normal calculation method ) 是由 潘威 卢盛林 曹玲 于 2021-01-12 设计创作,主要内容包括:本发明属于点云处理技术领域,具体公开了一种高精度点云法向计算方法,包括以下步骤:读取点云数据;设一个包含N个点的三维点云为P,三维点云P中第i个点记为P-i(x-i,y-i,z-i),在空间邻域中确定P-i的3个尺度k-1,k-2,k-3为近邻点,遍历点云,确定三维点云P中所有点的每个尺度对应的初始法向量;通过邻域点法向信息替代无效法向,采用最小生成树算法使得所有邻域点法向朝向一致,确定P中所有点的最终法向。本发明首次提出了采用多尺度信息对法向分别进行计算,并融合的机制,有效避免了参数K选取带来的不稳定影响,抑制了噪声的影响,在边界部分也更好地保持了细节,有效解决了带噪点云数据的法向计算问题。(The invention belongs to the technical field of point cloud processing, and particularly discloses a high-precision point cloud normal calculation method, which comprises the following steps: reading point cloud data; setting a three-dimensional point cloud containing N points as P, and recording the ith point in the three-dimensional point cloud as P i (x i ,y i ,z i ) Determining P in spatial neighborhood i 3 dimensions k of 1 ,k 2 ,k 3 Traversing the point cloud for the adjacent points, and determining an initial normal vector corresponding to each scale of all the points in the three-dimensional point cloud P; and replacing the invalid normal direction by the normal direction information of the neighborhood points, and determining the final normal direction of all the points in the P by adopting a minimum spanning tree algorithm to ensure that the normal directions of all the neighborhood points are consistent. The invention firstly provides a mechanism for respectively calculating and fusing normal directions by adopting multi-scale information, thereby effectively avoiding the instability caused by the selection of the parameter KThe influence inhibits the influence of noise, better maintains details at the boundary part, and effectively solves the normal calculation problem of cloud data with noise points.)

一种高精度点云法向计算方法

技术领域

本发明属于点云处理技术领域,具体涉及一种高精度点云法向计算方法。

背景技术

随着三维传感器技术的进步,三维点云的获取越来越容易。单纯使用点的三维空间坐标描述的信息是非常有限的,法向是点云使用最广泛,最重要的特征,广泛应用在数据分析、配准、分割等方面。

相关技术中,采集到的图像的三维点云数据通常会带有噪声的侵蚀,在硬件方面,由于深度相机或三维激光扫描仪的精度误差,会出现噪声;软件方面,在生成点云的算法过程中由于角度测量的误差或者浮点数运算的不精确性,可能会将点置于错误的位置。在环境方面,由于环境的因素(例如空气中的灰尘,物体表面发生的漫反射等),可能会对采集的点云产生影响。

目前,点云中点的法向量的方向常用的计算方法:计算一个点与其近邻点的协方差矩阵特征值和特征向量来估计点云中点的法向量的方向。这种方法中的最近邻参数K的选取非常关键,过大会导致细节丢失,过小又对噪声比较敏感,而点云数据本身经常含有大量的噪声,因此采用这种方法在估计点云中点的法向量时容易引入较大的误差,从而导致点云数据携带大量的噪声。

发明内容

本发明的目的在于:针对现有技术的不足,提供一种高精度点云法向计算方法,本方法引入对点云数据进行各向异性加权和多尺度法向融合等计算方法,从而得到较稳定和高精度的法向量,为点云的配准、聚类、分割等提供较稳定的计算参数,提高了对噪声的抑制能力。

为了实现上述目的,本发明采用如下技术方案:

一种高精度点云法向计算方法,包括以下步骤:

步骤1:采用深度相机或三维激光扫描仪进行实物扫描,读取点云数据;

步骤2:设一个包含N个点的三维点云为P,三维点云P中第i个点记为Pi(xi,yi,zi),在空间邻域中确定Pi的3个尺度k1,k2,k3为近邻点,遍历点云,确定三维点云P中所有点的每个尺度对应的初始法向量,其中k1=15,k2=30,k3=45;xi,yi,zi分别为点Pi的X轴、Y轴和Z轴坐标值;

步骤3:通过邻域点法向信息替代无效法向,采用最小生成树算法使得所有邻域点法向朝向一致;

步骤4:根据以下式子确定P中所有点的最终法向,

其中,

为中心点,pj为邻域内其他点,σd为距离权值,其为常数,通常取最大半径,σn为法向权值,其为常数,z为1、2或3。

进一步地,上述步骤2所述的遍历点云,确定P中所有点的每个尺度对应的初始法向量,其具体如下:

以Pi为中心点,根据邻域点P到中心点Pi的欧氏距离计算权重,构造邻域点的加权协方差矩阵表达式如下:

其中,M为一个3×3的实对称半正定矩阵,计算M的3个特征值λ0、λ1和λ2,并按降序排列使λ2≥λ1≥λ0,3个特征值λ0、λ1和λ2分别对应特征向量v0,v1和v2;设定判定条件:

λ2>0&&(λ20)/(λ02)<0.75

当上述条件满足时,取最小特征值对应的特征向量v0作为点pi的初始法向量否则,n0 i置为无效法向。

进一步地,上述步骤3所述的通过邻域点法向信息替代无效法向,采用最小生成树算法使得所有邻域点法向朝向一致,其具体如下:

遍历点云P,对于无效法向,通过归一化后的邻域点法向加权平均值替代无效法向,保证点云P中每个点存在稳定的有效法向量,

利用Prim算法构建P点云的最小生成树,各点法向之间的角度权值为具体方式是:

步骤3-1:以点云P中任意一点为树的根节点,依次求邻域内j个其他点与根节点的权重,计算得一个最小的权重,设定最小的权重为f1,将构成f1的另外一个点存储于集合V中,将f1存储于集合E中;

步骤3-2:依次求邻域内剩余的(j-1)个点与集合V中的每个点的权重,计算得一个最小的权重,设定最小的权重为fn,将构成fn的另外一个点存储于集合V中,将fn存储于集合E中;其中,n为2、3、4、5……j;

步骤3-3:重复上述步骤3-2,直至邻域内没有剩余的点,此时集合E就是邻域最小生成树权重的集合;

步骤3-4:从最小生成树的根节点开始,将法向量法向逐步传递到树的每个叶子节点,具体传递方式如下:

其中,ni表示邻域内父节点的法向量,ni+1为子节点的法向量,若二者点乘之和小于零,则翻转子节点的法向量方向。

本发明的有益效果在于:

1.本发明一种高精度点云法向计算方法首次提出了采用多尺度信息对法向分别进行计算,并融合的机制。有效避免了最近邻数目,即参数K选取带来的不稳定影响,抑制了噪声的影响,在边界部分也更好地保持了细节,有效解决了带噪点云数据的法向计算问题。

2.本发明利用各向异性主成分分析方法,即在协方差矩阵的计算过程中同时对距离和法向进行加权,结果更精确。

3.本发明利用最小生成树结构,实现法向方向修正。

4.兼容TBB(Intel公司开发的并行编程开发的工具)等工具,利用其进行并行加速,加快运算过程,有效节省了工作时间。

附图说明

图1为本发明一种高精度点云法向计算方法的运行流程图;

图2为本发明实验采用的stanford bunny点云模型图;

图3为迭代一次的兔子模型法向量效果图之一;

图4为迭代一次的兔子模型法向量效果图之二;

图5为迭代三次的兔子模型法向量效果图之一;

图6为迭代三次的兔子模型法向量效果图之二;

图7为兔子曲面三维点云模型图;

图8为法向修正前的兔子模型图;

图9为法向修正后的兔子模型图。

具体实施方式

如在说明书及权利要求当中使用了某些词汇来指称特定组件,本领域技术人员应可理解,制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决技术问题,基本达到技术效果。

以下结合附图和具体实施例对本发明作进一步详细说明,但不作为对本发明的限定。

参阅图1所示,图1为本发明一种高精度点云法向计算方法的运行流程图。

步骤1:采用深度相机或三维激光扫描仪进行实物扫描,输入带估计点云模型,读取点云数据;并设置好文件读取和存储的路径,本项目采用C++语言实现,Kd树和矩阵计算使用Eigen库直接接入C++。

步骤2:设一个包含N个点的三维点云为P,三维点云P中第i个点记为Pi(xi,yi,zi),在空间邻域中确定Pi的3个尺度k1,k2,k3为近邻点,遍历点云,确定三维点云P中所有点的每个尺度对应的初始法向量,其中xi,yi,zi分别为点Pi的X轴、Y轴和Z轴坐标值;

设置点的三个邻域尺寸k=15,30,45,距离权值为σd和法向权值为σn

步骤3:利用Kd树快速检索最近邻域。

步骤4:根据邻域所有点求协方差矩阵,矩阵

可展开为下式:

将权重与矩阵M相乘,得加权后的矩阵,权重如下式:

空间权重r=||pi-p||,

r为邻域内其他点到中心点的欧氏距离。

步骤5:求解协方差矩阵的特征向量和特征值,根据最小特征值对应的特征向量即为点的初始法向量估计结果;利用判别条件决定该法向量是否有效。

步骤6:遍历点云的每个点,对于无效法向量,使用邻域法向加权替代,利用最小生成树算法,使得所有法向朝向一致。

步骤7:遍历点云的每个点,根据步骤4的运算,求得点云最终法向;

实验采用的stanford bunny点云模型如图2所示,迭代一次的兔子模型法向量估计如图3和图4所示,迭代3次后兔子模型的法向量估计结果如图5和图6所示。

步骤8:图5和图6展示了点云法向估计存在方向不一致的情况,首先使用几何关系修正法向量方向,取点云几何中心点,作中心点到点云某点的方向向量di,将估算出的每一点的法向量和方向向量进行比较,若夹角大于90°,则将该点的法向量进行翻转,遍历点云的每个点进行此操作。

步骤9:由点云的每个点构建最小生成树,树的权重为w=1-|ni·ni′|,建立邻域内点法向量朝向相似度邻接关系,将根节点的法向量方向传递到每个子节点,具体是子节点跟父节点的法向量夹角大于90°时,子节点法向量翻转,遍历点云的每个点,对每个点的邻域进行此操作;

展示法向修正效果时,使用曲面三维点云模型,得到如图7,法向修正前如图8所示,法向修正后如图9所示,本发明提供的一种高精度点云法向计算方法,有效抑制了噪声的影响,在边界部分更好地保持了细节,有效解决了带噪点云数据的法向计算问题。

根据上述说明书的揭示和教导,本发明所属领域的技术人员还能够对上述实施方式进行变更和修改。因此,本发明并不局限于上述的具体实施方式,凡是本领域技术人员在本发明的基础上所作出的任何显而易见的改进、替换或变型均属于本发明的保护范围。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:深度图生成方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!