25.02.2013 Views

Tutorial 10 Laplace-Beltrami operator Diffusion geometry

Tutorial 10 Laplace-Beltrami operator Diffusion geometry

Tutorial 10 Laplace-Beltrami operator Diffusion geometry

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

236861 Numerical Geometry of Images<br />

<strong>Tutorial</strong> <strong>10</strong><br />

<strong>Laplace</strong>-<strong>Beltrami</strong> <strong>operator</strong><br />

<strong>Diffusion</strong> <strong>geometry</strong><br />

Anastasia Dubrovina<br />

c⃝2012<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Applications for shape analysis<br />

Shape descriptor, Reuter’06 Point descriptors, Sun’09<br />

Shape matching, Ovsjanikov’<strong>10</strong> Shape segmentation, Skraba’<strong>10</strong><br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Heat diffusion in Euclidean domain R m<br />

Heat diffusion on R m is governed by the heat equation<br />

(<br />

∆ + ∂<br />

)<br />

u(x; t) = 0; u(x; 0) = u0(x), u(∂Ω) = ....<br />

∂t<br />

◮ u : Ω ∈ R m × R + → R - heat distribution at x ∈ Ω at time<br />

t > 0.<br />

◮ u0(x) - initial heat distribution.<br />

◮ ∆ - the Laplacian. It is defined as<br />

∆u(x) = ∇ 2 u(x) = div∇u(x) =<br />

m∑ ∂2u .<br />

∂x<br />

i=1<br />

2 i<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Heat kernel in Euclidean domain<br />

For an initial distribution u0(x) = δ (x − x0) the solution is called<br />

the heat kernel<br />

(we saw it in HW1).<br />

ht (x − x0) =<br />

1<br />

(4πt) m/2 e−∥x−x0∥ 2 /4t<br />

The solution u(x; t) for a general initial distribution u0(x) is given<br />

by<br />

∫<br />

u(x; t) = ht (y − x) u0(y)dy.<br />

R m<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Spectral decomposition<br />

The Laplacian eigenvalue problem (the Helmholtz equation)<br />

∆ϕ = −λϕ.<br />

λ is an eigenvalue of the Laplacian, and ϕ is its corresponding<br />

eigenfunction.<br />

In 1D Euclidean domain R, the eigenfunctions of ∆ are the Fourier<br />

basis functions<br />

ϕk(x) = e ifkx .<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Spectral decomposition in 1D: example<br />

In 1D, the Laplacian can be discretized as follows (finite differences<br />

scheme, with periodic boundary condition)<br />

⎛<br />

⎜<br />

L = ⎜<br />

⎝<br />

2 −1 0 0 . . . 0 −1<br />

−1 2 −1 0 . . . 0 0<br />

0 −1 2 −1 . . . 0 0<br />

.<br />

−1 0 0 0 . . . −1 2<br />

Question: what are the eigenvectors of L?<br />

Next: what happens on surfaces?<br />

⎞<br />

⎟<br />

⎠<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Heat diffusion<br />

Function defined on a surface X : with each x ∈ X we associate a<br />

function value u(x)<br />

u : X → R.<br />

Heat diffusion on X is governed by the heat equation<br />

(<br />

∆X + ∂<br />

)<br />

u(x; t) = 0; u(x; 0) = u0(x).<br />

∂t<br />

◮ u(x; t) - heat distribution at x ∈ X at time t > 0.<br />

◮ u0(x) - initial heat distribution.<br />

◮ ∆X - the <strong>Laplace</strong>-<strong>Beltrami</strong> <strong>operator</strong> defined on X .<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


The <strong>Laplace</strong>-<strong>Beltrami</strong> <strong>operator</strong> ∆X<br />

Generalization of the Laplacian for Riemannian manifolds -<br />

surfaces in our case.<br />

∆X f = divX (∇X f ) = 1 (√ ) ij<br />

√ ∂i gg ∂i ,<br />

g<br />

where the gradient and the divergence are calculated on the<br />

manifold X .<br />

Reminder: in local coordinates (v, w) the first fundamental form is<br />

given by<br />

(<br />

⟨Xv , Xv ⟩<br />

G = {gij} =<br />

⟨Xw , Xv ⟩<br />

)<br />

⟨Xv , Xw ⟩<br />

,<br />

⟨Xw , Xw ⟩<br />

and g � det(gij), and g ij = (g −1 )ij.<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Derivation of ∆X (Aflalo’12)<br />

For X : R n → R m and some dv, dw ∈ R n , the scalar product<br />

induced by the metric G on the tangent plane of X is<br />

dv T Gdw.<br />

This scalar product implies a new definition of the gradient of<br />

f : X → R induced by G, ∇G f ,<br />

Thus we obtain<br />

f (v + dv) = f (u) + ⟨∇G f , dv⟩G + o(∥dv∥)<br />

= f (u) + ∇G f T Gdv + o(∥dv∥)<br />

= f (v) + ∇f T dv + o(∥dv∥).<br />

∇G f = G −1 ∇f .<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Derivation of ∆X (Aflalo’12) II<br />

In Euclidean domain Ω ⊂ R m , the Laplacian has the following<br />

property<br />

∫<br />

∫<br />

∆fgda = − ⟨∇f , ∇g⟩da, ∀g|g |∂Ω = 0,<br />

x∈Ω<br />

x∈Ω<br />

where da is the infinitesimal area element.<br />

Hence, a natural extension of the Laplacian for a given scalar<br />

product and a given definition of the gradient would consist of<br />

finding ∆G f such that<br />

∫<br />

v∈Ω<br />

∆G fhda = −<br />

∫<br />

v∈Ω<br />

√<br />

⟨∇G f , ∇G h⟩G gdv1 . . . dvn, ∀h|h |∂Ω = 0<br />

where g = det(G) and da = √ gdv1 . . . dvn is the local infinitesimal<br />

area element according to the metric G.<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Derivation of ∆X (Aflalo’12) III<br />

Since ⟨∇G f , ∇G h⟩G = ∇f T G −1 ∇h, we have<br />

∫<br />

∆G fhda =<br />

∫<br />

∇f T G −1 ∇h √ gdu1 . . . dun<br />

v∈Ω<br />

=<br />

∫<br />

u∈Ω<br />

u∈Ω<br />

= −<br />

=<br />

∫<br />

u∈Ω<br />

∫<br />

u∈Ω<br />

(√ gG −1 ∇f ) T ∇hdu1 . . . dun<br />

( n∑<br />

i=1<br />

∂i<br />

∆G fh √ gdu1 . . . dun.<br />

(√ ) −1<br />

gG ∇f i h<br />

)<br />

du1 . . . dun<br />

Using Einstein summation convention ∆G f = 1 (√ ij<br />

√ ∂i gg ∂jf<br />

g ) .<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Spectral decomposition of ∆X<br />

The <strong>Laplace</strong>-<strong>Beltrami</strong> <strong>operator</strong> ∆X has a discrete set of<br />

eigenvectors and eigenvalues<br />

where<br />

∆X ϕ = λϕ, ϕ : X → R + ,<br />

0 = λ0 ≤ λ1 ≤ λ2 ≤ ...<br />

There exist λ0 = 0 when X has a boundary, with ϕ0 = const.<br />

The corresponding set of eigenvalues forms an orthogonal basis for<br />

functions defined on X<br />

{ϕi} i≥1 .<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Spectral decomposition of ∆X : example<br />

As the <strong>Laplace</strong>-<strong>Beltrami</strong> <strong>operator</strong> ∆X depends only on gij, it is<br />

invariant to isometric transformations of X , and so are its<br />

eigenvalues and eigenfunctions (up to a sign).<br />

X<br />

Y = iso(X)<br />

ϕ1 ϕ2 ϕ3 ϕ4<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Applications<br />

Shape DNA, Reuter’06: use {λi} i≥1 as an isometry invariant<br />

descriptor of X .<br />

Reuter’07<br />

Global Point Signature (GPS), Rustamov’07:<br />

Canonical representation, defined up to isometry.<br />

[<br />

1<br />

√λ1 ϕ1, 1<br />

]<br />

√ ϕ2, ...<br />

λ2<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


<strong>Diffusion</strong> <strong>geometry</strong> on surfaces: heat kernel<br />

The heat kernel is given by<br />

ht(x, x ′ ) = ∑<br />

i>0<br />

e −λi t ϕi(x)ϕi(x ′ )<br />

It corresponds to the initial heat distribution u0(x) = δ (x − x0).<br />

The value ht(x, x ′ ) can be interpreted as the probability density of<br />

a random walk of length t from the point x to the point x ′ .<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


<strong>Diffusion</strong> <strong>geometry</strong> on surfaces: diffusion distance<br />

The diffusion distance is defined as<br />

d 2 t (x, x ′ ∫<br />

(<br />

) = ht(x, z) − ht(x ′ , y) ) 2<br />

da<br />

= ∑<br />

i>0<br />

X<br />

e −2λi t ( ϕi(x) − ϕi(x ′ ) ) 2 .<br />

In practice, we sum over N smallest eigenvalues and their<br />

corresponding eigenvectors.<br />

Euclidean distance Geodesic distance <strong>Diffusion</strong> distance<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Comparison between geodesic and diffusion distances<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Heat kernel signature and heat kernel map<br />

Heat kernel signature (HKS) and heat kernel map (HKM) are<br />

intrinsic point signatures introduced in Sun’09 and Ovsjanikov’<strong>10</strong>.<br />

HKS(x) = (ht1 (x, x), ht2 (x, x), ..., htK (x, x))<br />

HKM(x) = (ht1 (x0, x), ht2 (x0, x), ..., htK (x0, x))<br />

To defined latter, we should choose a point x0 ∈ X .<br />

Both can be used for<br />

◮ Shape matching.<br />

◮ Symmetry detection.<br />

◮ Interest point detection.<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Varying metric g<br />

Reminder:<br />

∆X f = −divX (∇X f ) = 1 (√ ) ij<br />

√ ∂i gg ∂i<br />

g<br />

By changing the metric g we obtain scale-invariant (Aflalo’11) or<br />

affine-invariant (Raviv’11) <strong>Laplace</strong>-<strong>Beltrami</strong> <strong>operator</strong>.<br />

Scale invariant HKS signature Affine invariant matching<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Discretization of ∆X<br />

Discrete version of the <strong>Laplace</strong>-<strong>Beltrami</strong> <strong>operator</strong><br />

(Lu)i = ∑<br />

wij (ui − uj) , ui = u(xi).<br />

j∈Ni<br />

Some properties of smooth Laplacians:<br />

◮ ∆u = 0 for u = const.<br />

◮ Local support: for any x ̸= y ∈ X , ∆(x) is independent of<br />

u(y).<br />

∫<br />

◮ Positive semi-definiteness: u∆uda ≥ 0.<br />

Wardetzky’07: ”discrete Laplacians cannot satisfy all natural<br />

properties”.<br />

X<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Discretization of ∆X : existing schemes<br />

There exist various discretization schemes for the <strong>Laplace</strong>-<strong>Beltrami</strong><br />

<strong>operator</strong><br />

◮ Graph Laplacian (polygonal meshes, point clouds).<br />

◮ Cotangent weights, mean-value coordinates (triangulated<br />

meshes).<br />

◮ Finite elements (polygonal meshes).<br />

◮ Belkin and Nyogi (triangulated meshes, point clouds).<br />

◮ Many more.<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Graph Laplacian<br />

Interpret the surface as a graph (X , E), where X are the graph<br />

vertices, and E are the edges.<br />

(Lu)i = ∑<br />

wij (ui − uj) , Ni = {j : (i, j) ∈ E}<br />

j∈Ni<br />

where wij = 1, or wij ∼ ∥xi − xj∥ −1 , etc.<br />

The matrix L is therefore<br />

⎧<br />

⎪⎨ ∑<br />

−wij, i ̸= j, (i, j) ∈ E,<br />

(L)ij =<br />

⎪⎩<br />

j ′ wij ′, i = j,<br />

∈Ni<br />

0, otherwise.<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Cotangent weight scheme (Meyer’02)<br />

A different geometric discretization was suggested by Meyer et al.,<br />

for surfaces given by triangulated meshes<br />

wij = 1<br />

(cot αij + cot βij) , i ̸= j, j ∈ Ni,<br />

2Ai<br />

where Ni is the 1-ring neighborhood of xi, and Ai is the Voronoi<br />

area of the vertex xi<br />

Ai = 1 ∑<br />

(cot αij + cot βij) ∥xi − xj∥<br />

8<br />

j∈Ni<br />

2 .<br />

(Note that for obtuse triangles adjacent to the vertex i we will use<br />

a mixed area defined in the next slide instead).<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Cotangent weight scheme (Meyer’02)<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>


Bibliography<br />

• Y. Aflalo and R. Kimmel and M. Zibulevsky. Conformal mapping with as uniform as possible conformal factor.<br />

accepted to SIAM Journal of Imaging Science, 2012.<br />

• M. Reuter, F.-E. Wolter and N. Peinecke. <strong>Laplace</strong>-<strong>Beltrami</strong> spectra as ”Shape-DNA” of surfaces and solids.<br />

Computer-Aided Design 38(4):342-366, 2006.<br />

• R. M. Rustamov. <strong>Laplace</strong>-<strong>Beltrami</strong> eigenfunctions for deformation invariant shape representation. Proc. of SGP,<br />

225-233, 2007.<br />

• J. Sun, M. Ovsjanikov and L. Guibas. A Concise and Provably Informative Multi-Scale Signature Based on Heat<br />

<strong>Diffusion</strong>. Computer Graphics Forum 28(5):1383-1392, 2009.<br />

• M. Ovsjanikov, Q. Mérigot, F. Mémoli and L. Guibas. One point isometric matching with the heat kernel.<br />

Computer Graphics Forum 29(5):1555-1564, 20<strong>10</strong>.<br />

• M. Wardetzky, S. Mathur, F. Kalberer and F. Grinspun. Discrete <strong>Laplace</strong> <strong>operator</strong>s: no free lunch. ACM<br />

International Conference Proceeding Series 257:33-37, 2007.<br />

• M. Meyer, M. Desbrun, P. Schröder and A.H. Barr. Discrete differential-<strong>geometry</strong> <strong>operator</strong>s for triangulated<br />

2-manifolds. Visualization and mathematics 3(7):34-57, 2002.<br />

• U. Pinkall, K. Polthier. Computing Discrete Minimal Surfaces and Their Conjugates, Experiment. Math. 2(1):<br />

15-36 (1993).<br />

Anastasia Dubrovina CS 236861 - <strong>Tutorial</strong> <strong>10</strong> - <strong>Diffusion</strong> <strong>geometry</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!