1. Multiresolution Mesh
Processing
http://www.ceremade.dauphine.fr/~peyre/
Gabriel Peyré
CEREMADE, Université Paris Dauphine
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 operator
depends on the direct neighbors in Hj of each point in Vj
52 CHAPTER 3. MULTIRESOLUTION MESH PROCESSING
⌅ ✏ ⇤ Vj , V = { (✏, ✏⇥ ) (✏, ✏⇥ ) ⇤ Ej } .
Subdivision Surfaces
One 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. In
an 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
10. Curve Subdivision
Signal (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. ˜
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 2
Interpolators : 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 assume
Signalf 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. 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. Examples of Loop Subdivision
3.2. SUBDIVISION SURFACES 51
j=0 j= 1 j= 2 j= 3
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.
13
21. Imposing Vanishing Moments
Sampling 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. 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 operator
depends 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/16
where 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, the
an 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. Function on Meshes Approximation
Function f ⇥ 2
(VJ ) Rn .
Decomposition : f = f, ˜
j,k ⇥ j,k
L<j 0 k Hj
Approximation : 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. 3D Mesh Compression
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. V , x = (X , Y , Z ) ⇥ S
Sampling locations: ⇤ ⇥ L R3 .
100% 10% 5% 2% 24