Slide 1

Slide 1 text

Differential Mesh Processing Gabriel Peyré CEREMADE, Université Paris-Dauphine www.numerical-tours.com

Slide 2

Slide 2 text

Processing: Local vs. Global 2 Differential Processing Geodesic Processing Surface filtering Fourier on Meshes Front Propagation on Meshes Surface Remeshing

Slide 3

Slide 3 text

Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous •Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 3

Slide 4

Slide 4 text

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.

Slide 5

Slide 5 text

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:

Slide 6

Slide 6 text

Mesh Acquisition acquisition [Digital Michelangelo Project] Low-poly modeling 5 Implicit surface

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Mesh Displaying 7

Slide 10

Slide 10 text

Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous •Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 8

Slide 11

Slide 11 text

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.

Slide 12

Slide 12 text

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⇥

Slide 13

Slide 13 text

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.

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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 defined on M. f(xi ) = x1 i f(xi ) = cos(2 x1 i )

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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)

Slide 18

Slide 18 text

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)

Slide 19

Slide 19 text

Iterative Smoothing 12 Iterative smoothing: ˜ Wf, ˜ W2, . . . , ˜ Wkf smoothed version of f. f ˜ Wf ˜ W4f ˜ W8f

Slide 20

Slide 20 text

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 }

Slide 21

Slide 21 text

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 }

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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},

Slide 24

Slide 24 text

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},

Slide 25

Slide 25 text

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.

Slide 26

Slide 26 text

Laplacian Positivity 16 Theorem: L = GTG and ˜ L = (GD 1/2)T(GD 1/2). = L and ˜ L are symmetric positive definite. ⇥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).

Slide 27

Slide 27 text

Proof 17 ||Gf||2 = (i,j) E0 wi,j |fi fj |2 = i>j wi,jf2 i = i

Slide 28

Slide 28 text

Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous •Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 18

Slide 29

Slide 29 text

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 )

Slide 30

Slide 30 text

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 ).

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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 .

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

Voronoi and Dual Mesh 22 Definition 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

Slide 36

Slide 36 text

Voronoi and Dual Mesh 22 Definition 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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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:

Slide 39

Slide 39 text

Cotangent Weights Sobolev norm (Dirichlet energy): J(f) = M || f(x)||dx

Slide 40

Slide 40 text

⇧ (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

Slide 41

Slide 41 text

⇧ (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

Slide 42

Slide 42 text

Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous •Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 25

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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.

Slide 45

Slide 45 text

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 ||

Slide 46

Slide 46 text

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 )

Slide 47

Slide 47 text

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)).

Slide 48

Slide 48 text

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)

Slide 49

Slide 49 text

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).

Slide 50

Slide 50 text

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)

Slide 51

Slide 51 text

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.

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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:

Slide 55

Slide 55 text

Mesh Denoising with Heat Diffusion 30 t = 0 t increases

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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.

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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)

Slide 60

Slide 60 text

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))

Slide 61

Slide 61 text

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 defines, 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 fix 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.

Slide 62

Slide 62 text

Overview •Triangulated Meshes •Operators on Meshes •From Discrete to Continuous •Denoising by Diffusion and Regularization •Fourier on Meshes •Spectral Mesh Compression 35

Slide 63

Slide 63 text

Laplacian Eigen-decomposition 36 ˜ L = (GD 1/2)T(GD 1/2) = ˜ L is positive semi-definite. 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

Slide 64

Slide 64 text

Laplacian Eigen-decomposition 36 ˜ L = (GD 1/2)T(GD 1/2) = ˜ L is positive semi-definite. 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

Slide 65

Slide 65 text

Laplacian Eigen-decomposition 36 ˜ L = (GD 1/2)T(GD 1/2) = ˜ L is positive semi-definite. 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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

Eigenvectors of the Laplacian 38

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

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 , =

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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.

Slide 75

Slide 75 text

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.

Slide 76

Slide 76 text

Laplace Spectrum 43 ˆ f( ) ˆ f( ) ˆ f( ) ˆ f( )

Slide 77

Slide 77 text

Mesh Compression 44 M increasing