# Segmentation by Graph by yurtgc548

VIEWS: 1 PAGES: 18

• pg 1
```									     Segmentation
Graph-Theoretic Clustering
Outline
   Graph theory basics
   Eigenvector methods for segmentation
Graph Theory Terminology

   Graph G: Set of vertices V and
edges E connecting pairs of vertices
   Each edge is represented by the                    vertices (a, b)
it joins
   A weighted graph has a weight
associated with each edge w(a, b)
   Connectivity
 Vertices are connected if there is a sequence of edges joining
them
 A graph is connected if all vertices are connected
 Any graph can be partitioned into connected components (CC)
such that each CC is a connected graph and there are no edges
between vertices in different CCs
Graphs for Clustering
   Tokens are vertices
   Weights on edges proportional to token similarity
   Cut: “Weight” of edges joining two sets of vertices:

   Segmentation: Look for minimum cut in graph
   Recursively cut components until regions uniform enough

A                        B
Representing Graphs As Matrices
   Use N x N matrix W for N–vertex graph
   Entry W(i, j) is weight on edge between
vertices i and j
   Undirected graphs have symmetric weight
matrices
5
4                       9

2
6
1                   1       8
1
3
7
from Forsyth & Ponce

Example graph and its weight matrix
Affinity Measures

   Affinity A(i, j) between tokens i and j should be
proportional to similarity
   Based on metric on some visual feature(s)
T         2
 Position: E.g., A(i, j) = exp [-((x-y) (x-y)/2sd )]
   Intensity
   Color
   Texture
   These are weights in an affinity graph A over tokens
Affinity by distance
Choice of Scale s

s=0.1   s=0.2   s=1
Eigenvectors and Segmentation

   Given k tokens with affinities defined by A, want partition into c clusters
   For a particular cluster n, denote the membership weights of the tokens
with the vector w n
   Require normalized weights so that
   “Best” assignment of tokens to cluster n is achieved by selecting wn that
maximizes objective function (highest intra-cluster affinity)

subject to weight vector normalization constraint
   Using method of Lagrange multipliers, this yields system of equations

which means that w n is an eigenvector of A and a solution is obtained
from the eigenvector with the largest eigenvalue
Eigenvectors and Segmentation
   Note that an appropriate rearrangement of affinity matrix
leads to block structure indicating clusters
5
4                     9

2
6
1               1           8
1           3           7
from Forsyth & Ponce

   Largest eigenvectors A of tend to correspond to
eigenvectors of blocks
   So interpret biggest c eigenvectors as cluster membership
weight vectors
 Quantize weights to 0 or 1 to make memberships definite
Example using dataset Fig 14.18
Next 3 Eigenvectors
Number of Clusters
Potential Problem
Normalized Cuts
   Previous approach doesn’t work when eigenvalues of blocks are similar
   Just using within-cluster similarity doesn’t account for between-cluster
differences
   No encouragement of larger cluster sizes
   Define association between vertex subset A and full set V as

   Before, we just maximized assoc(A, A); now we also want to
minimize assoc(A, V). Define the normalized cut as
Normalized Cut Algorithm
   Define diagonal degree matrix D(i,   i) = Sj A(i, j)
   Define integer membership vector x over all vertices such that each element is 1 if the
vertex belongs to cluster A and -1 if it belongs to B (i.e., just two clusters)
   Define real approximation to x as

   This yields the following objective function to minimize:

which sets up the system of equations
   The eigenvector with second smallest eigenvalue is the solution (smallest always 0)
   Continue partitioning clusters if normcut is over some threshold
Example: Fig 14.23
Example: Fig. 14-24

```
To top