data-driven methods: video & texture cs195g computational photography james hays, brown, spring...

42
Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Upload: chastity-polly-sullivan

Post on 02-Jan-2016

225 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Data-driven methods: Video & Texture

Cs195g Computational PhotographyJames Hays, Brown, Spring 2010Many slides from Alexei Efros

Page 2: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Michel Gondry train video

http://youtube.com/watch?v=qUEs1BwVXGA

Page 3: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Weather Forecasting for Dummies™ Let’s predict weather:

• Given today’s weather only, we want to know tomorrow’s• Suppose weather can only be {Sunny, Cloudy, Raining}

The “Weather Channel” algorithm:• Over a long period of time, record:

– How often S followed by R

– How often S followed by S

– Etc.

• Compute percentages for each state: – P(R|S), P(S|S), etc.

• Predict the state with highest probability!• It’s a Markov Chain

Page 4: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

4.04.02.0

3.03.04.0

1.06.03.0

Markov Chain

What if we know today and yesterday’s weather?

Page 5: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Text Synthesis

[Shannon,’48] proposed a way to generate English-looking text using N-grams:• Assume a generalized Markov model• Use a large text to compute prob. distributions of

each letter given N-1 previous letters • Starting from a seed repeatedly sample this Markov

chain to generate new letters • Also works for whole words

WE NEED TO EAT CAKE

Page 6: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Mark V. Shaney (Bell Labs)

Results (using alt.singles corpus):• “As I've commented before, really relating to

someone involves standing next to impossible.”

• “One morning I shot an elephant in my arms and kissed him.”

• “I spent an interesting evening recently with a grain of salt”

Page 7: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Data Driven MethodsThe answer to most non-trivial questions is “Let’s see

what the data says”, rather than “Let’s build a compact parametric model” or “Let’s simulate it from the ground up”.

This can seem unappealing in its simplicity (see Chinese Room thought experiment), but there are still critical issues of representation, generalization, and data choices.

In the end, data driven methods work very well.

“Every time I fire a linguist, the performance of our speech recognition system goes up.” “ Fred Jelinek (Head of IBM's Speech Recognition Group), 1988

Page 8: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Video TexturesVideo Textures

Arno Schödl

Richard Szeliski

David Salesin

Irfan Essa

Microsoft Research, Georgia Tech

Page 9: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Still photosStill photos

Page 10: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Video clipsVideo clips

Page 11: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Video texturesVideo textures

Page 12: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Problem statementProblem statement

video clip video texture

Page 13: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Our approachOur approach

• How do we find good transitions?

Page 14: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Finding good transitions Finding good transitions

• Compute L2 distance Di, j between all

frames

Similar frames make good transitions

frame ivs.

frame j

Page 15: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Markov chain representationMarkov chain representation

2 3 41

Similar frames make good transitions

Page 16: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Transition costs Transition costs

• Transition from i to j if successor of i is similar to j

• Cost function: Cij = Di+1, j

• i

j

i+ 1

j-1

i j D i+ 1, j

Page 17: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Transition probabilitiesTransition probabilities

•Probability for transition Pij inversely related

to cost:•Pij ~ exp ( – Cij / 2 )

high low

Page 18: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Preserving dynamicsPreserving dynamics

Page 19: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Preserving dynamics Preserving dynamics

Page 20: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Preserving dynamics Preserving dynamics

• Cost for transition ij

• Cij = wk Di+k+1, j+kk = -N

N -1

i

j j+ 1

i+ 1 i+ 2

j-1j-2

i jD i, j - 1 D Di+ 1, j i+ 2, j+ 1

i-1

D i-1, j-2

Page 21: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Preserving dynamics – effect Preserving dynamics – effect

• Cost for transition ij

• Cij = wk Di+k+1, j+kk = -N

N -1

Page 22: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

2 3 41

Dead endsDead ends

• No good transition at the end of sequence

Page 23: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

2 3 41

Future costFuture cost

• Propagate future transition costs backward

• Iteratively compute new cost

• Fij = Cij + mink Fjk

Page 24: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

2 3 41

Future costFuture cost

• Propagate future transition costs backward

• Iteratively compute new cost

• Fij = Cij + mink Fjk

Page 25: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

2 3 41

Future costFuture cost

• Propagate future transition costs backward

• Iteratively compute new cost

• Fij = Cij + mink Fjk

Page 26: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

2 3 41

Future costFuture cost

• Propagate future transition costs backward

• Iteratively compute new cost

• Fij = Cij + mink Fjk

Page 27: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

2 3 41

• Propagate future transition costs backward

• Iteratively compute new cost

• Fij = Cij + mink Fjk

• Q-learning

Future costFuture cost

Page 28: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Future cost – effectFuture cost – effect

Page 29: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Finding good loopsFinding good loops

• Alternative to random transitions

• Precompute set of loops up front

Page 30: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Video portraitVideo portrait

• Useful for web pages

Page 31: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Region-based analysisRegion-based analysis

• Divide video up into regions

• Generate a video texture for each region

Page 32: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Automatic region analysisAutomatic region analysis

Page 33: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

User selects target frame range

User-controlled video texturesUser-controlled video textures

slow variable fast

Page 34: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Video-based animationVideo-based animation

• Like spritescomputer games

• Extract spritesfrom real video

• Interactively control desired motion

©1985 Nintendo of America Inc.

Page 35: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Video sprite extractionVideo sprite extraction

blue screen m attingand velocity estim ation

Page 36: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

C i j = + angle C i j

vector tom ouse pointer

S im ilarity term Contro l term

velocity vector

Animation{ {

Video sprite controlVideo sprite control

• Augmented transition cost:

Page 37: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

F i j

F i j

F i j F i j

F i j

F i jF i j

S W

W

N W

N

N E

E

S E

S

G oal

Video sprite controlVideo sprite control

• Need future cost computation

• Precompute future costs for a few angles.

• Switch between precomputed angles according to user input

• [GIT-GVU-00-11]

Page 38: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Interactive fishInteractive fish

Page 39: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Summary Summary

• Video clips video textures

• define Markov process

• preserve dynamics

• avoid dead-ends

• disguise visual discontinuities

Page 40: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Discussion Discussion

• Some things are relatively easy

Page 41: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

Discussion Discussion

• Some are hard

Page 42: Data-driven methods: Video & Texture Cs195g Computational Photography James Hays, Brown, Spring 2010 Many slides from Alexei Efros

“Amateur” by Lasse Gjertsen

http://www.youtube.com/watch?v=JzqumbhfxRo