Levy Spectral
Levy Spectral
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.
SIGGRAPH 2010
“What is So Spectral ?”
Richard Hao Zhang
Why is “Spectral” Special?
Spectral Mesh Processing
? !
Spectral approach: a solution paradigm
x y
Talking about different views …
– Geometric perspective
alignment
Rigid
Spectral mesh processing
– Motivations
– Sample applications
• Overview
• A signal processing perspective
– A very gentle introduction boredom alert
– Signal compression and filtering
– Relation to discrete Fourier transform (DFT)
• Geometric perspective: global and intrinsic
• Dimensionality reduction
• Difficulties and challenges
Outline
• Overview
• A signal processing perspective
– A very gentle introduction boredom alert
– Signal compression and filtering
– Relation to discrete Fourier transform (DFT)
• Geometric perspective: global and intrinsic
• Dimensionality reduction
• Difficulties and challenges
Overall structure
e.g.
y’ = U(3)U(3)Ty
Some mesh =
operator A
Classification of applications
• Eigenstructure(s) used
– Eigenvalues: signature for shape characterization
– Eigenvectors: form spectral embedding (a transform)
– Eigenprojection: also a transform DFT-like
• Dimensionality of spectral embeddings
– 1D: mesh sequencing
– 2D or 3D: graph drawing or mesh parameterization
– Higher D: clustering, segmentation, correspondence
• Mesh operator used
– Combinatorial vs. geometric, 1st-order vs. higher order
Classification of applications
• Eigenstructure(s) used
– Eigenvalues: signature for shape characterization
– Eigenvectors: form spectral embedding (a transform)
– Eigenprojection: also a transform DFT-like
• Dimensionality of spectral embeddings
– 1D: mesh sequencing
– 2D or 3D: graph drawing or mesh parameterization
– Higher D: clustering, segmentation, correspondence
• Mesh operator used
– Combinatorial vs. geometric, 1st-order vs. higher order
Classification of applications
• Eigenstructure(s) used
– Eigenvalues: signature for shape characterization
– Eigenvectors: form spectral embedding (a transform)
– Eigenprojection: also a transform DFT-like
• Dimensionality of spectral embeddings
– 1D: mesh sequencing
– 2D or 3D: graph drawing or mesh parameterization
– Higher D: clustering, segmentation, correspondence
• Mesh operator used
– Combinatorial vs. geometric, 1st-order vs. higher order
Much more details in survey
• Overview
• A signal processing perspective
– A very gentle introduction boredom alert
– Signal compression and filtering
– Relation to discrete Fourier transform (DFT)
• Geometric perspective: global and intrinsic
• Dimensionality reduction
• Difficulties and challenges
The smoothing problem
• Smooth out rough features of a contour (2D shape)
Midpoint smoothing
• Successive connection of midpoints
Midpoint Laplacian smoothing
• Two steps of midpoint smoothing
• Local averaging
• 1D discrete Laplacian
Laplacian smoothing
• Obtained by 10 steps of Laplacian smoothing
Signal representation
• Represent a contour using a discrete periodic 2D
signal
x-coordinates of the
seahorse contour
Laplacian smoothing in matrix form
n = 401
n = 75
Eigenvalue plots
• Fairly fast eigenvalue decay
Filtering and Laplacian smoothing
• Recall the Laplacian smoothing operator
• Repeated application of S
A filter applied to
spectral coefficients
Examples
m=1 m=5 m = 10 m = 50
Filter: More by Bruno
Aside: other filters
Laplacian Butterworth
Computational issues
– Use of axioms
A geometric perspective: analytic
Courant-Fisher Theorem:
Let S n n be a symmetric matrix. Then its eigenvalues
1 2 …. n must satisfy the following, v Sv T
i min max v T Sv vT v
V n
vV
dim V i v 2 1
Rayleigh quotient
1 min v T Sv and n max v T Sv
v 2
1 v 2
1
i min v T Sv
v 2 1
v v k 0 , 1 k i-1
T
Linkage-based
(local info.)
spectral
domain
Spectral clustering
Local vs. global distances
In spectral domain
Commute time and spectral
K = UUT
K’ = U’UT,
alignment
Rigid
More in the afternoon
Main references
Outline
• Overview
• A signal processing perspective
– A very gentle introduction boredom alert
– Signal compression and filtering
– Relation to discrete Fourier transform (DFT)
• Geometric perspective: global and intrinsic
• Dimensionality reduction
• Difficulties and challenges
Spectral embedding
• Spectral decomposition A = UUT
W = A 1
W U 2
Dimensionality reduction
dimensionality reduction
– Information-preserving
• Overview
• A signal processing perspective
– A very gentle introduction boredom alert
– Signal compression and filtering
– Relation to discrete Fourier transform (DFT)
• Geometric perspective: global and intrinsic
• Dimensionality reduction
• Difficulties and challenges
Not quite DFT
I. Harmonics
II. DEC formulation
III. Filtering
IV. Numerics
Introduction
Fourier transform
=Σ
f
sin(kx)
Introduction
Filtering
x =
Introduction
Filtering
Filtering
Convolution
Fourier Inverse
Transform Geometric space Fourier
Transform
Frequency space
x
Introduction
Filtering on a mesh
Filtering
[Taubin 95]
Geometric space
Frequency space
? x
?
Introduction
Filtering on a mesh
Filtering
[Taubin 95]
Geometric space
Frequency space
? x
?
Introduction
Filtering on a mesh
Filtering
[Taubin 95]
Geometric space
Frequency space
[Karni00] mesh compression
on ?
sin(kx)
I Harmonics
Harmonics and vibrations
Harmonics
Harmonics
?
I Harmonics
Square Harmonics
Harmonics
Harmonics
?
I Harmonics
Chladni plates
sand
I Harmonics
Chladni plates
I Harmonics
Chladni plates
Harmonics
Harmonics
I Harmonics
Manifold Harmonics
Harmonics
Harmonics
Stationary vibrating modes
I Harmonics
Harmonics and vibrations
• Wave equation: y
x
T ∂²y/∂x² = μ ∂²y/∂t²
T: stiffness μ: mass
• Stationary modes:
y(x,t) = y(x)sin(ωt)
∂²y/∂x² = -μω²/T y
eigenfunctions of ∂²/∂x²
I Harmonics
I Harmonics : recap
Based on k-forms
II DEC formulation
k-forms
mesh
dual mesh
II DEC formulation
0-forms
-4.6
-7.5 5.1
3.5
3.5 -2.7
0.2
5
II DEC formulation
1-forms
-7.5 -4.6
-5.3 5.1
0.3 -4.8
8.1 -2.7
0.2 3.5
5 3.5
II DEC formulation
2-forms
2.1
3.1
3.4 -5.9
3.2 4.7
6.2
-1.4
3.8 -1.6
2.7
II DEC formulation
dual 0-forms
4.3
-4.6 3.5 -6
5.6 -4.6
2.2 3.6
0.1
5.5 -4.6
-1.2
-0.6 -2.6
0.6 1.2
II DEC formulation
dual 2-forms
3.2
-5.9
6.2 2.1
3.1
3.4
3.8 -1.6
2.7
II DEC formulation
Hodge star
*0
from to term
0-forms dual 2-forms |*i|
i mesh
dual mesh
II DEC formulation
Hodge star
*1
from to term
1-forms dual 1-forms |*ij|/|ij| = cot(β)+cot(β’)
β
i ij j mesh
* dual mesh
β’
II DEC formulation
Exterior derivative d
from to term
0-forms 1-forms df (ij) = fi - fj
d i j k l f
Oriented connectivity
ij -1 +1 0 0 fi
of the mesh:
l jk 0 -1 +1 0 fj
i ki +1 0 -1 0 fk
il -1 0 0 +1 fl
k lj 0 +1 0 -1
j
II DEC formulation
DEC Laplacian
Dirichlet Neumann
II Two words on FEM
Boundary conditions
Dirichlet Neumann
II DEC formulation
Manifold Harmonics Basis
Eigenfunctions of
+1
operator Δ
FEM or
DEC
Eigenvectors of
-1
matrix L
II DEC formulation
II DEC formulation : recap
on =
sin(kx)
III Filtering
Introduction
I. Harmonics
II. DEC formulation
III. Filtering
IV. Numerics
Results and conclusion
III Filtering
?
III Filtering
Spectral Filtering
• The Manifold Harmonics Hk come with an eigenvalue λk
• The λk= ωk2 is a squared spatial frequency
• A filter is a transfer function F(ω)
Geometric space fi Filtering fifilt
MHT MHT-1
Take f =(r,g,b)
III Filtering
Geometry Filtering - DEMO
Take f =(x,y,z)
IV Numerics
Introduction
I. Harmonics
II. DEC formulation
III. Filtering
IV. Numerics
IV Numerics
Eigenvalues
• L Hk = λk Hk
• L-1 Hk = λk-1 Hk
• L Hk = λk Hk
• (L – λs Id) Hk = ( λk – λs ) Hk
λk
0
IV Numerics
Band by band algorithm
λk
λs0=0
IV Numerics
Band by band algorithm
λk
λs0=0 λs1
IV Numerics
Band by band algorithm
λk
λs0=0 λs1 λs2
IV Numerics
Band by band algorithm
λk
λs0=0 λs1 λs2 λs3
IV Numerics
Band by band algorithm
λk
λs0=0 λs1 λs2 λs3 λs4
IV Numerics - Cookbook
Putting everything together
• (1) compute the discrete Laplacian L
aij = 2 (cotan + cotan ) / (Ai Aj)
• (2) for each frequency band centered on λs
• Factorize (L – λs Id) using a sparse direct
solver (TAUCS, SuperLU …)
• Each time the eigensolver queries a matrix-
vector product x = Mv,
solve Lx - λsx = v instead
IV Numerics
Eigen solver
Main loop: ARPACK (Arnoldi solver)
Matrix factorization: SuperLU or TAUCS
Full Implementation: http://alice.loria.fr/software/graphite
http://alice.loria.fr/WIKI/index.php/Graphite/SpectralMeshProcessing
Hao Zhang
School of Computing Science
Simon Fraser University, Canada
Recap
• Spectral mesh processing
Use eigenstructures of appropriately defined linear
mesh operators for geometry analysis and processing
Solve a problem in a different domain via a transform
spectral transform
Fourier analysis on meshes
Captures global and intrinsic shape characteristics
Dimensionality reduction: effective and simplifying
Applications covered
• Mesh segmentation
• Non-rigid correspondence
• Shape retrieval
Operator A Leading
eigenvectors
Input data
Spectral embedding
Applications covered
• Mesh segmentation
• Non-rigid correspondence
• Shape retrieval
Linkage-based
(local info)
spectral
domain
Spectral clustering
Key issues
• Distance definition
– Fundamental to most shape analysis tasks
– Ideal: short distance if elements in same part
– But not clear what a part is …
Key issues
• Distance definition
– Fundamental to most shape analysis tasks
– Ideal: short distance if elements in same part
– But not clear what a part is …
• Computation of spectral embeddings
– Efficiency: Nyström approximation
Key issues
• Distance definition
– Fundamental to most shape analysis tasks
– Ideal: short distance if elements in same part
– But not clear what a part is …
• Computation of spectral embeddings
– Efficiency: Nyström approximation
• How to cluster, depending on DIM of embeddings
– Higher-D: k-means most typical (easier in spectral)
– 1D: linear search with hard-to-optimize energy
Key issues
• Distance definition
– Fundamental to most shape analysis tasks
– Ideal: short distance if elements in same part
– But not clear what a part is …
• Computation of spectral embeddings
– Efficiency: Nyström approximation
• How to cluster, depending on DIM of embeddings
– Higher-D: k-means most typical (easier in spectral)
– 1D: linear search with hard-to-optimize energy
Distance measure (a metric)
• Euclidean
• Geodesic
• Isophotic or
angular
[Pottmann 04, Katz
03]
• Diffusion Surface based!
distance [deGoes
08, Coifman 06]
Diffusion and commute time distances
• Both model “connected-ness” between points
– More global sense than geodesics
– Consider more paths between two points
• Diffusion distance
– Defined by a time/scale parameter t
– Consider only paths of length t or less
• Commute time distance: consider paths of all lengths
• Both are still surface-based distances
Most typical: geodesic & angular
• Geodesic distance (approximate)
– Distant faces tend to belong to different parts
– Gestalt law of proximity
• Angular distance
– Faces separated by concave regions are in different
parts
– The Minima rule
Geodesic & angular
No angular difference!
Missing: connect to volumes
a b
Volumetric view
• Look at the object from inside
Volumetric view
• Look at the object from inside and define a metric
d
VSI Diff.
c
a b e
No “leakage” problem
combined graph
Comparison with other metrics
• 1D embedding
– Linear search possible
– Can deal with hard-to-optimize energy, e.g., part salience [Zhang
& Liu 05]
• 2D embedding
– 3D analysis turned into contour analysis
– Facilitate definition of segmentability measure and sampling for
Nyström [Liu & Zhang 07]
Main references
R. Liu, H. Zhang, A. Shamir, and D. Cohen-Or, “A Part-Aware Surface Metric for Shape
Processing”, Eurographics 2009
A. Shamir, “A Survey on Mesh Segmentation Techniques”, Computer Graphics Forum
(Eurographics STAR 2006), 2008.
F. de Goes, Siome Goldenstein, and Luiz Velho, “A hierarchical Segmentation of
Articulated Bodies”, SGP 2008.
R. Liu and H. Zhang, “Spectral Clustering for Mesh Segmentation”, Pacific Graphics
2004.
R. Liu and H. Zhang, “Mesh Segmentation via Spectral Embedding and Contour
Analysis”, Eurographics 2007.
S. Katz and A. Tal, “Hierarchical Mesh Segmentation via Fuzzy Clustering and Cuts”,
SIGGRAPH 2003.
Applications covered
• Mesh segmentation
• Non-rigid correspondence
• Shape retrieval
alignment
Rigid
Why spectral?
• Intrinsic affinities/distance
– Whichever transformation, e.g.,
pose, correspondence is to be
alignment
invariant of, build that invariance
Rigid
into affinity, e.g., geodesic
distance
– Serves as a normalization
• Affinities (e.g., Gaussian) give
scale normalization
An algorithm
Pose normalization Size of data sets
Geodesic-based Eigenvector
spectral embedding scaling
• Operator defined by 1 u1
2 u2
k uk
geodesics
Spectral embeddings
eigenvectors
Examples: 3D spectral embeddings
x y y x
x
Eigenvector switching
symmetry
Models with articulation and moderate stretching
Thinking of the cause
• Stretching of parts
[Gal et al.2007]
Stretch-invariant correspondence?
Geodesic
only Geodesic only
Homer Stretched
Part-aware
metric Part-aware metric
Spectral embeddings Rigid ICP registration
Limitations
• Mesh segmentation
• Non-rigid correspondence
• Shape retrieval
LFD
SHD
LFD
LFD-S
SHD
SHD-S
Retrieval on McGill Articulated Shape Database
EVD
Geodesics Laplacian-Beltrami
Short circuit
Applications covered
• Mesh segmentation
• Non-rigid correspondence
• Shape retrieval
Bruno Lévy
INRIA - ALICE
Overview
I. 1D parameterization
II. Surface quadrangulation
III. Surface parameterization
IV. Surface characterization
Green function
Heat kernel
1D surface parameterization
Graph Laplacian
ai,j = wi,j > 0 if (i,j) is an edge
ai,i = - ai,j
(1,1 … 1) is an eigenvector assoc. with 0
The second eigenvector is interresting
[Fiedler 73, 75]
1D surface parameterization
Fiedler vector
Streaming meshes
[Isenburg & Lindstrom]
1D surface parameterization
Fiedler vector
Streaming meshes
[Isenburg & Lindstrom]
1D surface parameterization
Fiedler vector
F(u) = wij (ui - uj)2
Minimize F(u) = ½ ut A u
1D surface parameterization
Fiedler vector
F(u) = wij (ui - uj)2
Minimize F(u) = ½ ut A u
How to avoid trivial solution ?
Constrained vertices ?
1D surface parameterization
Fiedler vector
F(u) = wij (ui - uj)2
Minimize F(u) = ½ ut A u subject to ui = 0
uL =Au - 1 1 - 2 u u = eigenvector of A
t
1L = u 1
t u – 1) 1= 0
2 L = ½(u
2 = eigenvalue
1D surface parameterization
Fiedler vector
I. 1D parameterization
II. Surface quadrangulation
III. Surface parameterization
IV. Surface characterization
Green function
Heat kernel
Surface quadrangulation
Nodal sets are sets of curves intersecting at constant angles
I. 1D parameterization
II. Surface quadrangulation
III. Surface parameterization
IV. Surface characterization
Green function
Heat kernel
Surface parameterization
v u 2
x - y Discrete conformal mapping:
Minimize -
v u
T y x [L, Petitjean, Ray, Maillot 2002]
[Desbrun, Alliez 2002]
Surface parameterization
v u 2
x - y Discrete conformal mapping:
Minimize -
v u
T y x [L, Petitjean, Ray, Maillot 2002]
[Desbrun, Alliez 2002]
Uses
pinned points.
Surface parameterization
[Muellen, Tong, Alliez, Desbrun 2008]
Implementation:
(1) assemble the matrix of the discrete conformal parameterization
(2) compute its eigenvector associated with the first non-zero eigenvalue
I. 1D parameterization
II. Surface quadrangulation
III. Surface parameterization
IV. Surface characterization
Green function
Heat kernel
Surface characterization
Green Function
Solving Poisson equation: f = g
f = G(x,y)f(y) dy
Where G: Green function is defined by: G(x,y) = (x-y)
: dirac
Surface characterization
Green Function
Solving Poisson equation: f = g
f = G(x,y)f(y) dy
Where G: Green function is defined by: G(x,y) = (x-y)
: dirac
Proof:
G(x,y)g(y) dy = (x-y)g(y)dy = g(x) = f(x)
Surface characterization
Green Function
Solving Poisson equation: f = g
f = G(x,y)f(y) dy
Where G: Green function is defined by: G(x,y) = (x-y)
: dirac
Proof:
G(x,y)g(y) dy = (x-y)g(y)dy = g(x) = f(x)
f = G(x,y)f(y) dy
Where G: Green function is defined by: G(x,y) = (x-y)
: dirac
Proof:
G(x,y)g(y) dy = (x-y)g(y)dy = g(x) = f(x)
f= G(x,y)f(y) dy
Pose-invariant
Connection with GPS embedding [Rustamov 2007] embedding
I. 1D parameterization
II. Surface quadrangulation
III. Surface parameterization
IV. Surface characterization
Green function
Heat kernel
Surface characterization
Heat equation
The heat equation: f
f
t
f(x) (heat)
t=0
Surface characterization
Heat equation
The heat equation: f
f
t
f(x) (heat)
t = 100
Surface characterization
Heat equation
The heat equation: f
f
t
f(x) (heat)
t = 1000
Surface characterization
Heat equation
The heat equation: f
f
t
y y
x x
Surface characterization
Heat equation
Heat Kernel Signature [Sun, Ovsjanikov and Gubas 09]
Auto-diffusion [Gebal, Baerentzen, Anaes and Larsen 09]
Applications:
shape signature,
segmentation using Morse decomposition,
…
Summary
•Minimizing Rayleigh quotient instead of using « pinning »
enforces global constraints (moments) that avoid the trivial solution
•fieldler vector for streaming meshes [Isenburg et.al]
•Spectral conformal parameterization [Muellen et.al]