Another use of inverse kinematics is to infer skeletal position from incomplete motion capture data. Motion capture data is almost always incomplete because not all markers are visible all of the time. Inferring skeletal position actually consists of several tasks: inferring bone lengths, mapping marker positions to handle positions, and inferring joint angles. We assumed that the first two were solved, and concerned ourselves with the third alone. In practice, all three problems may need to be solved simultaneously.
We began with motion capture data where the problem had been solved and joint angles had been inferred. We then selected a small subset of the markers and constrained them to their known positions. Ignoring the actual angles from the motion capture data, we attempted to infer all of them from the subset of constraints we had specified.
The extent to which this worked depended on the motion being modelled and the number of constraints we used. Overall, we were pleased with how realistic the animations looked. One of the surprises was that running Powell's method to convergence actually yielded less natural animation than terminating early, using a large allowable error. When we solve the constraints as well as possible in each frame, then any imperfections in our heuristic become apparent via jerky motion. Using a large allowable error, the animation has a better flow, even if it less closely approximates the constraints.
Sample Animations: