Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions

advertisement
Verbs and Adverbs:
Multidimensional Motion
Interpolation Using Radial Basis
Functions
Charles
Rose
Bobby
Bodenheimer
Presented by Sean Jellish
Michael F.
Cohen
The Problem
• Creating believable animated humans is
hard
– Results are difficult to reuse
– Modifying an animation can be almost as
hard as creating the original motion
– Exact motion may not be known until
runtime
The Interpolation Method
• Sets of example motions are combined with an
interpolation scheme to produce new motions
• Interpolated motions must keep the look and
feel of the examples
• Examples are precious and hard to obtain
• Interpolation scheme must be efficient to run
in real time
Verbs and Adverbs
• Verb – a parameterized motion
– Walking, Running, Swimming
• Adverb – the parameters for the motion
– Happy, Tired, Frustrated, Confused
• Verb Graph – a graph of motions with
transitions between them
Adverb Spaces
• An axes is defined for each adverb
• This creates a multidimensional adverb space
of all possible variations of a particular verb
• Every example or interpolated motion can be
placed in this adverb space based on the values
of its parameters
Parts of the System
• Two main parts:
– Authoring system
• Allows for creating verbs from sets of examples
• Allows for combining verbs together
– Runtime system
• Determines which verb is currently in use
• Calculates figure’s pose at each frame
Animated Figures
• System assumes figures are constructed from a
hierarchy of rigid links connected by joints
• Each joint may have one or more DOFs
• Root of hierarchy has 6 additional DOFs
• The DOF functions are created by
interpolating the example motions which are
weighted by their adverbs (this is the hard
part)
Restrictions on Examples
• All examples of a particular verb must be
structured similarly
– Start on same foot
– Take same number of steps
• The examples must have a consistent use of
joint angles
Annotation
• Each example motion is placed into the adverb
space by giving it adverb values
• Key times must also be defined in each
example
• Each example is given a set of constraints
Example Populated Adverb Spaces
Key Times
• Keytime – an instant when an important
structural event occurs
– Foot down
– Foot up
• Specifying keytimes enables the different
example motions to be of different time
durations
Time Warping
• For interpolation to work, time must be
warped so that examples of varying lengths
can be compared
• Clock time gets transformed into a generic
time based on the key times
• In this way all of the examples can be put into
a canonical timeline and will be at the same
structural point of motion for any given t
Example Time Mapping
Constraints
• Key times also specify the periods during
which kinematic constraints should be
enforced
• Specific constraint conditions are not
evaluated until runtime when they are
triggered by a key time being crossed
• To find the DOF changes needed to satisfy the
constraint, solve the linear system:
Creating New Motions
• Populate adverb space with examples
• Every point p in the adverb space defines a
motion with the specified parameters
• Combine radial basis functions of all the
examples and add in a linear polynomial
– Polynomial provides an approximation to the space
– Radial basis functions locally adjust the polynomial
Linear Approximation
• Create a best fit hyperplane through the adverb
space that minimizes the error between an
example’s value in the plane and its actual
value
Radial Bases
• These are used to locally adjust the linear
approximation returned by the hyperplane
• The basis functions are dilated cubic B-splines
• Dilation factor gives a support radius equal to
twice the distance to nearest example
Summing Up the Math
Radial basis
functions with
parameter p
Interpolated control
point for new motion
Sum of all the radial
basis functions at p
Weights of the radial
basis functions
Special square matrix
created to cancel out the
residuals
The height of p in the
approximated hyperplane
Actual value of each of our
examples in the hyperspace
The residuals formed
from the introduction of
the hyperplane
Value of our examples interpolated
into the approximated hyperplane
Summing Up the Math
• Creates a wavy hyperplane
• The value of each example is on the
hyperplane and there is a spline shaped
mountain extending away from it in all
directions for an amount equal to twice
the distance to a neighbor
• A new motion will be somewhat effected
by all of the examples but even more so
by its close neighbors
Verb Graphs
•
•
•
•
A directed graph of verbs
Nodes correspond to verbs
Arcs correspond to transitions between verbs
If multiple arcs leaving a node, each arc is
given a likelihood of occurring
• Adverbs are shared across verbs even if they
do not apply
• Static
Transitions
• Transitions are meant to smoothly move
control between verbs
• They map similar segments between two verbs
• Transition duration is determined by taking the
average of the lengths of the transition
intervals of the two verbs in generic time
• The two verbs are blended by fading the joint
angles of the first verb out while fading those
of the second verb in
Transitions
• DOFs are found by interpolating joint
positions between the verbs
Transitioning at Runtime
• A search is made to find shortest path through
graph from current verb to desired verb
• Upcoming transitions and verbs stored in
queue
• Must remember position and orientation
between verbs
• If queue goes empty and verb ends, a
transition is chosen based on the transition
weights
Runtime System
• Events inserted into event queue in timestamp
order and associated with callback function
• Three event types
– Normal
– Sync
– Optional
• Render event calculates DOFs for timestamp
• Display event displays rendered image when
timestamp equals clock
Runtime Processing
Only computed when the
parameters to a verb or the
whole verb itself changes
Only four of these are
needed at a time and
they are only
computed once per
verb adverb set
Download