Download - Video Textures

Transcript
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