2010alice.loria.fr/publications/papers/2009/onCVT/...SIGGRAPH 2010 “On Centroidal Voronoi...

Post on 17-Jul-2020

6 views 0 download

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