Physically Based Motion Transformation Zoran Popović Andrew Witkin SIGGRAPH ‘99
Objective Transform previously generated motion while preserving its physical properties User-controlled editing process Good for re-use of highly detailed motions Map motion between characters with different DOFs (control complex systems with simpler ones)
Related Work Physical (forward) dynamics Spacetime constraints Robot controller design Motion capture (and editing) Biomechanics
Forward Dynamics Highly realistic (physically accurate) Determining muscle forces is difficult Changing one frame drastically affects all others
Spacetime Constraints Helps with realism and controllability Specify pose constraints that must be met Specify objective function or metric of performance or style Minimize objective function while satisfying constraints Does not scale up to complex characters (poor time complexity) Sensitive to starting position of optimization (may not converge)
Robot Controller Design Drive actuator forces based on environment A set of reflexes that control muscles which produce motion Controllers adjust to changing environment Determining controllers that produce realistic motion is difficult
Motion Capture Get motion data from the real world Highly realistic Unstructured, uncorrelated motion Editing typically has no notion of dynamics Large motion deformations give unwanted artifacts
Biomechanics Similarity in multi-legged locomotion of kinematically different animals Studies optimality of natural motion (reaffirms spacetime optimization)
Complex Model Simplified Model Algorithm Outline Original Motion Spacetime Motion Model Final Motion Transformed Spacetime Motion Δ Simplification Motion Fitting Spacetime Edit Reconstruction Create abstract character model with minimal DOFs Map input motion onto simplified model Find spacetime optimization problem with solution most closely matching simplified character motion Change motion parameters Introduce new pose constraints Change character kinematics or objective function Remap the change in motion of the simplified model onto the original complex model
Character Simplification Why? –Improves performance & convergence –Captures fundamental movement properties Complex Model Simplified Model Original Motion Spacetime Motion Model Final Motion Transformed Spacetime Motion Δ Simplification Motion Fitting Spacetime Edit Reconstruction
Three Simplification Principles DOF removal –e.g. Remove DOFs in linkages Node subtree removal –Replace hierarchy with a single object Exploit symmetric movement –e.g. Two legs with identical jump kinematics
Mapping motion onto simplified model Overdetermined problem –simplified character has much fewer DOFs Use Handles –correlate properties between complex and simplified motion sequences
Handles Functions that can be evaluated on both complex and simplified models. Measurements of body properties –eg. positions, directions, distances
Handles complex motion handles: h 0 (q 0 (t)) simplified motion handles: h S (q S (t)) Find motion of simplified character: –E d = [h 0 (q 0 (t i )) - h S (q S (t i ))] 2 –minimize E d over q S (t i ) for each frame t i At least one handle per DOF
Spacetime Motion Fitting Must make the simplified motion dynamically correct (and realistic) Find the spacetime optimization problem most closely matching simplified motion Complex Model Simplified Model Original Motion Spacetime Motion Model Final Motion Transformed Spacetime Motion Δ Simplification Motion Fitting Spacetime Edit Reconstruction
Spacetime Motion Fitting Character has two kinds of DOFs - q(t) –kinematic q k (t)) and muscle q m (t)) Character is constrained by: –pose constraints: C p –mechanical constraints: C m –dynamics constraints: C d Optimization problem: –minimize objective function, E(q(t),t), over all DOFs, q(t), subject to: C p (q(t),t) = 0 C m (q(t),t) = 0 C d (q(t),t) = 0
Biomechanically accurate models are too complex Use generalized muscle forces, Q –apply accelerations directly onto DOFs –minimum set of muscles for full range of motion –unstable spacetime optimization with poor convergence Use damped generalized muscle force: Velocity-dependent damping encourages smoothness Muscles
Constraints Most constraints are determined by input motion –Avoid non-essential constraints Simplification may introduce constraints Motion editing may introduce constraints
Objective Function Motion in nature assumed to be optimal –Original motion close to optimum - YAY! Two components –deviation from original motion E d –muscle Smoothness: Gradually decrease w d to zero
Spacetime Edit Modify dynamic properties of the simplified model of the animation Complex Model Simplified Model Original Motion Spacetime Motion Model Final Motion Transformed Spacetime Motion Δ Simplification Motion Fitting Spacetime Edit Reconstruction
Spacetime Edit Change constraints –positions, timings Add new constraints Change the character model Add new components to the objective function After editing, re-solve spacetime optimization problem –Already close to solution. Converges quickly.
Motion Reconstruction Construct final motion from original complex motion and simplified spacetime motions Complex Model Simplified Model Original Motion Spacetime Motion Model Final Motion Transformed Spacetime Motion Δ Simplification Motion Fitting Spacetime Edit Reconstruction
Motion Reconstruction Now have three sets of handles –original motion handles: h 0 (q 0 ) –spactime fit handles: h s (q s ) –transformed spacetime handles: h t (q t ) Combine: h f (q f ) = h 0 (q 0 ) + (h t (q t ) - h s (q s )) Solve for q f ? –Number of handles much smaller than DOFs –problem is underdetermined
Motion Reconstruction Formulate sequence of per-frame subproblems: –minimize E dm (q 0,q f ) over q f subject to: C(q) = 0 h f (q f ) = h 0 (q 0 ) + (h t (q t ) - h s (q s )) Follow transformed handles and satisfy constraints while trying to remain close to original motion. –Objective function measures deviation from original motion
Motion Reconstruction Objective function for deviation: –E dd = (q f – q 0 ) 2 –produces undesirable results each DOF must be scaled carefully Use a different objective function: –E dm - Measures relative mass displacement between two poses Done per-frame, so resulting motion may appear non-smooth –define smoothing intervals and use the smoothness objective function:
Limitations Best for high-energy, dynamic movement –but non-realism not as big an issue in lethargic, kinematic movement The motion-fitting step is mostly manual –Intuitive and amortized over large numbers of transformations Motion fitting affects what kinds of transformations can be done Final motion not absolutely physically correct, but preserves essential properties
Results Fitting: minutes Transformation optimization: ~2 minutes