Gabriel Peyré
January 01, 2011
530

# Mesh Processing Course: Multiresolution Mesh Processing

January 01, 2011

## Transcript

1. Gabriel Peyré
Multiresolution Mesh
Processing

2. 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 reﬁned through scales j < j0
(x).
In order to analyze this reﬁnement, one needs to deﬁne 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 ﬁ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. In
an ideal triangulation where |V | = 6 for all ✏, one can use a constant weight ⇥ = ⇥. For the
pecial case of the butterﬂy wavelets, Pj
T1Hj
= 3 ⇥ 1Vj
and Uj
T1Vj
= 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
Subdivision Surfaces
2

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

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

6. 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 ﬂattening:
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.

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. 1D Function Reﬁnement
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

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

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

11. Subdivision Reﬁnement
11
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
(v1
k
, v2
k
) def.
= {v ⇤ Vj
\ (v, k) ⇤ Ej 1
} .
Two other vertices (w1
k
, w2
k
) are deﬁned 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
(reﬂecting boundary conditions). The four last vertices are deﬁned 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, reﬂecting boundary condition are applied for faces on the boundary of the mesh. The
butterﬂy neighborhood is depicted on ﬁgure 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 reﬁnement: fj
⇥ R|Vj
| ⇤ fj 1
⇥ R|Vj 1|:
⇥ Vj 1, fj 1
[ ] =
(Pjfj
)[ ] if Vj,
( ˜
Pjfj
)[ ] if Hj.

12. 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 Butterﬂy Loop
Linear
Butterﬂy
Loop

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

14. 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
=

15. 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 +⇥:

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

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. 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 =
Ldj
[k] ˜
j,k
+
VJ
fJ
[⇤] ˜
⇥J, .
f = fJ
2(VJ
)

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

20. 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:

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

22. 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 ﬁ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. In
an ideal triangulation where |V | = 6 for all ✏, one can use a constant weight ⇥ = ⇥. For the
pecial case of the butterﬂy wavelets, Pj
T1Hj
= 3 ⇥ 1Vj
and Uj
T1Vj
= 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.
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 Butterﬂy
˜
1,k
˜
2,k
˜
3,k

23. 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 =
Lf, j,k
⇥ ˜
j,k
where IT
= (j, k) \ k Hj
and |⇥f, j,k
⇤| > T| supp(
j,k
)| 1/2

.
Approximation : fM
=
(j,k) IT
f, j,k
⇥ ˜
j,k, M = #IT

24. 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 deﬁned on a semi-regular mesh. Figure 3.10 shows an example of compression of a
spherical texture map which is a single function deﬁned 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.