Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mesh Processing Course : Multiresolution

Slides for a course on mesh processing.

  • Login to see the comments

  • Be the first to like this

Mesh Processing Course : Multiresolution

  1. 1. Multiresolution Mesh Processing http://www.ceremade.dauphine.fr/~peyre/Gabriel PeyréCEREMADE, Université Paris Dauphine
  2. 2. wavelets bases. All these predictors have one vanishing moment since they satisfy Pj 1 = 1 . Overview, course #3 In order to ensure that the dual wavelets have one vanishing moment, the update operatordepends on the direct neighbors in Hj of each point in Vj 52 CHAPTER 3. MULTIRESOLUTION MESH PROCESSING ⌅ ✏ ⇤ Vj , V = { (✏, ✏⇥ ) (✏, ✏⇥ ) ⇤ Ej } . Subdivision SurfacesOne wants looks for a valid update operator in the following form ⌅ h ⇤ ✏2 (Hj ), ⌅ ✏ ⇤ Vj , (Uj h)[✏] = ⇥ h[k], (3.12) k⇤V⇥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. Inan ideal triangulation where |V | = 6 for all ✏, one can use a constant weight ⇥ = ⇥. For the pecial case of the butterfly wavelets, Pj T 1Hj = 3 ⇥ 1Vj and Uj T 1Vj = 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 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 Vjx ⇥ 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 ⇧ ˜ ⇧ ⌅ Vjx 1 ⌃ Vj , (Pj f )[ ] depends only on Vjx ⇧ k ⌅ Vj 1 ⌃ Hj , (Pj f )[k] depends only on Vjx . x 2
  3. 3. 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
  4. 4. Regular 1:4 Subdivision 1 (e) subdivision (e) subdivision µ1 (f ) e f µ4 (f ) 2 (e) µ3 (f ) µ2 (f ) Vj ⇥ Vj 1 = Vj ⌅ { (e) e ⇤ Ej } . Ej48 ⇥ Ej 1 = { CHAPTER i = 1, 2 and e ⇤ Ej } . i (e) 3. MULTIRESOLUTION MESH PROCESSING Fj ⇥ Fj 1 = {µi (f ) i = 1, 2, 3, 4 and f ⇤ Fj } . j=0 j= 1 j= 2 j= 3 4
  5. 5. Semi-regular MeshesNested indexes: V0 V 1 . . . VL = V .Complementary grids: Vj = Vj+1 Hj+1 .Semi-regular meshSURFACES 3.2. SUBDIVISION hierarchy {Mj = (Vj , Ej , Fj ) L j 0}.49Signals f ⇥ Rn 2 (VL ) with n = |VL |. j=0 j= 1 j= 2 j= 3 5
  6. 6. Spherical Geometry ImagesSurface S R3 . Spherical parameterization: S : S 2 ⇤ S. [Praun & Hoppe 2003] Spherical-tetraedron flattening: ! T : Tetrahedron ⇤ S 2 . Tetraedron unfolding: U : [0, 1]2 ⇤ Tetrahedron. !"#$%&()*+(%(,$-%&.(-&/0*(01*2$,$3#&04* Regular sampling: x!"#$%&()*% ⇥ T ⇥ U (⇥/n) for ⇥i = 0, . . . , n 1. = S +),)-.%+/00-% 1*#2-.#34%/5%13(6% 7#8/./53%9-.-(86% S T U x ! ! ! ! "#$%$&(!!!!!! )*+,#$-(!*#.,/#$0/$"&! "-/+,1#(!*#.,/#$0/$"&! %,".,/#2!$.%,!3($/4! #,.,)+,1!%,".,/#2!!! 5$%6#,!78!9,."&)/#/$"&!":!)*+,#$-(!*#.,/#$0/$"&!&1!)6;),<6,&/!#,).*($&%!$&/"!!%,".,/#2!$.%,=!"#$%&(%!Spherical**#"-+! :"#! *#.,/#$0$&%! ! )6#:-,! $&G"(G,)!F+,! /#1$/$"&(! Geometry Images: = T U : [0, 1] ⇥ S. 2 S >,-,&/(2?!@6!,/!(=!ABCCBD!$&/#"16-,1!)*+,*%&-!.,)*$?!$&!E+$-+!-6//$&%! $/! $&/"! -+#/)! &1! .**$&%! /+,),! *$,-,E$),! "&/"! ! *(&#! %,".,/#2! $)! #,).*(,1! $&/"! ! -".*(,/,(2!Geometry Image ⇥ 3-channels image, special boundary conditions.1".$&=!!M,!$&/#"16-,!!#";6)/!/,-+&$<6,!:"#!1$#,-/(2!*#.,/#$0K #,%6(#!B9!%#$1=!F+,!*#"-,))!$&G"(G,)!-6//$&%! /+,!)6#:-,!$&/"!!1$)H!6)$&%!!&,/E"#H!":!-6/!$&%! ! %,&6)K0,#"! )6#:-,! "&/"! ! )*+,#$-(! 1".$&=! ! J! H,2! */+)?!&1!/+,&!.**$&%!/+,!;"6&1#2!":!/+$)!$&%#,1$,&/! :"#! .H$&%! )6-+! ! *#.,/#$0/$"&! *#-/$-(! $)! /+,!.$&$.$0/$"&! ":! ! )/#,/-+K;),1! .,)6#,?! /"! #,16-,! )-(,K 1$)H! /"! ! )<6#,=! ! I"/+! %,".,/#2! &1! "/+,#! 6
  7. 7. 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
  8. 8. 1D Function Refinement ˜ h 1 h1 ˜ h0 ˜ h1 Vj h0 Vj 1 Hj h ˜ h g Linear [1, 1]/2 1 [1, 2, 1]/4 Cubic [1, 1]/2 [1, 6, 1]/8 [1, 4, 6, 4, 1]/8 ⇥ ⌅ k ⇤ Hj , fj 1 (k) = t fj ((k 1)/2 + t)h(t),fj ⇤ (Vj ) 2 ⇥ ⇥ ˜ ⌅ ⇤ Vj , fj 1 ( ) = t fj ( + t)h(t). f0 f 1 f 2 f 5 8
  9. 9. Spline Interpolation ˜ ˜ ˜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), . . .]. ˜ (x = 2j ⇥) = f (⇥) j⇥⇥ f (x) =Rescaled fj ⇤ (x ⇥)f 0 (⇥). ⌅V0 j 1 ˆ ˆ ˆ fj ( ) = fj+1 ( /2)ˆ( ) = f0 (2j ) g ˆ h( /2k ) 0 k=0 ⇥( ) = ˆ g (2j ). ˆ j= ⇥ f0 = 0 f ⇥ = 9
  10. 10. Curve SubdivisionSignal (X0 , Y0 ) : V0 R2 (control polygon).Subdivision curve (Xj , Yj ) converges to (X(t), Y (t))1 t=0 R2 . (X0 , Y0 ) (X 1, Y 1) (X 2, Y 2) (X 5, Y 5) 10
  11. 11. ˜Subdivision Refinement 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 def. (vk , vk ) = {v ⇤ Vj (v, k) ⇤ Ej 1 2 1} . Two other vertices (wk , wk ) are : j defined using the two (Hj adjacent to edge (vk , vk ) ⇤ Ej (Vj ) ⇥ faces ), 1 2P 2 2 2 2Interpolators : fk = ˜ k ,: k , 2 (V ) j 1 P 1 v 2 wk ) ⇤ F (v j 1 j and ⇥ (Vj ). 2 2 2k = (vk , vk , wk ) ⇤ Fj . f2 1 For edges Ej on the boundary of Mj , one one face is available, in which case we implicitly assumeSignalf refinement: boundary conditions).fThe1 ⇥last|Vj 1 | :are defined using faces adjacent that f1 = f2 (reflecting f ⇥ R|Vj | ⇤ to 1 and f2 : j j four R vertices i,j def. i,j j j i,j ⇧ i, j = 1, 2, fk = (zk , vk , wk ) ⇤ Fj with fk ⌅= fj . (Pj fj )[ ] if V , Once again, reflecting boundary condition are applied for faces on thejboundary of the mesh. The ⇥ Vj 1 , fj 1 [ ] = ˜ butterfly neighborhood is depicted on figure j fj )[ ] if (P 3.3. Hj . 1 2,1 1,1 zk wk zk 1,1 2,1 fk 1 fk fk 1 k 2 vk vk 2 1,2 fk 2,2 fk fk 1,2 2 2,2 zk wk zk 11
  12. 12. Triangular Subdivision Schemes ⇥k Hj , (Pj fj )[k] = ⇥ ˜ Vj , (Pj fj )[ ] = 1 Linear (f [vk ] + f [vk ]) 1 2 fj [ ] 2 2 2 2 1 1 1 Butterfly 2 f [vk ] i + 8 f [wk ] i 16 i,j=1 i,j f [zk ] fj [ ] i=1 i=1 2 2 3 1 (1 |V | |V | )fj [⇥] + |V | fj [⇥ ] Loop f [vk ] + i f [wk ]Figure 3.4: Examples of iterative subdivision using Loop scheme. ⇤ points (X0 , Y0 , Z0 ) of the i The ⇥V ⇥2 ⌅nitial coarse mesh M0i=1 shown in8 i=1 8 are red. = 1 5 3 1 def. + cos(2⇥/m) . m m 8 8 4 Original Linear Butterfly Loop 12
  13. 13. Examples of Loop Subdivision3.2. SUBDIVISION SURFACES 51 j=0 j= 1 j= 2 j= 3Figure 3.4: Examples of iterative subdivision using Loop scheme. The points (X0 , Y0 , Z0 ) of theinitial coarse mesh M0 are shown in red. 13
  14. 14. Invariant NeighborhoodsCoarser scale: j0 (x) = max {j x Vj } .Invariant neighborhoods (Vjx )j of x: ⇥ ˜ Vjx 1 ⇤ Vj , (Pj f )[ ] depends only on Vjx ⇥ k Vjx 1 ⇤ Hj , SUBDIVISION depends only on Vjx . 3.2. (Pj f )[k] SURFACES Pjx : Vjx ⇥ Vjx 1 ⇤ Vj ,Restrictions: ˜ Pjx : Vjx ⇥ Vjx 1 ⇤ Hj . 1Same size j j0 (x), #Vjx = mx .Subdivision matrix Sj Rmx x mx 1 7 ˜ (Pjx , Pjx ) : Vx ⇥ Vx 1 . j j 6 4 ⇥ 7 7 3 3 3 4 ⇧1 1 6 ⇧ 1 1 10 1 1 ⌃ ⌃ 0 ⇧1 1 1 1 1 10 1 ⌃ ⌃ ⇧ ⇧1 ⌃ 0 8 ⇧ 1 1 1 1 1 10⌃ 9 Sj = x ⇧1 ⇧ 1 3 3 ⌃ ⌃ 3 9 2 8 ⇧1 ⇧ 1 3 3⌃ ⌃ 5 ⇧1 1 3 3⌃ ⇧ ⌃ 3 2 ⇧1 3 1 1⌃ 5 ⇧ ⌃ ⇤1 1 3 1⌅ 1 2 1 3 14 Figure 3.7: Invariant neighborhood Vjx and Vjx 1 (indexing with red circles) o
  15. 15. Convergence of Subdivisions xfj Rmx restriction of fj to Vjx . ⇥ ⇤ ⌅ fj [x] = S x fj+1 [x] = (S x )j0 (x) x j x fj0 (x) [x],Eigen-decomposition: ˜ ⇥T = ⇥ 1 , x ˜ S = ⇥V ⇥ T where = diag( i ), 1 2 ... mx . = ( i )m , i=1 = ( i )m i=1 def.Hypothesis : 1= 1 < = 2 = 3 < 4.Asymptotics with k +⇥: 1 k (f ⇥f, ⇥1 ⇤1) = ⇥f, ⇥2 ⇤⇥2 + ⇥f, ⇥3 ⇤⇥3 + o(1). ˜ ˜ j⇥ ⇤T heorem : f j (x) x ⇥ ⇤fj0 (x) , 1 ⌅. 15
  16. 16. ConvergenceCoarse control mesh: p0 = (X0 , Y0 , Z0 ) 2 (V0 )3 .Subdivision surface: pj = (Xj , Yj , Zj ) converges to p(x) = (X(x), Y (x), Z(x)) = ( Xj0 , x 1 ⇥, Yjx , 0 1 ⇥, x Zj0 , 1 ⇥).Tangent plane: p(x) p(x ) + o(1) ⇥ Span( SUBDIVISION SURFACES 3.2. 2 , 3 ) x x def. where i (x) = ( Xj0 , ⇥i ⇥, Yjx , ⇥i ⇥, Zj0 , ⇥i ⇥). x 0 x 1 ⇥ 7 3 3 3 ⇧1 1 1 1 10 1 1 ⌃ ⇧ ⌃ ⇧1 1 1 1 1 10 1 ⌃Loop matrix x ⇧ ⇧1 ⇧ 1 1 1 1 1 10⌃ ⌃ ⌃ 1 7 k=3 Sj = ⇧1 ⇧ 1 3 3 ⌃ ⌃ 6 ⇧1 1 3 3⌃ 4 ⇧ ⇧1 ⌃ 7 ⇧ 1 3 3⌃⌃ 6 4 ⇧1 3 1 1⌃ 0 ⇧ ⌃ ⇤1 1 3 1⌅ 0 8 1 2 1 3 9 3 8 9 5 2 1 = 1 and 2 = 3 = 1/3 > 4. 2 3 5 16 x x
  17. 17. 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
  18. 18. Biorthogonal Wavelets on Meshes ... f 2 2 (V 2) f 1 2 (V 1) f0 2 (V0 ) d 1 2 (H 1 ) d0 2 (H0 ) fwd. trans. Initial signal (dj 2 (Hj ))J 1 (wavelets coefs.) j=0f = fJ 2 (VJ ) f0 2 (G0 ) (coarse approx.) bwd. trans. ⇥k Hj , dj [k] = ⇤f, j,k ⌅, F orward : ⇥⇤ Vj , fj [⇤] = ⇤f, ⇥j, ⌅.Backward : f = dj [k] ˜j,k + fJ [⇤]⇥J, . ˜ L<j J,k Hj VJ 18
  19. 19. Lifting Scheme Vj + fj ... fj 1. . . Vj 1 split Pj Uj Hj dj fj. . . Vj fj 1 Uj Pj merge Vj 1 ... dj Hj + P redict : Pj : 2 (Vj ) ⇥ 2 (Hj ) U pdate : Uj : 2 (Hj ) ⇥ 2 (Vj ) 19
  20. 20. Lifting RecursionForward 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 [ ].E ect on basis functions: ⇥ ⇤ k ⇥ Hj , j,k = ⇥j 1,k p [k, ⇤]⇥j 1, , ⇥ ⇥Vj j ⇤ ⇤ ⇥ Vj , ⇥j, = ⇥j 1, + k⇥Hj uj [⇤, k] j,k , 20
  21. 21. Imposing Vanishing MomentsSampling locations: ⇤ ⇥ VL , x = (X , Y , Z ) ⇥ S R3 .Polynomials: s (x ) = xs = (X )s1 (Y )s2 (Z )s3 . ⇥ ⇤ Vj , ⇤ s , ⇥j, ⌅ = s [⇤],Imposing vanishing moments: ⇥ k Hj , ⇤ s , j, ⌅ = 0, ⇥ ⇤ k ⇥ Hj , j,k = ⇥j 1,k ⇥Vj pj [k, ⇤]⇥j 1, , ⇥ ⇤ ⇤ ⇥ Vj , ⇥j, = ⇥j 1, + k⇥Hj uj [⇤, k] j,k ,If (⇥j 1, , j 1, )k, have vanishing moments: ⇤ V H ⌅ s ⇤ S, Pj s j = ⇥ j , s (⇥j, , j, )k, have VM ⇥ Vj T Hj Hj s + Pj = T Uj s s . where A s 2 (A) is the restriction of s to A. 21
  22. 22. wavelets bases. All these predictors have one vanishing moment since they satisfy Pj 1Hj = 1Vj . Examples of Update Operators In order to ensure that the dual wavelets have one vanishing moment, the update operatordepends on the direct neighbors in Hj of each point in Vj 1/8 1/16 1/16 ⌅ ✏ ⇤ Vj , V = { (✏, ✏⇥ ) (✏, ✏⇥ ) ⇤ Ej } .One wants looks for a valid update operator in the following form 1/2 1/2 3/8 3/8 1/2 1/2 Pj 1 = 1. ⌅ h ⇤ ✏2 (Hj ), ⌅ ✏ ⇤ Vj , (Uj h)[✏] = ⇥ h[k], (3.12) k⇤V⇥ 1/8 1/16 1/16where each Linear be fixed in order for condition (3.11) to be satisfied. ⇥ should Loop Butterfly In an semi-regular triangulation, |V | = 6 except maybe for some points in the coarse grid ⇤Update operators: values of ⇥ can be computed by a recursion through the scales. In V0 . In this setting, thean ideal ⇥ h triangulation where ⇥|V | V , for all h)[⇥] = use a constant weight ⇥ = ⇥. For the ⇥2 (Hj ), ⇥ = 6 (U ✏, one can (h[v 1 ] + h[v 2 ]), j j k k pecial case of the butterfly wavelets, Pj T 1Hj = 3 ⇥ 1Vj and Uj T 1Vj = 6⇥1Hj , so setting ⇥ = 1/24 olves equation (3.11). Figure 3.8 shows|V | = 6, of butterfly wavelets on a planar semi-regular On a regular triangulation: examples = . riangulation. Pj T 1Hj = 3 1Vj , Uj T 1Vj = 6 1Hj =⇥ = 1/24. ˜ 1,k ˜ 2,k ˜ 3,k 22
  23. 23. Function on Meshes ApproximationFunction f ⇥ 2 (VJ ) Rn .Decomposition : f = f, ˜ j,k ⇥ j,k L<j 0 k HjApproximation : fM = f, ˜ j,k ⇥ j,k , M = #IT 100% 10% 5% 2% (j,k) IT Figure 3.9: Non-linear wavelet mesh compression with a decreasing number of coe cients. ⇥ where IT = (j, k) k Hj and |⇥f, j,k ⇤| > T | supp( j,k )| 1/2 . 100% 10% 5% 2% 23
  24. 24. 3D Mesh Compressionwavelet 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 3functions defined on a semi-regular mesh. Figure 3.10 shows an example of compression of aspherical texture map which is a single function defined at each vertex of a semi-regular meshobtained by subdividing an icosaedron. V , x = (X , Y , Z ) ⇥ S Sampling locations: ⇤ ⇥ L R3 . 100% 10% 5% 2% 24

×