Taubin eg00star


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Taubin eg00star

  1. 1. EUROGRAPHICS ’2000 STAR – State of The Art Report Geometric Signal Processing on Polygonal Meshes G. TaubinÝ IBM T.J. Watson Research Center, P.O.Box 704, Yorktown Heights, NY 10598 http://www.research.ibm.com/people/t/taubin Abstract Very large polygonal models, which are used in more and more graphics applications today, are routinely gen- erated by a variety of methods such as surface reconstruction algorithms from 3D scanned data, isosurface con- struction algorithms from volumetric data, and photogrametric methods from aerial photography. In this report we provide an overview of several closely related methods developed during the last few yers, to smooth, denoise, edit, compress, transmit, and animate very large polygonal models.1. Introduction polygonal mesh without changing the connectivity of the faces. The smoothed mesh has exactly the same number ofThe geometric signal processing approach was originally vertices and faces as the original one. The simplest smooth-motivated by the problem of smoothing large irregular ing algorithm that satisfies the linear complexity require-polygonal meshes of arbitrary topology 36 , such as those ment is Laplacian smoothing, described in detail in sectionextracted from volumetric medical data by iso-surface con- 2. Laplacian smoothing is an iterative process, where in eachstruction algorithms, or constructed by integration of multi- step every vertex of the mesh is moved to the barycenter ofple range images, and the related problem of fair surface de- its neighbors.sign. Because of the size of the typical data sets, only lineartime and space algorithms can be considered, particularly The only problem with Laplacian smoothing is shrinkage.for applications such as surface design and mesh editing, When a large number of Laplacian smoothing steps are iter-where interactive rates are a primary concern. This constraint atively performed, the shape undergoes significant deforma-on the complexity of the algorithms discards most early tions, eventually converging to the centroid of the originalalgorithms based on fairness norm optimization 42 28 13 43 , data. The algorithm introduced by Taubin 36 solves this prob-parametric 31 26 11 25 24 and implicit 1 27 patch technology, lem and introduced the signal processing machinery neces-physics-based deformable models 20 41 33 30 , and variational sary to analyze the behavior of these smoothing processes.formulations 5 28 43 13 . In these approaches, the problem is This work was followed by a number of extensions 40 7 andoften reduced to the solution of a large sparse linear sys- applications to interactive shape design 46 23 21 44 22 12 , 3Dtem, or a more expensive global optimization problem. Large geometry compression 37 2 19 , and shape reconstruction fromsparse linear systems are solved using iterative methods 10 , multiple 3D scans 3 .and usually result in quadratic time complexity algorithms.However, more recent work formulations have shown effi- Within the context of interactive shape design, Zorin 46 de-cient solutions to the variational formulation based on multi- fines a multi-resolution subdivision structure over an irregu-grid algorithms 21 22 , and stable implicit sparse solvers that lar mesh, using the signal processing smoothing algorithmsare competitive when agressive smoothing is required 7 . as the basis of his analysis process. Most smoothing algorithms move the vertices of the Guskov 12 follows a different signal processing approach over the Progressive Meshes 16 structure, where frequencyÝ On sabbatical from 08/01/2000 to 07/31/2001, Dept. of Electrical has a completely different meaning. He is able to performEngineering, California Institute of Technology Mail Code 136-93, similar filtering operations, as with the methods described inPasadena, CA 91125 this paper.­ The Eurographics Association 2000.c
  2. 2. Taubin / Mesh Signal Processing In 3D geometry compression38 39 , Taubin et.al. 37 use 3. Fourier Analysis on Meshes and Graphsthese signal processing smoothing algorithms to predict the A graph G ´V E µ, composed of a set of n vertices V , and aposition of high resolution vertices from their low resolution set of edges E can be directed or undirected. The undirectedcounterparts in their progressive transmission scheme. Balan graph of a Mesh M is composed of the set of mesh verticesand Taubin 2 , study the problem of constructing optimal fil- and the set of mesh edges as unordered pairs. In the directedters in this context. Karni and Gotsman 19 use the partial case, where the edges of G are ordered pairs of vertices, ev-Fourier expansion applied to the vertices of a mesh partition ery edge of M corresponds to two oriented edges of G.to define a JPEG-like compression scheme for meshes. We look at the vertices of M as a three-dimensional In the area of shpe reconstruction from multiple 3D scans, graph signal v ´v1 vn µt defined on G. In general, aBernardini et.al. 3 define a conforming process to estimate d-dimensional graph signal on a graph G is a d n matrix ¢the average shape of several overlaping meshes by allowing x ´x1 xn µt , where each row of x is regarded as the sig-them to deform at very low frequency, while preserving the nal value at the i-th. vertex of the graph.details. This process is based on applying a very aggressivesmoothing filter to the deformation field that would make A neighborhood or star of a vertex index i in the grapheach vertex of each overlapping mesh move to the average G is the set i of vertex indices j connected to i by an edgeposition of vertices of other meshes in a neighborhood. ´i j µ. The paper is organized as follows. In section 2 we intro- i j : ´i jµ ¾Educe Laplacian smoothing withing the context of meshes. In If the index j belongs to the neighborhood i , we say that jsection 3 we show how Fourier Analysis can be performed is a neighbor of i. The neighborhood structure of an undi-on signals defined on meshes and graphs. In section 4 we rected graph, such as the graph of a mesh defined above, arediscuss methods to smooth or denoise signals defined on symmetric. That is, every time that a vertex j is a neighbormeshes and graphs as low-pass filtering. In section 5 we de- of vertex i, also i is a neighbor of j. With non-symmetricscribe Taubin’s λ µ algorithm. In section 6 we discuss how neighborhoods, which are associated with directed graphs,edge weights can be manipulated to compensate for irregu- certain constraints can be imposed. We discuss this issue inlar edge lengths and face angles. In section 7 we show that detail in section 8.classic filter design methods can be used to construct faster The set of displacements ∆vi produced by the Laplaciansmoothing algorithms, and other feature enhancing filters. smoothing step that moves each vertex to the barycenter ofIn section 8 we discuss how different constraints can be im- its neighbors can be described as the result of applying theposed to the smoothing algorithms and their relation to in- Laplacian operator to the vertices of the mesh.teractive shape design. Finally, in section 9 we present ourconclusions. The Laplacian operator is defined on a graph signal x by weighted averages over the neighborhoods ∆xi ∑ wi j ´x j   xi µ (1)2. Laplacian Smoothing ¾ j i where the weights wi j are non-negative numbers that add upLaplacian smoothing is a well established technique to im- to one for each vertex starprove the geometric irregularity of a 2D mesh in the field offinite-elements meshing 15 . In this context, boundary vertices ∑ wi j 1 (2)of the mesh are constrained not to move, but internal vertices ¾ j iare simultaneously moved to the barycenter of its neighbor- Since the Laplacian operator x ∆x is linear on the space ofing vertices. And then the process is iterated a number of graph signals defined on G, and operates on the coordinatestimes. of x independently, it is sufficient to consider the case of one- dimensional graph signals. When Laplacian smoothing is applied to a noisy 3Dpolygonal mesh without constraints, noise is removed, but In section 6 we discuss in detail different ways of choos-significant shape distortion may be introduced. The main ing weights. For the time being, lets assume that the edgeproblem is that Laplacian smoothing produces shrinkage, weights are determined by first choosing an edge cost ci jbecause in the limit, all the vertices of the mesh converge c ji 0 for each graph edge, and then setting wi j ci j ci ,to their barycenter. where ci is the average cost of edges incident to i To understand why the Laplacian smoothing algorithm re- ci ∑ ci j 0moves high frequency noise, why it produces shrinkage, and ¾ j ihow to solve the shrinkage problem, we need to develop the For example, if all the edges have unit cost ci j 1, then forbasic concepts of signal processing on meshes, or more gen- each neighbor j of i, the weight wi j is equal to the inverse oferally, on graphs. the number of neighbors 1 i of v. We organize the edge ­ The Eurographics Association 2000. c
  3. 3. Taubin / Mesh Signal Processingcosts and weights as matrices C ´ci j µ, W ´wi j µ, with Laplacian´G W xµelements equal to zero if j is not a neighbor of i. We also new ∆x 0;assume that once set, the weights are kept constant during for(e ´i jµ E) ¾the iterative smoothing process. We will relax this asumption ∆xi xi · wi j ´xi   x j µ;in section 6. end; return ∆x; This choice of weights is independent of the vertex po-sitions, or geometry, of the mesh, and only function of the Figure 1: Algorithm to evaluate the Laplacian operator. Gstructure of the graph G, i.e. the connectivity of the mesh. ´V E µ directed graph, W matrix of weights defined on theNote that as a result of the neighborhood normalization con- edges of G, x input signal on G, ∆x output signal. ¢straint of equation 2, although the n n matrix of edge costsC is symmetric, in general the matrix of edge weigths W is LaplacianSmoothing´G W N λ xµnot. We consider edge weights that are function of the ge- new ∆xometry in section 6. for(i 0 ; i N ; i i · 1)   If we define the matrix K I W , with I the identity ∆x Laplacian´G W xµ;matrix, the Laplacian operator applied to a graph signal x x x · λ∆x;can be written in matrix form as follows end;  K x return; ∆x (3) Figure 2: The Laplacian Smoothing Algorithm. G graph, W For undirected graphs and the choice of weights described matrix of weights defined on the edges of G, N number ofabove, the matrix K has real eigenvalues 0 k1 k2 iterations, λ scaling factor, x signal on G to be smoothd.¡¡¡ kn 2 with corresponding linearly independent realunit length right eigenvectors e1 en 36 . In matrix form KE E diag´kµ (4) signal x can be computed very efficiently using the Fast 1 n Fourier Transform (FFT) algorithm32 , and the eigenvalueswith E ´e e µ, k ´k1 kn µt , and diag´kµ the diag- and eigenvectors of K can be computed analytically. In gen-onal matrix with ki in its i-th. diagonal position. Seen as one- eral, the matrix K is large, and although sparse, it is almostdimensional graph signals, these eigenvectors can be con- impossible to reliably compute its eigenvalues and eigenvec-sidered as the natural vibration modes of the graph, and the tors. This makes it impractical to smooth vertex positions ofcorresponding eigenvalues as the associated natural frequen- large meshes with the Fourier descriptors method.cies. Note that even using the FFT algorithm in the closed Since e1 en form a basis of n-dimensional space, ev- polygonal curve case, the computational complexity isery graph signal x can be written as a linear combination O´n log´nµµ, i.e., not linear. n x ∑ xj ej ˆ Ex ˆ (5) j 1 4. Smoothing as Low Pass FilteringThe vector of coefficients x is the Discrete Fourier Transform ˆ Figure 4 describes the algorithm to evaluate the Laplacian(DFT) of x, and E is the Fourier Matrix. operator on a signal x defined on a directed graph G, with given weight matrix W . And figure 4 describes the Laplacian If instead of being derived from the vertices and edges smoothing algorithm, with a scaling factor 0 λ 1 whichof a mesh, the graph G is a closed polygonal curve with n is used to control the speed of the diffusion process. With thisvertices and edges, i.e., a cycle, we are in the classical case parameter, one step of the Laplacian smoothing algorithmof discrete-time n-periodic signals. can be described in matrix form as follows Fourier analysis is a natural tool to solve the problem ofsignal smoothing. The space of signals is decomposed into x1 x · λ∆x ´I   λK µ x f ´K µ x (6)orthogonal subspaces associated with different frequencies, where f ´K µ is a matrix obtained by evaluating the univari-with the low frequency content of a signal regarded as sub-   ate polynomial f ´kµ 1 λk in the matrix K. If the pro-jacent data, and the high frequency content as noise. To de- cess is iterated N times, the output can still be expressednoise a signal it is sufficient to compute its DFT, discard its as xN f ´K µ x, but with a different univariate polynomialhigh frequency coefficients, and compute the linear combi-   f ´kµ ´1 λkµN .nation of remaning terms as the result. This is exatly what A Linear Filter is defined by a univariate function f ´kµthe method of Fourier descriptors45 does to smooth a closed that can be evaluated on the square matrix K to produce an-curve. other matrix of the same size. Although many functions of In the case of closed polygonal curves the DFT of a one variable can be evaluated in matrices 10 , in this section­ The Eurographics Association 2000.c
  4. 4. Taubin / Mesh Signal Processing TaubinSmoothing´G W N λ µ xµ new ∆x f ´k µ for(i 0 ; i N ; i i · 1) 10 10 f ´kµ ∆x Laplacian´G W xµ; if i is even 1 k 1 k λ x x · λ∆x; µ else x x · µ∆x; end; 0 kPB2 0 kPB 2 return; A BFigure 3: The Taubin Smoothing Algorithm. G graph, W ma- Figure 4: Graph of transfer functions for the λ µ algo-trix of weights defined on the edges of G, N number of itera-tions, λ and µ scaling factors, x signal on G to be smoothd.     rithm. (A) f ´kµ ´1 µkµ´1 λkµ. (B) f ´kµ ´´1 µkµ´1     λkµµN 2 with N 1.we only consider polynomials. In section 7 we also con- smoothing step with negative scale factor µ is performed (un-sider rational functions. The function f ´kµ is the transfer shrinking step). Figure 5 describes the algorithm.function of the filter. It is well known that for any of thesefunctions, the matrix f ´K µ has as eigenvectors the eigenvec- The graph of the transfer function of equation (7) is illus-tors e1 en of the matrix K, and as eigenvalues the result trated in figure 4-A. Figure 4-B shows the resulting transfer f ´k1 µ f ´kn µ of evaluating the function on the eigenval- function after N iterations of the algorithm. Since f ´0µ 1ues of K. Since for any polynomial transfer function and µ · λ 0, there is a positive value of k, let us denote it kPB (the pass-band frequency), such that f ´kPB µ 1. The x¼ n f ´K µ x ∑ f ´ki µxi ei ˆ value of kPB is i 1 1 1 i i kPB · 0 (8)because Ke ki e , to define a low-pass filter we need to λ µfind a polynomial such that f ´ki µ 1 for low frequencies, The graph of the transfer function f ´kµ shown in Figure 4-and f ´ki µ 0 for high frequencies in the region of interest ¾k 0 2. B displays a typical low-pass filter shape in the region of ¾ interest k 0 2 . The pass-band region extends from k 0 In the case of Laplacian smoothing, where the transfer to k kPB , where f ´kµ 1. As k increases from k kPB to  function is f ´kµ ´1 λkµN , with 0 λ 1, we see that k 2, the transfer function decreases to zero. The faster the ¾for every k ´0 2 , we have ´1 λkµN   0when N ½ transfer function decreases in this region, the better. The ratebecause 1 λk  1. This means that all the frequency of decrease is controlled by the number of iterations N.components, other than the zero frequency component (thebarycenter of all the vertices), are atenuated for large N. On For example, choosing λ so that f ´1µ   f ´2µ, i.e.,the other hand, the neighborhood normalization constraint 0 f ´1µ · f ´2µ 1   3´λ · µµ · 5λµ (9)of equation 2 implies that the matrix K always has 0 as its ensures a stable and fast filter 40 . A typical value for kPB isfirst eigenvalue with associated eigenvector ´1 1µt , and 0 1. The corresponding typical scaling factor values are thenthe zero frequency component is preserved without changes computed from equations 8 and 9.because f ´0µ 1 independently of the values of λ and N.In conclusion Laplacian smoothing filters out too many fre- Figures 5 and 6 show examples of large surfaces smoothedquencies. with this algorithm. Figures 5 is a synthetic example, where noise has been added to one half of a polyhedral approxi- mation of a sphere. Note that while the algorithm progresses5. The λ µ Algorithm the half without noise does not change. Figure 6 was con-Taubin 36 proposed the following second degree transfer structed from a CT scan of a spine. The boundary surface offunction to solve the problem of shrinkage the set of voxels with intensity value above a certain thresh- f ´kµ ´1   λkµ´1   µkµ (7) old is used as the input signal. Note that there is not much difference between the results after 50 and 100 iterations.which can be implemented as two consecutive steps ofLaplacian smoothing with different scaling factors; the firstone with λ 0, and the second one with µ   λ 0. That 6. Weightsis, after the Laplacian smoothing step with positive scale With Equal weights, determined by unit edge costs, very sat-factor λ is performed (shrinking step), a second Laplacian isfactory results are obtained on meshes which display very ­ The Eurographics Association 2000. c
  5. 5. Taubin / Mesh Signal Processing A B A B C D C DFigure 5: (A) Sphere partially corrupted by normal noise. Figure 6: (A) Boundary surface of voxels from a CT scan.(B) Sphere (A) after 10 non-shrinking smoothing steps. (C) (B) Surface (A) after 10 non-shrinking smoothing steps. (C)Sphere (A) after 50 non-shrinking smoothing steps. (D) Surface (A) after 50 non-shrinking smoothing steps. (D) Sur-Sphere (A) after 200 non-shrinking smoothing steps. Sur- face (A) after 100 non-shrinking smoothing steps. kPB 0 1faces are flat-shaded to enhance the faceting effect. and λ 0 6307 in (B), (C), and (D). Surfaces are flat-shaded to enhance the faceting effect.small variation in edge length and face angles across thewhole mesh, such as those shown in figures 5 and 6. Whenthese assumptions are not met, local distortions are intro- cases, such as when a texture is mapped onto the mesh, hav-duced. The edge weights can be used to compensate for the ing a non-zero tangencial component is undesirable. Basedirregularities of the teselation, and produce results which are on a better approximation to the curvature normal, Desbrun7function of the local geometry of the signal, rather than the proposes the following choice of edge costslocal parameterization. ci j cot αi j · cot βi j (10) Fujiwara weights try to compensate for irregular edgelengths by determining the edge costs as a function of the where αi j and βi j are the two angles opposite to the edge e  edge length ci j φ´ v j vi µ. For example, both Taubin ´i j µ in the two triangles having e in common. This choice36 and Fujiwara 9 propose choosing the inverse of the edge of weights produces no tangencial drift when all the faceslength φ´t µ 1 t as the function, which makes the Laplacian incident to the vertex are coplanar.operator independent of the edge lengths, and only depen- The three weighting schemes described in this section candent on the directions of the vectors pointing to the neigh- be applied to both Laplacian smoothing and Taubin smooth-boring vertices. This weighting scheme does not solve the ing, but bot Fujiwara weights and Desbrun weights must beproblems arising from unequal face angles. recomputed after each iteration, or after a small number of Desbrun weights compensate not only for unequal edge iterations. This makes the whole smoothing process a non-lengths, but also for unequal face angles. Laplacian smooth- linear operation, and computationally more expensive.ing with equal edge costs tends to equalize the lengths of An interactive implementation of these techniques isthe edges, and so, tends to make the triangular faces equi- available as a Java applet34 . Figure 7 shows a screen shotlateral. The vertex displacements produced by the Laplacian of this applet.operator can be decomposed into a normal and a tangencialcomponent. In some cases the edge equalization may be the Guskov 12 proposed another weighting scheme based ondesired effect. This is the case when mesh smoothing is used divided differences, but applies to a smoothing process basedto improve the quality of finite-elements mesh. But in other on a second order neighborhood.­ The Eurographics Association 2000.c
  6. 6. Taubin / Mesh Signal Processing IirFilter´G W Ng g Nh h xµ FirFilter´G W Ng g xµ new x1 x; new H h´K µ; solve Hx x1 ; return; Figure 9: The IIR Filter Algorithm Taubin et.al. 40 . G graph, W matrix of weights defined on the edges of G, N number of iterations, g ´g0 gNg  1 µ and h ´h0 hNh  1 µ polynomial coefficients in Chebyshev basis, x signal on G to be filtered. and linear complexity T0 ´wµ 1 T1 ´wµ w (11) T j ´wµ 2wT j 1 ´wµ   T j 2´wµFigure 7: Implementation of some of the techniques de-scribed in this paper as a Java applet 34 . Since the domain of Chebyshev polynomials is w ¾ 0 1, the following change of variable is necessary w 1   k 2. FirFilter´G W N f xµ The ability to efficiently implement any polynomial trans- fer function, reduces the problem of minimizing the num- new x0 x ber of iterations to a univariate polynomial approximation new x1 Laplacian´G W x0 µ; new x2 x0 0 5x1   problem, i.e., to the classical problem of Finite Impulse Re- sponse (FIR) filter desgin in signal processing 29 . As an ex- new x f0 x0 · f1 x1 ample, Taubin et.al. 40 showed how to design filters based for(i 2 ; i N ; i i · 1) on the classical Window-based method 14 , but other polyno- x2 Laplacian´G W x1µ; mial approximation technique can be used to design stable x x · fi x2 ; FIR filters. For example, The Parks-McClellan algorithm 18 x0 x1 ; uses the Remez exchange algorithm and Chebyshev approx- x1 x2 ; imation theory to design filters with an optimal fit between end; the desired and actual frequency responses. The filters are return; optimal in the sense that the maximum error between the de- sired frequency response and the actual frequency responseFigure 8: The FIR Filter Algorithm of Taubin et.al. 40 . G is minimized. Filters designed this way exhibit an equirip-graph, W matrix of weights defined on the edges of G, N ple behavior in their frequency responses and are sometimesnumber of iterations, f ´ f0 fN  1 µ polynomial coeffi- called equiripple filters.cients in Chebyshev basis, x signal on G to be filtered. The only problem with FIR filters is that high degrees are usually needed to obtain a good approximations of ideal fre- quency responses with sharp transitions, such as low-pass7. Fast Smoothing as Filter Design filters with a narrow pass-band. Infinite Impulse Response filters (IIR), with rational transfer functions with polynomi-In the λ µ algorithm different combinations of the parame- als of low degree, solve this problem. In our case, if the trans-ters λ, µ, and N produce almost identical transfer functions fer function is a ratio of two polynomials f ´kµ g´kµ h´kµ, f ´kµ. For example if the scaling factors λ is reduced in mag-nitude, and then µ is recomputed to keep the pass-band fre- ¾ with h´kµ 0 for k 0 2 , filtering a signal x corresponds to solving the following system of equationsquency unchanged using equation 8, an equivalent result canbe achieved with more iterations 40 . h´K µ x¼ g´K µ x (12) 40 Taubin et.al. showed how to efficiently implement any Evaluation of this filter can be performed in three steps. First,polynomial transfer function expressed as a linear combina- if g´kµ is not constant, the right hand side of this equation istion of Chebyshev polynomials6 . Figure 7 describes the al- evaluated with the FIR algorithm of Taubin et.al. x1 g´K µx.gorithm. Chebyshev polynomials are numerically more sta- Then the the matrix H h´K µ has to be constructed, and fi-ble than the power basis, and are defined by a three term nally the linear system of equations Hx x1 is solved. Fig-recursion that results in an algorithm with low storage use ure 7 describes this algorithm. In this context, IIR filters only ­ The Eurographics Association 2000. c
  7. 7. Taubin / Mesh Signal Processingmakes sense if the polynomial h´kµ is of very low degree, Kuriyama 23 and Yamada 44 impose hard constraints oni.e., if the matrix H is sparse. Some sparse linear solvers only vertex positions, but modify the displacement produced byneed the to evaluate the product of the matrix H by a vector. the Laplacian operator to impose soft normal constraints.In that case the matrix H does not need to be constructed We will only discuss here some of these methods.explicitly, and the FIR algorithm of Taubin et.al. can be usedagain to evaluate this filter as many times as necessary bythe linear solver. 8.1. Interpolatory Constraints The Implicit Fairing method of Desbrun et.al. 7 is a par- A simple way to introduce interpolatory constraints in theticular case this type of filter. It corresponds to the classical smoothing algorithm is by using non-symmetric neighbor-Butterworth filter with transfer function hood structures. If no other vertex is a neighbor of a certain 1 vertex v1 , i.e., if the neighborhood of v1 is empty, then the f ´kµ (13) 1 · ´k kPB µN value x1 of any signal x does not change during the smooth-Desbrun et.al. development is based on a PDE formulation. ing process, because the Laplacian operator ∆x1 is equal toThey show that the Laplacian smoothing algorithm corre- zero by definition of empty sum. Other vertices are allowedsponds the solution of the diffusion process to have v1 as a neighbor, though. ∂x λdt∆x ∂tusing the forward Euler method x¼ x · λdt∆x ´I · λdt∆µxwith unit time step dt 1. They use the backward Eulermethod instead, which requires the solution of the linear sys-tem ´I   λdt∆µx¼ xbut is stable for arbitrary large time steps, as opposd to the Figure 10: Example of surfaces designed using subdivi-explicit scheme which is stable only for λdt 1. Although sion and smoothing steps with one interpolatory constraint.having to solve a sparse linear system per step, as apposed (A) Skeleton. (B) Surface (A) after two levels of subdivi-to multiplying by a sparse matrix, seems to slow down the sion and smoothing without constraints. (C) Same as (B) butcomputation, they report computational time similar or bet- with non-smooth interpolatory constraint. (D) Same as (B)ter than the explicit method. but with smooth interpolatory constraint. Surfaces are flat- shaded to enhance the faceting effect.8. ConstraintsThe ability to impose constraints to the smoothing process, Figure 10-A shows a skeleton surface. Figure 10-B showssuch as specifying the positions of some vertices, or nor- the surface generated after two levels of refinement andmal vectors, specifying ridge curves, or the behavior of the smoothing using our smoothing algorithm without con-smoothing process along the boundaries of the mesh, is straints, i.e., with symmetric first-order neighborhoods. Al-needed in the context of free-form interactive shape design. though the surface has not shrunk overall, the nose has been flattened quite significantly. This is so because the nose is All the methods described so far allows the signals to made of very few faces in the skeleton, and these faces meetfreely evolve without imposing any constraint. For example, at very sharp angles. Figure 10-C shows the result of ap-although shrinkage prevention minimizes the problem in the plying the same steps, but defining the neighborhood of theλ µ algorithm, all the smooth signal values are different from vertex at the tip of the nose to be empty. The other neigh-the original ones. borhoods are not modified. Now the vertex satisfies the con- Taubin 36 shows that by modifying the neighborhood straint – it has not moved at all during the smoothing processstructure certain kind of constraints can be imposed without –, but the surface has lost its smoothness at the vertex. Thisany modification of the algorithm, while other constraints might be the desired effect, but if it is not, instead of thethat require minor modifications and the solution of small neighborhoods, we have to modify the algorithm.linear systems. Kobbelt 21 22 formulates the problem as an energy min- 8.2. Smooth Interpolationimization problem, and solves it efficiently with a multi- Nresolution approach on levels of detail hierachies generated We look at the desired constrained smooth signal xC as a sumby decimation. of the corresponding unconstrained smooth signal xN F x­ The Eurographics Association 2000.c
  8. 8. Taubin / Mesh Signal Processingafter N steps of our smoothing algorithm (i.e. F f ´K µN ), is solved. The matrix Fmm is no longer needed. Then the re-plus a smooth deformation d1 maining components of the signal y are set to zero ym·1 N xC xN · ´x1   xN µ d1 ¡¡¡ yn 0. Now the smoothing algorithm is applied to the 1 signal y. The result is the smooth deformation that makes theThe deformation d1 is itself another discrete surface signal, unconstrained smooth signal xN satisfy the constraints Nand the constraint ´xC µ1 x1 is satisfied if ´d1 µ1 1. To N xC xN · F yconstruct such a smooth deformation we consider the signalδ1 , where 8.3. Smooth Deformations 1 j i ´δi µ j Note that in the constrained smoothing algorithm described 0 j i above the fact that the values of the signal at the vertices ofThis is not a smooth signal, but we can apply the smoothing interest is constraint to remain constant can be trivially gen-algorithm to it. The result, let us denote it Fn1 , the first col- eralized to allow for arbitrary smooth deformations of a sur-umn of the matrix F, is a smooth signal, but its value at the face. To do so, if in equation (14), the values x1 xm mustvertex v1 is not equal to one. However, since the matrix F is be replaced by the desired final values of the faired signal atdiagonally dominated, F11 , the first element of its first col- the corresponding vertices. As in in the Free-form deforma-umn, must be non-zero. Therefore, we can scale the signal tion approaches of Hsu, Hughes, and Kaufman 17 and BorrelFn1 to make it satisfy the constraint, obtaining the desired 4 , instead of moving control points outside the surface, sur-smooth deformation faces can be deformed here by pulling one or more vertices. d1   Fn1 F11 1 Also note that the scope of the deformation can be con-Figure 10-D shows the result of applying this process. trolled by changing the number of smoothing steps applied while smoothing the signals δ1 δn . To make the resulting When more than one interpolatory constraint must be im- signal satisfy the constraint, the value of N in the definitionposed, the problem is slightly more complicated. For sim- of the matrix F must be the one used to smooth the deforma-plicity, we will assume that the vertices have been reordered tions. We have observed that good results are obtained whenso that the interpolatory constraints are imposed on the first the number of iterations used to smooth the deformations is N Nm vertices, i.e., ´xC µ1 x1 ´xC µm xm . We now look at about five times the number used to fair the original shape.the non-smooth signals δ1 δm , and at the correspondingfaired signals, the first m columns of the matrix F f ´K µN .These signals are smooth, and so, any linear combination of 8.4. Hierarchical Constraintsthem is also a smooth signal. Furthermore, since F is non- This is another application of non-symmetric neighbor-singular and diagonally dominated, these signals are linearly hoods. We start by assigning a numeric label li to each vertexindependent, and there exists a linear combination of them of the surface. Then we define the neighborhood structure asthat satisfies the m desired constraints. Explicitly, the con- follows. We make vertex v j a neighbor of vertex vi if vi andstrained smooth signal can be computed as follows v j share an edge (or face), and if li l j . Note that if v j is a ¼ x   xN ½ neighbor of vi and li l j , then vi is not a neighbor of v j . The 1 1 N xC  1 xN · Fnm Fmm . . (14) symmetry applies only to vertices with the same label. For . example, if we assign label li 1 to all the boundary ver- xm   xN m tices of a surface with boundary, and label li 0 to all the internal vertices, then the boundary is faired as a curve, in-where Frs denotes the sub-matrix of F determined by the first dependently of the interior vertices, but the interior verticesr rows and the first s columns. follow the boundary vertices. If we also assign label li 1 To minimize storage requirements, particularly when n is to a closed curve composed of internal edges of the surface,large, and assuming that m is much smaller than n, the com- then the resulting surface will be smooth along, and on bothputation can be structured as follows. The smoothing algo- sides of the curve, but not necessarily across the curve. Fig-rithm is applied to δ1 obtaining the first column Fδ1 of the ure 11-D shows examples of subdivision surface designedmatrix F. The first m elements of this vector are stored as using this procedure. If we also assign label li 2 to somethe first column of the matrix Fmm . The remaining m n ele-   isolated points along the curves, then those vertices will inments of Fδ1 are discarded. The same process is repeated for fact not move, because they will have empty neighborhoods.δ2 δm , obtaining the remaining columns of Fmm . Thenthe following linear system ¼ y ½ ¼ x   xN ½ 8.5. Tangent Plane Constraints 1 1 1 . Although the normal vector to a polyhedral surface is not Fmm . . . . . defined at a vertex, it is customary to define it by averaging ym xm   xN m some local information, say for shading purposes. When the ­ The Eurographics Association 2000. c
  9. 9. Taubin / Mesh Signal Processing edge length times the mean curvature ∆vi ∑ wi j ´v j   vi µ κ´vi µNi ¯ ¾ j i which can be used as a definition of discrete mean curvature 35 . It follows that imposing normal constraints at vi is achieved by imposing linear constraints on ∆vi . If Ni is the desired normal direction at vertex vi after the smoothing pro- A B cess, and Si and Ti are two linearly independent vectors tan- gent to Ni , the surface after N iterations of the smoothing algorithm will satisfy the normal desired constraint at the vertex vi it the following two linear constraints St ∆vN i i Tit ∆vN i 0 are satisfied. This leads us to the problem of smoothing with general linear constraints. 8.6. General Linear Constraints C D We consider here the problem of smoothing a discrete sur- N face signal x under general linear constraints CxC c, whereFigure 11: (A) Skeleton with marked vertices. (B) Surface(A) after three levels of subdivision and smoothing without ¢ C is a m n matrix of rank m (m independent constraints),constraints. (C) Same as (B) but with empty neighborhoods and c ´c1 cm µt is a vector. The method described inof marked vertices. (D) Same as (B) but with hierarchical section 8.1 to impose smooth interpolatory constraints, is a particular case of this problem, where the matrix C is equalneighborhoods, where marked vertices have label 1 and un-marked vertices have label 0. Surfaces are flat-shaded to en- ¢ the upper m rows of the m m identity matrix. Our approachhance the faceting effect. is to reduce the general case to this particular case. We start by decomposing the matrix C into two blocks. ¢ A first m m block denoted C´1µ , composed of m columns of C, and a second block denoted C´2µ , composed of the re-signal x in equation (1) is replaced by the coordinates of the maining columns. The columns that constitute C´1µ must bevertices, the Laplacian becomes a vector chosen so that C´1µ become non-singular, and as well condi- tioned as possible. In practice this can be done using Gauss ∆vi ∑ wi j ´v j   viµ elimination with full pivoting 10 , but for the sake of simplic- ¾ j i ity, we will assume here that C´1µ is composed of the first mThis vector average can be seen as a discrete approximation columns of C. We decompose signals in the same way. x´1µof the following curvilinear integral denotes here the first m components, and x´2µ the last n m   components, of the signal x. We now define a change of basis 1 γ ¾ ´v   vi µ dl ´vµ in the vector space of discrete surface signals as follows   C 1C 2 y 2 v γ x´1µ y´1µ ´ µ ´ µ ´ µwhere γ is a closed curve embedded in the surface which x´2µ y´2µ 1encircles the vertex vi , and γ is the length of the curve. It isknown that, for a curvature continuous surface, if the curve If we apply this change of basis to the constraint equationγ is let to shrink to to the point vi , the integral converges to C´1µ x´1µ · C´2µ x´2µ c, we obtain C´1µ y´1µ c, or equiva-the mean curvature κ´vi µ of the surface at the point vi times ¯ lentlythe normal vector Ni at the same point 8 y´1µ  1 C´1µ c lim 1 ´v   vi µ dl ´vµ κ´vi µNi ¯ which is the problem solved in section 8.2. ε 0 γε v γε¾The expression on the right hand side is the curvature nor- 9. Conclusionsmal, where κ´vi µ is the mean curvature of the surface at vi ¯and Ni is the surface normal at vi . It follows that the length In this paper I described the basic elements of the signal pro-of the laplacian vector is equal to the product of the average cessing approach on meshes. It started as a solution to the­ The Eurographics Association 2000.c
  10. 10. Taubin / Mesh Signal Processingshrinkage problem of Laplacian smoothing, and has evolved 14. R.W. Hamming. Digital Filters. Prentice Hall, 1989.quite significantly during the last five years, with many im- 15. K. Ho-Le. Finite element mesh generation methods: A re-portant contributions and extensions by many authors, and view and classification. Computer Aided Design, 20(1):27–38,applications to other areas. In my opinion, the main reason 1988.for this interest has been the simplicity of the algorithms and 16. H. Hoppe. Progressive meshes. In Siggraph’96 Conferencethe good qulity of the results produced. I believe that this Proceedings, pages 99–108, August 1996.area will continue evolving in the near future, with theoreti-cal advances, new efficient algorithms, and important appli- 17. W.M. Hsu, J.F. Hughes, and H. Kaufman. Direct manipulationcations. Many concepts of classical signal processing may of free-form deformations. Computer Graphics, pages 177–see usefull applications in computer graphics and geometric 184, July 1992. (Proceedings SIGGRAPH’92).design, if efficient implementations become available. I look 18. IEEE Press, New York. Programs for Digital Signal Process-forward to continue contributing to this field myself. ing, 1979. Algorithm 5.1. 19. Z. Karni and C Gotsman. Spectral compression of mesh ge-References ometry. In Siggraph’2000 Conference Proceedings, 2000.1. C.L. Bajaj and Ihm. Smoothing polyhedra using implicit al- 20. M. Kass, A. Witkin, and D. Terzopoulos. Snakes: active gebraic splines. Computer Graphics, pages 79–88, July 1992. contour models. International Journal of Computer Vision, (Proceedings SIGGRAPH’92). 1(4):321–331, 1988.2. R. Balan and G. Taubin. 3d mesh geometry filtering algo- 21. L. Kobbelt, S. Campagna, J. Vorsatz, and H.-P. Seidel. Inter- rithms for progressive transmission schemes. Computer Aided active multi-resolution modeling on arbitrary meshes. In Sig- Design, 2000. Special issue on multiresolution geometric graph’98 Conference Proceedings, pages 105–114, July 1998. models. 22. L. Kobbelt, J. Vorsatz, and H.-P. Seidel. Multiresolution hier-3. F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, and archies on unstructured triangle meshes. Computational Ge- G. Taubin. The ball-pivoting algorithm for surface recon- ometry Theory and Applications, 1999. special issue on multi- struction. IEEE Transactions on Visualization and Computer resolution modeling and 3D geometry compression. Graphics, 1999. 23. S. Kuriyama and K. Tachibana. Polyhedral surface modeling4. P. Borrel. Simple constrained deformations for geomet- with a diffusion system. In Eurographics’97 Conference Pro- ric modeling and interactive design. ACM Transactions on ceedings, pages C39–C46, 1997. Graphics, 13(2):137–155, April 1994. 24. C. Loop. A G1 triangular spline surface of arbitrary topolog-5. G. Celniker and D. Gossard. Deformable curve and surface ical type. Computer Aided Geometric Design, 11:303–330, finite-elements for free-form shape design. Computer Graph- 1994. ics, pages 257–266, July 1991. (Proceedings SIGGRAPH’91). 25. C. Loop. Smooth spline surfaces over irregular meshes. Com-6. P.J. Davis. Interpolation and Approximation. Dover Publica- puter Graphics, pages 303–310, July 1994. (Proceedings SIG- tions, Inc., 1975. GRAPH’94).7. M. Desbrun, M. Meyer, P. Schröder, and A.H. Barr. Implicit 26. M. Lounsbery, S. Mann, and T. DeRose. Parametric surface fairing of irregular meshes using diffusion and curvature flow. interpolation. IEEE Computer Graphics and Applications, In Siggraph’99 Conference Proceedings, pages 317–324, Au- 12(5):45–52, September 1992. gust 1999. 27. J. Menon. Constructive shell representations for freeform sur-8. M. Do Carmo. Differential Geometry of Curves and Surfaces. faces and solids. IEEE Computer Graphics and Applications, Prentice Hall, 1976. 14(2):24–36, March 1994.9. K. Fujiwara. Eigenvalues of laplacians on a closed riemannian 28. H.P. Moreton and C.H. Séquin. Functional optimization for manifold and its nets. Proceedings of the AMS, 123:2585– fair surface design. Computer Graphics, pages 167–176, July 2594, 1995. 1992. (Proceedings SIGGRAPH’92).10. G. Golub and C.F. Van Loan. Matrix Computations. John 29. A.V. Oppenheim and R.W. Schafer. Digital Signal Processing. Hopkins University Press, 2nd. edition, 1989. Prentice Hall, Englewood Cliffs, NJ, 1975.11. G. Greiner and H.P. Seidel. Modeling with triangular 30. A. Pentland and S. Sclaroff. Closed-form solutions for b-splines. IEEE Computer Graphics and Applications, physically based shape modeling and recognition. IEEE 14(2):56–60, March 1994. Transactions on Pattern Analysis and Machine Intelligence, 13(7):715–729, July 1991.12. I. Guskov, W. Sweldens, and P. Schröder. Multiresolution sig- nal processing for meshes. In Siggraph’99 Conference Pro- 31. L.A. Shirman and C.H. Séquin. Local surface interpolation ceedings, pages 325–334, August 1999. with bezier patches. Computer Aided Geometric Design, 4:279–295, 1987.13. M. Halstead, M. Kass, and T. DeRose. Efficient, fair interpo- lation using catmull-clark surface. Computer Graphics, pages 32. G. Strang. The discrete cosine transform. SIAM Review, 35–44, August 1993. (Proceedings SIGGRAPH’93). 41(1):135–147, 1999. ­ The Eurographics Association 2000. c
  11. 11. Taubin / Mesh Signal Processing33. R.S. Szeliski, D. Tonnesen, and D. Terzopoulos. Modeling surfaces of arbitrary topology with dynamic particles. In Pro- ceedings, IEEE Conference on Computer Vision and Pattern Recognition, pages 82–87, New York, NY, June 15–17 1993.34. G. Taubin. Mesh smoothing applet. http://www.research.ibm.com/people/t/taubin/smooth.35. G. Taubin. Estimating the tensor of curvature of a surface from a polyhedral approximation. In Proceedings, Interna- tional Conference on Computer Vision (ICCV), 1995.36. G. Taubin. A signal processing approach to fair surface design. In Siggraph’95 Conference Proceedings, pages 351–358, Au- gust 1995.37. G. Taubin, A. Guéziec, W. Horn, and F. Lazarus. Progressive forest split compression. In Siggraph’98 Conference Proceed- ings, pages 123–132, July 1998.38. G. Taubin and J. Rossignac, editors. 3D Geometry Compres- sion, Siggraph’98 Course Notes 21, July 1998.39. G. Taubin and J. Rossignac, editors. 3D Geometry Compres- sion, Siggraph’99 Course Notes 22, August 1999.40. G. Taubin, T. Zhang, and G. Golub. Optimal surface smooth- ing as filter design. In Fourth European Conference on Com- puter Vision (ECCV’96), 1996. Also as IBM Technical Report RC-20404, March 1996.41. D. Terzopoulos and K. Fleischer. Deformable models. The Visual Computer, 4:306–311, 1988.42. W. Welch and A. Witkin. Variational surface modeling. Com- puter Graphics, pages 157–166, July 1992. (Proceedings SIG- GRAPH’92).43. W. Welch and A. Witkin. Free-form shape design using tri- angulated surfaces. Computer Graphics, pages 247–256, July 1994. (Proceedings SIGGRAPH’94).44. A. Yamada, T. Furuhata, K. Shimada, and K. Hou. A dis- crete spring model for generating fair curves and surfaces. In Proceedings of the Seventh Pacific Conference on Computer Graphics and Applications, pages 270–279, 1998.45. C.T. Zahn and R.Z. Roskies. Fourier descriptors for plane closed curves. IEEE Transactions on Computers, 21(3):269– 281, March 1972.46. D. Zorin, P. Schröder, and W. Sweldens. Interactive multireso- lution mesh editing. In Siggraph’97 Conference Proceedings, pages 259–268, August 1997.­ The Eurographics Association 2000.c