Successfully reported this slideshow.
Upcoming SlideShare
×

# Mesh Processing Course : Multiresolution

Slides for a course on mesh processing.

• Full Name
Comment goes here.

Are you sure you want to Yes No

• Be the first to like this

### Mesh Processing Course : Multiresolution

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 ﬁxed in order for condition (3.11) to be satisﬁed. 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 butterﬂy 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 butterﬂy 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 reﬁned through scales j < j0 (x). In order to analyze this reﬁnement, one needs to deﬁne 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 ﬂattening: ! 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 Reﬁnement ˜ 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 Reﬁnement deﬁne Pj . For a vertex k ⇤ Hj ⇥ Vj 1 , the butterﬂy neighborhood is a set of vertices in Vj close to k. This neighborhood is used to deﬁne Pj . The two immediate neighbors are def. (vk , vk ) = {v ⇤ Vj (v, k) ⇤ Ej 1 2 1} . Two other vertices (wk , wk ) are : j deﬁned 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 reﬁnement: boundary conditions).fThe1 ⇥last|Vj 1 | :are deﬁned using faces adjacent that f1 = f2 (reﬂecting 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, reﬂecting boundary condition are applied for faces on thejboundary of the mesh. The ⇥ Vj 1 , fj 1 [ ] = ˜ butterﬂy neighborhood is depicted on ﬁgure 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 Butterﬂy 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 Butterﬂy 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 ﬁxed in order for condition (3.11) to be satisﬁed. ⇥ should Loop Butterﬂy 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 butterﬂy 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 butterﬂy 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 deﬁned on a semi-regular mesh. Figure 3.10 shows an example of compression of aspherical texture map which is a single function deﬁned 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