active cuts for real-time graph partitioning in vision

19
1 Centre d‘Enseignement et de Recherche en Technologies de L‘Information et Systemes Active Cuts for Real- Time Graph Partitioning in Vision Olivier Juan (CERTIS, ENPC) Joined work with Yuri Boykov (University of Western Ontario) Active Cuts, un algorithme de GraphCut adapté à la Vision

Upload: aoife

Post on 19-Jan-2016

37 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 2: Active Cuts for Real-Time Graph Partitioning in 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

Page 3: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 4: Active Cuts for Real-Time Graph Partitioning in Vision

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|)

Page 5: Active Cuts for Real-Time Graph Partitioning in Vision

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 !

Page 6: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 7: Active Cuts for Real-Time Graph Partitioning in Vision

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?

Page 8: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 9: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 10: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 11: Active Cuts for Real-Time Graph Partitioning in Vision

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.

Page 12: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 13: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 14: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 15: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 16: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 17: Active Cuts for Real-Time Graph Partitioning in Vision

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

Page 18: Active Cuts for Real-Time Graph Partitioning in Vision

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 ???

Page 19: Active Cuts for Real-Time Graph Partitioning in Vision

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 ?