On top of the "muscle" layer, we find an abstraction for humanly significant expressions. This layer might include smile, frown, horror, surprise, and other expressions.
As the objective of many projects was to emulate the human face during speech, there usually exists another layer above expressions that include phonemes (speech primitives). A complete data set of phonemes allow the synthesized face to look like it is coordinated with speech which is played back separately.
One such attempt utilizes B-spline patches that were defined manually on an actual digitized face mesh [Nahas88]. The control points for the B-spline patches were moved to effect the distortion of the face. While this method is powerful, we know of no automatic way of defining the relevant control points for the B-spline patches.
Another such attempt used Rational Free-form Deformations to move points inside a defined volume [Waters87, Platt81], if not for the amazingly little understanding we have of them. The human facial muscles are capable of a large amount of expressions, and realistic simulation of muscles requires the simulation of muscle action wrapping around the skull structure, jaw rotation, and folding and stretching properties of skin.
After the data set was complete, we decided that the available functions to deform the face mesh were overly complicated, and derived a simple one:
1 P' = P + ( -------------- ) (Pd - P) t |Po + P| + 1where t is the time parameter running from 0 to 1, Po is the point where the force is applied, Pd is the point of attractive force, and P is every face vertex in the bounding box. The formula moves every vertex in the bounding box towards the attraction point Pd by a magnitude inversely proportional to its distance from the point of force application Po. An example of this muscle model is shown below:
|Po - P| 1 + cos( ---------- pi ) P' = P + ( R ) (Pd - Po) t ------------------------ 2where we introduced a new parameter R. R defines the radius of influence, and while closely related to the size of the bounding box, is a separate parameter. In general, however, R should cover roughly the same area as the bounding box. Note that singularities appear if R is much smaller than the bounding box. Note that the Pd - Po term in this formula moves all the vertices in the bounding box and the radius of influence parallel to the vector between the point of force application towards the point of attraction. In effect, the point of attraction actually defines a plane of attraction for the bounding volume. This is the formula we settled with, and the cosine term does provide us with a smooth deformation. A sample of this muscle model is shown below:
|Po - P| 1 + cos( ---------- pi ) P' = P + K ( R ) (P - Pd) t ------------------------ 2There are two important differences. The K term was introduced to allow the muscle to contract in one axis and expand in another, instead of a uniform contraction or expansion. The direction of motion is now defined by P - Pd, which is in the direction of the point of attraction (similar to formula 1). The reason we inverted the sign of this formula was because we felt that a positive K should denote contraction and a negative K should denote expansion, in order to be consistent with formula 2. The example on the left below shows a contracting sphincter muscle and the one on the right shows an expanding sphincter muscle:
Click Here to see the smile animation.
Click Here to see the kiss animation.
Data Explorer files of our work
Badler N. and Platt S., Simulation of Facial Muscle Actions Based on Rational Free-form Deformations, Computer Graphics, September 1992
Kang C., Chen Y., and Hsu W., Automatic Approach to Mapping a Lifelike 2.5D Human Face, Image and Vision Computing, 1994
Magnenat-Thalmann N., Minh H., de Angelis, M., and Thalmann D., Design, Transformation, and Animation of Human Faces, Visual Computer
Magnenat-Thalmann N., Primeau E., and Thalmann D., Abstract Muscle Action Procedures for Human Face Animation, Visual Computer, 1988
Nahas M., Huitric H., Rioux M., and Domey J., Facial Image Synthesis Using Skin Texture Recording, Visual Computer, December 1990
Nahas M., Huitric H., and Saintourens M., Digital Actors for Interactive Television, Proceedings of the IEEE, 1995
Tost D. and Pueyo X., Human Body Animation: A Survey, Visual Computer, March 1988
Waters K., A Muscle Model for Animating Three-dimensional Facial Expressions, Computer Graphics, July 1987