The Cartoon Animation Filter Jue Wang Steven Drucker Maneesh Agrawala Michael Cohen
The Cartoon Animation Filter Goal –Add “liveliness” to any motion signal Should be –Simple –General –As automated as possible –Fast enough for real-time interaction
A very boring animation
x * (t) = x(t) + x ’’ (t) * - x’x’ time x x ’’ -x ’’ -x ’’ + x -x ’’, x Anticipation Follow-through
An almost as boring animation
x * (t) = x(t) + x ’’ (t) * - x * (t) = x(t) + x (t) * - ’’ -LoG
Convolution with -LoG Error in equation (2): x * (t) = x(t) * -LoG x * (t) = x(t) + x(t) * -LoG
-LoG Parameters Amplitude – user set Width (frequency) – automatically set [later]
Image Sharpening
Demo 3 Show ball with vectors forward and backward Show 3 copies of curve, original and time shifted forward and back Convolve Show squash and stretch ball again
Squash and Stretch x ’’ LoG p (t) = LoG(t+ t) t ≈ x ’’ · p p
Squash and Stretch time x ’’ Volume Preservation –Inversely stretch/squash orthogonally to acceleration
Squash and Stretch
Spin Show spin
Related Work Physically Based, lots Stylized, e.g., Chenney et al. 2005, Igarashi et al Surface Deformation, lots… Signal Based, e.g., –Unuma et al. 1995, –Bruderlin and Williams, 1995 Video Paintbox, Collomosse 2004 Motion Magnification, Liu et al. 2005
Livening Up Powerpoint
Enhancing Video Objects
Need to maintain constraints –Simplest approach –Move figure in each frame vertically to keep feet/skateboard in place
Enhancing Video Objects
Golfswing Apply filter to each DOF independently What should the filter width be?
Setting LoG Width *( t ) = max |X( )| *( t ) = max | F ( x ’ ( t ))| ( t ) = 2 / *( t ) time original fixed adaptive (over 32 frame window)
Walking
Boxers
Demo Realtime amplitude adjustment - mocap
Discussion (Almost) fully automated –NOT a tool for experts –But may make good first cut Need better constraint maintenance –IK, physical constraints Online (in-game) usage –Single animation adjusts to situation
Where from here? Make a kid’s animation system