a tutorial in 3 and 3/2 parts › projects › graph › speakers › gleicher › ... ·...

30
Motion Synthesis By Example A Tutorial in 3 and 3/2 parts Michael Gleicher Dept of Computer Sciences University of Wisconsin - Madison

Upload: others

Post on 03-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Motion Synthesis By Example

A Tutorial in 3 and 3/2 parts

Michael Gleicher

Dept of Computer SciencesUniversity of Wisconsin - Madison

Page 2: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

How to Represent a Pose?

Foundations:

Page 3: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Modeling Humans• Humans are complex!

Human motion can be understood at a very fine level

of detail!

Page 4: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Abstractions

206 bones, muscles, fat,

organs, clothing, …

206 bones, complex joints

53 bonesKinematic joints

Page 5: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Complexities of Skeletal Representation

• Abstraction• Don't know parameters• Need to know skeleton and relation of skeleton to

markers

Can't just measure

(even x-rays wouldn't help, no real "joints")

Page 6: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Abstractions vs. Reality (skeletons vs. humans)

Page 7: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Representations of 2 bodies

Hierarchical: Relative OrientationFixed Relative Position

Independent: Absolute OrientationAbsolute Position

Position Only

Page 8: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Ease of manipulation

Hierarchical: Relative OrientationFixed Relative Position

Independent: Absolute OrientationAbsolute Position

Position Only

Page 9: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Alternative Representations

An Aside…

Page 10: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Mesh of points

Ho, Komura, Tai. Spatial Relationship Preserving Character Motion Adaptation. SIGGRAPH 2010.

Preserve Distances using Mesh Editing techniques

Page 11: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

MKM: A non-hierarchical approach

• Richard Kulpa, Franck Multon and others

• Several papers

• Multon, Kulpa, Bideau. MKM: A Global Framework for Animating Humans in Virtual Reality Applications. Presence. 17 (1) 2008.

Page 12: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a
Page 13: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a
Page 14: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Points + Distances

• Others (particularly in the game industry)

• Cormac O'Brien, John Dingliana, Steven Collins. Spacetime Vertex Constraints for Dynamically-based Adaptation of Motion-Captured Animation. SCA 2011.

Page 15: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a
Page 16: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

• James, Twigg, Cove, Wang. Mesh Ensemble Motion Graphs: Data-driven Mesh Animation with Constraints. SIGGRAPH Asia 2008.

Page 17: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Back to Skeletons

206 bones, muscles, fat,

organs, clothing, …

206 bones, complex joints

53 bonesKinematic joints

Page 18: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Skelletal Representation

• One position

• One global orientation

• One relative orientation per joint

Page 19: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Why hierarchical skeletons?

They are the standard

• Enforce constraints– Stretching

– Connection

• Methods for orientations– Compact

• Tie to fast drawing (skins)

• Easy forward kinematics

There are challenges

• Can’t go beyond constraints– Biomechanic adaptations

– Cartooning / Fudging

• Orientations are hard!– Some things tricky

• Not general controls

• Hard inverse kinematics

Page 20: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Rigid Bodies

• Does not deform

• Idealization

Page 21: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Rigid Kinematics

• Translation

• Rotation

Page 22: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Rotations and Orientations

Orientations

• Configuration

Rotations

• Transformation

0 30 60 90 30 30 30

Page 23: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Should we care?

No

• Rotation from zero

• It’s a mathematical detail

• People are usually sloppy

Yes – they are different

Rotations (not orientations)

• Wrap around

• Scalar multiply

• Addition

• Linear combinations

Use different parameterizations for each! (Jehee Lee)Representing Rotations and Orientations in Geometric Computing, CG&A. March 2008

Page 24: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

What is a Rotation Anyway?and how do we parameterize them?

• Transformation Rn -> Rn

• F(x) -> x’

• Rigid |a-b| = | F(a)-F(b) |

• Has a zero F(0) = 0

• Preserves Handedness

Page 25: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a
Page 26: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Mathematics of Rotations

• Special Orthogonal Groups

• Rotation Vectors

• Rotation Matrices

• Logarithmic Maps / Exponential Maps

• Matrix Exponentials

• Quaternions

• Logarithmic Coordinates

• ….

Page 27: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a

Attempt Dynamic Presentation

Page 28: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a
Page 29: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a
Page 30: A Tutorial in 3 and 3/2 parts › projects › graph › speakers › Gleicher › ... · 2011-08-22 · Modeling Humans •Humans are complex! Human motion can be understood at a