Title: Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions
1Verbs and Adverbs Multidimensional Motion
Interpolation Using Radial Basis Functions
Charles Rose
Michael F. Cohen
Bobby Bodenheimer
Presented by Sean Jellish
2The 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
3The 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
4Verbs 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
5Adverb 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
6Parts 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 figures pose at each frame
7Animated 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)
8Restrictions 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
9Annotation
- 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
10Example Populated Adverb Spaces
11Key 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
12Time 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
13Example Time Mapping
14Constraints
- 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
15Creating 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
16Linear Approximation
- Create a best fit hyperplane through the adverb
space that minimizes the error between an
examples value in the plane and its actual value
17Radial 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
18Summing Up the Math
Radial basis functions with parameter p
Interpolated control point for new motion
The height of p in the approximated hyperplane
Sum of all the radial basis functions at p
Actual value of each of our examples in the
hyperspace
Weights of the radial basis functions
Value of our examples interpolated into the
approximated hyperplane
Special square matrix created to cancel out the
residuals
The residuals formed from the introduction of the
hyperplane
19Summing 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
20Verb 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
21Transitions
- 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
22Transitions
- DOFs are found by interpolating joint positions
between the verbs
23Transitioning 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
24Runtime 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
25Runtime 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