Gaussian Curvature Filter on 3D Meshes
Wenming Tang, Yuanhao Gong, Kanglin Liu, Jun Liu, Wei Pan, Bozhi Liu, Guoping Qiu
11 Gaussian Curvature Filter on 3D Meshes
Wenming Tang , Yuanhao Gong , Kanglin Liu , Jun Liu , Wei Pan , Bozhi Liu , and Guoping Qiu * Abstract —Minimizing the Gaussian curvature of meshes can play a fundamental role in 3D mesh processing. However, there is a lackof computationally efficient and robust Gaussian curvature optimization method. In this paper, we present a simple yet effective methodthat can efficiently reduce Gaussian curvature for 3D meshes. We first present the mathematical foundation of our method. Then, weintroduce a simple and robust implicit Gaussian curvature optimization method named Gaussian Curvature Filter (GCF). GCF implicitlyminimizes Gaussian curvature without the need to explicitly calculate the Gaussian curvature itself. GCF is highly efficient and thismethod can be used in a large range of applications that involve Gaussian curvature. We conduct extensive experiments todemonstrate that GCF significantly outperforms state-of-the-art methods in minimizing Gaussian curvature, and geometric featurepreserving soothing on 3D meshes. GCF program is available at https://github.com/tangwenming/GCF-filter.
Index Terms —Gaussian curvature, filter, mesh smoothing, feature preserving. (cid:70)
NTRODUCTION
Among Various representations of 3D models, triangularmeshes are perhaps the most popular. Triangular meshesusually contain two parts. The first part is a set of vertices,representing 3D spatial locations of the surface. The otherpart is a set of triangular faces that indicate the connectivitybetween vertices. With the topological information of adja-cent vertices, triangular meshes can represent the geometricdetails of a surface.Automatic 3D mesh generation has made great progressin the past few years. There are several ways to generatetriangular meshes such as, interactive design from CADsoftware, 3D scanning, end-to-end generation and so on.In 3D scanning, a scanner can automatically obtain the 3Dcoordinates of the surface to produce a high-quality 3Dmesh [1]. In end-to-end methods, the 2D images are used totrain a neural network, which generates the corresponding3D mesh [2].Unfortunately, the 3D mesh obtained through thesetechnologies is often noisy. As a result, the obtained 3Dmesh cannot be directly used in practice. For this reason,smoothing methods for 3D meshes become indispensable.In the literature, various methods have been developed. • Wenming Tang and Yuanhao Gong equally contributed to this work. • Wenming Tang, Yuanhao Gong, Kanglin Liu, Jun Liu and Bozhi Liuare with the College of Information Engineering, Shenzhen University,Guangdong Key Laboratory of Intelligent Information Processing,Shenzhen Institute of Artificial Intelligence and Robotics for Society,Shenzhen, China.E-mail: [email protected], [email protected],max [email protected], [email protected], [email protected]. • Wei Pan is with the School of Mechanical & Automotive Engineering,South China University of Technology, Department of Research and De-velopment, OPT Machine Vision Tech Co., Ltd, Jinsheng Road, Chang’an,Dongguan 523860, Guangdong, China.E-mail: [email protected]. • Guoping Qiu (Corresponding author) is with the College of InformationEngineering, Shenzhen University, Guangdong Key Laboratory of Intelli-gent Information Processing, Shenzhen Institute of Artificial Intelligenceand Robotics for Society, Shenzhen, China, and also with the School ofComputer Science, University of Nottingham, Nottingham NG8 1BB,U.K.E-mail: [email protected].
Iter=0
Iter=50
Iter=100
Fig. 1. Gaussian curvature filter on the noisy Vase mesh.
These methods can be categorized into three types: opti-mization [3], [4], [5], [6], [7], [8], training [9], [10], [11],and filtering [12], [13], [14], [15], [16], [17]. Optimization-based methods for mesh smoothing need some manually setparameters, which often need to be optimized iteratively tosatisfy the assumed regularization. Jones et al. [4] proposeda method that captures the smoothness of a surface bydefining local first-order predictors. Lei and Schaefer [5]proposed an L minimization method that maximizes theflat regions of the model and removes noise while pre-serving sharp features. This method is very practical formodels with rich flat features. Such methods are generallytime consuming and sometimes do not converge for certaingiven parameter values [9]. Training-based methods needto provide sufficient training data by learning the mappingrelationship between the noisy model and the ground truthmodel. The trained network can achieve model denoisingand feature preservation similar to the noise distributionof the training model. However, the disadvantage of thetraining-based approach is that it is difficult to find suf-ficient models to train the network parameters, to havegood generalization capabilities for different meshes anddifferent noise levels. Filter-based methods are implemented a r X i v : . [ c s . G R ] J a n based on mutual constraints between vertex normals andface normals. Zheng et al. [13] treated the vertex positionupdate as a quadratic optimization problem based on thetwo normal fields. Sun et al. [12] proposed a two stagesdenoising method. The first is model patch normal filtering:the weighted average of the neighboring face normals ofeach face is used, and then the vertices are updated accord-ing to the filtered face normals. Those methods use global orlocal statistics, and may also rely on several manually set pa-rameters. Setting different parameters is conducive to betterfiltering a specific model, but it also brings inconvenience touse.Curvature is an important geometric feature of surfaces.It is often used as an important tool for surface analysis andprocessing. The literature has reported that using curvaturefeatures on 3D mesh surfaces can achieve good results insurface fairing [18]. They designed a diffusion equationwhose diffusion direction depends on the mean curvaturenormal, and its magnitude is a defined function of Gaussiancurvature. Michael et al. [19] proposed a 3D geometryprocessing framework to achieve 3D mesh filtering andediting by utilizing the curvature distribution of the surface.Gaussian curvature is a specific type of curvature. It is anintrinsic measurement of surfaces. It has been applied toimages and 3D meshes [20], [21], [22].A 3D mesh that contains noise has higher Gaussiancurvature in absolute value than its corresponding noise-free model. Therefore, reducing the curvature energy cansmooth or denoise the meshes [21], [23]. Based on thisobservation, we can formulate the problem of noise removalon 3D mesh as that of reducing the Gaussian curvature.However, minimizing Gaussian curvature is challeng-ing. It is traditionally carried out by Gaussian curvatureflow [18]. This method requires the explicit computation ofGaussian curvature. Although Gabriel Taubin [24] proposeda method of explicitly estimating the Gaussian curvature onclosed manifold meshes, in order to optimize the Gaussiancurvature of a model, it is not the best choice to explicitlycalculate the Gaussian curvature of each vertex. Anotherproblem with Gaussian curvature flow is that the time stephas to be small to ensure numerical stability [18]. As a result,such geometric flow is time consuming. These two issueshamper the application of Gaussian curvature on meshes.In order to solve the above-mentioned problems in 3Dmesh processing, we propose a simple, easy to implement,and robust filter that can efficiently minimize Gaussiancurvature. Our method can effectively remove noise andpreserve geometric features as illustrated in Fig. 1. Differentfrom most existing methods that have many free param-eters, our method has only one. The contributions of thispaper are as follows: • We propose a simple and robust implicit Gaussiancurvature optimization method, which we call Gaus-sian Curvature Filter(GCF). GCF does not need toexplicitly calculate the Gaussian curvature. • We developed a Gaussian curvature optimizationalgorithm using a 1-ring neighborhood to preservethe model’s original geometric features and simulta-neously optimize the Gaussian curvature. • Our algorithm has only one parameter - the num- ber of iterations. Our method is more robust thanexisting methods and outperforms state-of-the-artqualitatively and quantitatively.
Before presenting our method that minimizes Gaussiancurvature energy and preserves the geometric features, wemainly discuss the related work from three aspects: theGaussian curvature in image processing, Gaussian curva-ture in mesh processing, and finally, mesh smoothing capa-bility and feature preservation property.
Researchers have made great progress in image smoothingusing the geometric properties of Gaussian curvature in pastdecades. Lee et al. [22] design a Gaussian curvature-drivendiffusion equation for image noise removal. This methodcan maintain the boundary and some details better thanthe mean curvature. Jidesh et al. [25] proposed Gaussiancurvature to guide image smoothing of fourth-order partialdifferential equations (PDE). It works for image smoothingand maintains curved edges, slopes, and corners.The calculation formula of Gaussian curvature is gener-ally complicated and has some numerical issues. To over-come these issues, researchers found simple filters to opti-mize Gaussian curvature. Gong et al. [26] proposed a locallyweighted Gaussian curvature as a regularized variationalmodel and designed a closed-form solution. It has achievedexcellent results in image smoothing, smoothing, texture de-composition and image sharpening. They further proposedan optimization method for regularizers based on Gaussiancurvature, mean curvature and total variation [21]. Thesepixel local filters can be used to efficiently reduce the energyof the entire model, thus significantly reduce computationalcomplexity because there is no need to explicitly calculateGaussian curvature itself.
In 3D geometry, researchers have found some approxima-tion methods to calculate Gaussian curvature for discretemeshes [27], [28]. Michael et al. [19] proposed a frameworkfor 3D geometry processing that provides direct access tosurface curvature to facilitate advanced shape editing, fil-tering, and synthesis algorithms. This algorithm frameworkis widely used in geometric processing, including smooth-ing, feature enhancement, and multi-scale curvature editing.There have been some works [29], [30], [31], [32] about theapplication of Gaussian curvature in fied of developable 3Dmeshes. For example, Oded et al. [29] used a variational ap-proach that drives a given mesh toward developable piecesseparated by regular seam curves. The partial developabilityof a mesh makes the mesh convenient for industrial manu-facturing. Similarly, the real-time nature of the algorithmneeds to be greatly improved. There has been several worksbased on curvature flow [18], [33], [34] in the field of 3Dmesh optimization. For example, Zhao et al. [18] appliedGaussian curvature flow to mesh fairing. They designed adiffusion equation whose evolution direction relies on thenormal and the step size is a manually defined function of Gaussian curvature. The corner and edge features of themesh are preserved during fairing. However, the Gaussiancurvature of each vertex is explicitly calculated, and thecomputation complexity is too high.In Gaussian curvature optimization methods, the Gaus-sian curvature flow is the most classical one. The Gaussiancurvature flow method relies on high-precision Gaussiancurvature calculations. It also requires the time step size tobe small for ensuring numerical stability. If the step size isset too large, the algorithm may be unstable. If the step sizeis too small, the convergence speed is slow [18]. How to seta reasonable step size is an open problem.
There are many types of 3D mesh smoothing and fea-ture preservation methods. Here, we mainly discuss theoptimization-based and filter-based state-of-the-art meth-ods.Optimization-based methods achieve global optimiza-tion constrained by the priors of the ground truth geometryand noise distribution. He et al. [5] proposed a L minimiza-tion based method that achieves smoothing by maximizingthe plane area of the model. In a model with rich planarfeatures, this method can preserve some sharp geometricfeatures during the smoothing. Wang et al. [6] implementsmoothing and feature preservation in two steps. First, theglobal Laplace optimization algorithm is used to denoise,and then an L1-analysis compressed sensing optimization isused to recover sharp features.Filter-based methods are commonly implemented bymoving the vertex position along the vertex or face normal.In [14], [15], [16], researchers perform the smoothing andfeature preservation by moving the vertex position of themodel. The vertex is moved along the normal direction.And the moving step size is an empirical parameter. Lu etal. [16] constructs geometric edges by extracting geometricfeatures of the input model, and iteratively optimizes vertexpositions for smoothing and feature preservation by guidingthe geometric edges. In [8], [15], [16], [17], [35], iterativeoptimization of the face normal is used as a guide forsmoothing and feature preservation. Li et al. [17] presenta non-local low-rank normal filtering method. Smoothingand feature preservation of synthetic and real scan modelsare achieved by guided normal patch covariance and low-rank matrix approximation.Most of existing smoothing and feature preservationalgorithms have the following problems: 1) Excessive de-pendence on the a priori assumptions ( for example, edgeand corner features), thus resulting in many parametersto be manually set; 2) It is difficult to find the optimalparameters; 3) Based on the method of face normal filtering,the original feature is easily damaged while smoothingtexture-rich models. AUSSIAN C URVATURE F ILTER ON M ESH
In this section, we show a simple iterative filter that can ef-ficiently reduce Gaussian curvature for meshes. Meanwhile,our method preserves geometric features of the input meshduring the optimization process. We show a mathematicaltheory behind this filter, which guarantees to reduce Gaus-sian curvature.
In many applications, reducing Gaussian curvature is usu-ally imposed by following variational model ( see [23], page131, formula 6.2): arg min { v (cid:48) i } N (cid:88) i =1 [ 12 ( v i − v (cid:48) i ) + λ | K ( v (cid:48) i ) | ] , (1)where { v i } are the input vertices N is the number ofvertices, v (cid:48) i is the desired output, K ( v (cid:48) i ) is the Gaussiancurvature at v (cid:48) i and λ > is a scalar parameter thatusually is related to noise level. The first quadratic termmeasures the similarity between the input and the output.The second term measures the Gaussian curvature energy ofthe output mesh. The main challenge in this model is how toefficiently minimize the Gaussian curvature. The definitionfor a “discrete Gaussian curvature” on a triangle mesh is viaa vertex’s angular deficit [36]: K ( v (cid:48) i ) = (2 π − (cid:88) j ∈ N ( i ) θ ij ) /A N ( i ) , (2)where N ( i ) are the triangles incident on vertex i and θ ij isthe angle at vertex i in triangle j , A N ( i ) is the sum of areasof the N ( i ) triangles [36].According to [37] theorem . , the Gaussian curvatureenergy (GCE) is defined as E GC ( v (cid:48) i ) = N (cid:88) i =1 | K ( v (cid:48) i ) | . (3)This energy measures the developability of the mesh { v (cid:48) i } .Different from the Eq. 1, this energy does not consider thesimilarity between the output { v (cid:48) i } and input { v i } . There-fore, only minimizing Gaussian curvature energy does notpreserve the geometric features of the input mesh duringthe optimization. We will discuss how to minimize Gaussiancurvature and preserve geometric features in our method.When E GC = 0 , it is clear that K = 0 everywhere on thesurface. Such surface is called a developable surface, whichcan be mapped to a plane without any distortion. Thatis why it is called “developable”. Reducing the Gaussiancurvature on the surface is trying to make the surface de-velopable. Developable surfaces can be easily manufacturedand produced in industry [29]. This is one reason that mini-mizing Gaussian curvature is an important topic. Althoughwe know that developable surfaces are very useful, this isnot the focus of this paper. This paper is not to obtain adevelopable surface, but to design an implicit optimizationof the Gaussian curvature to achieve smoothing and featurepreservation of the model. For any developable surface S (Gaussian curvature is zeroeverywhere on the surface), we denote T S as its tangentspace. We have following theorem:
Theorem 1. ∀ (cid:126)x ∈ S , ∀ (cid:15) > , ∃ (cid:126)x ∈ S , < | (cid:126)x − (cid:126)x | < (cid:15) , s.t. (cid:126)x ∈ T S ( (cid:126)x ) .Proof. Let (cid:126)x = (cid:126)r ( u, v ) ∈ S , where (cid:126)r = ( x, y, z ) ∈ R ,and ( u, v ) is the parametric coordinate. Since S is devel-opable, (cid:126)r ( u, v ) can be represented as (cid:126)r ( u, v ) = (cid:126)r A ( u ) + (a) Cylindrical surface (b) Conical surface (c) Tangent surface Fig. 2. Theorem 1 on three types of developable surfaces. v(cid:126)r B ( u ) [38], where (cid:126)r A ( u ) is the directrix and (cid:126)r B ( u ) is aunit vector. Let (cid:126)x = (cid:126)r ( u, v ) ∈ S , where v = v + (cid:15) and (cid:15) (cid:54) = 0 , then (cid:126)x = (cid:126)r A ( u ) + ( v + (cid:15) ) (cid:126)r B ( u ) . For two arbitraryscalars α and α , the tangent plane at (cid:126)x is T S ( (cid:126)x ) = (cid:126)r + α d (cid:126)r d u + α d (cid:126)r d v = (cid:126)r + α d (cid:126)r d u + α (cid:126)r B ( u ) . (4)Because of Eq. 4, (cid:126)x is on the plane that passes (cid:126)x andis spanned by the two vectors d (cid:126)r d u and (cid:126)r B . Therefore, (cid:126)r ∈ T S ( (cid:126)x ) .This theorem indicates that for any point (cid:126)x on a devel-opable surface there must be another neighbor point (cid:126)x thatlives on its tangent plane. This conclusion is the theoreticalfoundation for our method.This theorem can be verified on developable surfaces. Inmathematics, it is already known that there are only threetypes of developable surface: cylinder, cone and tangentdevelopable. As shown in Fig. 2, for any point (cid:126)x (red point)on such surface, there is another point (cid:126)x (blue point) thatlives on its tangent plane (green triangle ).This theorem can also be explained from another pointof view. In differential geometry, Gaussian curvature of avertex on a surface is the product of the principal curvature κ and κ at the vertex. That is K = κ κ . In literature[23] chapter . . , it has been proved that minimizing aprincipal curvature in the Gaussian curvature of a vertexis to minimize the Gaussian curvature of the vertex for the2D discrete images. More specifically, we have followingrelationship: κ κ = 0 ⇐⇒ min {| κ | , | κ |} = 0 . (5)This result is stronger than Theorem 1 because it tells where (cid:126)x should be. Theorem 1 and Formula 5 can tell us thatGaussian curvature can be minimized without calculatingprincipal curvature.Although this theory is for continuous surfaces, it isstill valid for discrete triangular meshes. And all numericalexperiments in this paper have confirmed its validity. Theonly issue on the meshes is that (cid:126)x is not necessarily a vertexon the mesh (even not on the mesh). However, we can useone of the 1-ring neighboring vertexes to approximate (cid:126)x .Such approximation works well for practical applications asconfirmed in this paper. The procedure to find this vertexwill be explained in Section 3.4.3.In this paper, we adopt Theorem 1 and apply it on meshprocessing. According to Theorem 1, we can reduce theGauss curvature of the vertex by moving its position such (a) (b) Fig. 3. The 1-ring neighborhood and the domain decomposition resulton the Stanford bunny mesh. (a) is the basic structure of the 1-ringtopology neighborhood. (b) is the result of the domain decompositionalgorithm on the Stanford bunny. that one of its neighbors falls on its tangent plane. If theGaussian curvature at the vertex is zero, then the movingdistance is zero because one of its neighbors already lives onits tangent plane, see Fig. 8. Otherwise, the absolute value ofGaussian curvature is high before the movement. After themovement, the processed vertex is closer to a developablesurface. Therefore, the Gaussian curvature is reduced.
Based on Theorem 1, there is always a neighbor point (cid:126)x thatlives on the tangent plane of (cid:126)x for any point (cid:126)x on a devel-opable surface. However, on the discrete mesh, this point (cid:126)x is not necessarily a vertex in real applications. To overcomethis issue, we take all the 1-ring topology neighborhoodvertices as possible candidates and finally adopt only oneas an approximation to (cid:126)x . Although such approximationintroduces some numerical error, it simplifies the way tofind (cid:126)x on triangular meshes. Our numerical experimentsconfirm that such approximation works well on triangularmeshes in practical applications, see Fig. 6 and 10. Our method can be roughly divided into two stages. Thefirst part is to classify all the vertices of a mesh accordingto their neighborhood relationship, so as to ensure that acertain vertex is moved in the local area and its neighbor-hood is fixed. In this paper, we call it the Greedy DomainDecomposition Algorithm, or GDD for short. The secondpart is the vertex update algorithm. The vertex updateis performed according to the normal direction and theminimum absolute distance.
A 1-ring neighborhood of a triangular mesh is usually com-posed of the similar structure as Fig. 3 ( a ) . The local shapestructure consists of a vertex v i and its neighborhood vertexset P i = { v j , ..., v j } . Vertex and neighborhood vertices areconnected by edges.Implementation of this algorithm is described in Algo-rithm 1 , where V = { v , v , ..., v n } is the set of all verticesof a mesh, P = { P , P , ..., P n } is the set of neighborhoodpoints of each vertex, and D = { D , D , ..., D n } is the colorlabel of each vertex after greedy domain decomposition(Algorithm 1). Algorithm 1:
GREEDY DOMAIN DECOMPOSI-TION
Input:
Vertices V= { v , v , ..., v n } , Neighbor listP= { P , P , ..., P n } Initialization each vertex color C i = 0 , i = 1 , · · · , n ; for each v i ∈ V do Through the greedy algorithm, until the color ofthe vertex v i is different from the vertex set ofits neighborhood P i , the maximum value k ofthe color C i obtained is the number of domainsets D k , and each domain set only containsvertices of the same color. endOutput: vertex domain set { D , D , ..., D k } where all vertices in D i have the same color label.The advantages of greedy domain decomposition formesh vertices are as follows: First, it can ensure that thevertex moves while the neighboring vertices do not move.Second, all vertices are divided into several independentsets. Therefore, each set can move independently. Thismechanism can speed up the convergence of our algorithm,as shown in Fig. 9. This is another reason why our algorithmis faster than the Gaussian curvature flow [18] (see table 1).We only give the numerical convergence rate in the experi-ment. Here we define the average convergence slope ( ACS )as:
ACS = 1 M ∗ ( N − M (cid:88) j =1 N − (cid:88) t =2 lg ( ||E GC j ( t +1) −E GC j ( t ) || ∞ ||E GC j ( t ) −E GC j ( t − || ∞ ) lg ( t + 1) − log ( t ) . (6)where, M represents the number of meshes, and N repre-sents the number of iterations of each mesh. E GC is Gaussiancurvature energy. The result of the greedy domain decom-position of a triangle mesh by Algorithm 1 is shown in Fig.3 ( b ) . We can see that each vertex color is different from thecolor of its neighborhood vertices, and all the vertices of thebunny are independently divided into several sets. The differential coordinate of the i-th vertex v i =( x i , y i , z i ) ∈ V = { v , v , ..., v n } is the difference betweenthe absolute coordinates of v i and the center of mass ofits immediate neighbors P i = { v j , v j , ..., v j m } in themesh [39], i.e. (cid:126)δ v i = ( δ x i , δ y i , δ z i ) = v i − m (cid:88) v j ∈ P ( v i ) v j . (7)In differential geometry, the direction of the differentialcoordinate vector (cid:126)δ v i approximates the normal direction ofthe local area [40]. Following these works, we use the (cid:126)δ unit vector Eq. 8 (reverse normal direction) as the movingdirection. (cid:126)δ = − (cid:126)δ v i (cid:107) (cid:126)δ v i (cid:107) . (8) After the greedy domain decomposition, we update eachindependent vertex set separately. During each iteration, we (a) one normal projection (b) multi normal projection(c) vertex update
Fig. 4. Projection strategy and the vertex update. (a) And (b) are oneand multi normal projection strategy. (c) shows the vertex movementdirection and amplitude. have to find the moving direction of the vertex and also thecorresponding moving distance. We propose a multi normalprojection strategy for computing the moving distance, Asshown in Fig. 4. we optimize the Gaussian curvature of v i by moving the vertex v i . So we need to calculate themagnitude of the movement of the vertex v i . It is shown inFig. 4 ( a ) that multiple edges {−→ v i v j , −→ v i v j ..., −→ v i v j } composedby vertex v i and neighborhood vertices { v j , v j ... v j } areprojected to the vertex v i unit normal vector (cid:126)n v i to calculatethe distance set d= { d , d , ..., d } .As shown in Fig. 4 ( b ) , we compute the normal (cid:126)n vi (Eq.9) [41] of the vertex v i and then the normal of eachneighborhood vertices. (cid:126)n v i = (cid:88) j ∈ F v ( i ) A j (cid:126)n F j , (9)where A j is the corresponding face area and (cid:126)n F j is the num-ber of the j th face normal. F v ( i ) is the number of faces inthe i th vertex-ring. It should be noted that the neighborhoodvertex normal is the cross-product unit vector of the twoedges of the neighborhood vertices. More specifically, the (cid:126)n j k unit vector in Fig. 4 ( b ) is given by (Eq.10) (cid:126)n j k = −−→ v j k v j ( k − × −−→ v j k v j ( k +1) (cid:107)−−→ v j k v j ( k − × −−→ v j k v j ( k +1) (cid:107) . (10)We calculate the projection distance of the unit vector set { (cid:126)n v i , (cid:126)n j , ..., (cid:126)n j } from the vertex of the 1-ring neighborhoodstructure. Then each edge {−→ v i v j , −→ v i v j , ..., −→ v i v j } has aprojection to each unit vector { (cid:126)n v i , (cid:126)n j , ..., (cid:126)n j } . As a result,we have all possible projection distances { d , d , ..., d n } (in this example n = 5 × ). We choose the smallestabsolute value in this set | d | as the moving amplitude ofvertex v i . In summary, the minimal moving vertex distance for v i i ∈ { , ..., n } is computed d = min k { (cid:12)(cid:12)(cid:12) < { (cid:126)N } , −→ v i v j k > (cid:12)(cid:12)(cid:12) } , { (cid:126)N } = { (cid:126)n v i , (cid:126)n j , ..., (cid:126)n j m } (11)where <, > is the standard inner product, k = 1 , ..., m ; .Such minimal distance corresponds to a neighboring vertex v j k . And this vertex is selected as an approximation to (cid:126)x asdescribed in Theorem 1. d PlaneEdge Corner d Fig. 5. Multi normal projection strategy distance.
Utilizing the multi normal projection strategy as shownin Figure 4 ( b ) ensures that geometric features are preservedwhen optimizing the Gaussian curvature. This property isimportant for the vertices at the corner, edge, and planegeometry, as shown in Fig. 5. Since the vertices are containedin the above geometrical features, the minimum absolutevalue projection distance obtained by the projection strategyof Fig. 4 ( b ) is | d | = 0 . ∃ (cid:126)n ∈ { (cid:126)N } , (cid:126)n ⊥ −→ v i v jk ⇒ ∃ k, < { (cid:126)N } , −→ v i v jk > = 0 . (12)Therefore, the vertex moving distance 0 and the spatial posi-tion is preserved. This kind of projection strategy makes ouralgorithm have strong smoothing and feature preservationcapability for different noise levels. Not surprisingly, theperformance of feature preservation in the noise-free modelis still robust, as shown in Fig. 6 (Vase). Through the above computation, we obtain the minimumprojection distance of the vertex v i , see Fig. 4 ( c ) . algo-rithm 2: The vertex update then is given by v (cid:48) = v + | d | · (cid:126)δ . (13)It is worth noting that our algorithm is fundamentally dif-ferent from the existing Laplace method. The comparativeexperimental results are shown in Fig. 8. XPERIMENTS
In this section, we perform several experiments to showtwo properties of our method: minimizing the Gaussiancurvature and smoothing with feature preservation. In theaspect of Gaussian curvature optimization, we choose [18]and [29] for comparative experiments. In the aspect ofgeometric feature preserving noise removal, there are manymethods, including optimization based methods [4] and[5], and filter based methods [3], [12], [13], [15], and [17].We compare our approach with these methods with respectto these two aspects.
Algorithm 2:
GAUSSIAN CURVATURE FILTERON MESH
Input:
Vertex set V= { v , v , ..., v n } , Vertex normalset N= { (cid:126)n , (cid:126)n , ..., (cid:126)n n } , Neighbor ListP= { P , P , ..., P n } , DomainsD= { D , D , ..., D k } , IterationNumber for i = 0 → IterationN umber − dofor j = 0 → k − do //each vertex in the same domain for t = 0 → D k [ j ] .size () − do index = D k [ j ][ t ] ; current = V [ index ] ; if current on boundary then v (cid:48) [ index ] = v [ index ] ; else Compute (cid:126)δ by Eq. ;Compute P rojN by Eq. ;put N [ index ] into P rojN ;//find the min projection distance;
M IN = + ∞ ; for p = 0 → P [ index ] .size () − dofor r = 0 → P rojN.size () − do P rojectDistance = abs (( P [ index ][ p ] − current ) ∗ P rojN [ r ]) ; if P rojectDistance < M IN then
M IN = P rojectDistance ; endendend // vertex update; v (cid:48) [ index ] = v [ index ] + (cid:126)δ ∗ M IN ; endendendendOutput: Vertices V’= { v (cid:48) , v (cid:48) , ..., v (cid:48) n } To show the property of minimizing Gaussian curvature,we compare our method with two approaches. The first oneis the classical Gaussian curvature flow method [18]. Wecompare them by processing two commonly used but rep-resentative meshes Max Planck head and Vase. Moreover,we also show the performance of both methods on thesemeshes when adding some random noise.We further compare our method with a recent approachfrom SIGGRAPH 2018 by Stein et. al [29]. We compare bothmethods on noise-free and noisy meshes respectively. Wewill discuss the results in later sections.We chose Gaussian curvature energy (GCE, see for-mula 3), mean square angle error (MSAE), the maxi-mum and average distance from vertex to vertex ( D max , D mean ) [15], and the Gaussian curvature distribution curveKullback-Leibler divergence KLD for quantitative evalu-ation with other comparison methods. The definition of MSAE comes from previous work [42], [43], [44] :
M SAE = E [ ∠ ( n p , n o )] . (14)Where E is the expectation operator and ∠ ( n p , n o ) is theangle between the processed normal n p and the originalnormal n o . In [18], the algorithm has five parameters to be manuallyadjusted, k , ρ , β , (cid:15) , α . For the specific meaning of eachparameter, see Eq. 2 in [18]. According to the author’ssuggestion, we set β = 2 , (cid:15) = 0 . , and α = 0 . . Seetable 1 for detailed parameters. It is important to note thatthis parameter has to set to different values for differentmodels, or different noise levels of the same model. Theauthor also mentioned the importance of an implicit stepsize algorithm.However, our algorithm only has one parameter, i.e., theiteration number. How to choose the number of iterations,the number of GCF iterations only depends on the noiselevel of the model. The higher the noise level, the moreiterations are required. In Fig. 6, we use two meshes, Max Planck head and Vase.We perform the Gaussian curvature flow [18] and GCF onthese meshes, respectively.Visually, on the noise-free model: the result of [18] is notmuch different from ours in the color of Gaussian curvature.But in detail, for the noise-free model, we can see that on thevase model, the feature preservation of our result is moreobvious. On the noisy model: Our algorithm is not onlymore prominent in feature preservation, but also smootherin local details.Quantitatively, our algorithm can achieve the sameGaussian curvature energy as [18], but lower than [18] onMSAE, which also proves that our algorithm is not onlyminimizing Gaussian curvature energy, but also preservingground truth features. Our algorithm has distinguishingadvantage in time consumption. In Table 1, we can see thatwithout adding our GDD in [18], we are almost 20 timesfaster. After adding our GDD to [18], our algorithm isalso nearly 3 times faster (the experiment is on the samecomputer: Intel Xeon 4 cores, 3.7Ghz, 96GB RAM).The weakness of [18] is that the temporal directiondiscretization currently used is explicit, the inherent prob-lem with this approach is that explicit methods behavepoorly if the system is stiff, and in order to converge tothe correct solution it is necessary to use small time steps.So there are too many parameters, and different modelsare sensitive to the size of the parameter values. In Fig. 6,combining quantitative and visual results, we can drawthe following conclusions: Firstly, we can obtain the sameGaussian curvature energy value as [18], which proves thatwe can achieve the effect of explicit calculation optimizationthrough implicit optimization. Secondly, there is no needto explicitly perform the calculation of Gaussian curvatureand the addition of GDD, which makes our algorithm gain aclear advantage in time-consuming. Thirdly, our algorithmcan simulteneously smooth the mesh and preserve its fea-tures. We further compare our method with the developedmethod [29]. The results are shown in Fig. 7. In thiscomparative experiment, we do not make a developablecomparison with it, because our work is not focused ondeveloping. We run [29] according to the model and defaultparameters given by the author until convergence. We runour algorithm to roughly the same result (GCE, MSAE), andthen compare D max , D mean and time-consuming betweenthe processed model and the ground truth model.Method [29] gathers Gaussian curvature to regular seamcurves by defining different energies, and through continu-ous iterative optimization to achieve piecewise developablesurfaces. Our method does not introduce developable en-ergy constraints, so there is no regular seam curves. But to acertain extent, optimization of Gaussian curvature energycan be compared. From Fig. 7 and Table 2, we can seethat our algorithm can achieve the same effect as [29] inoptimizing Gaussian curvature, and it takes less time. To evaluate GCF performs in smoothing and featurepreservation, we choose seven representative state-of-the-art methods for comparison.
From the previous multiple sets of experiments, our al-gorithm roughly changed after 40-50 iterations. For somemodels, in order to better balance smoothing and featurepreservation, 40 iterations are generally selected. For largenoise, the number of iterations can be increased according tothe noise level. Both the filter based methods and the opti-mization based methods use their default parameters(exceptfor the Bunny). The detailed parameters are listed in Table 3.The meanings of the specific parameters can be found in therespective papers.
In the experiments, we have selected four representativemodels with rich features: armadillo, bunny, Max Planck,and vaselion. In the armadillo model of Fig. 10 row 1,this represents a type of mesh with more vertices andfaces, features, and a complete shape. The face normalfiltering methods are mostly two-step filtering algorithms,such as [12], [13], [15], those algorithms first filter the facesnormal, and then updates the vertices. Such methods relyheavily on the threshold of the first step, and is suitablefor models with rich planar features. For models withrich geometric features, it is easy to over smoothing. Wereduce the Gaussian curvature energy of the overall modelby minimizing the Gaussian curvature absolute value ofeach vertex. Our model’s Gaussian curvature energy valueis closest to the ground truth model. In the comparisonmethod, our MSAE value is the smallest, which also showsthat our algorithm preserves the features the best in thesmoothing process (see Table 3). As shown in Fig. 10, ourresults are the best in terms of both overall shape and localdetail.Figures 10 row 2 demonstrates that our method alsoworks in models with few vertices and faces but rich fea-tures with high noise level ( σ n = 0 . e l ) . In Fig. 10 row Input GC Flow Ours Input GC Flow Ours (a1) Max Planck (noise-free) (b1) Vase (noise-free)
Gaussian Curvature Energy
I t e r a t i o n s
G C F l o w
O u r s
MSAE
I t e r a t i o n s
G C F l o w
O u r s (a2) Max Planck GCE (a3) Max Planck MSAE
Gaussian Curvature Energy
I t e r a t i o n s
G C F l o w
O u r s
MSAE
I t e r a t i o n s
G C F l o w
O u r s (b2) Vase GCE (b3) Vase MSAE
Input GC Flow Ours (c1) Max Planck (noise level σ n = 0 . e l ) Input GC Flow Ours (d1) Vase (noise level σ n = 0 . e l ) Gaussian Curvature Energy
I t e r a t i o n s
G C F l o w
O u r s
MSAE
I t e r a t i o n s
G C F l o w
O u r s (c2) Max Planck GCE (c3) Max Planck MSAE
Gaussian Curvature Energy
I t e r a t i o n s
G C F l o w
O u r s
MSAE
I t e r a t i o n s
G C F l o w
O u r s (d2) Vase GCE (d3) Vase MSAE
Fig. 6. Minimizing Gaussian curvature on noise-free meshes (top row) and noisy meshes (bottom row). In each panel, from left to right: the original,Gaussian curvature flow method, our method. GC is an abbreviation for Gaussian curvature.
Input [29] Ours Input [29] Ours(a) Bunny(noise free) (b) Bunny( σ n = 0 . e l ) Fig. 7. Comparison between [29] and our algorithm. Left: noise free case. Right: noisy case. The algorithm [29] converges to the comparativeexperimental results in the case of GCE and MSAE which are the same as GCF. The experimental results of [29] use the default bunny parametersprovided by the author’s open source. The final running time of the two algorithms is shown in Table 2.
Min
Max0 D Input [45] [20] [46] Ours
Cone
M SAE :5 .
50 9 .
45 12 .
92 1 . . . D mean : .
34 29 .
13 1 .
93 0 . . . D max : .
34 52 .
31 7 .
41 3 . . . Cylinder
M SAE :2 .
90 4 .
18 5 .
32 0 . . . D mean : .
89 74 .
20 1 .
69 0 . . . D max : .
99 160 .
56 5 .
57 0 . . . Fig. 8. Comparison between our algorithm and three common Laplacian smoothing algorithms on the model of cone and cylinder. The number ofiterations of our method is 40, and the others default to 10. TABLE 1Running time( in debug mode) comparison between the standard Gaussian curvature flow method and our method on the Max Planck ( | V | : 5272, | F | : 1054) and Vase ( | V | : 3827, | F | : 7650). Models Methods Parameters Time( s ):W/O GDDMax Planck(noise-free) [18]Ours ( , . , , . , . )( ) . / . . . . / . Vase(noise-free) [18]Ours ( , . , , . , . )( ) . / . . . . / . Max Planck( σ n = 0 . e l ) [18]Ours ( , . , , . , . )( ) . / . . . . / . Vase( σ n = 0 . e l ) [18]Ours ( , . , , . , . )( ) . / . . . . / . TABLE 2Quantitative comparison of [29] on the bunny ( | V | : 3301, | F | : 6598). The running time( in debug mode) is measured in seconds. Models Methods MSAE GCE D mean : D max : Time(s)Bunny(noise-free) [29]Ours . .
65 71 . .
83 8 . × − . × − . × − . × − . × − . × − . × − . × − . . . . Bunny( σ n = 0 . e l ) [29]Ours . .
79 100 . .
00 1 . × − . × − . × − . × − . × − . × − . × − . × − . . . . TABLE 3Quantitative comparison of noise removal and feature preservation performances with other state-of-the-art methods.
Models Methods Parameters MSAE GCE KLD D mean D max Armadillo σ n = 0 . e l (Figure 10 row 1) | V | : 43243 | F | : 86482 NoisyGround truth[3][4][12][13][5][15][17]Ours ( − )( − )(10)(1 , . , , , . × − , , . × − , . × − , . × − , . × , . , . × − , . × − )(2 , , . , , , . × − , . × − , , ( ) . . . . . . . . . . . .
72 13282 . . . . . . . . . . . .
57 0 . . . . . . . . . . . .
08 1 . × − . . × − . × − . × − . × − . × − . × − . × − . × − . × − . × − . × − . . × − . × − . × − . × − . × − . × − . × − . × − . × − . × − Bunny σ n = 0 . e l (Figure 10 row 2) | V | : 3301 | F | : 6598 NoisyGround truth[3][4][12][13][5][15][17]Ours ( − )( − )(30)(1 , . , , , . × − , , . × − , . × − , . × − , . × , . , . × − , . × − )(2 , , . , , , . × − , . × − , , ( ) . . . . . . . . . . . .
93 1733 . . . . . . . . . . . .
37 1 . . . . . . . . . . . .
07 1 . × − . . × − . × − . × − . × − . × − . × − . × − . × − . × − . × − . × − . . × − . × − . × − . × − . × − . × − . × − . × − . × − . × − Max Planck σ n = 0 . e l (Figure 10 row 3) | V | : 5272 | F | : 10540 NoisyGround truth[3][4][12][13][5][15][17]Ours ( − )( − )(10)(1 , . , , , . × − , , . × − , . × − , . × − , . × , . , . × − , . , , . , , , . × − , . × − , , ( ) . . . . . . . . . . . .
60 455 . . . . . . . . . . . .
10 0 . . . . . . . . . . . .
07 5 . × − . . × − . × − . . × − . × − . × − . × − . . × − .
19 2 . . . . . . . . . . . . Vaselion σ n = 0 . e l (Figure 10 row 4) | V | : 38728 | F | : 77452 NoisyGround truth[3][4][12][13][5][15][17]Ours ( − )( − )(10)(1 , . , , , . × − , , . × − , . × − , . × − , . × , . , . × − , . × − )(2 , , . , , , . × − , . × − , , ( ) . . . NaN . . . . . . . .
72 12933 . . . . . . . . . . . .
82 0 . . . . . . . . . . . .
02 1 . × − . . × − NaN . × − . × − . × − . × − . × − . × − . × − . × − . × − . . × − . × − . × − . × − . × − . × − . × − . × − . × − . × −
2, we can see that for the method of [15], handling low-resolution mesh models can result in local regions usinglarger neighborhood filtering normals and calculating nor-mals on larger patches, which can result in over smoothing.Figure 10 demonstrates the robustness of GCF at differentnoise levels and vertex numbers.The quantitative comparison results are shown in Ta-ble 3. In Fig. 13, we draw the Gaussian curvature prob-ability distributions of the models which can help betterexplain why our scheme achieves such a good effect. Awider Gaussian curvature probability distribution indicatesa higher level of noise. As can be seen from the armadillo inFig. 13, for the noisy model, the Gaussian curvature energyis the largest, so the curve is the widest. For the groundtruth model, the Gaussian curvature energy is concentratednear 0, and the distribution curve is relatively narrow. Our method’s distribution curve is closest to the groundtruth distribution amongst all compared methods. The KLDvalues of our method in Table 3 is the smallest, indicatingthat the Gaussian curvature probability distribution of ourmethod is the closest to the ground truth distribution. TheMSAE values of our method are the smallest, indicatingthat the output of our method can preserve the model’sgeometric feature the best. It is also interesting to observethat the GCE values of our method’s outputs are also thelowest.We also compared to our previous work [44] on smooth-ing and feature preservation. As shown in the Fig. 11, Gaus-sian curvature filtering achieves better results on differentnoise level models. Normalized GCE i t e r a t i o n s
1 2 3 4 5 6 7 8 (a) GCF without GDD (
ACS : − . ) Normalized GCE i t e r a t i o n s
1 2 3 4 5 6 7 8 (b) GCF with GDD (
ACS : − . − . − . ) Fig. 9. The influence of GDD on the convergence of GCF. We randomlyselected 8 different meshes, GCF with GDD and without GDD for 100iterations respectively. For comparison, we normalize GCE( Divided bythe largest Gaussian curvature energy value). The smaller the averageconvergence slope ACS 6, the better.
We have seen that our method achieves state-of-the-arteffect on synthesized CAD meshes. We have applied the al-gorithm to process real 3D models. We use two real scannedmeshes which contain unknown noise in the experimentsand results are shown in Fig. 12. Since these two realscanned meshes do not have a ground truth model, theyare not shown here as shown in Table 3, but only showqualitative smoothing results.
Our algorithm can be implemented by GPU parallel com-puting, which is especially practical for super large meshesthat need to be optimized. Select the fastest algorithm [12]in the comparison method of this paper and compare ouralgorithm on two super large meshes in terms of computingtime. While [12] failed in processing large meshes, ourmethod is successfully applied on large meshes. The resultsare shown in Table 4:
For some corner features like Fig. 4, GCF can ensure thatthese corner features are preserved during the smoothingprocess. However, In the sharp corner feature shown inFig. 8, the apex of the cone tip, GCF treats it as noise.This is a common problem shared by all local methods thatdo not have a priori assumption about edges. For noisyCAD models with particularly sharp features, our methodis inferior to methods based on face normal filtering atpreserving sharp features. In future work, we will conduct (a) Kitten (b) Dragon (c) Statues (d) Lucy
MethodsTimes(s) Models Kitten Dragon Statues Lucy[12] .
83 258 . NaN NaN
GCF(GPU) .
28 3 .
39 4 .
93 7 . TABLE 4Time-consuming comparison on meshes with a huge number ofvertices.(Kitten: | V | : 24956, | F | : 49912; Dragon: | V | : 437645, | F | :871414; Statues: | V | : 4999996, | F | : 10000000; Lucy: | V | : 14027872, | F | : 28055742;). Number of iterations: [12] iterates 20 times for thenormal of the face and 20 iterations for the vertices. Our iterations are40. further research on the possibility of GCF in the field ofmesh developability and editing. ONCLUSIONS
In this paper, we propose an iterative filter that optimizesthe Gaussian curvature of a triangular mesh. Our methoddoes not need to explicitly calculate the Gaussian curvature.Our method is simple but effective and efficient, as con-firmed by the numerical experiments. Our algorithm hasonly one parameter in the form of the number of iterations,which makes our algorithm easy to use. From the resultsof multiple sets of experiments, whether it is visual orquantitative analysis, we have verified that our method out-performs the state-of-the-art. With this Gaussian curvaturefilter, minimizing Gaussian curvature on triangular meshesbecomes much easier. This is important for many industriesthat require Gaussian curvature optimization, such as shipmanufacture, car shape design, etc. And we believe that ourmethod can be beneficial to both academical research andpractical industries. A CKNOWLEDGMENTS
This work was supported in part by the National Nat-ural Science Foundation of China under Grant 61907031.Also partially supported by the Education Departmentof Guangdong Province, PR China, under project No2019KZDZX1028. R EFERENCES [1] S. Kriegel, C. Rink, T. Bodenm ¨uller, A. Narr, M. Suppa, andG. Hirzinger, “Next-best-scan planning for autonomous 3d model-ing,” in . IEEE, 2012, pp. 2850–2856.[2] N. Wang, Y. Zhang, Z. Li, Y. Fu, W. Liu, and Y.-G. Jiang,“Pixel2mesh: Generating 3d mesh models from single rgb im-ages,” in
Proceedings of the European Conference on Computer Vision(ECCV) , 2018, pp. 52–67. (a) Noisy (b) Original (c) [3] (d) [4] (e) [12] (f) [13] (g) [5] (h) [15] (i) [17] (j) Ours Fig. 10. Comparison between our algorithm and the selected state-of-the-art algorithms on the armadillo ( σ n = 0 . e l ) , bunny ( σ n = 0 . e l ) , MaxPlanck ( σ n = 0 . e l ) , vaselion ( σ n = 0 . e l ) . [3] S. Fleishman, I. Drori, and D. Cohen-Or, “Bilateral mesh denois-ing,” in ACM transactions on graphics (TOG) . ACM, 2003, pp.950–953.[4] T. R. Jones, F. Durand, and M. Desbrun, “Non-iterative, feature-preserving mesh smoothing,” in
ACM Transactions on Graphics(TOG) . ACM, 2003, pp. 943–947.[5] L. He and S. Schaefer, “Mesh denoising via l 0 minimization,”
ACM Transactions on Graphics (TOG) , vol. 32, no. 4, p. 64, 2013.[6] R. Wang, Z. Yang, L. Liu, J. Deng, and F. Chen, “Decoupling noiseand features via weighted l1-analysis compressed sensing,”
ACMTransactions on Graphics (TOG) , vol. 33, no. 2, p. 18, 2014.[7] M. Wei, J. Yu, W.-M. Pang, J. Wang, J. Qin, L. Liu, and P.-A.Heng, “Bi-normal filtering for mesh denoising,”
IEEE transactionson visualization and computer graphics , vol. 21, no. 1, pp. 43–55, 2014.[8] S. K. Yadav, U. Reitebuch, and K. Polthier, “Mesh denoising based on normal voting tensor and binary optimization,”
IEEEtransactions on visualization and computer graphics , vol. 24, no. 8, pp.2366–2379, 2017.[9] P.-S. Wang, Y. Liu, and X. Tong, “Mesh denoising via cascadednormal regression.”
ACM Trans. Graph. , vol. 35, no. 6, pp. 232–1,2016.[10] G. Arvanitis, A. S. Lalos, K. Moustakas, and N. Fakotakis, “Featurepreserving mesh denoising based on graph spectral processing,”
IEEE transactions on visualization and computer graphics , vol. 25,no. 3, pp. 1513–1527, 2018.[11] M. Wei, J. Wang, X. Guo, H. Wu, H. Xie, F. L. Wang, and J. Qin,“Learning-based 3d surface optimization from medical imagereconstruction,”
Optics and Lasers in Engineering , vol. 103, pp. 110–118, 2018.[12] X. Sun, P. Rosin, R. Martin, and F. Langbein, “Fast and effective Input [44] OursInput [44] Ours
Fig. 11. Comparison between our algorithm (Number of iterations: iHbunny: 40, Vase: 100) and our previous work [44](Number of iterations:iHbunny: 10, Vase: 20) on noisy iHbunny ( σ n = 0 . e l ) and noisy Vase ( σ n = 0 . e l ) . (a) Noisy (b) [3] (c) [4] (d) [12] (e) [13] (f) [5] (g) [15] (h) [17] (i) Ours Fig. 12. Comparison between our algorithm and the selected state-of-the-art algorithms on the model of the real scan (angel and rabbit). Theparameters are selected as the second row of Table 3 feature-preserving mesh denoising,”
IEEE transactions on visualiza-tion and computer graphics , vol. 13, no. 5, pp. 925–938, 2007.[13] Y. Zheng, H. Fu, O. K.-C. Au, and C.-L. Tai, “Bilateral normalfiltering for mesh denoising,”
IEEE Transactions on Visualization andComputer Graphics , vol. 17, no. 10, pp. 1521–1530, 2011.[14] L. Zhu, M. Wei, J. Yu, W. Wang, J. Qin, and P.-A. Heng, “Coarse-to-fine normal filtering for feature-preserving mesh denoising basedon isotropic subneighborhoods,” in
Computer Graphics Forum . Wi-ley Online Library, 2013, pp. 371–380.[15] W. Zhang, B. Deng, J. Zhang, S. Bouaziz, and L. Liu, “Guidedmesh normal filtering,” in
Computer Graphics Forum . Wiley OnlineLibrary, 2015, pp. 23–34.[16] X. Lu, Z. Deng, and W. Chen, “A robust scheme for feature-preserving mesh denoising,”
IEEE transactions on visualization andcomputer graphics , vol. 22, no. 3, pp. 1181–1194, 2015.[17] X. Li, L. Zhu, C.-W. Fu, and P.-A. Heng, “Non-local low-ranknormal filtering for mesh denoising,” in
Computer Graphics Forum .Wiley Online Library, 2018, pp. 155–166.[18] H. Zhao and G. Xu, “Triangular surface mesh fairing via gaussiancurvature flow,”
Journal of Computational and Applied Mathematics ,vol. 195, no. 1-2, pp. 300–311, 2006.[19] M. Eigensatz, R. W. Sumner, and M. Pauly, “A comparison ofgaussian and mean curvatures estimation methods on triangularmeshes,” in
Computer Graphics Forum . Wiley Online Library, 2008,pp. 241–250. [20] M. Desbrun, M. Meyer, P. Schr¨oder, and A. H. Barr, “Implicitfairing of irregular meshes using diffusion and curvature flow,”in
Proceedings of the 26th annual conference on Computer graphics andinteractive techniques , 1999, pp. 317–324.[21] Y. Gong and I. F. Sbalzarini, “Curvature filters efficiently reducecertain variational energies,”
IEEE Transactions on Image Processing ,vol. 26, no. 4, pp. 1786–1798, 2017.[22] S.-H. Lee and J. K. Seo, “Noise removal with gauss curvature-driven diffusion,”
IEEE Transactions on Image Processing , vol. 14,no. 7, pp. 904–909, 2005.[23] Y. Gong, “Spectrally regularized surfaces,” Ph.D. dissertation,ETH Zurich, 2015. [Online]. Available: http://e-collection.library.ethz.ch/eserv/eth:47737/eth-47737-02.pdf[24] G. Taubin, “Estimating the tensor of curvature of a surface froma polyhedral approximation,” in
Proceedings of IEEE InternationalConference on Computer Vision . IEEE, 1995, pp. 902–907.[25] P. Jidesh and S. George, “Fourth-order gauss curvature drivendiffusion for image denoising,”
International Journal of Computerand Electrical Engineering , vol. 4, no. 3, p. 350, 2012.[26] Y. Gong and I. F. Sbalzarini, “Local weighted gaussian curvaturefor image processing,” in . IEEE, 2013, pp. 534–538.[27] J. Peng, Q. Li, C.-C. J. Kuo, and M. Zhou, “Estimating gaussiancurvatures from 3d meshes,” in
Human Vision and Electronic Imag-ing VIII . International Society for Optics and Photonics, 2003, pp. -2 0 2 4-4-3-2-10 l og ( P r o b a b ili t y ) Gaussian Curvature (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) - 2 - 1 0 1 2- 3- 2- 10 log(Probability)
G a u s s i a n C u r v a t u r e ( a ) ( b ) ( c ) ( d ) ( e ) ( f ) ( g ) ( h ) ( i ) ( j )
Armadillo ( σ n = 0 . e l ) Bunny ( σ n = 0 . e l ) -2 0 2-3-2-10 l og ( P r o b a b ili t y ) Gaussian Curvature (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) -8 -6 -4 -2 0 2 4 6 8-4-3-2-10 l og ( P r o b a b ili t y ) Gaussian Curvature (a) (b) (c) (d) (e) (f) (g) (h) (i) (j)
Max Planck ( σ n = 0 . e l ) Vaselion ( σ n = 0 . e l ) Fig. 13. Gaussian curvature distribution map corresponding to Fig.10row 1-4. The left axis is Gaussian curvature probability in Log scale.And the bottom axis is the Gaussian curvature value of the vertices onthe model. The curves of the eight different colors are: (a) is the Noisyinput, (b) is the Ground truth . (c) is the method [3], (d) is the method [4],(e) is the method [12], (f) is the method [13], (g) is the method [5], (h) isthe method [15], (i) is the method [17], (j) is Ours. Our results are closeto the ground truth. The quantitative K-L divergence is summarized inthe right column of Table 3. . IEEE, 2003, pp.1021–1026.[29] O. Stein, E. Grinspun, and K. Crane, “Developability of trianglemeshes,”
ACM Transactions on Graphics (TOG) , vol. 37, no. 4, pp.1–14, 2018.[30] M. Rabinovich, T. Hoffmann, and O. Sorkine-Hornung, “Discretegeodesic nets for modeling developable surfaces,”
ACM Transac-tions on Graphics (ToG) , vol. 37, no. 2, pp. 1–17, 2018.[31] A. Ion, M. Rabinovich, P. Herholz, and O. Sorkine-Hornung,“Shape approximation by developable wrapping,”
ACM Transac-tions on Graphics (TOG) , vol. 39, no. 6, pp. 1–12, 2020.[32] S. Sell´an, N. Aigerman, and A. Jacobson, “Developability ofheightfields via rank minimization,”
ACM Transactions on Graphics ,vol. 39, no. 4, pp. 10–1145, 2020.[33] M. Kazhdan, J. Solomon, and M. Ben-Chen, “Can mean-curvatureflow be modified to be non-singular?” in
Computer Graphics Forum ,vol. 31, no. 5. Wiley Online Library, 2012, pp. 1745–1754.[34] K. Crane, U. Pinkall, and P. Schr¨oder, “Robust fairing via confor-mal curvature flow,”
ACM Transactions on Graphics (TOG) , vol. 32,no. 4, pp. 1–10, 2013.[35] X. Lu, X. Liu, Z. Deng, and W. Chen, “An efficient approach forfeature-preserving mesh denoising,”
Optics and Lasers in Engineer-ing , vol. 90, pp. 186–195, 2017.[36] M. Meyer, M. Desbrun, P. Schr¨oder, and A. H. Barr, “Discretedifferential-geometry operators for triangulated 2-manifolds,” in
Visualization and mathematics III . Springer, 2003, pp. 35–57.[37] X. Guoliang and Q. Zhang,
Geometric partial differential equationmethods in computational geometry . Science Press, 2013.[38] H. Pottmann and J. Wallner,
Computational line geometry . SpringerScience & Business Media, 2009.[39] O. Sorkine, “Differential representations for mesh processing,” in
Computer Graphics Forum , vol. 25, no. 4. Wiley Online Library,2006, pp. 789–807.[40] G. Taubin, “A signal processing approach to fair surface design,”in
Proceedings of the 22nd annual conference on Computer graphics andinteractive techniques . ACM, 1995, pp. 351–358. [41] H. Zhao and P. Xiao, “An accurate vertex normal computationscheme,” in
Computer Graphics International Conference . Springer,2006, pp. 442–451.[42] Y. Shen and K. E. Barner, “Fuzzy vector median-based surfacesmoothing,”
IEEE Transactions on Visualization and Computer Graph-ics , vol. 10, no. 3, pp. 252–265, 2004.[43] Y. Zhao, H. Qin, X. Zeng, J. Xu, and J. Dong, “Robust and effectivemesh denoising using l0 sparse regularization,”
Computer-AidedDesign , vol. 101, pp. 82–97, 2018.[44] W. Pan, X. Lu, Y. Gong, W. Tang, J. Liu, Y. He, and G. Qiu, “Hlo:Half-kernel laplacian operator for surface smoothing,”
Computer-Aided Design , p. 102807, 2020.[45] J. Vollmer, R. Mencl, and H. Mueller, “Improved laplacian smooth-ing of noisy surface meshes,” in
Computer graphics forum , vol. 18,no. 3. Wiley Online Library, 1999, pp. 131–138.[46] O. Sorkine, “Laplacian mesh processing,”