Upload
isik-baris-fidaner
View
233
Download
4
Embed Size (px)
DESCRIPTION
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.
Citation preview
CMPE 535 Computer Graphics
Project Title
OpenGL Based Visual Tool For Facial Animation
Students
Başar Uğur / Işık Barış Fidaner
Instructor
Ali Vahit Şahiner
Course
CMPE 535 Computer Graphics
2001102110 Işık Barış Fidaner 2001100940 Başar Uğur
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.
References1. "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].
1. Curvature is a mathematical value defined on every vertex. This value is calculated using the interior angles of the neighboring surfaces.
The face modelFace model is read from VRML files and kept in the memory as a Winged-Edge Table structure.
Area definitionsAreas are defined as sets of
vertices. Each vertex has some kind of "alpha" value
which denotes its degree of membership in the area.
Property definitionsProperties are defined on
areas as lists of operations such as translation,
rotation and scaling to be applied to vertices in these
areas.
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 se-lects parts of the face according to the curvature val-ues1.
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,
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.
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).