Dynamic programming - review Josef Sivic - - PowerPoint PPT Presentation

dynamic programming review
SMART_READER_LITE
LIVE PREVIEW

Dynamic programming - review Josef Sivic - - PowerPoint PPT Presentation

Reconnaissance dobjets et vision artificielle 2009 Dynamic programming - review Josef Sivic http://www.di.ens.fr/~josef Equipe-projet WILLOW, ENS/INRIA/CNRS UMR 8548 Laboratoire dInformatique, Ecole Normale Suprieure, Paris Many slides


slide-1
SLIDE 1

Dynamic programming - review

Josef Sivic

http://www.di.ens.fr/~josef Equipe-projet WILLOW, ENS/INRIA/CNRS UMR 8548 Laboratoire d’Informatique, Ecole Normale Supérieure, Paris Many slides from: A. Zisserman

Reconnaissance d’objets et vision artificielle 2009

slide-2
SLIDE 2

Dynamic programming

  • Discrete optimization
  • Each variable x has a finite number of possible states
  • Applies to problems that can be decomposed into a

sequence of stages

  • Each stage expressed in terms of results of fixed number
  • f previous stages
  • The cost function need not be convex
  • The name “dynamic” is historical
  • Also called the “Viterbi” algorithm
slide-3
SLIDE 3

Consider a cost function of the form where xi can take one of h values e.g. h=5, n=6 x1 x2 x3 x4 x5 x6 find shortest path Complexity of minimization:

  • exhaustive search O(hn)
  • dynamic programming O(nh2)

trellis

slide-4
SLIDE 4

Example 1

closeness to measurements smoothness

d i x i

slide-5
SLIDE 5

Motivation: complexity of stereo correspondence

Objective: compute horizontal displacement for matches between left and right images

slide-6
SLIDE 6

x1 x2 x3 x4 x5 x6 Key idea: the optimization can be broken down into n sub-optimizations

slide-7
SLIDE 7

x1 x2 x3 x4 x5 x6

slide-8
SLIDE 8

Viterbi Algorithm

Complexity O(nh2)

slide-9
SLIDE 9

Example 2 Note, f(x) is not convex i d i x

slide-10
SLIDE 10

Note

This type of cost function often arises in MAP estimation

measurements

Bayes’ rule

e.g. for Gaussian measurement errors, and first order smoothness

Use negative log to obtain a cost function of the form

from likelihood from prior

slide-11
SLIDE 11

Where can DP be applied?

Example Applications:

  • 1. Text processing: String edit distance
  • 2. Speech recognition: Dynamic time warping
  • 3. Computer vision: Stereo correspondence
  • 4. Image manipulation: Image re-targeting
  • 5. Bioinformatics: Gene alignment

Dynamic programming can be applied when there is a linear

  • rdering on the cost function (so that partial minimizations

can be computed).

slide-12
SLIDE 12

Application I: string edit distance

The edit distance of two strings, s1 and s2, is the minimum number of single character mutations required to change s1 into s2, where a mutation is one of:

  • 1. substitute a letter ( kat  cat ) cost = 1
  • 2. insert a letter ( ct  cat ) cost = 1
  • 3. delete a letter ( caat  cat ) cost = 1

Example: d( opimizateon, optimization )

  • p imizateon

|| |||||||||

  • ptimization

|||||||||||| cciccccccscc d(s1,s2) = 2 ‘c’ = copy, cost = 0

slide-13
SLIDE 13

Complexity

  • for two strings of length m and n, exhaustive search has

complexity O( 3m+n )

  • dynamic programming reduces this to O( mn )
slide-14
SLIDE 14

Using string edit distance for spelling correction

1. Check if word w is in the dictionary D 2. If it is not, then find the word x in D that minimizes d(w, x) 3. Suggest x as the corrected spelling for w Note: step 2 appears to require computing the edit distance to all words in D, but this is not required at run time because edit distance is a metric, and this allows efficient search.

slide-15
SLIDE 15

audio log(STFT) time

short term Fourier transform

sample template

Application II: Dynamic Time Warp (DTW)

Objective: temporal alignment of a sample and template speech pattern

frequency (Hz) warp to match `columns’ of log(STFT) matrix

slide-16
SLIDE 16

Application II: Dynamic Time Warp (DTW)

is time shift of i th column

quality of match cost of allowed moves

template s a m p l e (1, 0) (0, 1) (1, 1)

slide-17
SLIDE 17

Application III: stereo correspondence

Objective: compute horizontal displacement for matches between left and right images

slide-18
SLIDE 18

Application III: stereo correspondence

Objective: compute horizontal displacement for matches between left and right images

quality of match uniqueness, smoothness

is spatial shift of i th pixel

slide-19
SLIDE 19

left image band right image band normalized cross correlation(NCC)

1 0.5

x

NCC of square image regions at offset (disparity) x

slide-20
SLIDE 20
slide-21
SLIDE 21
  • Arrange the raster intensities on

two sides of a grid

  • Crossed dashed lines represent

potential correspondences

  • Curve shows DP solution for

shortest path (with cost computed from f(x))

slide-22
SLIDE 22

range map

Pentagon example

left image right image

slide-23
SLIDE 23

Real-time application – Background substitution

Left view Right view

Input

input left view

Results

Background substitution 1 Background substitution 2

slide-24
SLIDE 24
  • Remove image “seams” for imperceptible aspect ratio change

Application IV: image re-targeting

seam Seam Carving for Content-Aware Image Retargeting. Avidan and Shamir, SIGGRAPH, San-Diego, 2007

slide-25
SLIDE 25

scale seam removal

slide-26
SLIDE 26

Finding the optimal seam – s

s

slide-27
SLIDE 27

Generalization: dynamic programming on graphs

5 4 6 1 2 3

slide-28
SLIDE 28

Different graph structures

1 3 4 5 6 2 Fully connected

O(hn)

1 3 4 5 6 2 Star structure

O(nh2)

1 3 4 5 6 2 Tree structure

O(nh2)

Application: fitting pictorial structures to images