p 3 & beyond solving energies with higher order cliques pushmeet kohli pawan kumar philip h. s....

58
P 3 & Beyond Solving Energies with Higher Order Cliques Pushmeet Kohli Pawan Kumar Philip H. S. Torr Oxford Brookes University CVPR 2007

Post on 20-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

P3 & BeyondSolving Energies with Higher Order Cliques

Pushmeet Kohli Pawan Kumar Philip H. S. Torr

Oxford Brookes University

CVPR 2007

Energy Functions

Observed Variables

Hidden Variables

MAP Inference

Energy Functions

MAP Inference

Energy Minimization

Energy Functions

• Pairwise Energy Functions

Unary Pairwise

Energy Functions

• Pairwise Energy Functions

Unary Pairwise

Energy Functions

• Pairwise Energy Functions

Unary Pairwise

Efficient Algorithms for Minimization• Message Passing (BP, TRW)• Move Making (Expansion/Swap)

Energy Functions

• Pairwise Energy Functions

Unary Pairwise

Efficient Algorithms for Minimization• Message Passing (BP, TRW)• Move Making (Expansion/Swap)

Restricted Expressive Power!

Energy Functions

• Higher Order Energy Functions

Unary Pairwise Higher order

More expressive than pairwise

FOE: Field of Experts(Roth & Black CVPR05)

Energy Functions

• Higher Order Energy Functions

Unary Pairwise Higher order

• Computationally expensive to minimize!• Exponential Complexity O(LN)

• L = Number of Labels• N = Size of Clique

Minimizing Higher Order Energies

Efficient BP in Higher Order MRFs(Lan, Roth, Huttenlocher & Black, ECCV 06)

• 2x2 clique potentials for Image Denoising• Searched a restricted state space• 16 minutes per iteration

Pairwise MRF Higher order MRFNoisy Image

Energy Functions

• Higher Order Energy Functions

Unary Pairwise Higher order

• Our Method• Move making algorithm

• Can handle cliques of thousand of variables

• Extremely Efficient ( works in seconds)

Talk Outline

• Move making Algorithms

• Solvable Higher Order Potentials

• Moves for the PN Potts Model

• Application: Texture Segmentation

Move Making Algorithms

Solution Space

En

erg

y

Move Making Algorithms

Search Neighbourhood

Current Solution

Optimal Move

Solution Space

En

erg

y

Computing the Optimal Move

Search Neighbourhood

Current Solution

Optimal Move

x

E(x)

xc Transformation function

T

EmMove Energy(t)

Em(t) = E(T(xc, t))

T(xc, t) = xn = xc + t

Computing the Optimal Move

Search Neighbourhood

Current Solution

Optimal Move

E(x)

xc Transformation function

T

EmMove Energy(t)

x

Em(t) = E(T(xc, t))

T(xc, t) = xn = xc + t

Computing the Optimal Move

Search Neighbourhood

Current Solution

Optimal Move

E(x)

xc

Em(t) = E(T(xc, t))

Transformation function

T

EmMove Energy

T(xc, t) = xn = xc + t minimize

t*Optimal Move

(t)

x

Computing the Optimal Move

Search Neighbourhood

Current Solution

Optimal Move

E(x)

xc Transformation function

T

EmMove Energy(t)

x

Key Characteristic: Search Neighbourhood

Bigger the better!

Moves using Graph Cuts

Expansion and Swap Move Algorithm

[Boykov, Veksler, Zabih]• Exponential Move Search Space (Good )• Move encoded by binary vector t• Move Energy

Moves using Graph Cuts

Expansion and Swap Move Algorithm

[Boykov, Veksler, Zabih]• Exponential Move Search Space (Good )• Move encoded by binary vector t• Move Energy

• Optimal move t* in polynomial time

Submodular

Expansion Move

Expansion Transformation• Variables take label or retain current label

• Optimal move can be computed for pairwise potentials which are metric.

[Boykov, Veksler, Zabih]

Expansion Move

Sky

House

Tree

GroundInitialize with Tree

Status:

Expand GroundExpand HouseExpand Sky

[Boykov, Veksler, Zabih]

Swap Move

• Optimal move can be computed for pairwise potentials which are semi-metric.

- Swap Transformation

• Variables labeled can swap their labels

[Boykov, Veksler, Zabih]

Swap Move

Sky

House

Tree

GroundSwap Sky, House

[Boykov, Veksler, Zabih]

Moves for Higher Order Potentials

• Question you should be asking:

Can my higher order potential be solved using α-expansions?

Moves for Higher Order Potentials

• Question you should be asking:

• Show that move energy is submodular for all xc

Can my higher order potential be solved using α-expansions?

Moves for Higher Order Potentials

• Question you should be asking:

• Show that move energy is submodular for all xc

Can my higher order potential be solved using α-expansions?

Not an easy thing to do!

• Form of the Higher Order Potentials

Moves for Higher Order Potentials

Clique Inconsistency function:

Pairwise potential:

xi

xj

xk

xm xl

cSum Form

Max Form

Theoretical Results: Swap

• Move energy is always submodular if

non-decreasing concave.

See paper for proofs

Theoretical Results: Expansion

• Move energy is always submodular if

increasing linear

See paper for proofs

PN Potts Model

PN Potts Model

c

PN Potts Model

c Cost : red

PN Potts Model

c Cost : max

Optimal moves for PN Potts

• Computing the optimal swap move

c

Label 3

Label 4

Label 1Label 2

Optimal moves for PN Potts

• Computing the optimal swap move

c

Label 3

Label 4

Case 1

Not all variables assigned label 1 or 2

Label 1Label 2

Optimal moves for PN Potts

• Computing the optimal swap move

c

Label 3

Label 4

Case 1

Not all variables assigned label 1 or 2

Label 1Label 2

Optimal moves for PN Potts

• Computing the optimal swap move

c

Label 3

Label 4

Case 1

Not all variables assigned label 1 or 2

Label 1Label 2

Optimal moves for PN Potts

• Computing the optimal swap move

c

Label 3

Label 4

Case 1

Not all variables assigned label 1 or 2

Move Energy is independent of tc and can be ignored.

Label 1Label 2

Optimal moves for PN Potts

• Computing the optimal swap move

c

Label 1Label 2 Label 3

Label 4

Case 2

All variables assigned label 1 or 2

Optimal moves for PN Potts

• Computing the optimal swap move

c

Label 3

Label 4

Case 2

All variables assigned label 1 or 2

Can be minimized by solving a st-mincut problem

Label 1Label 2

Solving the Move Energy

Add a constant

This transformation does not effect the solution

Solving the Move Energy

• Computing the optimal swap move

Source

Sink

v1 v2 vn

Ms

Mt

ti = 0 vi Source Set

tj = 1 vj Sink Set

Solving the Move Energy

• Computing the optimal swap move

Case 1: all xi = (vi Source)

Cost:

Source

Sink

v1 v2 vn

Ms

Mt

Solving the Move Energy

• Computing the optimal swap move

v1 v2 vn

Ms

MtCost:

Source

Sink

Case 2: all xi = (vi Sink)

Solving the Move Energy

• Computing the optimal swap move

Cost:

v1 v2 vn

Ms

Mt

Source

Sink

Case 3: all xi = (vi Source, Sink)

Optimal moves for PN Potts

• The expansion move energy

• Similar graph construction.

See paper for details

Experimental Results

Unary(Colour)

Pairwise(Smoothness)

Higher Order(Texture)

Original Image

• Texture Segmentation

Experimental Results

• Texture Segmentation

Unary(Colour)

Pairwise(Smoothness)

Higher Order(Texture)

Colour HistogramUnary Cost: Tree

Experimental Results

• Texture Segmentation

Unary(Colour)

Pairwise(Smoothness)

Higher Order(Texture)

Edge Sensitive Smoothness Cost

Experimental Results

• Texture Segmentation

Unary(Colour)

Pairwise(Smoothness)

Higher Order(Texture)

Expansion Solution

Higher Order Texture Potentials

Patch Dictionary (Tree)

5x5 patches

Higher Order Texture Potentials

Patch Dictionary (Tree)

G (c,ps): L1 distance between patch ps and

pixel set

Experimental Results

• Texture Segmentation

Unary(Colour)

Pairwise(Smoothness)

Higher Order(Texture)

Original Pairwise Higher order

Experimental Results

Original Swap (3.2 sec)

Expansion (2.5 sec)

Pairwise Higher Order

Swap (4.2 sec)

Expansion (3.0 sec)

Experimental Results

Original

Pairwise Higher Order

Swap (4.7 sec)

Expansion (3.7sec)

Swap (5.0 sec)

Expansion (4.4 sec)

Conclusions & Future Work

• Efficient minimization of certain higher order energies

• Can handle very large cliques

• Allows more expressive functions

• Explore other interesting family of potential functions

Thanks

• Questions?