www.scichina.com info.scichina.com www.springerlink.com
Estimating differential quantities from point cloud based on a linear fitting of normal vectors CHENG ZhangLin† & ZHANG XiaoPeng† Sino-French Laboratory LIAMA, National Laboratory of Pattern Recognition, Institute of Automation, Chinese Academy of Sciences, Beijing 100080, China
Estimation of differential geometric properties on a discrete surface is a fundamental work in computer graphics and computer vision. In this paper, we present an accurate and robust method for estimating differential quantities from unorganized point cloud. The principal curvatures and principal directions at each point are computed with the help of partial derivatives of the unit normal vector at that point, where the normal derivatives are estimated by fitting a linear function to each component of the normal vectors in a neighborhood. This method takes into account the normal information of all neighboring points and computes curvatures directly from the variation of unit normal vectors, which improves the accuracy and robustness of curvature estimation on irregular sampled noisy data. The main advantage of our approach is that the estimation of curvatures at a point does not rely on the accuracy of the normal vector at that point, and the normal vectors can be refined in the process of curvature estimation. Compared with the state of the art methods for estimating curvatures and Darboux frames on both synthetic and real point clouds, the approach is shown to be more accurate and robust for noisy and unorganized point cloud data. differential geometric properties, point cloud, normal fitting, Weingarten matrix
1 Introduction With the increasing availability and power of range scanners, more and more 3D objects are scanned and represented in the form of unorganized point cloud. To manipulate and analyze this form of data, considerable researches have been done on the surface representation, shape modeling, geometry processing, and rendering in recent years[1] . In this paper, we focus on the estimation of local dif-
ferential geometric quantities from unorganized noisy point cloud. The local differential quantities at each point include normal vector, principal curvatures (or Gaussian curvature and mean curvature), principal directions, i.e., the so-called augmented Darboux frame[2,3] . Normal information is essential in many problems dealing with point cloud. In general, estimating normal vectors is the fundamental step in many
Received May 31, 2008; accepted November 10, 2008 doi: 10.1007/s11432-009-0061-5 † Corresponding authors (email:
[email protected],
[email protected]) Supported in part by the National Natural Science Foundation of China (Grant Nos. 60672148, 60872120), the National High-Tech Research & Development Program of China (Grant Nos. 2006AA01Z301, 2008AA01Z301), and Beijing Municipal Natural Science Foundation (Grant No. 4062033)
Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
issues of point-based graphics, e.g., surface feature analysis, surface reconstruction, surface rendering and so on. Often the result of following processing depends on the accuracy of estimated normals in the first step. Curvatures measure the bending of a surface at each point, and principal directions indicate the directions in which the maximum and minimum of surface bending occur. Since these differential geometric properties are invariant under rigid transformations, they are used as intrinsic surface descriptors in many applications of computer vision, computer graphics and geometric modeling, such as feature detection, surface segmentation, object registration, shape recovery and rendering[2,4] . There are remarkable approaches to compute differential quantities on polygon meshes and range images[2,5,6] . Although some of the approaches that forget the mesh connectivity and use only the vertex set can be applied to point-sampled surface, most of them merely perform well on regular vertex and tend to drop the estimation quality significantly for irregular samples. It is still a challenge to accurately estimate these differential quantities from unorganized noisy point cloud on account of the irregular distribution of the points and the inevitable noise error contained in the data set, which can be amplified during the calculation of the first and second order quantities. In traditional methods for estimating curvatures at a point, only the normal information at that point is used to establish a local coordinate system. Since Goldfeather and Interrante[7] exploited the normals at neighboring points for the estimation of principal directions, neighboring normals have shown to be especially important for robust estimation of the second order quantities from irregularly sampled surface. Goldfeather and Interrante[7] use a cubic surface to fit the points and normals, Rusinkiewicz[4] and Theisel et al.[8] utilize the adjacent normal information to estimate curvature tensor in a triangular mesh. Batagelo et al.[9] and Kalogerakis et al.[10] adopt the scheme in ref. [4] and fit the curvature tensor in a neighborhood. A key issue on estimating differential quantities from discrete surface is the dependency of the es-
432
timation method on the local coordinate system. Many approaches are based on the particular properties when adopting the surface normal as Z-axis of the local coordinate system. For example, in this local coordinate system the quadric to be fitted does not contain first-order and zero-order terms. So the estimation of differential quantities depens heavily on the accuracy of the surface normal. The performance of the cubic fitting methods in ref. [7] is very good on data with exact normals and drops greatly on data with estimated normals. The mentioned methods for estimating curvature tensor in refs. [4,8,10,11] also suffer this problem. In this paper we aim at developing a robust method to estimate curvatures taking use of the neighboring normal information and not relying on the local coordinate system. We investigate the relationship between the Weingarten curvature matrix and the derivatives of normal vector in a general local coordinate system, and then use linear functions to fit the components of normal vector. The remainder of this paper is organized as follows. Following a brief overview of the computation of Darboux frame with Weingarten curvature matrix for a continuous surface, the related work on the estimation of curvatures and the principal directions is presented in section 2. In section 3, the reason that we adopt normal fitting for curvature estimation instead of point position fitting is illustrated by a test with polynomial surfaces on two models. Mathematical reasoning and numerical optimization of the normal fitting based curvature estimation method is developed in section 4. Experiments and discussion of this approach are described in section 5, with analysis and comparison with the art-of-the-state methods on different data sets. Finally, conclusion and future work are presented in section 6.
2 Background and related work 2.1 The Darboux frame and Weingarten matrix Let p be a point on a surface S embedded in R3 . The local surface geometry at point p is character-
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
ized by the Darboux frame at p, i.e., Δp = (p, n, e1 , e2 , κ1 , κ2 ),
(1)
where n is the surface normal vector at p, and e1 , e2 are the principal directions corresponding to the principal curvatures κ1 , κ2 (κ1 κ2 ) respectively. Let r(u, v) be a local parametrization of S in the neighborhood of p, then the unit normal vector n is given by ru × rv , (2) n= ru × rv and the principal curvatures and principal directions can be computed by the Weingarten curvature matrix[7,8,12] −1 E F L M1 W = M2 N F G G −F L M1 1 , = EG − F 2 −F E M2 N (3) where E, F, G are the coefficients of the first fundamental form, and L, M1 , M2 , N are those of the second fundamental form, i.e., E = ru · ru , F = ru · rv , G = rv · rv , L = ruu · n = −ru · nu , M1 = ruv · n = −ru · nv , M2 = rvu · n = −rv · nu , N = rvv · n = −rv · nv .
(4)
Note that M1 is equal to M2 for a smooth surface. The reason that M1 and M2 are regarded as two different quantities is that ruv and rvu may be different for a surface with sharp edges. We will benefit from this observation in subsection 4.3. Let of the Weingarten λ1 , λ2 (λ1 λ2 ) be eigenvalues v11 the corrematrix W , and v1 = v12 , v2 = vv21 22 sponding eigenvectors, then κ1 = λ1 ,
e1 = v11 ru + v12 rv ,
κ2 = λ2 ,
e2 = v21 ru + v22 rv .
(5)
The Gaussian curvature K and mean curvature H are defined as κ1 + κ2 . (6) K = κ1 κ2 , H = 2 2.2
Previous work
We can categorize the techniques of estimating dif-
ferential quantities from discrete surface (including polygon meshes and point-sampled surface) into two types of paradigms. The first one is based on the discrete analogue to the continuous mathematical formula derived from differential geometry[13] , such as the discrete definitions of the mean and Gaussian curvature based on the Gauss-Bonnet theorem[14] and the normal cycle theory[15] . This type of methods require explicit surface representation and are suitable for curvature estimation on triangle meshes. The second type fits a continuous analytic function to the local discrete samples in a least squares sense. This type of methods include fitting the points with an analytic surface, such as a quadric surface or osculating jets approximation[16−18] , and fitting the normal curvatures with the Euler formula[19,20] . These fitting problems can be converted to the solving of an over-determined linear equations. Most of these methods begin by obtaining the normal vector at each point, and the following steps are performed in the local coordinate system composed of the normal vector and two orthogonal vectors. The estimation of local geometry depends heavily on the accuracy of the normal vector at the point under consideration. So some nonlinear surface fitting methods are developed by repeatedly refining the surface normal and achieve the best performance with the greatest computational cost[2] . The method presented in this paper belongs to the second paradigm also. The surface fitting methods use a specific bivariate function to approximate the local point set. The specific function may introduce a strong element of smoothing with lower-order polynomial functions or lead to overfitting and numerical unstable with higher-order polynomial functions. Our method is also based on the estimation of Weingarten matrix, but the Weingarten matrix is expressed in a general local coordinate system and is not necessarily assumed to be symmetric. The advantage of this approach consists in two facts. First, we use a general surface form rather than a low order polynomial surface to fit the normals. This form improves the capability
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
433
of modeling the local surface geometry. Second, the normal vectors are refined at the same time with the curvature estimation.
3 Fitting to points vs fitting to normals The traditional methods for estimating the curvature information from a discrete surface are firstly fitting an analytic surface to the discrete samples firstly in a local region and then computing curvatures from the approximated continuous surface. The local surface fitting is often performed by minimizing the algebraic distance between the points and the surface in a least squares sense. This is slightly different from the purpose of minimizing the errors between the estimated curvatures and the actual ones, i.e., the optimal surface fitting to points does not necessarily result in the minimum error of the estimated curvature. Additionally, the local surface fitting depends heavily on the local coordinate system which is established by adopting the normal direction as Z-axis. Since curvatures are second-order derivative components of a surface and they measure directly the variation of normal vectors, we argue that, for curvature estimation from unorganized points, fitting to normal vectors in a local region is more accurate and more robust than fitting to point positions with the same surface. To demonstrate this argument, we compare the quality of curvature estimation by fitting to points and fitting to normals respectively with the same surface. A quadric surface is the lowest order polynomial approximation for second order derivative computation (in the following called QP), and it is widely adopted for curvature estimation[7] . Goldfeather and Interrante[7] took a cubic surface fit (called CPN) to the points and normal vectors, which is among the state of the art methods for the estimation of curvatures and principal directions. Additionally, we introduce two normal fitting methods for curvature estimation, so that a more comprehensive comparison can be performed of fitting to points and fitting to normals, i.e., quadric surface fitting to normals (QN) for curvature estimation, and cubic surface fitting to normals (CN) for curvature estimation. 434
For quadric surface fitting, QP fits to the points with eq. (7) (the general forms having first- and/or zero-order terms make little difference to the curvature estimate performance[2] ), and QN fits to the normals with eqs. (8) and (9): a 2 c x + bxy + y 2 = z, (7) 2 2 nx (8) ax + by = − , nz ny (9) bx + cy = − , nz where (x, y, z) is the local coordinate of a point and (nx , ny , nz ) is the normal vector at that point, a, b, c are the coefficients of the quadric surface to be estimated in the fitting. For cubic surface fitting, CPN fits to both the points and the normals with eqs. (10), (11) and (12), and CN fits to the normals with eqs. (11) and (12): c a 2 x + bxy + y 2 + dx3 2 2 + ex2 y + f xy 2 + gy 3 = z,
(10)
ax + by + 3dx2 + 2exy + f y 2 = −
nx , (11) nz
bx + cy + ex2 + 2f xy + 3gy 2 = −
ny , nz
(12)
where a, b, c, d, e, f, g are the coefficients of the cubic surface to be estimated in the fitting. The above fitting methods are tested for estimating second order quantities under different conditions: 1) input data are noise free and provided with exact normal; 2) input data are added random noise with different variance. The noise free data contain 5000 points and are randomly generated from two types of parametric surfaces: a torus (R = 2, r = 1) and the test surface (Figure 1(a)) presented by Goldfeather and Interrante in ref. [7] (removing the upper and nether parts to make the surface have continuous curvatures). In the test we use the k-nearest neighbors (k = 15) to estimate surface normals and curvatures. Figures 2–4 show the estimated errors with increasing noise (QPE, QNE, CPNE, CNE means QP, QN, CPN, CN for noise free data with exact normals respectively). These results demonstrate
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
that for estimating the second order quantities with the same surface fitting, 1) fitting to normals have more powerful performance than fitting to
points; 2) fitting to both points and normals does not improve the performance than fitting only to the normals.
(a)
(b)
Mean absolute error
3.0
CPN CT NF NR
2.5
CPNE QNE NFE NRE
2.0 1.5 1.0 0.5 0
CPN CT NF NR
Mean absolute error
0.6
0.2
(d)
CPNE QNE NFE NRE
0.5 0.4 0.3 0.2
0.3
CPN CT NF NR
12 Mean absolute error (θ°)
(c)
0.7
0.1
10
0.4 0.5 0.6 Noise variance
0.7
0.8
0.9 1.0
0.7
0.8
0.9
CPNE QNE NFE NRE
8 6 4 2
0.1 0
Figure 1
0.1
0.2
0.3
0.4 0.5 0.6 Noise variance
0.7
0.8
0.9
1.0
0
0.1
0.2
0.3
0.4 0.5 0.6 Noise variance
1.0
Mean absolute errors for the Goldfeather model. (a) Noisy model; (b) Gaussian curvature; (c) mean curvature; (d) principal
directions.
Mean absolute error
0.5 0.4
5.0 QP QN CPN CN
QPE QNE CPNE CNE
0.3 0.2
(b)
4.5 Mean absolute error
(a)
4.0 3.5
QP QN CPN CN
QPE QNE CPNE CNE
3.0 2.5 2.0 1.5 1.0
0.1
0.5 0
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Noise variance
Figure 2
0
0.1 0.2
0.3 0.4 0.5
0.6 0.7
0.8 0.9 1.0
Noise variance
Mean absolute errors for the estimation of Gaussian curvature with increasing noise. (a) Torus; (b) Goldfeather.
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
435
0.9 QP QN CPN CN
Mean absolute error
0.25
QPE QNE CPNE CNE
0.20 0.15 0.10
QP QN CPN CN
0.7 0.6 0.5 0.4 0.3
0.1 0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Noise variance Figure 3
(a)
Mean absolute error (θ°)
20
QP QN CPN CN
18 16
Noise variance
Estimation of mean curvature. (a) Torus; (b) Goldfeather.
22
QPE CPNE QNE CNE
14 12 10 8 6 4 2 0
0
0.1 0.2
0.3 0.4
0.5
Figure 4
0.6 0.7
0.8 0.9
1.0
18 16 14 12 10 8 6 4 0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Noise variance
Estimation of principal directions. (a) Torus; (b) Goldfeather.
4 Estimating differential quantities by normal fitting Overview
Our method for computing the curvatures and principal directions is based on normal fitting, so normal vector at each point should be obtained at first. If the normal information is not provided with the point cloud, we estimate it with the normal of the total least squares best-fitting plane[21] . The accuracy of estimated normal at a point depends on the noise, curvature neighborhood size and sampling density[22] . In general the accuracy of estimated curvatures at a point relies on the accuracy of the normal at that point because the local coordinate system is established based on that normal. In our normal fitting method, all normal vectors in a neighborhood are utilized, which acts 436
QNE CPNE CNE
QP QN CPN CN QPE
2
Noise variance
4.1
(b)
20 Mean absolute error (θ°)
22
QPE QNE CPNE CNE
0.2
0.05 0
(b)
0.8 Mean absolute error
(a)
like a normal ‘filter’ and reduce the sensitivity of curvature estimation on the normal vector at the desired point. In section 3 we introduced two types of normal fitting methods to demonstrate that normal fitting is more robust than position fitting when the same surface is used for the fitting. These methods, however, are based on the specific definition of the surface. We aim to perform normal fitting with a more general surface rather than a low-order polynomial surface. It can be seen from section 2.1 that the principal curvatures and principal directions can be computed with the Weingarten curvature matrix and the Weingarten matrix is represented by the first order partial derivatives of the surface (ru , rv ) and that of the unit normals (nu , nv ). So we investigate the relationship between the Weingarten curvature matrix and the unit normal vector.
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
4.2
Estimation of initial normal vectors
In general, the first step of local geometry estimation from unorganized point cloud is to compute the normal vector at each point when the normals are not provided with the point cloud. The accuracy of the normals heavily affect the estimation of the Darboux frame[2] . Hoppe et al.[21] proposed an approach to estimate the normal at point q with the normal of the total least squares best-fitting plane to the k-nearest neighbors of q. The radius of the minimum sphere that contains the knearest neighbors in an unorganized point cloud is variational with respect to the local sampling density. The selection of neighborhood is a critical issue not only for the estimation of surface normal but also for many other geometry computation problems emerged from point cloud. Alexa[1] introduced an alternative method for k-nearest neighbors by weighting close points pi with a locally supported weight function θ, i.e. pi − q 2 n, pi − q θ , (13) min n=1 hi i where hi describes the anticipated distance between neighbors. In our approach we use this formula to estimate the normal vector initially at each point, and then refine it by normal fitting. A compactly supported polynomial that avoids square root evaluations of the distance is used as the weight function[23−25] : (1 − x2 )4 , if x < 1, (14) θ(x) = 0, otherwise. 4.3 Relationship between Weingarten matrix and normal vector Let the local surface in the neighborhood of point p is specified by r(u, v) = (u, v, f (u, v)),
(15)
where f (u, v) is surface height function in the local coordinate system. The first order partial derivatives of r(u, v) are ru = (1, 0, fu ),
rv = (0, 1, fv ).
(16)
Note that the local coordinate system is not necessary to fit with the tangent plane of the surface at point p.
Three components of the unit normal vector n = (X, Y, Z) can be obtained by applying formula (16) to formula (2): X = −Γfu ,
Y = −Γfv ,
(17)
and Z = Γ,
(18)
where 1
Γ = (1 + fu2 + fv2 )− 2 .
(19)
Then the partial derivatives of normal components X, Y are represented as Xu = −[(1 + fv2 )fuu − fu fv fvu ]Γ3 , Xv = −[(1 + fv2 )fuv − fu fv fvv ]Γ3 , Yu = −[(1 + fu2 )fvu − fu fv fuu ]Γ3 ,
(20)
Yv = −[(1 + fu2 )fvv − fu fv fuv ]Γ3 . In formula (20) the normal derivatives are computed with the first and second partial derivatives of the explicit surface (15). To estimate geometric properties, the surface representation is estimated as a medial step, which is a traditional way for estimating shape properties. We will show our new approach with a direct process, i.e. estimating the normal derivatives through normal fitting. The coefficients of the first and second fundamental forms of the surface (15) can be calculated as E = 1 + fu2 , F = fu fv , G = 1 + fv2 , L = Γfuu , M1 = Γfuv , M2 = Γfvu , N = Γfvv , and EG − F 2 = Γ−2 . Therefore, the Weingarten curvature matrix W can be explicitly computed with the partial derivatives of the height function f (u, v): 1 + fv2 −fu fv Γfuu Γfuv 1 W = −2 Γ −fu fv 1 + fu2 Γfvu Γfvv Xu Xv . (21) =− Yu Yv This means that the Weingarten curvature matrix can be computed with the first order partial derivatives of the unit normal vector. So the curvature estimation problem is converted to the computation of the components of normal vector n and their derivatives. Proposition 1 in the Appendix shows the representations of surface derivatives with normal derivatives in (A1), (A2) and (A3). This indicates
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
437
that the calculation of the six surface derivatives fu , fv , fuu , fuv , fvu , fvv is equivalent to that of the six normal quantities X, Y , Xu , Xv , Yu and Yu . Eqs. (A1)–(A3) can be explained as the computation of surface shape (15) can be converted to the estimation of normal properties. This is the basic idea of estimating surface properties from the estimation of normal properties. It has been demonstrated in section 3 that the estimation of second order quantities based on normal properties is more accurate and more robust than the estimation from surface points. An intuitional explanation of this property is that the second order quantities are directly related to the normal properties. Note that for a smooth surface we have fuv = fvu , so the six representations of X, Y , Xu , Xv , Yu and Yu in eqs. (17) and (20) are not independent. It can be found directly from eqs. (A2) and (A3) that the constraint is as follows: XY Xu −(1−Y 2 )Xv +(1−X 2 )Yu −XY Yv = 0. (22) This is a third order nonlinear constraint, and for given values of X and Y (X 2 + Y 2 = 0) the other four derivatives lie on a plane in R4 . This fact is useful for the following normal fitting. 4.4
Normal fitting for their derivatives
In the neighborhood of point p, the surface normal should be continuous. The first two normal components X and Y can be represented with the one-order Taylor expansion as X(u, v) = μ1 + w11 u + w12 v + o(u2 + v 2 ), Y (u, v) = μ2 + w21 u + w22 v + o(u2 + v 2 ), (23) where μ1 = X(0, 0), μ2 = Y (0, 0), w11 = Xu (0, 0), w12 = Xv (0, 0), w21 = Yu (0, 0), w22 = Yv (0, 0). Since the normal vectors at neighboring points have been provided through initial normal estimation in subsection 4.2 or from input, we can fit these normals with formula (23) to compute the normal vector components (μ1 , μ2 ) and it is partial derivatives (w11 , w12 , w21 , w22 ) at point p. The objective function of normal fitting is (μ1 + w11 ui + w12 vi − Xi )2 min i
+ (μ2 + w21 ui + w22 vi − Yi )2 s.t. 438
μ1 μ2 w11 − (1 − μ22 )w12
+ (1 − μ21 )w21 − μ1 μ2 w22 = 0, (24) where (ui , vi ) and (Xi , Yi ) are the first two components of the coordinate and normal vector of a neighboring point qi . Although these values are expressed in a local coordinate frame, we believe that the values of differential quantities are independent of the choice of the local reference. In general, the minimization in (24) is a nonlinear optimization problem. Using the fact that the constraint is a linear function for given values of μ1 and μ2 , we can get an approximated solution for this problem. Now we choose an orthonormal coordinate frame with Z-axis paralleling to the normal vector at point p. In this coordinate frame, μ1 and μ2 equal to zero when the normal vector at p is exact, otherwise, μ1 and μ2 approximate to zero. We solve the optimization problem (24) without the constraint at first, and then project the solution onto the plane of constrain (22) to get an approximate solution, i.e., (μ1 + w11 ui + w12 vi − Xi )2 , (25) min i
(μ2 + w21 ui + w22 vi − Yi )2 . min
(26)
i
(25) and (26) are standard linear systems of equations that can be solved efficiently with the singular value decomposition method[4,25] . Let (μ1 , μ2 , w11 , w 12 , w 21 , w 22 ) be the solution of (25)
12 , w
21 , w
22 ) be the projecand (26), and (w
11 , w tion of point (w 11 , w 12 , w 21 , w 22 ) onto the plane μ1 μ2 w11 − (1 − μ22 )w12 + (1 − μ21 )w21 − μ1 μ2 w22 = 0,
11 , w
12 , w
21 , w
22 ) is an ideal approxithen (μ1 , μ2 , w mating solution of (24). Once obtaining the values of normal component and their derivatives at point p, the Weingarten matrix surface derivatives can be computed with formulas (21), (A1), (A2), and (A3). Then using formulas (16), (5), (6), the principal curvatures, principal directions, mean curvature and Gaussian curvature all can be calculated. A very important fact is that after normal fitting in the neighborhood of p, the normal
point vector at p is refined with μ1 , μ2 , 1 − μ21 − μ22 expressed in the local coordinate system, i.e., all the quantities in the augmented Darboux frame (normal vector, curvatures, principal directions)
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
are obtained at the same time by normal fitting. Since the normal information plays a key role during the estimation of differential quentities, we can iterately use the refined normal vectors as input and perform the normal fitting process until there is no improvement more. Actually, we found that only one refinement of normals is enough because more refinements make little improvements on the estimation performance. In fact, when the local coordinate system of surface (15) adopt the normal vector as Z-axis, i.e., fu = 0, fv = 0, so that X = 0, Y = 0, Xv = Yu , the Weingarten matrix is symmetric, and the minimization function (24) takes the same form as that used in ref. [9]. This means that the curvature tensor method is a special case of our method. Our method for curvature estimation does not rely on the local coordinate system, and the input normal errors can be reduced to some extent through the normal fitting. This is the mechanism that normal fitting in this paper is better than curvature tensor in ref. [9].
5 Experiments and discussion We have presented a new approach to estimate differential properties on a surface presented by point cloud. The basis of this approach is to estimate surface normal vectors and their derivatives simultaneous rather than estimate a surface shape through surface approximation. And this approach is more robust and more accurate than other approaches. The overall algorithm of this approach includes two main steps. The first one is as follows: • For each point, its k-nearest points are specified. • The initial normal vector at each point is estimated with (13). The second step is performed for each point in the data set: • A local frame is constructed on reference of the normal vector calculated in the first step. • Calculating ui , vi , Xi , and Yi for each point. • μ1 , μ2 , w11 , w12 , w21 , w22 are estimated through (24), so that ni is corrected as (μ1 , μ2 ). • Weingarten matrix is calculated with (21). • Curvatures are calculated with (5) and (6).
In order to evaluate our approaches based on normal fitting (NF) and normal refinement (NR), we compared them with the state of the art estimation methods, including methods based on cubic fitting to points and normals (CPN)[7] and curvature tensor method (CT)[9] . Figure 5 and Figure 1 illustrate estimated RMS errors with the increase of noise on two ground truth surface (a torus model and the Goldfeather model). Given exact normals, all the methods have small estimation errors (CPNE, QNE, NFE and NRE means CPN, QN, NF and NR for noise free data with exact normals respectively). When normals are estimated from the point cloud, the normal fitting method NF produce smaller estimation errors compared with CPN and CT methods in all case. NR method is the best one for the estimation of curvatures and principal directions on surface with high noise. Figure 6 and Figure 7 show the estimated principal directions using these method (the results using CT and NF methods are not shown, as they are visually similar with the result using CPN method). We also compared these methods on widely recognized models such as the David head, horse and hand model. Figure 8 shows the estimated principal directions associated with minimum principal curvatures using these four methods on the David head model. It can be seen from Figure 8(a) that the principal directions estimated by the CPN method is corrupted by noise. Figures 8(b) and 8(c) show a horizontal direction in the middle of the face, which is quite different from surrounding directions. This drawback is avoided with NR method in Figure 8(d). Figures 9 and 10 show the estimated absolute mean curvatures and minimum principal curvature directions on a horse model respectively. The experimental results in Figure 9(a)–(d) are similar. The advantage of Figure 9(d) is that the colors are smoothly distributed. Figure 11 shows the estimated principal directions on a hand model as random noise is added to the vertices in the normal directions. It can be seen from Figure 11(c) and (d) that the result with NR shows the estimated curvature directions correctly, and that in 11(b) is not reliable.
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
439
0.35
(a)
(b)
Mean absolute error
0.30 0.25
CPN CT NF NR
CPNE QNE NFE NRE
0.20 0.15 0.10 0.05 0
(c)
0.20
CPNE QNE NFE NRE
CPN CT NF NR
Mean absolute error (θ°)
Mean absolute error
0.25
0.15 0.10 0.05
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Noise variance (d)
12 10
CPN CT NF NR
CPNE QNE NFE NRE
8 6 4 2
0
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Noise variance
Figure 5
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Noise variance
Mean absolute errors for a torus model. (a) Torus model; (b) Gaussian curvature; (c) mean curvature; (d) principal direction.
(a) QP
(b) CPN
(c) CT
(d) NR
Figure 6
440
0
Principal directions for a torus model.
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
(a) CPN
(b) NR
Figure 7 Principal directions for the Goldfeather model: red lines indicate true principal directions and bule lines are estimated corresponding principal directions.
(a) CPN
(b) CT Figure 8
(c) NF
(d) NR
Minimum principal curvature directions for the David head model.
|H|>0
|H|=0 (a) CPN
(c) NF
(b) CT Figure 9
(a) CPN Figure 10
(d) NR
Absolute mean curvatures for a horse model.
(b) CT
(c) NF
(d) NR
Part view of minimum principal curvature directions around the horse head.
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
441
(a) Hand model
(b) CPN
(c) NR
(d) NR
Figure 11 Principal directions for a hand model. (a) The hand model with noise; (b) part view of the estimated principal directions using CPN method; (c) and (d) part views of the principal directions estimated using NR method.
1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 (a)
(b)
Figure 12 Computing axis directions of a tree from a range image. (a) Pseudocolor map of a range image; (b) part view of the axis directions estimated with the minimum principal curvature directions.
As an application, we compute the axis directions of a tree from a range image[26] using the introduced principal direction estimation method. Figure 12 shows a part view of the axis directions computed with the minimum principal curvature directions from a range image. Therefore, this approach can be used to construct a virtual environment with plants and characters.
6 Conclusion and future work We have presented an accurate and robust approach to estimate differential quantities from noisy point cloud through an optimization of a linear bivariate function to fit to the unit normal vectors. The approach is based on the relationship of the Weingarten curvature matrix and the deriva442
tives of unit normal vector in a free local coordinate frame, where the Z-direction of the frame is not restricted to be paralell to the normal direction. The linear fitting of unit normal vectors can be used to further refine the input normals in a least square sense by exploiting the neighboring normal information, and at the same time obtain the normal derivatives for curvature estimation. Experiments on noisy point cloud show the power performance of this method compared with the state-of-the-art techniques. With the refined normal vectors as input, the method generates more accurate results in the presence of high level noise. According to the numerical comparison of normal fitting based curvature estimation and point fitting based curvature estimation with the same surface, normal vectors show bigger influence than
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
noise to the accuracy of curvature estimation. So the direction of future work is to investigate the role of normal vectors in the robust estimation of second order derivative quantities in noisy point cloud, so that more higher order elements in Taylor’s expansion of the normal vector function (23) could be considered. Appendix Representations of surface derivatives with surface normal derivatives
Proposition 1. The representations of surface derivatives with surface normal derivatives are as follows: − 1 fu = −X 1 − X 2 − Y 2 2 − 1 fv = −Y 1 − X 2 − Y 2 2 (A1) 2 fuu = − XY Yu + 1 − Y Xu − 3 · 1 − X2 − Y 2 2 , fvu = − XY Xu + 1 − X 2 Yu − 3 (A2) · 1 − X2 − Y 2 2 , fuv = − XY Yv + 1 − Y 2 Xv 1 Gross M, Pfister H. Point-Based Graphics. San Fransiso, CA: Morgan Kaufmann, 2007. 1–7 2 Petitjean S. A survey of methods for recovering quadrics in triangle meshes. ACM Comput Surv, 2002, 34(2): 211–262 3 Sander P T, Zucker S W. Inferring surface trace and differential structure from 3-D images. IEEE Trans Pattern Anal Mach Intell, 1990, 12(9): 833–854 4 Rusinkiewicz S. Estimating curvatures and their derivatives on triangle meshes. In: Proceedings of the 3D Data Processing, Visualization, and Transmission, 2nd International Symposium. Washington: IEEE Computer Society, 2004. 486–493 5 Gatzke T, Grimm C. Estimating curvature on triangular meshes. Int J Shape Model, 2006, 12(1): 1–29 6 Magid E, Soldea O, Rivlin E. A comparison of Gaussian and mean curvature estimation methods on triangular meshes of range image data. Comput Vis Image Underst, 2007, 107(3): 139–159 7 Goldfeather J, Interrante V. A novel cubic-order algorithm for approximating principal direction vectors. ACM Trans Graph, 2004, 23(1): 45–63 8 Theisel H, Rossl C, Zayer R, et al. Normal based estimation of the curvature tensor for triangular meshes. In: PG’04: Proceedings of the Computer Graphics and Applications, 12th Pacific Conference. Washington: IEEE Computer Society, 2004. 288–297
fvv
− 3 · 1 − X2 − Y 2 2 , = − XY Xv + 1 − X 2 Yv − 3 · 1 − X2 − Y 2 2 .
(A3)
Proof. It can be deduced from (17) and (19) that 1 − X 2 − Y 2 = Γ2 . Therefore (A1) is hold. Taking fvu and fuu as the unknown quantities in the first and third equations in (20), these two equations can be converted to (fu fv )fvu − (1 + fv2 )fuu = Γ−3 Xu , (fu fv )fuu − (1 + fu2 )fvu = Γ−3 Yu , or XY fvu − (1 − X 2 )fuu = Γ−1 Xu , XY fuu − (1 − Y 2 )fvu = Γ−1 Yu . The solution pair fuu and fvu of this linear system are (A2). These are representations of fuu and fvu with X, Y, Xu and Yu . Similarly, representations of fvu and fvv with X, Y, Xv and Yv are (A3). The authors acknowledge the Stanford repository for the David and horse models and the AIM@SHAPE repository for the hand model. 9 Batagelo H C, Wu S. Estimating curvatures and their derivatives on meshes of arbitrary topology from sampling directions. Vis Comput, 2007, 23(9): 803–812 10 Kalogerakis E, Simari P, Nowrouzezahrai D, et al. Robust statistical estimation of curvature on discretized surfaces. In: Proceedings of the Fifth Eurographics symposium on Geometry Processing. Aire-la-Ville: Eurographics Association, 2007. 13–22 11 Taubin G. Estimating the tensor of curvature of a surface from a polyhedral approximation. In: Proceedings of the Fifth International Conference on Computer Vision. Washington: IEEE Computer Society, 1995. 902–907 12 Do Carmo M. Differential Geometry of Curves and Surfaces. London: Prentice-Hall, 1976. 503 13 Meek D S, Walton D J. On surface normal and Gaussian curvature approximations given data sampled from a smooth surface. Comput Aided Geom Des, 2000, 17(6): 521–543 14 Meyer P S M, Desbrun M, Barr A, et al. Discrete differentialgeometry operators for triangulated 2-manifolds. In: Visualization and Mathematics III. London: Springer-Verlag, 2003. 35–57 15 Cohen-Steiner D, Morvan J M. Restricted delaunay triangulations and normal cycle. In: SCG’03: Proceedings of the Nineteenth Annual Symposium on Computational Geometry. New York: ACM, 2003. 312–321
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444
443
16 McIvor A, Valkenburg R. A comparison of local surface geometry estimation methods. Mach Vision Appl, 1997, 10(1): 17–26 17 Cazals F, Pouget M. Estimating differential quantities using polynomial fitting of osculating jets. In: SGP’03: Proceedings of the 2003 Eurographics/ACM Siggraph Symposium on Geometry Processing. Aire-la-Ville: Eurographics Association, 2003. 177–187 18 Cazals F, Pouget M. Estimating differential quantities using polynomial fitting of osculating jets. Comput Aided Geom Des, 2005, 22(2): 121–146 19 Chen X, Schmitt F. Intrinsic surface properties from surface triangulation. In: Proceedings of the Second European Conference on Computer Vision. London: Springer-Verlag, 1992. 739–743 20 Hameiri E, Shimshoni I. Estimating the principal curvatures and the Darboux frame from real 3D range data. In: Proceedings of the 3D Data Processing, Visualization, and Transmission. Washington: IEEE Computer Society, 2002. 258–267
444
21 Hoppe H, DeRose T, Duchamp T, et al. Surface reconstruction from unorganized points. In: Siggraph 1992. New York: ACM, 1992. 71–78 22 Mitra N, Nguyen A. Estimating surface normals in noisy point cloud data. In: SCG ’03: Proceedings of the Nineteenth Annual Symposium on Computational Geometry. New York: ACM, 2003. 322–328 23 Shen C, O’Brien J F, Shewchuk J R. Interpolating and approximating implicit surfaces from polygon soup. In: Siggraph 2004. New York: ACM, 2004. 896–904 24 Adamson A, Alexa M. Point-sampled cell complexes. ACM Trans Graph, 2006, 25(3): 671–680 25 Guennebaud G, Gross M. Algebraic point set surfaces. ACM Trans Graph, 2007, 26(3): 23 26 Cheng Z, Zhang X, Fourcaud T. Tree skeleton extraction from a single range image. In: PMA06: Proceedings of Second International Symposium on Plant Growth Modeling, Simulation, Visualization and Applications. Los Alamitos: IEEE Computer Society, 2007. 274–281
CHENG ZhangLin et al. Sci China Ser F-Inf Sci | Mar. 2009 | vol. 52 | no. 3 | 431-444