Constraint-based Motion Optimization Using a Statistical Dynamic Model

Alex J. Champandard on August 6, 2007

Siggraph 2007 has been running for a few days now. Make sure you catch up on the three previous posts describing control innovations for character animation.

This paper is from the Texas A&M University Graphics and Animation Lab, and involves optimizing motions based on constraints using a statistical dynamic model. The innovation in this paper is based on two ideas:

  • High-quality motion can be synthesized by finding trajectories through a set of constraint points.

  • It’s possible to compute these trajectories based on a statistical model learned from motion capture data.

Using motion capture data to optimize trajectories for certain constraints is easier than hand-designing these functions, and can provide much more realistic results.

Multiple characters jumping with trajectories.

View or download the movie (AVI, 26 Mb).

Here’s the abstract:

We present a technique for generating animation from a variety of user-defined constraints. We pose constraint-based motion synthesis as a maximum a posterior (MAP) problem and develop an optimization framework that generates natural motion satisfying user constraints. The system automatically learns a statistical dynamic model from motion capture data and then enforces it as a motion prior. This motion prior, together with user-defined constraints, comprises a trajectory optimization problem. Solving this problem in the low-dimensional space yields optimal natural motion that achieves the goals specified by the user.

We demonstrate the effectiveness of this approach in two domains: human body animation and facial animation. We show that the system can generate natural-looking animation from key-frame constraints, key-trajectory constraints, and a combination of these two constraints. For example, the user can generate a walking animation from a small set of key frames and foot contact constraints. The user can also specify a small set of key trajectories for the root, hands and feet positions to generate a realistic jumping motion. The system can generate motions for a character whose skeletal model is markedly different from those of the subjects in the database. We also show that the system can use a statistical dynamic model learned from a normal walking sequence to create new motion such as walking on a slope.

Download the paper (PDF, 17.5M):

Constraint-based Motion Optimization Using A Statistical Dynamic Model
Chai, J. and Hodgins, J. K.
ACM Transactions on Graphics

Here’s a quick assessment of how easy it would be to integrate the technology into upcoming games.

Applicability to games: 8/10
This approach is useful for a wide range of animation problems, since it provides realistic trajectories from any kind of keyframes. It still relies on motion capture data, but only for learning the statistical model.
Usefulness for character AI: 8/10
For AI, this kind of solution is practically perfect, as it is not constrained to motion capture data. The AI logic can specify constraints based on its goals and the environment dynamically. The down side of this particular implementation is that it requires quite a few intermediate keyframes, not only the logical positions.
Simplicity to implement: 3/10
The implementation requires some knowledge of unconstrained optimization in general, as well as understanding of signal processing.
An animated character sitting in a chair

Keyframes specified for sitting down in a chair.

How do you think this kind of technology can be best applied to game AI?

Discussion 0 Comments

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!