Muscle Simulation

Muscle simulation: a picture is worth a thousand words.

I completed my M.Sc. degree at the University of Toronto in 1998. The title of my thesis is Accurate Characterization of Skin Deformations Using Range Data. The abstract follows:

Generating realistic skin deformations arising from joint movement and muscle contraction is a requirement for producing realistic human character animation. For example, the human arm, hand, or foot change shape in significant ways during motion, ways which are difficult to model accurately with traditional character animation techniques. This thesis suggests a new way to build realistic animated models of the human form. We exploit range image technology to capture the human form and create parameterized animated surface models based upon this data. The thesis improves in several ways upon algorithms required to process the range data, as well as presenting a methodology for the required data capture, data integration and surface parameterization. Results are presented for the parameterized flexion of a human arm model.

A deficiency of most commercial animation packages is that the effect of muscle flexion on a character's appearance is totally ignored or is "faked" with an approach that has no physical meaning. For example, the following alien leg flexion was modeled in a popular package. Note the bulging of the hamstring and the calf muscles (the 'bulging' parameters were deliberately set to large values for clarity). The modeling software has no notion that it is modeling a leg with muscles that are supposed to behave in a certain way. This naive approach may be sufficient for cartoon-like characters but will not do the trick for close-up views of realistic characters that stay on the screen for more than a few seconds.

Muscle flexion according to a current commercial package.

At the other extreme, researchers have proposed anatomically correct musculo-skeletal models that produce great-looking results. However, these models are difficult to adjust to different body types - often requiring a degree in anatomy to know how to change the various parameters from, say, a skinny character to a muscular character.

This thesis proposes an approach that lies in between the two extremes mentioned above. A range scanner is used to capture a human model in different postures. Scans from different views are required to build complete surface representations of the model for each posture. A consistent surface model for each posture is assembled by incrementally aligning the data sets, eliminating the redundant surfaces, and merging the data sets together. This creates a series of polygonal mesh models of the character. A skeleton is aligned with each of the models, and the polygonal models are linked to their associated skeleton. All this information is merged into one polygonal mesh model augmented with an underlying skeleton. When the user moves the skeleton, the mesh is deformed correctly to simulate muscle deformation according to the skeleton's posture and the muscle activation intensity.

The following two animations show the proposed approach implemented for a human arm. There are holes that form in the mesh at the elbow since a skin surface model not implemented for these animations. Nevertheless, the animations clearly demonstrate the bulging of the biceps muscle as the elbow is bent. Note that no texture was applied to the model; all the visible details come from the geometry of the model.

Click for a larger animation
Click for a larger animation

Click on the small animations for a larger mpeg animation!

You can download a pdf version of my thesis. It is a rather large file, but thanks to Adobe, it will download one page at a time as you request them if you're just viewing it online. If you want to print the thesis, you should save it to disk first.