05-video-textures

advertisement
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
Compute L2 distance Di, j between all frames
vs.
frame i
frame j
Similar frames make good transitions
Markov Chain Representation
1
2
Similar frames make good transitions
3
4
Transition Costs
Transition from i to j if successor of i is similar to j
Cost function: Cij = Di+1, j
i
i+
1
i
j
j-1
D
i+
1
,j
j
Transition Probabilities
Probability for transition Pij inversely related
to cost:
 Ci  j 
Pi  j  exp   2 
  
high 
low 
Preserving Dynamics
Preserving Dynamics
Preserving Dynamics
Cost for transition ij
N -1
wk Di+k+1, j+k

k = -N
Cij =
i-1
i
Di-1, j-2
Di, j-1
j-2
j-1
i j
i+1
i+2
Di+1, j
Di+2, j+1
j
j+1
Preserving Dynamics – Effect
Cost for transition ij
Cij =
N -1
wk Di+k+1, j+k

k = -N
Deadends
No good transition at the end of sequence
1
2
3
4
Future Cost
• Propagate future transition costs backward
• Iteratively compute new cost
Fij = Cij +  mink Fjk
1
2
3
4
Future Cost
• Propagate future transition costs backward
• Iteratively compute new cost
Fij = Cij +  mink Fjk
1
2
3
4
Future Cost
• Propagate future transition costs backward
• Iteratively compute new cost
Fij = Cij +  mink Fjk
1
2
3
4
Future Cost
• Propagate future transition costs backward
• Iteratively compute new cost
Fij = Cij +  mink Fjk
1
2
3
4
Future Cost
• Propagate future transition costs backward
• Iteratively compute new cost
Fij = Cij +  mink Fjk
• Q-learning
1
2
3
4
Future Cost – Effect
Finding Good Loops
• Alternative to random transitions
• Precompute a good set of loops up front
(using dynamic programming)
Visual Discontinuities
• Problem: Visible “Jumps”
Crossfading
• Solution: Crossfade from one sequence to
the other.
3
4
… Ai-2
+
Ai-2
1
4
Ai-1
2
4
Bj-2
2
+
4
Ai-1/Bj-2
Ai
Bj-1
15
Ai-1/Bj-2
1
4
3
+
4
Ai+1
Bj
Ai-1/Bj-2
Bj+1 …
Bj+1
Morphing
• Interpolation task:
2
5
A +
2
5
B +
1
5
C
Morphing
• Interpolation task:
2
5
A +
2
5
B +
1
5
• Compute correspondence
between pixels of all frames
C
Morphing
• Interpolation task:
2
5
A +
2
5
B +
1
5
• Compute correspondence
between pixels of all frames
• Interpolate pixel position and
color in morphed frame
• based on [Shum 2000]
C
Results – Crossfading / Morphing
Results – Crossfading / Morphing
Jump Cut
Crossfade
Morph
Crossfading
Frequent Jump & Crossfading
Video Portrait
Useful for web pages
Video Portrait – 3D
Combine with IBR techniques
Region-based Analysis
• Divide video up into regions
• Generate a video texture for each region
Automatic Region Analysis
User-controlled Video Textures
slow
variable
User selects target frame range
fast
Time Warping
shorter
original
longer
Lengthen / shorten video without affecting speed
Summary
• Video clips  video textures
•
•
•
•
define Markov process
preserve dynamics
avoid dead-ends
disguise visual discontinuities
Summary
• Extensions
• regions
• external constraints
• video-based animation
Discussion
• Some things are relatively easy
Discussion
• Some are hard
Download