Centroidal Voronoi Tessellations on Meshes Applications LLoyds - - PowerPoint PPT Presentation

centroidal voronoi tessellations on meshes
SMART_READER_LITE
LIVE PREVIEW

Centroidal Voronoi Tessellations on Meshes Applications LLoyds - - PowerPoint PPT Presentation

Centroidal Voronoi Tessellations on Meshes Definition and Centroidal Voronoi Tessellations on Meshes Applications LLoyds Algorithm Normal Leonardo K. Sacht & Thiago S. Pereira Clustering Mixing Both Approaches Visgraf - IMPA


slide-1
SLIDE 1

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Centroidal Voronoi Tessellations on Meshes

Leonardo K. Sacht & Thiago S. Pereira

Visgraf - IMPA

November 18, 2008

Centroidal Voronoi Tessellations on Meshes

slide-2
SLIDE 2

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Centroidal Voronoi Tessellations

Definition: Given Ω ⊆ Rn, {zi}k

i=1 ⊆ Ω, the Voronoi region of

each zi is defined by ˆ Vi = {x ∈ Ω : x − zi < x − zj for j = 1, . . . , k, j = i}.

Centroidal Voronoi Tessellations on Meshes

slide-3
SLIDE 3

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Centroidal Voronoi Tessellations

A Voronoi Diagram of [0, 1] × [0, 1] ⊆ R2

Centroidal Voronoi Tessellations on Meshes

slide-4
SLIDE 4

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Centroidal Voronoi Tessellations

Definition: Let V ⊆ Rn and ρ a density function on V . The mass centroid of V is z∗ ∈ V such that

  • V

ρ(y) z∗ − y 2 dy = inf

z∈V ∗

  • V

ρ(y) z − y 2 dy, where V ∗ is the closure of V . The minimizer of this functional is z∗ =

  • V

yρ(y)dy

  • V

ρ(y)dy .

Centroidal Voronoi Tessellations on Meshes

slide-5
SLIDE 5

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Centroidal Voronoi Tessellations

Definition: { ˆ Vi}n

i=1 is a Centroidal Voronoi Tessellation of

Ω ⊆ Rn if the generators of ˆ Vi are their mass centroids.

Centroidal Voronoi Tessellations on Meshes

slide-6
SLIDE 6

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Centroidal Voronoi Tessellations

A Centroidal Voronoi Tessellation of with ρ ≡ 1.

Centroidal Voronoi Tessellations on Meshes

slide-7
SLIDE 7

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Centroidal Voronoi Tessellations

ρ(x, y) = e−40x2−40y2

Centroidal Voronoi Tessellations on Meshes

slide-8
SLIDE 8

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Data Compression in Image Processing;

Centroidal Voronoi Tessellations on Meshes

slide-9
SLIDE 9

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Data Compression in Image Processing; Quadrature Rules;

Centroidal Voronoi Tessellations on Meshes

slide-10
SLIDE 10

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Data Compression in Image Processing; Quadrature Rules; Optimal Representation, Quantization, and Clustering;

Centroidal Voronoi Tessellations on Meshes

slide-11
SLIDE 11

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Data Compression in Image Processing; Quadrature Rules; Optimal Representation, Quantization, and Clustering; Finite Difference Schemes Having Optimal Truncation Errors;

Centroidal Voronoi Tessellations on Meshes

slide-12
SLIDE 12

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Data Compression in Image Processing; Quadrature Rules; Optimal Representation, Quantization, and Clustering; Finite Difference Schemes Having Optimal Truncation Errors; Optimal Placement of Resources;

Centroidal Voronoi Tessellations on Meshes

slide-13
SLIDE 13

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Data Compression in Image Processing; Quadrature Rules; Optimal Representation, Quantization, and Clustering; Finite Difference Schemes Having Optimal Truncation Errors; Optimal Placement of Resources; Cell Division;

Centroidal Voronoi Tessellations on Meshes

slide-14
SLIDE 14

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Data Compression in Image Processing; Quadrature Rules; Optimal Representation, Quantization, and Clustering; Finite Difference Schemes Having Optimal Truncation Errors; Optimal Placement of Resources; Cell Division; Territorial Behavior of Animals;

Centroidal Voronoi Tessellations on Meshes

slide-15
SLIDE 15

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Data Compression in Image Processing; Quadrature Rules; Optimal Representation, Quantization, and Clustering; Finite Difference Schemes Having Optimal Truncation Errors; Optimal Placement of Resources; Cell Division; Territorial Behavior of Animals; Reference: [2].

Centroidal Voronoi Tessellations on Meshes

slide-16
SLIDE 16

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Remeshing;

Centroidal Voronoi Tessellations on Meshes

slide-17
SLIDE 17

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Applications

Remeshing; Our applications...

Centroidal Voronoi Tessellations on Meshes

slide-18
SLIDE 18

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Framework of the Problem

Given

  • a region Ω ⊆ Rn,
  • a positive integer k,
  • a density function ρ, defined on Ω,

Centroidal Voronoi Tessellations on Meshes

slide-19
SLIDE 19

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Framework of the Problem

Given

  • a region Ω ⊆ Rn,
  • a positive integer k,
  • a density function ρ, defined on Ω,

find

  • k points zi ∈ Ω,
  • k regions Vi that tesselate Ω,

Centroidal Voronoi Tessellations on Meshes

slide-20
SLIDE 20

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Framework of the Problem

Given

  • a region Ω ⊆ Rn,
  • a positive integer k,
  • a density function ρ, defined on Ω,

find

  • k points zi ∈ Ω,
  • k regions Vi that tesselate Ω,

such that simultaneously for each i

  • Vi is the Voronoi region for zi,
  • zi is the mass centroid of Vi.

Centroidal Voronoi Tessellations on Meshes

slide-21
SLIDE 21

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

LLoyd’s Algorithm

Lloyd in Back to the Future III

Centroidal Voronoi Tessellations on Meshes

slide-22
SLIDE 22

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Lloyd’s Algorithm

It’s the most standard and intuitive algorithm to compute CVD’s. It’s described by the following steps: (1) Compute randomly k points zi ∈ Ω;

Centroidal Voronoi Tessellations on Meshes

slide-23
SLIDE 23

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Lloyd’s Algorithm

It’s the most standard and intuitive algorithm to compute CVD’s. It’s described by the following steps: (1) Compute randomly k points zi ∈ Ω; (2) Compute the Voronoi regions ˆ Vi determined by the points zi;

Centroidal Voronoi Tessellations on Meshes

slide-24
SLIDE 24

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Lloyd’s Algorithm

It’s the most standard and intuitive algorithm to compute CVD’s. It’s described by the following steps: (1) Compute randomly k points zi ∈ Ω; (2) Compute the Voronoi regions ˆ Vi determined by the points zi; (3) Calculate the centroids z∗

i of ˆ

Vi and set zi = z∗

i ;

Centroidal Voronoi Tessellations on Meshes

slide-25
SLIDE 25

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Lloyd’s Algorithm

It’s the most standard and intuitive algorithm to compute CVD’s. It’s described by the following steps: (1) Compute randomly k points zi ∈ Ω; (2) Compute the Voronoi regions ˆ Vi determined by the points zi; (3) Calculate the centroids z∗

i of ˆ

Vi and set zi = z∗

i ;

(4) If some stop criteria is met for this new set of points zi, stop. Otherwise, return to step 2.

Centroidal Voronoi Tessellations on Meshes

slide-26
SLIDE 26

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

LLOYD’S ALGORITHM

Show Lloyd’s Algorithm working with planar examples.

Centroidal Voronoi Tessellations on Meshes

slide-27
SLIDE 27

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Energy Functional

Proposition: Let {zi}k

i=1 ⊆ S ⊆ R2 and {Vi}k i=1 a tesselation

  • f S. Define the energy functional or the distortion value for

{(zi, Vi)}k

i=1 by

F({(zi, Vi)}k

i=1) = k

  • i=1
  • x∈Vi

ρ(x) x − zi 2 dx. A necessary condition for F to be minimized is that {(zi, Vi)}k

i=1 is a centroidal Voronoi tesselation of S.

Centroidal Voronoi Tessellations on Meshes

slide-28
SLIDE 28

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

And for surfaces?

Centroidal Voronoi Tessellations on Meshes

slide-29
SLIDE 29

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

And for surfaces?

If S ⊆ R3, the euclidian centroid usually does not belong to S. Definition: Let Vi ⊆ S be a region of a surface. The contrained mass centroid of Vi on S, zc

i , is a solution of the

following problem: min

z∈S Fi(z),

where Fi(z) =

  • Vi

ρ(x) x − zi 2 dx.

Centroidal Voronoi Tessellations on Meshes

slide-30
SLIDE 30

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

And for surfaces?

In [3], it’s proved that the constrained centroid zc

i is the

projection of z∗

i (the euclidean centroid) onto S along the

normal direction at zc

i .

Figure: Projection onto a surface

Centroidal Voronoi Tessellations on Meshes

slide-31
SLIDE 31

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

And for surfaces?

Definition: {Vi}k

i=1 is a Constrained Centroidal Voronoi

Tessellation of S if {Vi}k

i=1 are Voronoi regions on S defined

by their constrained mass centroids.

Centroidal Voronoi Tessellations on Meshes

slide-32
SLIDE 32

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Energy Functional on Surfaces

Proposition: Let {zi}k

i=1 ⊆ S ⊆ R3 and {Vi}k i=1 a tesselation

  • f S. Define the energy functional or the distortion value for

{(zi, Vi)}k

i=1 by

F({(zi, Vi)}k

i=1) = k

  • i=1
  • x∈Vi

ρ(x) x − zi 2 dx. A necessary condition for F to be minimized is that {(zi, Vi)}k

i=1 is a constrained centroidal Voronoi tesselation of

S.

Centroidal Voronoi Tessellations on Meshes

slide-33
SLIDE 33

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Lloyd’s Algorithm (again)

(1) Compute randomly k points zi ∈ Ω;

Centroidal Voronoi Tessellations on Meshes

slide-34
SLIDE 34

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Lloyd’s Algorithm (again)

(1) Compute randomly k points zi ∈ Ω; (2) Compute the Voronoi regions ˆ Vi determined by the points zi;

Centroidal Voronoi Tessellations on Meshes

slide-35
SLIDE 35

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Lloyd’s Algorithm (again)

(1) Compute randomly k points zi ∈ Ω; (2) Compute the Voronoi regions ˆ Vi determined by the points zi; (3) Calculate the constrained centroids z∗

i of ˆ

Vi and set zi = z∗

i ;

Centroidal Voronoi Tessellations on Meshes

slide-36
SLIDE 36

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Lloyd’s Algorithm (again)

(1) Compute randomly k points zi ∈ Ω; (2) Compute the Voronoi regions ˆ Vi determined by the points zi; (3) Calculate the constrained centroids z∗

i of ˆ

Vi and set zi = z∗

i ;

(4) If some stop criteria is met for this new set of points zi, stop. Otherwise, return to step 2.

Centroidal Voronoi Tessellations on Meshes

slide-37
SLIDE 37

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Data Structure

The surfaces will be discretized by half-edge meshes.

Centroidal Voronoi Tessellations on Meshes

slide-38
SLIDE 38

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 1 - Initializing Centroids

To get a good first approximation for the centroids, we have to pick them according to the density function ρ: (1) Get randomly a face f , calculate its center fc and a random number fr;

Centroidal Voronoi Tessellations on Meshes

slide-39
SLIDE 39

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 1 - Initializing Centroids

To get a good first approximation for the centroids, we have to pick them according to the density function ρ: (1) Get randomly a face f , calculate its center fc and a random number fr; (2) If ρ(fc) ∗ area(f ) fr then reject fc. Otherwise, set fc to be a centroid for the first iteration (the comparison is made after a normalization of the density);

Centroidal Voronoi Tessellations on Meshes

slide-40
SLIDE 40

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 1 - Initializing Centroids

To get a good first approximation for the centroids, we have to pick them according to the density function ρ: (1) Get randomly a face f , calculate its center fc and a random number fr; (2) If ρ(fc) ∗ area(f ) fr then reject fc. Otherwise, set fc to be a centroid for the first iteration (the comparison is made after a normalization of the density); Time: Random variable.

Centroidal Voronoi Tessellations on Meshes

slide-41
SLIDE 41

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 1 - Initializing Centroids

Initialization of the centroids on a paraboloid, with ρ ≡ 1

Centroidal Voronoi Tessellations on Meshes

slide-42
SLIDE 42

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 1 - Initializing Centroids

Final result

Centroidal Voronoi Tessellations on Meshes

slide-43
SLIDE 43

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 2 - Computing Voronoi Regions

(1) For each face f , calculate the distance of its center to all the zi’s. Put f on the patch of the zi with minimum distance;

Centroidal Voronoi Tessellations on Meshes

slide-44
SLIDE 44

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 2 - Computing Voronoi Regions

(1) For each face f , calculate the distance of its center to all the zi’s. Put f on the patch of the zi with minimum distance; This step will tesselate the set of faces in k regions corresponding to the k centroids;

Centroidal Voronoi Tessellations on Meshes

slide-45
SLIDE 45

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 2 - Computing Voronoi Regions

(1) For each face f , calculate the distance of its center to all the zi’s. Put f on the patch of the zi with minimum distance; This step will tesselate the set of faces in k regions corresponding to the k centroids; Time: O(kn).

Centroidal Voronoi Tessellations on Meshes

slide-46
SLIDE 46

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 3 - Calculating Centroids

Now, for all patches Vi (set of faces) we wish to calculate their centroids: (1) For each face f ∈ Vi calculate fc ∗ area(f ) ∗ ρ(f ) ≈

  • f

yρ(y)dy;

Centroidal Voronoi Tessellations on Meshes

slide-47
SLIDE 47

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 3 - Calculating Centroids

Now, for all patches Vi (set of faces) we wish to calculate their centroids: (1) For each face f ∈ Vi calculate fc ∗ area(f ) ∗ ρ(f ) ≈

  • f

yρ(y)dy; (2) Sum over all faces:

  • f ∈Vi

fc ∗ area(f ) ∗ ρ(f ) ≈

  • Vi

yρ(y)dy;

Centroidal Voronoi Tessellations on Meshes

slide-48
SLIDE 48

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 3 - Calculating Centroids

Now, for all patches Vi (set of faces) we wish to calculate their centroids: (1) For each face f ∈ Vi calculate fc ∗ area(f ) ∗ ρ(f ) ≈

  • f

yρ(y)dy; (2) Sum over all faces:

  • f ∈Vi

fc ∗ area(f ) ∗ ρ(f ) ≈

  • Vi

yρ(y)dy; (3) Do the same to calculate

  • f ∈Vi

area(f ) ∗ ρ(f ) ≈

  • Vi

ρ(y)dy;

Centroidal Voronoi Tessellations on Meshes

slide-49
SLIDE 49

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 3 - Calculating Centroids

(4) Compute

  • f ∈Vi

fc ∗ area(f ) ∗ ρ(f )

  • f ∈Vi

area(f ) ∗ ρ(fc) (approximate centroid of Vi).

Centroidal Voronoi Tessellations on Meshes

slide-50
SLIDE 50

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 3 - Calculating Centroids

(4) Compute

  • f ∈Vi

fc ∗ area(f ) ∗ ρ(f )

  • f ∈Vi

area(f ) ∗ ρ(fc) (approximate centroid of Vi). Cost: O(n).

Centroidal Voronoi Tessellations on Meshes

slide-51
SLIDE 51

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 3 - Calculating Centroids

Update of the centroids

Centroidal Voronoi Tessellations on Meshes

slide-52
SLIDE 52

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 3.5 - Projecting Centroids

(1) For each centroid calculated on step 3, look for the face that is closest to it and set its center to be the projected centroid.

Centroidal Voronoi Tessellations on Meshes

slide-53
SLIDE 53

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Step 3.5 - Projecting Centroids

(1) For each centroid calculated on step 3, look for the face that is closest to it and set its center to be the projected centroid. Cost: O(n).

Centroidal Voronoi Tessellations on Meshes

slide-54
SLIDE 54

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Final result, with ρ(x, y, z) = e−40x

Centroidal Voronoi Tessellations on Meshes

slide-55
SLIDE 55

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Final result, with ρ(x, y, z) = e−40x (other side).

Centroidal Voronoi Tessellations on Meshes

slide-56
SLIDE 56

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

ρ(x) = discrete mean curvature [1]

Centroidal Voronoi Tessellations on Meshes

slide-57
SLIDE 57

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

ρ(x) = discrete mean curvature [1]

Centroidal Voronoi Tessellations on Meshes

slide-58
SLIDE 58

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Thiago’s Mesh with ρ ≡ 1

Centroidal Voronoi Tessellations on Meshes

slide-59
SLIDE 59

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Leo’s Mesh with ρ ≡ 1

Centroidal Voronoi Tessellations on Meshes

slide-60
SLIDE 60

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Normal Clustering

In [1], the authors proposed a way to generalize the concept of centroid, taking into account the normals of the surface at the

  • points. They created the proxies:

Given a partition R = {Ri}n

i=1 of a triangulated surface S,

the proxy of each region is a pair Pi = (Xi, Ni), where Xi ∈ Ri and Ni is a normal vector that best represents the normals on the region.

Centroidal Voronoi Tessellations on Meshes

slide-61
SLIDE 61

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Normal Clustering

In [1], the authors proposed a way to generalize the concept of centroid, taking into account the normals of the surface at the

  • points. They created the proxies:

Given a partition R = {Ri}n

i=1 of a triangulated surface S,

the proxy of each region is a pair Pi = (Xi, Ni), where Xi ∈ Ri and Ni is a normal vector that best represents the normals on the region. Given a face f , we represent it by its center (fc) and the normal (fN) of the piecewise linear suface on f .

Centroidal Voronoi Tessellations on Meshes

slide-62
SLIDE 62

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

VSA Energy

Given a region Vi ⊆ S and it’s corresponding proxy Pi, the L2,1 energy functional of (Vi, Pi) is defined by L2,1(Vi, Pi) =

  • x∈Vi

ρ(x) n(x) − ni 2 dx,

Centroidal Voronoi Tessellations on Meshes

slide-63
SLIDE 63

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

VSA Energy

Given a region Vi ⊆ S and it’s corresponding proxy Pi, the L2,1 energy functional of (Vi, Pi) is defined by L2,1(Vi, Pi) =

  • x∈Vi

ρ(x) n(x) − ni 2 dx, Definition: Given a number k of proxies and an input surface S, we call optimal shape proxies a set P of proxies Pi associated to regions Vi of a partition R of S that minimizes the total distortion: E(R, P) =

k

  • i=1

L2,1(Vi, Pi)

Centroidal Voronoi Tessellations on Meshes

slide-64
SLIDE 64

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

”Lloyd’s” Algorithm for Normal Clustering

(1) Compute randomly k faces fi ∈ S and set their centers and their normals to be the proxies Pi = (Xi, Ni);

Centroidal Voronoi Tessellations on Meshes

slide-65
SLIDE 65

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

”Lloyd’s” Algorithm for Normal Clustering

(1) Compute randomly k faces fi ∈ S and set their centers and their normals to be the proxies Pi = (Xi, Ni); (2) Compute the ”Voronoi regions” Vi determined by the proxies Pi in the following way: get the normal of each face f and set f to be in the region determined by the proxy that has the closest normal.

Centroidal Voronoi Tessellations on Meshes

slide-66
SLIDE 66

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

”Lloyd’s” Algorithm for Normal Clustering

(3) For each new Vi, set the constrained centroid of Vi to be Xi and the average normal Ni =

  • f ∈Vi

ρ(f ) ∗ fN ∗ area(f )

  • f ∈Vi

ρ(f ) ∗ area(f ) ≈

  • Vi

ρ(x)n(x)dx

  • Vi

ρ(x)dx . Note: This new proxies minimize, for each Vi, the L2,1(Vi, Pi) energy ([1]).

Centroidal Voronoi Tessellations on Meshes

slide-67
SLIDE 67

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

”Lloyd’s” Algorithm for Normal Clustering

(3) For each new Vi, set the constrained centroid of Vi to be Xi and the average normal Ni =

  • f ∈Vi

ρ(f ) ∗ fN ∗ area(f )

  • f ∈Vi

ρ(f ) ∗ area(f ) ≈

  • Vi

ρ(x)n(x)dx

  • Vi

ρ(x)dx . Note: This new proxies minimize, for each Vi, the L2,1(Vi, Pi) energy ([1]). (4) If some stop criteria is met for this new set of points zi, stop. Otherwise, return to step 2.

Centroidal Voronoi Tessellations on Meshes

slide-68
SLIDE 68

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Normal clustering with ρ ≡ 1

Centroidal Voronoi Tessellations on Meshes

slide-69
SLIDE 69

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Mixing both approaches

We propose a new energy functional that takes into acount both informations of positions and normals given by the proxies. E({(Pi, Vi)}k

i=1) = k

  • i=1

αF((Xi, Vi) + (1 − α)L2,1(Vi, Pi) =

k

  • i=1

α

  • x∈Vi

ρ(x) x−zi 2 dx+(1−α)

  • x∈Vi

ρ(x) n(x)−ni 2 dx. Here we have to normalize the first energy to have the same magnitude of the second.

Centroidal Voronoi Tessellations on Meshes

slide-70
SLIDE 70

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Mixing both approaches

We propose a new energy functional that takes into acount both informations of positions and normals given by the proxies. E({(Pi, Vi)}k

i=1) = k

  • i=1

αF((Xi, Vi) + (1 − α)L2,1(Vi, Pi) =

k

  • i=1

α

  • x∈Vi

ρ(x) x−zi 2 dx+(1−α)

  • x∈Vi

ρ(x) n(x)−ni 2 dx. Here we have to normalize the first energy to have the same magnitude of the second. The updating of the regions and the proxies is done in the same way already described.

Centroidal Voronoi Tessellations on Meshes

slide-71
SLIDE 71

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Mixed Approach with α = 0 and ρ ≡ 1

Centroidal Voronoi Tessellations on Meshes

slide-72
SLIDE 72

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Mixed Approach with α = 1 and ρ ≡ 1

Centroidal Voronoi Tessellations on Meshes

slide-73
SLIDE 73

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Mixed Approach with α = 0.5 and ρ ≡ 1

Centroidal Voronoi Tessellations on Meshes

slide-74
SLIDE 74

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Centroidal Voronoi Tessellations on Meshes

slide-75
SLIDE 75

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Flooding Approach

Due to the problems observed in the last examples, we desire a method that keep the Voronoi regions connected and takes into account the geodesic distance.

Centroidal Voronoi Tessellations on Meshes

slide-76
SLIDE 76

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Flooding Approach

Due to the problems observed in the last examples, we desire a method that keep the Voronoi regions connected and takes into account the geodesic distance. Given the faces that discretize the surface, we’ll work with the dual graph, i.e., the graph with nodes being the center

  • f the faces and edges describing the neighborhood of

each face.

Centroidal Voronoi Tessellations on Meshes

slide-77
SLIDE 77

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Flooding - Update Regions

For each centroid, grow a flooding regions with Dijkstra’s

  • Algorithm. All faces will be associated to the closest

centroid, respecting the ”discretized surface metric”. We’ll call the set of faces associated to a centroid a patch.

Centroidal Voronoi Tessellations on Meshes

slide-78
SLIDE 78

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Flooding - Update Regions

For each centroid, grow a flooding regions with Dijkstra’s

  • Algorithm. All faces will be associated to the closest

centroid, respecting the ”discretized surface metric”. We’ll call the set of faces associated to a centroid a patch. Cost: O(V log V ) = O(n log n).

Centroidal Voronoi Tessellations on Meshes

slide-79
SLIDE 79

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Calculating regions with geodesic metric, ρ ≡ 1.

Centroidal Voronoi Tessellations on Meshes

slide-80
SLIDE 80

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Flooding - Update Patch Centroids

For each face f in patch P, calculate r(f ) = max

˜ f ∈P

d(f , ˜ f ).

Centroidal Voronoi Tessellations on Meshes

slide-81
SLIDE 81

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Flooding - Update Patch Centroids

For each face f in patch P, calculate r(f ) = max

˜ f ∈P

d(f , ˜ f ). Set the center c of the patch P to be c = arg

  • min

f ∈P r(f )

  • .

Centroidal Voronoi Tessellations on Meshes

slide-82
SLIDE 82

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Flooding - Update Patch Centroids

For each face f in patch P, calculate r(f ) = max

˜ f ∈P

d(f , ˜ f ). Set the center c of the patch P to be c = arg

  • min

f ∈P r(f )

  • .

Cost: O(n2 log n).

Centroidal Voronoi Tessellations on Meshes

slide-83
SLIDE 83

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Results

Final result with geodesic metric, ρ ≡ 1.

Centroidal Voronoi Tessellations on Meshes

slide-84
SLIDE 84

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Future Work

Use better methods to calculate geodesics (Fast Marching, [2]).

Centroidal Voronoi Tessellations on Meshes

slide-85
SLIDE 85

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Future Work

Use better methods to calculate geodesics (Fast Marching, [2]). Use a Gradient Descent approach to perform geodesic calculations ([2]).

Centroidal Voronoi Tessellations on Meshes

slide-86
SLIDE 86

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Future Work

Use better methods to calculate geodesics (Fast Marching, [2]). Use a Gradient Descent approach to perform geodesic calculations ([2]). Explore more the geodesic approach, including densities.

Centroidal Voronoi Tessellations on Meshes

slide-87
SLIDE 87

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Future Work

Alternatives to discretization: 1) continous centroids; 2) continous regions.

Centroidal Voronoi Tessellations on Meshes

slide-88
SLIDE 88

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Future Work

Alternatives to discretization: 1) continous centroids; 2) continous regions. Post process the results to avoid zig zag border.

Centroidal Voronoi Tessellations on Meshes

slide-89
SLIDE 89

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Future Work

Alternatives to discretization: 1) continous centroids; 2) continous regions. Post process the results to avoid zig zag border. Use the results of this work to current research projects (texture atlas construction and segmentation of the viewing sphere to work with panoramas). The flexibility of metrics and densities will be useful.

Centroidal Voronoi Tessellations on Meshes

slide-90
SLIDE 90

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Future Work

Refine region borders, simplify interiors.

Centroidal Voronoi Tessellations on Meshes

slide-91
SLIDE 91

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Future Work

Refine region borders, simplify interiors. Avoid reprocessing converged regions.

Centroidal Voronoi Tessellations on Meshes

slide-92
SLIDE 92

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

References

  • D. Cohen-Steiner, P. Alliez, M. Desbrun: Variational Shape
  • Approximation. ACM Siggraph Papers, pp. 905-914, 2004.
  • Q. Du, V. Faber, M. Gunzburger: Centroidal Voronoi

Tessellations: Applications and Algorithms. SIAM Review,

  • Vol. 41, No. 4, pp. 637-676, 1999.
  • Q. Du, M. Gunzburger, L. Ju: Constrained Centroidal

Voronoi Tessellations on General Surfaces. Report No. AM253, Math. Dept., Penn State, 2002.

Centroidal Voronoi Tessellations on Meshes

slide-93
SLIDE 93

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

References

  • M. Meyer, M. Desbrun, P. Schroder, A.H. Barr: Discrete

Differential-Geometry Operators for Triangulated 2-Manifolds. Caltech, UCS, 2002.

  • G. Peyre, L. Cohen: Surface Segmentation Using Geodesic

Centroidal Tessellation. Proceedings of the 3D Data Processing, Visualization, and Transmission, 2nd International Symposium, IEEE Computer Society 2004.

Centroidal Voronoi Tessellations on Meshes

slide-94
SLIDE 94

Centroidal Voronoi Tessellations

  • n Meshes

Definition and Applications LLoyd’s Algorithm Normal Clustering Mixing Both Approaches Flooding Approach Future Work References

Thanks a lot!

Home page: http : //www.impa.br/ leo-ks/comp geometry

Centroidal Voronoi Tessellations on Meshes