170 likes | 348 Views
Image-Based Motion Blur for Stop Motion Animation. Gabriel J. Brostow Irfan Essa SIGGRAPH ‘01. First: Stop Motion Animation. Create a Physical Scene Insert Characters / Objects Change Scene Slightly Record Frame and Repeat. Why do we want Motion Blur?. For fast moving objects
E N D
Image-Based Motion Blur for Stop Motion Animation Gabriel J. Brostow Irfan Essa SIGGRAPH ‘01
First: Stop Motion Animation • Create a Physical Scene • Insert Characters / Objects • Change Scene Slightly • Record Frame and Repeat
Why do we want Motion Blur? • For fast moving objects • Prevent time aliasing • Need for a tool to convey fast motions • Realistic Perception • Notice the absence
Overview: • Segmentation • Rigid “blob” tracking • Flow Correction • Rendering Blur • Results
Scene Segmentation: • Grouping the pixels to be tracked: • Ib : background image • If : image of current frame • Im : image of moving pixels, where: • Each continuous region of pixels within Im is considered to be a “blob”
Pixel Transformations: • Determining frame-by-frame pixel mapping is still an on-going research problem • They use a two-pass approach One Commercial Method Their Method
Blob Tracking: • Perform similarity search between each blob b in Im(i) and Im(i+1) • Reduce search space through assumptions: • Blob’s appearance not greatly affected by scale • Rotation of blob can be determined by absolute orientation
Blob Tracking (cont.): • For each b(i), template-match against Im(i+1) through the normalized cross correlation NCC, where: • Interpolate a vector mapping for pixels from frame i to i+1
Flow Correction: • Have an estimate for 2-D transformations by the scene’s blobs • Ir(i+1): estimate of If(i+1) generated by applying If(I)’s computed vectors • Ideal 2-D: Ir(i+1) = If(i+1), but other effects • Optical flow finds motion vectors to warp Ir(i+1) to If(i+1)
Rendering Blur: • Linearly interpolate pixel paths (L(t)) • User defines shutter speed (S) • Determine time spent in each cell (w(x,y)) • Distribute pixel (C)
Rendering Blur (cont.): • IAft(ti) : Motion of If(ti) from ti to ti + S/2 • Get IBef(ti): ti to ti - S/2 • Pixel-wise average these occupancy maps • Some pixels have few or no pixels move through them
Results: • Examples • Representative input and output pair
Results: • Examples • Affects of different shutter speeds
Results: • Examples • Shutter speed vs. interpolation
Results: • Examples • Problems with shadows