Spectral Mesh Processing: SIGGRAPH Asia 2009 Course 32
Spectral Mesh Processing: SIGGRAPH Asia 2009 Course 32
Bruno Lévy
INRIA, centre Nancy Grand Est,
rue du Jardin Botanique,
54500 Vandoeuvre, France
Email: bruno.levy@inria.fr
http://alice.loria.fr/index.php/bruno-levy.html
Bruno Lévy is a researcher with INRIA. His main contribution concerns pa-
rameterization of triangulated surfaces (LSCM), and is now used by some 3D
modeling software (including Maya, Silo, Blender, Gocad and Catia). He ob-
tained his Ph.D in 1999, and was hired by INRIA in 2000. Since 2004, he has
been leading Project ALICE - Geometry and Light, that aims at developping
mathematical tools for next generation geometry processing. He served on the
committee of ACM SPM, IEEE SMI, ACM/EG SGP, IEEE Visualization, Eu-
rographics, PG, ACM Siggraph, and was program co-chair of ACM SPM in 2007
and 2008, and will be program co-chair of SGP 2010. He was recently awarded
a ”Starting Grant” from the European Research Council (3% acceptance, all
disciplines of science).
Summary statement: In this course, you will learn the basics of Fourier
analysis on meshes, how to implement it, and how to use it for filtering, remesh-
ing, matching, compressing, and segmenting meshes.
Abstract: Spectral mesh processing is an idea that was proposed at the be-
ginning of the 90’s, to port the “signal processing toolbox” to the setting of
3D mesh models. Recent advances in both computer horsepower and numerical
software make it possible to fully implement this vision. In the more classi-
cal context of sound and image processing, Fourier analysis was a corner stone
in the development of a wide spectrum of techniques, such as filtering, com-
pression, and recognition. In this course, attendees will learn how to transfer
the underlying concepts to the setting of a mesh model, how to implement the
“spectral mesh processing” toolbox and use it for real applications, including
filtering, shape matching, remeshing, segmentation, and parameterization.
1 A gentle introduction
Consider the seahorse shape depicted by a closed contour, shown in Figure 1.
The contour is represented as a sequence of 2D points (the contour vertices) that
are connected by straight line segments (the contour segments), as illustrated
by a zoomed-in view. Now suppose that we wish to remove the rough features
over the shape of the seahorse and obtain a smoothed version, such as the one
shown in the right of Figure 1.
Figure 1: A seahorse with rough features (left) and a smoothed version (right).
The vector between vi and the midpoint of the line segment connecting the
two vertices adjacent to vi , shown as a red arrow in Figure 2(b), is called the
midpoint midpoint
smoothing smoothing
X 300
x−coordinates
x1 y1 250
x2 y2 xi!1
V= xi+1
......
......
xi 200
xn yn
150
0 100 200 300 400
i!1 i i+1 Contour vertex indexes
1 − 21 − 12
0 ... ... 0
− 1 1 − 1
0 ... ... 0
2 2
δ(X) = LX = ... .. .. .. .. .. .. X. (3)
. . . . . .
0 ... ... 0 − 12 1 − 21
− 12 0 ... ... 0 − 21 1
The new contour X̂ resulting from Laplacian smoothing (1) is then given by
1 1 1
x̂1 2 4 0 ... ... 0 4 x1
x̂2
1 1 1
0 ... ... 0 x2
4 2 4
X̂ =
..
.. .. .. .. .. .. .. ..
= . = SX. (4)
.
. . . . . .
.
x̂n−1 0 1 1 1
... ... 0 4 2 4 xn−1
1 1 1
x̂n 4 0 ... ... 0 4 2
x n
0 0 0 0
0 0 0 0
x̃i = eT
i · X. (6)
That is, the spectral coefficient x̃i is obtained as a projection of the signal X
along the direction of the i-th eigenvector ei . In Figure 4, we plot the first 8
eigenvectors of L, sorted by increasing eigenvalues, where n = 401, maching
the size of the seahorse shape from Figure 1. The indexing of elements in
each eigenvector follows the same contour vertex indexing as X, the coordinate
vector; it was plotted in Figure 3(b) for the seahorse. It is worth noting that
aside from an agreement on indexing, the Laplace operator L and the eigenbasis
vectors do not depend on X, which specifies the geometry of the contour. L,
as defined in equation (3), is completely determined by n, the size of the input
contour, and a vertex ordering.
As we can see, the eigenvector corresponding to the zero eigenvalue is a
constant vector. As eigenvalue increases, the eigenvectors start to oscillate as
sinusoidal curves at higher and higher frequencies. Note that the eigenvalues of
k = 3. k = 5. k = 10. k = 20. k = 30. k ≈ 12 n. Original.
L repeat (multiplicity 2) after the first one, hence the corresponding eigenvec-
tors of these repeated eigenvalues are not unique. One particular choice of the
eigenvectors reveals a connection of our spectral analysis to the classical Fourier
analysis; this will be discussed in Section 1.5.
which is simply the Euclidean distance between X and X (k) . The last equality
is easy to obtain if we note the orthogonality of the eigenvectors, i.e., eT
i · ej = 0
whenever i 6= j. Also, since the ei ’s are normalized, eTi · ei = 1.
In Figure 5, we show some results of this type of shape reconstruction (7),
with varying k for the seahorse and a bird shape. As more and more high-
frequency spectral coefficients are removed, i.e., with decreasing k, we obtain
2 2
1 1
0.5 0.5
0 0
−0.5 −0.5
−1 −1
0 50 100 150 200 250 300 350 400 0 10 20 30 40 50 60 70
Eigenvalue indexes Eigenvalue indexes
0 0 0 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
Figure 7: First row: filter plots, (1 − 12 λ)m with m = 1, 5, 10, 50. Second row:
corresponding results of Laplacian smoothing on the seahorse.
or
n
X
X= X̃(k)gk , where gk (j) = ei2π(j−1)(k−1)/n , k = 1, . . . , n.
k=1
We see that in the context of DFT, the signal X is expressed as a linear combina-
tion of the complex exponential DFT basis functions, the gk ’s. The coefficients
are given by the X̃(k)’s, which form the DFT of X. Fourier analysis, provided
by the DFT in the discrete setting, is one of the most important topics in math-
ematics and has wide-ranging applications in many scientific and engineering
disciplines. For a systematic study of the subject, we refer the reader to the
classic text by Bracewell [Bra99].
The connection we seek, between DFT and spectral analysis with respect to
the Laplace operator, is that the DFT basis functions, the gk ’s, form a set of
eigenvectors of the 1D discrete Laplace operator L, as defined in (3). A proof of
this fact can be found in Jain’s classic text on image processing [Jai89], where a
stronger claim with respect to circulant matrices was made. Note that a matrix
is circulant if each row can be obtained as a shift (with circular wrap-around)
of the previous row. It is clear that L is circulant.
Specifically, if we sort the eigenvalues of L in ascending order, then they are
πbk/2c
λk = 2 sin2 , k = 2, . . . , n. (9)
n
The first eigenvalue λ1 is always 0. We can see that every eigenvalue of L, except
for the first, and possibly the last, has a multiplicity of 2. That is, it corresponds
to an eigensubspace spanned by two eigenvectors. If we define the matrix G of
DFT basis as Gkj = ei2π(j−1)(k−1)/n , 1 ≤ k, j ≤ n, then the first column of G
is an eigenvector corresponding to λ1 and the k-th and (n + 2 − k)-th columns
of G are two eigenvectors corresponding to λk , for k = 2, . . . , n. The set of
eigenvectors of L is not unique. In particular, it has a set of real eigenvectors;
some of these eigenvectors are plotted in Figure 4.
the mesh, which, for a mesh with n vertices, is an n × 3 matrix whose columns
specify the x, y, and z coordinates of the mesh vertices.
The main task is to define an appropriate Laplace operator for the mesh.
Here a crucial difference to the classical DFTs is that while the DFT basis func-
tions are fixed as long as the length of the signal in question is determined, the
eigenvectors of a mesh Laplace operator would change with the mesh connec-
tivity and/or geometry. Formulations for the construction of appropriate mesh
Laplace operators will be the subjects of Sections 2 and 3.
Now with a mesh Laplace operator chosen, defining the spectral transform
of a mesh signal X with respect to the operator is exactly the same as the 1D
case for L in Section 1.2. Denote by e1 , e2 ,. . .,en the normalized eigenvectors of
the mesh Laplace operator, corresponding to eigenvalues λ1 ≤ λ2 ≤ . . . ≤ λn ,
and let E be the matrix whose columns are the eigenvectors. The vector of
spectral transform coefficients X̃ is obtained by X̃ = E T X. And for each i, we
obtain the spectral coefficient by x̃i = eTi · X via projection.
As a first visual example, we show in Figure 8 some results of spectral re-
construction, as define in (7), of a mesh model with progressively more spectral
coefficients added. As we can see, higher-frequency contents of the geometric
mesh signal manifest themselves as rough geometric features over the shape’s
surface; these features can be smoothed out by taking only the low-frequence
spectral coefficients in a reconstruction. A tolerance on such loss of geometric
features would lead to a JPEG-like compression of mesh geometry, as first pro-
posed by Karni and Gotsman [KG00a] in 2000. More applications using spectral
transforms of meshes will be given in Section 5.
2 Fourier analysis for meshes
The previous section introduced the idea of Fourier analysis applied to shapes,
with the example of a closed curve, for which the frequencies (sine waves) are
naturally obtained as the eigenvectors of the 1D discrete Laplacian. We now
study how to formalize the idea presented in the last subsection, i.e. porting
this setting to the case of arbitrary surfaces. Before diving into the heart of
the matter, we recall the definition of the Fourier transform, that is to say
the continuous version of the discrete signal processing framework presented in
Subsections 1.2 and 1.4.
and where < ., . > denotes the inner product (i.e. the “dot product” for func-
tions defined on [0, 1]). See [Arv95] or [Lev06] for an introduction to func-
tional analysis. The ”Circle harmonics” basis H k is orthonormal with respect
to < ., . >: < H k , H k >= 1, < H k , H l >= 0 if k 6= l.
The set of coefficients f˜k (Equation 11) is called the Fourier Transform (FT)
of the function f . Given the coefficients f˜k , the function f can be reconstructed
by applying the inverse Fourier Transform FT−1 (Equation 10). Our goal is
now to explain the generalization of these notions to arbitrary manifolds. To do
so, we can consider the functions H k of the Fourier basis as the eigenfunctions
of −∂ 2 /∂x2 : the eigenfunctions H 2k+1 (resp. H 2k+2 ) are associated with the
eigenvalues (2kπ)2 :
∂ 2 H 2k+1 (x)
− = (2kπ)2 cos(2kπx) = (2kπ)2 H 2k+1 (x)
∂x2
This construction can be extended to arbitrary manifolds by considering the
generalization of the second derivative to arbitrary manifolds, i.e. the Laplace
operator and its variants, introduced below. Before studying the continuous
theory, we first do a step backward into the discrete setting, in which it is easier
Figure 9: The Fiedler vector gives a natural ordering of the nodes of a graph.
The displayed contours show that it naturally follows the shape of the dragon.
ai,j = wi,j
P> 0 if (i, j) is an edge
ai,i = − j wi,j
ai,j = 0 otherwise
where the coefficients wi,j are weights associated to the edges of the graph. One
may use the uniform weighting wi,j = 1 or more elaborate weightings, computed
from the embedding of the graph. There are several variants of the Graph
Laplacian, the reader is referred to [ZvKDar] for an extensive survey. Among
these discrete Laplacians, the so-called Tutte Laplacian applies a normalization
in each row of L and is given by T = (ti,j ), where
The Tutte Laplacian was employed in the original work of Taubin [Tau95a],
among others [GGS03a, Kor03].
The first eigenvector of the Graph Laplacian is (1, 1 . . . 1) and its associ-
ated eigenvalue is 0. The second eigenvector is called the Fiedler vector and
has interesting properties, making it a good permutation vector for numerical
computations [Fie73, Fie75]. It has many possible applications, such as finding
natural vertices ordering for streaming meshes [IL05]. Figure 9 shows what it
looks like for a snake-like mesh (it naturally follows the shape of the mesh).
More insight on the Fiedler vector is given by the following alternative def-
inition. The Fiedler vector u = (u1 . . . un ) is the solution of the following con-
strained minimization problem:
P P 2 (12)
Subject to: i ui = 0 and i ui = 1
In other words, given a graph embedded in some space, and supposing that
the edge weight wi,j corresponds to the lengths of the edges in that space, the
Fielder vector (u1 . . . un ) defines a (1-dimensional) embedding of the graph on
a line that tries to respect the edge lengths of the graph.
This naturally leads to the question of whether embedding in higher-dimen-
sional spaces can be computed (for instance, computing a 2-dimensional embed-
ding of a surface corresponds the the classical surface parameterization prob-
lem). This general problem is well known by the automatic learning research
community as a Manifold learning problem, also called dimension reduction.
One of the problems in manifold learning is extracting from a set of input
(e.g. a set of images of the same object) some meaningful parameters (e.g.
camera orientation and lighting conditions), and sort these images with respect
to these parameters. From an abstract point of view, the images leave in a high-
dimensional space (the dimension corresponds to the number of pixels of the
images), and one tries to parameterize this image space. The first step constructs
a graph, by connecting each sample to its nearest neighbors, according to some
distance function. Then, different classes of methods have been defined, we
quickly review the most popular ones:
Local Linear Embedding [RS00a] tries to create an embedding that best
approximates the barycentric coordinates of each vertex relative to its neighbors.
In a certain sense, Floater’s Shape Preserving Parameterization (see [FH04]) is
a particular case of this approach.
Isomap [TdSL00] computes the geodesic distances between each pair of ver-
tex in the graph, and then uses MDS (multidimensional scaling) [You85] to com-
pute an embedding that best approximates these distances. Multidimensional
scaling simply minimizes an objective function that measures the deviation be-
tween the geodesic distances in the initial space and the Euclidean distances
in the embedding space (GDD for Geodesic Distance Deviation), by computing
the eigenvectors of the matrix D = (di,j ) where di,j denotes the geodesic dis-
tance between vertex i and vertex j. This is a multivariate version of Equation
12, that characterizes the Fiedler vector (in the univariate setting). Isomaps
and Multidimensional scaling were used to define parameterization algorithms
in [ZKK02], and more recently in the ISO-charts method [ZSGS04], used in Mi-
crosoft’s DirectX combined with the packing algorithm presented in [LPM02].
At that point, we understand that the eigenvectors play an important role in
determining meaningful parameters. Just think about the simple linear case: in
PCA (principal component analysis), the eigenvectors of the covariance matrix
characterize the most appropriate hyperplane on which the data should be pro-
jected. In dimension reduction, we seek for eigenvectors that will fit non-linear
features. For instance, in MDS, these eigenvectors are computed in a way that
makes the embedding space mimic the global metric structure of the surface,
captured by the matrix D = (di,j ) of all geodesic distances between all pairs of
vertices in the graph.
Instead of using the dense matrix D, methods based on the Graph Laplacian
only use local neighborhoods (one-ring neighborhoods). As a consequence, the
used matrix is sparse, and extracting its eigenvectors requires lighter computa-
tions. Note that since the Graph Laplacian is a symmetric matrix, its eigenvec-
tors are orthogonal, and can be used as a vector basis to represent functions.
This was used in [KG00b] to define a compact encoding of mesh geometry. The
basic idea consists in encoding the topology of the mesh together with the coef-
ficients that define the geometry projected onto the basis of eigenvectors. The
decoder simply recomputes the basis of eigenvectors and multiplies them with
the coefficients stored in the file. A survey of spectral geometry compression and
its links with graph partitioning is given in [Got03]. Spectral graph theory also
enables to exhibit ways of defining valid graph embeddings. For instance, Colin-
de-verdière’s number [dV90] was used in [GGS03b] to construct valid spherical
embeddings of genus 0 meshes. Other methods that use spectral graph theory
to compute graph embeddings are reviewed in [Kor02]. Spectral graph theory
can also be used to compute topological invariants (e.g. Betti numbers), as
explained in [Fei96]. As can be seen from this short review of spectral graph
theory, the eigenvectors and eigenvalues of the graph Laplacian contain both
geometric and topological information.
However, as explained in [ZSGS04], only using the connectivity of the graph
may lead to highly distorted mappings. Methods based on MDS solve this issue
by considering the matrix D of the geodesic distances between all possible pairs
of vertices. However, we think that it is also possible to inject more geometry
in the Graph Laplacian approach, and understand how the global geometry and
topology of the shape may emerge from the interaction of local neighborhoods.
This typically refers to notions from the continuous setting, i.e. functional
analysis and operators. The next section shows its link with the Laplace-
Beltrami operator, that appears in the wave equation (Helmholtz’s equation).
We will also exhibit the link between the so-called stationary waves and spectral
graph theory.
2.3 The Continuous Setting: Laplace Beltrami
The Laplace operator (or Laplacian) plays a fundamental role in physics and
mathematics. In Rn , it is defined as the divergence of the gradient:
X ∂2
∆ = div grad = ∇.∇ =
i
∂x2i
Intuitively, the Laplacian generalizes the second order derivative to higher di-
mensions, and is a characteristic of the irregularity of a function as ∆f (P )
measures the difference between f (P ) and its average in a small neighborhood
of P .
Generalizing the Laplacian to curved surfaces require complex calculations.
These calculations can be simplified by a mathematical tool named exterior cal-
culus (EC) 1 . EC is a coordinate free geometric calculus where functions are
considered as abstract mathematical objects on which operators act. To use
these functions, we cannot avoid instantiating them in some coordinate frames.
However, most calculations are simplified thanks to higher-level considerations.
For instance, the divergence and gradient are known to be coordinate free oper-
ators, but are usually defined through coordinates. EC generalizes the gradient
by d and divergence by δ, which are built independently of any coordinate frame.
Using EC, the definition of the Laplacian can be generalized to functions
defined over a manifold S with metric g, and is then called the Laplace-Beltrami
operator:
X 1 ∂ p ∂
∆ = div grad = δd = p |g|
i
|g| ∂xi ∂x i
p
where |g| denotes the determinant of g. The additional term |g| can be inter-
pretedp as a local ”scale” factor since the local area element dA on S is given by
dA = |g|dx1 ∧ dx2 .
Finally, for the sake of completeness, we can mention that the Laplacian
can be extended to k-forms and is then called the Laplace-de Rham operator
defined by ∆ = δd + dδ. Note that for functions (i.e. 0-forms), the second term
dδ vanishes and the first term δd corresponds to the previous definition.
Since we aim at constructing a function basis, we need some notions from
functional analysis, quickly reviewed here. A similar review in the context of
light simulation is given in [Arv95].
one of the first uses of EC in geometry processing [GY02] applied some of the fundamental
notions involved in the proof of Poincaré’s conjecture to global conformal parameterization.
More recently, a Siggraph course was given by Schroeder et al. [SGD05], making these notions
usable by a wider community.
below.
Hilbert spaces
function space X. The next section shows this method applied to the Laplace-
Beltrami operator. Before entering the heart of the matter, we will first consider
the historical perspective.
∆f = λf (13)
In this equation, ∆ denotes the Laplace-Beltrami operator on the considered
object. In Cartesian 2D space, ∆ = ∂ 2 /∂x2 + ∂ 2 /∂y 2 . We are seeking for the
eigenfunctions of this operator. To better understand the meaning of this equa-
tion, let us first consider a vibrating circle. This corresponds to the univariate
case on the interval [0, 2π] with cyclic boundary conditions (i.e. f (0) = f (2π)).
In this setting, the Laplace-Beltrami operator simply corresponds to the second
order derivative. Recalling that sin(ωx)00 = ω 2 sin(ωx), the eigenfunctions are
simply sin(N x), cos(N x) and the constant function, where N is an integer. Note
that the so-constructed function basis is the one used in Fourier analysis.
From the spectrum of the Laplace-Beltrami operator, it is well known that
one can extract the area of S, the length of its border and its genus. This
leads to the question asked by Kac in 1966: Can we hear the shape of a drum
Figure 11: Contours of the first eigenfunctions. Note how the protrusions
and symmetries are captured. The eigenfunctions combine the geometric and
topological information contained in the shape signal.
? [Kac66]. The answer to this question is “no”: one can find drums that have
the same spectrum although they do not have the same shape [Cip93] (they are
then referred to as isospectral shapes). However, the spectrum contains much
information, which led to the idea of using it as a signature for shape matching
and classification, as explained in the “shape DNA” approach [RWP05a].
We are now going now to take a look at the eigenfunctions. Mathematicians
mostly studied bounds and convergence of the spectrum. However, some results
are known about the geometry of the eigenfunctions [JNT]. More precisely,
we are interested in the so-called nodal sets, defined to be the zero-set of an
eigenfunction. Intuitively, they correspond to the locations that do not move on
a Chladni plate, where sand accumulates (see Figure 10). A nodal set partitions
the surface into a set of nodal domains of constant sign. The nodal sets and
nodal domains are characterized by the following theorems:
1. the n-th eigenfunction has at most n nodal domains
2. the nodal sets are curves intersecting at constant angles
Besides their orthogonality, these properties make eigenfunction an interesting
choice for function bases. Theorem 1 exhibits their multi-resolution nature,
and from theorem 2, one can suppose that they are strongly linked with the
geometry of the shape. Note also that these theorems explain the appearance
of Chladni plates. This may also explain the very interesting re-meshing results
obtained by Dong et. al [DBG+ 05], that use a Morse-smale decomposition of
one of the eigenfunctions.
In the case of simple objects, a closed form of the eigenfunctions can be
derived. This made it possible to retrieve the patterns observed by Chladni in
the case of a square and a circle. For curved geometry, Chladni could not make
the experiment, since sand would not remain in the nodal set. However, one
can still study the eigenfunctions. For instance, on a sphere, the eigenfunction
correspond to spherical harmonics (see e.g. [JNT]), often used in computer
graphics to represent functions defined on the sphere (such as radiance fields or
Figure 12: Contours of the 4th eigenfunction, computed from the Graph Lapla-
cian (left) and cotangent weights (right) on an irregular mesh.
−∆H k = λk H k (14)
Figure 13: Some functions of the Manifold Harmonic Basis (MHB) on the Gar-
goyle dataset
The “−” sign is here required for the eigenvalues to be positive. On a closed
curve, the eigenfunctions of the Laplace operator define the function basis (sines
and cosines) of Fourier analysis, as recalled in the previous section. On a square,
they correspond to the function basis of the DCT (Discrete Cosine Transform),
used for instance by the JPEG image format. Finally, the eigenfunctions of the
Laplace-Beltrami operator on a sphere define the Spherical Harmonics basis.
In these three simple cases, two reasons make the eigenfunctions a function
basis suitable for spectral analysis of manifolds:
1. Because the Laplacian is symmetric (< ∆f, g >=< f, ∆g >), its eigen-
functions are orthogonal, so it is extremely simple to project a function
onto this basis, i.e. to apply a Fourier-like transform to the function.
2. For physicists, the eigenproblem (Equation 14) is called the Helmoltz equa-
tion, and its solutions H k are stationary waves. This means that √ the H k
are functions of constant wavelength (or spatial frequency) ωk = λk .
Hence, using the eigenfunctions of the Laplacian to construct a function ba-
sis on a manifold is a natural way to extend the usual spectral analysis to this
manifold. In our case, the manifold is a mesh, so we need to port this construc-
tion to the discrete setting. The first idea that may come to the mind is to apply
spectral analysis to a discrete Laplacian matrix (e.g. the cotan weights). How-
ever, the discrete Laplacian is not a symmetric matrix (the denominator of the
ai,j coefficient is the area of vertex i0 s neighborhood, that does not necessarily
correspond to the area of vertex j’s neighborhood). Therefore, we lose the sym-
metry of the Laplacian and the orthogonality of its eigenvectors. This makes it
difficult to project functions onto the basis. For this reason, we will clarify the
relations between the continuous setting (with functions and operators), and
the discrete one (with vectors and matrices) in the next section.
In this section, we present two ways of discretizing the Laplace operator on
a mesh. The first approach is based on Finite Element Modeling (FEM) such
as done in [WBH+ 07], and converge to the continuous Laplacian under certain
conditions as explained in [HPW06] and [AFW06]. Reuter et al. [RWP05b]
also use FEM to compute the spectrum (i.e. the eigenvalues) of a mesh, which
provides a signature for shape classification. The cotan weights were also used
in [DBG+ 06b] to compute an eigenfunction to steer a quad-remeshing process.
The cotan weights alone are still dependent on the sampling as shown in Fig-
ure 18-B, so they are usually weighted by the one ring or dual cell area of each
vertex, which makes them loose their symmetry. As a consequence, they are
improper for spectral analysis (18-C). An empirical symmetrization was pro-
posed in [Lev06] (see Figure 18-D). The FEM formulation enables to preserve
the symmetry property of the continuous counterpart of the Laplace operator.
It is also possible to derive a symmetric Laplacian by using the DEC formu-
lation (Discrete Exterior Calculus). Then symmetry is recovered by expressing
the operator in a proper basis. This ensures that its eigenfunctions are both ge-
ometry aware and orthogonal (Figure 18-E). Note that a recent important proof
[WMKG07] states that a ”perfect” discrete Laplacian that satisfies all the prop-
erties of the continuous one cannot exist on general meshes. This explains the
large number of definitions for a discrete Laplacian, depending on the desired
properties.
or in matrix form:
−Qhk = λBhk (15)
where Qi,j =< ∆Φi , Φj >, Bi,j =< Φi , Φj > and where hk denotes the vector
[H1k , . . . Hnk ]. The matrix Q is called the stiffness matrix, and B the mass matrix.
This appendix derives the expressions for the coefficients of the stiffness
matrix Q and the mass matrix B. To do so, we start by parameterizing a triangle
t = (i, j, k) by the barycentric coordinates (or hat functions) Φi and Φj of a point
P ∈ t relative to vertices i and j. This allows to write P = k + Φi ej − Φj ei
(Figure 14). This yields an area element dA(P ) = ei ∧ ej dΦi dΦj = 2|t|dΦi dΦj ,
Figure 14: Notations for matrix coefficients computation. Vectors are typed in
bold letters (ei )
1
|t|
Z
2 1 2 1
|t| Φi (1 − Φi ) dΦi = |t| − + =
Φi =0 2 3 4 12
which we sum up on the 2 triangles sharing (i, j) to get Bi,j = (|t| + |t0 |/12. We
get the diagonal terms by:
Z Z 1 Z 1−Φi
2
Φi dA = 2|t| Φ2i dΦj =
P ∈t Φi =0 Φj =0
1
|t|
Z
1 1
2|t| Φ2i (1 − Φi )dΦi = 2|t| − =
Φi =0 3 4 6
which
P are summed up over the set St(i) of triangles containing i to get Bi,i =
( t∈St(i) |t|)/6.
To compute the coefficients of the stiffness matrix Q, we use the fact that d
and δ are adjoint to get the more symmetric expression:
Z
Qi,j =< ∆Φi , Φj >=< δdΦi , Φj >=< dΦi , dΦj >= ∇Φi .∇Φj
S
where the mass matrix B is replaced with a diagonal matrix D called the lumped
mass matrix, and defined by:
X X
Di,i = Bi,j = ( |t|)/3. (18)
j t∈St(i)
Note that D is non-degenerate (as long as mesh triangles have non-zero areas).
FEM researchers [Pra99] explain that besides simplifying the computations this
approximation fortuitously improves the accuracy of the result, due to a can-
cellation of errors, as pointed out in [Dye06]. The practical solution mechanism
to solve Equation 17 will be explained further in the section about numerics.
Remark: The matrix D−1 Q in (Equation 17) exactly corresponds to the usual
discrete Laplacian (cotan weights). Hence, in addition to direct derivation of
triangle energies [PP93] or averaged differential values [MDSB03], the discrete
Laplacian can be derived from a lumped-mass FEM formulation.
Figure 15: Reconstructions obtained with an increasing number of eigenfunc-
tions.
As will be seen further, the FEM formulation and associated inner product
will help us understand why the orthogonality of the eigenvectors seems to be
lost (since D−1 Q is not symmetric), and how to retrieve it.
Without entering the details, we mention some interesting features and de-
grees of freedom obtained with the FEM formulation. The function basis Φ onto
the eigenfunction problem is projected can be chosen. One can use piecewise
polynomial functions. Figure 16 shows how the eigenfunctions look like with
the usual piecewise linear basis (also called P1 in FEM parlance) and degree 3
polynomial basis (P3). Degree 3 triangles are defined by 10 values (1 value per
vertex, two values per edge and a central value). As can be seen, more complex
function shapes can be obtained (here displayed using a fragment shader). It is
also worth mentioning that the boundaries can be constrained in two different
ways (see Figure 17). With Dirichlet boundary conditions, the value of the func-
tion is constant on the boundary (contour lines are parallel to the boundary).
With Neumann boundary condistions, the gradient of the eigenfunction is par-
allel to the boundary (therefore, contour lines are orthogonal to the boundary).
4 Computing eigenfunctions
Now that we have seen two equivalent discretizations of the Laplacien, namely
FEM (Finite Elements Modeling) and DEC (Discrete Exterior Calculus), we
will now focus on the problem of computing the eigenfunctions in practice. An
implementation of the algorithm is available from the WIKI of the course (see
web reference at the beginning of this document).
Computing the eigenfunctions means solving for the eigenvalues λk and
¯
eigenvectors H̄ k for the symmetric positive semi-definite matrix ∆:
¯ H̄ k = λk H̄ k
∆
(1) λS ← 0 ; λlast ← 0
2
(2) while(λlast < ωm )
(3) compute an inverse ∆SI of (∆ ¯ − λS Id)
(4) find the 50 first eigenpairs (H̄ k , µk ) of ∆SI
(5) for k = 1 to 50
(6) λk ← λS + 1/µk
(7) if (λk > λlast ) write(H̄ k , λk )
(8) end //f or
(9) λS ← max(λk ) + 0.4(max(λk ) − min(λk ))
(10) λlast ← max(λk )
(11) end //while
Before calling the eigen solver, we pre-compute ∆SI with a sparse direct
solver (Line 3). Note that ∆ ¯ − λS Id may be singular. This is not a problem
since the spectral transform still works with an indefinite factorization. The
factorized ∆¯ − λS Id is used in the inner loop of the eigen solver (Line 4). To
¯
factorize ∆−λ S Id, we used sparse direct solvers (TAUCS, SUPERLU). For large
models (millions of vertices), we used the sparse OOC (out-of-core) symmetric
indefinite factorization [MIT06] implemented in the future release of TAUCS,
kindly provided by S. Toledo. We then recover the λ’s from the µ’s (Line 6)
and stream-write the new eigenpairs into a file (Line 7). Since the eigenvalues
are centered around the shift λS , the shift for the next band is given by the last
computed eigenvalue plus slightly less than half the bandwidth to ensure that
the bands overlap and that we are not missing any eigenvalue (Line 9). If the
bands do not overlap, we recompute a larger band until they do.
Note that this is different from the shift-invert spectral transform imple-
mented by ARPACK, dedicated to iterative solvers. Ours makes use of the
factorization of the matrix, resulting in much better performances.
5 Applications
The eigendecomposition of a discrete mesh Laplace operator provides a set of
eigenvalues and eigenvectors, which can be directly used by an application to
accomplish different tasks. Moreover, the eigenvectors can also be used as a
basis onto which a signal defined on a triangle mesh is projected. The resulting
spectral transform coefficients can be further analyzed or manipulated. Here we
discuss a subset of the applications which utilize the spectral transform or the
eigenvectors of mesh Laplace or more general linear mesh operators.
Figure 22: Eigenvector plots for two similar shapes, both with 252 vertices.
The entries in an eigenvector are color-mapped. As we can see, there is an
“eigenvector switching” occurring between the fifth and sixth eigenvectors. Such
“switching” is difficult to detect from the magnitude of the eigenvalues. The
first 8 eigenvalues for the two shapes are [205.6, 11.4, 4.7, 3.8, 1.8, 0.4, 0.26, 0.1]
and [201.9, 10.9, 6.3, 3.4, 1.8, 1.2, 0.31, 0.25], respectively.
two models, the two embeddings are non-rigidly aligned via thin-plate splines
and the correspondence between the two shapes is given by the proximity of the
vertices after such alignment. Any measure for the cost of a correspondence,
e.g., sum of distances between corresponding vertices, can be used as a similarity
distance for shape retrieval.
One of the key observations made in [JZvK07] is the presence of “eigen-
vector switching” due to non-uniform scaling of the shapes. Specifically, the
eigenmodes of similar shapes do not line up with respect to the magnitude of
their corresponding eigenvalues, as illustrated in Figure 22. As a result, it is
unreliable to sort the eigenvectors according to the magnitude of their respec-
tive eigenvalues, as has been done in all works on spectral correspondence so far.
Jain and Zhang [JZvK07] relied on a heuristic to “unswitch” the eigenmodes and
thin-plate splines to further align the shapes in the spectral domain [JZvK07].
Recent work of Mateus et al. [MCBH07] addressed the issue using an alignment
by the Expectation-Maximization (EM) algorithm instead.
The method by Leordeanu and Hebert [LH05] focuses on the global char-
acteristics of correspondence computation and aims at finding consistent cor-
respondences between two sets of shape or image features, where the spectral
approach has also found its utility. They build a graph whose nodes represent
possible feature pairings and edge weights measure how agreeable the pairings
are. The principal eigenvector of an affinity matrix W , one corresponding to the
largest eigenvalue, is inspected to detect how strongly the graph nodes belong
to the main cluster of W . The idea is that correct correspondences are likely to
establish links among each other and thus form a strongly connected cluster.
To define informative shape descriptors, another possibility consists in using
the heat diffusion equation and the heat kernel. Heat diffusion is governed by
the following differential equation :
∂f
= k∆f
∂t
where k is a constant. This equation admits a solution that can be written as :
Z
f (t, x) = K(t, y, x)dy
where K(t, x, y) denotes the heat kernel. Intuitively, considering that a Dirac of
heat was emitted from point x at time t = 0, the heat kernel K(t, x, y) indicates
the quantity of heat that can be measured at point y after time t. The heat
kernel admits an expression as an (infinite) sum of eigenfunctions :
∞
X
K(t, x, y) = e−λi t φi (x)φi (y)
i=0
Using this expression, the idea of using the auto-diffusion function was simul-
taneously proposed in [SOG] and [GBAL]. The auto-diffusion function corre-
sponds to the amount of heat that remains at point x after time t for a given
t, in other words K(t, x, x). This defines a scalar field on the surface that prov-
ably has good properties to be used as a shape descriptor [SOG]. In particular,
protrusions correspond to extrema of the function. The value of t acts as a
smoothing parameter (smaller values of t preserve most details, and higher val-
ues of t tend to a constant function). Another application of the auto-diffusion
function is to compute a Morse-Smale complex for shape segmentation [GBAL].
5.2.2 Watermarking
Ohbuchi et al. [OTMM01, OMT02] also employed the spectral transform ap-
proach, but to insert watermarks into triangle meshes. In their method, the
eigenvectors of the graph Laplacian are used as the basis for the projection.
After transforming the geometry of the mesh and obtaining the spectral coeffi-
cients, a watermark is inserted into the model by modifying coefficients at the
low-frequency end of the spectrum. In this way, modifications on the geometry
of the mesh are well-spread over the model and less noticeable than if they were
directly added to the vertex coordinates. This method also requires the compu-
tation of eigenvectors of the Laplace operator, which is prohibitive in the case
of large meshes. Mesh partitioning is again used to address this problem.
References
[AFW06] D. N. Arnold, R. S. Falk, and R. Winther. Finite element exterior
calculus, homological techniques, and applications. Acta Numerica
15, 2006.
[Arv95] James Arvo. The Role of Functional Analysis in Global Illumina-
tion. In P. M. Hanrahan and W. Purgathofer, editors, Rendering
Techniques ’95 (Proceedings of the Sixth Eurographics Workshop on
Rendering), pages 115–126, New York, NY, 1995. Springer-Verlag.
[DBG+ 06b] Shen Dong, Peer-Timo Bremer, Michael Garland, Valerio Pascucci,
and John C. Hart. Spectral surface quadrangulation. In SIG-
GRAPH ’06: ACM SIGGRAPH 2006 Papers, pages 1057–1066,
New York, NY, USA, 2006. ACM Press.
[dGGV08] Fernando de Goes, Siome Goldenstein, and Luiz Velho. A hierarchi-
cal segmentation of articulated bodies. Computer Graphics Forum
(Symposium on Geometry Processing), 27(5):1349–1356, 2008.
[DKT05] Mathieu Desbrun, Eva Kanzo, and Yiying Tong. Discrete differen-
tial forms for computational modeling. Siggraph ’05 course notes
on Discrete Differential Geometry, Chapter 7, 2005.
[DMA02] Mathieu Desbrun, Mark Meyer, and Pierre Alliez. Intrinsic pa-
rameterizations of surface meshes. In Proceedings of Eurographics,
pages 209–218, 2002.
[SOG] Jian Sun, Maks Ovsjanikov, and Leonidas Guibas. A concise and
provably informative multi-scale signature based on heat diffusion.
Computer Graphics Forum (Proc. of Symp. on Geom. Proc.).
[Tau95a] G. Taubin. A signal processing approach to fair surface design. In
Proc. of ACM SIGGRAPH, pages 351–358, 1995.
[ZL05] H. Zhang and R. Liu. Mesh segmentation via recursive and visually
salient spectral cuts. In Proc. of Vision, Modeling, and Visualiza-
tion, 2005.
[ZSGS04] Kun Zhou, John Snyder, Baining Guo, and Heung-Yeung Shum.
Iso-charts: Stretch-driven mesh parameterization using spectral
analysis. In Symposium on Geometry Processing, pages 47–56,
2004.
[ZvKDar] Hao Zhang, Oliver van Kaick, and Ramsay Dyer. Spectral mesh
processing. Computer Graphics Forum, 2009, to appear. http:
//www.cs.sfu.ca/∼haoz/pubs/zhang cgf09 spect survey.pdf.