learning human pose and motion models for animation

61
Learning Human Pose and Motion Models for Animation Aaron Hertzmann University of Toronto

Upload: kura

Post on 13-Jan-2016

39 views

Category:

Documents


1 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Learning Human Pose and Motion Models for Animation

Learning Human Pose and Motion Models for Animation

Aaron HertzmannUniversity of Toronto

Page 2: Learning Human Pose and Motion Models for Animation

Animation is maturing …

… but it’s still hard to create

Page 3: Learning Human Pose and Motion Models for Animation

Keyframe animation

Page 4: Learning Human Pose and Motion Models for Animation

Keyframe animation

http://www.cadtutor.net/dd/bryce/anim/anim.html

q1 q2 q3

q(t) q(t)

Page 5: Learning Human Pose and Motion Models for Animation

Characters are very complex

Woody:- 200 facial controls- 700 controls in his body

http://www.pbs.org/wgbh/nova/specialfx2/mcqueen.html

Page 6: Learning Human Pose and Motion Models for Animation

Motion capture

[Images from NYU and UW]

Page 7: Learning Human Pose and Motion Models for Animation

Motion capture

Page 8: Learning Human Pose and Motion Models for Animation

Mocap is not a panacea

Page 9: Learning Human Pose and Motion Models for Animation

Goal: model human motion

What motions are likely?

Applications:• Computer animation• Computer vision

Page 10: Learning Human Pose and Motion Models for Animation

Related work: physical models

•Accurate, in principle•Too complex to work with

(but see [Liu, Hertzmann, Popović 2005])

•Computationally expensive

Page 11: Learning Human Pose and Motion Models for Animation

Related work: motion graphs

Input: raw motion capture

“Motion graph”(slide from J. Lee)

Page 12: Learning Human Pose and Motion Models for Animation

Approach: statistical models of motions

Learn a PDF over motions, and synthesize from this PDF [Brand and Hertzmann 1999]

What PDF do we use?

Page 13: Learning Human Pose and Motion Models for Animation

Style-Based Inverse Kinematics

with: Keith Grochow, Steve Martin, Zoran Popović

Page 14: Learning Human Pose and Motion Models for Animation

Motivation

Page 15: Learning Human Pose and Motion Models for Animation

Body parameterization

Pose at time t: qt

Root pos./orientation (6 DOFs)

Joint angles (29 DOFs)

MotionX = [q1, …, qT]

Page 16: Learning Human Pose and Motion Models for Animation

Forward kinematics

Pose to 3D positions:

qt

[xi,yi,zi]t

FK

Page 17: Learning Human Pose and Motion Models for Animation

Problem Statement

Generate a character pose based on a chosen style subject to constraints

Constraints

Degrees of freedom (DOFs) q

Page 18: Learning Human Pose and Motion Models for Animation

Real-time Pose Synthesis

Off-Line Learning

Approach

Motion Learning Style

Synthesis

Pose

Constraints

Page 19: Learning Human Pose and Motion Models for Animation

y(q) = q orientation(q) velocity(q) [ q0 q1 q2 …… r0 r1 r2 v0 v1 v2 … ]

Features

Page 20: Learning Human Pose and Motion Models for Animation

Goals for the PDF

• Learn PDF from any data

• Smooth and descriptive

• Minimal parameter tuning

• Real-time synthesis

Page 21: Learning Human Pose and Motion Models for Animation

Mixtures-of-Gaussians

Page 22: Learning Human Pose and Motion Models for Animation

GPLVM

y1

y2

y3

x1

x2

Latent Space Feature Space

Gaussian Process Latent Variable Model [Lawrence 2004]

GP

-1

x ~ N(0,I)y ~ GP(x; )

Learning: arg max p(X, | Y) = arg max p(Y | X, ) p(X)

Page 23: Learning Human Pose and Motion Models for Animation

Scaled Outputs

Different DOFs have different “importances”

Solution:RBF kernel function k(x,x’)ki(x,x’) = k(x,x’)/wi

2

Equivalently: learn x Wywhere W = diag(w1, w2, … wD)

Page 24: Learning Human Pose and Motion Models for Animation

Precision in Latent Space

2(x)

Page 25: Learning Human Pose and Motion Models for Animation

);(ln2);(2

);();(L 2

2

2

IK θxθx

θ)f(xyWθyx, θ

D

SGPLVM Objective Function

y1

y2

y3

x1

x2 θ)f(x;y

xx

C

Page 26: Learning Human Pose and Motion Models for Animation

Baseball Pitch

Page 27: Learning Human Pose and Motion Models for Animation

Track Start

Page 28: Learning Human Pose and Motion Models for Animation

Jump Shot

Page 29: Learning Human Pose and Motion Models for Animation

Style interpolation

Given two styles 1 and 2, can we “interpolate” them?

));(exp()(1 1θyy IKLp

Approach: interpolate in log-domain

));(exp()(2 2θyy IKLp

Page 30: Learning Human Pose and Motion Models for Animation

Style interpolation

));(exp()( 22 θyy IKLp ));(exp()(1 1θyy IKLp

(1-s) s

)(s)()s1( 21 ypyp

Page 31: Learning Human Pose and Motion Models for Animation

Style interpolation in log space

));(exp( 1θyIKL ));(exp( 1θyIKL

(1-s)s

));(s);()s1((exp( 21 θyθy LL

Page 32: Learning Human Pose and Motion Models for Animation

Interactive Posing

Page 33: Learning Human Pose and Motion Models for Animation

Interactive Posing

Page 34: Learning Human Pose and Motion Models for Animation

Interactive Posing

Page 35: Learning Human Pose and Motion Models for Animation

Multiple motion style

Page 36: Learning Human Pose and Motion Models for Animation

Realtime Motion Capture

Page 37: Learning Human Pose and Motion Models for Animation

Style Interpolation

Page 38: Learning Human Pose and Motion Models for Animation

Trajectory Keyframing

Page 39: Learning Human Pose and Motion Models for Animation

Posing from an Image

Page 40: Learning Human Pose and Motion Models for Animation

Modeling motion

GPLVM doesn’t model motions• Velocity features are a hack How do we model and learn dynamics?

Page 41: Learning Human Pose and Motion Models for Animation

Gaussian Process Dynamical Models

with: David Fleet, Jack Wang

Page 42: Learning Human Pose and Motion Models for Animation

Dynamical models

xt+1xt

Page 43: Learning Human Pose and Motion Models for Animation

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

Page 44: Learning Human Pose and Motion Models for Animation

Gaussian Process Dynamical Model (GPDM)

Marginalize out , and then optimize the latent positions to simultaneously minimize pose reconstruction error and (dynamic) prediction error on training data .

pose reconstruction

latent dynamics

Latent dynamical model:

Assume IID Gaussian noise, and

with Gaussian priors on and

Page 45: Learning Human Pose and Motion Models for Animation

DynamicsThe latent dynamic process on

has a similar form:

where

is a kernel matrix defined by kernel function

with hyperparameters

Page 46: Learning Human Pose and Motion Models for Animation

Subspace dynamical model:

Markov Property

Remark: Conditioned on , the dynamical model is 1st-order Markov, but the marginalization introduces longer temporal dependence.

Page 47: Learning Human Pose and Motion Models for Animation

Learning

To estimate the latent coordinates & kernel parameters we minimize

with respect to and .

GPDM posterior:

reconstruction likelihood

priorsdynamics likelihood

training motions

hyperparameterslatent trajectories

Page 48: Learning Human Pose and Motion Models for Animation

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

Page 49: Learning Human Pose and Motion Models for Animation

3D GPLVM Latent Coordinates

large “jumps’ in latent space

Page 50: Learning Human Pose and Motion Models for Animation

Reconstruction Variance

Volume visualization of .

(1st-order prediction, RBF kernel)

Page 51: Learning Human Pose and Motion Models for Animation

Motion Simulation

Animation of mean motion (200 step sequence)

initial state

Random trajectories from MCMC (~1 gait cycle, 60 steps)

Page 52: Learning Human Pose and Motion Models for Animation

Simulation: 1st-Order Mean Prediction

Red: 200 steps of mean prediction

Green: 60-step MCMC mean

Animation

Page 53: Learning Human Pose and Motion Models for Animation

Missing Data

50 of 147 frames dropped (almost a full gait cycle)

spline interpolation

Page 54: Learning Human Pose and Motion Models for Animation

Missing Data: RBF Dynamics

Page 55: Learning Human Pose and Motion Models for Animation

Determining hyperparameters

GPDM Neil’s parameters MCEM

Data: six distinct walkers

Page 56: Learning Human Pose and Motion Models for Animation

Where do we go from here?

Let’s look at some limitations of the model

60 Hz 120 Hz

Page 57: Learning Human Pose and Motion Models for Animation

What do we want?

Phase

Variation

x1

x2

A walk cycle

Page 58: Learning Human Pose and Motion Models for Animation

Branching motions

Walk Run

Page 59: Learning Human Pose and Motion Models for Animation

Stylistic variation

Page 60: Learning Human Pose and Motion Models for Animation

Current work: manifold GPs

Latent space (x) Data space (y)

Page 61: Learning Human Pose and Motion Models for Animation

Summary

GPLVM and GPDM provide priors from small data sets

Dependence on initialization, hyperpriors, latent dimensionality

Open problems modeling data topology and stylistic variation