You are on page 1of 42

What Energy Functions Can

be Minimized Using
Graph Cuts?
Shai Bagon
Advanced Topics in Computer Vision
June 2010

What is an Energy Function?


Image
For a given
Segmentation:
problem:
Useful Energy function:
1. Good solution Low energy
2.suggested
Tractablesolution
Can be minimized

E
a number
-20
237

Families of Functions or Outline


F2 submodular
Non submodular
F3
Beyond F3

Foreground Selection
Let
yi color of ith pixel
xi {0,1} BG/FG labels (variables)

Given BG/FG scribbles:


Pr(xi|yi)=How likely each pixel to be FG/BG
Pr(xm|xn)=Adjacent pixels should have same label
yi

F energy:
E(x)=iEi(xi)+ijEij(xi,xj)
2

xi
xm

xn

Submodular
Known concept from set-functions:
f x f y f x y f x y x, y S
f 1,0 f 0,1 f 1,1 f 0,0

S 2

E(x) = i Ei(xi) + ij Eij (xi, xj), xi {0,1}


xj

xi

Eij(xi,xj):

What does it
mean?
B+C-A-D 0

F2 submodular
How to
Minimize?
E(x) = i Ei(xi) + ij Eij (xi, xj), xi {0,1}
Local beliefs:

Prior knowledge:

Data term

Smoothness term

Graph Partitioning
V EE ww )
A weighted graph G=( V
Special Nodes: s t
s-t cut: S V, T V , s S, t T

S T , S T V
Cost of a cut: Cut ) S , T ( wij
iS , jT

Nice property: 1:1 mapping


s-t cut {0,1}|V|-2

wij

Graph Partitioning - Energy


C-A

E(x) = i Ei(xi) + ij Eij (xi, xj)

D-C
s

Ej(1)

B+C-A-D
j

i
Eij(xi,xj)
xj

xi

Ei(0)

=A+

C-A C-A

0 D-C
0 D-C

0 B+C-A-D
0

Graph Partitioning - Energy


E(x) = i Ei(xi) + ij Eij (xi, xj)

C-A

D-C
s

Ej(1)

B+C-A-Dassignment
st cut binary
i

0 vS

cut
xv cost energy of assignment
Ei(0)
1 v T
t
min cut Energy min.
cut S , T A wij
iS , jT

A E j 1 Ei 0 D C B C A D
E x
B=Eij(0,1)

Recap
F2 submodular:
E(x) = i Ei(xi) + ij Eij (xi, xj)
Eij(1,0)+Eij(0,1)Eij(0,0)+Eij(1,1)

Mapping from energy to graph partition


Min Energy = computing min-cut
Global optimum in poly time
for submodular functions!

Next
Multi-label F2
E(x)=i Ei(xi) + ij Eij(xi,xj) s.t. xi {1,,L}
Fusion moves: solving binary sub-problems
Applications to stereo, stitching, segmentation
Solve Binary problem:

xi=0

xi=1

Current
labeling

=
suggested
labeling

Fusion

Alpha
expansion

Stereo matching

see http://vision.middlebury.edu/stereo/

Input:

Pairwise MRF
[Boykov et al. 01]

Ground
truth
slide by Carsten Rother, ICCV09

Panoramic stitching

slide by Carsten Rother, ICCV09

Panoramic stitching

slide by Pushmeet Kohli, ICCV09

AutoCollage

[Rother et. al. Siggraph


http://research.microsoft.com/en-us/um/cambridge/projects/autocollage/

Next
Multi-label F2
E(x)=i Ei(xi) + ij Eij(xi,xj) s.t. xi {1,,L}
Fusion moves: solving binary sub-problems
Applications to stereo, stitching, segmentation

Non-submodular
Beyond pair-wise interactions: F3

Merging Regions
regions (Ncuts)

input image

edge prob.
j
i
pi

weak edge

pi prob. of boundary being edge


min:
GOAL: Find labeling
xi{0,1}
strong
edgethat max:
Pr x
p1i pi log1 pi
pilog
i: xi 1

i: x i 0

i: xi 0

Taking -log

Merging Regions
x

log p log1 p log p log p


i

i: xi 1

log pi
i

i: xi 0

i: xi 0

log1 p log p
i

i: xi 0

i:xi 0

pi Adding and
1 xi C wi xi
C log
1 pisubtracting

the i
i
same number
pi 1
likely to be an edge
2
1 1 pi likey to be merged
pilog
2
i: x 0

wi 0
pi
wi log
x1pi : wlog
p
i 0 i
def

i: xi 1

Merging Regions
Solving for edges:
arg min x C i wi xi
Consistency constraints:
No dangling edge
J
x1

x2

x3

EJ

xi

wi

1 longer
E J 1 x1No
x2 x3
x2 x3 1 x1 x3
1 x1 pair-wise:
F3

Minimization trick
1 x1 x2 x3 min z 1 x1 x2 x3 2
z 0 ,1

xi min z i 1 xi K 1
i 1

z 0 ,1

Freedman D., Turek MW, Graph cuts with many pixel interactions:
theory and applications to shape modeling. Image Vision Computing 2010

Merging Regions
The resulting energy:
E x

min z n wn xn
l ,m ,nJ zlmn xl xm xn 1 1 xl xn

+ Pair-wise
- Non submodular!

Quadratic Pseudo-Boolean Optimization

s
j

i
i

Kolmogorov V., Carsten R., Minimizing non-submodular functions with graph cuts a review.
PAMI07

Quadratic Pseudo-Boolean Optimization


+ All edges with positive capacities
- No constraint i 1 i
Labeling rule: 0 if i S , i T

yi 1 if i T , i S
otherwise

partial labeling

s
i

j
t

Quadratic Pseudo-Boolean Optimization


Properties of partial labeling y:
1. Let z=FUSE(y,x)
E(z)E(x)
2. y is subset of optimal y*
y is complete:
1. E submodular
2. Exists flipping
(inference in trees)

s
i

j
t

QBPO - Probing
QPBO:

Probe Node p:
0

What can we say about


variables?
r -> is always 0
s -> is always equal to q
t -> is 0 when q = 1
slide by Pushmeet Kohli, ICCV09

QBPO - Probing
Probe nodes in an order until energy
unchanged
Simplified energy preserves global
optimality and (sometimes) gives the global
minimum

slide by Pushmeet Kohli, ICCV09

Merging Regions
Result using QPBO-P:
input image

regions (Ncuts)

Result

Recap
F3 and more
Minimization trick

Non submodular
QPBO approx. partial labeling

Beyond F3

[Kohli et. al. CVPR 07, 08, PAMI 08, IJCV 09]

Image Segmentation
E(X) =

ci xi + dij |xi-xj|
i

Image

n = number of
pixels
E: {0,1}n R
0 fg, 1bg

i,j

Unary Cost

Segmentation

[Boykov and Jolly 01] [Blake et al. 04] [Rother et al.`04]

Pn Potts Potentials

Patch
Dictionary
(Tree)
h(Xp) =

0
if xi = 0, i p
Cmax otherwise

Cmax 0

[slide credits: Koh

Pn Potts Potentials
n = number of
pixels
E: {0,1}n R
0 fg, 1bg

E(X) =

h(Xp) =

ci xi + dij |xi-xj|
i

i,j

0
if xi = 0, i p
Cmax otherwise

hp (Xp)

[slide credits: Koh

Image Segmentation
n = number of
pixels
E: {0,1}n R
0 fg, 1bg

E(X) =

ci xi + dij |xi-xj|
i

Image

i,j

Pairwise
Segmentation

hp (Xp)

Final Segmentation

[slide credits: Koh

Application:
Recognition and Segmentation

Image

One
superpixelizatio
n

Unaries only Pairwise CRF only


TextonBoost [Shotton et al. 06]
[Shotton et al. 06]

another
superpixelization

Pn Potts

from [Kohli et al.

Robust(soft) Pn Potts model


h(xp) =

0 if xi = 0, i p
f(xp) otherwise
p

Pn Potts

p
Robust Pn
Potts

from [Kohli et al.

Application:
Recognition and Segmentation

Image

Unaries only Pairwise CRF only


TextonBoost [Shotton et al. 06]
[Shotton et al. 06]

another
One
supersuperpixelizatio pixelization
n

Pn Potts

robust Pn Potts robust Pn Potts


(different f)

From [Kohli et al.

Same idea for surface-based stereo


]Bleyer 10[

One input
image

Ground
truth depth

Stereo with
hardsegmentation

This approach gets best result on


Middlebury Teddy image-pair:

Stereo with
robust Pn Potts

How is it done
Most general binary
function:

H (X) = F ( xi ) concave
H (X)

xi

The transformation is to a submodular pair-wise


MRF, hence optimization globally optimal

[slide credits: Koh

Higher order to Quadratic


Start with Pn Potts model:
f(x) =

min f(x)
x

Higher Order
Function

xi = 0
xi > 0

{
=

0 if all xi = 0
C1 otherwise

x {0,1}n

min C1a + C1 (1-a) xi

x,a {0,1}

Quadratic Submodular
Function

f(x) = 0

a=0

f(x) = C1

a=1

[slide credits: Koh

Higher order to Quadratic


=

min f(x)
x

min C1a + C1 (1-a)

x,a {0,1}

Higher Order Function

xi

Quadratic Submodular
Function

C1xi

C1

xi

[slide credits: Koh

Higher order to Quadratic


=

min f(x)
x

min C1a + C1 (1-a)

x,a {0,1}

Higher Order
Submodular Function

xi

Quadratic Submodular
Function

C1xi
a=1

a=0

Lower envelope
of concave
functions is
concave

C1

xi

[slide credits: Koh

Summary
Submodular F2
F3 and beyond: minimization trick
Non submodular
QPBO(P)

Beyond F3 Robust HOP


f2(x)

a=1

a=0

f1(x)

xi

s
i

j
t

You might also like