Title: El mundo de la computacion grafica
1Computer Animation Where we are (overview) Where
we are going (perhaps)
2Animation overview
Computer Animation
Popular perception - CGI is animation (full
length animations, CGI effects films or computer
games).
3Animation 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
4Animation 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
-
5 Animation overview
MOCAP in Games is select and blend
Game events
Animate skeleton
MoCap 1
skin
Render
MoCap 2
For example a football game will have 200-300
sequences.
MoCap n
MoCap X
blend
MoCap Y
6 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)
7 Animation overview
Script creation -Motion quality-best is MOCAP
Animación (portero)
8 Animation overview
Script creation -Motion quality-best is MOCAP
z
x
Hombro 3 DOFs
y
9 Animation overview
Script creation -Motion quality-best is MOCAP
Applying MOCAP to a skeleton
y
y
x
x
z
z
10 Animation overview
Motion Capture quality motion is always
perceivable as such (even with stick figures)
11 Animation overview
MOCAP-bones-skinning is a well-established
technology
12 Animation overview
Script creation
By hand using proprietary or in-house
software. The most popular method is keyframe
animation.
13 Animation overview
Real time dynamics
Executing dynamic equations (computer games,
scientific visualisation) Flong Ftraction
Fdrag a F/m v v dta p p dtv
14 Animation overview
Script creation methods
High level behavioural models original was
flocking
15 Animation overview
Script creation methods
Posing real motion - stop motion animation was
used in Jurassic Park (Dinosaur Input Device) to
script the computer models
16 Animation overview
Animation in Science
Zajac 1966 Bell Telephone Lab First Computer
animation in science
17 Animation overview
Animation in Science
Max Born 1935
18 Animation overview
Animation in Science
Max Born 1935 The Restless Universe
19 Animation overview
Animation in Science
- Muscle Fibres of the heart
20 Animation overview
Forensic Animation - ethics?
21 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
-
-
-
22 Animation overview
Synthetic vision
- 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.
23 Animation overview
Synthetic vision in civil aviation
24 Animation overview
Synthetic vision in civil aviation
25 Animation overview
Synthetic vision in civil aviation
- Uses as database
- Shuttle Radar Topography Mission (SRTM)
- Wide Area Augmentation System (WASS)
- Local Area Augmentation System (LASS)
- Derives 3D position (Accuracy lt 1m) from
- GPS INS
- On-board sensors (such as RADAR altimeters)
26 Animation overview
Synthetic vision in civil aviation
27 Animation overview
Where we are
- Off-line -manual
- Combining off-line event driven
- Event driven dynamic simulations walk
throughs
28 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
29 Event driven animation for humanoids
What we have now event driven recorded animation
Game events
Animate skeleton
MoCap 1
skin
Render
MoCap 2
This model can only react to completely
pre-determined actions
MoCap n
MoCap X
blend
MoCap Y
30 Event driven animation for humanoids
What we have now- MOCAP more general
One generic motion fits all characters
31Event driven animation for humanoids
Why do we need it?
Important element in an anthropomorphic interface
computer vision
camera
speech recogn.
NLP
query system
game
text generatn.
visual speech
expressn
emotion generatn.
32Event driven animation for humanoids
What 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.
33Event 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
34Event driven animation for humanoids
Character adaptation not straight forward
- Change scale joint angles change in non-linear
manner
From Shin et al 2001
35Event driven animation for humanoids
Cheating for real-time
Use v.simple skeleton and complex skin. C.G
skeletons 50 DOFs human skeletons - gt250
DOFs Motion from skeleton, visual complexity from
skin
36 Event driven animation for humanoids
MOCAP is forward kinematics
Motion of end effector
f(
)
MOCAP
)
X
f(
q
37Event driven animation for humanoids
Inverse Kinematics an old idea
Circa 1985
use for complete soln. use to adapt MOCAP
x f (?)
Forward Kinematics
joint space ?
Cartesian space x
? f-1 (x)
Inverse Kinematics
38Event 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.
39Event 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
40Event driven animation for humanoids
Event driven animation for humanoids
Inverse Kinematics an old idea
Differential IK - iteration
- Calculate the incremental step ?X Xgoal X
- Calculate the Jacobian matrix using the current
joint angles - Calculate the inverse of the Jacobian using
right-hand generalised inverse if required J-1
JT(JJT)-1 - Check for iterative convergence i.e. make sure
the Jacobian inverse is suitably accurate - (a) If (I JJ-1) gt e, reduce ?X?X/2 and
repeat 4 (where e is a convergence threshold) - (b) If (I JJ-1) gt e after a number of
steps then the goal is likely out of reach so
terminate - Calculate the updated values for the joint angles
where ? ?J-1?X - 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).
41Event driven animation for humanoids
Event driven animation for humanoids
Inverse Kinematics an old idea
Differential IK example Jacobian
Determining the Jacobian Consider
42Event driven animation for humanoids
Event driven animation for humanoids
Inverse Kinematics an old idea
Differential IK example Jacobian
where
?
?
?
43Event 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
44Event 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.
45Event 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-1?P lt lower bound
- upper bound if ?J-1?P gt upper bound
- ?J-1?P otherwise
46Event driven animation for humanoids
Differential IK- demo
Unconstrained IK chain
Constrained IK chain
0??0?180 0??1?90 -30??2?30 -18??3?-18
47Event driven animation for humanoids
Differential IK- MOCAP adaptation
Change scale joint angles change in non-linear
manner
48Event driven animation for humanoids
Differential IK- MOCAP adaptation
Retargetting by simply scaling
Retargetting using IK constraints to maintain
foot plants
49Event driven animation for humanoids
Differential IK
Scaled Retargetting IK Retargetting to
maintain foot plants
50Event driven animation for humanoids
Differential IK- total solution-walking
Foot flight curve
(a) (b) (a)
51Event driven animation for humanoids
Differential IK- main problem
52 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
53 Event driven animation for humanoids
Facial Animation two level model - muscles
54 Event driven animation for humanoids
MOCAP concatenating
text
Blahblahblahblahblah
phonemes
visemes
Muscle values
Keys and interpolate
55 Event driven animation for humanoids
Facial Animation muscles problem?
Interpolating between static targets does NOT
produce convincing mouth motion
56 Event driven animation for humanoids
Facial Animation two level - bones
57 Event driven animation for humanoids
Facial Animation two level - bones
58 Event driven animation for humanoids
Facial Animation bones problem?
Incapable of particularly subtle expressions and
so unsuitable for expressive speech
59 Event driven animation for humanoids
Facial Animation visual speech
- MOCAP can be used to
- Cure subtlety problem
- Implement general domain speech by
concatenation - BUT
- How do we retarget? Face changes both scale and
shape - How do we concatenate motion? will conventional
blending work?
60 Event driven animation for humanoids
MOCAP mesh control from sparse markers
SOFFD mesh from markers
MOCAP markers
61 Event driven animation for humanoids
MOCAP mesh control from sparse markers
622) Deform reference mesh to fit target mesh
2
1
3
- Position markers on reference mesh to define a
control surface - 667 for head motion
3) Retargetted control surface
MOCAP retargetting
63 Event driven animation for humanoids
MOCAP retargetting
Marker motion
speech
64 Event driven animation for humanoids
MOCAP retargetting
65 Event driven animation for humanoids
MOCAP retargetting
66 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
67 Event driven animation for humanoids
MOCAP concatenating
68 Event driven animation for humanoids
MOCAP concatenating
- So is MOCAP speech the answer? NO
- Because
- The inherent quality advantage derives from using
variable length units (sentences, phrases, words)
and this would demand masses of data for general
domain speech. - Expressive speech? E.g combine a smile with an
utterance.
69 Event driven animation for humanoids
Facial Animation the return of static phonemes
text
Phonemes/visemes as static a units are a good
solution for general domain speech Can we do
better than interpolation?
Blahblahblahblahblah
phonemes
visemes
Muscle values
Keys and interpolate
70 Event driven animation for humanoids
Facial Animation the return of static phonemes
71 Event driven animation for humanoids
Facial Animation constraint based global
solution
- 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
72 Event driven animation for humanoids
Facial Animation the return of static phonemes
73 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
74Acknowledgments/contacts Mocap/inverse
kinematics m.meredith_at_dcs.shef.ac.uk Visual
speech j.edge_at_dcs.shef.ac.uk