Slide 1

Slide 1 text

Gabriel Peyré CEREMADE, Université Paris Dauphine http://www.ceremade.dauphine.fr/~peyre/ Multiresolution Mesh Processing

Slide 2

Slide 2 text

Overview, course #3 52 CHAPTER 3. MULTIRESOLUTION MESH PROCESSING Figure 3.6: Surface after 0, 1 and 3 step of ↵ 3 subdivision. 3.2.3 Invariant Neighborhoods In order to study the convergence of subdivision schemes, one needs to consider independently each vertex x ⌅ Vj0(x) , where j0 (x) is the coarser scale at which x appears j0 (x) = max {j \ x ⌅ Vj } . Original vertices satisfy j0 (x) = 0 and are the only one (except boundary vertices) that have a non-regular connectivity. The vertex x belongs to the mesh Mj0(x) which is going to be refined through scales j < j0 (x). In order to analyze this refinement, one needs to define an invariant neighborhood V x j ⇥ Vj of x for each scale j j0 (x). These neighborhood are the set of points that are required to compute the operators Pj and ˜ Pj . More precisely, given a vector f ⌅ 2(Vj 1 ), the neighborhoods are required to satisfy ⇧ ⇧ ⌅ V x j 1 ⌃ Vj, ( ˜ Pjf)[ ] depends only on V x j ⇧ k ⌅ V x j 1 ⌃ Hj, (Pjf)[k] depends only on V x j . wavelets bases. All these predictors have one vanishing moment since they satisfy Pj 1 = 1 . In order to ensure that the dual wavelets have one vanishing moment, the update operator depends on the direct neighbors in Hj of each point in Vj ⌅ ✏ ⇤ Vj, V = { (✏, ✏⇥) \ (✏, ✏⇥) ⇤ Ej } . One wants looks for a valid update operator in the following form ⌅ h ⇤ ✏2(Hj ), ⌅ ✏ ⇤ Vj, (Ujh)[✏] = ⇥ k⇤V⇥ h[k], (3.12) where each ⇥ should be fixed in order for condition (3.11) to be satisfied. In an semi-regular triangulation, |V | = 6 except maybe for some points in the coarse grid ⇤ V0 . In this setting, the values of ⇥ can be computed by a recursion through the scales. In an ideal triangulation where |V | = 6 for all ✏, one can use a constant weight ⇥ = ⇥. For the pecial case of the butterfly wavelets, Pj T1Hj = 3 ⇥ 1Vj and Uj T1Vj = 6⇥1Hj , so setting ⇥ = 1/24 olves equation (3.11). Figure 3.8 shows examples of butterfly wavelets on a planar semi-regular riangulation. Wavelets on Meshes Subdivision Surfaces 2

Slide 3

Slide 3 text

Overview • Semi Regular Meshes: 1:4 subdivision, geometry images. • Subdivision Surfaces: Local interpolators, subdivision schemes, convergence. • Biorthogonal Wavelets on Meshes: Lifting Scheme, vanishing moments, compression. 3

Slide 4

Slide 4 text

Regular 1:4 Subdivision 4 48 CHAPTER 3. MULTIRESOLUTION MESH PROCESSING j = 0 j = 1 j = 2 j = 3 Vj ⇥ Vj 1 = Vj ⌅ { (e) \ e ⇤ Ej } . Ej ⇥ Ej 1 = { i (e) \ i = 1, 2 and e ⇤ Ej } . Fj ⇥ Fj 1 = {µi (f) \ i = 1, 2, 3, 4 and f ⇤ Fj } . e 1 (e) 2 (e) (e) µ1 (f) µ2 (f) µ3 (f) µ4 (f) f subdivision subdivision

Slide 5

Slide 5 text

Complementary grids: Vj = Vj+1 Hj+1 . Nested indexes: V0 V 1 . . . VL = V . Semi-regular mesh hierarchy {Mj = (Vj, Ej, Fj ) \ L j 0}. Semi-regular Meshes 5 3.2. SUBDIVISION SURFACES 49 j = 0 j = 1 j = 2 j = 3 Signals f ⇥ Rn 2(VL ) with n = |VL |.

Slide 6

Slide 6 text

Spherical Geometry Images 6 ! !"#$%&'()*+(%(,$-%&.(-&/0*(01*2$,$3#&04* !"#$%&'()*% +),)-.%+/00-% 1*#2-'.#34%/5%13(6% 7#8'/./53%9-.-('86% ! ! ! ! "#$%$&'(!!!!!! )*+,#$-'(!*'#'.,/#$0'/$"&! "-/'+,1#'(!*'#'.,/#$0'/$"&! %,".,/#2!$.'%,!3($/4! #,.,)+,1!%,".,/#2!!! 5$%6#,!78!9,."&)/#'/$"&!":!)*+,#$-'(!*'#'.,/#$0'/$"&!'&1!)6;),<6,&/!#,)'.*($&%!$&/"!'!%,".,/#2!$.'%,=! "#$%&'(%! >,-,&/(2?!@6!,/!'(=!ABCCBD!$&/#"16-,1!)*+,*%&-!.,')*$?!$&!E+$-+! %,".,/#2! $)! #,)'.*(,1! $&/"! '! -".*(,/,(2! #,%6('#!B9!%#$1=!F+,!*#"-,))!$&G"(G,)!-6//$&%! /+,!)6#:'-,!$&/"!'!1$)H!6)$&%!'!&,/E"#H!":!-6/! *'/+)?!'&1!/+,&!.'**$&%!/+,!;"6&1'#2!":!/+$)! 1$)H! /"! '! )<6'#,=! ! I"/+! %,".,/#2! '&1! "/+,#! F+,! /#'1$/$"&'(! '**#"'-+! :"#! *'#'.,/#$0$&%! '! )6#:'-,! $&G"(G,)! -6//$&%!$/!$&/"!-+'#/)!'&1!.'**$&%!/+,),!*$,-,E$),!"&/"!'!*('&'#! 1".'$&=!!M,!$&/#"16-,!'!#";6)/!/,-+&$<6,!:"#!1$#,-/(2!*'#'.,/#$0K $&%! '! %,&6)K0,#"! )6#:'-,! "&/"! '! )*+,#$-'(! 1".'$&=! ! J! H,2! $&%#,1$,&/! :"#! .'H$&%! )6-+! '! *'#'.,/#$0'/$"&! *#'-/$-'(! $)! /+,! .$&$.$0'/$"&! ":! '! )/#,/-+K;'),1! .,')6#,?! /"! #,16-,! )-'(,K x U T S Surface S R3. Spherical parameterization: S : S2 ⇤ S. Spherical-tetraedron flattening: T : Tetrahedron ⇤ S2. Tetraedron unfolding: U : [0, 1]2 ⇤ Tetrahedron. Regular sampling: x = S ⇥ T ⇥ U (⇥/n) for ⇥i = 0, . . . , n 1. [Praun & Hoppe 2003] Spherical Geometry Images: = S T U : [0, 1]2 ⇥ S. Geometry Image ⇥ 3-channels image, special boundary conditions.

Slide 7

Slide 7 text

Overview • Semi Regular Meshes: 1:4 subdivision, geometry images. • Subdivision Surfaces: Local interpolators, subdivision schemes, convergence. • Biorthogonal Wavelets on Meshes: Lifting Scheme, vanishing moments, compression. 7

Slide 8

Slide 8 text

1D Function Refinement 8 h0 h1 ˜ h 1 ˜ h1 ˜ h0 Vj Hj Vj 1 [1, 1]/2 [1, 1]/2 [1, 6, 1]/8 [1, 4, 6, 4, 1]/8 1 [1, 2, 1]/4 g h ˜ h Linear Cubic fj ⇤ 2(Vj ) ⇥ ⌅ k ⇤ Hj, fj 1 (k) = ⇥ t fj ((k 1)/2 + t)h(t), ⌅ ⇤ Vj, fj 1 ( ) = ⇥ t fj ( + t)˜ h(t). f 1 f 2 f 5 f0

Slide 9

Slide 9 text

Spline Interpolation 9 g = [. . . , ˜ h( 1), h(0), ˜ h(0), h(1), ˜ h(1), . . .] Cubic: [1, 4, 6, 4, 1]/8. fj 1 = (fj ⇤ 2) ⇥ g where a ⇤ 2 = [. . . , a( 1), 0, a(0), 0, a(1), . . .]. f0 = 0 f ⇥ = Rescaled ˜ fj (x = 2j⇥) = f(⇥) j⇥ ⇤ ⇥ f(x) = ⌅V0 (x ⇥)f0(⇥). ˆ fj ( ) = ˆ fj+1 ( /2)ˆ g( ) = ˆ f0 (2j ) j 1 k=0 ˆ h( /2k) ˆ ⇥( ) = 0 j= ⇥ ˆ g(2j ).

Slide 10

Slide 10 text

Curve Subdivision 10 Signal (X0, Y0 ) : V0 R2 (control polygon). Subdivision curve (Xj, Yj ) converges to (X(t), Y (t))1 t=0 R2. (X 2, Y 2 ) (X 5, Y 5 ) (X0, Y0 ) (X 1, Y 1 )

Slide 11

Slide 11 text

Subdivision Refinement 11 define ˜ Pj . For a vertex k ⇤ Hj ⇥ Vj 1 , the butterfly neighborhood is a set of vertices in Vj close to k. This neighborhood is used to define Pj . The two immediate neighbors are (v1 k , v2 k ) def. = {v ⇤ Vj \ (v, k) ⇤ Ej 1 } . Two other vertices (w1 k , w2 k ) are defined using the two faces adjacent to edge (v2 k , v2 k ) ⇤ Ej f1 k = (v1 k , v2 k , w1 k ) ⇤ Fj and f2 k = (v1 k , v2 k , w2 k ) ⇤ Fj. For edges Ej on the boundary of Mj , one one face is available, in which case we implicitly assume that f1 = f2 (reflecting boundary conditions). The four last vertices are defined using faces adjacent to f1 and f2 : ⇧ i, j = 1, 2, fi,j k def. = (zi,j k , vj k , wj k ) ⇤ Fj with fi,j k ⌅= fj. Once again, reflecting boundary condition are applied for faces on the boundary of the mesh. The butterfly neighborhood is depicted on figure 3.3. k v1 k v2 k f2 k f1 k w1 k w2 k z1,1 k f1,1 k f1,2 k f2,2 k f2,1 k z1,2 k z2,2 k z2,1 k Interpolators : Pj : 2(Vj ) ⇥ 2(Hj ), ˜ Pj : 2(Vj ) ⇥ 2(Vj ). Signal refinement: fj ⇥ R|Vj | ⇤ fj 1 ⇥ R|Vj 1|: ⇥ Vj 1, fj 1 [ ] = (Pjfj )[ ] if Vj, ( ˜ Pjfj )[ ] if Hj.

Slide 12

Slide 12 text

Triangular Subdivision Schemes 12 1 2 (f[v1 k ] + f[v2 k ]) fj [ ] ⇥ Vj, ( ˜ Pjfj )[ ] = ⇥ k Hj, (Pjfj )[k] = 1 2 2 i=1 f[vi k ] + 1 8 2 i=1 f[wi k ] 1 16 2 i,j=1 f[zi,j k ] m def. = 1 m ⇤ 5 8 3 8 + 1 4 cos(2⇥/m) ⇥2 ⌅ . 3 8 2 i=1 f[vi k ] + 1 8 2 i=1 f[wi k ] (1 |V | |V | )fj [⇥] + |V | ⇥V fj [⇥ ] fj [ ] Figure 3.4: Examples of iterative subdivision using Loop scheme. The points (X0, Y0, Z0 ) of the nitial coarse mesh M0 are shown in red. Original Linear Butterfly Loop Linear Butterfly Loop

Slide 13

Slide 13 text

Examples of Loop Subdivision 13 3.2. SUBDIVISION SURFACES 51 Figure 3.4: Examples of iterative subdivision using Loop scheme. The points (X0, Y0, Z0 ) of the initial coarse mesh M0 are shown in red. j = 0 j = 1 j = 2 j = 3

Slide 14

Slide 14 text

Invariant Neighborhoods 14 3.2. SUBDIVISION SURFACES 1 2 3 4 5 6 7 8 9 0 1 0 2 3 7 4 8 5 9 6 Figure 3.7: Invariant neighborhood V x j and V x j 1 (indexing with red circles) o Coarser scale: j0 (x) = max {j \ x Vj } . Invariant neighborhoods (V x j ) j of x: ⇥ V x j 1 ⇤ Vj, ( ˜ Pjf)[ ] depends only on V x j ⇥ k V x j 1 ⇤ Hj, (Pjf)[k] depends only on V x j . Restrictions: Px j : V x j ⇥ V x j 1 ⇤ Vj, ˜ Px j : V x j ⇥ V x j 1 ⇤ Hj. Same size j j0 (x), #V x j = mx . Subdivision matrix Sx j Rmx mx ( ˜ Px j , Px j ) : V j x ⇥ V j 1 x . ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇤ 7 3 3 3 1 1 1 1 10 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 10 1 1 3 3 1 1 3 3 1 1 3 3 1 3 1 1 1 1 3 1 1 2 1 3 ⇥ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌅ Sx j =

Slide 15

Slide 15 text

Convergence of Subdivisions 15 fx j Rmx restriction of fj to V x j . fj [x] = Sxfx j+1 ⇥ [x] = ⇤ (Sx)j0(x) jfx j0(x) ⌅ [x], Hypothesis : 1 = 1 < def. = 2 = 3 < 4. = ( i )m i=1 , = ( i )m i=1 1 k (f ⇥f, ⇥1 ⇤1) = ⇥f, ⇥2 ⇤ ˜ ⇥2 + ⇥f, ⇥3 ⇤ ˜ ⇥3 + o(1). Sx = ˜ ⇥V ⇥T where ⇥T = ˜ ⇥ 1, = diag( i ), 1 2 . . . mx . Eigen-decomposition: Theorem : fj(x) j⇥ ⇤ ⇥ ⇤fx j0(x) , 1 ⌅. Asymptotics with k +⇥:

Slide 16

Slide 16 text

Convergence 16 p(x) = (X(x), Y (x), Z(x)) = ( Xx j0 , 1 ⇥, Y x j0 , 1 ⇥, Zx j0 , 1 ⇥). Coarse control mesh: p0 = (X0, Y0, Z0 ) 2(V0 )3. Subdivision surface: pj = (Xj, Yj, Zj ) converges to p(x) p(x ) + o(1) ⇥ Span( x 2 , x 3 ) where i(x) def. = ( Xx j0 , ⇥i ⇥, Y x j0 , ⇥i ⇥, Zx j0 , ⇥i ⇥). Tangent plane: 3.2. SUBDIVISION SURFACES 1 2 3 4 5 6 7 8 9 0 1 0 2 3 7 4 8 5 9 6 x x 1 = 1 and 2 = 3 = 1/3 > 4 . ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇧ ⇤ 7 3 3 3 1 1 1 1 10 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 10 1 1 3 3 1 1 3 3 1 1 3 3 1 3 1 1 1 1 3 1 1 2 1 3 ⇥ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌃ ⌅ Sx j = Loop matrix k = 3

Slide 17

Slide 17 text

Overview • Semi Regular Meshes: 1:4 subdivision, geometry images. • Subdivision Surfaces: Local interpolators, subdivision schemes, convergence. • Biorthogonal Wavelets on Meshes: Lifting Scheme, vanishing moments, compression. 17

Slide 18

Slide 18 text

Biorthogonal Wavelets on Meshes 18 .. . f0 2(V0 ) f 1 2(V 1 ) f 2 2(V 2 ) d0 2(H0 ) d 1 2(H 1 ) Initial signal (dj 2(Hj ))J 1 j=0 f0 2(G0 ) (wavelets coefs.) (coarse approx.) fwd. trans. bwd. trans. Forward : ⇥ k Hj, dj [k] = ⇤f, j,k ⌅, ⇥ ⇤ Vj, fj [⇤] = ⇤f, ⇥j, ⌅. Backward : f = L

Slide 19

Slide 19 text

Lifting Scheme 19 split Pj Uj fj 1 Vj Vj 1 Hj + fj dj .. . fj dj Vj Hj Uj Pj + merge fj 1 Vj 1 .. . .. . .. . Predict : Pj : 2(Vj ) ⇥ 2(Hj ) Update : Uj : 2(Hj ) ⇥ 2(Vj )

Slide 20

Slide 20 text

Lifting Recursion 20 Forward Predict/Update steps: ⇤ k ⇥ Hj, dj [k] = fj 1 [k] ⇥ ⇥Vj pj [k, ]fj 1 [ ], followed by ⇤ ⇥ Vj, fj [ ] = fj 1 [ ] + ⇥ k⇥Hj uj [ , k]dj [k]. Backward Update/Predict steps: ⇤ ⇥ Vj, fj 1 [ ] = fj [ ] ⇥ k⇥Hj uj [ , k]dj [k], followed by ⇤ k ⇥ Hj, fj 1 [k] = dj [k] + ⇥ ⇥Vj pj [k, ]fj 1 [ ]. ⇤ k ⇥ Hj, j,k = ⇥j 1,k ⇥ ⇥Vj pj [k, ⇤]⇥j 1, , ⇤ ⇤ ⇥ Vj, ⇥j, = ⇥j 1, + ⇥ k⇥Hj uj [⇤, k] j,k, E ect on basis functions:

Slide 21

Slide 21 text

Imposing Vanishing Moments 21 ⇤ k ⇥ Hj, j,k = ⇥j 1,k ⇥ ⇥Vj pj [k, ⇤]⇥j 1, , ⇤ ⇤ ⇥ Vj, ⇥j, = ⇥j 1, + ⇥ k⇥Hj uj [⇤, k] j,k, Sampling locations: ⇤ ⇥ VL, x = (X , Y , Z ) ⇥ S R3. Polynomials: s (x ) = xs = (X )s1 (Y )s2 (Z )s3 . Imposing vanishing moments: ⇥ ⇤ Vj, ⇤ s, ⇥j, ⌅ = s [⇤], ⇥ k Hj, ⇤ s, j, ⌅ = 0, (⇥j, , j, ) k, have VM ⇥ ⇤ ⌅ s ⇤ S, Pj Vj s = Hj s , Uj T Vj s + Pj T Hj s ⇥ = Hj s . If (⇥j 1, , j 1, ) k, have vanishing moments: where A s 2(A) is the restriction of s to A.

Slide 22

Slide 22 text

wavelets bases. All these predictors have one vanishing moment since they satisfy Pj 1Hj = 1Vj . In order to ensure that the dual wavelets have one vanishing moment, the update operator depends on the direct neighbors in Hj of each point in Vj ⌅ ✏ ⇤ Vj, V = { (✏, ✏⇥) \ (✏, ✏⇥) ⇤ Ej } . One wants looks for a valid update operator in the following form ⌅ h ⇤ ✏2(Hj ), ⌅ ✏ ⇤ Vj, (Ujh)[✏] = ⇥ k⇤V⇥ h[k], (3.12) where each ⇥ should be fixed in order for condition (3.11) to be satisfied. In an semi-regular triangulation, |V | = 6 except maybe for some points in the coarse grid ⇤ V0 . In this setting, the values of ⇥ can be computed by a recursion through the scales. In an ideal triangulation where |V | = 6 for all ✏, one can use a constant weight ⇥ = ⇥. For the pecial case of the butterfly wavelets, Pj T1Hj = 3 ⇥ 1Vj and Uj T1Vj = 6⇥1Hj , so setting ⇥ = 1/24 olves equation (3.11). Figure 3.8 shows examples of butterfly wavelets on a planar semi-regular riangulation. Examples of Update Operators 22 ⇥ h ⇥2(Hj ), ⇥ ⇥ Vj, (Ujh)[⇥] = (h[v1 k ] + h[v2 k ]), Update operators: On a regular triangulation: |V | = 6, = . Pj T1Hj = 3 1Vj , Uj T1Vj = 6 1Hj =⇥ = 1/24. Pj 1 = 1. 1/2 1/2 1/2 1/2 1/16 1/16 1/16 1/16 3/8 3/8 1/8 1/8 Linear Loop Butterfly ˜ 1,k ˜ 2,k ˜ 3,k

Slide 23

Slide 23 text

Function on Meshes Approximation 23 100% 10% 5% 2% Figure 3.9: Non-linear wavelet mesh compression with a decreasing number of coe cients. 100% 10% 5% 2% Function f ⇥ 2(VJ ) Rn. Decomposition : f = L T| supp( j,k )| 1/2 ⇥ . Approximation : fM = (j,k) IT f, j,k ⇥ ˜ j,k, M = #IT

Slide 24

Slide 24 text

3D Mesh Compression 24 wavelet in order to approximately normalize the wavelets in ⇤2(VL ) norm. Figure 3.9 shows an example of compression of the position of a vertex in 3D spaces as 3 functions defined on a semi-regular mesh. Figure 3.10 shows an example of compression of a spherical texture map which is a single function defined at each vertex of a semi-regular mesh obtained by subdividing an icosaedron. 100% 10% 5% 2% Sampling locations: ⇤ ⇥ VL, x = (X , Y , Z ) ⇥ S R3.