Title: Sara Vicente, Vladimir Kolmogorov, Carsten Rother
1- Graph cut based image segmentation with
connectivity priors
- Sara Vicente, Vladimir Kolmogorov,Carsten
Rother - Microsoft Research CambridgeUniversity College
London
2Motivation
GrabCut standard(shrinking bias)
GrabCut with Flux
Geodesic Segmentation Bai et. al 07(only
connectivity wrt brushes)
GrabCut low coherency
Our result
3Defining the Problem
image
User input
GrabCut
Energy minimization
Smootness-term
Data-term
C(x) 0 only if connected otherwise
Valid solution
Properties - higher-order clique (whole
image) - NP hard to solve - Each connected
component is either entirely in- or excluded
from the global optimum
4Defining the Problem (specific)
image
User input
Valid solution
Energy minimization
C(x) 0 if 2 points connected otherwise
Properties - NP hard to solve - without
pairwise terms not NP hard
5Defining the Problem (specific ext.)
image
Valid solution
User input
GrabCut
Previous constraint
Energy minimization
C(x) 0 if connected path has a certain width
Properties - NP hard to solve
6Powerful User Interface (ideal)
Bkg brush
Segmentation is connected
Fgd brush
Segmentation has no holes
Width of last change
Input
Segmentation
7Specific Problem Two Methods
- DijkstraGC
- heuristic method
- relatively fast (0.2 - 200 seconds)
- Decomposition
- very slow (3 hours)
- gives lower bound and 30 of time the global
optimum
8Dijkstra Algorithm
2
1
2
6
2
4
4
6
3
3
1
4
1
Goal Compute shortest path from start node to
any other node
9Dijkstra Algorithm
8
8
2
1
8
2
6
8
2
4
4
6
3
3
0
8
1
4
8
1
8
10Dijkstra Algorithm
8
8
2
1
8
2
6
8
2
4
4
6
3
3
0
8
1
4
8
1
8
11Dijkstra Algorithm
2
6
2
1
8
2
6
8
2
4
4
6
3
3
0
3
1
4
3
1
1
12Dijkstra Algorithm
2
6
2
1
8
2
6
8
2
4
4
6
3
3
0
3
1
4
3
1
1
13Dijkstra Algorithm
2
6
2
1
8
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
14Dijkstra Algorithm
2
6
2
1
8
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
15Dijkstra Algorithm
2
6
2
1
8
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
16Dijkstra Algorithm
2
6
2
1
8
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
17Dijkstra Algorithm
2
4
2
1
3
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
18Dijkstra Algorithm
2
4
2
1
3
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
19Dijkstra Algorithm
2
4
2
1
3
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
20Dijkstra Algorithm
2
4
2
1
3
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
21Dijkstra Algorithm
2
4
2
1
3
2
6
8
2
4
4
6
3
3
0
3
1
4
2
1
1
22Dijkstra Algorithm
2
4
2
1
3
2
6
6
2
4
4
6
3
3
0
3
1
4
2
1
1
23Dijkstra Algorithm
2
4
2
1
3
2
6
6
2
4
4
6
3
3
0
3
1
4
2
1
1
24Dijkstra Algorithm
2
4
2
1
3
2
6
6
2
4
4
6
3
3
0
3
1
4
2
1
Backward links allow reconstruction of minimum
path
1
25DijkstraGC Algorithm
p
s
7
2
3
0
0
0
optimal cut
0
3
Goal Compute a minimum cut (segmentation) where
s and p are connected
3
2
1
1
3
0
Idea Replace Distance by cost of cut which
satisfies connectivity
5
3
1
26DijkstraGC Algorithm
8
8
8
8
1
7
2
3
cut
0
0
0
8
8
0
3
3
2
1
1
3
0
5
3
1
27DijkstraGC Algorithm
8
8
8
8
1
7
2
3
0
0
0
8
8
0
3
3
2
1
1
3
0
5
3
1
28DijkstraGC Algorithm
6
8
8
8
1
cut
8
8
8
29DijkstraGC Algorithm
6
8
8
8
1
cut
8
8
8
30DijkstraGC Algorithm
6
8
8
8
1
cut
7
8
8
31DijkstraGC Algorithm
6
8
8
8
1
7
2
3
0
0
0
7
8
0
3
3
2
1
1
3
0
5
3
1
32DijkstraGC Algorithm
6
6
8
8
1
8
cut
8
7
8
33DijkstraGC Algorithm
6
6
8
8
1
7
2
3
0
0
0
7
8
0
3
3
2
1
1
3
0
5
3
1
34DijkstraGC Algorithm
6
6
8
14
1
cut
8
8
8
7
8
35DijkstraGC Algorithm
6
6
8
14
1
8
cut
8
8
7
8
36DijkstraGC Algorithm
6
6
8
14
1
7
2
3
0
0
0
7
8
0
3
3
2
1
1
3
0
5
3
1
37DijkstraGC Algorithm
6
6
8
14
1
13
7
cut
8
8
38DijkstraGC Algorithm
6
6
8
14
1
7
2
3
0
0
0
13
7
0
3
3
2
1
1
3
0
5
3
1
39DijkstraGC Algorithm
6
6
8
14
1
cut
10
7
8
8
40DijkstraGC Algorithm
6
6
8
10
1
10
7
cut
8
8
41DijkstraGC Algorithm
6
6
8
10
1
7
2
3
0
0
0
10
7
0
3
3
2
1
1
3
0
5
3
1
42DijkstraGC Algorithm
6
6
8
10
1
7
2
3
0
0
0
10
7
0
3
3
2
1
1
3
0
5
3
1
43DijkstraGC Algorithm
6
6
8
10
1
10
7
best cut
8
8
Stop with best found cut
44Suboptimality of DijkstraGC
0
2
0
0
2
1
0
0
3
3
1
2
0
2
0
0
Direction of DijkstraGC matters(in practice less
than 1 of nodes differently labelled)
45DijkstraGC
- Speed Recycle flow search trees Kohli et al.
04 - Theorem DijkstraGC gives global optimum if no
pairwise terms present - Conjecture DijkstraGC gives global optimum if
E(1) lt E(0) for all nodes
46Results - DijkstraGC
User input
GrabCut
size 321x481 time 0.2sec width 1
additional input
DijkstraGC
47Results - DijkstraGC
User input
GrabCut
size 458x561 time 203sec width 3
additional Input
DijkstraGC
48Results - DijkstraGC
User input
GrabCut
size 600x450 time 1.5sec width 3
DijkstraGC
additional input
49Decomposition Approach
Minimization
(Lower bound)
50Decomposition Approach
Subgradient Optimization Shor 70, Wainwright et
al.05
x1
subgradient
?
x2
?
x3
?
Subproblem 1
Subproblem 2
Subproblem 3
- Guaranteed to converge, close to optimal
solution of (depending on ) - Lower bound might not be tight
51Decomposition Approach
Unary terms pairwise terms Global
minimumGraphCut
Unary terms Connectivity constraint Global
minimum Thresholding Dijkstra
Pairwise terms Connectivity constraint Lower
Bound Based on minimal paths on a dual
graphExtra assumption - Planar graph -
Boundary nodes 0
52Results - Decomposition
- Global optimum 12 out of 40 cases. For those,
DijkstraGC gives same solution - Slow (average 3hours)
GlobalMin
GrabCut
Image
Input
53Conclusions
- Practically Important Problem
- Good results
- Future Work Faster, heuristic methods (visually
good even if energy is higher)
54OLD
55Results - DijkstraGC
Width 2time 2.9sec