Video Textures

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

description

Video Textures. Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech. Still Photos. Video Clips. Video Textures. Problem Statement. video clip. video texture. Approach. How do we find good transitions?. Finding Good Transitions. - PowerPoint PPT Presentation

Transcript of Video Textures

Page 1: Video Textures

Video TexturesVideo Textures

Arno SchödlRichard Szeliski

David SalesinIrfan Essa

Microsoft Research, Georgia Tech

Page 2: Video Textures

Still PhotosStill Photos

Page 3: Video Textures

Video ClipsVideo Clips

Page 4: Video Textures

Video TexturesVideo Textures

Page 5: Video Textures

Problem StatementProblem Statement

video clip video texture

Page 6: Video Textures

ApproachApproach

How do we find good transitions?

Page 7: Video Textures

Finding Good Transitions Finding Good Transitions

Compute L2 distance Di, j between all frames

Similar frames make good transitions

frame ivs.

frame j

Page 8: Video Textures

Markov Chain RepresentationMarkov Chain Representation

2 3 41

Similar frames make good transitions

Page 9: Video Textures

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 10: Video Textures

Transition ProbabilitiesTransition Probabilities

Probability for transition Pij inversely related

to cost:

high low

2exp

ji

ji

CP

Page 11: Video Textures

Preserving DynamicsPreserving Dynamics

Page 12: Video Textures

Preserving Dynamics Preserving Dynamics

Page 13: Video Textures

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 14: Video Textures

Preserving Dynamics – Effect Preserving Dynamics – Effect

Cost for transition ij

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

N -1

Page 15: Video Textures

2 3 41

DeadendsDeadends

No good transition at the end of sequence

Page 16: Video Textures

2 3 41

Future CostFuture Cost

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

Page 17: Video Textures

2 3 41

Future CostFuture Cost

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

Page 18: Video Textures

2 3 41

Future CostFuture Cost

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

Page 19: Video Textures

2 3 41

Future CostFuture Cost

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

Page 20: Video Textures

2 3 41

• Propagate future transition costs backward

• Iteratively compute new cost

Fij = Cij + mink Fjk

• Q-learning

Future CostFuture Cost

Page 21: Video Textures

Future Cost – EffectFuture Cost – Effect

Page 22: Video Textures

Finding Good LoopsFinding Good Loops

• Alternative to random transitions

• Precompute a good set of loops up front (using dynamic programming)

Page 23: Video Textures

Visual DiscontinuitiesVisual Discontinuities

• Problem: Visible “Jumps”

Page 24: Video Textures

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 25: Video Textures

Morphing Morphing

• Interpolation task:

A25 B2

5 C15+ +

Page 26: Video Textures

Morphing Morphing

• Interpolation task:

• Compute correspondencebetween pixels of all frames

A25 B2

5 C15+ +

Page 27: Video Textures

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 28: Video Textures

Results – Crossfading / MorphingResults – Crossfading / Morphing

Page 29: Video Textures

Results – Crossfading / MorphingResults – Crossfading / Morphing

Jump Cut Crossfade Morph

Page 30: Video Textures

CrossfadingCrossfading

Page 31: Video Textures

Frequent Jump & CrossfadingFrequent Jump & Crossfading

Page 32: Video Textures

Video PortraitVideo Portrait

Useful for web pages

Page 33: Video Textures

Combine with IBR techniques

Video Portrait – 3DVideo Portrait – 3D

Page 34: Video Textures

Region-based AnalysisRegion-based Analysis

• Divide video up into regions

• Generate a video texture for each region

Page 35: Video Textures

Automatic Region AnalysisAutomatic Region Analysis

Page 36: Video Textures

User selects target frame range

User-controlled Video TexturesUser-controlled Video Textures

slow variable fast

Page 37: Video Textures

Lengthen / shorten video without affecting speed

Time WarpingTime Warping

shorter original longer

Page 38: Video Textures

Summary Summary

• Video clips video textures

• define Markov process

• preserve dynamics

• avoid dead-ends

• disguise visual discontinuities

Page 39: Video Textures

Summary Summary

• Extensions

• regions

• external constraints

• video-based animation

Page 40: Video Textures

Discussion Discussion

• Some things are relatively easy

Page 41: Video Textures

Discussion Discussion

• Some are hard