Graph-Cut Algorithm with Application to Computer Vision Presented by Yongsub Lim Applied Algorithm Laboratory.

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

Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
Max Flow Problem Given network N=(V,A), two nodes s,t of V, and capacities on the arcs: uij is the capacity on arc (i,j). Find non-negative flow fij for.
Introduction to Markov Random Fields and Graph Cuts Simon Prince
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
EMIS 8374 Vertex Connectivity Updated 20 March 2008.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
Global Flow Optimization (GFO) in Automatic Logic Design “ TCAD91 ” by C. Leonard Berman & Louise H. Trevillyan CAD Group Meeting Prepared by Ray Cheung.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
Graph-Based Image Segmentation
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
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)
Introduction To Algorithms CS 445 Discussion Session 8 Instructor: Dr Alon Efrat TA : Pooja Vaswani 04/04/2005.
The Maximum Network Flow Problem. CSE Network Flows.
Lectures on Network Flows
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
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.
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
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.
Computer vision: models, learning and inference
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2004 Lecture 5 Wednesday, 10/6/04 Graph Algorithms: Part 2.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
CSEP 521 Applied Algorithms
Daniel Baldwin COSC 494 – Graph Theory 4/9/2014 Definitions History Examplse (graphs, sample problems, etc) Applications State of the art, open problems.
Fast Approximate Energy Minimization via Graph Cuts
Advanced Algorithms Piyush Kumar (Lecture 4: MaxFlow MinCut Applications) Welcome to COT5405.
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
Modeling and Evaluation with Graph Mohammad Khalily Dermany Islamic Azad University, Khomein branch.
CSE 421 Algorithms Richard Anderson Lecture 24 Network Flow Applications.
Graph Cuts Marc Niethammer. Segmentation by Graph-Cuts A way to compute solutions to the optimization problems we looked at before. Example: Binary Segmentation.
Parametric Max-Flow Algorithms for Total Variation Minimization W.Yin (Rice University) joint with D.Goldfarb (Columbia), Y.Zhang (Rice), Y.Wang (Rice)
 Rooted tree and binary tree  Theorem 5.19: A full binary tree with t leaves contains i=t-1 internal vertices.
Network Flow. Network flow formulation A network G = (V, E). Capacity c(u, v)  0 for edge (u, v). Assume c(u, v) = 0 if (u, v)  E. Source s and sink.
Max Flow – Min Cut Problem. Directed Graph Applications Shortest Path Problem (Shortest path from one point to another) Max Flow problems (Maximum material.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
Algorithm Design and Analysis (ADA)
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.
CSCI 256 Data Structures and Algorithm Analysis Lecture 20 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
CSEP 521 Applied Algorithms Richard Anderson Lecture 8 Network Flow.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
Markov Random Fields in Vision
Approximation Algorithms Duality My T. UF.
Maximum Flow Problem Definitions and notations The Ford-Fulkerson method.
CS 312: Algorithm Design & Analysis Lecture #29: Network Flow and Cuts This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported.
5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string.
The Maximum Network Flow Problem
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
Lectures on Network Flows
Richard Anderson Lecture 23 Network Flow
Lecture 22 Network Flow, Part 2
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 23 Network Flow
R. Johnsonbaugh Discrete Mathematics 5th edition, 2001
Richard Anderson Lecture 21 Network Flow
Lecture 21 Network Flow, Part 1
Richard Anderson Lecture 22 Network Flow
Lecture 21 Network Flow, Part 1
Lecture 22 Network Flow, Part 2
Richard Anderson Lecture 22 Network Flow
Presentation transcript:

Graph-Cut Algorithm with Application to Computer Vision Presented by Yongsub Lim Applied Algorithm Laboratory

Contents Image Labeling Problem Maxflow-Mincut Theorem (remind) Energy Minimization Problem –Graph Construction Conclusion Our Related Work Applied Algorithm Laboratory, KAIST 2

Image Labeling Problem We want to identify an object in an image It can be done by labeling a binary value, 0 or 1, to each pixel The goal is to find a labeling minimizing an energy function defined on an image, it is generally NP-Hard Applied Algorithm Laboratory, KAIST 3

Image Labeling Problem Applied Algorithm Laboratory, KAIST 4

Maxflow-Mincut Theorem Given a directed graph Definition (Graph-Cut). Two disjoint subsets of nodes such that s-t cut has a node s in S and t in T Min-cut is a cut minimizing the capacity Applied Algorithm Laboratory, KAIST 5

Maxflow-Mincut Theorem Definition (Flow Network). A directed graph with a source and a sink where an edge has nonnegative capacity Definition (Flow). A real-valued function that satisfies the following constraints –Capacity Constraint: for all –Skew Symmetry: for all –Flow Conservation: for all Applied Algorithm Laboratory, KAIST 6 where s is a source and t is a sink

Maxflow-Mincut Theorem ts 1/2 2/5 0/4 2/2 1/5 0/3 3/3 Applied Algorithm Laboratory, KAIST 7

Maxflow-Mincut Theorem The value of,, is Maxflow-Mincut Theorem. If is a maximum flow, where is a s-t min-cut Thus, we can find a min-cut in graphs by solving the max-flow problem Applied Algorithm Laboratory, KAIST 8

Maxflow-Mincut Theorem s t This line determines min-cut and max- flow, too Applied Algorithm Laboratory, KAIST 9

Energy Minimization Problem To minimize an energy function defined on a pixel-grid graph Definition (Submodular). is a submodular function if Applied Algorithm Laboratory, KAIST 10

Energy Minimization Problem When all pairwise functions ‘s are submodular, we can find a labeling minimizing by a Min-Cut of the graph Applied Algorithm Laboratory, KAIST 11 all of these are submodular

Energy Minimization Problem Applied Algorithm Laboratory, KAIST Min-Cut

Energy Minimization Problem Our goal is to find a binary labeling minimizing an energy function defined on a pixel-grid graph An labeling minimizing an energy function is found using a min-cut By Maxflow-Mincut theorem, we can compute a min-cut using the max-flow algorithm Applied Algorithm Laboratory, KAIST 13

Graph Construction Remaining is how we construct a graph from given an energy function and an image We should define sets of nodes and edges, and weights of edges Applied Algorithm Laboratory, KAIST 14

Graph Construction A set of nodes –Nodes each of which corresponds to each pixel, a source and a sink A set of edges –If two pixels are adjacent, there is a bidirectional edge between corresponding nodes –Edges from a source to all nodes except a sink –Edges from all nodes except a source to a sink Applied Algorithm Laboratory, KAIST 15

Graph Construction Applied Algorithm Laboratory, KAIST 16 s t

Graph Construction Defining weights Assume that there is a two-pixel image Applied Algorithm Laboratory, KAIST 17

Graph Construction Applied Algorithm Laboratory, KAIST 18

Graph Construction Applied Algorithm Laboratory, KAIST 19 s t 1

Graph Construction Applied Algorithm Laboratory, KAIST 20 s t 1 2

Graph Construction Applied Algorithm Laboratory, KAIST 21 3 s t 1 2 4

Graph Construction Applied Algorithm Laboratory, KAIST 22 s t

Graph Construction Applied Algorithm Laboratory, KAIST 23 Note that Now, we can embed all terms of an energy function to a graph as weights

Graph Construction Finally we get the following graph Applied Algorithm Laboratory, KAIST 24 s t cd ab e f

Graph Construction We need two verifications We should verify that the capacity of a s-t min- cut is same with the minimum energy And that all weights are non-negative for the max-flow algorithm Applied Algorithm Laboratory, KAIST 25

Graph Construction Applied Algorithm Laboratory, KAIST 26 s t The graph, which we construct, has a s-t min-cut capacity same with the minimum of an energy function

Graph Construction Applied Algorithm Laboratory, KAIST 27 s t The graph, which we construct, has a s-t min-cut capacity same with the minimum of an energy function

Graph Construction Applied Algorithm Laboratory, KAIST 28 s t 11 The graph, which we construct, has a s-t min-cut capacity same with the minimum of an energy function

Graph Construction Applied Algorithm Laboratory, KAIST 29 s t 11 The graph, which we construct, has a s-t min-cut capacity same with the minimum of an energy function

Graph Construction Applied Algorithm Laboratory, KAIST 30 s t The graph, which we construct, has a s-t min-cut capacity same with the minimum of an energy function

Graph Construction Applied Algorithm Laboratory, KAIST 31 s t 01 The graph, which we construct, has a s-t min-cut capacity same with the minimum of an energy function

Graph Construction Applied Algorithm Laboratory, KAIST 32 s t 01 The graph, which we construct, has a s-t min-cut capacity same with the minimum of an energy function

Graph Construction Are all weights non-negative? First, weights from unary terms may negative It does not change a minimum labeling even if we add a constant term to the energy function Applied Algorithm Laboratory, KAIST 33

Graph Construction Applied Algorithm Laboratory, KAIST 34 s t cd ab e f b or d is negative

Graph Construction Second, weights from pairwise terms are always non-negative because of the submodularity Applied Algorithm Laboratory, KAIST 35

Graph Construction Applied Algorithm Laboratory, KAIST 36

Graph Construction Applied Algorithm Laboratory, KAIST 37 ∴ All of weights from pairwise terms are always non-negative

Graph Construction All of weights are non-negative We can compute a min-cut through Maxflow- Mincut Theorem And obtain a labeling minimizing an energy function Applied Algorithm Laboratory, KAIST 38 s t cd ab e f

Conclusion Given an energy function defined on an image Minimizing is generally NP-Hard For the class of energy functions whose pairwise functions are all submodular, we can compute a minimum labeling through a graph min-cut in polynomial time Applied Algorithm Laboratory, KAIST 39

Our Related Work We want a minimum labeling with fixed 1’s –Label count = # of 1’s labeled Previous work computes minimum labeling for some label counts Our recent work computes approximate minimum labeling for almost all label counts (submitted to CVPR10) Applied Algorithm Laboratory, KAIST 40

Our Related Work Applied Algorithm Laboratory, KAIST 41 originalNo decomposition 3x3 decomposition 5x5 decomposition Used image is of size 300x300.Results for label count

Our Related Work Applied Algorithm Laboratory, KAIST 42 No decomposition3x3 decomposition5x5 decomposition The average energy value The number of label counts

Q&A Applied Algorithm Laboratory, KAIST 43

Thanks Applied Algorithm Laboratory, KAIST 44