CMPE 535
Computer Graphics
Project Title
OpenGL Based Visual Tool For Facial Animation Students
Başar Uğur / Işık Barış Fidaner
The project is to construct a program that serves as a displaying and editing tool for face models. The program mainly consists of three classes of structures, and operations on them. These structures are face models, areas selected on them, and face properties defined on the areas. Main operations are reading, modifying and writing face models; creating areas by making selections; and defining properties as transformations on these areas.
References 1. "The Winged-Edge Data Structure"
MichiganTech Computer Science Department, [link].
2. "Curvature Estimation for Unstructured Triangulations of Surfaces" Los Alamos National Laboratory, [link].
3. "Greta: A Simple Facial Animation Engine"
Stefano Pasquariello, Catherine Pelachaud, [link].
4. "FaceGen: Stand-alone parametric face modelling software" Singular Inversions, [link].
Instructor
Ali Vahit Şahiner Course
CMPE 535 Computer Graphics
2001102110 Işık Barış Fidaner
2001100940 Başar Uğur
Areas are derived from the face model In the editing tool, the user can practically make selections (define areas) using the mouse cursor. This can be done in several ways: • • •
By clicking on vertices one by one By selecting single surfaces Using the "freehand selection" tool, by drawing the boundaries
•
Or using the "magic wand", which automatically selects parts of the face according to the curvature values1.
In the figure, "nose" is marked as an example area. Any part of the face can be defined as an area, including cheeks, eyelids, moles, acnes etc. It depends on user's choice. There may be many areas, separate or overlapping,
Area definitions Areas are defined as sets of vertices. Each vertex has some kind of "alpha" value which denotes its degree of membership in the area.
The face model Face model is read from VRML files and kept in the memory as a Winged-Edge Table structure.
Properties are defined on areas After defining certain areas on the face, it is necessary to create properties to parametrize the face model. Properties are the transformations applied to certain areas. For example a property "nose size" may be defined as a scaling transformation on the area "nose". Composite properties can also be defined on several areas as a set of simple properties. Length and size of simple organs, as well as complex properties like depth of wrinkles, or lines under eyes, or dimples can be defined and altered on a face.
Property definitions
Model is altered by its properties Different faces have different properties. These are realized by adjusting the face model accordingly. Changing a property means scaling, translation, rotation, or a combination of them being applied to the areas (sets of vertices).
1.
Curvature is a mathematical value defined on every vertex. This value is calculated using the interior angles of the neighboring surfaces.
Properties are defined on areas as lists of operations such as translation, rotation and scaling to be applied to vertices in these areas.