5.2 Articulated Characters Jaakko Lehtinen with many slides from - - PowerPoint PPT Presentation

5 2 articulated characters
SMART_READER_LITE
LIVE PREVIEW

5.2 Articulated Characters Jaakko Lehtinen with many slides from - - PowerPoint PPT Presentation

CS-C3100 Computer Graphics 5.2 Articulated Characters Jaakko Lehtinen with many slides from Frdo Durand and Barb Cutler 1 In This Video Hierarchical modeling of articulated characters humans, animals, etc Parameterized


slide-1
SLIDE 1

1

CS-C3100 Computer Graphics

5.2 Articulated Characters

with many slides from Frédo Durand and Barb Cutler Jaakko Lehtinen

slide-2
SLIDE 2

In This Video

2

  • Hierarchical modeling of articulated characters

– humans, animals, etc

  • Parameterized transformations
  • Forward and inverse kinematics
slide-3
SLIDE 3

Animation

3

  • Hierarchical structure is essential

for animation

– Eyes move with head – Hands move with arms – Feet move with legs – …

  • Without such structure the model

falls apart

slide-4
SLIDE 4
  • Articulated models = hierarchies of rigid parts

(called “bones”) connected by joints

– Each joint has some angular degrees of freedom – These are commonly called “joint angles”

  • Articulated models can be animated by specifying

the joint angles as functions of time

Articulated Models

4

slide-5
SLIDE 5

What This Looks Like

5

Pinocchio, Baran & Popovic, SIGGRAPH 2007

slide-6
SLIDE 6

What This Looks Like

5

Pinocchio, Baran & Popovic, SIGGRAPH 2007

slide-7
SLIDE 7
  • Describes the positions of the

body parts as a function of joint angles.

  • Joint movement is determined by its degrees of

freedom (DoF)

– Usually rotation for articulated bodies – Also, a fixed origin in the parent’s coordinate system

Forward Kinematics

1 DOF: knee 2 DOF: wrist 3 DOF: arm

6

slide-8
SLIDE 8
  • Each bone position/orientation described relative

to the parent in the hierarchy:

Skeleton Hierarchy

hips r-thigh r-calf r-foot left-leg

...

vs y x z

7

For the root, the parameters include a position Joints are specified by angles (here denoted q, f, s)

slide-9
SLIDE 9

Forward Kinematics

8

vs vs

How to determine the world-space position for point vs?

slide-10
SLIDE 10

Forward Kinematics

9

vs vs

Transformation matrix S for a point vs is a matrix composition of all joint transformations between the point and the root of the hierarchy. S is a function of all the joint angles between here and root.

slide-11
SLIDE 11

Forward Kinematics

10

T, R, TR etc. are matrices & their product is S

Transformation matrix S for a point vs is a matrix composition of all joint transformations between the point and the root of the hierarchy. S is a function of all the joint angles between here and root. Note that the angles have a non-linear effect. T = translate, R = rotate, TR = rotate & translate

vs vs

slide-12
SLIDE 12

Forward Kinematics

11

vs vs

Local coordinates in foot’s coordinate system

slide-13
SLIDE 13

Forward Kinematics

12

Coordinates in calf coordinate system

slide-14
SLIDE 14

Forward Kinematics

13

Coordinates in leg coordinate system

slide-15
SLIDE 15

Forward Kinematics

14

Coordinates in hip (root) coordinate system

slide-16
SLIDE 16

Forward Kinematics

15

Coordinates in world space World space origin & coordinate axes

slide-17
SLIDE 17

Forward Kinematics

16

parameter vector p

vs vs

slide-18
SLIDE 18
  • Forward kinematics

– Given the skeleton parameters p (position of the root and all joint angles) and the position of the point in local coordinates vs, what is the position of the point in the world coordinates vw? – Not hard, just apply transform accumulated from root.

Forward & Inverse Kinematics

17

vs

slide-19
SLIDE 19
  • Inverse kinematics

– Given the current position of the desired new position ṽw in world coordinates, what are the skeleton parameters p that take the point to the desired position?

vs

Forward & Inverse Kinematics

18

ṽw

slide-20
SLIDE 20

19

slide-21
SLIDE 21

19

slide-22
SLIDE 22

Inverse Kinematics

20

  • Given the position of the point in local

coordinates vs and the desired position ṽw in world coordinates, what are the skeleton parameters p?

  • Requires solving for p, given vs and ṽw

– Non-linear, and...

skeleton parameter vector p

slide-23
SLIDE 23
  • Count degrees of freedom:

– We specify one 3D point (3 equations) – We usually need more than 3 angles – p usually has tens of dimensions

  • Simple geometric example (in 3D):

specify hand position, need elbow & shoulder

– The set of possible elbow location is a circle in 3D

Underconstrained

vs vs

21

slide-24
SLIDE 24

How to tackle these problems?

22

vWS = S(p) vs

slide-25
SLIDE 25

How to tackle these problems?

22

  • Deal with non-linearity:

Iterative solution (steepest descent)

vWS = S(p) vs

slide-26
SLIDE 26

How to tackle these problems?

22

  • Deal with non-linearity:

Iterative solution (steepest descent)

– Compute Jacobian of world position w.r.t. angles

  • Jacobian: “If the parameters p change by tiny amounts, what

is the resulting change in the world position vWS?”

vWS = S(p) vs

slide-27
SLIDE 27

How to tackle these problems?

22

  • Deal with non-linearity:

Iterative solution (steepest descent)

– Compute Jacobian of world position w.r.t. angles

  • Jacobian: “If the parameters p change by tiny amounts, what

is the resulting change in the world position vWS?”

– Then invert Jacobian

  • This says “if vWS changes by a tiny amount, what is the

change in the parameters p?”

vWS = S(p) vs

slide-28
SLIDE 28

How to tackle these problems?

22

  • Deal with non-linearity:

Iterative solution (steepest descent)

– Compute Jacobian of world position w.r.t. angles

  • Jacobian: “If the parameters p change by tiny amounts, what

is the resulting change in the world position vWS?”

– Then invert Jacobian

  • This says “if vWS changes by a tiny amount, what is the

change in the parameters p?”

– But wait! The Jacobian is non-invertible (3xN)

vWS = S(p) vs

slide-29
SLIDE 29

How to tackle these problems?

22

  • Deal with non-linearity:

Iterative solution (steepest descent)

– Compute Jacobian of world position w.r.t. angles

  • Jacobian: “If the parameters p change by tiny amounts, what

is the resulting change in the world position vWS?”

– Then invert Jacobian

  • This says “if vWS changes by a tiny amount, what is the

change in the parameters p?”

– But wait! The Jacobian is non-invertible (3xN) – Deal with ill-posedness: Pseudo-inverse

  • Solution that displaces things the least
  • See http://en.wikipedia.org/wiki/Moore-

Penrose_pseudoinverse

vWS = S(p) vs

slide-30
SLIDE 30

How to tackle these problems?

22

  • Deal with non-linearity:

Iterative solution (steepest descent)

– Compute Jacobian of world position w.r.t. angles

  • Jacobian: “If the parameters p change by tiny amounts, what

is the resulting change in the world position vWS?”

– Then invert Jacobian

  • This says “if vWS changes by a tiny amount, what is the

change in the parameters p?”

– But wait! The Jacobian is non-invertible (3xN) – Deal with ill-posedness: Pseudo-inverse

  • Solution that displaces things the least
  • See http://en.wikipedia.org/wiki/Moore-

Penrose_pseudoinverse

vWS = S(p) vs

slide-31
SLIDE 31

How to tackle these problems?

22

  • Deal with non-linearity:

Iterative solution (steepest descent)

– Compute Jacobian of world position w.r.t. angles

  • Jacobian: “If the parameters p change by tiny amounts, what

is the resulting change in the world position vWS?”

– Then invert Jacobian

  • This says “if vWS changes by a tiny amount, what is the

change in the parameters p?”

– But wait! The Jacobian is non-invertible (3xN) – Deal with ill-posedness: Pseudo-inverse

  • Solution that displaces things the least
  • See http://en.wikipedia.org/wiki/Moore-

Penrose_pseudoinverse

vWS = S(p) vs

slide-32
SLIDE 32

How to tackle these problems?

22

  • Deal with non-linearity:

Iterative solution (steepest descent)

– Compute Jacobian of world position w.r.t. angles

  • Jacobian: “If the parameters p change by tiny amounts, what

is the resulting change in the world position vWS?”

– Then invert Jacobian

  • This says “if vWS changes by a tiny amount, what is the

change in the parameters p?”

– But wait! The Jacobian is non-invertible (3xN) – Deal with ill-posedness: Pseudo-inverse

  • Solution that displaces things the least
  • See http://en.wikipedia.org/wiki/Moore-

Penrose_pseudoinverse

vWS = S(p) vs

slide-33
SLIDE 33

Example: Style-Based IK

23

  • Video (YouTube)
  • Prior on “good pose”
  • Link to paper: Grochow, Martin, Hertzmann,

Popovic: Style-Based Inverse Kinematics, ACM SIGGRAPH 2004

slide-34
SLIDE 34

Mesh-Based Inverse Kinematics

24

  • Video
  • Doesn’t even need a hierarchy or skeleton: Figure

proper transformations out based on a few example deformations!

  • Link to paper:

Sumner, Zwicker, Gotsman, Popovic: Mesh- Based Inverse Kinematics, ACM SIGGRAPH 2005

slide-35
SLIDE 35

That’s All!

25