An Introduction To Graph-Cut
An Introduction To Graph-Cut
An Introduction to Graph-Cut
Overview
Min-cut
Normalized-Cut
Applications
1
An Introduction to Graph-Cut
Graph-cut is an algorithm that finds a globally optimal
segmentation solution.
Also know as Min-cut.
Equivalent to Max-flow. [1]
What is a “cut”?
A graph G = (V,E) can be partitioned into two disjoint
sets, A, B, A ∪ B = V , A ∩ B = 0
by simply removing edges connecting the two parts.
2
Example cut
cut(A,B)=
∑(
G = (V,E)
)
A B
3
Finding the Minimum-cut
4
Finding the Minimum-cut
5
Finding the Minimum-cut
Min-cut 1
Min-cut 2
better cut
6
Normalized-cut
Instead use normalized cut (Ncut).
cut ( A, B ) cut ( A, B )
Ncut ( A, B ) = +
assoc ( A, V ) assoc ( B, V )
assoc( A, V ) = ∑ w(u, t )
u∈ A,t∈V
⎛ assoc ( A, A) assoc( B, B ) ⎞
Nassoc ( A, B ) = ⎜⎜ + ⎟⎟
⎝ assoc ( A, V ) assoc( B,V ) ⎠
Normalized-cut
cut ( A, B ) cut ( A, B)
Ncut ( A, B ) = +
assoc ( A,V ) assoc( B, V )
⎛ assoc( A, A) assoc( B, B) ⎞
= 2 − ⎜⎜ + ⎟⎟
⎝ assoc( A, V ) assoc( B, V ) ⎠
= 2 − Nassoc( A, B)
7
Pixel labeling problem
Given Find
Labeling f = (f1,…,fn)
2 5
2 5
1
1
3 4
3 4
Energy Minimization
Optimizing the labeling problem can be thought
of as minimizing some energy function.
measure of smoothness or
other visual constraints
8
The Labeling Problem
Choices of V
Robust Not robust
Potts Linear
model model
V (α , β ) V (α , β )
α − β α − β
Quadratic
Truncated
V (α , β ) model
linear model V (α , β )
α − β
α − β
9
What do graph cuts provide?
10
Graph Cut based Segmentation
hard
t
n-links a cut
constraint
hard
constraint
s
3D Applications
2D and Time
11
Some Results
[3] Kwatra et al.: Graphcut Textures: Image and Video Synthesis Using Graph Cuts
Some Results
[4] Kwatra et al.: Graphcut Textures: Image and Video Synthesis Using Graph Cuts
12
Some Results
Some Results
13
Some Results
Some Results
14
zSo far weight measurement has been
distance, but could also use appearance,
texture, or other information to calculate
similarity measure.
15