Computer Animation Where we are (overview) Where we are going (perhaps)

74
Computer Animation Where we are (overview) Where we are going (perhaps)
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    1

Transcript of Computer Animation Where we are (overview) Where we are going (perhaps)

Page 1: Computer Animation Where we are (overview) Where we are going (perhaps)

Computer Animation

Where we are (overview)

Where we are going (perhaps)

Page 2: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Computer Animation

Popular perception - CGI is animation (full length animations, CGI effects films or computer games).

Page 3: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Off-line/pre-recorded Animation is expensive

Production ´effort´ same as handmade animation

 The Fox and the Hound Toy Story (1)

 

Time 4 years 4 years (1.5 story + 2.5 production)

Frames 110,000 110,064

Time 2.9 hours/frame 45mins-24hrs/frame

Paint 450 gallons 110 SUNs

Page 4: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

‘Real-time’ Computer Animation in Games

Animation control (script) in games is:

• pre-recorded (MOCAP) or pre-designed (currently the de facto standard in games)

• calculated in real time

(IK and dynamics)

• a mix of pre-recorded and real time

Page 5: Computer Animation Where we are (overview) Where we are going (perhaps)

Game events

MoCap 1

MoCap 2

MoCap n

Animate skeleton skin Render

MoCap X

MoCap Yblend

Animation overview

MOCAP in Games is select and blend

For example a football game will have 200-300 sequences.

Page 6: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Script creation methods

Recording real motion (MOCAP) [1st=]

By ´hand´ using proprietary or in-house software, keyframe animation [1st=]

Posing real motion using a digital input device (DID) (film special effects)

Executing dynamic equations (scientific visualisation, computer games)

Behaviour models (film special effects)

Page 7: Computer Animation Where we are (overview) Where we are going (perhaps)

Animación

(portero)

Animation overview

Script creation -Motion quality-best is MOCAP

Page 8: Computer Animation Where we are (overview) Where we are going (perhaps)

z

x

y

Hombro = 3 DOFs

Animation overview

Script creation -Motion quality-best is MOCAP

Page 9: Computer Animation Where we are (overview) Where we are going (perhaps)

time

DOF angle

yxz

xz

yApplying MOCAP

to a skeleton

Animation overview

Script creation -Motion quality-best is MOCAP

Page 10: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Motion Capture – quality motion is always perceivable as such (even with stick figures)

Page 11: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

MOCAP-bones-skinning is a well-established technology

Page 12: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Script creation

 By ´hand´ using proprietary or in-house software. The most popular method is keyframe animation.

Page 13: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Real time dynamics

Executing dynamic equations (computer games, scientific visualisation)

Flong = Ftraction+ Fdrag

a = F/m

v = v + dt*a

p = p + dt*v

Page 14: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Script creation methods

High level behavioural models – original was “flocking”

Page 15: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Script creation methods

Posing real motion - stop motion animation was used in Jurassic Park (Dinosaur Input Device) to script the computer models

Page 16: Computer Animation Where we are (overview) Where we are going (perhaps)

Zajac 1966 Bell Telephone LabFirst Computer animation in science

Animation in Science

Animation overview

Page 17: Computer Animation Where we are (overview) Where we are going (perhaps)

Max Born 1935

Animation in Science

Animation overview

Page 18: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Animation in Science

Max Born 1935 The Restless Universe

Page 19: Computer Animation Where we are (overview) Where we are going (perhaps)

Muscle Fibres of the heart

Animation in Science

Animation overview

Page 20: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Forensic Animation - ethics?

Page 21: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

Forensic Animation – ethics?

Technology blesses the production with veracity?

Who controls the content of simulation?

How can the accuracy be guaranteed?

No cross examination possible

Page 22: Computer Animation Where we are (overview) Where we are going (perhaps)

Provides a synthetic view of reality, constructed from a database, which cannot be seen because of, for example, weather conditions. The best example is civil aviation.

Principles used are exactlty the same as games where a view frustum is ‘driven’ through an environment under user control.

Synthetic vision

Animation overview

Page 23: Computer Animation Where we are (overview) Where we are going (perhaps)

Synthetic vision in civil aviation

Animation overview

Cockpit view

Page 24: Computer Animation Where we are (overview) Where we are going (perhaps)

Landing display

Synthetic vision in civil aviation

Animation overview

Page 25: Computer Animation Where we are (overview) Where we are going (perhaps)

Uses as database

Shuttle Radar Topography Mission (SRTM)

Wide Area Augmentation System (WASS)

Local Area Augmentation System (LASS)

Derives 3D position (Accuracy < 1m) from

GPS + INS

On-board sensors (such as RADAR altimeters)

Synthetic vision in civil aviation

Animation overview

Page 26: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation of an approach

Synthetic vision in civil aviation

Animation overview

Page 27: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

• Off-line -manual

• Combining off-line + event driven

•Event driven – dynamic simulations – walk throughs

Where we are

Page 28: Computer Animation Where we are (overview) Where we are going (perhaps)

Animation overview

The future ?

Whats wrong with MOCAP• Although pre-reorded aninimation is of high quality, it is inherently

limited – the more complex the game the more clips are required.

• Cannot MOCAP animals.

• MOCAP transitions – blending is unsatifactory

What we would like• Increase the quality of real-time animation and obtain any motion in

real time accoording to the ‘action demand’ – event driven

• Speech/emotion expression needs to be event driven

Page 29: Computer Animation Where we are (overview) Where we are going (perhaps)

Game events

MoCap 1

MoCap 2

MoCap n

Animate skeleton skin Render

MoCap X

MoCap Yblend

Event driven animation for humanoids

What we have now – event driven recorded animation

This model can only react to completely pre-determined actions

Page 30: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

What we have now- MOCAP – more general

One generic motion fits all

characters

Page 31: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoidsWhy do we need it?

camera

speech recogn.

visualspeech

expressn

computer vision

NLP

textgeneratn.

emotiongeneratn.

querysystem

game

Important element in an anthropomorphic interface

Page 32: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoidsWhat do we aim for

•Seems sensible to retain MOCAP technology – high quality, well established so increase its flexibility - adaptation

•BUT oranges are not the only fruit. Can we generate animation in real time.

Page 33: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Examples

•Using IK adapted MOCAP in human motion

•‘Total’ IK solution for human motion

•Using MOCAP in visual speech

•‘total’ solution for visual speech

Page 34: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Character adaptation not straight forward

Change scale joint angles change in non-linear manner

From Shin et al 2001

Page 35: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Cheating for real-time

Use v.simple skeleton and complex skin.

C.G skeletons – 50 DOFs

human skeletons - >250 DOFs

Motion from skeleton, visual complexity from skin

Page 36: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP is forward kinematics

X

MOCAP Motion of end effector = f( )

= f(

Page 37: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Inverse Kinematics – an old idea

jointspace

Cartesianspace

x

x = f ()

ForwardKinematics

= f-1 (x)

InverseKinematics

use for complete soln.

use to adapt MOCAP

Circa 1985

Page 38: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Inverse Kinematics – solutions

• Geometric/Analytical: This class of solvers generate a solution in a single step for a given goal and therefore fast. They can be used as part of a solution in a hybrid method.

• Differential Algorithms: The task is transformed into a linear problem based on small changes using the Jacobian and iteratively refining the system to meet the goal position.

• Cyclic Co-ordinate Descent: An algorithm which again moves towards a solution in small steps. This time, however, the steps are formed heuristically.

• Hybrid Methods: Uses a combination of approaches. Their motivation is usually real-time performance.

Page 39: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK – the Jacobian

The Jacobian is the multidimensional extension to differentiation of a single variable. Given a function:

X = f()

where X is of dimension n and of dimension m, the Jacobian J is the n x m matrix of partial derivatives relating differential changes of , to differential changes in X, written as:

dX = J()d d = J-1()dX

where the (i, j)th element of J is given by:

Jij = fi/j

Page 40: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Inverse Kinematics – an old idea

Event driven animation for humanoids Differential IK - iteration

1. Calculate the incremental step X = Xgoal – X

2. Calculate the Jacobian matrix using the current joint angles

3. Calculate the inverse of the Jacobian – using right-hand generalised inverse if required; J-1 = JT(JJT)-1

4. Check for iterative convergence – i.e. make sure the Jacobian inverse is suitably accurate(a) If ||(I – JJ-1)|| > e, reduce X=X/2 and repeat 4 (where e is a convergence threshold)(b) If ||(I – JJ-1)|| > e after a number of steps then the goal is likely out of reach so terminate

5. Calculate the updated values for the joint angles where = J-1X

6. Using forward kinematics to determine whether the solution is close enough to the goal. If the solution is adequate then terminate iteration else go back to step 1 (as step 4 could have reduced X).

Page 41: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Inverse Kinematics – an old idea

Event driven animation for humanoids Differential IK – example Jacobian

Determining the JacobianConsider: )(FX

)sin(sin),cos(cos( 2121121211 llllX

Page 42: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Inverse Kinematics – an old idea

Event driven animation for humanoids Differential IK – example Jacobian

)cos(cos 21211 llfx

21

21

yy

xx

ff

ff

Jj

iij

fJ

)sin(sin 212111

llfx

)sin( 2122

lfx

2

1

21221211

21221211

)cos()cos()cos(

)sin()sin()sin(

lll

lll )(JX

)sin(sin 21211 llfy

where

)cos(cos 212111

llfy

)cos( 2122

lfy

Page 43: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK – the Jacobian

• For large articulations the complexity of analytically expressing the differentiation is very tedious.

• The Jacobian can be viewed as expressing the velocity of the end of the chain in terms of local angular velocities with respect to a base frame.

• This information is easily extracted from transformation matrices that already exist in the graphics pipeline – i.e. the matrix concatenation of child-parent relationships as the articulation is built up.

• When the Jacobian is not square (whenever the number of DOFs in the chain increase past the dimension of the end-effector), a pseudo-inverse is required, which could lead to numerical error.

• Singularities – a decrease in the rank of the Jacobian can result in the loss of a degree of freedom that usually happens when the chain is fully extended

Page 44: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK- main problem

• Underdetermined System:

The purpose of Inverse kinematics is to produce a set of joint angles that allows an end-effector to be positioned in a given location. This is an underdetermined system therefore many solutions exist.

Page 45: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK- joint constraints

• Removal of redundant DOFs from the Jacobian

• Angular Constraints – Modification of step 5 of the iterative algorithm to include boundary constraints on specified DOFs

= lower bound if J-1P < lower bound

= upper bound if J-1P > upper bound

= J-1P otherwise

Page 46: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK- demo

Unconstrained IK chain Constrained IK chain

001800190

-30230 -183-18

Page 47: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK- MOCAP adaptation

Change scale joint angles change in non-linear manner

Page 48: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK- MOCAP adaptation

Retargetting by simply scaling

Retargetting using IK constraints to maintain foot plants

Page 49: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Differential IK

Scaled Retargetting IK Retargetting to maintain foot plants

Page 50: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK- total solution-walking

Stage Description

(a) (b)

Starting Configuration Left Foot Both heels and toes are planted on

the floor Toes are planted on the floor

Right Foot Toes are planted on the floor Heel is planted on the floor

Movement 1. Hips move forward, 2. Right heel is advanced

forward through the air, 3. Only the left toes remain

planted.

1. Hips move forward, 2. Right toes are gravitated

towards the floor, 3. Left toes remain planted to

the floor

Foot flight curve

(a) (b) (a)

Page 51: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids Differential IK- main problem

Page 52: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – two level model

• Apply motion to ‘bones’ which control the skin

• Motivation is identical – script applied to bones and bones control face vertices

• No. of bones 2-3 orders of magnitude less than face vertices

Page 53: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – two level model - muscles

Page 54: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – concatenating

phonemes

visemes

Muscle values

Keys and

interpolate

Blahblahblahblahblah…………………………………

text

Page 55: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – muscles –problem?

Interpolating between static targets does NOT produce convincing mouth motion

Page 56: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – two level - bones

Page 57: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – two level - bones

Page 58: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – bones –problem?

Incapable of particularly subtle expressions and so unsuitable for expressive speech

Page 59: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – visual speech

MOCAP can be used to:

1) Cure subtlety problem

2) Implement ‘general domain’ speech by concatenation

BUT

1) How do we retarget? Face changes both scale and shape

2) How do we concatenate motion? – will conventional blending work?

Page 60: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – mesh control from sparse markers

MOCAP markers

SOFFD mesh from markers

Page 61: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – mesh control from sparse markers

Page 62: Computer Animation Where we are (overview) Where we are going (perhaps)

1) Position markers on reference mesh to define a control surface - 66+7 for head motion

2) Deform reference mesh to fit target mesh

1 2

3

3) Retargetted control surface

MOCAP – retargetting

Page 63: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – retargetting

Marker

motion

speech

Page 64: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – retargetting

Page 65: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – retargetting

Page 66: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – for visual speech

• Can use variable length fragments (sentences, words or syllables)

• Overcomes the co-articulation problem

• Conventional blending seems to work

Page 67: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – concatenating

Page 68: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

MOCAP – concatenating

So is MOCAP speech the answer? NO

Because:

1) The inherent quality advantage derives from using variable length units (sentences, phrases, words) and this would demand masses of data for general domain speech.

2) Expressive speech? E.g combine a smile with an utterance.

Page 69: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – the return of static phonemes

text

phonemes

visemes

Muscle values

Keys and

interpolate

Blahblahblahblahblah…………………………………Phonemes/visemes as static a units are a good solution for general domain speech

Can we do better than interpolation?

Page 70: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – the return of static phonemes

Page 71: Computer Animation Where we are (overview) Where we are going (perhaps)

• Treat V as a point in 13D space

• Assign a weight/dominance to each V

• For each unit (sentence…) find a global solution – a trajectory through this space

• Solution does NOT interpolate the means exactly

Event driven animation for humanoids

Facial Animation – constraint based global solution

Page 72: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – the return of static phonemes

Page 73: Computer Animation Where we are (overview) Where we are going (perhaps)

Event driven animation for humanoids

Facial Animation – the return of static phonemes

Decreasing the dominance of the 4th segment reduces its effect over the entire trajectory

Page 74: Computer Animation Where we are (overview) Where we are going (perhaps)

Acknowledgments/contacts

Mocap/inverse kinematics

[email protected]

Visual speech

[email protected]