38
© 2011 Frank Nielsen INF555 Fundamentals of 3D Lecture 5: Texture synthesis Clustering k-means Voronoi diagrams Frank Nielsen 12 Octobre 2011 [email protected]

(slides 5) Visual Computing: Geometry, Graphics, and Vision

Embed Size (px)

DESCRIPTION

Those are the slides for the book: Visual Computing: Geometry, Graphics, and Vision. by Frank Nielsen (2005) http://www.sonycsl.co.jp/person/nielsen/visualcomputing/ http://www.amazon.com/Visual-Computing-Geometry-Graphics-Charles/dp/1584504277

Citation preview

Page 1: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

INF555

Fundamentals of 3D

Lecture 5: Texture synthesis

Clustering k-means Voronoi diagrams

Frank Nielsen

12 Octobre [email protected]

Page 2: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

class DemoPPM{public static void main(String [] arg){PPM ppm=new PPM();

ppm.read("polytechnique.ppm");ppm.write("copy.ppm");

PPM ppm2=new PPM(ppm.width,ppm.height);

for(int i=0;i<ppm2.height;i++)for(int j=0;j<ppm2.width;j++){ ppm2.r[i][j]=(int)(Math.random()*255.0);ppm2.g[i][j]=(int)(Math.random()*255.0);ppm2.b[i][j]=(int)(Math.random()*255.0);}

ppm2.write("random.ppm");}}

Randomly colored bitmap (PPM)

Nowadays,

Motion JPEG 2000H.264 (MPEG-4)

Note : In Processing, images are 1D arrays

Page 3: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Stochastic texture synthesis

http://en.wikipedia.org/wiki/Texture_synthesis

Source(=exemplar)

Target

TextureSynthesis

Page 4: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

http://www.ux.uis.no/~tranden/brodatz.htmlhttp://sipi.usc.edu/database/database.cgi?volume=textures

Broadatz texture catalog

Page 5: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

``Texture Synthesis by Non-parametric Sampling'' Alexei A. Efros and Thomas K. Leung IEEE International Conference on Computer Vision (ICCV'99), Corfu, Greece, September 1999

http://graphics.cs.cmu.edu/people/efros/research/EfrosLeung.html

Page 6: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Stochastic texture synthesis

Page 7: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Stochastic texture synthesis

Page 8: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Linearization of neighborhood

Page 9: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen Neighborhood of size 5, 11, 15, 23

Impact of window size

Page 10: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen Geometry synthesis

Volumetric illustration

Page 11: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Geometry synthesis:

Page 12: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Clustering:: Application:: Color quantization

Vector quantization, codebook: Find centers in point sets

Page 13: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

0

1

2

3

4

5

0 1 2 3 4 5

K-means Clustering: Step 1N – points , 3 centers randomly chosen

k1

k2

k3

Page 14: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

0

1

2

3

4

5

0 1 2 3 4 5

K-means Clustering: Step 2Notice that the 3 centers divide the space into 3 parts

k1

k2

k3

Page 15: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

0

1

2

3

4

5

0 1 2 3 4 5

K-means Clustering: Step 3New centers are calculated according to the instances of each K.

k1

k2

k3

Page 16: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

0

1

2

3

4

5

0 1 2 3 4 5

K-means Clustering: Step 4Classifying each point to the new calculated K.

k1

k2

k3

Page 17: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

0

1

2

3

4

5

0 1 2 3 4 5

expression in condition 1

expr

essi

on in

con

ditio

n 2

K-means Clustering: Step 5After classifying the points to previous K vector , calculating new one

k1

k2 k3

Page 18: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

K-means Clustering

Centroid initialization:● Forgy = Choose random seeds● Draw seeds according to distance distribution:

Careful seeding kmeans++

Page 19: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

K-means Clustering: Color quantization

Hard/soft clustering

Lloyd k-means celebrated clustering algorithm:

points

clusters

Page 20: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

K-means Clustering

●K means monotanically converges to a local minimum●Learning the k in k-means

Improper seed numbers

Page 21: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Learning the K in G-means Clustering

Anderson-Darling test for testing whether reals are from a Gaussian distribution:

Compare this value with a confidence threshold alpha

Test for 1D values

Page 22: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Learning the K in G-means Clustering

Project (orthogonally) points onto the line linking the two centroidsSort themTransform to mean 0 and variance 1.Perform Anderson-Darling test

Project (orthogonally) points onto the line linking the two centroidsSort themTransform to mean 0 and variance 1.Perform Anderson-Darling test

c1

c2

Page 23: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

K-means Clustering & Voronoi diagrams

Facility locations

Page 24: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Voronoi diagrams

Descartes

Bisector

Site (generator)

Page 25: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Voronoi diagrams:Piano mover problemRobotics: path planning

Page 26: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Applet at:http://www.cs.columbia.edu/~pblaer/projects/path_planner/

path planning

Page 27: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Centroidal Voronoi diagram

Page 28: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Page 29: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

http://www.mrl.nyu.edu/~ajsecord/npar2002/html/stipples-node3.html

Stippling with Centroidal Voronoi diagrams

NPR= Non Photorealistic Rendering (NPAR conference)

Incorporate a density function

NPAR, 2002

Page 30: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Centroidal Voronoi diagrams:Adaptive mosaicing effect (2005)

1. Sample the image adaptively, finding a number of seed points. (center of quad-tree cells)

2. Compute the centroidal Voronoi diagram of the seeds,using a density map computed from the original image.

3. Paint each Voronoi cell.

Page 31: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen Image gradient as a density function

Page 32: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Page 33: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Various coloring effects of Voronoi cells

Page 34: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

K-order Voronoi diagramsAffine Voronoi diagrams

Order 2 Order 3 Order n-1Farthest Voronoi diagram

Page 35: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Furthest Voronoi diagram andsmallest radius enclosing ball

The center of the smallest enclosing ball (min max) is necessarilylocated at the furthest Voronoi diagram

The center of the smallest enclosing ball (min max) is necessarilylocated at the furthest Voronoi diagram

Circumcenter

Demoin IPE

Page 36: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Approximating the smallest enclosing ball invery large dimension

Page 37: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Designing predicates/Geometric axioms

Determinant=Signed area of the triangle formed by the 3 points

Page 38: (slides 5) Visual Computing: Geometry, Graphics, and Vision

© 2011 Frank Nielsen

Designing predicates/Geometric axioms