|
发布时间: 2017-03-16 |
计算机图形学 |
|
|
收稿日期: 2016-07-11; 修回日期: 2016-10-17
基金项目: 国家自然科学基金项目(51365037)
第一作者简介: 袁小翠(1988-), 女, 讲师, 2016年于南昌大学获机械工程专业博士学位, 主要研究方向为图像处理与逆向工程。E-mail:yuanxc2012@163.com
中图法分类号: TP391.7
文献标识码: A
文章编号: 1006-8961(2017)03-0334-08
|
摘要
目的 针对特征曲面点云法矢估计不准确,点云处理时容易丢失曲面的细节特征等问题,提出基于高斯映射的特征曲面散乱点云法向估计法。 方法 首先,用主成分分析法粗略地估算点云法向和特征点;其次,将特征点的各向同性邻域映射到高斯球,用K均值聚类法对高斯球上的数据分割成多个子集,以最优子集对应的各向异性邻域拟合曲面来精确估算特征点的法向量;最后,通过测试估计法向与标准法向的误差来评价估计法矢的准确性,并且将估计的法向应用到点云曲面重建中来比较特征保留效果。 结果 本文方法估计的法向最小误差接近0,对噪声有较好的鲁棒性,重建的曲面能保留曲面的尖锐特征,相比于其他法向估计法,所提出的方法估计的法向更准确。 结论 本文方法能够比较准确的估算尖锐特征曲面法向量,对噪声鲁棒性强,具有较高的适用性。
关键词
法向估计; 逆向工程; 高斯映射; 主成分分析; 各向同性邻域; 各向异性邻域
Abstract
Objective Various existing methods cannot reliably estimate the normal vectors for a point cloud model to smooth sharp features during point cloud processing. To address this problem, we developed a novel method based on Gaussian mapping to estimate the normal vectors of a scattered point cloud with sharp features. Methods First, the normal vectors and feature points were roughly estimated by principal component analysis method. The feature points and their neighborhood points were mapped into a Gaussian sphere. Then, the K-means clustering algorithm was employed to segment data on the Gaussian sphere to several sub-clusters. Normal vector of a point is accurately estimated with the anisotropy neighborhood points that corresponded to the optimal sub-cluster to fit surface. Last, the effectiveness of the proposed method was validated by measuring the average deviation of the estimated normal vector from the standard normal vector. The estimated normal vectors were used in surface reconstruction to verify the feature-preserving property of the proposed method. Results Experimental results demonstrated that the least average deviation is close to zero. The method can accurately estimate the normal for noisy data. The reconstructed model maintains original geometry when the normal is used as input for the surface reconstruction algorithm. Compared with other normal estimation methods, the proposed method can more accurately estimate the normal vectors of points. Conclusion The proposed method can accurately estimate the normal vector of a point model with sharp features. The method also exhibits high adaptability and robustness for point clouds with noise.
Key words
normal estimation; reverse engineering; Gaussian mapping; principal component analysis; isotropy neighborhood; anisotropy neighborhood
0 引言
法向量是点云的重要属性之一,点云法向量的有效估计是逆向工程中点云数据处理的基础,除了精确和高质量的点云绘制方法主要依赖于法向量之外,许多有效的点云处理方法都需要准确的法向量作为其输入,例如:点云去噪[1],点云分割[2],数据精简[3],曲面重建等[4]。对尖锐特征面,若特征区域(两个或者多个曲面交界的过渡区域) 的法向量不能准确估计,点云处理时容易丢失曲面的细节特征,重建后的曲面难以恢复原始模型的几何特征。
近年来点云的法向估计受到了越来越多的关注,点云法向估计可以简单分为两类:基于局部邻域拟合法和基于Voronoi/Dalaunay方法。基于局部邻域拟合法首先由Hoppe等人[5]首次提出,给定点p,通过对点p的k近邻进行最小二乘拟合得到点p的切平面,应用主成分分析法(PCA) 求解由邻域点构成的协方差矩阵,协方差矩阵最小特征值所对应的特征向量即为平面的法向量,同时也为点p的法向,此方法也称为PCA法向估计法。当点云模型处处光滑,PCA方法能比较准确地估计点云法向,当物体中包含尖锐特征时,PCA方法估计的法向在特征点处不准确。为了能够准确估计尖锐曲面的法向,学者们做了大量研究[6-13],Guennebaud等人[6]利用代数球拟合邻域点来估计法向;Pauly等人[7]通过对当前点的邻域赋予高斯权重使距当前点越近的邻域点对法向量作用越大,距离越远的点作用越小。以上这些改进的PCA方法一定程度上提高了点云法向的准确性,但是在特征点处,拟合曲面的法向量各向同性,从而估算的法向量被平滑。为了使拟合曲面的邻域为各向异性邻域点,Mederos等人[8]通过对
针对以上问题,提出基于高斯映射的特征曲面点云法向量估算方法,对点云的
1 法向估计
1.1 PCA方法粗略估算点云法向量及特征点
给定点集
$ Pl\left( {n,d} \right) = \arg \min \sum\limits_{{p_i} \in {N_b}} {{{\left( {n{p_i} - d} \right)}^2}} $ | (1) |
式中,
$ \mathit{\boldsymbol{C = }}{\left[ {\begin{array}{*{20}{c}} {p - {p_1}}\\ {p - {p_2}}\\ \vdots \\ {p - {p_k}} \end{array}} \right]^{\rm{T}}}\left[ {\begin{array}{*{20}{c}} {p - {p_1}}\\ {p - {p_2}}\\ \vdots \\ {p - {p_k}} \end{array}} \right] $ | (2) |
式中,
最小特征值
$ {\omega _i} = \frac{{{\lambda _0}}}{{{\lambda _0} + {\lambda _1} + {\lambda _2}}} $ | (3) |
当
1.2 基于高斯映射的各向同性邻域的分割
对于光滑曲面上的点,PCA方法能比较准确地估算点云法向量;对特征曲面,特征点(两个或者多个不连续曲面相交的边界点及其周围的点) 的
1.2.1 点云高斯映射
设
$ {T^2} = \left\{ {\left( {x,y,z} \right) \subset {{\bf{R}}^3}\left| {{x^2} + {y^2} + {z^2} = 1} \right.} \right\} $ |
的中心,使曲面上的点与球面上的点相对应,这种对应被称为曲面
高斯球具有以下性质:
如果一连通曲面的所有点都是平点,则该曲面的高斯图为高斯球上的一点;反之,如果一连通曲面的高斯图为高斯球上的一点,则该曲面的所有点都是平点。
在实际应用中,估算的点云法向量与标准法向量总是存在一定的偏差,所以连通曲面的平点映射为高斯图上的一个密集分布的数据簇,如图 3(a)所示。如果法向量估算比较准确,对于一个折角面,两曲面交界的边界点的邻域位于两个不连续的曲面上,其边界特征点邻域映射为高斯球上两个密集的独立数据簇;如果法向量估计不准确,特征点的邻域映射为高斯球上稀疏分布的数据点,如图 3(b)示意图所示,紫色点表示折角曲面中一个面上点云映射结果,红色点表示另一个面点云映射结果。然而,高斯球上来自同一连续曲面的数据点的相似性大于来自不同曲面的相似性,对高斯球上的数据点采用聚类法对其分类,将来自同一曲面的数据点分为一类,从而将特征点的各向同性邻域分割为多个各向异性子邻域。
1.2.2 高斯球上K均值聚类
由于PCA方法估算的法向量方向不一致,采用文献[5]方法将法向量调整为一致方向,且对法向量进行归一化。设点集
$ \begin{array}{*{20}{c}} {G\left( {{P_{{\rm{sub}}}}} \right) = \left\{ {Q\left( p \right),p \in {\mathit{\boldsymbol{P}}_{{\rm{sub}}}}} \right\} = }\\ {\left\{ {{q_i},i = 0,1, \cdots ,{k_1}} \right\}} \end{array} $ |
式中,
1) 聚类数目初始化
2) 聚类中心初始化,计算高斯球上各数据点到聚类中心的距离,将欧氏距离最近的点归为一类,数据被分为
3) 选择最大子类对应的邻域点为最优子邻域,最小二乘法对该邻域拟合切平面;
4) 计算最优邻域点到切平面的冗余度(冗余度表示点到切平面的距离),并计算冗余度之和
5) 判断
6) 结束。
由于事先不能确定特征点的各向同性邻域位于几个曲面上,但特征点的邻域至少位于2个不同曲面上,因而K均值聚类初始化时
2 实验结果分析
2.1 参数选择
本文算法有4个参数需要设定,分别是
2.2 误差分析
为了测试估计法矢的准确性,计算估计法向与标准法向的偏差,采用法向偏差均方根(RMS) 来表示估计误差,RMS表示估计法向与标准(参考) 法向的平均偏移量,RMS值越大,估计法向的误差越大,文献[8-10]均采RMS来测量估计法向的误差。RMS定义为
$ \begin{array}{l} \mathit{\boldsymbol{RSM = }}\sqrt {\frac{1}{{\left| S \right|}}\sum\limits_{x \in \mathit{\boldsymbol{S}}} {f{{\left( {\left\langle {{\mathit{\boldsymbol{n}}_{{\rm{ref}}}},{\mathit{\boldsymbol{n}}_{{\rm{est}}}}} \right\rangle } \right)}^2}} } \\ f\left( {\left\langle {{\mathit{\boldsymbol{n}}_{{\rm{ref}}}},{\mathit{\boldsymbol{n}}_{{\rm{est}}}}} \right\rangle } \right) = \left\{ \begin{array}{l} \left\langle {{\mathit{\boldsymbol{n}}_{{\rm{ref}}}},{\mathit{\boldsymbol{n}}_{{\rm{est}}}}} \right\rangle \;\;\;\;\left\langle {{\mathit{\boldsymbol{n}}_{{\rm{ref}}}},{\mathit{\boldsymbol{n}}_{{\rm{est}}}}} \right\rangle < \tau \\ \frac{{\rm{ \mathsf{ π} }}}{2}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;其他 \end{array} \right. \end{array} $ | (4) |
式中,
因为复杂尖锐特征曲面难以得到标准法向,所以用MATLAB合成规则的立方体点云模型(不含噪声),根据点云坐标计算其标准法向。合成模型模型的点云数量分别为6 147,其特征点为两平面交叉的边界特征点和三平面交叉的角点。为了测试估计法向对噪声的敏感性,对理想模型添加不同程度的噪声,计算理想模型及各噪声模型的RMS。当估计的法向与标准法向偏差大于10°时称该点为坏点,4种方法比较结果如图 4所示,第1行为理想数据,第2、3行是理想模型添加了高斯白噪声的结果,其信噪比SNR分别是40 dB、30 dB,图中红色点表示坏点。表 1为两个模型的RMS和和坏点数量(BPN)。
表 1
立方体模型BPN和RMS
Table 1
BPN and RMS values for cub model
当模型不含噪声时本文方法几乎没有坏点,文献[8]在特征点处有少数的坏点。当SNR=40 dB时,文献[8]有少数坏点,PCA方法和文献[7]的坏点主要是特征点及其周围的点。当数据被噪声严重干扰时(SNR=30 dB),如图 4中第3行所示,立方体已经严重失真,角点和边界点模糊。PCA和文献[7]方法估计法向有一半是坏点(BPN=306 4,详见表 1),本文方法得到BPN,RMS最小,其坏点主要分布在角点周围。总之,PCA方法和文献[7]方法在特征点出估计的法向量与标准法向量的偏差较大,文献[7]虽然对邻域加权改进了PCA方法,但是文献[7]对邻域加权只考虑了距离权重,因而改进后取得的效果不佳,文献[8]对邻域加权时不仅考虑了距离对当前点的作用,还考虑了邻域点到拟合曲面的残差值,因而在特征点处估算的法向量更准确,但是文献[8]方法需人工确认权重带宽,且权重带宽为全局参数,不适合每个不同的特征点。本文方法将特征点的各向同性邻域进行分割,以各向异性邻域拟合曲面,从而得到的法向量更准确。
2.3 点云法矢的应用
为了更清楚估计法矢的准确性,对估计的法矢可视化,并且将估计的法矢作为点云曲面重建算法输入参数来测试特征保留效果。
2.3.1 法矢可视化应用比较
对两个经典模型(八面体和Fandisk模型,其中八面体模型添加了噪声,SNR=40 dB) 的法向可视化,模型上的线条表示一致朝外的法向量,八面体模型的特征点包括多个平面交接的角点和两个平面交接的过渡边界点,角点处的曲面比较尖锐,过渡边相对平缓。Fandisk模型由平面、球面、圆柱面等基面组成,其过渡边有尖锐边和平缓边等。为了更清楚地显示模型,将模型三角化加光照显示,如图 5(a)、图 6(a)所示。图 5、图 6中,从左到右列分别是点云三角化曲面模型,PCA、文献[7]、文献[8]和本文方法估计的法向。准确的法向应该垂直于点云所在的局部曲面,两个不同曲面上点云法向夹角为两曲面的夹角,局部区域同一曲面上的法向接近平行,在两个曲面交界的边界处有清晰的边界。图 5、图 6中(b)(c) 的边界几乎无法辨认,图 5(d)、图 6(d)有部分特征点的法向误差大,如角点的法向不垂直于其所在的曲面。图 7(a)为图 6(a)矩形框的区域的放大图,图 7(b)-(e)为图 6(a)曲面对应方法估算的法向量。
2.3.2 法矢在曲面重建中的应用比较
将估计的法向应用到点云处理中,根据点云数据进行曲面重建。在逆向工程应用领域中,通过3维扫描仪扫描实物获得其3维点云,通过点云数据处理及曲面重建生成实物的CAD模型,可以实现产品的缺陷修复和再制造。在点云数据处理过程中许多点云处理算法都依赖准确的点云法向量,若点云法向量估算不准确,直接影响曲面重建效果,造成再制造产品与原始产品的较大偏差。为了验证本文法向量估算的有效性,将估算的法向量应用到点云曲面重建中。隐式移动最小二乘曲面拟合法是一种应用比较广泛的曲面重建算法[14],若点云法向量估算准确该方法能够比较准确的重建尖锐特征曲面,即在特征区域能够进行特征保留,即准确的法向是该算法特征保留的前提。若法向在特征点处被平滑,则曲面重建后尖锐特征也被平滑,从而使重建的模型与原始模型在特征区域处生成较大误差。本文扫描模型A实物,获得该实物的点云,再对该模型采用文献[14]方法对其进行曲面重建,以不同方法估算的法向量作为该算法的输入参数之一,为了消除其他因素的影响,曲面重建算法中除了法向不一样,其他参数值均相同。计算重建模型与原始模型的误差,在不同法向量的参数下曲面重建误差如图 8所示,从图 8误差比较结果可知本文方法的法向量作为曲面重建输入参数重建误差在特征区域最小,进一步验证了本文方法估算法向量的有效性。
3 结论
本文对特征曲面的法向估计进行了研究。用PCA方法对点云的
参考文献
-
[1] Zhang M Y, Qin X J, Liu S S, et al. EMD based smoothing algorithm for four-side region surfaces[J]. Journal of Image and Graphics, 2009, 14(5): 984–989. [张美玉, 秦绪佳, 刘世双, 等. 基于EMD的四边域曲面光顺算法[J]. 中国图象图形学报, 2009, 14(5): 984–989. DOI:10.11834/jig.20090533]
-
[2] Wang Y H, Hao W, Ning X J, et al. Automatic segmentation of urban point clouds based on the Gaussian map[J]. The Photogrammetric Record, 2013, 28(144): 342–361. [DOI:10.1111/phor.12041]
-
[3] Yuan X C, Wu L S, Chen H W. Feature preserving point cloud simplification[J]. Optics and Precision Engineering, 2015, 23(9): 2666–2676. [袁小翠, 吴禄慎, 陈华伟. 特征保持点云数据精简[J]. 光学精密工程, 2015, 23(9): 2666–2676. DOI:10.3788/OPE.20152309.2666]
-
[4] Tang P B, Huber D, Akinci B, et al. Automatic reconstruction of as-built building information models from laser-scanned point clouds: a review of related techniques[J]. Automation in Construction, 2010, 19(7): 829–843. [DOI:10.1016/j.autcon.2010.06.007]
-
[5] Hoppe H, DeRose T, Duchamp T, et al. Surface reconstruction from Unorganized Points[J]. ACM SIGGRAPH Computer Graphics, 1992, 26(2): 71–78. [DOI:10.1145/142920.134011]
-
[6] Guennebaud G, Gross M. Algebraic point set surfaces[J]. ACM Transactions on Graphics, 2007, 26(3): #23. [DOI:10.1145/1276377.1276406]
-
[7] Pauly M, Gross M, Kobbelt L P. Efficient simplification of point-sampled surfaces[C]//Proceedings of IEEE Visualization. Boston, MA, USA: IEEE, 2002: 163-170. [DOI: 10.1109/sVISUAL.2002.1183771]
-
[8] Mederos B, Velho L, Figueiredo L H. Robust smoothing of noisy point clouds[C]//Proceedings of the SIAM Conference on Geometric Design and Computing. Seattle: SIAM, 2003: 405-416.
-
[9] Li B, Schnabel R, Klein R, et al. Robust normal estimation for point clouds with sharp features[J]. Computers & Graphics, 2010, 34(2): 94–106. [DOI:10.1016/j.cag.2010.01.004]
-
[10] Zhang J, Cao J J, Liu X P, et al. Point cloud normal estimation via low-rank subspace clustering[J]. Computers & Graphics, 2013, 37(6): 697–706. [DOI:10.1016/j.cag.2013.05.008]
-
[11] Amenta N, Bern M. Surface reconstruction by Voronoi filtering[J]. Discrete & Computational Geometry, 1999, 22(4): 481–504. [DOI:10.1007/PL00009475]
-
[12] Alliez P, Cohen-Steiner D, Tong Y, et al. Voronoi-based variational reconstruction of unoriented point sets[C]//The 5th Eurographics Symposium on Geometry Processing. Switzerland: Eurographics Association Aire-la-Ville, 2007: 39-48.
-
[13] Dey T K, Goswami S. Provable surface reconstruction from noisy samples[C]//The Twentieth Annual Symposium on Computational Geometry. New York, NY, USA: ACM, 2004: 330-339. [DOI: 10.1145/997817.997867]
-
[14] Öztireli A C, Guennebaud G, Gross M. Feature preserving point set surfaces based on non-linear kernel regression[J]. Computer Graphics Forum, 2009, 28(2): 493–501. [DOI:10.1111/j.1467-8659.2009.01388.x]