1.基于改进的屏蔽泊松算法的三维点云重建方法,其特征在于,包括如下步骤:
S1:获取模型三维点云数据;
通过三维扫描仪扫描模型,获取模型三维点云数据;
S2:引入屏蔽因子,通过引入点和梯度的约束来对泊松算法进行预处理约束限制,避免指示函数发生偏移从而找不到合适的全局偏移量使得所有点平均值为0,无法得到最佳匹配算法;
给定一系列带权重w的输入点集P:P→R≥0,添加梯度约束和离散点的值约束来使方程在采样点的误差得到修正,即指示函数χ最小化公式为:
式中,p为输入点集的一个样本点p∈P,表示的是有向点集,表示的是指示函数梯度,屏蔽因子α表示一个权衡拟合梯度和拟合值重要与否的权值,Area(P)表示所重建表面的区域,其由局部采样密度计算估计获得;为方便计算,设置每一个采样点的权值W(p)=1,公式(1)可简化为:
其中所代表的是在单位立方体中函数空间上的标准的内积:
<.,.>(w.p)所代表的是在单位立方体体素中的函数空间上的形式,其具备的特性是双线性、对称性、非负以及半定性,<.,.>(w.p)是根据函数值的加权和而得到的:
S3:八叉树分割
使用八叉树分割对点云简化去噪,压缩存储,建立点云间拓扑结构,实现快速建立和高效查找八叉树邻节点;
设置函数空间:点样本在模型表面均匀分布情况下,设置函数空间可将指示函数梯度进行离散化,给定一个输入数据集S,最大树深为D,定义八叉树σ为每个样本点落在深度为D的叶子结点上的最小八叉树;
定义函数空间为具有单位积分、尺度缩放和位置移动的基函数F:R3→R,其节点o∈σ可定义节点函数Fo,它以节点o为中心和宽度展开,则节点函数公式为:
其中o.c和o.w分别表示节点o的中心和宽度;
S4:对每个点云法向量进行法向估计、重定向,减少法向指向的二义性;使用移动最小二乘法表面定义中的局部参考平面作为每个点的法向量,通过对点云中每个点p的所有相邻点赋予高斯权值θ(·),距离当前点较近的点将会对法向量估计结果产生相对较大的影响,从而可以得到更平滑的估计结果,局部参考平面公式为:
其中n为平面P的法向量,d为P到坐标原点o的距离,P经过k个最近点的质心,法向量n需满足||n||2=1,θ(·)以每个点到当前点在参考平面的投影点p0的距离为参数;
令ni和nj为相邻两点ri和rj的法向量,如果<ni,nj>=-1,则进行法向翻转;
S5:计算向量场;
选择一个基函数F使得向量场精确有效的表示为节点函数Fo的线性和,为达到子节点的精度,使用三次线性插值法分配样本点到八个最邻近的节点,这样,指示函数的梯度场近似值公式为:
其中NgbrD(s)为最邻近s.p的八个深度为D的节点,{αo.s}为三次线性插入的权值,如果最邻近点不在八叉树中,将对八叉树进行修改从而纳入最邻近点,表示为s.p的向内曲面法线即
S6:求解屏蔽泊松方程,得到指示函数;
根据方程(5)式得到向量场后,使用多重网格算法求屏蔽泊松方程的解;
操作子可定义为:因为操作子是正定的,因而上式方程为屏蔽泊松方程;
S7:对点云等值面提取,得到三维重建模型;
获取了指示函数后,选择一个等值,然后通过计算指示函数提取对应的等值面,这样就可以获得模型表面
通过估计样本点的位置来估计指示函数然后使用平均值来提取等值面: