Transcript PowerPoint

Retargetting Motion to New
Characters
Michael Gleicher
Presented by David Del Vecchio
Outline






Motivation
Working Toward a Solution
Constraints and Objectives
Traveling Through Space and Time
Extensions
Conclusions
Motivation: Why Do We Care?




Have one animated motion want
another
For characters with identical structure,
but different proportions
Manual tweaking is difficult and time
consuming
Want to preserve high-level properties
that are hard to define
Simple Try 1

Just reuse parameters of original motion in
new motion with different character
hmm … something’s not quite right …
Simple Try 2

Need to meet constraints, for instance
foot touches floor

No problem, just use
inverse kinematics to
establish constraints
each frame
… better, but not very smooth …
What’s the problem?



No global notion of constraints
Solving locally for each frame
generates unwanted artifacts, can’t
plan ahead
Reason: introduced high frequency
motions
Try 2 with Filtering



Ok, just apply a low-pass filter to remove
unwanted high frequencies
But, may violate constraints
Want to preserve high frequencies in original
motion, without introducing new ones
Enough Failed Attempts


Need a way to solve the constrained
optimization problem that takes the
whole motion into account
Hmm … where have we seen this
before?
Spacetime Constraints



Mathematically encode all constraints
and objectives
Not so easy to capture desirable
aspects of original motion
mathematically
More constraints and more
complicated objective functions take
longer to solve
Tools for Traveling through
Space and Time

Constraints


Objective Functions



Identify features that must be present
Guide solution to be close to original
Representation of Motion
Starting Point

Initial Solution for Solver
Constraints
qti = parameters of motion (joint angles) at
time ti
 Define constraint as: f(qti) = c


c is a constant
Constraint examples




Parameter’s value is in a certain range (joint limits)
Point on character is in specific location or within a range
Two points are a certain distance apart
Vector between points has a certain orientation
Objective Functions

Goal: Minimize noticeable change



Hard to define, choose something simple
instead
Minimize differences between new motion
and original motions
Define functions of motion parameters
Original motion: m0 (t )
m(t )  m0 (t )  d (t )
 New (retargeted) Motion: m(t )
 Difference between the two: d (t )
2
2
 Objective Function: g (m)   (m(t )  m0 (t ))   d (t )
t
t

Representation



Want to minimize introduction of high
frequencies
Choose representation of d (t ) to achieve
this
Cubic B-splines


Control point spacing determines frequency
limit
Try having control points every 2, 4 or 8 frames
(uniform spacing)
Starting Point




Good initial motion can speed numerical
solver
Start just by scaling motion to match scaled
character
If needed translate motion to get as close as
possible to satisfying constraints
Compute translation amount needed per
frame (and low pass filter to remove high
frequencies)
Retargeting Procedure
1.
2.
3.
4.
5.
Take original motion and identify constraints
Scale and translate to find initial estimate for
solution, m1(t)
Choose representation for d(t), control point
spacing
Solve non-linear constraint problem: find d(t)
that will satisfy constraints when added to
motion estimate from step 2 (use spacetime)
If constraints are not well satisfied, solve again
using m1(t) + d(t) as initial motion in step 2 and
choose a denser spacing in step 3
Solving the Constrained
Optimization Problem


Want to solve for control point values (call
the vector of these x)
Define constraints and objective functions in
terms of these control points



minimize g(x) subject to f(x) = c
g(x) = ½ xMx (a weighted sum of squares,
diagonal matrix M gives weights)
In addition to SQP could use a non-linear
least squares solver to minimize constraint
residuals (distance from meeting constraints)
Extensions

Morphing characters


When generating initial solution estimate, apply
scaling and translation per frame
Characters with different structure



First use standard retargeting to a character
whose dimensions roughly match those of the
new character
Find correspondences (manually) between
features of original and new character, make
these constraints
Use retargeting with spacetime constraints again,
to find a new motion that satisfies these
constraints
Conclusions


Basic retargeting works for characters with
same structure, different limb lengths
Control point spacing is important for
preserving desired frequencies


Enforcing uniformity across time is a limitation
Enforcing certain features of original motion
may not produce natural retargeted motion