Consistent Point Orientation for Manifold Surfaces via Boundary Integration
Abstract.
This paper introduces a new approach for generating globally consistent normals for point clouds sampled from manifold surfaces. Given that the generalized winding number (GWN) field generated by a point cloud with globally consistent normals is a solution to a PDE with jump boundary conditions and possesses harmonic properties, and the Dirichlet energy of the GWN field can be defined as an integral over the boundary surface, we formulate a boundary energy derived from the Dirichlet energy of the GWN. Taking as input a point cloud with randomly oriented normals, we optimize this energy to restore the global harmonicity of the GWN field, thereby recovering the globally consistent normals. Experiments show that our method outperforms state-of-the-art approaches, exhibiting enhanced robustness to noise, outliers, complex topologies, and thin structures. Our code can be found at https://github.com/liuweizhou319/BIM.
1. Introduction
Point clouds with globally consistent normals have numerous downstream applications, such as point set upsampling (Huang et al., 2013; Feng et al., 2022), point cloud filtering (Zhang et al., 2020; Lu et al., 2022), surface reconstruction (Kazhdan et al., 2006; Huang et al., 2009; Calakli and Taubin, 2011; Kazhdan and Hoppe, 2013; Lu et al., 2018; Mescheder et al., 2019; Sellán and Jacobson, 2022, 2023), and segmentation (Khaloo and Lattanzi, 2017). As a fundamental problem in computer graphics, it remains challenging due to the complexity of object geometry, topology, and the influence of noise.
Most existing methods (Hoppe et al., 1992; Cazals and Pouget, 2003; Pauly et al., 2003; König and Gumhold, 2009; Schertler et al., 2017; Metzer et al., 2021) estimate normals perpendicular to the point cloud surface and then use propagation to flip inconsistent normals. As pointed out by Li et al. (2023a), propagation strategies are affected by the direction of distribution of the unoriented normal vectors and often lead to undesirable results. Moreover, neighborhood-based normal estimation methods tend to perform poorly when dealing with noise and geometries with small reach. In the past few years, there has been significant advancement in the field of globally consistent normal estimation. iPSR (Hou et al., 2022) reconstructs surfaces from unoriented point clouds by iteratively refining the normals obtained from the PSR solver (Kazhdan et al., 2006). While effective for dense point clouds, iPSR encounters difficulties with sparse inputs. In sparsely sampled regions, the potential generation of erroneous normals by iPSR can result in disconnected components in the reconstructed surface. There are also deep learning-based methods for point normal estimation or orientation (Guerrero et al., 2018; Ben-Shabat et al., 2019; Zhu et al., 2021; Li et al., 2023a, b, c, d). While these methods enhance the precision of predictions, they typically do not reverse the normals when the prediction of normal orientation is inconsistent.
The generalized winding number (GWN) (Jacobson et al., 2013) has proven to be a powerful tool for robust segmentation of 3D surfaces into distinct inside and outside regions. Its application extends to the orientation of triangle meshes and point clouds, showcasing its versatility in the field of geometric processing. Building on this foundational work, Takayama et al. (2014) proposed to orient triangle soups by minimizing the Dirichlet energy associated with the GWN field. Barill et al. (2018) developed a point cloud-based approach to estimating the GWN, linking point cloud normals to the generalized winding number. More recently, PGR (Lin et al., 2022) and GCNO (Xu et al., 2023) adopted point-based GWN for orienting point clouds. They regularize the values of the GWN both inside and outside the point cloud. Despite these advancements, these methods are usually limited to small-scale models due to their high computational cost. Additionally, they are not effective in handling models with complex topology and often fail to robustly address issues posed by thin structures and noise.
Our work aims at developing a robust approach for computing globally consistent normal orientations in point clouds sampled from manifold surfaces. We identify harmonicity and jump boundary conditions as two key factors in point cloud orientation. Leveraging the fact that the Dirichlet energy of the GWN field can be expressed as an integral over the boundary (Takayama et al., 2014), we introduce a new boundary energy formulation. In this framework, the normals associated with each point are variables. This boundary energy coincides with the Dirichlet energy only when the normals are globally consistent. By imposing constraints on the range of the GWN values, we observe an inverse correlation between boundary energy and Dirichlet energy: the boundary energy is small for randomly oriented normals, and becomes large when normals are globally consistent. This observation motivates us to maximize the boundary energy from initially random normals. Employing an efficient L-BFGS solver, we iteratively enhance the global harmonicity of the generalized winding number field, eventually yielding globally consistent normals. Extensive experiments demonstrate the effectiveness of our method, achieving high-quality orientation and reconstruction results.
2. Related Work
The problem of global point orientation dates back to the 1990s, in the seminal work of Hoppe et al. (1992). The authors calculated initial normals utilizing principal component analysis, and subsequently corrected inconsistent normals through propagation. This pioneering work has inspired many follow-up works, including (König and Gumhold, 2009; Jakob et al., 2019; Levin, 1998; Mitra and Nguyen, 2003; Alliez et al., 2007; Boulch and Marlet, 2012; Xu et al., 2022), among others. Although these methods perform well with simple models, their performance deteriorates in the presence of complex geometries and data imperfections, especially in the presence of noise and outliers.
Reconstructing 3D surfaces from unoriented point clouds is closely related to the problem of point orientation. A popular approach for 3D reconstruction involves using an implicit function to represent the target surface, where the gradients of this function at a particular level set serve as the point normals. Current approaches predict globally consistent normals by using signed/unsigned distance fields or by considering point clouds as dipoles to generate generalized winding number fields. Mullen et al. (2010) computed an unsigned distance field for the input point cloud, subsequently determining the sign by minimizing the Dirichlet energy. NGLO (Li et al., 2023a) enhanced normal accuracy by optimizing gradients based on the fitted distance field. NeuralGF (Li et al., 2023b) introduced a novel paradigm of learning gradients for fitting a signed distance field with neural implicit functions, enabling unsupervised point cloud normal estimation. The Dipole method (Metzer et al., 2021) maximizes the electric field gradient of the point cloud using a greedy strategy, aiming to approximate the generalized winding number. iPSR (Hou et al., 2022) iteratively refined the surface by feeding the normals obtained from the previous iteration into the PSR (Kazhdan and Hoppe, 2013) solver, gradually improving the surface quality. PGR (Lin et al., 2022) treats normals and surface element areas as unknown parameters, interpreting the indicator function as a member of a parametric function space using the Gauss formula, and recovering the normals by estimating the values of the indicator function. GCNO (Xu et al., 2023) incorporated the prior knowledge of the generalized winding number field as an approximation to the indicator function for point clouds with globally consistent normals. Despite significant advancements in the field of 3D reconstruction, existing methods for reconstructing 3D surfaces from unoriented point clouds still suffer from various issues. For example, NGLO’s dependency on a training set limits its ability to robustly handle diverse types of data and noise levels. Dipole may generate conflicting normals at thin structures. iPSR can lead to disconnected components in cases of sparse point clouds. PGR lacks robustness to noise and demands high computational resources. GCNO’s effectiveness is contingent upon an even distribution of Voronoi vertices both inside and outside the point cloud–a condition that, when unmet, significantly degrades the quality of the results.
PDEs with jump boundary conditions are widely used in surface reconstruction, rendering, and fluid simulation. In surface reconstruction, jump boundary conditions are used to infer the implicit function from the point cloud with consistent normals. The indicator function obtained from the PSR (Kazhdan et al., 2006; Kazhdan and Hoppe, 2013) solver effectively satisfies the jump boundary conditions. The generalized winding number generated by point clouds with globally consistent normals (Barill et al., 2018) can be regarded as an approximate solution to the Poisson equation with jump boundary conditions. The surface can be reconstructed by extracting the iso-surfaces from the generalized winding number. In rendering, Poisson vector graphics (Hou et al., 2020) and diffusion curves (Orzan et al., 2008) treat the input strokes as jump boundary conditions and accomplish color rendering by solving Laplace’s equation. In fluid simulation (Leal, 2007), jump boundary conditions are used to represent the physical properties at the interface between two fluids. Recently, Feng et al. (2023) proposed a method for computing the winding number for discrete surfaces. They approached the problem by considering the relationship between the winding number and harmonic functions and solved it by solving Laplace’s equation with jump boundary conditions.
3. Preliminaries
Given a solid object , we denote its boundary surface by . Let be a point cloud sampling the manifold surface. For each point , we denote by its outward unit normal. We denote the inner product in by .
3.1. Poisson’s Equation with Jump Boundary Conditions
Poisson’s equation with jump boundary conditions finds extensive applications across physics, scientific computing, simulation, and geometric processing. The equation is formulated as:
(1) |
subject to the Dirichlet boundary condition
(2) |
and the Neumann boundary condition
(3) |
where is the sought solution, represents a source term, and is a constant. The term denotes the globally consistent outward normal at . We also define exterior and interior boundary values as the limiting values of at the boundary from the exterior and interior, respectively. That is, for . When , the solution is harmonic, and in this context, also minimizes the Dirichlet energy functional .
3.2. Boundary Integral Equation
The boundary element method is a powerful tool for solving partial differential equations. BEM transforms the differential equation within the computational domain into a boundary integral equation. The boundary is then discretized into elements, allowing the discretization of the boundary integral equation as a dense system of linear equations without requiring explicit discretization of the computational domain.
Equation (1) can be expressed in the form of a Boundary Integral Equation (Costabel, 1987) using the Poisson kernel and Green’s function as follows:
(4) | |||||
where represents Green’s function satisfying . Here is Dirac delta function and denotes the Poisson kernel. The final term in the second integral vanishes due to the Neumann boundary condition.
3.3. Generalized Winding Number
The generalized winding number is the number of times a point in space is enclosed by a surface. As shown in (Jacobson et al., 2013), the generalized winding number , generated by globally consistent outward normals, satisfies Laplace’s equation. This condition represents a special case of Equation (1) when and . Consequently, we can express using Equation (4) as
(5) |
The Poisson kernel , which is the directional derivative of Green’s function in the direction , is given by:
Given an oriented point cloud , where each point is associated with a globally consistent outward normal , Barill et al. (2018) approximates the GWN for an arbitrary query point by
(6) |
![[Uncaptioned image]](https://cdn.statically.io/img/arxiv.org/x1.png)
Here is the geodesic Voronoi area of point , representing the contribution of point to the surface integral. Since computing geodesic Voronoi diagram on discrete surfaces is time consuming, Barill et al. (2018) suggested calculating as a 2D Voronoi area by projecting and its -nearest neighbors to the tangent plane of . Jacobson et al. (2013) showed that the GWN for points that are away from the surface is harmonic, satisfying . Furthermore, as observed by Xu et al. (2023), the GWN produced by a point cloud with randomly oriented normals is nearly zero everywhere (see Figure 2).
4. Method
Our method takes a point cloud , which is sampled from a closed, orientable manifold surface as input. It begins by assigning a random normal to each point in the cloud. The core of our method lies in the regularization of the generalized winding number by optimizing an objective function related to the Dirichlet energy of . After orientation, we use sPSR (Kazhdan and Hoppe, 2013) to obtain the watertight surface.
Notations
Throughout the paper, we denote by the set of globally consistent outward unit normal of the surface , and by an arbitrary unit normal field. Although the GWN for the input point cloud is computed in a discrete manner, we treat the GWN as a continuous field for the sake of clarity in our discussion. We define (resp. ) to be the exterior (resp. interior) of the surface111To ease discussion, we also define , which is the same as the solid , for the interior of the solid object.. The GWN for points is defined as . We define the consistently oriented normals, and , respectively, for the boundary of and , where and .
4.1. Boundary Energy
Since the GWN field associated with a globally consistent orientation is a harmonic function away from the surface and thereby minimizes the Dirichlet energy, Takayama et al. (2014) proposed the minimization of the Dirichlet energy in approximating the GWN from polygonal soups. The Dirichlet energy is defined as an integral over the whole space, excluding the boundary surface , and is given by:
A straightforward approach to compute the Dirichlet energy involves subdividing the finite volume around into sufficiently small elements to accurately capture the variations of the GWN. Subsequently, numerical integration is performed on this discretized space to calculate the Dirichlet energy. In order to calculate integrals accurately, a high-resolution and high-quality tetrahedral mesh is typically necessary, particularly when has complex geometry and topology. An alternative solution, as proposed by Takayama et al. (2014), is to convert the volume integral into boundary integrals using Green’s first identity
(7) |
where denotes the directional derivative along normal direction .
We extend the Dirichlet energy associated with globally consistent normals to an arbitrary normal vector field , and define the boundary energy as
(8) |
Given an arbitrary normal field , we decompose each normal vector into two components relative to the globally consistent outward normal – a tangential component and a normal component , that is, . Leveraging the linearity of directional derivatives, we can express the boundary energy for as a sum of its components: .
Empirical analysis leads to two key observations: 1) When normals are oriented randomly, both the tangential and normal components of the boundary energy approach zero, yet the Dirichlet energy remains high (Figure 2, bottom). 2) Conversely, when normals are globally consistent, the tangential component remains negligible , whereas the normal component is large, leading to (Figure 2, top). Under this condition, the Dirichlet energy is reduced, aligning with the boundary energy. These observations highlight the competing trends in Dirichlet and boundary energies during the process of transforming random normals to consistent normals. This serves as the inspiration for our approach to directly maximize the boundary energy . As a result, our optimization becomes
(9) |
Remark 1
It is important to note that the boundary energy , despite a superficial similarity to the Dirichlet energy, represents a fundamentally different concept. These two forms of energy coincide only when the normal associated to each point is perpendicular to the surface. For an arbitrary normal field , the two energies diverge. Furthermore, computing the Dirichlet energy for an arbitrary normal field involves discretizing the space for volume integration - a computationally intensive task. Thus, minimizing the Dirichlet energy with randomly initialized normals is theoretically possible, but it is impractical for real-world applications. Our method overcomes this obstacle by converting volume integration to boundary integration when dealing with random normals, significantly reducing computational demands and eliminating the need for interior discretization.
4.2. Discretization
4.2.1. Sampling GWN Field
Approximating the boundary integral in Equation (9) using the input points yields
Given that and its gradient can be analytically computed using Equation (6), the primary task is to discretize and . In our approach, the discretization involves identifying two distinct points and for each input point . These points are strategically positioned such that is located outside and inside . This arrangement ensures that the approximations and hold true.
![Refer to caption](https://cdn.statically.io/img/arxiv.org/extracted/5707137/graphics/voro_displacement.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/extracted/5707137/graphics/voro_voronoi.png)
(a) Normal displacement
(b) Voronoi diagram
A straightforward approach for identifying is to set , where denotes the current estimate of the normal and is a predetermined value. However, this strategy does not reliably ensure that and are located inside and outside the surface, respectively, especially in cases involving complex geometries and thin structures (see Figure 1 (a)).
To avoid these issues, we opt for Voronoi vertices to discretize . Given that many Voronoi cells are infinite, we truncate them using an enlarged bounding box of the input point cloud . Both the Voronoi vertices and the vertices along the clipped boundary are considered as potential candidates for . This strategy is supported by two key observations: Firstly, most Voronoi vertices, although not necessarily far away from the point cloud222As pointed out in Amenta et al. (1998), in two dimensions, the Voronoi vertices of a dense set of sample points on a curve approximate the medial axis of the curve. However, this is not necessarily true in three dimensions., tend to be on opposite sides of the target surface in practice, thereby providing suitable candidate positions for . Secondly, as demonstrated in (Xu et al., 2023), Voronoi vertices exhibit considerable robustness against noise so that we can use them to distinguish interior and exterior. Computational results further confirm that for models with low levels noise, employing Voronoi vertices yields a reliable sampling of the GWN field around the surface. For a more detailed discussion, refer to the supplementary material. In our implementation, for each , we identify and as the two Voronoi vertices of the Voronoi cell associated with that best align with the current normal (see Figure 1 (b)).
Remark 2
At the beginning of the optimization process with randomly initialized normals, some points may experience inside-out flipping, where is positioned inside and outside. This inside-out configuration does not hinder our boundary energy maximization, as the samples and still remain on opposite sides of the target surface. Computational results show that the energy maximization process effectively reduces the frequency of such inside-out cases. For example, on the Bunny model, after 10 iterations, all are consistently positioned outside and all inside. See Figure 4 in the supplementary material.
4.2.2. Energy Maximization
Using the Voronoi vertices to sample the GWN field around , we can express the maximization problem in Equation (9) as:
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x2.png)
Directly maximizing the above boundary energy often results in normals that, while perpendicular to the boundary surface, are not globally consistent. The inconsistency is mainly due to ambiguities associated with the jump boundary conditions. Figure 3 shows two common types of ambiguities encountered in 3D space: Case 1, where and , and Case 2, where and . A direct approach to resolving the ambiguity in jump boundary conditions involves constraining the winding numbers to fall within the range of 0 and 1, that is:
However, this method introduces inequality constraints, significantly increasing the complexity of the optimization problem. Instead, we propose not to directly restrict the value of using the above inequality constraints. Instead, we 1) replace the GWN difference in Equation (9) with , which encourages , thereby penalizing Case 1; and 2) add an additional term
which encourages , thereby penalizing Case 2. With these changes, the final energy becomes an unconstrained optimization problem:
(10) |
We solve this optimization using the L-BFGS solver333https://github.com/yixuan/LBFGSpp. During each iteration, we examine the current normal . Through a linear scan, we determine and , which correspond to the Voronoi vertices forming the smallest and largest angles, respectively, with . To force the normals to be unit length, we parameterize each normal as , where and serve as the variables in the objective function Equation (10).
Remark 3
Our Voronoi diagram strategy does not guarantee that the selected will always be on opposite sides of the target surface, experimental results suggest that most input points do not face the issue of being on the same side. In the rare occasions when and do end up on the same side, our optimization method effectively addresses these instances by penalizing them. Specifically, when and are on the same side, the value of reduces, leading to lower energy. Our objective is to maximize boundary energy, and with the normals updated, it is unlikely that these same-side samplings will recur in subsequent iterations.
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x3.png)
Remark 4
In our current implementation, we calculate and in a brute-force manner. Let be the number of input points in and represent the number of Voronoi vertices. Each iteration begins with an traversal of Voronoi vertices to identify all s. Subsequently, for each input point, computing and via the Poisson kernel requires time. Therefore, the computational cost per iteration is . To enhance runtime efficiency, one possible strategy is to accelerate the computation using the fast multipole method (Greengard and Rokhlin, 1987). This enables querying neighboring points in time, potentially reducing the overall time complexity per iteration to .
![Refer to caption](https://cdn.statically.io/img/arxiv.org/extracted/5707137/graphics/all_A_final.png)
4.3. Contrasting Our Method with Previous Approaches
Our method, while sharing similarities with the works of Takayama et al. (2014), PGR (Lin et al., 2022), and GCNO (Xu et al., 2023), particularly in their use of the generalized winding number field, diverges significantly in several key aspects.
Ours vs. Takayama et al. (2014).’s method
Although both methods aim at optimizing objective functions that are related to to the Dirichlet energy, there are two key differences that set our approach apart: 1) Takayama et al. primarily addressed scenarios where point normals are perpendicular to the boundary surface yet inconsistent. In such cases, we observe a significant increase in boundary energy (Figure 2). However, when normals are initialized randomly, the boundary energy tends to diminish to nearly zero, indicating a fundamental difference in the objective functions. 2) Their approach relies on a brute-force solver, exhaustively searching for the optimal normal configuration. As a result, its applicability is confined to small and simple models. In contrast, our method utilizes an L-BFGS solver.
Ours vs. GCNO (Xu et al., 2023)
Our approach fundamentally differs from GCNO in terms of methodology, discretization techniques and time complexity. 1) Methodology: Unlike GCNO, which regularizes the GWN of Voronoi vertices to exact values of 0 and 1, our method focuses on the boundary energy by evaluating the GWN difference and the GWN gradient. This strategy does not depend on precise GWN values, offering a more flexible approach. 2) Discretization: GCNO assumes a uniform distribution of Voronoi vertices both inside and outside the object—an assumption that is less reliable for models with complex geometries. Figure 9 shows an example where GCNO is unable to optimize its objective function when the assumption does not hold. Our method, by contrast, does not rely on such an assumption, making it adaptable to a broader range of 3D models. 3) Time complexity: GCNO requires computing for all Voronoi vertices associated with each point in the input point cloud. Our method, however, requires computing for and for two specific points, , within the Voronoi cell. This leads to significantly lower computational demands in comparison to GCNO. Specifically, GCNO has a time complexity for each iteration, while ours is per iteration. Given that the number of input points is typically much lower than the number of Voronoi vertices (), as exemplified by the Bunny model (, ), our method outperforms GCNO in terms of scalability and runtime performance. Experimental results indicate that GCNO is suited for models with up to 10K points, typically generating within an hour. However, for larger models containing 40K points, GCNO fails to complete within 24 hours. In contrast, our method can deliver results in just three hours. See the supplementary material for the details of the scalability test.
Ours vs. PGR (Lin et al., 2022)
PGR focuses on regularizing the GWN directly at the input points. In the context of noisy point clouds, achieving a GWN value of exactly 0.5 for these points is challenging. Unlike PGR, our method does not constrain GWN values. Instead we regularize the differences and gradients of the GWN both inside and outside of the input model, significantly enhancing our method’s robustness to noise. Furthermore, PGR requires solving a dense linear system, restricting its applicability to small models. In contrast, our method employs an L-BFGS solver to optimize the boundary energy, offering a solution that is both fast and memory-efficient.
Models (# points, Fig.) | iPSR | GCNO | Ours | |||
---|---|---|---|---|---|---|
BS (4000, supp.) | 4.5/5.7/0.17/28/2.0 | 17/21/0.12/2.0/0.50 | 3.7/4.5/0.11/9.7/0.094 | 5.1/6.0/0.15/640/1.9 | 8.1/9.9/0.21/810/0.067 | 3.6/4.3/0.11/95/0.075 |
Bird (8187, Fig. 10) | 12/37/1.7/50/1.9 | 7.4/11/0.063/8.1/0.80 | 2.2/5.1/0.065/14/0.10 | 5.2/8.8/0.069/640/1.9 | 89/98/28/2800/0.14 | 2.0/3.4/0.060/360/0.084 |
linkCupTop (8602, Fig. 10) | 89/120/3.6/60/2.2 | 23/28/0.27/6.7/0.85 | 24/28/0.20/25/0.11 | 87/110/3.4/640/1.9 | 89/110/3.3/2200/0.14 | 12/15/0.19/400/0.091 |
BunnyPeel (8648, Fig. 6) | 51/82/25/53/2.0 | 22/26/0.099/10/0.85 | 12/17/0.099/18/0.10 | 48/70/11/640/1.9 | 45/63/36/2400/0.14 | 7.2/12/0.094/400/0.092 |
Horse (8657, supp.) | 8.2/23/0.11/51/2.4 | 13/17/0.065/7.1/0.85 | 3.1/5.0/0.070/14/0.10 | 6.6/9.5/0.065/640/1.9 | 8.2/9.9/0.072/2500/0.14 | 2.9/4.2/0.065/400/0.085 |
397horse (8784, supp.) | 8.9/28/0.19/50/2.4 | 15/21/0.066/7.0/0.86 | 3.1/5.0/0.063/15/0.10 | 8.1/17/0.45/640/1.9 | 8.2/9.9/0.064/2700/0.14 | 2.9/4.2/0.062/400/0.086 |
Bunny (8830, supp.) | 6.7/9.2/0.13/62/2.1 | 15/20/0.14/7.3/0.86 | 4.9/6.9/0.11/13/0.11 | 5.4/6.6/0.17/640/1.9 | 8.9/11/0.16/2700/0.14 | 3.1/4.1/0.12/410/0.094 |
Cup (10130, supp.) | 4.4/19/0.14/60/2.0 | 11/14/0.13/9.7/1.0 | 1.5/2.5/0.15/11/0.11 | 3.9/4.5/0.13/640/1.9 | 7.4/9.5/0.13/3700/0.16 | 1.7/2.2/0.13/550/0.088 |
Botijo (11305, supp.) | 14/37/0.23/63/2.4 | 16/20/0.080/13/1.1 | 3.0/4.9/0.077/15/0.12 | 15/38/2.3/640/1.9 | 35/64/54/4100/0.19 | 2.6/3.7/0.077/660/0.086 |
30cup (11311, supp.) | 4.4/15/0.090/65/2.4 | 14/16/0.091/14/1.1 | 1.7/3.1/0.093/13/0.12 | 32/64/97/640/1.9 | 9.2/11/0.097/4400/0.17 | 2.1/3.0/0.086/670/0.095 |
Candle (12221, Fig. 6) | 65/93/1.12/67/2.4 | 42/53/0.97/18/1.2 | 18/25/0.099/34/0.14 | 30/48/11/640/1.9 | 50/72/36/7900/0.20 | 14/26/0.094/790/0.089 |
Elk (12541, Fig. 6) | 17/48/7.8/77/2.1 | 19/30/0.17/22/1.3 | 3.0/6.8/0.12/18/0.12 | 17/43/5.9/640/1.9 | 48/83/20/7400/0.20 | 2.9/4.6/0.11/1000/0.10 |
Lion (13138, Fig. 6) | 14/28/0.57/71/3.2 | 21/28/0.061/16/1.4 | 9.1/14/0.068/14/0.11 | 12/17/0.068/640/1.9 | 19/31/0.20/5100/0.21 | 6.5/11/0.057/900/0.086 |
Vase (13375, Fig. 10) | 50/84/8.5/81/2.5 | 26/33/0.26/18/1.4 | 12/16/0.23/39/0.13 | 77/104/5.3/640/1.9 | 88/114/11/6200/0.21 | 5.8/8.1/0.23/920/0.099 |
Fertility (13802, supp.) | 52/94/120/76/3.2 | 15/20/0.073/20/1.5 | 2.3/4.0/0.10/19/0.14 | 5.0/6.3/0.081/640/1.9 | 8.0/11/0.091/10000/0.22 | 2.2/3.2/0.075/970/0.088 |
Fandisk (13854, supp.) | 4.7/9.9/0.13/79/2.2 | 18/25/0.12/22/1.5 | 2.6/5.3/0.12/17/0.16 | 4.6/6.0/0.18/640/1.9 | 9.5/12/0.11/5500/0.20 | 2.8/4.3/0.11/990/0.092 |
Felinei (15057, supp.) | 36/72/25/81/3.0 | 19/24/0.092/23/1.6 | 5.7/10/0.088/18/0.11 | 30/57/16/640/1.9 | 89/97/17/8500/0.24 | 4.1/7.2/0.084/1200/0.092 |
Pulley (16116, supp.) | 13/31/0.12/86/3.1 | 26/33/0.092/23/1.8 | 5.0/7.5/0.14/16/0.16 | 12/17/0.090/640/1.9 | 7.4/8.8/0.12/12000/0.22 | 3.8/5.3/0.083/1300/0.092 |
Average | 25/46/11/64/2.4 | 19/25/0.16/14/1.1 | 6.5/9.5/0.11/18/0.12 | 22/35/8.0/640/1.9 | 35/46/9.5/5100/0.17 | 4.6/7.0/0.11/690/0.090 |
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x4.png)
5. Experimental Results
Experimental setup
We perform our experiments on a PC equipped with an i7-12700H CPU and 16GB of RAM. The GPU-based approaches (Lin et al., 2022; Metzer et al., 2021; Li et al., 2023b) were executed on a single RTX 3090. We evaluate our method using 18 models, with diverse geometry and topology (see Figure 5). All point clouds are uniformly scaled to fit within the cube . Noise was synthetically generated using a standard Gaussian distribution with and , introducing random displacements to each point. We modulate the noise intensity to 0.5% and 0.75% of the diagonal length of the bounding box. Our method involves a single parameter: the neighborhood size, which is used for approximating the Voronoi area, , in the discretization of the GWN. Despite the diversity in model geometries, we use a neighborhood size of 15 across all tests. We use the L-BFGS solver for optimizing the unconstrained boundary energy. After establishing the point orientations, we use screened Poisson surface reconstruction (Kazhdan and Hoppe, 2013) on the oriented point clouds, generating watertight surfaces. We compare our method with five state-of-the-art approaches GCNO (Xu et al., 2023), Dipole (Metzer et al., 2021), PGR (Lin et al., 2022), NeuralGF (Li et al., 2023b), and iPSR (Hou et al., 2022), utilizing the official implementations provided by the authors along with their default parameter settings. We assess the quality of orientation and reconstruction by analyzing the angular discrepancy between the predicted normals and the ground-truth normals, along with the Chamfer Distance (CD), which measures the closeness between the ground-truth surface and the reconstructed surface. To quantitatively describe this distribution, we report the mean and the standard deviation of the angle differences in degree. The smaller the metrics, the higher the consistency of the predicted normals. We also document the running time and the peak memory consumption for computational efficiency.
Orientation & reconstruction results
We present the performance of various methods across 18 noise-free models in Table 1, and provide results under noisy conditions in the supplementary material. In the noise-free scenarios, our method achieves the best scores in , and CD for 83%, 88%, and 88% of the models, respectively. Our method demonstrates resilience to low level noise, as it is a global method that can capture the normal consistency from a global perspective. See Figures 6 and 7 for the comparison of the reconstructions. Our method is particularly effective in processing models characterized by complex topology and thin structures, areas where competing methods frequently encounter difficulties.
Runtime
As analyzed in Section 4.2, our method’s time complexity is per iteration. Typically, increases linearly with for common models. However, it is important to note that in the worst-case scenario, can scale quadratically with . Consequently, our method is faster than GCNO, which operates with a time complexity of per iteration. Computational results demonstrate that our method is 5-10 times faster than GCNO across 18 test models, with an average speed-up factor of 7.3.
Space complexity
Our algorithm has space complexity of , since it only needs to store the input point clouds and its associated Voronoi diagram. Both PGR (Lin et al., 2022) and VIPSS (Huang et al., 2019) necessitate solving dense linear systems, resulting in a space complexity of . This quadratic space complexity constrains them to smaller-scale models, generally limited to those with up to 10K points. In contrast, our method scales up to 100K points.
Comparison with supervised methods
We also compare our method with recent supervised approaches, NGLO (Li et al., 2023b) and SHS-Net (Li et al., 2023c). NGLO operates in two stages: The initial phase, which is unsupervised, produces a set of normals. While globally consistent, these may not always be perpendicular to the surface. This is followed by a supervised module aimed at refining the normals’ accuracy. However, since the second stage is mainly aimed at fine-tuning, NGLO may face issues with normal flipping if the initial stage fails to achieve globally consistent normals. SHS-Net is an end-to-end network that extracts both local, dense features and global, sparse features from the input point cloud. It orients points by penalizing discrepancies between these features in the latent space. Utilizing both local and global features is a double-edged sword. On one hand, it renders SHS-Net highly effective for simple models, where these features can be well aligned. On the other hand, it struggles with input models characterized by complex geometry and topology, primarily due to the significant discrepancies between local and global features. In Figure 10, we compare our method to NGLO and SHS-Net for four models featuring thin structures and complex topology. To assess the robustness of these methods, we intentionally introduce noise or outliers to each test model. We observed that both NGLO and SHS-Net reconstruct the chick body well, which has a relatively simple geometry. However, they encounter difficulties with the thin structures of the chick’s feet and fail to capture the complex topology of the other three models.
Limitations
Despite the demonstrated robustness and accuracy of our method, it is important to acknowledge its current limitations. As highlighted in (Takayama et al., 2014), the Dirichlet energy of GWN only measures the magnitude of the oscillation of a function and does not explicitly indicate the inside-outside orientation on non-manifold surfaces. As the proposed boundary energy is derived from the Dirichlet energy, our method is suitable only for point clouds sampled from manifold surfaces. Another limitation is the scalability issue due to the quadratic time complexity of our method. While iPSR (Hou et al., 2022) can handle large-scale models with millions of points, our method is constrained to smaller-scale models, with around 100K points.
6. Conclusions
We introduce a new method for globally consistent orientation for point clouds. Our method initializes each point with a randomly assigned normal, and then iteratively updates its normal by maximizing the boundary energy of the generalized winding number field associated with the normals. When the algorithm terminates, we restore the harmonicity of the GWN field, whose gradients are the globally consistent orientations. Computational results show that our method is particularly effective in handling models with complex topology and thin structures, areas that existing methods have trouble with.
Acknowledgements.
We thank the reviewers for their detailed comments and constructive suggestions. Special thanks are also due to Shepherd for his/her valuable feedback, which has significantly enhanced the clarity and quality of the paper. Additionally, we are thankful to Nicholas Sharp for his open-sourced visualization software Polyscope, which facilitated the creation of the images presented in the paper. This project was partially supported by the Beijing Municipal Science and Technology Commission and Zhongguancun Science Park Management Committee (No.Z221100002722020), the National Nature Science Foundation of China (No.62072045), the Nature Science Foundation of Beijing (No.7242167), the Ministry of Education, Singapore, under its Academic Research Fund Grants (MOE-T2EP20220-0005 & RT19/22), and the RIE2020 Industry Alignment Fund–Industry Collaboration Projects (IAF-ICP) Funding Initiative, as well as cash and in-kind contribution from the industry partner(s).References
- (1)
- Alliez et al. (2007) Pierre Alliez, David Cohen-Steiner, Yiying Tong, and Mathieu Desbrun. 2007. Voronoi-based variational reconstruction of unoriented point sets. In Proceedings of the Fifth Eurographics Symposium on Geometry Processing (SGP ’07). Goslar, DEU, 39–48.
- Amenta et al. (1998) Nina Amenta, Marshall Bern, and Manolis Kamvysselis. 1998. A new Voronoi-based surface reconstruction algorithm. In Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’98). Association for Computing Machinery, New York, NY, USA, 415–421. https://doi.org/10.1145/280814.280947
- Barill et al. (2018) Gavin Barill, Neil G. Dickson, Ryan M. Schmidt, David I. W. Levin, and Alec Jacobson. 2018. Fast winding numbers for soups and clouds. ACM Trans. Graph. 37, 4 (2018).
- Ben-Shabat et al. (2019) Yizhak Ben-Shabat, Michael Lindenbaum, and Anath Fischer. 2019. Nesti-Net: Normal Estimation for Unstructured 3D Point Clouds Using Convolutional Neural Networks. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
- Boulch and Marlet (2012) Alexandre Boulch and Renaud Marlet. 2012. Fast and Robust Normal Estimation for Point Clouds with Sharp Features. Computer Graphics Forum (2012).
- Calakli and Taubin (2011) Fatih Calakli and Gabriel Taubin. 2011. SSD: Smooth Signed Distance Surface Reconstruction. Computer Graphics Forum (2011).
- Cazals and Pouget (2003) Frederic Cazals and Marc Pouget. 2003. Estimating Differential Quantities Using Polynomial Fitting of Osculating Jets. In Eurographics Symposium on Geometry Processing.
- Costabel (1987) Martin Costabel. 1987. Principles of boundary element methods. Computer Physics Reports 6, 1 (1987), 243–274.
- Feng et al. (2023) Nicole Feng, Mark Gillespie, and Keenan Crane. 2023. Winding Numbers on Discrete Surfaces. ACM Trans. Graph. 42, 4 (2023).
- Feng et al. (2022) Wanquan Feng, Jin li, Hongrui Cai, Xiaonan Luo, and Juyong Zhang. 2022. Neural Points: Point Cloud Representation with Neural Fields for Arbitrary Upsampling. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).
- Greengard and Rokhlin (1987) L Greengard and V Rokhlin. 1987. A fast algorithm for particle simulations. J. Comput. Phys. 73 (1987).
- Guerrero et al. (2018) Paul Guerrero, Yanir Kleiman, Maks Ovsjanikov, and Niloy J. Mitra. 2018. PCPNet: Learning Local Shape Properties from Raw Point Clouds. Computer Graphics Forum 37, 2 (2018), 75–85.
- Hoppe et al. (1992) Hugues Hoppe, Tony DeRose, Tom Duchamp, John McDonald, and Werner Stuetzle. 1992. Surface reconstruction from unorganized points. In Proceedings of SIGGRAPH ’92. 71–78.
- Hou et al. (2020) Fei Hou, Qian Sun, Zheng Fang, Yong-Jin Liu, Shi-Min Hu, Hong Qin, Aimin Hao, and Ying He. 2020. Poisson Vector Graphics (PVG). IEEE Transactions on Visualization and Computer Graphics 26, 2 (2020), 1361–1371.
- Hou et al. (2022) Fei Hou, Chiyu Wang, Wencheng Wang, Hong Qin, Chen Qian, and Ying He. 2022. Iterative poisson surface reconstruction (iPSR) for unoriented points. ACM Trans. Graph. 41, 4 (2022).
- Huang et al. (2009) Hui Huang, Dan Li, Hao Zhang, Uri Ascher, and Daniel Cohen-Or. 2009. Consolidation of unorganized point clouds for surface reconstruction. ACM Trans. Graph. 28 (2009).
- Huang et al. (2013) Hui Huang, Shihao Wu, Minglun Gong, Daniel Cohen-Or, Uri Ascher, and Hao (Richard) Zhang. 2013. Edge-aware point set resampling. ACM Trans. Graph. 32, 1 (2013).
- Huang et al. (2019) Zhiyang Huang, Nathan Carr, and Tao Ju. 2019. Variational implicit point set surfaces. ACM Trans. Graph. 38, 4 (2019).
- Jacobson et al. (2013) Alec Jacobson, Ladislav Kavan, and Olga Sorkine-Hornung. 2013. Robust inside-outside segmentation using generalized winding numbers. ACM Trans. Graph. 32, 4 (2013).
- Jakob et al. (2019) Johannes Jakob, Christoph Buchenau, and Michael Guthe. 2019. Parallel Globally Consistent Normal Orientation of Raw Unorganized Point Clouds. Computer Graphics Forum 38, 5 (2019), 163–173.
- Kazhdan et al. (2006) Michael Kazhdan, Matthew Bolitho, and Hugues Hoppe. 2006. Poisson surface reconstruction. In Proceedings of the Fourth Eurographics Symposium on Geometry Processing (SGP ’06). 61–70.
- Kazhdan and Hoppe (2013) Michael Kazhdan and Hugues Hoppe. 2013. Screened poisson surface reconstruction. ACM Trans. Graph. 32, 3 (2013).
- Khaloo and Lattanzi (2017) Ali Khaloo and David Lattanzi. 2017. Robust normal estimation and region growing segmentation of infrastructure 3D point cloud models. Advanced Engineering Informatics 34 (2017), 1–16.
- König and Gumhold (2009) Sören König and Stefan Gumhold. 2009. Consistent Propagation of Normal Orientations in Point Clouds. In 14th International Workshop on Vision, Modeling, and Visualization, VMV 2009, November 16-18, 2009, Braunschweig, Germany. 83–92.
- Leal (2007) Leslie Gary Leal. 2007. Advanced Transport Phenomena: Fluid Mechanics and Convective Transport Processes. Cambridge University Press.
- Levin (1998) David Levin. 1998. The approximation power of moving least-squares. Math. Comput. 67, 224 (1998), 1517–1531.
- Li et al. (2023a) Qing Li, Huifang Feng, Kanle Shi, Yi Fang, Yu-Shen Liu, and Zhizhong Han. 2023a. Neural Gradient Learning and Optimization for Oriented Point Normal Estimation. In SIGGRAPH Asia 2023 Conference Papers.
- Li et al. (2023b) Qing Li, Huifang Feng, Kanle Shi, Yue Gao, Yi Fang, Yu-Shen Liu, and Zhizhong Han. 2023b. NeuralGF: Unsupervised Point Normal Estimation by Learning Neural Gradient Function. In Thirty-seventh Conference on Neural Information Processing Systems (NeurIPS).
- Li et al. (2023c) Qing Li, Huifang Feng, Kanle Shi, Yue Gao, Yi Fang, Yu-Shen Liu, and Zhizhong Han. 2023c. SHS-Net: Learning Signed Hyper Surfaces for Oriented Normal Estimation of Point Clouds. In Proceedings of CVPR ’23’. 13591–13600.
- Li et al. (2023d) Shujuan Li, Junsheng Zhou, Baorui Ma, Yu-Shen Liu, and Zhizhong Han. 2023d. NeAF: Learning Neural Angle Fields for Point Normal Estimation. In Proceedings of AAAI’23.
- Lin et al. (2022) Siyou Lin, Dong Xiao, Zuoqiang Shi, and Bin Wang. 2022. Surface Reconstruction from Point Clouds without Normals by Parametrizing the Gauss Formula. ACM Trans. Graph. 42, 2 (2022).
- Lu et al. (2018) Wenjia Lu, Zuoqiang Shi, Jian Sun, and Bin Wang. 2018. Surface Reconstruction Based on the Modified Gauss Formula. ACM Trans. Graph. 38, 1 (2018).
- Lu et al. (2022) Xuequan Lu, Scott Schaefer, Jun Luo, Lizhuang Ma, and Ying He. 2022. Low Rank Matrix Approximation for 3D Geometry Filtering. IEEE Trans. Vis. Comput. Graph. 28, 4 (2022), 1835–1847.
- Mescheder et al. (2019) Lars Mescheder, Michael Oechsle, Michael Niemeyer, Sebastian Nowozin, and Andreas Geiger. 2019. Occupancy Networks: Learning 3D Reconstruction in Function Space. In Proceedings of CVPR ’19.
- Metzer et al. (2021) Gal Metzer, Rana Hanocka, Denis Zorin, Raja Giryes, Daniele Panozzo, and Daniel Cohen-Or. 2021. Orienting point clouds with dipole propagation. ACM Trans. Graph. 40, 4 (2021).
- Mitra and Nguyen (2003) Niloy J. Mitra and An Thanh Nguyen. 2003. Estimating surface normals in noisy point cloud data. In Proceedings of the 19th ACM Symposium on Computational Geometry (SCG ’03). 322–328.
- Mullen et al. (2010) Patrick Mullen, Fernando De Goes, Mathieu Desbrun, David Cohen-Steiner, and Pierre Alliez. 2010. Signing the Unsigned: Robust Surface Reconstruction from Raw Pointsets. Computer Graphics Forum 29, 5 (2010), 1733–1741.
- Orzan et al. (2008) Alexandrina Orzan, Adrien Bousseau, Holger Winnemöller, Pascal Barla, Joëlle Thollot, and David Salesin. 2008. Diffusion curves: a vector representation for smooth-shaded images. ACM Trans. Graph. 27, 3 (2008), 1–8.
- Pauly et al. (2003) Mark Pauly, Richard Keiser, Leif P. Kobbelt, and Markus Gross. 2003. Shape modeling with point-sampled geometry. In ACM SIGGRAPH 2003 Papers.
- Schertler et al. (2017) Nico Schertler, Bogdan Savchynskyy, and Stefan Gumhold. 2017. Towards Globally Optimal Normal Orientations for Large Point Clouds. Computer Graphics Forum (2017).
- Sellán and Jacobson (2022) Silvia Sellán and Alec Jacobson. 2022. Stochastic Poisson Surface Reconstruction. ACM Trans. Graph. 41, 6 (2022).
- Sellán and Jacobson (2023) Silvia Sellán and Alec Jacobson. 2023. Neural Stochastic Poisson Surface Reconstruction.
- Takayama et al. (2014) Kenshi Takayama, Alec Jacobson, Ladislav Kavan, and Olga Sorkine-Hornung. 2014. Consistently Orienting Facets in Polygon Meshes by Minimizing the Dirichlet Energy of Generalized Winding Numbers. CoRR abs/1406.5431 (2014). arXiv:1406.5431 http://arxiv.org/abs/1406.5431
- Xu et al. (2023) Rui Xu, Zhiyang Dou, Ningna Wang, Shiqing Xin, Shuangmin Chen, Mingyan Jiang, Xiaohu Guo, Wenping Wang, and Changhe Tu. 2023. Globally Consistent Normal Orientation for Point Clouds by Regularizing the Winding-Number Field. ACM Trans. Graph. 42, 4 (2023).
- Xu et al. (2022) Rui Xu, Zixiong Wang, Zhiyang Dou, Chen Zong, Shiqing Xin, Mingyan Jiang, Tao Ju, and Changhe Tu. 2022. RFEPS: Reconstructing Feature-line Equipped Polygonal Surface. ACM Trans. Graph. 41 (2022).
- Zhang et al. (2020) Dongbo Zhang, Xuequan Lu, Hong Qin, and Ying He. 2020. Pointfilter: Point cloud filtering via encoder-decoder modeling. IEEE Transactions on Visualization and Computer Graphics (2020).
- Zhu et al. (2021) Runsong Zhu, Yuan Liu, Zhen Dong, Tengping Jiang, Yuan Wang, Wenping Wang, and Bisheng Yang. 2021. AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds. arXiv preprint arXiv:2108.05836 (2021).
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x5.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x6.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x7.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x8.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x9.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x10.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x11.png)
![Refer to caption](https://cdn.statically.io/img/arxiv.org/x13.png)