Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London...

47
Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images) Paris, 29 November 2005 Note: these slides contain animation

Transcript of Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London...

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

Primal-dual Algorithmfor Convex Markov Random Fields

Vladimir Kolmogorov

University College London

GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images) Paris, 29 November 2005

Note: these slides contain animation

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

Convex MRF functions

qp

pqpqp

pp xxVxDE,

)()()(x

• Functions Dp(.) , Vpq(.) are convex

• xp[0,…,K-1] (K is # of labels)

• Goal: compute global minimum of E

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

Example: Panoramic image stitching[Levin,Zomet,Peleg,Weiss’04]

• Main idea: gradients of output image x should match gradients of input images

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

),,( 1 nxx x

• Energy function:

– - output image (e.g. xp[0,…,255])

qp

pqpq xxVE,

)()(x

Vpq

xq - xp

0 255-255• Vpq(.) is convex!

Example: Panoramic image stitching[Levin,Zomet,Peleg,Weiss’04]

Page 5: 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 MRF minimisation

• Arbitrary Dp(.), convex Vpq(.)– “Battleship” construction [Ishikawa’03], [Ahuja et al.’04]

• Construct graph with O(nK) nodes

• Minimum cut gives global minimum

– Needs a lot of memory!

• Convex Dp(.), convex Vpq(.)– Dual algorithms (maintain dual variables - flow f)

• [Karzanov et al. ’97], [Ahuja et al. ’03].

• Best complexity is O(n m log (n2/m) log(nK))

– Primal algorithm (maintains primal variables - configuration x)• Iterative min cut [Bioucas-Dias & Valadão’05]

• Advantage: relies on maxflow algorithm

• Complexity?

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

• New results (convex Dp, convex Vpq):

– Establishing complexity of primal algorithm• At most 2K steps

– Extending primal algorithm to primal-dual algorithm• Maintains both primal and dual variables

• Can be speeded up using Dijkstra’s shortest path procedure

• Experimentally much faster than primal algorithm

Algorithms for MRF minimisation

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

Overview of primal algorithm (iterative min cut)

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

label K-1

label 0

label 1

Primal algorithm (iterative min cut)

Graph:

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

label K-1

label 0

label 1

• Start with arbitrary configuration x• Procedure UP:

nE }1,0{)(minarg bbxb

Primal algorithm (iterative min cut)

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

Primal algorithm (iterative min cut)

label K-1

label 0

label 1

bxx :

• Procedure UP:

nE }1,0{)(minarg bbxb

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

label K-1

label 0

label 1

• Procedure DOWN:

nE }1,0{)(minarg bbxb

Primal algorithm (iterative min cut)

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

label K-1

label 0

label 1

bxx :

• Procedure DOWN:

nE }1,0{)(minarg bbxb

Primal algorithm (iterative min cut)

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

label K-1

label 0

label 1

• UP:

Primal algorithm (iterative min cut)

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

label K-1

label 0

label 1

• UP:• DOWN:

Primal algorithm (iterative min cut)

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

label K-1

label 0

label 1

• DOWN:

Primal algorithm (iterative min cut)

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

label K-1

label 0

label 1

• DOWN:• Done!– UP and DOWN do not decrease energy

Primal algorithm (iterative min cut)

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

Discussion• [Bioucas-Dias & Valadão’05]:

– Procedure yields global minimum! • No unary terms Dp, terms Vpq are convex

– Straighforward extension to convex MRF functions• Convex Dp , convex Vpq

– Non-polynomial bound on the number of steps

• [Murota ’00,’03] (steepest descent algorithm)– Procedure yields global minimum for L♮-convex functions

• Convex MRF functions are special case of L♮-convex functions– O(nK) bound on the number of steps

• New result:– Global minimum after at most 2K steps– Holds for L♮-convex functions (including convex MRF functions)

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

Contribution #1: Complexity of primal algorithm

Background

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

Two classes of functions• Consider function E(x) = E(x1,…,xn)

– xp[0,…,K-1]

• Algorithm can be applied to any such function:

UP:

DOWN:

• Question #1: When UP and DOWN can be solved efficiently?

• Question #2: When does it yield global minimum?

bxxbbxb :}1,0{)(minarg nE

bxxbbxb :}1,0{)(minarg nE

Submodular functions

L♮-convex functions

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

Submodular functions

)()()()( yxyxyx EEEE • E is submodular if for all configurations x, y

– “” and “” are component-wise minimum/maximum:

• Definition is extended from binary variables (K=2) to multi-valued variables (K>2)

• Can be minimised in time polynomial in K, n, m– Functions with unary, pairwise and ternary terms:

reduction to min cut/max flow [Kovtun’04]

ppp

ppp

yx

yx

, max)(

, min)(

yx

yx

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

L♮-convex functions

)()(22

yxyxyx

EEEE

• E is L♮-convex if for all configurations x, y

– “” and “” are component-wise round-down and round-up (floor and ceiling)

• Note: in continuous case, E is convex if for all x, y

)()(2

2 yxyx

EEE

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

Submodulariry and L♮-convexity• K=2: submodular functions = L♮-convex functions• K>2: submodular functions L♮-convex functions

• Example: qp

pqpqp

pp xxVxDE,

)()()(x

Dp arbitraryVpq convex

E is submodular

Dp convexVpq convex

E is L♮-convex

D1

x1

D1

x1

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

Contribution #1: Complexity of primal algorithm

for L♮-convex functions

Proof

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

• For configuration x, define +(x), (x)

– 0 +(x), (x) < K

• Prove that UP and DOWN do not increase +(x), (x)

• Prove that if +(x) > 0, then UP will decrease it – Similarly for (x) and DOWN

• Prove that +(x) = (x) = 0 implies that x is a global minimum

Overview

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

Property of submodular functions• Let OPT(E) be the set of global minima of E

• There exists minimal and maximal optimal configurations:

• In general, not true for non-submodular functions! (e.g. Potts interactions)

)( allfor

)(,maxmin

maxmin

EOPT

EOPT

xxxx

xx

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

• Step 1: Let E+ be a restriction of E to configurations y x

Defining +(x)

• Step 3: Define +(x) = || x+ - x ||= max { x+p

- xp }

• Step 2: Let x+ be the minimal optimal configuration of E+

x

x+

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

• Step 1: Let E ¯ be a restriction of E to configurations y x

Defining (x)

• Step 3: Define (x) = || x - x¯ ||= max { xp - x¯p }

• Step 2: Let x¯ be the maximal optimal configuration of E ¯

x

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

Algorithm’s behaviour

(x) = 2

(x) = 3

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

Algorithm’s behaviour

(x) = 1

(x) = 3

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

Algorithm’s behaviour

(x) = 0

(x) = 3

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

Algorithm’s behaviour

(x) = 0

(x) = 2

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

Algorithm’s behaviour

(x) = 0

(x) = 1

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

Algorithm’s behaviour

(x) = 0

(x) = 0

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

Contribution #2: Primal-dual algorithm

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

Primal-dual algorithm• Primal algorithm maintains only primal variables

(configuration x)– Each maxflow problem is solved independently

• Motivation: reuse flow from previous computation

• New primal-dual algorithm– Applies to convex MRF functions

– Maintains both primal variables (configuration x) and dual variables (flow f )

– Upon termination, optimal x and f

– Can be speeded up via Dijkstra’s algorithm

– Experimentally much faster than primal algorithm

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

Flow and reparameterisation

Dp(xp)

xp xqxq-xp

Vpq(xq-xp) Dq(xq)

Dp(xp) + f·xp

xp xqxq-xp

Vpq(xq-xp) + f·(xq-xp) Dp(xp) f·xq

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

Flow and reparameterisation

Dp(xp) + fp·xp

xp xq-xp

Vpq(xq-xp) + fpq·(xq-xp)

• Flow: vector f = { fp , fpq } satisfying antisymmetry and flow conservation constraints

• Any flow defines reparameterisation

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

Optimality conditions

Dp(xp) + fp·xp

xp xq-xp

Vpq(xq-xp) + fpq·(xq-xp)

• ( x, f ) is an optimal primal-dual pair iff

)(min)(

)(min)(

zVxxV

zDxD

pqf

zpqpq

f

pf

zpp

f

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

Primal-dual algorithm• UP:

– MAXFLOW-UP• Construct graph for minimising

E(x + b), b{0,1}n

• Compute maximum flow• Update x and f accordingly

– DIJKSTRA-UP• Update x

• DOWN: similar

nodes

edges

• Algorithm’s property: – Maintains optimality condition for edges

(but not necessarily for nodes)

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

DIJKSTRA-UP• Increase xp until Dp(xp) starts

increasing

• Maintain optimality condition for edges

• Compute maximal such labeling x– Dijkstra’s shortest path algorithm

nodes

edges

• Complexity is preserved (at most 2K steps)

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

Experimental results

input pair

maximaloptimal configuration

minimal optimal configuration

average

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

Experimental results

input pair

maximaloptimal configuration

minimal optimal configuration

average

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

Experimental results

input pair

maximaloptimal configuration

minimal optimal configuration

average

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

Running times

0

20

40

60

80

100

120

140

160

180

1 2 3

secs primal

primal-dual

• Primal• Primal-dual

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

Running times• Initialisation is important

– If x = global minimum, then terminates in 2 steps

• Two-stage process:– Solve the problem in the overlap area

• Small graph

– Use it as initialisation for the full image• Experimentally, second stage takes 3 steps

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

Running times• MCNF (minimum cost network flow, [Goldberg’97])• Primal-dual, 1 stage• Primal-dual, 2 stages

0

5

10

15

20

25

30

35

1 2 3

secs

MCNF

primal-dual, 1stage

primal-dual, 2 stages

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

Conclusions• Complexity of primal algorithm for minimising

L♮-convex functions– Tight bound on the number of steps– Improves bounds of Murota and Bioucas-Dias et al.

• New primal-dual algorithm– Applies to convex MRF functions– Experimentally much faster than primal algorithm– With good initialisation, outperforms MCNF