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)
ComplexModel
SimplifiedModel
Algorithm Outline
Original Motion
SpacetimeMotion Model
Final Motion
TransformedSpacetime 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
ComplexModel
SimplifiedModel
Original Motion
SpacetimeMotion Model
Final Motion
TransformedSpacetime 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: 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
Spacetime Motion Fitting• Must make the simplified motion
dynamically correct (and realistic)
• Find the spacetime optimization problem most closely matching simplified motion
ComplexModel
SimplifiedModel
Original Motion
SpacetimeMotion Model
Final Motion
TransformedSpacetime Motion
Δ
Simplification
Motion Fitting
Spacetime Edit
Reconstruction
Spacetime Motion Fitting• Character has two kinds of DOFs - q(t)
– kinematic qk(t)) and muscle qm(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
• 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
iiiii mkdmksk qqkqqkQ
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 mdd EEwE
2mmE q
Spacetime Edit• Modify dynamic properties of the
simplified model of the animation
ComplexModel
SimplifiedModel
Original Motion
SpacetimeMotion Model
Final Motion
TransformedSpacetime 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
ComplexModel
SimplifiedModel
Original Motion
SpacetimeMotion Model
Final Motion
TransformedSpacetime Motion
Δ
Simplification
Motion Fitting
Spacetime Edit
Reconstruction
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:2mmE q
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