region segmentation readings: chapter 10: 10.1 additional materials provided

47
Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided • K-means Clustering (text) • EM Clustering (paper) • Graph Partitioning (text) • Mean-Shift Clustering (paper) 1

Upload: castor-slater

Post on 31-Dec-2015

26 views

Category:

Documents


1 download

DESCRIPTION

Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided. K-means Clustering (text) EM Clustering (paper) Graph Partitioning (text) Mean-Shift Clustering (paper). Image Segmentation. Image segmentation is the operation of partitioning an - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Region SegmentationReadings: Chapter 10: 10.1

Additional Materials Provided

• K-means Clustering (text)

• EM Clustering (paper)

• Graph Partitioning (text)

• Mean-Shift Clustering (paper)

1

Page 2: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Image Segmentation

Image segmentation is the operation of partitioning animage into a collection of connected sets of pixels.

1. into regions, which usually cover the image

2. into linear structures, such as - line segments - curve segments

3. into 2D shapes, such as - circles - ellipses - ribbons (long, symmetric regions)

2

Page 3: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Example: Regions

3

Page 4: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Main Methods of Region Segmentation

1. Region Growing

2. Split and Merge

3. Clustering

4

Page 5: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Clustering

• There are K clusters C1,…, CK with means m1,…, mK.

• The least-squares error is defined as

• Out of all possible partitions into K clusters, choose the one that minimizes D.

Why don’t we just do this?If we could, would we get meaningful objects?

D = || xi - mk || .k=1 xi Ck

K 2

5

Page 6: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-Means Clustering

Form K-means clusters from a set of n-dimensional vectors

1. Set ic (iteration count) to 1

2. Choose randomly a set of K means m1(1), …, mK(1).

3. For each vector xi compute D(xi , mk(ic)), k=1,…K and assign xi to the cluster Cj with nearest mean.

4. Increment ic by 1, update the means to get m1(ic),…,mK(ic).

5. Repeat steps 3 and 4 until Ck(ic) = Ck(ic+1) for all k.6

Page 7: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-Means Example 1

7

Page 8: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-Means Example 2

8

Page 9: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-Means Example 3

9

Page 10: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-means Variants

• Different ways to initialize the means

• Different stopping criteria

• Dynamic methods for determining the right number of clusters (K) for a given image

• The EM Algorithm: a probabilistic formulation of K-means

10

Page 11: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-Means

• Boot Step:– Initialize K clusters: C1, …, CK

Each cluster is represented by its mean mj

• Iteration Step:– Estimate the cluster for each data point

– Re-estimate the cluster parameters

xi C(xi)

11

Page 12: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-Means Example

12

Page 13: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-Means Example

Where do the red points belong?

13

Page 14: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

K-means vs. EM

14

K-means EM

Cluster mean mean, variance, Representation and weight

Cluster randomly select initialize K Initialization K means Gaussian distributions

Expectation assign each point soft-assign each point to closest mean to each distribution Maximization compute means compute new params of current clusters of each distribution

Page 15: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Notation

15

N( , ) is a 1D normal (Gaussian) distribution with mean and standard deviation (so the variance is 2.

Page 16: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

16

N(, ) is a multivariate Gaussian distribution with mean and covariance matrix .

What is a covariance matrix?

R G BR R

2 RG RB

G GR G2 GB

B BR BG B2

variance(X): X2 = (xi - )2 (1/N)

cov(X,Y) = (xi - x)(yi - y) (1/N)

Page 17: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

17

1. Suppose we have a set of clusters: C1, C2, ... , CK

over a set of data points X = {x1, x2, ... , xN}.

P(Cj) is the probability or weight of cluster Cj.

P(Cj | xi) is the probability of cluster Cj given point xi.

P(xi | Cj) is the probability of point xi belonging to cluster Cj.

2.Suppose that a cluster Cj is represented by aGaussian distribution N(j,j). Then for any point xi:

Page 18: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

EM: Expectation-Maximization

• Boot Step:– Initialize K clusters: C1, …, CK

• Iteration Step:– Estimate the cluster of each data point

– Re-estimate the cluster parameters

(j, j) and P(Cj) for each cluster j.

)|( ij xCp

)(),,( jjj Cp For each cluster j

Expectation

Maximization

18

Page 19: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

1-D EM with Gaussian Distributions

• Each cluster Cj is represented by a Gaussian distribution N(j , j).

• Initialization: For each cluster Cj initialize its mean j , variance j

2, and weight j.

N(1 , 1)1 = P(C1)

N(2 , 2)2 = P(C2)

N(3 , 3)3 = P(C3)

19

Page 20: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Expectation

• For each point xi and each cluster Cj compute P(Cj | xi).

• P(Cj | xi) = P(xi | Cj) P(Cj ) / P(xi)

• P(xi) = P(xi | Cj) P(Cj)

• Where do we get P(xi | Cj) and P(Cj)?

j

20

Page 21: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

1.Use the pdf for a normal distribution:

2. Use j = P(Cj) from the current parameters of cluster Cj.

21

Page 22: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Maximization

• Having computed P(Cj | xi) for each point xi and each cluster Cj, use them to compute new mean, variance, and weight for each cluster.

iij

ii

ij

j xCp

xxCp

)|(

)|(

N

xCpCp i

ij

j

)|()(

j

22

j2=

Page 23: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

x1={r1, g1, b1}

x2={r2, g2, b2}

xi={ri, gi, bi}

Cluster Parameters(1,1), p(C1) for C1

(2,2), p(C2) for C2

…(k,k), p(Ck) for Ck

Multi-Dimensional Expectation Stepfor Color Image Segmentation

Input (Known) Input (Estimation) Output

+

Classification Resultsp(C1|x1)p(Cj|x2)

…p(Cj|xi)

jjji

jji

i

jjiij CpCxp

CpCxp

xp

CpCxpxCp

)()|(

)()|(

)(

)()|()|(

23

Page 24: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

x1={r1, g1, b1}

x2={r2, g2, b2}

xi={ri, gi, bi}

Cluster Parameters(1,1), p(C1) for C1

(2,2), p(C2) for C2

…(k,k), p(Ck) for Ck

Multi-dimensional Maximization Stepfor Color Image Segmentation

iij

Tjiji

iij

j xCp

xxxCp

)|(

)()()|(

Input (Known) Input (Estimation) Output

+

Classification Resultsp(C1|x1)p(Cj|x2)

…p(Cj|xi)

iij

ii

ij

j xCp

xxCp

)|(

)|( N

xCpCp i

ij

j

)|()(

24

Page 25: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Full EM AlgorithmMulti-Dimensional

• Boot Step:– Initialize K clusters: C1, …, CK

• Iteration Step:– Expectation Step

– Maximization Step

(j, j) and P(Cj) for each cluster j.

jjji

jji

i

jjiij CpCxp

CpCxp

xp

CpCxpxCp

)()|(

)()|(

)(

)()|()|(

iij

Tjiji

iij

j xCp

xxxCp

)|(

)()()|(

iij

ii

ij

j xCp

xxCp

)|(

)|(

N

xCpCp i

ij

j

)|()(

25

Page 26: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Visualizing EM Clusters

26

mean

ellipses show one,two, and threestandard deviations

Page 27: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

EM Demo

• Demohttp://www.neurosci.aist.go.jp/~akaho/MixtureEM.html

• Examplehttp://www-2.cs.cmu.edu/~awm/tutorials/gmm13.pdf

27

Page 28: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

EM Applications

• Blobworld: Image segmentation using Expectation-Maximization and its application to image querying

• Yi’s Generative/Discriminative Learning of object classes in color images

28

Page 29: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Blobworld: Sample Results

29

Page 30: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Jianbo Shi’s Graph-Partitioning

• An image is represented by a graph whose nodes are pixels or small groups of pixels.

• The goal is to partition the vertices into disjoint sets so that the similarity within each set is high and across different sets is low.

30

Page 31: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Minimal Cuts

• Let G = (V,E) be a graph. Each edge (u,v) has a weight w(u,v) that represents the similarity between u and v.

• Graph G can be broken into 2 disjoint graphs with node sets A and B by removing edges that connect these sets.

• Let cut(A,B) = w(u,v).

• One way to segment G is to find the minimal cut.

uA, vB

31

Page 32: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Cut(A,B)

cut(A,B) = w(u,v)uA, vB

AB

w1

w2

32

Page 33: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Normalized Cut

Minimal cut favors cutting off small node groups,so Shi proposed the normalized cut.

cut(A, B) cut(A,B)Ncut(A,B) = ------------- + ------------- asso(A,V) asso(B,V)

asso(A,V) = w(u,t) uA, tV

How much is A connectedto the graph as a whole.

normalizedcut

33

Page 34: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Example Normalized Cut

2

2 2

2 2

41 3

2

2 2

3

2

2

2

1

3 3Ncut(A,B) = ------- + ------ 21 16

A B

34

Page 35: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Shi turned graph cuts into aneigenvector/eigenvalue problem.

• Set up a weighted graph G=(V,E)– V is the set of (N) pixels

– E is a set of weighted edges (weight wij gives the similarity between nodes i and j)

– Length N vector d: di is the sum of the weights from node i to all other nodes

– N x N matrix D: D is a diagonal matrix with d on its diagonal

– N x N symmetric matrix W: Wij = wij

35

Page 36: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

• Let x be a characteristic vector of a set A of nodes – xi = 1 if node i is in a set A

– xi = -1 otherwise

• Let y be a continuous approximation to x

• Solve the system of equations (D – W) y = D y

for the eigenvectors y and eigenvalues

• Use the eigenvector y with second smallest eigenvalue to bipartition the graph (y => x => A)

• If further subdivision is merited, repeat recursively36

Page 37: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

How Shi used the procedure

Shi defined the edge weights w(i,j) by

w(i,j) = e * e if ||X(i)-X(j)||2 < r0 otherwise

-||F(i)-F(j)||2 / I-||X(i)-X(j)||2 / X

where X(i) is the spatial location of node i F(i) is the feature vector for node I which can be intensity, color, texture, motion…

The formula is set up so that w(i,j) is 0 for nodes thatare too far apart.

37

Page 38: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Examples of Shi Clustering

See Shi’s Web Pagehttp://www.cis.upenn.edu/~jshi/

38

Page 39: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Problems with EM

• Local minima

• Need to know number of segments

• Need to choose generative model

Problems with Graph Cuts

• Need to know when to stop• Very Slooooow

39

Page 40: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Mean-Shift Clustering

• Simple, like K-means

• But you don’t have to select K

• Statistical method

• Guaranteed to converge to a fixed number of clusters.

40

Page 41: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Finding Modes in a Histogram

• How Many Modes Are There?– Easy to see, hard to compute

41

Page 42: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Mean Shift [Comaniciu & Meer]

• Iterative Mode Search1. Initialize random seed, and window W

2. Calculate center of gravity (the “mean”) of W:

3. Translate the search window to the mean

4. Repeat Step 2 until convergence

42

Page 43: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Numeric ExampleMust Use Normalized Histogram!

43

10 11 12 13 14

xH(x) 5 4 3 2 1N(x) 5/15 4/15 3/15 2/15 1/15

x N(x) = 10(5/15)+11(4/15)+12(3/15)+13(2/15)+14(1/15) = 11.33

mean shift

window W centered at 12

Page 44: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Mean Shift Approach

– Initialize a window around each point– See where it shifts—this determines which segment

it’s in– Multiple points will shift to the same segment

44

Page 45: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Segmentation Algorithm

• First run the mean shift procedure for each data point x and store its convergence point z.

• Link together all the z’s that are closer than .5 from each other to form clusters

• Assign each point to its cluster

• Eliminate small regions

45

Page 46: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

Mean-shift for image segmentation

• Useful to take into account spatial information– instead of (R, G, B), run in (R, G, B, x, y) space

46

Page 47: Region Segmentation Readings: Chapter 10: 10.1 Additional Materials Provided

References

– Shi and Malik, “Normalized Cuts and Image Segmentation,” Proc. CVPR 1997.

– Carson, Belongie, Greenspan and Malik, “Blobworld: Image Segmentation Using Expectation-Maximization and its Application to Image Querying,” IEEE PAMI, Vol 24, No. 8, Aug. 2002.

– Comaniciu and Meer, “Mean shift analysis and applications,” Proc. ICCV 1999.

47