Facial Animation In VRML

Christian Babski (Home Page)

HANIM 1.0 & 1.1 VRML Compliant body hierarchy (BAXTER)
Animation Gallery
Real-Time Body Deformation in VRML
Facial Animation based on Displacer Prototype

This Work is mainly based on work of Prem Kalra who has developped SMILE : A Multilayered Facial Animation System (references to this work can be found at the end of this page).
Face is divided in a set of regions (cf. following pictures) which can be deformed by changing a normalized intensity factor. These regions are based on a notion of Minimum Perceptible Actions (MPA) which define basic movement you can perform. A final facial animation (meaningful expression) will be a composition of those MPAs changes among time. These regions can receive MPEG4 facial animation parameters (FAPs) to be deformed.

Adapting this system to VRML presents some problems mainly around the way to organise the final surface. In order to mimimise the size of animation file (based on PositionInterpolator nodes), the best solution is to animate only parts which are effectively moving. More than the half of the head is static, but doing so, the continuity between moving parts and the static parts is not anymore ensured. One solution is to define a surrounding sub-surface which will include all MPAs surfaces plus a thin static zone which will ensure to keep the continuity with the complete static part of the head. Then, the animation file is only composed by this surrounding surface. Such a solution minimise number of points needed to perform a facial animation, but such a surface doesn't have any connection with MPAs : it doesn't correspond to any reality (in terms of facial expression) and it is specific to VRML. In the following pictures, we can visualise regions specifics to VRML which are right eye (red), left eye (mauve), teeth (orange), moving face (blue) and static face (green).


An other problem concerned material : the surrounding surface also have to be divided in regions based on materials if we want to retreive lips or eyes colors (this will also multiply ROUTEs needed to play a facial animation). A very evident way to avoid to have to divide moving surfaces is to use texture map. The texture will move with points when the facial animation is played and will permit to get a realistic result just by using a very simple texture map tool.

Click on the image to get the VRML example of Facial Animation : Daniel Thalmann is speaking.

The previous 3D model of Daniel Thalmann is a result of our vision group which is working on 3D facial reconstruction from 2D images.

References :

P. Kalra, A. Mangili, N.M. Thalmann, D. Thalmann, "SMILE : A Multilayered Facial Animation System", Proc. of Conference of Modeling in Computer Graphics, Springer, Tokyo, 1991, pp 189-198

P. Kalra, A. Mangili, N.M. Thalmann, D. Thalmann, "Simulation of Facial Actions Based on Rational Free Form Deformations", Proc. Eurographics'92, Cambridge, U.K., 1992, pp 59-68

Computer Graphics Lab
Swiss Federal Institute of Technology
CH-1015 Lausanne
SWITZERLAND

E-mail : christian.babski@epfl.ch

Last modified: Fri Oct 2 16:35:05 MDT 1997