270 likes | 420 Views
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
E N D
Physically BasedMotion 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)
Algorithm Outline Complex Model Original Motion Final Motion Simplification Reconstruction Motion Fitting Simplified Model Δ Spacetime Motion Model Transformed Spacetime Motion Spacetime Edit 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 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
Complex Model Original Motion Final Motion Reconstruction Simplification Simplified Model Δ Motion Fitting Spacetime Motion Model Transformed Spacetime Motion Spacetime Edit Character Simplification • Why? • Improves performance & convergence • Captures fundamental movement properties
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: h0(q0(t)) • simplified motion handles: hS(qS(t)) • Find motion of simplified character: • Ed = [h0(q0(ti)) - hS(qS(ti))]2 • minimize Ed over qS(ti) for each frame ti • At least one handle per DOF
Complex Model Original Motion Final Motion Reconstruction Simplification Simplified Model Δ Motion Fitting Spacetime Motion Model Transformed Spacetime Motion Spacetime Edit Spacetime Motion Fitting • Must make the simplified motion dynamically correct (and realistic) • Find the spacetime optimization problem most closely matching simplified motion
Spacetime Motion Fitting • Character has two kinds of DOFs - q(t) • kinematicqk(t)) and muscleqm(t)) • Character is constrained by: • pose constraints: Cp • mechanical constraints: Cm • dynamics constraints: Cd • Optimization problem: • minimize objective function, E(q(t),t), over all DOFs, q(t), subject to: • Cp(q(t),t) = 0 Cm(q(t),t) = 0 Cd(q(t),t) = 0
Muscles • 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
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 Ed • muscle Smoothness: • Gradually decrease wd to zero
Complex Model Original Motion Final Motion Reconstruction Simplification Simplified Model Δ Motion Fitting Spacetime Motion Model Transformed Spacetime Motion Spacetime Edit Spacetime Edit • Modify dynamic properties of the simplified model of the animation
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.
Complex Model Original Motion Final Motion Reconstruction Simplification Simplified Model Δ Motion Fitting Spacetime Motion Model Transformed Spacetime Motion Spacetime Edit Motion Reconstruction • Construct final motion from original complex motion and simplified spacetime motions
Motion Reconstruction • Now have three sets of handles • original motion handles: h0(q0) • spactime fit handles: hs(qs) • transformed spacetime handles: ht(qt) • Combine: hf(qf) = h0(q0) + (ht(qt) - hs(qs)) • Solve for qf? • Number of handles much smaller than DOFs • problem is underdetermined
Motion Reconstruction • Formulate sequence of per-frame subproblems: • minimize Edm(q0,qf) over qf subject to: • C(q) = 0 • hf(qf) = h0(q0) + (ht(qt) - hs(qs)) • 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: • Edd = (qf – q0)2 • produces undesirable results • each DOF must be scaled carefully • Use a different objective function: • Edm - 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: 15-20 minutes • Transformation optimization: ~2 minutes