Title: Using Photographs to Enhance Videos of a Static Scene
1Using Photographs to Enhance Videos of a Static
Scene
- Pravin Bhat1, C. Lawrence Zitnick2, Noah
Snavely1, Aseem Agarwala3, Maneesh Agrawala4,
Michael Cohen1,2, Brian Curless1, Sing Bing
Kang2
University of Washington1, Microsoft Research
Redmond2 University of California3, Adobe
Systems4
EGSR 2007
2Motivation
3Motivation
Consumer Photographs
4Motivation
Consumer Photographs
5Motivation
Consumer Photographs
6Motivation
Consumer Photographs
7Motivation
Consumer Photographs
8(No Transcript)
9(No Transcript)
10Video Enhancements
11Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- lighting
- dynamic range
- Easy video editing
- object touch-up
- Image filters
- Object removal
- Camera shake removal
12Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- lighting
- dynamic range
- Easy video editing
- object touch-up
- Image filters
- Object removal
- Camera shake removal
13Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- lighting
- dynamic range
- Easy video editing
- object touch-up
- Image filters
- Object removal
- Camera shake removal
14Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- exposure
- dynamic range
- Easy video editing
- object touch-up
- Image filters
- Object removal
- Camera shake removal
15Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- exposure
- dynamic range
- Easy video editing
- object touch-up
- Image filters
- Object removal
- Camera shake removal
16Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- exposure
- dynamic range
- Easy video authoring
- object touch-up
- Image filters
- Object removal
- Camera shake removal
17Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- exposure
- dynamic range
- Easy video authoring
- object touch-up
- Image filters
- Object removal
- Camera shake removal
18Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- exposure
- dynamic range
- Easy video authoring
- object touch-up
- image filters
- Object removal
- Camera shake removal
19Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- exposure
- dynamic range
- Easy video authoring
- object touch-up
- image filters
- object removal
- Camera shake removal
20Video Enhancements
- One framework. Variety of enhancements
- Transferring photographicqualities
- resolution
- exposure
- dynamic range
- Easy video authoring
- object touch-up
- image filters
- object removal
- camera shake removal
21System Overview
22System Overview
23System Overview
24System Overview
25System Overview
26Geometry Estimation
27Multi-View Stereo
28Multi-View Stereo
- Based on Zitnick et als work at SIGGRAPH 04
- Good for videos and noisy images
29Multi-View Stereo
- Based on Zitnick et als work at SIGGRAPH 04
synchronized camera arrays
30Multi-View Stereo
- Based on Zitnick et als work at SIGGRAPH 04
over-segmentation based approach
31Multi-View Stereo
- Based on Zitnick et als work at SIGGRAPH 04
over-segmentation based approach
32Multi-View Stereo
- Based on Zitnick et als work at SIGGRAPH 04
BP based optimization
33Multi-View Stereo
- Based on Zitnick et als work at SIGGRAPH 04
depth consistency across views
34Multi-View Stereo
35Multi-View Stereo
- Our Contributions
- Augmented depth planes
- View-dependent planes
- Non-fronto parallel planes
36Multi-View Stereo
- Our Contributions
- Augmented depth planes
- View-dependent planes
- Non-fronto parallel planes
- Automated viewpoint graph construction
37Multi-View Stereo
- Our Contributions
- Augmented depth planes
- View-dependent planes
- Non-fronto parallel planes
- Automated viewpoint graph construction
- Using SFM point cloud as a soft prior
38Geometry Estimation
39System Overview
40System Overview
41System Overview
42Novel View Interpolation
43Novel View Interpolation
44Novel View Interpolation
- Objective
- Reconstruct every video frame (orange cones)
using nearby photos (blue cones)
45Novel View Interpolation
- Objective
- Reconstruct every video frame (orange cones)
using nearby photos (blue cones)
46Novel View Interpolation
- Objective
- Reconstruct every video frame (orange cones)
using nearby photos (blue cones)
47Novel View Interpolation
- Objective
- Reconstruct every video frame (orange cones)
using nearby photos (blue cones)
48Novel View Interpolation
- Objective
- Reconstruct every video frame (orange cones)
using nearby photos (blue cones)
49Novel View Interpolation
- Objective
- Reconstruct every video frame (orange cones)
using nearby photos (blue cones)
50Novel View Interpolation
Video Frame
51Novel View Interpolation
Photo-1
Video Frame
Photo-2
52Novel View Interpolation
Photo-1 Depths
Video Frame
Photo-2 Depths
53Novel View Interpolation
Projection-1
Video Frame
Projection-2
54Novel View Interpolation
- Simple IBR Reconstruction
- Result average( Projection-1 , Projection-2 )
55Novel View Interpolation
- Simple IBR Reconstruction
- Result average( Projection-1 , Projection-2 )
- Artifacts
- blurring and ghosting
- loss of dynamic lighting
56Novel View Interpolation
- Simple IBR Reconstruction
- Result average( Projection-1 , Projection-2 )
- Artifacts
- blurring and ghosting
- loss of dynamic lighting
- Our Solution
- Patch based reconstruction
- Gradient domain compositing
- Exploit video data
57System Overview
58System Overview
59Video Reconstruction
- Objective
- Reconstruct every video frame using projected
images
60Video Reconstruction
- Our Solution
- Reconstruction problem Labeling problem
- Each projection provides one label
- Graphcuts optimization to find a labeling that
minimizes a well-designed cost function
61Video Reconstruction
Projection-1
Video Frame
Projection-2
62Video Reconstruction
Label-1
Video Frame
Label-2
63Video Reconstruction
Label-1
Labeling
Label-2
64Video Reconstruction
65Video Reconstruction
- Cost function
- Data term encourages
66Video Reconstruction
- Cost function
- Data term encourages
- depth matching
67Video Reconstruction
- Cost function
- Data term encourages
- depth matching
Pixeldepth
Labeldepths
68Video Reconstruction
- Cost function
- Data term encourages
- depth matching
Pixeldepth
Labeldepths
69Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
70Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
Pixelcolor
Labelcolors
71Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
Pixelcolor
Labelcolors
72Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
73Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
74Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
x
?
75Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
- Smoothness term encourages
- Seamless label transitions
- Seams to run
76Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
- Smoothness term encourages
- Seamless label transitions
- Seams to run
- through regions of similar color
77Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
- Smoothness term encourages
- Seamless label transitions
- Seams to run
- through regions of similar color
Label-1
Label-2
78Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
- Smoothness term encourages
- Seamless label transitions
- Seams to run
- through regions of similar color
good transition
Label-1
Label-2
79Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
- Smoothness term encourages
- Seamless label transitions
- Seams to run
- through regions of similar color
- along strong edges
80Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
- Smoothness term encourages
- Seamless label transitions
- Seams to run
- through regions of similar color
- along strong edges
Label-1
Label-2
81Video Reconstruction
- Cost function
- Data term encourages
- depth matching
- color matching
- no holes
- Smoothness term encourages
- Seamless label transitions
- Seams to run
- through regions of similar color
- along strong edges
good transition
Label-1
Label-2
82Video Reconstruction
Label-1
Labeling
Label-2
83Video Reconstruction
Label-1
Label-2
84Video Reconstruction
Label-1
Reconstructed Video Frame
Label-2
85Video Reconstruction
Label-1
Video Frame
Label-2
86Video Reconstruction
Label-1
Reconstructed Video Frame
Label-2
87(No Transcript)
88(No Transcript)
89System Overview
90System Overview
91Spacetime Fusion
- Objective To eliminate
- Holes
- Spatial seams
- Temporal incoherence
- Loss of lighting dynamics
92Spacetime Fusion
- Objective To eliminate
- Holes
- Spatial seams
- Temporal incoherence
- Loss of lighting dynamics
- Solution
- Define artifact free gradient field
- Integrate gradient field
93Gradient Field Integration
94Gradient Field Integration
I
95Gradient Field Integration
Gx
I
Gy
96Gradient Field Integration
Gx
I
Gx(x, y) I(x, y) I(x 1, y) Gy(x, y) I(x,
y) I(x, y - 1)
Gy
97Gradient Field Integration
Gx
Gy
98Gradient Field Integration
?
Gx
I
Gy
99Gradient Field Integration
?
Gx
I
Solve linear system Av b
Gy
100Gradient Field Integration
?
Gx
I
Solve linear system Av b Constraints vx, y
vx - 1, y Gx(x, y) vx, y vx, y - 1 Gy(x, y)
Gy
101Gradient Field Integration
Gx
I
Solve linear system Av b Constraints vx, y
vx - 1, y Gx(x, y) vx, y vx, y - 1 Gy(x, y)
Gy
102Defining Spatial Gradients
Gx,y
103Defining Spatial Gradients
Gx,y
104Defining Spatial Gradients
Labeling
Gx,y
105Defining Spatial Gradients
Labeling
Label-1
Gx,y
106Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
107Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
108Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a patch
109Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a patch
110Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a patch
111Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a patch
112Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a patch
113Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a patch
114Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a patch
115Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a hole
116Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Inside a hole
117Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
118Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Across seams
119Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Across seams
120Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Across seams
121Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Across seams
122Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
Across seams
123Defining Spatial Gradients
Labeling
Label-1
Label-2
Gx,y
Videoframe
124Defining Spatial Gradients
Labeling
Label-1
Label-2
Enhanced Video Frame
Videoframe
Integration result
125Defining Spatial Gradients
Video reconstruction result
2D integration result
126Spacetime Fusion
- 3D Gradient field of Enhanced Video
127Spacetime Fusion
- 3D Gradient field of Enhanced Video
- Spatial gradients Gx and Gy
- as defined earlier
128Spacetime Fusion
- 3D Gradient field of Enhanced Video
- Spatial gradients Gx and Gy
- as defined earlier
- Temporal gradients Gt
129Spacetime Fusion
- 3D Gradient field of Enhanced Video
- Spatial gradients Gx and Gy
- as defined earlier
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x, y, t - 1)
130Spacetime Fusion
Video frame t - 1
Video frame t
131Spacetime Fusion
Video frame t - 1
Video frame t
Reconstruction frame t
Reconstruction frame t - 1
132Spacetime Fusion
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x, y, t - 1)
Video frame t - 1
Video frame t
Reconstruction frame t
Reconstruction frame t - 1
133Spacetime Fusion
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x, y, t - 1)
Gt
Video frame t - 1
Video frame t
Reconstruction frame t
Reconstruction frame t - 1
134Spacetime Fusion
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x, y, t - 1)
Gt
Video frame t - 1
Video frame t
Gxy
Reconstruction frame t
Reconstruction frame t - 1
135Spacetime Fusion
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x, y, t - 1)
- Gt incompatible with Gx,y
Gt
Video frame t - 1
Video frame t
Reconstruction frame t
Reconstruction frame t - 1
136Spacetime Fusion
Video frame t - 1
Video frame t
Reconstruction frame t
Reconstruction frame t - 1
137Spacetime Fusion
Gt
Video frame t - 1
Video frame t
Reconstruction frame t
Reconstruction frame t - 1
138Spacetime Fusion
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x u, y v, t 1)
Gt
Video frame t - 1
Video frame t
Reconstruction frame t
Reconstruction frame t - 1
139Spacetime Fusion
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x u, y v, t 1)
- Gt compatible with Gx,y
Gt
Video frame t - 1
Video frame t
Reconstruction frame t
Reconstruction frame t - 1
140Spacetime Fusion
- 3D Gradient field of Enhanced Video
- Spatial gradients Gx and Gy
- as defined earlier
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x, y, t - 1)
141Spacetime Fusion
- 3D Gradient field of Enhanced Video
- Spatial gradients Gx and Gy
- as defined earlier
- Temporal gradients Gt
- Gt(x, y, t) V(x, y, t) - V(x - u, y - v, t - 1)
Where (u,v) is the correspondence vector
142Spacetime Fusion
- Solving for Enhanced Video
Solve linear system Av b
143Spacetime Fusion
- Solving for Enhanced Video
Solve linear system Av b Constraints vx, y,
t vx-1, y, t Gx(x, y, t) vx, y, t vx,
y-1, t Gy(x, y, t) vx, y, t vx-u, y-v, t
Gt(x, y, t)
144Spacetime Fusion
Spacetime fusion result
Video reconstruction result
145Applications
146Enhanced Exposure
147Super-Resolution
148Video Editing
149Edit Propagation
150Edit Propagation
- User Interaction
- User edits one or more images
151Edit Propagation
- User Interaction
- User edits one or more images
- Solution
- Reconstruct video frames using edited pixels
152Edit Propagation
153Edit Propagation
Input Video
154Edit Propagation
User Edits
155Edit Propagation
User Edits
156Edit Propagation
User Edits
157Edit Propagation
User Edits
158Edit Propagation
User Edits
159Edit Propagation
User Edits
160Edit Propagation
Input Video
161Edit Propagation
162Camera Shake Removal
163Camera Shake Removal
- Solution
- Smooth out input-video camera path
- Re-render video from new camera path
164Camera Shake Removal
Input Video
165Camera Shake Removal
Stabilized Video
166Object Removal
167Object Removal
- User Interaction
- User draws object mask in one image
168Object Removal
- User Interaction
- User draws object mask in one image
- Solution
- Transfer mask to all video frames
- Reconstruct masked portions using unmasked
portions
169Object Removal
170Conclusion
171Conclusion
- General framework
- Enhanced multi-view stereo
- Novel IBR
- Renders dynamic lighting
- Avoids ghosting
- Temporarily consistent
- IBR framework can be applied to dynamic scenes
172Future Work
- Speed ups
- UI
- Dynamic scenes
173Thanks
- Reviewers / EGSR organizers
- Advisors - Michael Cohen and Brian Curless
- NVIDIA Fellowship
174Performance
- 5 Minutes per frame (853x480)
- 2 minutes on SFM
- 2 minutes on MVS
- 1 minute on IBR
175Photo Count
- Grotto 11 photos
- Bust 7 photos
- Dessert table 12 photos
- Suzzalo 6 photos