900

# Mesh Processing Course: Differential Mesh Processing

January 01, 2011

## Transcript

2. ### Processing: Local vs. Global 2 Differential Processing Geodesic Processing Surface

ﬁltering Fourier on Meshes Front Propagation on Meshes Surface Remeshing
3. ### Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous

•Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 3
4. ### Triangular Meshes 4 Triangulated mesh: topology M = (V, E,

F) and geometry M = (V, E, F). i j k Topology M: (0D) Vertices: V ⌅ {1, . . . , n}. (1D) Edges: E ⇤ V V . Symmetric: (i, j) ⌥ E ⌃ i ⇥ j ⌃ (j, i) ⌥ E. (2D) Faces: F ⇤ V V V . Compatibility: (i, j, k) ⌥ F ⇧ (i, j), (j, k), (k, i) ⌥ E. ⇥ (i, j) E, ⇤(i, j, k) F.
5. ### Triangular Meshes 4 Triangulated mesh: topology M = (V, E,

F) and geometry M = (V, E, F). i j k Topology M: (0D) Vertices: V ⌅ {1, . . . , n}. (1D) Edges: E ⇤ V V . Symmetric: (i, j) ⌥ E ⌃ i ⇥ j ⌃ (j, i) ⌥ E. (2D) Faces: F ⇤ V V V . Compatibility: (i, j, k) ⌥ F ⇧ (i, j), (j, k), (k, i) ⌥ E. ⇥ (i, j) E, ⇤(i, j, k) F. Geometric realization M: ⇥ i V, xi R3, V def. = {xi \ i V } . E def. = (i,j) E Conv(xi, xj ) R3. F def. = (i,j,k) F Conv(xi, xj, xk ) R3. Piecewise linear mesh:

surface
7. ### Local Connectivity 6 Vertex 1-ring: Vi def. = {j ⇥

V \ (i, j) ⇥ E} V . Face 1-ring: Fi def. = {(i, j, k) ⇥ F \ i, j ⇥ V } F. i j k f = (i, j, k) Vi ⇥ ni ⇥ nf
8. ### Local Connectivity 6 Vertex 1-ring: Vi def. = {j ⇥

V \ (i, j) ⇥ E} V . Face 1-ring: Fi def. = {(i, j, k) ⇥ F \ i, j ⇥ V } F. Normal Computation: ⌅ f = (i, j, k) ⇤ F, ⇥ nf def. = (xj xi ) ⇧ (xk xi ) ||(xj xi ) ⇧ (xk xi )|| . ⌅ i ⇤ V, ⇥ ni def. = f Fi ⇥ nf || f Fi ⇥ nf || i j k f = (i, j, k) Vi ⇥ ni ⇥ nf

10. ### Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous

•Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 8
11. ### Functions on a Mesh 9 Function on a mesh: f

⇥ 2(V) 2(V ) Rn. f : V ⇥ R xi ⌃ ⇥ f(xi ) ⇤⌅ f : V ⇥ R i ⌃ ⇥ fi ⇤⌅ f = (fi ) i V ⇧ Rn.
12. ### Functions on a Mesh 9 Function on a mesh: f

⇥ 2(V) 2(V ) Rn. f : V ⇥ R xi ⌃ ⇥ f(xi ) ⇤⌅ f : V ⇥ R i ⌃ ⇥ fi ⇤⌅ f = (fi ) i V ⇧ Rn. Inner product & norm: f, g⇥ def. = i V figi and ||f||2 = f, f⇥
13. ### Functions on a Mesh 9 Function on a mesh: f

⇥ 2(V) 2(V ) Rn. f : V ⇥ R xi ⌃ ⇥ f(xi ) ⇤⌅ f : V ⇥ R i ⌃ ⇥ fi ⇤⌅ f = (fi ) i V ⇧ Rn. Inner product & norm: f, g⇥ def. = i V figi and ||f||2 = f, f⇥ Linear operator A: A : 2(V ) 2(V ) ⇥⇤ A = (aij ) i,j⇥V ⌅ Rn n (matrix). (Af)(xi ) = j V aijf(xj ) ⇥ (Af) i = j V aijfj.
14. ### Functions on a Mesh 9 Function on a mesh: f

⇥ 2(V) 2(V ) Rn. f : V ⇥ R xi ⌃ ⇥ f(xi ) ⇤⌅ f : V ⇥ R i ⌃ ⇥ fi ⇤⌅ f = (fi ) i V ⇧ Rn. Inner product & norm: f, g⇥ def. = i V figi and ||f||2 = f, f⇥ Linear operator A: A : 2(V ) 2(V ) ⇥⇤ A = (aij ) i,j⇥V ⌅ Rn n (matrix). (Af)(xi ) = j V aijf(xj ) ⇥ (Af) i = j V aijfj. Mesh processing: Modify functions f ⇥ 2(V ). Example: denoise a mesh M as 3 functions on M. Strategy: apply a linear operator f ⇤ Af. Remark: A can computed from M only or from (M, M). f Af
15. ### Functions on Meshes 10 Examples: Coordinates: xi = (x1 i

, x2 i , x3 i ) ⌅ R3. X-coordinate: f : i ⌅ V ⇧ x1 i ⌅ R. Geometric mesh M ⇥⇤ 3 functions deﬁned on M. f(xi ) = x1 i f(xi ) = cos(2 x1 i )
16. ### Local Averaging 11 Local operator: W = (wij ) i,j

V where wij = > 0 if j Vi, 0 otherwise. (Wf) i = (i,j) E wijfj.
17. ### Local Averaging 11 Local operator: W = (wij ) i,j

V where wij = > 0 if j Vi, 0 otherwise. (Wf) i = (i,j) E wijfj. Examples: for i j, wij = 1 combinatorial wij = 1 ||xj xi ||2 distance wij = cot( ij ) + cot(⇥ij ) conformal (explanations later)
18. ### Local Averaging 11 Local operator: W = (wij ) i,j

V where wij = > 0 if j Vi, 0 otherwise. (Wf) i = (i,j) E wijfj. Examples: for i j, wij = 1 combinatorial wij = 1 ||xj xi ||2 distance wij = cot( ij ) + cot(⇥ij ) conformal Local averaging operator ˜ W = ( ˜ wij ) i,j V : ⇥ (i, j) E, ˜ wij = wij (i,j) E wij . ˜ W = D 1W with D = diag i (di ) where di = (i,j)⇥E wij. Averaging: ˜ W1 = 1. (explanations later)
19. ### Iterative Smoothing 12 Iterative smoothing: ˜ Wf, ˜ W2, .

. . , ˜ Wkf smoothed version of f. f ˜ Wf ˜ W4f ˜ W8f
20. ### On a Regular Grid 13 Regular grid: ˜ Wf =

˜ w f. Example in 2D: ( ˜ Wf) i = 1 4 4 k=1 fjk . Vi = {j1, j2, j3, j4 }
21. ### On a Regular Grid 13 Regular grid: ˜ Wf =

˜ w f. Discrete Fourier transform: ( ˜ Wkf) = ( ˜ w . . . ˜ w f) =⇥ ( ˜ Wkf)( ) = ˜ w( )k ˆ f( ). Convolution and Fourier: (f g) = ˆ f · ˆ g (f)( ) = ˆ f( ) def. = k fke2i n k . Example in 2D: ( ˜ Wf) i = 1 4 4 k=1 fjk . Vi = {j1, j2, j3, j4 }
22. ### On a Regular Grid 13 Regular grid: ˜ Wf =

˜ w f. Discrete Fourier transform: Convergence: ( ˜ Wkf) = ( ˜ w . . . ˜ w f) =⇥ ( ˜ Wkf)( ) = ˜ w( )k ˆ f( ). Convolution and Fourier: (f g) = ˆ f · ˆ g (f)( ) = ˆ f( ) def. = k fke2i n k . Example in 2D: ( ˜ Wf) i = 1 4 4 k=1 fjk . Vi = {j1, j2, j3, j4 } If n is odd, ˜ Wkf k +⇥ ⇥ 1 |V | i⇤V fi
23. ### Gradient 14 ⇤ (i, j) ⇥ E, i < j,

(Gf) (i,j) def. = ⌅ wij (fj fi ) ⇥ R. ⇥ Derivative along direction ⇥ xixj . G : 2(V ) ⇥ 2(E0 ), ⇤⌅ G : Rn ⇥ Rp where p = |E0 |, ⇤⌅ G ⇧ Rn p matrix. Gradient operator: oriented edges E0 def. = {(i, j) E \ i < j},
24. ### Gradient 14 ⇤ (i, j) ⇥ E, i < j,

(Gf) (i,j) def. = ⌅ wij (fj fi ) ⇥ R. ⇥ Derivative along direction ⇥ xixj . Example: wij = ||xi xj || 2, (Gf) (i,j) = f(xj ) f(xi) ||xi xj || . G : 2(V ) ⇥ 2(E0 ), ⇤⌅ G : Rn ⇥ Rp where p = |E0 |, ⇤⌅ G ⇧ Rn p matrix. Regular grid: Gf discretize f = f x , f y ⇥ . GTv discretize div(v) = v1 x + v2 y . Gradient operator: oriented edges E0 def. = {(i, j) E \ i < j},
25. ### Laplacian 15 L def. = D W, where D =

diag i (di ), with di = j wij. Remarks: symmetric operators L, ˜ L Rn n. L1 = 0: acts like a (second order) derivative. ˜ L1 ⇥= 0. Normalized Laplacian: ˜ L def. = D 1/2LD 1/2 = Id n D 1/2WD1/2 = Id n D1/2 ˜ WD 1/2.
26. ### Laplacian Positivity 16 Theorem: L = GTG and ˜ L

= (GD 1/2)T(GD 1/2). = L and ˜ L are symmetric positive deﬁnite. ⇥Lf, f⇤ = ||Gf||2 = (i,j) E0 wij ||fi fj ||2 ⇥˜ Lf, f⇤ = ||GD 1/2f||2 = ⇥ (i,j)⇥E0 wij fi ⌅ di fj ⇤ dj 2 Theorem: if M is connected, then ker(L) = span(1) and ker(˜ L) = span(D1/2).
27. ### Proof 17 ||Gf||2 = (i,j) E0 wi,j |fi fj |2

= i>j wi,jf2 i = i<j wi,jf2 i + i<j wi,jf2 j 2 i<j wi,jfifj = j f2 i i j wi,j i j wi,jfj = Df, f Wf, f = Lf, f = f Rn, (L G G)f, f = 0 = L = G G = i j wi,jfifj
28. ### Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous

•Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 18
29. ### Examples of Laplacians 19 Example in 1D: (Lf) i =

1 h2 (2fi fi+1 fi 1 ) = 1 h2 f ⇥ ( 1, 2, 1) L h 0 ⇥ d2f dx2 (xi )
30. ### Examples of Laplacians 19 (Lf) i = 1 h2 (4fi

fj1 fj2 fj3 fj4 ) = 1 h2 f ⇥ ⇧ ⇤ 0 -1 0 -1 4 -1 0 -1 0 ⇥ ⌃ ⌅ Example in 2D: L = GTGf discretize f = div( f). Example in 1D: (Lf) i = 1 h2 (2fi fi+1 fi 1 ) = 1 h2 f ⇥ ( 1, 2, 1) L h 0 ⇥ d2f dx2 (xi ) L h 0 ⇥ 2f x2 (xi ) 2f y2 (xi ) = f(xi ).
31. ### Parameterized Surface First fundamental form: I = ⇥ ⇥ui ,

⇥ ⇥uj ⇥ ⇥ i,j=1,2 . Parameterized surface M: D ⇥ R2 ⇤ M u ⌅ ⇤ (x) u1 u2 ⇥ ⇥u1 ⇥ ⇥u2 Curve (t) D, length: L( ) = 1 0 ⇥ (t)I (t) (t)dt
32. ### Parameterized Surface First fundamental form: I = ⇥ ⇥ui ,

⇥ ⇥uj ⇥ ⇥ i,j=1,2 . M is locally isometric to plane: I = Id. Exemple: M =cylinder. ⇥ is conformal: I (u) = (u)Id. Exemple: stereographic mapping plane sphere. Parameterized surface M: D ⇥ R2 ⇤ M u ⌅ ⇤ (x) u1 u2 ⇥ ⇥u1 ⇥ ⇥u2 Curve (t) D, length: L( ) = 1 0 ⇥ (t)I (t) (t)dt
33. ### Laplace-Beltrami 21 Laplace operator on the plane: = 2 x2

+ 2 y2 . Laplace Beltrami operator on a surface M: ⇥ g M def. = u1 g22 ⇥ g u1 g12 ⇥ g u2 ⇥ + u2 g11 ⇥ g u2 g12 ⇥ g u1 ⇥ where g = det(I ) and I = (gij ) i,j=1,2 .
34. ### Laplace-Beltrami 21 Laplace operator on the plane: = 2 x2

+ 2 y2 . Laplace Beltrami operator on a surface M: ⇥ g M def. = u1 g22 ⇥ g u1 g12 ⇥ g u2 ⇥ + u2 g11 ⇥ g u2 g12 ⇥ g u1 ⇥ where g = det(I ) and I = (gij ) i,j=1,2 . Remark: where dM is the geodesic distance on M. where Bh (x) = {y \ dM (x, y) h} Mf(x) = lim h 0 1 h2 (Lhf)(x) (Lhf)(x) = f(x) 1 |Bh (x)| y Bh(x) f(y)dy
35. ### Voronoi and Dual Mesh 22 Deﬁnition for a planar triangulation

M of a mesh M R2. Voronoi for vertices: ⇧ i ⇤ V, Ei = {x ⇤ M \ ⇧ j ⌅= i, ||x xi || ⇥ ||x xj ||} i j Ai cf Dual mesh
36. ### Voronoi and Dual Mesh 22 Deﬁnition for a planar triangulation

M of a mesh M R2. Voronoi for vertices: ⇧ i ⇤ V, Ei = {x ⇤ M \ ⇧ j ⌅= i, ||x xi || ⇥ ||x xj ||} Voronoi for edges: ⌅ e = (i, j) ⇥ E, Ee = {x ⇥ M \ ⌅ e ⇤= e, d(x, e) d(x, e )} Partition of the mesh: M = i V Ei = e E Ee. i j Ai cf i j A(ij) cf Dual mesh 1:3 subdivided mesh
37. ### Approximating Integrals on Meshes Approximation of integrals on vertices and

edges: ⇥ M f(x)dx i V Ai f(xi ) e=(i,j) E Ae f([xi, xj ]). Theorem : ⇥ e = (i, j) E, Ae = Area(Ee ) = 1 2 ||xi xj ||2 (cot( ij ) + cot(⇥ij )) i j A(ij) cf
38. ### Approximating Integrals on Meshes Approximation of integrals on vertices and

edges: ⇥ M f(x)dx i V Ai f(xi ) e=(i,j) E Ae f([xi, xj ]). Theorem : ⇥ e = (i, j) E, Ae = Area(Ee ) = 1 2 ||xi xj ||2 (cot( ij ) + cot(⇥ij )) i j A(ij) cf A B C O h + + = 2 A(ABO) = ||AB|| h = ||AB|| ||AB|| 2 tan( ) A(ABO) = ||AB||2 2 tan ⇤ 2 ( + ⇥) Proof:

f(x)||dx
40. ### ⇧ (i, j) ⇤ E, wij = 1. Distance weights:

they depends both on the geometry and the to require faces information, ⇧ (i, j) ⇤ E, wij = 1 ||xj xi ||2 . Conformal weights: they depends on the full geometrical realiza require the face information ⇧ (i, j) ⇤ E, wij = cot( ij ) + cot(⇥ Figure 1.2 shows the geometrical meaning of the angles ij and ij = ⇥(xi, xj, xk1 ) and ⇥ij = ⇥(xi where (i, j, k1 ) ⇤ F and (i, j, k2 ) ⇤ F are the two faces adjacent in the next section the explanation of these celebrated cotangent xi xj xk1 xk2 ij ij Cotangent Weights 24 Approximation of Dirichelet energy: where wij = cot( ij ) + cot(⇥ij ). ⇥ M ||⇤xf||2dx ⇥ e E Ae |(Gf) e |2 = (i,j) E Ae |f(xj ) f(xi )|2 ||xj xi ||2 = (i,j) E wij |f(xj ) f(xi )|2 Sobolev norm (Dirichlet energy): J(f) = M || f(x)||dx
41. ### ⇧ (i, j) ⇤ E, wij = 1. Distance weights:

they depends both on the geometry and the to require faces information, ⇧ (i, j) ⇤ E, wij = 1 ||xj xi ||2 . Conformal weights: they depends on the full geometrical realiza require the face information ⇧ (i, j) ⇤ E, wij = cot( ij ) + cot(⇥ Figure 1.2 shows the geometrical meaning of the angles ij and ij = ⇥(xi, xj, xk1 ) and ⇥ij = ⇥(xi where (i, j, k1 ) ⇤ F and (i, j, k2 ) ⇤ F are the two faces adjacent in the next section the explanation of these celebrated cotangent xi xj xk1 xk2 ij ij Cotangent Weights 24 Approximation of Dirichelet energy: Theorem : wij > 0 ⇥ ij + ⇥ij < ⇤ where wij = cot( ij ) + cot(⇥ij ). ⇥ M ||⇤xf||2dx ⇥ e E Ae |(Gf) e |2 = (i,j) E Ae |f(xj ) f(xi )|2 ||xj xi ||2 = (i,j) E wij |f(xj ) f(xi )|2 Sobolev norm (Dirichlet energy): J(f) = M || f(x)||dx
42. ### Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous

•Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 25
43. ### Mesh Denoising Normal displacement: xi = x0 i + (

W)⇥ ni , W white noise. Noisy input: scanning error, imperfect material, etc.
44. ### Mesh Denoising Normal displacement: xi = x0 i + (

W)⇥ ni , W white noise. Mesh: 3 functions X/Y/Z: xi = (f1 (i), f2 (i), f3 (i)) R3. Denoising: smooth each function fk (i), k = 1, 2, 3. {xi }i = {(f1 (i), f2 (i), f3 (i))}i {( ˜ f1 (i), ˜ f2 (i), ˜ f3 (i))}i = {˜ xi }i smoothing Noisy input: scanning error, imperfect material, etc.
45. ### Mesh Denoising 26 Normal displacement: xi = x0 i +

( W)⇥ ni , W white noise. Mesh: 3 functions X/Y/Z: xi = (f1 (i), f2 (i), f3 (i)) R3. Denoising error (oracle): 3 k=1 i V | ˜ fk (i) f0 k (i)|2 = i V ||˜ xi x0 i ||2 Denoising: smooth each function fk (i), k = 1, 2, 3. {xi }i = {(f1 (i), f2 (i), f3 (i))}i {( ˜ f1 (i), ˜ f2 (i), ˜ f3 (i))}i = {˜ xi }i smoothing Noisy input: scanning error, imperfect material, etc. {x0 i }i {xi }i {˜ xi }i smoothing adding noise SNR(x0, ˜ x) = 20 log 10 i ||˜ xi x0 i ||/ i ||x0 i ||
46. ### Iterative Smoothing 27 Initialization: k = 1, 2, 3, f(0)

k = fk . Iteration: k = 1, 2, 3, f(s+1) k = ˜ Wf(s) k , f(s+1) k (i) = 1 |Vi | (j,i) Vi f(s) k (i) Denoised: choose s, and ˜ xi = (f(s) 1 , f(s) 2 , f(s) 3 )
47. ### Iterative Smoothing 27 Initialization: k = 1, 2, 3, f(0)

k = fk . Iteration: k = 1, 2, 3, f(s+1) k = ˜ Wf(s) k , f(s+1) k (i) = 1 |Vi | (j,i) Vi f(s) k (i) s = 0 s = 1 s = 2 s = 3 s = 4 s SNR(x0, ˜ x) Denoised: choose s, and ˜ xi = (f(s) 1 , f(s) 2 , f(s) 3 ) Problem: optimal choice of s Oracle: max s SNR(x0, x(s)).
48. ### Heat Diffusion 28 Heat di usion: ⇥ t > 0,

F(t) : V R solving F(t) t = D 1LF(t) = (Id n ˜ W)F(t) and ⇤ i ⇥ V, F(0)(i) = f(i)
49. ### Heat Diffusion 28 Discretization: time step , #iterations K def.

= t/ . Heat di usion: ⇥ t > 0, F(t) : V R solving F(t) t = D 1LF(t) = (Id n ˜ W)F(t) and ⇤ i ⇥ V, F(0)(i) = f(i) 1 f(s+1) f(s) ⇥ = D 1Lf(s) =⇥ f(s+1) = f(s) D 1Lf(s) = (1 )f(s)+ ˜ Wf(s).
50. ### Heat Diffusion 28 ⇥ see later for a proof. Discretization:

time step , #iterations K def. = t/ . Theorem: stable and convergent scheme if < 1 (CFL condition) Heat di usion: ⇥ t > 0, F(t) : V R solving F(t) t = D 1LF(t) = (Id n ˜ W)F(t) and ⇤ i ⇥ V, F(0)(i) = f(i) 1 f(s+1) f(s) ⇥ = D 1Lf(s) =⇥ f(s+1) = f(s) D 1Lf(s) = (1 )f(s)+ ˜ Wf(s). f(t/ ) 0 ⇥ F(t)
51. ### Heat Diffusion 28 ⇥ see later for a proof. ⇥

still stable in most cases (see later). Discretization: time step , #iterations K def. = t/ . Theorem: stable and convergent scheme if < 1 (CFL condition) Heat di usion: ⇥ t > 0, F(t) : V R solving F(t) t = D 1LF(t) = (Id n ˜ W)F(t) and ⇤ i ⇥ V, F(0)(i) = f(i) 1 f(s+1) f(s) ⇥ = D 1Lf(s) =⇥ f(s+1) = f(s) D 1Lf(s) = (1 )f(s)+ ˜ Wf(s). f(t/ ) 0 ⇥ F(t) Remark: if = 1, f(s) = ˜ Wkf.
52. ### PDEs on Meshes t Heat di usion: f t =

f and f(x, 0) = f0 (x)
53. ### PDEs on Meshes t Heat di usion: f t =

f and f(x, 0) = f0 (x) Di usion of X/Y/Z coordinates:
54. ### PDEs on Meshes t Heat di usion: f t =

f and f(x, 0) = f0 (x) % Laplacian matrix L=D-W; % initialization f1 = f; for i=1:3 f1 = f1 + tau*L*f1; end Initialization: Explicit Euler: Di usion of X/Y/Z coordinates:

increases
56. ### Optimal Stopping Time 31 Mesh: 3 functions X/Y/Z: xi =

(f1 (i), f2 (i), f3 (i)) R3. Problem: optimal choice of t Denoised: x(t) = (f(s) 1 , f(s) 2 , f(s) 3 ) for t = s . Oracle: t = max t SNR(x0, x(t)). {xi }i {x(t ) i }i SNR(x0, x(t)) t
57. ### Quadratic Regularization 32 for [i, j] ⇥ E0, (Gf)[i, j]

= f(i) f(j) ||Gf||2 = (i,j) E0 |f(i) f(j)|2 f( ) = argmin g Rn ||f g||2 + ||Gg||2 ⇥ replaces f ⇤ Rn by f( ) ⇤ Rn with small gradient.
58. ### Quadratic Regularization 32 for [i, j] ⇥ E0, (Gf)[i, j]

= f(i) f(j) ||Gf||2 = (i,j) E0 |f(i) f(j)|2 f( ) = argmin g Rn ||f g||2 + ||Gg||2 ⇥ replaces f ⇤ Rn by f( ) ⇤ Rn with small gradient. Theorem: f( ) is unique and f = (Id n + tL) 1f where L = D W = G G
59. ### Quadratic Regularization 32 for [i, j] ⇥ E0, (Gf)[i, j]

= f(i) f(j) ||Gf||2 = (i,j) E0 |f(i) f(j)|2 f( ) = argmin g Rn ||f g||2 + ||Gg||2 ⇥ replaces f ⇤ Rn by f( ) ⇤ Rn with small gradient. Theorem: f( ) is unique and f = (Id n + tL) 1f where L = D W = G G When +⇥: f( ) = argmin Gg=0 ||f g|| = Proj span(1) (f) Theorem: f( ) +⇥ ⇥ 1 |V | i f(i)
60. ### Choosing Optimal Regularization 33 Mesh: 3 functions X/Y/Z: xi =

(f1 (i), f2 (i), f3 (i)) R3. {xi }i Denoised: x( ) = (f( ) 1 , f( ) 2 , f( ) 3 ). Problem: optimal choice of Oracle: ⇥ = max SNR(x0, x( )). {x( ) i }i SNR(x0, x(t))
61. ### Wave Propagation 34 Other di erential equations. One can solve

other partial di⇥erential equations involving the Laplacian over a 3D mesh M = (V, E, F). For instance, one can consider the wave equation, which deﬁnes, for all t > 0, a vector Ft ⇤ ⇣2(V ) as the solution of ⌥2Ft ⌥t2 = D 1LFt and ⇤ F0 = f ⇤ Rn, d dt F0 = g ⇤ Rn, (1.8) In order to compute numerically the solution of this PDE, one can ﬁx a time step > 0 and use an explicit discretization in time ¯ Fk as F0 = f, F1 = F0 + g and for k > 1 1 2 ¯ Fk+1 + ¯ Fk 1 2 ¯ Fk ⇥ = D 1L ¯ Fk =⇥ ¯ Fk+1 = 2 ¯ Fk ¯ Fk 1 2D 1L ¯ Fk. Figure 1.6 shows examples of the resolution of the wave equation on 3D meshes. Figure 1.6: Example of evolution of the wave equation on 3D mesh. The initial condition f is a t = 0 t increases 2Ft t2 = D 1LFt and F0 = f ⇥ Rn, d dt F0 = g ⇥ Rn, Discretization: 1 2 ¯ Fk+1 + ¯ Fk 1 2 ¯ Fk ⇥ = D 1L ¯ Fk =⇥ ¯ Fk+1 = 2 ¯ Fk ¯ Fk 1 2D 1L ¯ Fk.
62. ### Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous

•Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 35
63. ### Laplacian Eigen-decomposition 36 ˜ L = (GD 1/2)T(GD 1/2) =

˜ L is positive semi-deﬁnite. Eigen-decomposition of the Laplacian: U, UTU = Id n , ˜ L = U UT where = diag ( ) and 1 . . . n. ˜ L = D 1/2LD 1/2 = Id n D 1/2WD 1/2
64. ### Laplacian Eigen-decomposition 36 ˜ L = (GD 1/2)T(GD 1/2) =

˜ L is positive semi-deﬁnite. Eigen-decomposition of the Laplacian: U, UTU = Id n , Theorem: ⇥ i, i [0, 2] and If M is connected then 0 = 1 < 2 . n = 2 if and only if M is 2-colorable. ˜ L = U UT where = diag ( ) and 1 . . . n. ˜ L = D 1/2LD 1/2 = Id n D 1/2WD 1/2
65. ### Laplacian Eigen-decomposition 36 ˜ L = (GD 1/2)T(GD 1/2) =

˜ L is positive semi-deﬁnite. Eigen-decomposition of the Laplacian: U, UTU = Id n , Theorem: ⇥ i, i [0, 2] and If M is connected then 0 = 1 < 2 . n = 2 if and only if M is 2-colorable. ˜ L = U UT where = diag ( ) and 1 . . . n. Orthogonal expansion: u , u ⇥ = , ⇥ f 2(V ), f = ⇤f, u ⌅u . Eigen-basis: U = (u ) orthogonal basis of Rn 2(V ). u : V ⇥ R i ⇤ ⇥ u (i) ˜ L = D 1/2LD 1/2 = Id n D 1/2WD 1/2
66. ### Proof 37 ˜ Lu = u = D 1(D W)¯

u = ¯ u D 1/2(D W)D 1/2u = u where ¯ u = D 1/2u 2 using (a b)2 2(a2 + b2) = Equality i (i, j) E, u (i) = u (j) i.e. the graph is 2-colorable. = L¯ u , ¯ u D¯ u , ¯ u = i<j wi,j (¯ u (i) ¯ u (j))2 i di ¯ u (i)2

68. ### Examples of Eigen-decompositions 39 Theorem (in 1D): Laplacian in 1-D:

u (k) = n 1/2e2i n k = sin2 ⇥ n ⇤ Lf = ( 1/2, 1, 1/2) f
69. ### Examples of Eigen-decompositions 39 Theorem (in 1D): Theorem (in 2D):

n = n1n2, = ( 1, 2 ) On a 3D mesh: (u ) is the extension of the Fourier basis. Laplacian in 1-D: u (k) = n 1/2e2i n k = sin2 ⇥ n ⇤ = 1 2 sin2 ⇥ n ⇤1 + 1 2 sin2 ⇥ n ⇤2 u (k) = n 1e2i n k, Lf = 0 1/4 0 1/4 1 1/4 0 1/4 0 f Laplacian in 2-D: Lf = ( 1/2, 1, 1/2) f
70. ### Fourier Transform on Meshes Manifold-Fourier transform: for f 2(V ),

(f)( ) = ˆ f( ) def. = ⇤D1/2f, u ⌅ ⇥ (f) = ˆ f = UTD1/2f, 1( ˆ f) = D 1/2U ˆ f. Proof: ⇥ ˜ W⇥ 1 = U D1/2WD 1/2U = Id n Id n ˜ L ˜ Wf(⇥) = (1 ) ˆ f(⇥) Theorem: ⇥ ˜ W⇥ 1 = Id n , =
71. ### Fourier Transform on Meshes Theorem: if n < 2 (i.e.

M is not 2-colorable), Manifold-Fourier transform: for f 2(V ), (f)( ) = ˆ f( ) def. = ⇤D1/2f, u ⌅ ⇥ (f) = ˆ f = UTD1/2f, 1( ˆ f) = D 1/2U ˆ f. Proof: ⇥ ˜ W⇥ 1 = U D1/2WD 1/2U = Id n Id n ˜ L ˜ Wf(⇥) = (1 ) ˆ f(⇥) Theorem: ⇥ ˜ W⇥ 1 = Id n , = ˜ Wkf k + f = f, d d 1 ˜ Wkf = ⇥ 1(Id n )k⇥(f) f k
72. ### Spectral Diffusion Heat di usion: ⇥ t > 0, Ft

t = D 1LFt = (Id n ˜ W)Ft Manifold-Fourier expansion: ˆ Ft def. = UTD1/2Ft . ⇤ ˆ Ft (⇥) ⇤t = ˆ Ft (⇥) =⇥ ˆ Ft (⇥) = exp( t) ˆ f(⇥). Theorem: Ft t + f = f, d d 1 t
73. ### Spectral Diffusion Heat di usion: ⇥ t > 0, Ft

t = D 1LFt = (Id n ˜ W)Ft Manifold-Fourier expansion: ˆ Ft def. = UTD1/2Ft . Discretization: ¯ Fk+1 = ¯ Fk D 1L ¯ Fk = (1 ) ¯ Fk + ˜ W ¯ Fk. ¯ Fk (⇤) = (1 ⇥ )k ˆ f(⇤) ⇤ ˆ Ft (⇥) ⇤t = ˆ Ft (⇥) =⇥ ˆ Ft (⇥) = exp( t) ˆ f(⇥). Theorem: ¯ Ft/ 0 ⇥ Ft , with stability if < 1. Theorem: Ft t + f = f, d d 1 t
74. ### Mesh Approximation and Compression 42 Orthogonal basis U = (u

) of 2(V ) Rn, where ˜ L = U UT. f = n =1 ⇥f, u ⇤u M-term approx. = fM def. = M =1 ⇥f, u ⇤u . Error decay: E(M) def. = ||f fM ||2 = >M |⇥f, u ⇤|2.
75. ### Intuition: | |2. Mesh Approximation and Compression 42 Orthogonal basis

U = (u ) of 2(V ) Rn, where ˜ L = U UT. f = n =1 ⇥f, u ⇤u M-term approx. = fM def. = M =1 ⇥f, u ⇤u . Good basis ⇥ E(M) decays fast. Example in 1D: if f is C on R/(2 Z), | ˆ f( )| ||f( )||⇥ | | . Example on a mesh: f is smooth if ||˜ Lf|| is small. | f, u ⇥| = 1 | f, ˜ Lu ⇥| 1 ||˜ Lf|| Error decay: E(M) def. = ||f fM ||2 = >M |⇥f, u ⇤|2.

f( ) ˆ f( )