Session Initiation Protocol (SIP) Chapter 5 speaker : Wenping Zhang data : 2007.11.8.
2010alice.loria.fr/publications/papers/2009/onCVT/...SIGGRAPH 2010 “On Centroidal Voronoi...
Transcript of 2010alice.loria.fr/publications/papers/2009/onCVT/...SIGGRAPH 2010 “On Centroidal Voronoi...
SIGGRAPH 2010
“On Centroidal Voronoi Tesselation…”
Yang Liu, Wenping Wang, Bruno Lévy,
Feng Sun, Dong-Ming Yan, Lin Lu and Chenglei Yang
Overview
• 1. Motivations
• 2. Centroidal Voronoi Tesselation (CVT)
• 3. Newton’s method for CVT
• 4. Applications - Evaluation
• 5. Conclusions
1. Motivations
(Re)-meshing [Du et.al], [Alliez et.al - SIGGRAPH], [Yan et.al - SGP]
1. Motivations
Deformations – Elastons sampling
[Martin et.al, SIGGRAPH2010]
1. Motivations
Deformations – Elastons sampling
[Martin et.al, SIGGRAPH2010]
Fluids – Free surface sampling
[Bridson et.al, SIGGRAPH2010]
[Wotjan et.al, SIGGRAPH2010]
1. Motivations
Color quantization
[Leung et.al, GPU Pro, AK Peters, 2010]
2. Centroidal Voronoi Tesselation
R
G
BWhat is the optimal colormap ?
Centroidal Voronoi Tesselation from the information theory perspective…
2. Centroidal Voronoi Tesselation
R
G
BWhat is the optimal colormap ?
xi = (ri,gi,bi) Colormap entry
2. Centroidal Voronoi Tesselation
R
G
BWhat is the optimal colormap ?
xi = (ri,gi,bi) Colormap entry
Vor(i) = { x / d(x,xi) < d(x,xj) } i j
xi
2. Centroidal Voronoi TesselationWhat is the optimal colormap ?
A « bad » colormap entry / Voronoi cell
2. Centroidal Voronoi TesselationWhat is the optimal colormap ?
A « bad » colormap entry / Voronoi cell
: a color poorly approximated
by the colormap entry xi
Why bad ? Because Vor(xi) contains
xi
2. Centroidal Voronoi TesselationWhat is the optimal colormap ?
2. Centroidal Voronoi TesselationWhat is the optimal colormap ?
∫2
dx
Vor(i)
xi - xF=
2. Centroidal Voronoi TesselationWhat is the optimal colormap ?
∫2
dx
Vor(i)
xi - xF=
Quantization noise power
2. Centroidal Voronoi TesselationWhat is the optimal colormap ?
∫2
dx
Vor(i)
xi - xF=
Quantization noise power
2. Centroidal Voronoi TesselationWhat is the optimal colormap ?
F= ∫Vor(i)
2
dxxi - x
i
Minimize
2. Centroidal Voronoi Tesselation
The classical method:
Lloyd’s algorithm = gradient descent
F= ∫Vor(i)
2
dxxi - x
i
2. Centroidal Voronoi Tesselation
The classical method:
Lloyd’s algorithm = gradient descent
F= ∫Vor(i)
2
dxxi - x
i
F|xi = 2 mi (xi - gi) [Iri et.al], [Du et.al]
Volume of Vor(i) Centroid of Vor(i)
2. Centroidal Voronoi Tesselation
The classical method:
Lloyd’s algorithm = gradient descent
F= ∫Vor(i)
2
dxxi - x
i
F|xi = 2 mi (xi - gi) [Iri et.al], [Du et.al]
Volume of Vor(i) Centroid of Vor(i)
If xi coincides with the centroid of Vor(i), we got a stationary point of F
(therefore a « good sampling »)
2. Centroidal Voronoi Tesselation
The classical method:
Lloyd’s algorithm = gradient descent
F= ∫Vor(i)
2
dxxi - x
i
F|xi = 2 mi (xi - gi) [Iri et.al], [Du et.al]
Volume of Vor(i) Centroid of Vor(i)
If xi coincides with the centroid of Vor(i), we got a stationary point of F
(therefore a « good sampling ») Vor(X): Centroidal Voronoi Tesselation
3. Newton’s method for CVT
Disclaimer:
This presentations contains live demos.Crashes may occur.
The presenter assumes no liability.
3. Newton’s method for CVT
Lloyd’s Relaxation: (Geometric point of view)
Loop
Move the xi's to the gi's
Re-triangulate
End loop
3. Newton’s method for CVT
Lloyd’s Relaxation: (Geometric point of view)
Loop
Move the xi's to the gi's
Re-triangulate
End loop
+ Provably decreases F [Du et.al]
+ Reasonably easy to implement
- Slow (linear) convergence
3. Newton’s method for CVT
[Emelianenko and Du]: (Geometric point of view)
Solve i, xi = gi
using Newton’s method for systems of non-linear equations
3. Newton’s method for CVT
+ Faster convergence than Lloyd’s relaxation when X is approaching solution
- Slow convergence when X is far away from optimum
[Emelianenko and Du]: (Geometric point of view)
Solve i, xi = gi
using Newton’s method for systems of non-linear equations
3. Newton’s method for CVT
Reason: equivalent to Gauss-Newton (neglects second order terms,
only valid under the small residual assumption), see our paper for more details…
[Emelianenko and Du]: (Geometric point of view)
Solve i, xi = gi
using Newton’s method for systems of non-linear equations
+ Faster convergence than Lloyd’s relaxation when X is approaching solution
- Slow convergence when X is far away from optimum
3. Newton’s method for CVT
[This paper]: Not the same « Newton’s algorithm » as
in [Emelianenko et.al]
Newton’s method for minimizing multivariate non-linear function F
Back to the « information theory » point of view
3. Newton’s method for CVT
While | F | >
2x,x F X x F= -solve
X X + X
End while
[This paper] (information theory point of view)
Newton’s method for minimizing multivariate non-linear function F
3. Newton’s method for CVT
While | F | >
2x,x F X x F= -solve
X X + X
End while
[This paper] (information theory point of view)
Newton’s method for minimizing multivariate non-linear function F
Hessian = 2nd order derivatives
Is F sufficiently continuous ? (C2)
Yes (see paper for a proof)
3. Newton’s method for CVT
Quasi-Newton solver (LBFGS)
LBGS solver(quasi-Newton)
X(k)
3. Newton’s method for CVT
Quasi-Newton solver (LBFGS)
LBGS solver(quasi-Newton)
X(k)
Build Vor(X(k))
3. Newton’s method for CVT
Quasi-Newton solver (LBFGS)
LBGS solver(quasi-Newton)
X(k)
Compute
F(X(k))
F(X(k))
F|xi = 2 mi (xi - gi)
3. Newton’s method for CVT
Quasi-Newton solver (LBFGS)
LBGS solver(1) approx. of
2x,x F(X(k))
(2) Solve for p(k)
(3) X(k+1)= X(k)+ p(k)
3. Newton’s method for CVT
Quasi-Newton solver (LBFGS)
LBGS solver(quasi-Newton)
X(k+1)
3. Newton’s method for CVT
Quasi-Newton solver (LBFGS)
LBGS solver(quasi-Newton)
X(k+1)
Build Vor(X(k+1))
3. Newton’s method for CVT
Quasi-Newton solver (LBFGS)
LBGS solver(quasi-Newton)
X(k+1)
Compute
F(X(k+1))
F(X(k+1))
3. Newton’s method for CVT
Quasi-Newton solver (LBFGS)
•As easy to implement as gradient descent
•(Nearly) as fast as full Newton solver
3. Newton’s method for CVT
CVT in 2D
3. Newton’s method for CVT
CVT in 2D
CVT on surfaces[Yan, L, Liu, Sun and Wang – SGP2009]
3. Newton’s method for CVT
CVT in 2D
CVT on surfaces
CVT in volumes
4. Applications - Evaluation
4. Applications - Evaluation
4. Applications - Evaluation
Computer
precision
reached
|▼F| == 0.0
4. Applications - EvaluationRemeshing [Yan, L, Liu, Sun and Wang – SGP2009]
4. Applications - EvaluationRemeshing [Yan, L, Liu, Sun and Wang – SGP2009]
4. Applications - EvaluationRemeshing [Yan, L, Liu, Sun and Wang – SGP2009]
4. Applications - EvaluationRobustness
4. Applications - EvaluationRobustness
5. Conclusions
Definition (optimal sampler): Minimize F = ∫Vor(i)
2
dxxi - x
i
5. Conclusions
Definition (optimal sampler): Minimize F = ∫Vor(i)
2
dxxi - x
i
Property of the minimizer: i, xi = gi Lloyd’s relaxation
5. Conclusions
Definition (optimal sampler): Minimize F = ∫Vor(i)
2
dxxi - x
i
Newton’s method for CVTSticking to the definition
(rather than the property)
5. Conclusions
Newton’s method for CVTSticking to the definition
(rather than the property)
Benefits:
Faster convergence (see stats in paper)
More general algorithm (see next presentation)
Aknowledgements
• Bytes : CGAL (Delaunay triangulation)
• Triangles: AIM@Shape, Digital Michelangelo
• Euros : European Research Council
GOODSHAPE ERC-StG-205693