1 / 19

Active Cuts for Real-Time Graph Partitioning in Vision

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

aoife
Download Presentation

Active Cuts for Real-Time Graph Partitioning in Vision

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Existing algorithms • Context & Motivations • Description of the new algorithm • New concepts • Guidelines • Experiments • Segmentation • Dynamic Segmentation • Hierarchical Segmentation • Conclusions

  3. Existing Methods (1/2) • Feasible Flow (Ford & Fulkerson 62, Dinic 70) Flow Conservation Law : • For each edge, flow does not exceed its capacity • 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. 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. 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 Relaxing Relaxing Any path is good ! Heuristics to use a short one ! Boykov&Kolmogorov Trick: Use of a dual dynamic tree structure to maintain a short path relationship

  6. 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. Existing Methods (2/2)

  8. pulling deficits towards the source S along the source tree pushing excess towards the sink T along the sink tree to leafs to root T d e from leafs to leafs from root S from leafs from leafs to leafs to root T from leafs e d to leafs from leafs from leafs from root S 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

  9. - + - + S T - + - + New Concepts (2/2) • Initialization with a given cut : But How…

  10. S S S T T T

  11. - + - - S T - + + - + Stuck ? Better Cut • 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. S S d T T Equivalence Deficit/t-link The same scheme is available for excess

  13. - + - - S T - + + - + + - S T - + + - + Better Cut • Reconnect stuck deficit to the Sink and stuck excess to the Source • Complete the tree • And so on

  14. Effect of Initialization Concentric initializations show that : running time is correlated to the distance between initialization and optimal solution. Closest initialization == Fastest convergence Radius

  15. Sequence of cuts

  16. Video Segmentation • ActiveCuts is in mean 5 times faster than BK (up to 11) • Speed is also correlated to Hausdorff distance

  17. Hierarchical Segmentation • Recycle the previous level cut • No lost of global optima as in Banded GraphCut

  18. 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 cuts Useful 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. Questions ?

More Related