630 likes | 745 Views
S T A N F O R D. Relaxations and Moves for MAP Estimation in MRFs. M. Pawan Kumar. Vladimir Kolmogorov. Philip Torr. Daphne Koller. Our Problem. 0. 6. 1. 3. 2. 0. 4. Label l 2. 1. 2. 4. 1. 1. 3. Label l 1. 1. 0. 5. 0. 3. 7. 2. v 1. v 2. v 3. v 4.
E N D
S T A N F O R D Relaxations and Moves forMAP Estimation in MRFs M. Pawan Kumar Vladimir Kolmogorov Philip Torr Daphne Koller
Our Problem 0 6 1 3 2 0 4 Label l2 1 2 4 1 1 3 Label l1 1 0 5 0 3 7 2 v1 v2 v3 v4 Random Variables V = {v1, ... ,v4} Label Set L = {l1, l2} Labeling f: V L (shown in red)
Our Problem 0 6 1 3 2 0 4 Label l2 1 2 4 1 1 3 Label l1 1 0 5 0 3 7 2 v1 v2 v3 v4 Random Variables V = {v1, ... ,v4} Label Set L = {l1, l2} Labeling f: V L (shown in red) Energy of Labeling E(f) = 13 (shown in green)
Our Problem 0 6 1 3 2 0 4 Label l2 1 2 4 1 1 3 Label l1 1 0 5 0 3 7 2 v1 v2 v3 v4 Find f* = argminf E(f) Arbitrary topology, discrete label set, potentials (NP-hard) Pairwise energy function: unary and pairwise potentials (still NP-hard)
Outline • Convex Relaxations • Integer Programming Formulation • LP Relaxation • SDP Relaxation • SOCP Relaxation • Comparing Relaxations • Move Making Algorithms • Some Interesting Open Problems
Cost of v1 = 2 Cost of v1 = 1 Integer Programming Formulation 2 0 4 Unary Potentials Label l2 1 3 Label l1 5 0 2 v1 v2 Labeling f shown in red ; 2 4 ] 2 Unary Potential u = [ 5
v1= 2 v1 1 Integer Programming Formulation 2 0 4 Unary Potentials Label l2 1 3 Label l1 5 0 2 v1 v2 Labeling f shown in red ; 2 4 ] 2 Unary Potential u = [ 5 Label vector x = [ -1 1 ; 1 -1 ]T Recall that the aim is to find the optimal x
Integer Programming Formulation 2 0 4 Unary Potentials Label l2 1 3 Label l1 5 0 2 v1 v2 Labeling f shown in red ; 2 4 ] 2 Unary Potential u = [ 5 Label vector x = [ -1 1 ; 1 -1 ]T 1 Sum of Unary Potentials = ∑iui (1 + xi) 2
Pairwise Potential P Cost of v1 = 1 and v1 = 1 0 Cost of v1 = 1 and v2 = 1 0 0 1 0 Cost of v1 = 1 and v2 = 2 0 1 0 0 3 0 0 0 Integer Programming Formulation 2 0 4 Pairwise Potentials Label l2 1 3 Label l1 5 0 2 v1 v2 Labeling f shown in red 0 3 0
Pairwise Potential P 0 0 0 1 0 0 1 0 0 3 0 0 0 Integer Programming Formulation 2 0 4 Pairwise Potentials Label l2 1 3 Label l1 5 0 2 v1 v2 Labeling f shown in red Sum of Pairwise Potentials 1 ∑ijPij (1 + xi)(1+xj) 0 3 0 4
Pairwise Potential P 0 0 0 1 0 1 = ∑ijPij (1 + xi + xj + Xij) 4 0 1 0 0 3 0 0 0 Integer Programming Formulation 2 0 4 Pairwise Potentials Label l2 1 3 Label l1 5 0 2 v1 v2 Labeling f shown in red Sum of Pairwise Potentials 1 ∑ijPij (1 + xi +xj + xixj) 0 3 0 4 X = x xT Xij = xi xj
Uniqueness Constraint ∑ xi = 2 - |L| i va Integer Programming Formulation Constraints • Integer Constraints xi{-1,1} X = x xT
∑ xi = 2 - |L| i va Non-Convex Integer Programming Formulation 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 Convex xi{-1,1} X = x xT
Outline • Convex Relaxations • Integer Programming Formulation • LP Relaxation • SDP Relaxation • SOCP Relaxation • Comparing Relaxations • Move Making Algorithms • Some Interesting Open Problems
∑ xi = 2 - |L| i va LP Relaxation Schlesinger, 1976 Retain Convex Part 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 Relax Non-Convex Constraint xi{-1,1} X = x xT
∑ xi = 2 - |L| i va LP Relaxation Schlesinger, 1976 Retain Convex Part 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 xi[-1,1] Relax Non-Convex Constraint X = x xT
∑ Xij = (2 - |L|) xi j vb LP Relaxation Schlesinger, 1976 X = x xT Xij[-1,1] 1 + xi + xj + Xij≥ 0
∑ xi = 2 - |L| i va LP Relaxation Schlesinger, 1976 Retain Convex Part 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 xi[-1,1] Relax Non-Convex Constraint X = x xT
∑ xi = 2 - |L| i va ∑ Xij = (2 - |L|) xi j vb LP Relaxation Schlesinger, 1976 Retain Convex Part 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 xi[-1,1], Xij[-1,1] 1 + xi + xj + Xij≥ 0
Outline • Convex Relaxations • Integer Programming Formulation • LP Relaxation • SDP Relaxation • SOCP Relaxation • Comparing Relaxations • Move Making Algorithms • Some Interesting Open Problems
∑ xi = 2 - |L| i va SDP Relaxation Lasserre, 2000 Retain Convex Part 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 Relax Non-Convex Constraint xi{-1,1} X = x xT
∑ xi = 2 - |L| i va SDP Relaxation Lasserre, 2000 Retain Convex Part 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 xi[-1,1] Relax Non-Convex Constraint X = x xT
1 xT = x X Non-Convex SDP Relaxation . . . 1 1 x1 x2 xn x1 x2 . . . xn Xii = 1 Convex Positive Semidefinite Rank = 1
1 xT = x X Convex SDP Relaxation . . . 1 1 x1 x2 xn x1 x2 . . . xn Xii = 1 Positive Semidefinite
∑ xi = 2 - |L| i va SDP Relaxation Lasserre, 2000 Retain Convex Part 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 xi[-1,1] Relax Non-Convex Constraint X = x xT
∑ xi = 2 - |L| i va X - xxT 0 SDP Relaxation Lasserre, 2000 Retain Convex Part 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 xi[-1,1] Positive Semidefinite Xii = 1 Inefficient Accurate
Outline • Convex Relaxations • Integer Programming Formulation • LP Relaxation • SDP Relaxation • SOCP Relaxation • Comparing Relaxations • Move Making Algorithms • Some Interesting Open Problems
∑ xi = 2 - |L| i va X - xxT 0 Derive SOCP relaxation from the SDP relaxation SOCP Relaxation 1 1 ∑ Pij (1 + xi + xj + Xij) x* = argmin + ∑ ui (1 + xi) 4 2 xi[-1,1] Xii = 1 Further Relaxation
Choose a matrix C1 = UUT 0 Choose a matrix C2 = UUT 0 SOCP Relaxation Kim and Kojima, 2000 Choose a sub-graph G Variables xG and XG C1 (XG - xGxGT) ≥ 0 REPEAT
Outline • Convex Relaxations • Integer Programming Formulation • LP Relaxation • SDP Relaxation • SOCP Relaxation • Comparing Relaxations • Move Making Algorithms • Some Interesting Open Problems
Dominating Relaxation ≥ A B For all MAP Estimation problem (u, P) A dominates B Dominating relaxations are better
Choose a matrix C1 = UUT 0 SOCP Relaxation Kim and Kojima, 2000 Choose a sub-graph G Variables xG and XG C1 (XG - xGxGT) ≥ 0 If G is a tree, LP dominates SOCP
Examples Muramatsu and Suzuki, 2003 (MAXCUT) Ravikumar and Lafferty, 2006 (QP Relaxation) Kumar, Torr and Zisserman, 2006 (Equivalent SOCP Relaxation)
Choose a matrix C1 = UUT 0 SOCP Relaxation Kim and Kojima, 2000 Choose a sub-graph G Variables xG and XG C1 (XG - xGxGT) ≥ 0 If G is a cycle with non-negative P
Choose a matrix C1 = UUT 0 SOCP Relaxation Kim and Kojima, 2000 Choose a sub-graph G Variables xG and XG C1 (XG - xGxGT) ≥ 0 If G is an even cycle with non-positive P
Choose a matrix C1 = UUT 0 SOCP Relaxation Kim and Kojima, 2000 Choose a sub-graph G Variables xG and XG C1 (XG - xGxGT) ≥ 0 If G is an odd cycle with 1 non-positive P
SOCP Relaxation Kumar, Kolmogorov and Torr, 2007 What about other cycles? Dominated by linear cycle inequalities Cliques? Dominated by clique inequalities
Outline • Convex Relaxations • Move Making Algorithms • State of the Art • Comparison with LP Relaxation • Improved Moves • Some Interesting Open Problems
MRFs in Vision lk Pab(i,k) Pab(i,k) = wab min{ d(i-k), M } li wab is non-negative d(.) is a semi-metric distance ub(k) ua(i) vb va Truncated Linear Truncated Quadratic
Current Solution Search Neighbourhood Optimal Move Move Making Energy Solution Space Slide courtesy of Pushmeet Kohli
Outline • Convex Relaxations • Move Making Algorithms • State of the Art • Comparison with LP Relaxation • Improved Moves • Some Interesting Open Problems
Expansion Move Variables take label or retain current label Boykov, Veksler, Zabih 2001 Slide courtesy of Pushmeet Kohli
Expansion Move Variables take label or retain current label Tree Ground House Status: Initialize with Tree Expand Ground Expand House Expand Sky Sky Boykov, Veksler, Zabih 2001 Slide courtesy of Pushmeet Kohli [Boykov, Veksler, Zabih]
Outline • Convex Relaxations • Move Making Algorithms • State of the Art • Comparison with LP Relaxation • Improved Moves • Some Interesting Open Problems
Multiplicative Bounds Expansion Bounds as bad as ICM Bounds 2 2 2 + √2 2M O(√M) 2M O(log h) 2M
Outline • Convex Relaxations • Move Making Algorithms • State of the Art • Comparison with LP Relaxation • Improved Moves • Some Interesting Open Problems
Randomized Rounding yi = (1 + xi)/2 y’i = y0 + y1 + … + yi 0 y’0 y’i y’k y’h = 1 Choose an interval of length L’
Randomized Rounding yi = (1 + xi)/2 y’i = y0 + y1 + … + yi r 0 y’0 y’i y’k y’h = 1 Generate a random number r (0,1]
Randomized Rounding yi = (1 + xi)/2 y’i = y0 + y1 + … + yi r 0 y’0 y’i y’k y’h = 1 Assign label next to r (if within the interval)
Move Making • Initialize the labeling • Choose interval I of L’ labels • Each variable can • Retain old label • Choose a label from I • Choose best labeling va vb Iterate over intervals Non-submodular move? Submodular overestimation