本发明涉及计算机视觉技术与三维重建的逆向工程领域,具体是一种各项异性扩散滤波的三维散乱点云平滑去噪方法。
背景技术:
物体三维点云数据的获取是逆向工程的重要环节。但由于测量设备本身的缺陷以及测量环境的影响,导致测量得到的三维点云数据不可避免的存在噪声。因此,三维点云数据的平滑去噪处理已经成为逆向工程研究领域的热点问题之一。
随着计算机与三维数字化的不断发展,三维点模型也被广泛应用于3d打印、虚拟现实和计算机建模等领域。然而通过三维扫描仪得到的点云数据中含有噪声,传统的去噪方法在去除噪声时,易导致模型特征细节的丢失,所以一种点云保特征的去噪方法显得尤为重要。
技术实现要素:
针对现有技术的不足,本发明拟解决的技术问题是,提供一种各向异性扩散滤波的三维点云去噪方法。
本发明解决所述技术问题的技术方案是,提供一种各项异性扩散滤波的三维散乱点云平滑去噪方法,其特征在于该方法包括以下步骤:
步骤1,输入三维散乱点云数据p={p1,...,pn},pi为其中的一个采样点,确定其邻域点个数k;
步骤2,运用k-d树算法搜索邻域点:设邻域点集ni={pi1,pi2,pi3,...,pik},i=1,2,...,n,k≤n;
步骤3,对采样点和邻域点进行张量投票,得到结构张量矩阵t,采样点pi和其邻域点集ni进行张量投票得到的结构张量矩阵t如式(1)所示:
其中
式中,λ1,λ2,λ3分别代表了采样点的结构张量矩阵t的3个不同的特征值,令λ1≥λ2≥λ3≥0,e1,e2,e3分别代表了不同特征值对应的特征向量,同时也代表了采样点的三个主特征方向;
步骤4,构造扩散张量矩阵d:扩散张量矩阵d为3×3的对称矩阵,如式(3)所示:
扩散张量矩阵d的特征值和特征向量的表示形式如式(4)所示:
扩散张量矩阵d的特征向量和结构张量矩阵t的特征向量相同都为e1、e2和e3,所以只需要根据点云的方向结构特征设计相应的特征值u1,u2,u3,并且u1,u2,u3的值都属于[0,1];
步骤5,为了区分采样点的结构张量矩阵t的特征值的大小定义了采样点的相干系数,如式(5)所示:
步骤6,根据相干系数的大小对扩散张量矩阵d的特征值进行设计,设计方法如式(6)所示,其中α是用于控制扩散速率的因子;
u1=α
步骤7,利用所设计的扩散张量矩阵d的特征值μ1、μ2和μ3与结构张量矩阵t的特征向量e1、e2和e3来重构扩散张量矩阵d,得到重构后的扩散张量矩阵d如式(7)所示:
步骤8,将重构后的扩散张量矩阵d带入式(8),求解过程如下:
式中,
在式(8)中div表示散度,
式(8)的左侧利用差分代替微分来计算,展开后如式(10)所示:
其中,
步骤9,对所有采样点重复步骤2-步骤8,得到去噪后的点云模型。
与现有技术相比,本发明有益效果在于:
利用k-d树搜索采样点的邻域点,并采用张量投票的方法获取三维点云的结构张量矩阵,求解特征值和特征向量并根据结构张量矩阵的特征值和特征向量来分析采样点的局部特性,根据采样点的不同几何特征信息来设计扩散张量矩阵的特征值,并根据不同的几何特征信息来设计扩散速率,使得在不同主特征方向上的扩散速率不同,重构出修正后的扩散张量矩阵,保证在不同特征方向的扩散速率能自适应调整。最后将重构好的扩散张量代入三维扩散异性滤波方程中进行微分求解,经过一定次数的迭代得到滤波因子,对噪声进行平滑处理。
利用重构的扩散张量进行滤波处理时,滤波因子能根据采样点的几何特征自适应调整,避免了在模型尖锐导致的过光顺或平坦区域的光顺不足。
对散乱点云去除噪声的同时,可以有效的保持原始模型的特征信息,保证点云模型的高频特征不失真,避免了过光顺和局部失真。
附图说明
图1为本发明各项异性扩散滤波的三维散乱点云平滑去噪方法一种实施例的采用该方法的处理对象-fandisk原始模型;
图2为本发明各项异性扩散滤波的三维散乱点云平滑去噪方法一种实施例的采用该方法的处理对象-fandisk加噪模型;
图3为本发明各项异性扩散滤波的三维散乱点云平滑去噪方法一种实施例的采用该方法的处理对象-fandisk去噪后模型;
具体实施方式
下面给出本发明的具体实施例。具体实施例仅用于进一步详细说明本发明,不限制本申请权利要求的保护范围。
本发明提供了一种各项异性扩散滤波的三维散乱点云平滑去噪方法(简称方法),其特征在于该方法包括以下步骤:
步骤1,输入三维散乱点云数据p={p1,...,pn},pi为其中的一个采样点,确定其邻域点个数k;
步骤2,运用k-d树算法搜索邻域点:设邻域点集ni={pi1,pi2,pi3,...,pik},i=1,2,...,n,k≤n。
步骤3,对采样点和邻域点进行张量投票,得到结构张量矩阵t,采样点pi和其邻域点集ni进行张量投票得到的结构张量矩阵t如式(1)所示:
其中
式中,λ1,λ2,λ3分别代表了采样点的结构张量矩阵t的3个不同的特征值,令λ1≥λ2≥λ3≥0,e1,e2,e3分别代表了不同特征值对应的特征向量,同时也代表了采样点的三个主特征方向;
步骤4,构造了一个对点云局部特征具有鲁棒特性的扩散张量,扩散张量的构建不仅要考虑它的方向信息而且还要考虑它的梯度模值,本发明所构造的扩散张量矩阵d为3×3的对称矩阵,如式(3)所示:
扩散张量矩阵d的特征值和特征向量的表示形式如式(4)所示:
扩散张量矩阵d的特征向量和结构张量矩阵t的特征向量相同都为e1、e2和e3,所以只需要根据点云的方向结构特征设计相应的特征值u1,u2,u3,并且u1,u2,u3的值都属于[0,1];
步骤5,为了区分采样点的结构张量矩阵t的特征值的大小定义了采样点的相干系数,如式(5)所示:
步骤6,根据相干系数的大小对扩散张量矩阵d的特征值进行设计,设计方法如式(6)所示,其中α是用于控制扩散速率的因子,本实施例中取α=0.005;
u1=α
步骤7,利用所设计的扩散张量矩阵d的特征值μ1、μ2和μ3与结构张量矩阵t的特征向量e1、e2和e3来重构扩散张量矩阵d,得到重构后的扩散张量矩阵d如式(7)所示:
步骤8,通过扩散张量矩阵d的重构可以得到扩散张量矩阵d中的每个元素的具体值:将重构后的扩散张量矩阵d带入式(8),式(8)为三维扩散异性滤波方程,求解过程如下:
式中,
在式(8)中div表示散度,
式(8)的左侧利用差分代替微分来计算,展开后如式(10)所示:
其中,
步骤9,对所有采样点重复步骤2-步骤8,得到去噪后的点云模型。
实施例
本文利用fandisk点云模型进行了实验仿真研究,图1为fandisk的原始点云封装模型,图2为加入30db的高斯白噪声后的封装模型,图3为利用本文算法迭代2次的去噪结果,从去噪结果看,去噪后模型未发生特征细节的丢失,模型的体积为发生变形。
本发明未述及之处适用于现有技术。