active cuts for real-time graph partitioning in vision
DESCRIPTION
Active Cuts for Real-Time Graph Partitioning in Vision. Active Cuts, un algorithme de GraphCut adapté à la Vision. Olivier Juan (CERTIS, ENPC) Joined work with Yuri Boykov (University of Western Ontario). Outline. Existing algorithms Context & Motivations - PowerPoint PPT PresentationTRANSCRIPT
1
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Active Cuts for Real-TimeGraph Partitioning in
Vision
Olivier Juan(CERTIS, ENPC)
Joined work with
Yuri Boykov(University of Western Ontario)
Active Cuts, un algorithme deGraphCut adapté à la Vision
2
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Outline
Existing algorithms
Context & Motivations
Description of the new algorithm New concepts Guidelines
Experiments Segmentation Dynamic Segmentation Hierarchical Segmentation
Conclusions
3
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Existing Methods (1/2)
Feasible Flow (Ford & Fulkerson 62, Dinic 70)
Flow Conservation Law :
1. For each edge, flow does not exceed its capacity
2. Total amount of inflow that enters each node should be equal to the amount of outflow that leaves the node
Preflow (introduced by Karzanov 74, Goldberg&Tarjan 85)
Relaxation of the Conservation Law :
Any node can have a positive flow excess
Excess = Inflow-Outflow ≥ 0
4
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Augmenting Path Algorithms
Algorithm : Ford&Fulkerson 62 While there exists a path between source and sink in the residual
graph Take such path
Send as much flow as possible along the selected path
Update the residual graph
Complexity : O(E|C|)
Alternatives : Shortest Augmenting Path O(VE2) Maximum Capacity Augmenting Path Dinic’s Augmenting Path O(EV2) Boykov-Kolmogorov O(VE|C|)
5
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Boykov&Kolmogorov Algorithm
Ford&Fulkerson
Bottleneck : any path is
good, even the longest !
Shortest Augmenting Path
Bottleneck : search of the
shortest path over the
graph
Boykov&Kolmogorov
Trick: Use of a dual
dynamic tree structure to
maintain a short path
relationship
Relaxing Relaxing
Any path is good !Heuristics to use a short one !
6
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Push Relabel
Algorithm : Cormen, Golberg&Tarjan 85 While there is some active node (excess > 0), push this excess
using “Push Step” Admissible edge : edge connecting the current node p with
another node q with a label just below L(p) = L(q) + 1 Push step :
Push as much flow as possible over outgoing admissible edges
If some excess remains do “Relabel”
Relabel step : Increase the label to the minimum label + 1 of the reachable nodes
Initialization : Label : distance to the sink or |V| for the source Nodes connected to the source are “excessed” by t-link saturation
Heuristics : Global relabeling, Gap relabeling, … Complexity : O(V3) or O(EV2) or even a little bit better
7
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Existing Methods (2/2)
Feasible FlowBased
PreflowBased
UnsymmetricAugmenting
PathPush Relabel
SymmetricBoykov-
Kolmogorov?
8
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
New Concepts (1/2)
Push-Pull : Excess node : e = Outflow – Inflow > 0
They are pushed over outgoing edges towards the sink
Deficit node : d = Outflow – Inflow < 0
They are pulled over incoming edges towards the source
Use of a dual dynamic tree for connectivity selection A tree is rooted at a terminal A tree spans all nodes “reachable” from a root All edges included in a tree are non-saturated
e
pushing excess towards the sink T along the sink tree
a
b
to root T
from
leaf
s
from leafs
eea
eb
to root T
from
leaf
s
from leafs
from leafs
from leafs
pulling deficits towards the source S along the source tree
d
from root S
to leafs
to leafs
a
b
d
from root S
to leafs
to leafs
da
db
9
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
New Concepts (2/2)
Initialization with a given cut :
But How…
- +
- +
- +
- +
S T
10
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
T
S
0
ba
a
a
T
S
a
b
T
S
0
ba
aa
11
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Stuck ? Better Cut
- +
-- + +
- +
S T-
The new cut or “better cut” in dotted line has a lower cost than the previous one.
Cost(New Cut) = Cost(Previous Cut) - |Flow Stuck| Sequence of decreasing cost cuts.
12
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
S
d
T
S
T
d
Equivalence Deficit/t-link
The same scheme is available for excess
13
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Better Cut
+
- + +
- +
S T-
- +
-- + +
- +
S T-
Reconnect stuck deficit to the Sink and stuck excess to the Source
Complete the tree
And so on
14
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Effect of Initialization
Concentric initializations show that : running time is correlated to the distance between initialization and optimal solution.
Radius
Closest initialization
==Fastest
convergence
15
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Sequence of cuts
16
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
ActiveCuts is in mean 5 times faster than BK (up to 11)
Speed is also correlated to Hausdorff distance
Video Segmentation
17
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Hierarchical Segmentation
Algorithm Ventricle/Time Lung/Time
MaxFlow (BK) 18.15ms 26.47ms
ActiveCut 18.52ms 19.98ms
Hierarchical
ActiveCut
Level 2 : 0.70msLevel 1 : 0.61msLevel 0 : 8.59ms
Total : 9.90ms
Level 2 : 0.45msLevel 1 : 2.14ms
Level 0 : 16.95ms
Total : 19.54ms
Recycle the previous level cut
No lost of global optima as in Banded GraphCut
18
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Contributions & Conclusions
A new algorithm for solving s/t mincut problem
Takes advantage of a good initial cut(Pre-Segmentation, Dynamic or Hierarchical Segmentation, etc…)
Faster than standard Maxflow algorithm
Outputs a sequence of decreasing cost cutsUseful for iterative/learning scheme
Could be combine with Dynamic GraphCut (Kohli&Torr05) to speed up the convergence
Need to improve our dynamic tree structure ???
19
C
entr
e
d‘E
ns
eig
nem
ent
et
de
Rec
her
che
e
n T
echn
olog
ies
de
L‘I
nfo
rma
tio
n
et S
yste
mes
Questions ?