Outline Standard 2-way minimum graph cut problem. Applications to problems in computer vision Classical algorithms from the theory literature A new algorithm.

Slides:



Advertisements
Similar presentations
Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Advertisements

S Maximum Flow by Incremental Breadth First Search Joint work with:Haim KaplanRobert E. Tarjan Tel Aviv University Princeton University & HP Labs Renato.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
S Maximum Flow by Incremental Breadth First Search Sagi Hed Tel Aviv University Haim Kaplan Tel Aviv University Renato F. Werneck Microsoft Research Andrew.
1 s-t Graph Cuts for Binary Energy Minimization  Now that we have an energy function, the big question is how do we minimize it? n Exhaustive search is.
This work was supported bu EU projects FP7-ICT NIFTi and FP7-ICT HUMAVIPS and the Czech project 1M0567 CAK July, 2011 EMMCVPR Center.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Lectures on Network Flows
1 Maximum Flow Networks Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘capacity’ u ij. Goal: Determine the maximum amount.
Chapter 7 Maximum Flows: Polynomial Algorithms
1 Efficient implementation of Dinic’s algorithm for maximum flow.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
A New Approach to the Maximum-Flow Problem Andrew V. Goldberg, Robert E. Tarjan Presented by Andrew Guillory.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
MRF Labeling With Graph Cut CMPUT 615 Nilanjan Ray.
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
Stereo Computation using Iterative Graph-Cuts
1 Maximum flow: The preflow/push method of Goldberg and Tarjan (87)
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
1 Efficient implementation of Dinic’s algorithm for maximum flow.
A New Approach to the Maximum-Flow Problem Andrew V. Goldberg, Robert E. Tarjan Presented by Andrew Guillory.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Graph Cut 韋弘 2010/2/22. Outline Background Graph cut Ford–Fulkerson algorithm Application Extended reading.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
MST and Max Flow CS3233. Overview Two Graph Problems Minimum Spanning Tree Maximum Flow/Minimum Cut Problem One Data Structure Disjoint Sets.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
Jonathan Dinger 1. Traffic footage example 2  Important step in video analysis  Background subtraction is often used 3.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Maximum Flow Algorithms —— ACM 黄宇翔. 目录 Max-flow min-cut theorem 12 Augmenting path algorithms 3 Push-relabel maximum flow algorithm.
Flow Algorithms Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms Week 9, Lecture 2.
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
Graphs Upon completion you will be able to:
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 14, 2014.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
1 Maximum Flows CONTENTS Introduction to Maximum Flows (Section 6.1) Introduction to Minimum Cuts (Section 6.1) Applications of Maximum Flows (Section.
Energy minimization Another global approach to improve quality of correspondences Assumption: disparities vary (mostly) smoothly Minimize energy function:
Preflow Push Algorithm M. Amber Hassaan. Preflow Push Algorithm2 Max Flow Problem Given a graph with “Source” and “Sink” nodes we want to compute:  The.
Network Flow.
Graph Algorithms BFS, DFS, Dijkstra’s.
Graph Theory and Algorithm 01
Network Flow.
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Graph Cut Weizhen Jing
Maximum flow: The preflow/push method of Goldberg and Tarjan (87)
Discrete Inference and Learning
CSE Algorithms Max Flow Problems 11/21/02 CSE Max Flow.
Efficient implementation of Dinic’s algorithm for maximum flow
Lecture 10 Network flow Max-flow and Min-cut Ford-Fulkerson method
Haim Kaplan and Uri Zwick
Subgraphs, Connected Components, Spanning Trees
Flow Networks and Bipartite Matching
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
and 6.855J March 6, 2003 Maximum Flows 2
Min Global Cut Animation
Network Flow.
MAXIMUM flow by Eric Wengert.
and 6.855J The Goldberg-Tarjan Preflow Push Algorithm for the Maximum Flow Problem Obtain a network, and use the same network to illustrate the.
and 6.855J The Goldberg-Tarjan Preflow Push Algorithm for the Maximum Flow Problem Obtain a network, and use the same network to illustrate the.
Maximum flow: The preflow/push method of Goldberg and Tarjan (87)
Lecture 11 Graph Algorithms
Network Flow.
Presentation transcript:

Outline Standard 2-way minimum graph cut problem. Applications to problems in computer vision Classical algorithms from the theory literature A new algorithm from the vision community Performance Multiway graph cut problem (NP-hard) Applications to vision problems Approximation algorithms from the theory and vision communities.

Minimum Cut Problem Separate the nodes into two set, one containing s and one containing t. Minimize the sum of the weights of the edges crossing the partition. Equivalent to finding the maximum flow. s t

Image segmentation Image segmentation separates an image into disjoint objects. Olga Veksler proposed using minimum graph cuts to segment an image into a hierarchy of nested regions. Any pair of regions will either be disjoint or one region will be entirely contained within the other.

Each pixel is a node, edges between neighbors Edges weighted by difference in pixel colors Border pixels link to Sink Compute the min-cut around every pixel! Recurse on subgraphs to get nested segments Connect border to a sink Nested Cuts for Images … Source Sink

Nested Cuts Image Results

Augmenting Paths algorithms Repeatedly search the residual graph for a source-to-sink path. Send as much flow as possible down the path (saturate the minimum residual capacity edge). How do we choose the path to augment? Largest Capacity/Capacity Scaling (O(m 2 log U)) Edmunds and Karp - Shortest Path (Breadth First Search) (O(nm 2 )) Dinic’s Method - Layered networks (O(n 2 m))

Push Relabel Algorithms Initially push as much flow as possible to all nodes connected to the source. Pick a node u with excess flow. Pick an edge (u,v) with excess capacity where v has a label which is one less than u. Push as much flow as possible to v. If not possible, increase the label of u. Rinse and repeat. Think of labels as the distance from the sink.

Example /51/6 L=2 L=4L= /51/6 L=4L=1 L= /51/6 L=2 L=5L= /51/6 L=5L=3 L=4 Push: Relabel:

Choosing the next vertex FIFO queue: O(n 3 ) Highest label node - maintain an array of sets where all nodes in a given set have the same label: Largest excess: O(n 2 m) Stack: O(n 2 m)

Relabeling heuristics Global relabeling: periodically relabel every node with the shortest path distance to the sink in the residual graph. Gap relabeling: Periodically check for gaps in the labels. If a gap is found, relabel every node above the gap with n (# of vertices), because the sink is not reachable from these nodes.

Boykov-Kolmogorov algorithm An augmenting paths algorithm from the vision literature, designed to be efficient on the graphs that typically arise in vision problems. O(n 2 m|C|) Maintains a tree (rooted at the source) of nodes connected by edges with excess capacity. The tree is grown until the sink is part of the tree.

Boykov-Kolmogorov, cont. We then augment down the path to the sink. This may split the tree into a forest (because edges are saturated): a tree containing the root and some orphans. Attempt to adopt the orphan trees. Repeat until the growth phase is unable to incorporate the sink.

Performance Experimental comparisons: Cheung showed that Dinic’s is the fastest augmenting paths algorithm. Anderson and Setubal showed that Push Relabel is faster than Augmenting Paths, and that the FIFO queue and Highest Label methods are the fastest.

Performance More experimental comparisons: Cherkassky and Goldberg showed that the quickest push relabel method is Highest Label with both gap and global relabeling. Boykov and Kolmogorov showed that their algorithm is the fastest on the range of vision problems they tested it on: Image restoration Stereo with occlusions Interactive object segmentation