video textures arno schödl richard szeliski david salesin irfan essa microsoft research, georgia...

60
Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Upload: allison-poole

Post on 16-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Video TexturesVideo Textures

Arno SchödlRichard Szeliski

David SalesinIrfan Essa

Microsoft Research, Georgia Tech

Page 2: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Still photosStill photos

Page 3: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Video clipsVideo clips

Page 4: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Video texturesVideo textures

Page 5: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Related workRelated work

Image-based rendering

• Novel still views from still images

• View Morphing [Seitz 96]

• Lightfields / Lumigraph [Levoy 96, Gortler 96]

• Façade [Debevec 96]

• Virtualized Reality [Kanade 97]

• many more…

Page 6: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Image-based rendering (IBR)Image-based rendering (IBR)

• From View Morphing by Seitz and Dyer

Slide added by D.Brogan

Page 7: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Related workRelated work

Texture synthesis

• Infinite extension of 2D pattern

• [Heeger 95]

• [de Bonet 97]

• [Efros 99]

Page 8: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Related workRelated work

Temporal texture synthesis

• Video as a spatio-temporal texture

• Statistical Learning of Multidimensional Textures [Bar-Joseph 99][Wei 00]

Page 9: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Related workRelated work

Video Rewrite

• Assemble video snippets to generate lip motion

• [Bregler 97]

Page 10: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Periodic motion analysis

• Uses similar analysis tools

Related workRelated work

• [Niyogi 94]

• [Seitz 97]

• [Polana 97]

• [Cutler 00]

Page 11: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Problem statementProblem statement

video clip video texture

Page 12: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Our approachOur approach

How do we find good transitions?

Page 13: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Finding good transitions Finding good transitions

Compute L2 distance Di, j between all frames

Similar frames make good transitions

frame ivs.

frame j

Page 14: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Markov chain representationMarkov chain representation

2 3 41

Similar frames make good transitions

Page 15: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

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 16: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Transition probabilitiesTransition probabilities

Probability for transition Pij inversely related

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

high low

Page 17: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Preserving dynamicsPreserving dynamics

Page 18: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Preserving dynamics Preserving dynamics

Page 19: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

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 20: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Preserving dynamics – effect Preserving dynamics – effect

Cost for transition ij

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

N -1

Page 21: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

2 3 41

Dead endsDead ends

No good transition at the end of sequence

Page 22: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

2 3 41

Future costFuture cost

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

Page 23: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

2 3 41

Future costFuture cost

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

Page 24: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

2 3 41

Future costFuture cost

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

Page 25: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

2 3 41

Future costFuture cost

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

Page 26: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

2 3 41

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

• Q-learning

Future costFuture cost

Page 27: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Future cost – effectFuture cost – effect

Page 28: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Fixed-length videosFixed-length videos

• Alternative to random transitions

• Precompute set of loops up front

Slide edited by D.Brogan

Page 29: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Fixed-length videosFixed-length videos

• Creating fixed-length videos• Enumerate all sets of transitions with a total

length L (multiloops)• Select the ones that are legal (the loops

overlap so video can jump from one to another)

• Find the best one

• Exponential in number of transitions

Slide added by D.Brogan

Page 30: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Fixed-length videosFixed-length videos

• Create an L x N table

• L = length of longest loop being considered

• N = number of loops being considered

Slide added by D.Brogan

Page 31: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Fixed-length videosFixed-length videos

• Populate the table

• For each (loopn, lengthl) tuple, find best loop (possibly compound) of length l that includes at least one instance of loop n

Slide added by D.Brogan

Page 32: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Fixed-length videosFixed-length videos

• Populate the table with dynamic programming

• Start from row one, find best loops

• Proceed through the rows

• (length5, loopC) is found from (length3, loopC) + (length2, loopD)

Slide added by D.Brogan

Page 33: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Fixed-length videosFixed-length videos

• Each cell requires inspection of at most L-1 compound loops from same column and N-1 entries from other columns

• Total Cost: O(L2N2)

Slide added by D.Brogan

Page 34: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Fixed-length videosFixed-length videos

• Organizing the loops

• You cannot jump from any loop to any other loop… sequence order matters

• Start with loop with largest last frame num.

• Remove it from the pool

• Identify isolated loops

• Add loops that require first loop for access

Slide added by D.Brogan

Page 35: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Visual discontinuitiesVisual discontinuities

• Problem: Visible “Jumps”

Page 36: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Crossfading Crossfading

• Solution: Crossfade from one sequence to the other.

A i-2

A i-2

B j-2

15

3

1 2

2 1

3

4

4 4

4 4

4+ + +

A i-1

A i-1 / B j-2 A i-1 / B j-2 A i-1 / B j-2

B j-1

A i

B j

A i+1

B j+1

B j+1

Page 37: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Morphing Morphing

• Interpolation task:

A25 B2

5 C15+ +

Page 38: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Morphing Morphing

• Interpolation task:

• Compute correspondencebetween pixels of all frames

• Optical flow

A25 B2

5 C15+ +

Slide edited by D.Brogan

Page 39: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Morphing Morphing

• Interpolation task:

• Compute correspondence between pixels of all frames

• Interpolate pixel position andcolor in morphed frame

• based on [Shum 2000]

A25 B2

5 C15+ +

Page 40: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Results – crossfading/morphingResults – crossfading/morphing

Page 41: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Results – crossfading/morphingResults – crossfading/morphing

Jump Cut Crossfade Morph

Page 42: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

CrossfadingCrossfading

Page 43: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Frequent jump & crossfadingFrequent jump & crossfading

Page 44: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Video portraitVideo portrait

Useful for web pages

Page 45: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Combine with IBR techniques

Video portrait – 3DVideo portrait – 3D

Page 46: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Region-based analysisRegion-based analysis

• Divide video up into regions

• Generate a video texture for each region

Page 47: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Automatic region analysisAutomatic region analysis

Page 48: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

User selects target frame range

User-controlled video texturesUser-controlled video textures

slow variable fast

Page 49: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Lengthen / shorten video without affecting speed

Time warpingTime warping

shorter original longer

Page 50: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Video-based animationVideo-based animation

• Like spritescomputer games

• Extract spritesfrom real video

• Interactively control desired motion

©1985 Nintendo of America Inc.

Page 51: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Video sprite extractionVideo sprite extraction

blue screen m attingand velocity estim ation

Page 52: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

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 53: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

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 54: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Interactive fishInteractive fish

Page 55: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Summary Summary

• Video clips video textures

• define Markov process

• preserve dynamics

• avoid dead-ends

• disguise visual discontinuities

Page 56: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Summary Summary

• Extensions

• regions

• external constraints

• video-based animation

Page 57: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Discussion Discussion

• Some things are relatively easy

Page 58: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Discussion Discussion

• Some are hard

Page 59: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

Future workFuture work

• Better analysis of complex motions

• New optimality metrics

• More powerful video-based animation

• Other kinds of video-based rendering

Page 60: Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech

A final exampleA final example