Verbs and Adverbs: Multidimensional Motion
Interpolation Using Radial Basis Functions
Presented by Sean Jellish
Charles Rose
Michael F. Cohen
Bobby Bodenheimer
• 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 Problem
• 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
The Interpolation Method
• 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
Verbs and Adverbs
• 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
Adverb Spaces
• 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
Parts of the System
• 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)
Animated Figures
• 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
Restrictions on Examples
• 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
Annotation
Example Populated Adverb Spaces
• 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
Key Times
• 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
Time Warping
• 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
• 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:
Constraints
• 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
Creating New Motions
• 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
Linear Approximation
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
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
Value of our examples interpolated into the approximated hyperplane
Interpolated control point for new motion
The residuals formed from the introduction of the hyperplane
Special square matrix created to cancel out the residuals
Weights of the radial basis functions
Radial basis functions with parameter p
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
• 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
Verb Graphs
• 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
Transitions
• 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
Transitioning at Runtime
• 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 System
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
Top Related