CSE452 Computer Graphics Lecture 19: From Morphing To Animation Capturing and Animating Skin Deformation in Human Motion, Park and Hodgins, SIGGRAPH 2006 CSE452 Lecture 19: From Morphing to Animation 1
Let s Make Things Move How to morph between two shapes? How to interactively deform a shape? How to design a natural animation? CSE452 Lecture 19: From Morphing to Animation 2
Morphing Change one shape into another Often seen in movie special effects and cartoons Guiness: noitulove Bacardi: Mojito CSE452 Lecture 19: From Morphing to Animation 3
Morphing CSE452 Lecture 19: From Morphing to Animation 4
Image Morphing Given a source image and target image, determine the pixel values of an intermediate image A B CSE452 Lecture 19: From Morphing to Animation 5
Image Morphing Basic approach: linear interpolation Fading in and out Ghost artifact p p p t=0 t=0.5 t=1 CSE452 Lecture 19: From Morphing to Animation 6
Image Morphing Better approach: warping Find a mapping between pixels in source and target Linearly interpolate pixel locations and values p f(p) (1-t) p+t f(p) t=0 t=0.5 t=1 CSE452 Lecture 19: From Morphing to Animation 7
Mapping Images Automated approaches Known as Registration : compute f[p] for all p such that the color at each f[p] best matches that at p, and distortion is minimized. User-guided approaches User giving feature pairs p i and q i The mapping f[p] is computed so that f[p i ]=q i p i q i CSE452 Lecture 19: From Morphing to Animation 8
Mapping Images CSE452 Lecture 19: From Morphing to Animation 9
Mapping Images CSE452 Lecture 19: From Morphing to Animation 10
Mapping Images Compute a mapping by triangulation Input: feature pairs {p 1, p 2, p 3 } and {q 1, q 2, q 3 } Output: f[p] for every pixel p in the first triangle. q 1 p 1 p f[p] p 3 q 2 p 2 q 3 Compute a,b,c such that a+b+c=1, and p = a*p 1 + b*p 2 + c*p 3 f[p] = a*q 1 + b*q 2 + c*q 3 CSE452 Lecture 19: From Morphing to Animation 11
Geometry Morphing Also called shape interpolation, blending, or metamorphosis Shapes represented as polygons (2D) or meshes (3D) A p B f(p) Central problems Correspondence: for a point p on shape A, find the corresponding point f[p] on shape B. Vertex path: linearly interpolating p and f[p] doesn t always work CSE452 Lecture 19: From Morphing to Animation 12
Correspondence Problem 2D polygons easy Given user-specified feature pairs f[p] is found by comparing curve lengths 3D meshes harder User inputs feature points and their connectivity Partitions a model into triangular patches Need to build f[p] within each corresponding patch f[p] p Consistent Mesh Parameterizations, Praun et. al., SIGGRAPH 2001 CSE452 Lecture 19: From Morphing to Animation 13
Vertex Path Problem Basic approach: linear interpolation Problems: shrinking, distortions, etc. 2D Shape Blending: An Intrinsic Solution to the Vertex Path Problem, Sederberg et. al., SIGGRAPH 1993 Linear Interpolation CSE452 Lecture 19: From Morphing to Animation 14
Vertex Path Problem Basic approach: linear interpolation Problems: shrinking, distortions, etc. Better approaches Preserving edge lengths and angles Minimizing distortion of interior volume Linear Interpolation 2D Shape Blending: An Intrinsic Solution to the Vertex Path Problem, Sederberg et. al., SIGGRAPH 1993 Interpolating lengths, angles Linear Interpolation Minimizing interior stretching As-Rigid-As-Possible Shape Interpolation, Alexa et. al., SIGGRAPH 2000 CSE452 Lecture 19: From Morphing to Animation 15
State of the art CSE452 Lecture 19: From Morphing to Animation 16
Interactive Mesh Deformation To achieve better user-control Free form deformation User control: a 3D lattice Cage deformation User control: a 2D mesh Skeletal deformation User control: a 1D skeleton Directly mesh editing CSE452 Lecture 19: From Morphing to Animation 17
Free-Form Deformation Pioneered by Sederberg [SIGGRAPH 93] Embed the shape in a volumetric lattice Every point on the shape is represented as an affine combination of the lattice points. v i v i ' Deform the shape by deforming the lattice New point locations are updated by affine combination of the new lattice locations. Fast and real-time deformation! v i v i ' CSE452 Lecture 19: From Morphing to Animation 18
Cage Deformation A volumetric lattice is hard to set up Not all objects have a tube shape Introduced by Ju [SIGGRAPH 2005] Embed the shape in a Cage Every point on the shape is represented as an affine combination of the vertices of the control mesh v i Deform the shape by deforming the cage CSE452 Lecture 19: From Morphing to Animation 19
Cage Deformation A volumetric lattice is hard to set up Not all objects have a tube shape Introduced by Ju [SIGGRAPH 2005] Embed the shape in a Cage Every point on the shape is represented as an affine combination of the vertices of the control mesh v i Deform the shape by deforming the cage CSE452 Lecture 19: From Morphing to Animation 20
Skeleton and Skinning Skeleton: a collection of bones and joints Skinning: associating each point on the shape to an affine combination of bone/joint locations. Constructed using a binding pose. Real-time deformation by applying skinning weights to deformed skeleton. Binding Pose Great for animating articulated shapes Deformed Skeleton CSE452 Lecture 19: From Morphing to Animation 21
Skeleton and Skinning q = p1 + S(0.4).R(pi/4).(p2 p1) q p0 p1 p2 CSE452 Lecture 19: From Morphing to Animation 22
Skeletal Animation Most popular in movie/games Supported by main-stream software such as Maya, 3D Max What s hard: Resolving skinning artifacts Designing natural skeleton movements CSE452 Lecture 19: From Morphing to Animation 23
Corrective shapes CSE452 Lecture 19: From Morphing to Animation 24
CSE452 Lecture 19: From Morphing to Animation 25
Moving The Skeleton Forward kinematics Calculating locations of every joint based on joint angles Inverse kinematics (IK) Given location of the end of limbs, compute the joint angles Important in robotics, 3D games, and model design Solution is not unique! (and finding one can be hard) No Solution One Solution Two Solutions Many Solutions CSE452 Lecture 19: From Morphing to Animation 26
Solving for IK A simple example Finding correct angles a,b to reach target Reduces to a configuration space problem Iterative methods Starting from current configuration Searching the minimum by Following the gradient (going downhill) Downhill Simplex Algorithm Simulated Annealing CSE452 Lecture 19: From Morphing to Animation 27
Direct Mesh Editing User selects and drags a vertex (or a group of vertices) The rest of the shape changes in a natural manner Laplacian Surface Editing, Sorkine et. al., SGP 04 CSE452 Lecture 19: From Morphing to Animation 28
CSE452 Lecture 19: From Morphing to Animation 29
Laplacian Mesh Editing Represent surface detail as local difference (Laplacian) CSE452 Lecture 19: From Morphing to Animation 30
Laplacian Mesh Editing Represent surface detail as local difference (Laplacian) Mesh deformation as minimization Move handle p to new location q while minimizing changes in local surface details (Laplacians) CSE452 Lecture 19: From Morphing to Animation 31
Creating Natural Motions Motion capturing (MoCap) Motion synthesis CSE452 Lecture 19: From Morphing to Animation 32
Motion Capturing The systems Acoustic, inertial, LED, magnetic or reflective markers Records the positions, angles, velocities, accelerations and impulses What can be captured Body and finger motions Facial expressions Skin deformation Capturing and Animating Skin Deformation in Human Motion, Park and Hodgins, SIGGRAPH 2006 Tom Hanks, Polar Express CSE452 Lecture 19: From Morphing to Animation 33
Motion Capture CSE452 Lecture 19: From Morphing to Animation 34
Skin Mocap CSE452 Lecture 19: From Morphing to Animation 35
Using MoCap Data Mocap databases The CMU MoCap database. Building longer sequence from captured segments Physical constraints and dynamic response Dynamic Response for Motion Capture Animation, Zordan et. al., SIGGRAPH 2005 Motion Patches: Building Blocks for Virtual Environments Annotated With Motion Data, Lee et. al., SIGGRAPH 2006 CSE452 Lecture 19: From Morphing to Animation 36
Limitations of Mocap Time consuming and expensive Mocap system costs from 50K to millions, and go obsolete easily Mostly indoor (with attempts to go outdoors ) Registration and dealing with missing data still faces challenges Requires special processing to be applied to bodies of different sizes Challenges on multiple persons The future: Can we make a realistic movie without using real characters? CSE452 Lecture 19: From Morphing to Animation 37
Quiz4 next time A TA will do the quiz Interpolation Approximation CSE452 Lecture 19: From Morphing to Animation 38