Download presentation
Presentation is loading. Please wait.
Published byAllison Poole Modified over 9 years ago
1
Video Textures Arno Schödl Richard Szeliski David Salesin Irfan Essa Microsoft Research, Georgia Tech
2
Still photos
3
Video clips
4
Video textures
5
Related 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…
6
Image-based rendering (IBR) From View Morphing by Seitz and Dyer Slide added by D.Brogan
7
Related work Texture synthesis Infinite extension of 2D pattern [Heeger 95] [de Bonet 97] [Efros 99]
8
Related work Temporal texture synthesis Video as a spatio-temporal texture Statistical Learning of Multidimensional Textures [Bar-Joseph 99] [Wei 00]
9
Related work Video Rewrite Assemble video snippets to generate lip motion [Bregler 97]
10
Periodic motion analysis Uses similar analysis tools Related work [Niyogi 94] [Seitz 97] [Polana 97] [Cutler 00]
11
Problem statement video clipvideo texture
12
Our approach How do we find good transitions?
13
Finding good transitions Compute L 2 distance D i, j between all frames Similar frames make good transitions frame ivs. frame j
14
Markov chain representation Similar frames make good transitions
15
Transition costs Transition from i to j if successor of i is similar to j Cost function: C i j = D i+1, j
16
Transition probabilities Probability for transition P i j inversely related to cost: P i j ~ exp ( – C i j / 2 ) high low
17
Preserving dynamics
19
Cost for transition i j C i j = w k D i+k+1, j+k
20
Preserving dynamics – effect Cost for transition i j C i j = w k D i+k+1, j+k
21
Dead ends No good transition at the end of sequence
22
Future cost Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k
23
Future cost Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k
24
Future cost Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k
25
Future cost Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k
26
Propagate future transition costs backward Iteratively compute new cost F i j = C i j + min k F j k Q-learning Future cost
27
Future cost – effect
28
Fixed-length videos Alternative to random transitions Precompute set of loops up front Slide edited by D.Brogan
29
Fixed-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
30
Fixed-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
31
Fixed-length videos Populate the table For each (loop n, length l ) tuple, find best loop (possibly compound) of length l that includes at least one instance of loop n Slide added by D.Brogan
32
Fixed-length videos Populate the table with dynamic programming Start from row one, find best loops Proceed through the rows (length 5, loop C ) is found from (length 3, loop C ) + (length 2, loop D ) Slide added by D.Brogan
33
Fixed-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(L 2 N 2 ) Slide added by D.Brogan
34
Fixed-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
35
Visual discontinuities Problem: Visible “Jumps”
36
Crossfading Solution: Crossfade from one sequence to the other.
37
Morphing Interpolation task:
38
Morphing Interpolation task: Compute correspondence between pixels of all frames Optical flow Slide edited by D.Brogan
39
Morphing Interpolation task: Compute correspondence between pixels of all frames Interpolate pixel position and color in morphed frame based on [Shum 2000]
40
Results – crossfading/morphing
41
Jump Cut Crossfade Morph
42
Crossfading
43
Frequent jump & crossfading
44
Video portrait Useful for web pages
45
Combine with IBR techniques Video portrait – 3D
46
Region-based analysis Divide video up into regions Generate a video texture for each region
47
Automatic region analysis
48
User selects target frame range User-controlled video textures slowvariablefast
49
Lengthen / shorten video without affecting speed Time warping shorteroriginallonger
50
Video-based animation Like sprites computer games Extract sprites from real video Interactively control desired motion ©1985 Nintendo of America Inc.
51
Video sprite extraction
52
Video sprite control Augmented transition cost:
53
Video 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]
54
Interactive fish
55
Summary Video clips video textures define Markov process preserve dynamics avoid dead-ends disguise visual discontinuities
56
Summary Extensions regions external constraints video-based animation
57
Discussion Some things are relatively easy
58
Discussion Some are hard
59
Future work Better analysis of complex motions New optimality metrics More powerful video-based animation Other kinds of video-based rendering
60
A final example
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.