Probabilistic Inference Lecture 3 M. Pawan Kumar Slides available online

Slides:



Advertisements
Similar presentations
MAP Estimation Algorithms in M. Pawan Kumar, University of Oxford Pushmeet Kohli, Microsoft Research Computer Vision - Part I.
Advertisements

MAP Estimation Algorithms in
Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images)
Algorithms for MAP estimation in Markov Random Fields Vladimir Kolmogorov University College London Tutorial at GDR (Optimisation Discrète, Graph Cuts.
Linear Time Methods for Propagating Beliefs Min Convolution, Distance Transforms and Box Sums Daniel Huttenlocher Computer Science Department December,
Introduction to Markov Random Fields and Graph Cuts Simon Prince
ICCV 2007 tutorial Part III Message-passing algorithms for energy minimization Vladimir Kolmogorov University College London.
Chapter 6 Maximum Flow Problems Flows and Cuts Augmenting Path Algorithm.
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.
Probabilistic Inference Lecture 1
Lectures on Network Flows
Chapter 7 Maximum Flows: Polynomial Algorithms
P 3 & Beyond Solving Energies with Higher Order Cliques Pushmeet Kohli Pawan Kumar Philip H. S. Torr Oxford Brookes University CVPR 2007.
Improved Moves for Truncated Convex Models M. Pawan Kumar Philip Torr.
Stereo & Iterative Graph-Cuts Alex Rav-Acha Vision Course Hebrew University.
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
What Energy Functions Can be Minimized Using Graph Cuts? Shai Bagon Advanced Topics in Computer Vision June 2010.
Relaxations and Moves for MAP Estimation in MRFs M. Pawan Kumar STANFORDSTANFORD Vladimir KolmogorovPhilip TorrDaphne Koller.
Hierarchical Graph Cuts for Semi-Metric Labeling M. Pawan Kumar Joint work with Daphne Koller.
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
MAP Estimation Algorithms in M. Pawan Kumar, University of Oxford Pushmeet Kohli, Microsoft Research Computer Vision - Part I.
Multiplicative Bounds for Metric Labeling M. Pawan Kumar École Centrale Paris École des Ponts ParisTech INRIA Saclay, Île-de-France Joint work with Phil.
Probabilistic Inference Lecture 4 – Part 2 M. Pawan Kumar Slides available online
Computer vision: models, learning and inference
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
Multiplicative Bounds for Metric Labeling M. Pawan Kumar École Centrale Paris Joint work with Phil Torr, Daphne Koller.
Rounding-based Moves for Metric Labeling M. Pawan Kumar Center for Visual Computing Ecole Centrale Paris.
Discrete Optimization Lecture 2 – Part I M. Pawan Kumar Slides available online
Discrete Optimization Lecture 5 – Part 2 M. Pawan Kumar Slides available online
Discrete Optimization Lecture 4 – Part 2 M. Pawan Kumar Slides available online
Graph Cuts Marc Niethammer. Segmentation by Graph-Cuts A way to compute solutions to the optimization problems we looked at before. Example: Binary Segmentation.
Algorithms for MAP estimation in Markov Random Fields Vladimir Kolmogorov University College London.
Discrete Optimization in Computer Vision M. Pawan Kumar Slides will be available online
Discrete Optimization Lecture 3 – Part 1 M. Pawan Kumar Slides available online
1 Markov Random Fields with Efficient Approximations Yuri Boykov, Olga Veksler, Ramin Zabih Computer Science Department CORNELL UNIVERSITY.
Probabilistic Inference Lecture 5 M. Pawan Kumar Slides available online
Machine Learning – Lecture 15
Efficient Discriminative Learning of Parts-based Models M. Pawan Kumar Andrew Zisserman Philip Torr
Lecture 19: Solving the Correspondence Problem with Graph Cuts CAP 5415 Fall 2006.
Approximate Inference: Decomposition Methods with Applications to Computer Vision Kyomin Jung ( KAIST ) Joint work with Pushmeet Kohli (Microsoft Research)
Gaussian Mixture Models and Expectation-Maximization Algorithm.
Discrete Optimization Lecture 2 – Part 2 M. Pawan Kumar Slides available online
Machine Learning – Lecture 15
Inference for Learning Belief Propagation. So far... Exact methods for submodular energies Approximations for non-submodular energies Move-making ( N_Variables.
Probabilistic Inference Lecture 2 M. Pawan Kumar Slides available online
Discrete Optimization Lecture 1 M. Pawan Kumar Slides available online
Pushmeet Kohli. E(X) E: {0,1} n → R 0 → fg 1 → bg Image (D) n = number of pixels [Boykov and Jolly ‘ 01] [Blake et al. ‘04] [Rother, Kolmogorov and.
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.
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.
Network Analysis Maxflow. What is a Network? Directed connected graph Source node Sink (destination node) Arcs are weighted (costs) Represent a system.
MAP Estimation of Semi-Metric MRFs via Hierarchical Graph Cuts M. Pawan Kumar Daphne Koller Aim: To obtain accurate, efficient maximum a posteriori (MAP)
Markov Random Fields in Vision
Rounding-based Moves for Metric Labeling M. Pawan Kumar École Centrale Paris INRIA Saclay, Île-de-France.
Introduction of BP & TRW-S
Submodularity Reading Group Minimum Cut, Dinic’s Algorithm
Markov Random Fields with Efficient Approximations
Lectures on Network Flows
Discrete Inference and Learning
Haim Kaplan and Uri Zwick
Graphical Models and Learning
MAP Estimation of Semi-Metric MRFs via Hierarchical Graph Cuts
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
EE5900 Advanced Embedded System For Smart Infrastructure
Presentation transcript:

Probabilistic Inference Lecture 3 M. Pawan Kumar Slides available online

Recap of lecture 1

Exponential Family P(v) = exp{-Σ α θ α Φ α (v) - A(θ)} Sufficient Statistics Parameters Log-Partition Function Random Variables V = {V 1,V 2,…,V n } Labeling V = v v a  L = {l 1,l 2,…,l h } Random Variable V a takes a value or label v a

Overcomplete Representation P(v) = exp{-Σ α θ α Φ α (v) - A(θ)} Sufficient Statistics Parameters Log-Partition Function There exists a non-zero c such that Σ α c α Φ α (v) = Constant

Pairwise MRF Random Variable V = {V 1, V 2, …,V n } Neighborhood over variables specified by edges E Label set L = {l 1, l 2, …, l h } P(v) = exp{-Σ α θ α Φ α (v) - A(θ)} Sufficient StatisticsParameters I a;i (v a )θ a;i for all V a  V, l i  L θ ab;ik for all (V a,V b )  E, l i, l k  L I ab;ik (v a,v b )

Pairwise MRF Random Variable V = {V 1, V 2, …,V n } Neighborhood over variables specified by edges E Label set L = {l 1, l 2, …, l h } P(v) = exp{-Σ a Σ i θ a;i I a;i (v a ) -Σ a,b Σ i,k θ ab;ik I ab;ik (v a,v b ) - A(θ)} A(θ) : log Z Probability P(v) = Π a ψ a (v a ) Π (a,b) ψ ab (v a,v b ) Z ψ a (l i ) : exp(-θ a;i )ψ a (l i,l k ) : exp(-θ ab;ik ) Parameters θ are sometimes also referred to as potentials

Pairwise MRF Random Variable V = {V 1, V 2, …,V n } Neighborhood over variables specified by edges E Label set L = {l 1, l 2, …, l h } P(v) = exp{-Σ a Σ i θ a;i I a;i (v a ) -Σ a,b Σ i,k θ ab;ik I ab;ik (v a,v b ) - A(θ)} Labeling as a function f : {1, 2, …, n}  {1, 2, …, h} Variable V a takes a label l f(a)

Pairwise MRF Random Variable V = {V 1, V 2, …,V n } Neighborhood over variables specified by edges E Label set L = {l 1, l 2, …, l h } P(f) = exp{-Σ a θ a;f(a) -Σ a,b θ ab;f(a)f(b) - A(θ)} Labeling as a function f : {1, 2, …, n}  {1, 2, …, h} Variable V a takes a label l f(a) Energy Q(f) = Σ a θ a;f(a) + Σ a,b θ ab;f(a)f(b)

Pairwise MRF Random Variable V = {V 1, V 2, …,V n } Neighborhood over variables specified by edges E Label set L = {l 1, l 2, …, l h } P(f) = exp{-Q(f) - A(θ)} Labeling as a function f : {1, 2, …, n}  {1, 2, …, h} Variable V a takes a label l f(a) Energy Q(f) = Σ a θ a;f(a) + Σ a,b θ ab;f(a)f(b)

Inference max v ( P(v) = exp{-Σ a Σ i θ a;i I a;i (v a ) -Σ a,b Σ i,k θ ab;ik I ab;ik (v a,v b ) - A(θ)} ) Maximum a Posteriori (MAP) Estimation min f ( Q(f) = Σ a θ a;f(a) + Σ a,b θ ab;f(a)f(b) ) Energy Minimization P(v a = l i ) = Σ v P(v)δ(v a = l i ) Computing Marginals P(v a = l i, v b = l k ) = Σ v P(v)δ(v a = l i )δ(v b = l k )

Recap of lecture 2

Definitions Energy Minimization f* = arg min Q(f;  ) Q(f;  ) = ∑ a  a;f(a) + ∑ (a,b)  ab;f(a)f(b) Min-marginals q a;i = min Q(f;  ) s.t. f(a) = i Q(f;  ’) = Q(f;  ), for all f  ’   Reparameterization

Belief Propagation Pearl, 1988 General form of Reparameterization  ’ a;i =  a;i  ’ ab;ik =  ab;ik + M ab;k - M ab;k + M ba;i - M ba;i  ’ b;k =  b;k Reparameterization of (a,b) in Belief Propagation M ab;k = min i {  a;i +  ab;ik } M ba;i = 0

Belief Propagation on Trees VbVb VaVa Forward Pass: Leaf  Root All min-marginals are computed Backward Pass: Root  Leaf VcVc VdVd VeVe VgVg VhVh

Computational Complexity Each constant takes O(|L|) Number of constants - O(|E||L|) O(|E||L| 2 ) Memory required ? O(|E||L|)

Belief Propagation on Cycles VaVa VbVb VdVd VcVc  a;0  a;1  b;0  b;1  d;0  d;1  c;0  c;1 Remember my suggestion? Fix the label of V a

Belief Propagation on Cycles VaVa VbVb VdVd VcVc  a;0  b;0  b;1  d;0  d;1  c;0  c;1 Equivalent to a tree-structured problem

Belief Propagation on Cycles VaVa VbVb VdVd VcVc  a;1  b;0  b;1  d;0  d;1  c;0  c;1 Equivalent to a tree-structured problem

Belief Propagation on Cycles Choose the minimum energy solution VaVa VbVb VdVd VcVc  a;0  a;1  b;0  b;1  d;0  d;1  c;0  c;1 This approach quickly becomes infeasible

Vincent Algayres Algorithm VaVa VbVb VdVd VcVc  a;0  b;0  d;0  d;1  c;0  c;1 Compute zero cost paths from all labels of V a to all labels of V d. Requires fixing V a.

Speed-Ups for Special Cases  ab;ik = 0, if i = k = C, otherwise. M ab;k = min i {  a;i +  ab;ik } Felzenszwalb and Huttenlocher, 2004

Speed-Ups for Special Cases  ab;ik = w ab |i-k| M ab;k = min i {  a;i +  ab;ik } Felzenszwalb and Huttenlocher, 2004

Speed-Ups for Special Cases  ab;ik = min{w ab |i-k|, C} M ab;k = min i {  a;i +  ab;ik } Felzenszwalb and Huttenlocher, 2004

Speed-Ups for Special Cases  ab;ik = min{w ab (i-k) 2, C} M ab;k = min i {  a;i +  ab;ik } Felzenszwalb and Huttenlocher, 2004

Lecture 3

Ising Model P(v) = exp{-Σ α θ α Φ α (v) - A(θ)} Random Variable V = {V 1, V 2, …,V n }Label set L = {0, 1} Neighborhood over variables specified by edges E Sufficient StatisticsParameters I a;i (v a )θ a;i for all V a  V, l i  L θ ab;ik for all (V a,V b )  E, l i, l k  L I ab;ik (v a,v b ) I a;i (v a ): indicator for v a = l i I ab;ik (v a,v b ): indicator for v a = l i, v b = l k

Ising Model P(v) = exp{-Σ a Σ i θ a;i I a;i (v a ) -Σ a,b Σ i,k θ ab;ik I ab;ik (v a,v b ) - A(θ)} Random Variable V = {V 1, V 2, …,V n }Label set L = {0, 1} Neighborhood over variables specified by edges E Sufficient StatisticsParameters I a;i (v a )θ a;i for all V a  V, l i  L θ ab;ik for all (V a,V b )  E, l i, l k  L I ab;ik (v a,v b ) I a;i (v a ): indicator for v a = l i I ab;ik (v a,v b ): indicator for v a = l i, v b = l k

Interactive Binary Segmentation Foreground histogram of RGB values FG Background histogram of RGB values BG ‘1’ indicates foreground and ‘0’ indicates background

Interactive Binary Segmentation More likely to be foreground than background

Interactive Binary Segmentation More likely to be background than foreground θ a;0 proportional to -log(BG(d a )) θ a;1 proportional to -log(FG(d a ))

Interactive Binary Segmentation More likely to belong to same label

Interactive Binary Segmentation Less likely to belong to same label θ ab;ik proportional to exp(-(d a -d b ) 2 ) if i ≠ k θ ab;ik = 0 if i = k

Outline Minimum Cut Problem Two-Label Submodular Energy Functions Move-Making Algorithms

Directed Graph n1n1 n2n2 n3n3 n4n Two important restrictions (1) Rational arc lengths (2) Positive arc lengths D = (N, A)

Cut n1n1 n2n2 n3n3 n4n Let N 1 and N 2 such that N 1 “union” N 2 = N N 1 “intersection” N 2 = Φ C is a set of arcs such that (n 1,n 2 )  A n 1  N 1 n 2  N 2 D = (N, A) C is a cut in the digraph D

Cut n1n1 n2n2 n3n3 n4n What is C? D = (N, A) N1N1 N2N2 {(n 1,n 2 ),(n 1,n 4 )} ? {(n 1,n 4 ),(n 3,n 2 )} ? {(n 1,n 4 )} ? ✓

Cut n1n1 n2n2 n3n3 n4n What is C? D = (N, A) N1N1 N2N2 {(n 1,n 2 ),(n 1,n 4 ),(n 3,n 2 )} ? {(n 1,n 4 ),(n 3,n 2 )} ? {(n 4,n 3 )} ? ✓

Cut n1n1 n2n2 n3n3 n4n What is C? D = (N, A) N2N2 N1N1 {(n 1,n 2 ),(n 1,n 4 ),(n 3,n 2 )} ? {(n 1,n 4 ),(n 3,n 2 )} ? {(n 3,n 2 )} ? ✓

Cut n1n1 n2n2 n3n3 n4n Let N 1 and N 2 such that N 1 “union” N 2 = N N 1 “intersection” N 2 = Φ C is a set of arcs such that (n 1,n 2 )  A n 1  N 1 n 2  N 2 D = (N, A) C is a cut in the digraph D

Weight of a Cut n1n1 n2n2 n3n3 n4n Sum of length of all arcs in C D = (N, A)

Weight of a Cut n1n1 n2n2 n3n3 n4n w(C) = Σ (n 1,n 2 )  C l(n 1,n 2 ) D = (N, A)

Weight of a Cut n1n1 n2n2 n3n3 n4n What is w(C)? D = (N, A) N1N1 N2N2 3

Weight of a Cut n1n1 n2n2 n3n3 n4n What is w(C)? D = (N, A) N1N1 N2N2 5

Weight of a Cut n1n1 n2n2 n3n3 n4n What is w(C)? D = (N, A) N2N2 N1N1 15

st-Cut n1n1 n2n2 n3n3 n4n A source “s” C is a cut such that s  N 1 t  N 2 D = (N, A) C is an st-cut s t A sink “t” 12 73

Weight of an st-Cut n1n1 n2n2 n3n3 n4n D = (N, A) s t w(C) = Σ (n 1,n 2 )  C l(n 1,n 2 )

Weight of an st-Cut n1n1 n2n2 n3n3 n4n D = (N, A) s t What is w(C)? 3

Weight of an st-Cut n1n1 n2n2 n3n3 n4n D = (N, A) s t What is w(C)? 15

Minimum Cut Problem n1n1 n2n2 n3n3 n4n D = (N, A) s t Find a cut with the minimum weight !! C* = argmin C w(C)

[Slide credit: Andrew Goldberg] Augmenting Path and Push-Relabel n: #nodes m: #arcs U: maximum arc length Solvers for the Minimum-Cut Problem

Remember … Two important restrictions (1) Rational arc lengths (2) Positive arc lengths

Cut n1n1 n2n2 n3n3 n4n Let N 1 and N 2 such that N 1 “union” N 2 = N N 1 “intersection” N 2 = Φ C is a set of arcs such that (n 1,n 2 )  A n 1  N 1 n 2  N 2 D = (N, A) C is a cut in the digraph D

st-Cut n1n1 n2n2 n3n3 n4n A source “s” C is a cut such that s  N 1 t  N 2 D = (N, A) C is an st-cut s t A sink “t” 12 73

Minimum Cut Problem n1n1 n2n2 n3n3 n4n D = (N, A) s t Find a cut with the minimum weight !! C* = argmin C w(C) w(C) = Σ (n 1,n 2 )  C l(n 1,n 2 )

Outline Minimum Cut Problem Two-Label Submodular Energy Functions Move-Making Algorithms Hammer, 1965; Kolmogorov and Zabih, 2004

Overview Energy Q Digraph D Digraph D One nodes per random variable N = N 1 U N 2 N = N 1 U N 2 Compute Minimum Cut + Additional nodes “s” and “t” Labeling f* Labeling f* n a  N 1 implies f(a) = 0 n a  N 2 implies f(a) = 1

Outline Minimum Cut Problem Two-Label Submodular Energy Functions Unary Potentials Pairwise Potentials Energy Minimization Move-Making Algorithms

Digraph for Unary Potentials VaVa θ a;0 θ a;1 P Q f(a) = 0 f(a) = 1

Digraph for Unary Potentials nana P Q s t f(a) = 0 f(a) = 1

Digraph for Unary Potentials nana P Q s t Let P ≥ Q P-Q 0 Q Q + Constant P-Q f(a) = 0 f(a) = 1

Digraph for Unary Potentials nana P Q s t Let P ≥ Q P-Q 0 Q Q + Constant P-Q f(a) = 1 w(C) = 0 f(a) = 0 f(a) = 1

Digraph for Unary Potentials nana P Q s t Let P ≥ Q P-Q 0 Q Q + Constant P-Q f(a) = 0 w(C) = P-Q f(a) = 0 f(a) = 1

Digraph for Unary Potentials nana P Q s t Let P < Q 0 Q-P P P + Constant Q-P f(a) = 0 f(a) = 1

Digraph for Unary Potentials nana P Q s t Let P < Q 0 Q-P P P + Constant f(a) = 1 w(C) = Q-P Q-P f(a) = 0 f(a) = 1

Digraph for Unary Potentials nana P Q s t Let P < Q 0 Q-P P P + Constant f(a) = 0 w(C) = 0 Q-P f(a) = 0 f(a) = 1

Outline Minimum Cut Problem Two-Label Submodular Energy Functions Unary Potentials Pairwise Potentials Energy Minimization Move-Making Algorithms

Digraph for Pairwise Potentials VaVa θ ab;11 VbVb θ ab;00 θ ab;01 θ ab;10 PR QS f(a) = 0f(a) = 1 f(b) = 0 f(b) = 1 00 Q-P 0S-Q 0 0R+Q-S-P PP PP

Digraph for Pairwise Potentials nana nbnb PR QS f(a) = 0f(a) = 1 f(b) = 0 f(b) = 1 00 Q-P 0S-Q 0 0R+Q-S-P PP PP s t Constant

Digraph for Pairwise Potentials nana nbnb PR QS 00 Q-P 0S-Q 0 0R+Q-S-P s t Unary Potential f(b) = 1 Q-P f(a) = 0f(a) = 1 f(b) = 0 f(b) = 1

Digraph for Pairwise Potentials nana nbnb PR QS 0S-Q 0 0R+Q-S-P 00 + s t Unary Potential f(a) = 1 Q-PS-Q f(a) = 0f(a) = 1 f(b) = 0 f(b) = 1

Digraph for Pairwise Potentials nana nbnb PR QS 0R+Q-S-P 00 s t Pairwise Potential f(a) = 1, f(b) = 0 Q-PS-Q f(a) = 0f(a) = 1 f(b) = 0 f(b) = 1 R+Q-S-P

Digraph for Pairwise Potentials nana nbnb PR QS s t Q-PS-Q f(a) = 0f(a) = 1 f(b) = 0 f(b) = 1 R+Q-S-P R+Q-S-P ≥ 0 General 2-label MAP estimation is NP-hard

Outline Minimum Cut Problem Two-Label Submodular Energy Functions Unary Potentials Pairwise Potentials Energy Minimization Move-Making Algorithms

st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Flow is less than length Flow is non-negative For all nodes expect s,t Incoming flow = Outgoing flow

st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Flow is non-negative For all nodes expect s,t Incoming flow = Outgoing flow flow(n 1,n 2 ) ≤ l(n 1,n 2 )

st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R For all nodes expect s,t Incoming flow = Outgoing flow flow(n 1,n 2 ) ≥ 0 flow(n 1,n 2 ) ≤ l(n 1,n 2 )

st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Incoming flow = Outgoing flow For all a  N \ {s,t} flow(n 1,n 2 ) ≥ 0 flow(n 1,n 2 ) ≤ l(n 1,n 2 )

st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R = Outgoing flow For all a  N \ {s,t} Σ (n,a)  A flow(n,a) flow(n 1,n 2 ) ≥ 0 flow(n 1,n 2 ) ≤ l(n 1,n 2 )

st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R For all a  N \ {s,t} Σ (n,a)  A flow(n,a) = Σ (a,n)  A flow(a,n) flow(n 1,n 2 ) ≥ 0 flow(n 1,n 2 ) ≤ l(n 1,n 2 )

Weight of an st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Outgoing flow of s - Incoming flow of s

Weight of an st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Σ (s,n)  A flow(s,n) - Σ (n,s)  A flow(n,s) = 0

Weight of an st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Σ (s,n)  A flow(s,n)

Weight of an st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Σ (s,n)  A flow(s,n) = Incoming flow of t

Weight of an st-Flow n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Σ (s,n)  A flow(s,n) = Σ (n,t)  A flow(n,t)

Max-Flow Problem n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Find the maximum flow!!

Min-Cut Max-Flow Theorem n1n1 n2n2 n3n3 n4n D = (N, A) s t Function flow: A  R Weight of minimum-cut = Weight of maximum-flow

Max-Flow via Reparameterization !!

Following slides courtesy Pushmeet Kohli

Maxflow Algorithms Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Source Sink n1n1 n2n Algorithms assume non-negative capacity Flow = 0

Maxflow Algorithms Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Source Sink n1n1 n2n Algorithms assume non-negative capacity Flow = 0

Maxflow Algorithms Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Source Sink Algorithms assume non-negative capacity Flow = n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = 2 n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = 2 n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = 2 n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = 6 n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = 6 n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = 7 n1n1 n2n2

Maxflow Algorithms Source Sink Augmenting Path Based Algorithms 1.Find path from source to sink with positive capacity 2.Push maximum possible flow through this path 3.Repeat until no path can be found Algorithms assume non-negative capacity Flow = 7 n1n1 n2n2

History of Maxflow Algorithms [Slide credit: Andrew Goldberg] Augmenting Path and Push-Relabel n: # nodes m: # arcs U: maximum arc length Algorithms assume non- negative arc lengths

History of Maxflow Algorithms [Slide credit: Andrew Goldberg] Augmenting Path and Push-Relabel n: # nodes m: # arcs U: maximum arc length Algorithms assume non- negative arc lengths

Augmenting Path based Algorithms a1a1 a2a Sink Source Ford Fulkerson: Choose any augmenting path

a1a1 a2a Sink Source Augmenting Path based Algorithms Bad Augmenting Paths Ford Fulkerson: Choose any augmenting path

a1a1 a2a Sink Source Augmenting Path based Algorithms Bad Augmenting Path Ford Fulkerson: Choose any augmenting path

a1a1 a2a Sink Source Augmenting Path based Algorithms Ford Fulkerson: Choose any augmenting path

a1a1 a2a Sink Source Ford Fulkerson: Choose any augmenting path n: # nodes m: # arcs We will have to perform 2000 augmentations! Worst case complexity: O (m x Total_Flow) (Pseudo-polynomial bound: depends on flow) Augmenting Path based Algorithms

Dinic: Choose shortest augmenting path n: # nodes m: # arcs Worst case Complexity: O (m n 2 ) Augmenting Path based Algorithms a1a1 a2a Sink Source

Maxflow in Computer Vision Specialized algorithms for vision problems – Grid graphs – Low connectivity (m ~ O(n)) Dual search tree augmenting path algorithm [Boykov and Kolmogorov PAMI 2004] Finds approximate shortest augmenting paths efficiently High worst-case time complexity Empirically outperforms other algorithms on vision problems

Maxflow in Computer Vision Specialized algorithms for vision problems – Grid graphs – Low connectivity (m ~ O(n)) Dual search tree augmenting path algorithm [Boykov and Kolmogorov PAMI 2004] Finds approximate shortest augmenting paths efficiently High worst-case time complexity Empirically outperforms other algorithms on vision problems Efficient code available on the web

Outline Minimum Cut Problem Two-Label Submodular Energy Functions Move-Making Algorithms

Metric Labeling P(v) = exp{-Σ α θ α Φ α (v) - A(θ)} Random Variable V = {V 1, V 2, …,V n } Neighborhood over variables specified by edges E Sufficient StatisticsParameters I a;i (v a )θ a;i for all V a  V, l i  L θ ab;ik for all (V a,V b )  E, l i, l k  L I ab;ik (v a,v b ) θ ab;ik is a metric distance function over labels Label set L = {0, …, h-1}

Metric Labeling P(v) = exp{-Σ a Σ i θ a;i I a;i (v a ) -Σ a,b Σ i,k θ ab;ik I ab;ik (v a,v b ) - A(θ)} Random Variable V = {V 1, V 2, …,V n } Neighborhood over variables specified by edges E Sufficient StatisticsParameters I a;i (v a )θ a;i for all V a  V, l i  L θ ab;ik for all (V a,V b )  E, l i, l k  L I ab;ik (v a,v b ) θ ab;ik is a metric distance function over labels Label set L = {0, …, h-1}

Stereo Correspondence Disparity Map

Stereo Correspondence L = {disparities} Pixel (x a,y a ) in left corresponds to pixel (x a +v a,y a ) in right

Stereo Correspondence L = {disparities} θ a;i is proportional to the difference in RGB values

Stereo Correspondence L = {disparities} θ ab;ik = w ab d(i,k) w ab proportional to exp(-(d a -d b ) 2 )

Move-Making Algorithms Space of All Labelings f

Expansion Algorithm Initialize labeling f = f 0 (say f 0 (a) = 0, for all V a ) For α = 0, 2, …, h-1 End f α = argmin f’ Q(f’) s.t. f’(a)  {f(a)} U {l α } Update f = f α Boykov, Veksler and Zabih, 2001 Repeat until convergence

Expansion Algorithm Variables take label l α or retain current label Slide courtesy Pushmeet Kohli

Expansion Algorithm Sky House Tree Ground Initialize with TreeStatus:Expand GroundExpand HouseExpand Sky Slide courtesy Pushmeet Kohli Variables take label l α or retain current label

Expansion Algorithm Restriction on pairwise potentials? θ ab;ik + θ ab;αα ≤ θ ab;iα + θ ab;αk Metric Labeling