610 likes | 765 Views
Learning Human Pose and Motion Models for Animation. Aaron Hertzmann University of Toronto. Animation is maturing …. … but it’s still hard to create. Keyframe animation. Keyframe animation. q 1. q 2. q 3. q (t). q (t). http://www.cadtutor.net/dd/bryce/anim/anim.html.
E N D
Learning Human Pose and Motion Models for Animation Aaron Hertzmann University of Toronto
Animation is maturing … … but it’s still hard to create
Keyframe animation q1 q2 q3 q(t) q(t) http://www.cadtutor.net/dd/bryce/anim/anim.html
Characters are very complex • Woody: • 200 facial controls • 700 controls in his body http://www.pbs.org/wgbh/nova/specialfx2/mcqueen.html
Motion capture [Images from NYU and UW]
Goal: model human motion What motions are likely? Applications: • Computer animation • Computer vision
Related work: physical models • Accurate, in principle • Too complex to work with • (but see [Liu, Hertzmann, Popović 2005]) • Computationally expensive
Related work: motion graphs Input: raw motion capture “Motion graph” (slide from J. Lee)
Approach: statistical models of motions Learn a PDF over motions, and synthesize from this PDF [Brand and Hertzmann 1999] What PDF do we use?
Style-Based Inverse Kinematics with: Keith Grochow, Steve Martin, Zoran Popović
Body parameterization Pose at time t: qt Root pos./orientation (6 DOFs) Joint angles (29 DOFs) Motion X = [q1, …, qT]
Forward kinematics Pose to 3D positions: FK qt [xi,yi,zi]t
Degrees of freedom (DOFs) q Constraints Problem Statement Generate a character pose based on a chosen style subject to constraints
Style Learning Real-time Pose Synthesis Approach Off-Line Learning Motion Constraints Synthesis Pose
Features y(q) = q orientation(q) velocity(q)[ q0 q1 q2 …… r0 r1 r2 v0 v1 v2 … ]
Goals for the PDF • Learn PDF from any data • Smooth and descriptive • Minimal parameter tuning • Real-time synthesis
x2 x1 Latent Space GPLVM Gaussian Process Latent Variable Model [Lawrence 2004] GP y2 -1 x ~ N(0,I) y ~ GP(x; ) y3 y1 Feature Space Learning: arg max p(X, | Y) = arg max p(Y | X, ) p(X)
Scaled Outputs Different DOFs have different “importances” Solution: RBF kernel function k(x,x’) ki(x,x’) = k(x,x’)/wi2 Equivalently: learn x Wy where W = diag(w1, w2, … wD)
SGPLVM Objective Function x2 y2 y3 y1 x1
Style interpolation Given two styles q1 and q2, can we “interpolate” them? Approach: interpolate in log-domain
(1-s) s Style interpolation
s (1-s) Style interpolation in log space
Modeling motion GPLVM doesn’t model motions • Velocity features are a hack How do we model and learn dynamics?
Gaussian Process Dynamical Models with: David Fleet, Jack Wang
Dynamical models xt+1 xt
Hidden Markov Model (HMM) Linear Dynamical Systems (LDS) [van Overschee et al ‘94; Doretto et al ‘01] Switching LDS [Ghahramani and Hinton ’98; Pavlovic et al ‘00; Li et al ‘02] Nonlinear Dynamical Systems [e.g., Ghahramani and Roweis ‘00] Dynamical models
Latent dynamical model: latent dynamics pose reconstruction Assume IID Gaussian noise, and with Gaussian priors on and Marginalize out , and then optimize the latent positions to simultaneously minimize pose reconstruction error and (dynamic) prediction error on training data . Gaussian Process Dynamical Model (GPDM)
where • is a kernel matrix defined by kernel function • with hyperparameters Dynamics The latent dynamic process on has a similar form:
Subspace dynamical model: Markov Property Remark: Conditioned on , the dynamical model is 1st-order Markov, but the marginalization introduces longer temporal dependence.
reconstruction likelihood dynamics likelihood priors training motions latent trajectories hyperparameters To estimate the latent coordinates & kernel parameters we minimize with respect to and . Learning GPDM posterior:
Motion Capture Data ~2.5 gait cycles (157 frames) Learned latent coordinates (1st-order prediction, RBF kernel) 56 joint angles + 3 global translational velocity + 3 global orientation from CMU motion capture database
large “jumps’ in latent space 3D GPLVM Latent Coordinates
Volume visualization of . (1st-order prediction, RBF kernel) Reconstruction Variance