Constraint-based Motion Optimization Using A Statistical Dynamic Model Jinxiang Chai Texas A&M University.

Slides:



Advertisements
Similar presentations
MOTION CAPTURE IN LIFE SCIENCES Mario Lamontagne.
Advertisements

Synchronized Multi-character Motion Editing Manmyung Kim, Kyunglyul Hyun, Jongmin Kim, Jehee Lee Seoul National University.
Layered Acting for Character Animation By Mira Dontcheva Gary Yngve Zoran Popović presented by Danny House SIGGRAPH 2003.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Fast Iterative Alignment of Pose Graphs with Poor Initial Estimates Edwin Olson John Leonard, Seth Teller
Automating Graph-Based Motion Synthesis Lucas Kovar Michael Gleicher University of Wisconsin-Madison.
Implicit Probabilistic Models of Human Motion for Synthesis and Tracking Hedvig Sidenbladh, KTH, Sweden (now FOI, Sweden) Michael J. Black, Brown University,
Summary & Homework Jinxiang Chai. Outline Motion data process paper summary Presentation tips Homework Paper assignment.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Physically Based Motion Transformation Zoran Popović Andrew Witkin SIGGRAPH ‘99.
Introduction to Data-driven Animation Jinxiang Chai Computer Science and Engineering Texas A&M University.
Motion Editing and Retargetting Jinxiang Chai. Outline Motion editing [video, click here]here Motion retargeting [video, click here]here.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi Most slides courtesy.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
CPSC : Data-driven Character Animation Jinxiang Chai.
Animation From Motion Capture Motion Capture Assisted Animation: Texturing and Synthesis Kathy Pullen Chris Bregler Motion Capture Assisted Animation:
A Data-Driven Approach to Quantifying Natural Human Motion SIGGRAPH ’ 05 Liu Ren, Alton Patrick, Alexei A. Efros, Jassica K. Hodgins, and James M. Rehg.
CPSC : Data-driven Character Animation Jinxiang Chai.
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Face Poser: Interactive Modeling of 3D Facial Expressions Using Model Priors Manfred Lau 1,3 Jinxiang Chai 2 Ying-Qing Xu 3 Heung-Yeung Shum 3 1 Carnegie.
Rising from Various Lying Postures Wen-Chieh Lin and Yi-Jheng Huang Department of Computer Science National Chiao Tung University, Taiwan.
1cs426-winter-2008 Notes  Example final exam up in Work section of website Take with a grain of salt  Collision notes part 1 (primitive operations) up.
Interactive Control of Avatars Animated with Human Motion Data Jehee Lee Carnegie Mellon University Seoul National University Jehee Lee Carnegie Mellon.
Behavior Planning for Character Animation Manfred Lau and James Kuffner Carnegie Mellon University.
CSCE 689: Forward Kinematics and Inverse Kinematics
Vision-based Control of 3D Facial Animation Jin-xiang Chai Jing Xiao Jessica Hodgins Carnegie Mellon University.
MVL (Machine Vision Lab) UIC HUMAN MOTION VIDEO DATABASE Jezekiel Ben-Arie ECE Department University Of Illinois at Chicago Scripts, Queries, Recognition.
Composition of complex optimal multi-character motions C. Karen Liu Aaron Hertzmann Zoran Popović.
Animation CMSC 435/634. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws frames between keys.
Motion Capture Laboratory School of Arts and Humanities Erik Jonsson School of Engineering and Computer Science University of Texas at Dallas.
Function Approximation for Imitation Learning in Humanoid Robots Rajesh P. N. Rao Dept of Computer Science and Engineering University of Washington,
IMPLEMENTATION ISSUES REGARDING A 3D ROBOT – BASED LASER SCANNING SYSTEM Theodor Borangiu, Anamaria Dogar, Alexandru Dumitrache University Politehnica.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
Motion Blending (Multidimensional Interpolation) Jehee Lee.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Learning Human Pose and Motion Models for Animation Aaron Hertzmann University of Toronto.
Motion Editing (Geometric and Constraint-Based Methods) Jehee Lee.
Scientific Writing Abstract Writing. Why ? Most important part of the paper Number of Readers ! Make people read your work. Sell your work. Make your.
Multifactor GPs Suppose now we wish to model different mappings for different styles. We will add a latent style vector s along with x, and define the.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Animation CMSC 435/634 By Prof. Marc Olano. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Mingyang Zhu, Huaijiang Sun, Zhigang Deng Quaternion Space Sparse Decomposition for Motion Compression and Retrieval SCA 2012.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Interactive Control of Avatars Animated with Human Motion Data Jehee Lee Carnegie Mellon University Seoul National University Jehee Lee Carnegie Mellon.
CPSC : Data-driven Computer Graphics Jinxiang Chai.
Retargetting Motion to New Characters Michael Gleicher.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
UNC Chapel Hill M. C. Lin Basics of Motion Generation let X i = position,orient. of O i at t k = t 0,  i END = false while (not END) do display O i, 
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Character Animation and Control using Human Motion Data Jehee Lee Carnegie Mellon University
Rick Parent - CIS681 Motion Capture Use digitized motion to animate a character.
Computer Graphics Chapter 12 Computer Animation.
Javad Azimi, Ali Jalali, Xiaoli Fern Oregon State University University of Texas at Austin In NIPS 2011, Workshop in Bayesian optimization, experimental.
Constrained Synthesis of Textural Motion for Animation Shmuel Moradoff Dani Lischinski The Hebrew University of Jerusalem.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Spacetime Constraints Chris Moore CS 552. Purpose Physically Accurate Realistic Motion.
MOTION PATTERN PRESERVING IK OPERATING IN THE MOTION PRINCIPAL COEFFICIENTS SPACE Motion Pattern Preserving IK Operating in the Motion Principal Coefficients.
CSE Advanced Computer Animation Short Presentation Topic: Locomotion Kang-che Lee 2009 Fall 1.
Physically-Based Motion Synthesis in Computer Graphics
CSCE 441: Computer Graphics Forward/Inverse kinematics
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
Computer Animation cgvr.korea.ac.kr.
CSCE 441: Computer Graphics Forward/Inverse kinematics
UMBC Graphics for Games
WELCOME.
Synthesis of Motion from Simple Animations
Computer Graphics Lecture 15.
Phase-Functioned Neural Networks for Character Control
Presentation transcript:

Constraint-based Motion Optimization Using A Statistical Dynamic Model Jinxiang Chai Texas A&M University

Goal: generate natural human motion from spatial- temporal constraints Human Animation from User Constraints

Goal: generate natural human motion from spatial- temporal constraints Key framesResulting animation Human Animation from User Constraints

Goal: generate natural human motion from spatial- temporal constraints Key framesResulting animation Key trajectories Resulting animation Human Animation from User Constraints

Applications Shrek Xtreme Martial Arts (Dicsovery channel) The Lord of the Rings Polar Express Friday Night 3D Bowling

Works for various spatial-temporal constraints Challenges: Human Animation Control

Works for various spatial-temporal constraints Human motions are high-dimensional while constraints are not Challenges: Human Animation Control

Works for various spatial-temporal constraints Human motions are high-dimensional while constraints are not People are experts on natural human motion Challenges: Human Animation Control

Problem Formulation θ MAP = argmax θ p(θ|C) Find the most likely human motion θ MAP from user constraints C: (Maximum a posterior)

Problem Formulation θ MAP = argmax θ p(θ|C) Find the most likely human motion θ MAP from user constraints C: = argmax θ p(C|θ) × p(θ) (Bayes rule) (Maximum a posterior)

Problem Formulation θ MAP = argmax θ p(θ|C) Find the most likely human motion θ MAP from user constraints C: = argmax θ p(C|θ) × p(θ) (Bayes rule) How well motion matches Constraints? How natural motion is generated? (Maximum a posterior)

Generate natural human motion from user-defined constraints Algorithm Overview Human motion database Human motion analysis Trajectory optimization Human motion prior p(θ) User-defined constraints C θ MAP θ MAP = argmax θ p(C|θ)p(θ)

[Witkin and Kass SIG88] [Cohen SIG92][Liu et al SIG94] [Fang and Pollard SIG03] Related Work: Physically Based Trajectory Optimization [Safonova et al. SIG04] [Sulejmanpasic and Popovic SIG 05] [Liu and Popovic SIG02] [Popovic and Witkin SIG99]

Reordering motion clip [Lee et al. SIG02, Kovar et al. SIG02, Pullen & Bregler SIG02, Arikan et al. SIG03] Learning model from human motion [Brand & Hertzmann SIG00, Li et al. SIG02] Interpolating motions [Rose et al. CG&A98, Kovar et al. SIG04] Related Work: Animation from Mocap Data

Generate natural motion from a small set of user-defined constraints Algorithm Overview Human motion database Human motion analysis Motion optimization Human motion prior User-defined constraints

A prerecorded large and heterogeneous human motion database 12 MX-40 Vicon cameras (120 hz) Full-body movement ( 1 hour ) and facial movement (10 minutes) Human Motion Database

Generate natural motion from user-defined constraints Algorithm Overview Human motion database Human motion analysis Motion optimization Human motion prior User-defined constraints

User-defined Constraints Any kinematic constraints throughout the motion Position cons. Orientation cons. Distance cons. Joint angle cons.

User input: Keyframe constraints Body Animation: Example Constraints

User input: Keyframe constraints Continuous trajectory constraints Body Animation: Example Constraints

Startt= 6st=3s User input: Face Animation: Example Constraints

Startt= 6st=3s t=1st=1.5st=3s Face Animation: Example Constraints User input:

Startt= 6st=3s User input: t=1st=1.5st=3s StartWidth of the mouthEnd Face Animation: Example Constraints

Human motion database Human motion analysis Motion optimization Human motion prior User-defined constraints Generate natural human motion from user-defined constraints Algorithm Overview

Statistical Dynamic Model Character pose Low-dimensional pose space y t = C x t + D Human motion database Human motion analysis Statistical dynamic model x t = A 1 x t-1 +…+ A m x t-m + B u t Control input Temporal prediction

Model Complexity Character pose Low-dimensional pose space y t = C x t + D Human motion database Human motion analysis Statistical dynamic model x t = A 1 x t-1 +…+ A m x t-m + B u t Control input Temporal prediction Dim(u t ) Dim(x t )

Model Learning Human motion database Human motion analysis Character pose Low-dimensional pose space y t = C x t + D x t = A 1 x t-1 +…+ A m x t-m + B u t Control input Temporal prediction Dynamic model matrices: A 1, …,A m, B, C, D

Model Learning Human motion database Human motion analysis Dynamic model matrices: A 1, …,A m, B, C, D Dynamic system order: m, dimensionality of x t and u t Character pose Low-dimensional pose space y t = C x t + D x t = A 1 x t-1 +…+ A m x t-m + B u t Control input Temporal prediction

Reconstruction error Full-body walking data Facial data X t = A 1 X t-1 +…+A m X t-m +B u t Statistical dynamic model: m = 3, dim(u t ) = 4, error = 0.7 deg m = 2, dim(u t ) = 1, error = 0.1 mm Y t = C X t + D

Forward Simulation y t = C x t + D x t = A 1 x t-1 + A 2 x t-2 + A 3 x t-3 +B u t Dim(u t ) = 4 Full-body movement:

Forward Simulation y t = C x t + D x t = A 1 x t-1 + A 2 x t-2 + A 3 x t-3 +B u t utut ytyt Dim(u t ) = 4 Full-body movement:

x t = A 1 x t-1 + A 2 x t-2 + B u t Forward Simulation utut YtYt Dim(u t ) = 1 y t = C x t + D Facial movement:

Motion Optimization Human motion database Human motion analysis Human motion prior User-defined constraints Generate natural motion from a small set of user-defined constraints Motion optimization

Human Motion Prior The motion prior of generated motion sequence

Human Motion Prior The motion prior of generated motion sequence p(θ)

Human Motion Prior The motion prior of generated motion sequence p(θ) Assume u t is independent each other x t depends on the x t-1,…,x t-m and u t

Human Motion Prior The motion prior of generated motion sequence p(θ) (Chain rule)

Human Motion Prior The motion prior of generated motion sequence Control priorDynamics prior p(θ) (Chain rule)

Generate natural motion from a small set of user-defined constraints Algorithm Overview Human motion database Human motion analysis Motion optimization Human motion prior User-defined constraints

Motion Optimization Find the most likely motion θ MAP from user constraints C: θ MAP = argmin θ –ln p(C|θ) - ∑ln p(u t ) - ∑ ln p(x t |x t-1,…,x t-m,u t )

Motion Optimization Find the most likely motion θ MAP from user constraints C: θ MAP = argmin θ –ln p(C|θ) - ∑ln p(u t ) - ∑ ln p(x t |x t-1,…,x t-m,u t ) Prior for control input Prior from statistical dynamic model Constraint term

Motion Optimization Find the most likely motion θ MAP from user constraints C: θ MAP = argmin θ –ln p(C|θ) - ∑ln p(u t ) - ∑ ln p(x t |x t-1,…,x t-m,u t ) Prior for control input Prior from statistical dynamic model Constraint term - Trajectory optimization - Cubic B-splines for x and u - Sequential Quadratic programming - Random initial guess [0...1]

Motion Optimization Initial guess 1 Initial guess x10 4 Iteration number Objective function Initial guess 3

Results: Climbing over an Obstacle User input Output animation

Results: Mickey Walking User input Output animation

Results: Baby Walking User input Output animation

Results: Running User input Output animation

Results: Walking & Jumping User input Output animation

Motion Generalization I Source motion Retargeted motion

Motion Generalization II Source motion Modified motion

Facial Animation I Start t= 6s t=3s User input:

Facial Animation II StartEndt=1st=1.5st=3s User input:

Algorithm Evaluation I: The Importance of Motion Priors Input constraints Inverse Kinematics (IK) Our method IK in PCA space

Algorithm Evaluation II: Different Motion Priors Input key frames Running prior Walking prior Jumping prior

Algorithm Evaluation III: Different Numbers of Constraints Ground truth motion Four key frames (1.1 deg per joint) Two key frames (1.8 deg per joint) Six key frames (0.9 deg per joint) Walking prior

Discussion An alternative for physically based optimization √ does not need physical models √ low-dimensional model and faster convergence √ can generate slow even stylized motion x requires appropriate mocap data x cannot specify dynamic constraints (e.g., mass)

Discussion An alternative for physically based optimization √ does not need physical models √ low-dimensional model and faster convergence √ can generate slow even stylized motion x requires appropriate mocap data x cannot specify dynamic constraints (e.g., mass) Intuitive Interfaces for specifying spatial-temporal constraints?

Conclusions Sparse spatial-temporal constraints Human motion database Human motion analysis Motion optimization Human motion prior Realistic animation or

Realistic human animation Trajectory optimization with statistical models Conclusions Human motion database User-defined constraints Human Motion prior p(C|θ)p(θ) argmax θ p(θ|C)

Realistic human animation Trajectory optimization with statistical models A new compact spatial-temporal representations for human motion data: statistical dynamic models Conclusions Human motion database User-defined constraints Human Motion prior X t = A 1 X t-1 +…+A m X t-m +B u t Y t = C X t + D p(C|θ)p(θ) argmax θ p(θ|C)

Questions?