A Selective Overview of Graph Cut Energy Minimization Algorithms Ramin Zabih Computer Science Department Cornell University Joint work with Yuri Boykov,

Slides:



Advertisements
Similar presentations
Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images)
Advertisements

Algorithms for MAP estimation in Markov Random Fields Vladimir Kolmogorov University College London Tutorial at GDR (Optimisation Discrète, Graph Cuts.
1 LP, extended maxflow, TRW OR: How to understand Vladimirs most recent work Ramin Zabih Cornell University.
Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
Graph Cut Algorithms for Computer Vision & Medical Imaging Ramin Zabih Computer Science & Radiology Cornell University Joint work with Y. Boykov, V. Kolmogorov,
Greedy Algorithms Greed is good. (Some of the time)
Introduction to Algorithms
Introduction to Markov Random Fields and Graph Cuts Simon Prince
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Learning with Inference for Discrete Graphical Models Nikos Komodakis Pawan Kumar Nikos Paragios Ramin Zabih (presenter)
Graph-Based Image Segmentation
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.
Learning with Inference for Discrete Graphical Models Nikos Komodakis Pawan Kumar Nikos Paragios Ramin Zabih (presenter)
1 Maximum Flow w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Optimal solution of binary problems Much material taken from :  Olga Veksler, University of Western Ontario
1 Can this be generalized?  NP-hard for Potts model [K/BVZ 01]  Two main approaches 1. Exact solution [Ishikawa 03] Large graph, convex V (arbitrary.
Last Time Pinhole camera model, projection
P 3 & Beyond Solving Energies with Higher Order Cliques Pushmeet Kohli Pawan Kumar Philip H. S. Torr Oxford Brookes University CVPR 2007.
2010/5/171 Overview of graph cuts. 2010/5/172 Outline Introduction S-t Graph cuts Extension to multi-label problems Compare simulated annealing and alpha-
Stereo & Iterative Graph-Cuts Alex Rav-Acha Vision Course Hebrew University.
The max flow problem
The plan for today Camera matrix
Lecture 10: Stereo and Graph Cuts
Stereo Computation using Iterative Graph-Cuts
Comp 775: Graph Cuts and Continuous Maximal Flows Marc Niethammer, Stephen Pizer Department of Computer Science University of North Carolina, Chapel Hill.
Measuring Uncertainty in Graph Cut Solutions Pushmeet Kohli Philip H.S. Torr Department of Computing Oxford Brookes University.
Graph-Cut Algorithm with Application to Computer Vision Presented by Yongsub Lim Applied Algorithm Laboratory.
Computer vision: models, learning and inference
1 The Min Cost Flow Problem. 2 The Min Cost Flow problem We want to talk about multi-source, multi-sink flows than just “flows from s to t”. We want to.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Fast Approximate Energy Minimization via Graph Cuts
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Graph Cut & Energy Minimization
Graph Cut Algorithms for Binocular Stereo with Occlusions
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
Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images (Fri) Young Ki Baik, Computer Vision Lab.
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Techniques for Proving NP-Completeness Show that a special case of the problem you are interested in is NP- complete. For example: The problem of finding.
Algorithms for MAP estimation in Markov Random Fields Vladimir Kolmogorov University College London.
1 Markov Random Fields with Efficient Approximations Yuri Boykov, Olga Veksler, Ramin Zabih Computer Science Department CORNELL UNIVERSITY.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Lecture 19: Solving the Correspondence Problem with Graph Cuts CAP 5415 Fall 2006.
Presenter : Kuang-Jui Hsu Date : 2011/3/24(Thur.).
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
Graph Algorithms for Vision Amy Gale November 5, 2002.
Outline Standard 2-way minimum graph cut problem. Applications to problems in computer vision Classical algorithms from the theory literature A new algorithm.
Lecture 05 29/11/2011 Shai Avidan Roy Josef Jevnisek הבהרה : החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Photoconsistency constraint C2 q C1 p l = 2 l = 3 Depth labels If this 3D point is visible in both cameras, pixels p and q should have similar intensities.
Markov Random Fields in Vision
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Energy functions f(p)  {0,1} : Ising model Can solve fast with graph cuts V( ,  ) = T[  ] : Potts model NP-hard Closely related to Multiway Cut Problem.
Energy minimization Another global approach to improve quality of correspondences Assumption: disparities vary (mostly) smoothly Minimize energy function:
The Theory of NP-Completeness
The NP class. NP-completeness
Digital Visual Effects, Spring 2009 Yung-Yu Chuang 2009/5/21
Markov Random Fields with Efficient Approximations
Lectures on Network Flows
Algorithms and Networks
NP-Completeness Yin Tat Lee
Graph Cut Weizhen Jing
Instructor: Shengyu Zhang
Analysis of Algorithms
Haim Kaplan and Uri Zwick
Lecture 31: Graph-Based Image Segmentation
NP-Completeness Yin Tat Lee
Algorithms (2IL15) – Lecture 7
The Theory of NP-Completeness
Presentation transcript:

A Selective Overview of Graph Cut Energy Minimization Algorithms Ramin Zabih Computer Science Department Cornell University Joint work with Yuri Boykov, Vladimir Kolmogorov and Olga Veksler

Outline Philosophy and motivation 1. Graph cut algorithms 2. Using graph cuts for energy minimization in vision 3. What energy functions can be minimized via graph cuts?

Problem reductions Suppose you’re given a problem you don’t know how to solve Turn it into one that you can solve If any instance of a hard problem can be turned into your problem, then your problem is at least as hard

Given Pixel labeling problem Assignment cost for giving a particular label to a particular node. Written as D. Separation cost for assigning a particular pair of labels to neighboring nodes. Written as V. Labeling Find Such that the sum of the assignment costs and separation costs (the energy E ) is small

We want to minimize the energy E(f) Solving pixel labeling problems Problem show up constantly in vision And in other fields as well Bayesian justification (MRF’s)

Pixel labeling for stereo Labels are shifts (disparities, hence depths) At the right disparity, I 1 (p)  I 2 (p+d) Assignment cost is D(p,d) = (I 1 (p) – I 2 (p+d)) 2 Neighboring pixels should be at similar depths Except at the borders of objects! Stereo

Classical solutions No good solutions until recently General purpose optimization methods Simulated annealing, or some such Bad answers, slowly Local methods Each pixel chooses a label independently Bad answers, fast

How fast do you want the wrong answer? Right answersFast (correlation)Slow (annealing) Fast SlowGraph cuts

What do graph cuts provide? For less interesting V, polynomial algorithm for global minimum! For a particularly interesting V, approximation algorithm Proof of NP hardness For many choices of V, algorithms that find a strong local minimum Very strong experimental results

Part A: Graph Cuts Everything you never wanted to know about cuts and flows (but were afraid to ask)

Maximum flow problem Max flow problem: Each edge is a “pipe” Find the largest flow F of “water” that can be sent from the “source” to the “sink” along the pipes Edge weights give the pipe’s capacity “source” A graph with two terminals S T “sink” a flow F

Minimum cut problem Min cut problem: Find the cheapest way to cut the edges so that the “source” is completely separated from the “sink” Edge weights now represent cutting “costs” a cut C “source” A graph with two terminals S T “sink”

Max flow/Min cut theorem Max Flow = Min Cut: Maximum flow saturates the edges along the minimum cut. Ford and Fulkerson, 1962 Problem reduction! Ford and Fulkerson gave first polynomial time algorithm for globally optimal solution “source” A graph with two terminals S T “sink”

Fast algorithms for min cut Max flow problem can be solved fast Many algorithms, we’ll sketch one This is not at all obvious Variants of min cut are NP-hard Multiway cut problem More than 2 terminals Find lowest cost edges separating them all

“Augmenting Path” algorithms Find a path from S to T along non- saturated edges “source” A graph with two terminals S T “sink” n Increase flow along this path until some edge saturates

“Augmenting Path” algorithms Find a path from S to T along non- saturated edges “source” A graph with two terminals S T “sink” n Increase flow along this path until some edge saturates n Find next path… n Increase flow…

“Augmenting Path” algorithms Find a path from S to T along non- saturated edges “source” A graph with two terminals S T “sink” n Increase flow along this path until some edge saturates Iterate until … all paths from S to T have at least one saturated edge

Implementation notes There are many fast flow algorithms Augmenting paths depends on ordering Breadth first = Edmonds-Karp Vision problems have many short paths Subtleties needed due to directed edges [BK ’04] gives an algorithm especially for vision problems Software is freely available

Part B: Graph cuts in vision How you can turn vision problems into min cut problems for fun and profit (or, not)

A surprising result Minimizing E in vision is difficult Huge search space Many local minima With 2 labels, can find the global min! [Greig, Porteus, Shehult, 1986] Problem reduction to min cut

10 Construction Exactly 1 green link is cut, for every pixel Cuts are labelings Two obvious encodings If two adjacent pixels end up linked to different terminals, the black link between them must be cut Cost of cut is energy of labeling

Smoothness term matters V determines what the solution prefers Consider uniform D Comes from the MRF’s prior Convex V over-penalizes discontinuities |d1 – d2| Non-convex V is important T[d 1 != d 2 ], called the Potts model min(|d1 - d2|,K)

Why is the problem hard? Minimizing the energy for the interesting choices of V is NP-hard Problem reduction from multiway cut Result is somewhat recent [BV&Z ’01] Requires exponential search Dimension = number of pixels

Convex V is easy Graph cuts can rapidly compute the global minimum Convex V, contiguous integer labels [Ishikawa ’04] Another amazing result Not of practical interest (IMHO) You can really see the over-smoothing

Local minima and moves A local minimum is all we can hope for For the important class of V Minimum relative to a set of moves Better than any “nearby” solution We will compute a local minimum with respect to very powerful moves

Starting point Green-yellow swap move Red expansion move

Swap move algorithm 1. Start with an arbitrary labeling 2. Cycle through every label pair ( ,  ) in some order 2.1 Find the lowest E labeling within a single ,  -swap 2.2 Go there if this has lower E than the current labeling 3. If E did not decrease in the cycle, we’re done. Otherwise, go to step 2

Expansion move algorithm 1. Start with an arbitrary labeling 2. For each label  in some order 2.1 Find the lowest E labeling within a single  - expansion 2.2 Go there if this has lower E than the current labeling 3. If E did not decrease in the cycle, we’re done. Otherwise, go to step 2

Algorithm properties In a cycle the energy E doesn’t increase These are greedy methods Convergence guaranteed in O(n) cycles In practice, termination occurs in a few cycles When the algorithms converge, the resulting labeling is a local minimum Even when allowing an arbitrary swap move or expansion move

Strong local minima A local minimum with respect to these moves is the best answer in a very large neighborhood For example, there are O(k 2 n ) labelings within a single expansion move Starting at an arbitrary labeling, you can get to the global minimum in k expansion moves The expansion move algorithm yields a 2- approximation for Potts model V

Binary sub-problem The input problem involves k labels, but the key sub-problem involves only 2 Minimize E over all O(2 n ) labelings within a single  -expansion move from f Each pixel p either keeps its old label f p, or acquire the new label  Classical problem reduction To min cut problem

Part C: What energy functions can graph cuts minimize? Or, what else can we do with this?

Different D example Birchfield-Tomasi method Compute an intensity interval Use this as basis for D(p,d) Handles sampling error

Different V example Stereo Image : White rectangle moves one pixel, background is stationary

Cuts are binary labelings 1 B vpvp DC A vqvq 0 vrvr E GF

Recent progress Over the last 4 years several such problem reductions have been done Graph constructions have been specialized to a particular E, and quite complex You can’t tell by looking at E whether such a construction is possible, let alone how to do it We now have a much more general result for energy functions of binary-valued variables Graph cuts invariably use binary variables

Energy functions and graphs Consider E which assigns to any cut (binary labeling) the cost of that cut Computing the min cut on G is a fast way to find the labeling that minimizes E We will say that G represents E Every weighted graph with two terminals represents some energy function What we really want is to go in the opposite direction!

Basic questions For what energy functions E can we construct a graph G that represents E ? I.e., what energy functions can we efficiently minimize using graph cuts? How can we easily construct the graph G that represents E ? I.e., given an arbitrary E that we know to be graph-representable, how do we find G ?

Question #1 What class of energy functions can we efficiently minimize using graph cuts?

The classes F2 and F3 Consider functions of n binary variables Functions in F2 can be written as Functions in F3 can be written as

Regularity All functions E of 1 binary variable are defined to be regular A function E of 2 binary variables is regular if A function E of more than 2 binary variables is regular if all its projections are regular

Regularity theorem A graph-representable function of binary variables must be regular In fact, minimizing an arbitrary non- regular functions in F2 is NP-hard Reduction from independent set problem

F3 Theorem Any regular function in F3 is graph- representable With the regularity theorem, this completely characterizes the energy functions E that can be efficiently minimized with graph cuts Assuming E has no terms with >3 variables

Question #2 Given: an arbitrary graph- representable E Question: How do we find G ?

Desired construction Input: an arbitrary regular E  F3 Output: the graph that represents E

Additivity theorem The sum of two graph-representable energy functions is itself graph- representable Assume that the two graphs are defined on the same sets of vertices, i.e. they differ only in the edge weights We simply add the edge weights together If there is no edge, we can pretend there is one with weight 0

Regrouping theorem Any regular function in F3 can be re- written as the sum of terms, where each term is regular and involves 3 or fewer variables Combined with the additivity theorem, we need only build a graph for an arbitrary regular term involving 3 or fewer variables

Construction for F2 Consider an arbitrary regular E in F2 We only need to look at a single term, whose form is like D(v p ) or V(v p,v q ) Example: expansion moves for stereo We will show how the construction works for both types of terms Each term is known to be regular!

Data terms We need a graph construction that imposes one “penalty” if v p = 0, but another if v p = 1 The “penalty” can be positive or negative!

Rewriting the penalty The penalty Z = E(0) – E(1), imposed iff v p = 0, can be positive or negative But graph has non-negative edge weights!

Not cut iff v p = 0 Case 1: Z > 0 vpvp Z v2v2 0 1 (source) (sink)

Not cut iff v p = 1 Case 2: Z < 0 vpvp -Z v2v2 0 1 (source) (sink)

We will assume A>0, C>0, D-C>0 and construct the appropriate graph The other cases are very similar Smoothness terms

Rewriting the term All the entries are non-negative by assumption except the last Which is non-negative by regularity!

1 0 vpvp A vqvq Not cut iff v p = 0

Not cut iff v p = 1 vpvp 1 0 C vqvq

Not cut iff v q = vpvp D-C vqvq

Not cut iff v q = 1 Not cut iff v p = B+C-A-D vpvp vqvq Non-negative by regularity

Putting it all together 1 B+C-A-D vpvp D-CC A vqvq 0

One of the other cases C 1 0 B+C-A-D vpvp C-D A vqvq

What energy functions? Partial characterization of the energy functions of binary variables that can be minimized with graph cuts General-purpose construction for an arbitrary regular function in F3 It is no longer necessary to explicitly build the graph (do the problem reduction) Instead, simply check the regularity condition and apply our construction

Conclusions Problem reductions are powerful Beware of general-purpose solutions! Special-purpose ones are fragile Graph cuts have both theoretical and practical interest They are now (relatively) easy to use