Logo Studenta

Sistema de Geração de Modelos Faciais 3D Animáveis

¡Este material tiene más páginas!

Vista previa del material en texto

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY 
CAMPUS ESTADO DE MÉXICO 
I ,-·f( ¡·y 
SISTEMA PARA LA GENERACIÓN DE MODELOS FACIALES 
3D ANIMADLES, BASADOS EN MÚSCULOS Y COMPATIBLES 
CON MPEG-4, A PARTIR DE UNA IMAGEN, DE 
DESCRIPCIONES VERBALES O DE FORMA ALEATORIA. 
TESIS QUE PARA OPTAR EL GRADO DE 
MAESTRO EN CIENCIAS COMPUTACIONALES 
PRESENTA 
ADRIANA LORENA BOJÓRQUEZ ARGANIS 
Asesor: 
Comité de tesis: 
Jurado· 
Dr. ISAAC RUDOMIN GOLDBERG 
Dr. JORGE RAMÍREZ URESTI 
Dr. HOMERO RÍOS FIGUEROA 
Dr. NEIL HERNÁNDEZ GRESS 
Dr. JORGE RAMÍREZ URESTI 
Dr. ISAAC RUDOMIN GOLDBERG 
Presidente 
Secretario 
Vocal 
Mat. ANA LUISA SOLIS GONZALEZ COSlO Vocal 
Atizapán de Zaragoza, Edo. de México, Diciembre de 2001. 
4 
RESUMEN 
El rostro hwnano es la parte del cuerpo que nos permite reconocer a una persona y detectar sus 
emociones. A pesar de que la mayoría de las caras tienen una composición y estructura similar, 
existe una variación considerable de un individuo a otro. Uno de los retos del modelado facial es 
el desarrollar modelos que soporten estas variaciones. Un modelador de diferentes caras, que 
puedan ser animadas con expresiones faciales y sincronizadas con el movimiento de labios y 
habla, es muy útil para aplicaciones de video-telefonía, industria cinematográfica (generación de 
actores virtuales), juegos computacionales e interfaces con agentes personalizados para tutoriales, 
ventas y publicidad. 
La tesis "SISTEMA PARA LA GENERACIÓN DE MODELOS FACIALES 3D ANIMABLES, 
BASADOS EN MÚSCULOS Y COMPATIBLES CON MPEG-4, A PARTIR DE UNA 
IMAGEN, DE DESCRIPCIONES VERBALES O DE FORMA ALEATORIA" es un sistema 
que genera de manera rápida diferentes caras, a partir de la especificación de características 
distinguibles dadas por fotografias o descripciones. 
El sistema utiliza una base de datos de caras tridimensionales y sus nnagenes correspondientes, 
así como técnicas de reconocimiento facial para obtener una codificación eficiente de datos que 
permite modificar un modelo facial genérico y construir nuevos modelos. Las caras generadas 
son compatibles con MPEG-4 ( el primer estándar internacional que especifica una representación 
binaria comprimida de objetos audio-visuales sintetizados y animación de caras) y contienen 
músculos que permiten la animación de expresiones faciales de fonna realista. 
La generación del modelo se puede realizar en cualquiera de 4 módulos. El primer módulo genera 
una cara 3D a partir &l análisis automático de una imagen facial 2D; el segundo, genera una cara 
3D de fonna aleatoria; el tercero, por medio de una interfaz tipo identikit o retrato hablado con 
descripciones verbales y el cuarto, con el análisis interactivo de una imagen facial 2D. Un quinto 
módulo consiste en animar el modelo facial, a partir de datos provistos por investigadores de la 
Universidad de Wright, Ohio, E.U. 
Esta investigación presenta una breve explicación del estado de arte en reconocuruento facial, 
modelado, generación y animación de caras tridimensionales, así como la descripción del 
estándar MPEG-4. Posteriormente, se describe el trabajo desarrollado para construir el sistema. 
Se lograron construir modelos faciales tridimensionales en un promedio de 7 segundos y 
animarlos en un rango de 43 a 58 cuadros por segundo en una PC, con procesador Celeron a 400 
Mhz. Hasta el momento, este modelador es el único en su tipo, ya que puede generar y animar 
modelos tridimensionales con músculos y compatibles con MPEG-4, de forma aleatoria, a partir 
de una imagen frontal o una interfaz tipo identikit, con la ayuda de una base de datos de caras 
tridimensionales y técnicas de reconocimiento facial. 
5 
CONTENIDO 
1 Planteamiento del Problema .................................................................................................... 12 
1.1 Objetivo general ............................................................................................................... 14 
1.2 Objetivos específicos ........................................................................................................ 14 
2 Estado del arte ......................................................................................................................... 15 
2.1 Reconocimiento facial. ..................................................................................................... 15 
2.1.1 Detección de caras en imágenes ................................................................................ 16 
2.1.2 Segmentación y normalización de caras .................................................................... 16 
2.1.2.1 Análisis de componentes principales: Eigenfaces .............................................. 18 
2.1.2.2 Análisis de componentes independientes ............................................................ 23 
2.1.2.3 Factorización no-negativa de una matriz ............................................................ 26 
2.1.3 Sistemas comerciales ................................................................................................. 27 
2.2 Modelado facial ................................................................................................................ 28 
2.2.1 Modelos paramétricos ................................................................................................ 28 
2.2.2 Modelos basados en músculos ................................................................................... 29 
2.3 Generación de modelos faciales ....................................................................................... 30 
2.3 .1 Sistemas interactivos ................................................................................................. 30 
2.3.2 Sistemas automáticos ................................................................................................. 35 
2.3.2.1 Clonación automática de modelos faciales 3D ................................................... 36 
2.3.2.2 Síntesis de modelos faciales 3D utilizando un modelo morph ........................... 37 
2.3.2.3 Generación de modelos 3D a partir de una sola fotografia mediante PCA ........ 39 
2.4 Animación facial .............................................................................................................. 41 
2.4.1 Métodos de animación ............................................................................................... 41 
2.4.2 Sincronización con habla ........................................................................................... 44 
2.5 l\1PEG-4 ............................................................................................................................ 45 
2.5.1 Cara en estado neutral. ............................................................................................... 45 
2.5.2 Puntos característicos ................................................................................................. 46 
2.5.3 FAPs .......................................................................................................................... 47 
2.5.4 Sistemas compatibles con MPEG-4 ........................................................................... 48 
2.5.5 Deformación basada en puntos de control de MPEG-4 ............................................ .49 
3 Desarrollo ................................................................................................................................ 51 
3.1 Trabajo preliminar ............................................................................................................ 51 
3.1.1 Construcción de un modelo facial genérico ............................................................... 51 
3.1.1.1 Sistema coordenado del modelo ......................................................................... 51 
3 .1.1.2 Construccon del modelo y localización de puntos de control de MPEG-4 ....... 52 
3.1.1.3 Construcción y representación de músculos .......................................................54 
3.1.1.4 Ajuste del modelo (calibración) .......................................................................... 55 
3.1.2 Construcción de la base de datos .......................................................................... ; .... 56 
3.1.2.1 Recopilación ....................................................................................................... 56 
6 
3.1.2.2 Generación y normalización de modelos tridimensionales ................................ 57 
3.1.2.3 Extracción de z-buffer ......................................................................................... 59 
3 .1.3 Análisis de datos ........................................................................................................ 60 
3.1.3.1 Algoritmo FNM y resultados .............................................................................. 61 
3.1.3.2 Análisis de componentes principales .................................................................. 67 
3.2 Desarrollo del sistema ...................................................................................................... 72 
3.2.1 Módulo 1. Análisis automático de una imagen 2D .................................................... 72 
3.2.1.1 Resultados ........................................................................................................... 74 
3.2.2 Módulo 2. Generación de una cara de forma aleatoria .............................................. 76 
3.2.2.1 Reconstrucción utilizando ACP .......................................................................... 77 
3.2.2.2 Resultados ........................................................................................................... 77 
3.2.3 Módulo 3. Identikit 3D .............................................................................................. 79 
3.2.3.1 Definición de características ............................................................................... 79 
3.2.3.2 Clasificación de la base de datos ......................................................................... 82 
3.2.3.3 Interfaz gráfica .................................................................................................... 83 
3 .2.3 .4 Análisis de la descripción de entrada y codificación de datos ............................ 84 
3.2.3.5 Resultados ........................................................................................................... 84 
3.2.4 Módulo 4. Análisis interactivo de una imagen 2D .................................................... 87 
3 .2.4.1 Resultados ........................................................................................................... 88 
3.2.5 Módulo 5. Animación facial ...................................................................................... 90 
3.2.5.1 Normalización de coordenadas ........................................................................... 90 
3.2.5.2 Contracción de músculos .................................................................................... 91 
3.2.5.3 Movimiento de quijada ....................................................................................... 92 
3.2.5.4 Resultados ........................................................................................................... 92 
4 Conclusiones y trabajo a futuro .............................................................................................. 94 
4.1 Trabajo Futuro .................................................................................................................. 95 
5 Bibliografia ............................................................................................................................. 96 
6 Anexo A ................................................................................................................................ 101 
6.1 Anatomía ........................................................................................................................ 101 
6.1.1 Huesos ...................................................................................................................... 101 
6.1.2 Músculos .................................................................................................................. 1 O 1 
6.1.3 Piel ........................................................................................................................... 102 
6.2 Antropometría ................................................................................................................. ! 03 
Anexo B ....................................................................................................................................... 106 
6.3 Instructivo ....................................................................................................................... 106 
6.3.1 Requerimientos del sistema ..................................................................................... 106 
6.3 .2 Instrucciones de instalación ..................................................................................... 106 
6.3.3 Instrucciones de ejecución ....................................................................................... 107 
6.3.3.1 Módulo l. Análisis automático ......................................................................... 108 
6.3.3.2 
6.3.3.3 
Módulo 2. Generación aleatoria ........................................................................ 108 
Módulo 3. Identikit 3 D ..................................................................................... 108 
6.3.3.4 Módulo 4. Análisis interactivo de una imagen 2D ........................................... 109 
6.3 .3 .5 Interfaz final y módulo de animación facial ..................................................... 11 O 
Anexo C ....................................................................................................................................... 11 l 
6.4 Estructura del modelo genérico ...................................................................................... 111 
7 
6.5 Ajuste del modelo (calibración) ..................................................................................... 112 
6.6 Músculos ......................................................................................................................... 116 
6.7 Desplegado del modelo en Java3D ................................................................................. l 18 
6. 8 Exportación a VRML ..................................................................................................... 106 
6. 9 Exportación a OBJ .......................................................................................................... 120 
6 .1 O Exportación a D XF ......................................................................................................... 121 
8 
LISTA DE FIGURAS 
Fig. l. Esquema general del proyecto SDFA 12 
Fig. 2. Ventanas deslizantes del algoritmo de Samaria, [28, 29]. 17 
Fig. 3. Descripción de los cinco estados. Samaria, [28, 29]. 17 
Fig. 4. Máscaras utilizadas por Brunelli, [30]. 18 
Fig. 5. Eigenfaces estándar, [21]. 19 
Fig. 6. Reconocimiento con eigenfaces. 21 
Fig. 7. (a) Vistas de prueba, (b) Resultados eigenfaces, (c) Resultados eigenfeatures, [34]. 22 
Fig. 8. Rangos de reconocimientos para eigenfaces, eigenfeatures y su combinación, [34]. 22 
Fig. 9. Esquema de la primer arquitectura del algoritmo ACI propuesta por Bartlett, [22]. 24 
Fig. 10. Representación de una imagen facial en ACI (combinación lineal de coeficientes), [22]. 
24 
Fig. 11. Modelo de síntesis de imágenes, [22]. 25 
Fig. 12. Representación factorial de ACI = (ul, u2, .. , un), [22]. 25 
Fig. 13. Resultados de FNM, [35]. 27 
Fig. 14. Software Viisage ™ de Viisage Technology, [37]. 27 
Fig. 15. Modelo de Parke, [41]. 29 
Fig. 16. Simulación de capas cutánea, subcutánea y muscular de Terzopoulos, [50]. 30 
Fig. 17. Sistema de Pighin, [ 52]. 31 
Fig. 18. Puntos característicos en imágenes iniciales,[51]. 31 
Fig. 19. Ajuste del modelo, [51]. 31 
Fig. 20. Modelo producido por JOE Face™ en VRML97, [62] 32 
Fig. 21. Interfaz de JOE Face™, [62] 32 
Fig. 22. 3DmeNowM de Biovirtual, [63]. 33 
Fig. 23. Bakehead™ de RedTed, [64]. 33 
Fig. 24. Ulead face factoryM, [65]. 33 
Fig. 25. Digimask™ de Matrox, [66]. 34 
Fig. 26. Sistema Identikit: Spotlt! ™, [7] 34 
Fig. 27. Sistema Identikit: Facette™, [8] 34 
Fig. 28. Control de características faciales tipo Identikit de FaceGen Modeller 2.0™, [67]. 35 
Fig. 29. Descripción del sistema de Goto et al., [53]. 36 
Fig. 30. Detección automática de características faciales, [53]. 36 
Fig. 31. Inicialización y seguimiento, [53]. 37 
Fig. 32. Modelador de Blanz y Vetter, [11]. 38 
Fig. 33. Unión del modelo general y una imagen. 39 
Fig. 34. Codificación de una cara usando eigenfaces, [10]. 40 
Fig. 35. Diagrama del sistema de Cuevas y Rudomin, [10]. (a) Inicialización, (b) Generación de 
una cara 3D. 40 
Fig. 36. Resultados de reconstrucción tridimensional, Cuevas y Rudomin, [ 1 O]. 41 
9 
Fig. 37. Malla utilizada en FaceGen™, [67]. 43 
Fig. 38. Software FaceGen Modeller 2.0™ de FaceGen, [67]. 43 
Fig. 39. Ejemplos de visemas, [71]. 44 
Fig. 40. MPEG-4 Cara en estado neutral, [73, 74]. 45 
Fig. 41. MPEG-4 Puntos característicos, [73, 74]. 47 
Fig. 42. Ejemplos de animación en VIDAS, [76]. 48 
Fig. 43. Cuadros de animación para "Hello", [53]. 49 
Fig. 44. Cálculo de pesos, [80]. 50 
Fig. 45. Sistema coordenado del modelo genérico. 52 
Fig. 46. Modelo de Parke, [39]. (Original en colores). 52 
Fig. 47. Localización de 64 puntos de control de MPEG-4. 53 
Fig. 48. Modelo genérico. a) Esqueleto, b) Con textura. 53 
Fig. 49. Músculos del modelo facial en rojo. (Original en colores). 54 
Fig. 50. Músculos de la boca. 54 
Fig. 51. Resortes y partículas en un polígono. 55 
Fig. 52. Número de caras y rangos de edad de la base de datos. 56 
Fig. 53. Cámara Minolta 3D 1500™. 57 
Fig. 54. Fotografías obtenidas por la cámara Minolta 3D 1500™. (a) Información de colores y 
textura, (b) Información de la profundidad. 57 
Fig. 55. Generación del modelo 30 en el software Metaflash Studio™ de Metacreations. 58 
Fig. 56. Algunas caras 30 de la base de datos. 58 
Fig. 57. Aplicación para extraer z-buffer. 59 
Fig. 58. Imágenes obtenidas (a) Imagen con textura, (b) Imagen con inf. de profundidad. 59 
Fig. 59. Algunas imágenes9 utilizadas en algoritmo FNM. 61 
Fig. 60. Algoritmo FNM en Matlab™ de MathWorks. 62 
Fig. 61. Imagen original. 62 
Fig. 62. Matriz V, donde cada columna corresponde a una imagen. 62 
Fig. 63. Matriz W. 63 
Fig. 64. Matriz H. 63 
Fig. 65. Imagen reconstruida. 63 
Fig. 66. Algoritmo para preprocesar las imágenes. 63 
Fig. 67. Algoritmo para visualizar. 64 
Fig. 68. Matriz V (procesada para permitir visualización). 64 
Fig. 69. Matriz W (procesada para permitir visualización). 64 
Fig. 70. Matriz H (procesada para permitir visualización). 64 
Fig. 71. Imagen antes de hacer el clip. 64 
Fig. 72. Imagen reconstruida utilizando clip inicial. 64 
Fig. 73. 13 imágenes base de la matriz W (procesadas para permitir la visualización). 65 
Fig. 74. 13 imágenes base. 66 
Fig. 75. Resultados del algoritmo FNM, sobre 155 imágenes faciales y 20 componentes. 67 
Fig. 76. Algunas imágenes de la base de datos utilizadas. 68 
Fig. 77. Extracción de eigenfeatures. 69 
Fig. 78. Eigenfeatures: imágenes y rasters. 69 
Fig. 79. Reconstrucción del ojo izquierdo 7 eigenvectores de 16 imágenes 69 
Fig. 80. Reconstrucción del ojo izquierdo 16 eigenvectores de 16 imágenes. 69 
10 
Fig. 81. Aplicación 3D Face Analyzer. 70 
Fig. 82. Código para construir la matriz de covarianza con datos unidimensionales. 71 
Fig. 83. Esquema general de los módulos de reconstrucción. 72 
Fig. 84. Pre-procesamiento de una imagen. 73 
Fig. 85. Resultados del algoritmo de reconocimiento. 73 
Fig. 86. Resultados preliminares: imágenes originales y caras 3D construidas (textura ajustada). 
74 
Fig. 87. Resultado preliminar, cara 3D con ajuste de proporciones verticales. 75 
Fig. 88. Imágenes de la base y generación de cara 30. 75 
Fig. 89. Esquema para la generación aleatoria de una cara. 76 
Fig. 90. Generación aleatoria de geometría. 76 
Fig. 91. Caras obtenidas de forma aleatoria. 78 
Fig. 92. Caras obtenidas de forma aleatoria, con textura. 78 
Fig. 93. Generación de un modelo a partir de una descripción. 79 
Fig. 94. Interfaz gráfica del módulo identikit. 83 
Fig. 95. Caras generadas por el módulo ldentikit 30 y algunas de sus características. 86 
Fig. 96. Módulo 3, Análisis interactivo de una imagen 2D. 87 
Fig. 97. Coordenadas de ventana vs. coordenadas cartesianas. 88 
Fig. 98. Caras 3D sin ajustar proporciones faciales. 89 
Fig. 99. Caras 3D con ajuste en proporciones faciales. 89 
Fig. 100. Músculo en reposo y con contracción. 91 
Fig. 101. Ángulo para la quijada. 92 
Fig. 102. Expresiones básicas de MPEG-4. 93 
Fig. 103. Algunos frames de la animación. 93 
Fig. 104. Movimiento de la mandíbula [71]. 101 
Fig. 105. Músculos faciales responsables de la animación, [71]. 102 
Fig. 106. Marcadores de profundidad, [71]. 103 
Fig. 107. Reconstrucción de la cabeza, [71]. 103 
Fig. 108. Puntos antropométricos faciales, [87]. 103 
Fig. 109. Determinación del sexo con características del cráneo, [71]. 105 
Fig. 11 O. Menú de módulos del sistema. 107 
Fig. 111. Módulo de análisis automático. 108 
Fig. 112. Identikit 3D. 109 
Fig. 113. Módulo 3, Análisis interactivo de una imagen 20. 109 
F ig. 114. Interfaz final. 11 O 
Fig. 115. Clase polígono. 111 
Fig. 116. Coordenadas del archivo de textura. 112 
Fig. 117. Estructura de una partícula, [89]. 112 
Fig. 118. Sistema de partículas, [89]. 113 
Fig. 119. Interfaz entre el sistema de partículas y el evaluador de ecuaciones diferenciales, [89]. 
114 
Fig. 120. Estructura del objeto Shape30 de Java30. 118 
Fig. 121. Jerarquía de escenografia en Java30. 118 
11 
LISTA DE TABLAS 
Tabla 1. Ejemplos de parámetros de conformación y de expresión .............................................. 28 
Tabla 2. FAPUs de MPEG-4 y definiciones .................................................................................. 46 
Tabla 3. Grupos de FAPs ............................................................................................................... 47 
Tabla 4. Formato de archivo para calibración del modelo genérico .............................................. 55 
Tabla 5. Comparación de algoritmos de reconocimiento facial. ................................................... 60 
Tabla 6. Relación entre características y puntos de control MPEG-4 ........................................... 80 
Tabla 7. Otras características faciales ............................................................................................ 81 
Tabla 8. Estructura del archivo de descripción para una cara ....................................................... 83 
Tabla 9. Formato de archivo con datos de animación ................................................................... 90 
Tabla 10. Relación de puntos antropométricos con puntos de control de MPEG-4 .................... 104 
Tabla 11. Distancias y puntos de control MPEG-4 ..................................................................... 104 
Tabla 12. Estructura de archivos: faceline.dat e indexes.dat. ...................................................... 111 
Tabla 13. Pseudocódigo para obtener coordenadas de textura .................................................... 111 
Tabla 14. Estructura de una partícula y un resorte en Java ......................................................... 113 
Tabla 15. Código para calcular la fuerza de un resorte ............................................................... 114 
Tabla 16. Código para modificar el estado. de una partícula ...................................................... 115 
Tabla 17. Código para un paso de Euler ...................................................................................... 115 
Tabla 18. Formato de archivo para calibracióndel modelo genérico .......................................... 116 
Tabla 19. Formato de archivo para Muscle.dat. .......................................................................... 116 
Tabla 20. Relación de músculos y puntos de control de MPEG-4 que los definen .................... 117 
Tabla 21. Formato de archivo VRML 2 ...................................................................................... 119 
Tabla 22. Formato de archivo OBJ. ............................................................................................. 120 
Tabla 23. Formato de archivo DXF ............................................................................................. 121 
12 
1 PLANTEAMIENTO DEL PROBLEMA 
Debido a que el rostro humano es la parte del cuerpo que nos permite reconocer a una persona y 
detectar sus emociones, éste ha atraído la atención de diferentes disciplinas como la psicología, la 
criminología y las gráficas computacionales. 
A pesar de la familiaridad de la cara, su representación y animación en gráficas computacionales 
es todo un reto y ha sido un tema muy estudiado a partir de que Parke [ 1] presentó la primer 
animación facial tridimensional en 1972. Existen numerosas aplicaciones que necesitan la 
generación de caras por computadora como: síntesis del habla [2, 3], cirugía facial [4], síntesis de 
actores virtuales [ 5] e investigaciones criminales [ 6]. El reto de estas aplicaciones no es sólo 
generar modelos :faciales de apariencia real, sino también representar los diferentes movimientos 
de la cara de forma rápida y convincente. 
Este trabajo de tesis forma parte del proyecto: "Speech Driven Facial Animation" (SDFA)1, cuyo 
objetivo es animar una cara humana virtual tridimensional, de un hablante en particular, a partir 
de su habla real. (Ver figura 1). 
!voz 
Base de 
datos de 
~········································· .. ··••·····••········· 
~ 
1 ................................................................. . 
Fig. 1. Esquema general del proyecto SDF A 
~ A 
desarrollar. .. 
1 SDFA (siglas en inglés de Animación Facial Guiada por habla), es un proyecto financiado por el Consejo Nacional 
de la Ciencia y Tecnología, (Conacyt) y el National Science Foundation, (NSF), que involucra a las instituciones 
educativas: Wright State University de Dayton, Ohio, E.U. y el Tecnológico de Monterrey, Campus Estado de 
México. 
13 
El proyecto SDF A requiere de un sistema que genere y anime un modelo facial a partir de los 
datos obtenidos por un análisis de habla y video. Este sistema debe ser capaz de representar a 
diferentes individuos y pennitir construir de forma rápida caras, listas para animar. 
Un sistema modular pennitirá la reutilización de componentes y ofrecerá al usuario diferentes 
opciones para generar una cara. El uso de una base de datos de modelos faciales tridimensionales 
e imágenes, así como técnicas de reconocimiento facial facilitará y acelerará la generación de 
modelos. La compatibilidad de los modelos con el estándar MPEG-4 facilitará la codificación 
para el almacenamiento y manipulación de una cara; y ampliará su uso en aplicaciones de 
intemet. 
Esta tesis consiste en desarrollar un sistema que genere de manera rápida diferentes caras, a partir 
de la especificación de características distinguibles dadas por fotograflas o descripciones. El 
modelo facial tridimensional obtenido debe simular la acción de los músculos faciales para la 
posterior animación de expresiones faciales y sincronía de movimientos con el habla. Se pretende 
utilizar alguna técnica de reconocimiento facial para la reconstrucción del modelo ya que, como 
se explicará más adelante, pennite un eficiente manejo de la codificación de datos. Para la 
construcción de un nuevo modelo facial se uti1iz.ará una base de datos, como lo hacen los 
sistemas de reconocimiento analiz.ados [6, 7, 8, 9, 10, 11], pero ésta contendrá información sobre 
las características faciales y de modelos tridimensionales para facilitar y acelerar la construcción 
del modelo, como lo hacen Cuevas y Rudomin [10] utilizando información de eigenfaces2 y 
modelos tridimensionales. 
El sistema será modular para proporcionar al usuario diferentes opciones para generar una cara. 
Un modelo podrá ser generado a putir de una fotografia facial frontal con una expresión neutral, 
pero si el usuario no dispone de una imagen con dichas características, podrá proporcionar una 
descripción tipo retrato hablado para generar la cara deseada o recurrir a la generación aleatoria 
de una cara si sólo desea un modelo representativo de una población sin importar que ésta tenga 
características específicas. Un módulo interactivo pennitiría tanto generar un modelo marcando 
algunos puntos sobre una imagen, como ajustar o pegar textura a los modelos generados por los 
otros módulos. 
Nuestro trabajo parte de las siguientes hipótesis: 
1) A partir de una base de datos tanto de modelos tridimensionales como imágenes faciales, 
se pueden obtener datos suficientes para construir caras diferentes, representativas de una 
población. 
2) Es posible utilizar técnicas de reconocimiento facial para la generación de un modelo de 
forma aleatoria o a partir de una descripción, ya que penniten un eficiente manejo de la 
codificación de datos. 
3) Un modelo facial tri:limensional basado en músculos y compatible con el estándar 
MPEG-4 pennitirá una animación facial de forma rápida y realista. 
2 Eigenfaces palabra en inglés que significa caras similares. 
14 
A continuación desglosaremos los objetivos para cwnplir con este trabajo de tesis. 
1.1 OBJETIVO GENERAL 
Crear un sistema que genere rápidamente modelos faciales tridimensionales animables, 
compatibles con MPEG-4 y basados en músculos, generados a partir de descripciones verbales o 
imágenes. 
1.2 OBJETIVOS ESPECÍFICOS 
El objetivo general implica una serie de objetivos específicos y un conjunto de tareas para 
realizarlos: 
• Construcción de un modelo facial tridimensional genérico, compatible con MPEG-4 y 
basado en músculos. 
o Localización de los puntos característicos de MPEG-4. 
o Implementación de un algoritmo para modificar el modelo genenco a partir de 
puntos característicos de MPEG-4, para generar un nuevo modelo. 
o Construcción de músculos e implementación de algoritmos necesarios para la 
animación facial. 
• Construcción de una base de datos tanto de imágenes faciales como de modelos 
tridimensionales. 
o Diseño y recopilación. 
o Normalización y clasificación de la base de datos. 
• Implementación de alguna técnica de reconocimiento facial para clasificar y codificar 
datos que permitan modificar el modelo genérico para obtener una nueva cara. 
• Implementación de módulos que permitan reconstruir un modelo facial tridimensional 
basándose en: 
o En el análisis de una foto 2D. 
o En un código generado al az.ar. 
o De forma interactiva, dando una descripción tipo identikit. 
o De forma interactiva, sobre una foto 2D. 
• Construcción de un módulo de animación que permita generar expresiones y 
sincronizarlas con habla, modelando correctamente fenómenos como coarticulación. 
2 ESTADO DEL ARTE 
A continuación se presenta W1 resumen del estado del arte en el estudio del reconocimiento, 
modelado, generación y animación facial, así como la descripción del estándar MPEG-4. 
2.1 RECONOCIMIENTO FACIAL 
15 
El reconocimiento de caras es una habilidad innata de los seres hwnanos que nos permite 
distinguir caras tanto familiares como desconocidas y clasificarlas de acuerdo al sexo, edad y 
estado emocional. Existe una gran cantidad de estudios en psicología y neurobiología para 
explicar como funciona este proceso. Técnicas de reconocimiento facial documentadas se 
encuentran desde 1886, cuando Francis Galton [12] estableció W1 método basado en la 
localización de pW1tos clave dentro de la cara ( orillas de los ojos y boca, pWlta de la nariz y 
fonna de la barbilla) y mediciones entre ellos. Estos datos confonnabanW1 vector que distinguía 
a cada cara. 
El reconocimiento facial también es W1 tema muy estudiado por la visión computacional. A partir 
de Bledsoe [13] en 1966 y Kanade [14] en 1973, han surgido gran número de estrategias, tanto 
automáticas como semiautomáticas para desarrollar sistemas de reconocimiento facial. 
Un sistema de reconocimiento facial permite identificar W1 rostro existente en una base de datos a 
partir de una imagen o descripción. Barret [ 15] riiala que el problema del reconocimiento facial 
puede dividirse en 3 etapas: 
1. Detección de caras. 
2. Segmentación y normalización de caras. 
3. Reconocimiento facial: comparación de la cara en una base de datos con caras existentes. 
16 
2.1.1 DETECCIÓN DE CARAS EN IMÁGENES 
Consiste en localizar la cara dentro de una escena. Esta tarea requiere de un modelo para 
discriminar las caras de otros objetos. Kapur [16] describe un sistema para el reconocimiento de 
una cara dentro de una imagen a color. Su algoritmo utiliza un filtro (para el color de la piel), 
para localizar las zonas con piel; sobre las regiones marcadas quitan las regiones mas oscuras y 
brillantes (estas zonas coinciden con el área de los ojos, cejas, boca y orificios de la nariz). El 
área obtenida es la que representa a la cara. 
Caí et al. [17] presentan un método similar, pero utilizan un mapa de croma (obtenido por 
entrenamiento que busca los colores parecidos a la piel) para transformar la imagen a grises que 
muestran los píxeles pertenecientes a la piel. Procesando esta imagen se discriminan las regiones 
que no son piel. Posteriormente utiliza el componente luminoso de colores para localizar las caras 
en las regiones de piel. 
2.1.2 SEGMENTACIÓN Y NORMALIZACIÓN DE CARAS 
Para simplificar la comparación y/o búsqueda en una base de datos, una imagen debe ser 
transformada en un sistema de coordenadas de baja dimensión que preserve la calidad de 
percepción de la imagen, con frecuencia se seleccionan las características más representativas 
[ 18]. Por lo tanto, esta etapa consiste en hacer los ajustes necesarios a la cara para su 
procesamiento como: la extracción de información relevante, detección de componentes y su 
codificación. 
Según Valentin et al. [19], los sistemas de codificación de caras pueden clasificarse en sistemas 
basados en componentes (no-conexionistas) y basados en representación de las imágenes faciales 
(conexionistas). Los primeros representan las caras en términos de distancias, ángulos y áreas 
determinadas, como el de Kanade [14], quien utilizó componentes geométricos para extraer la 
posición relativa y parámetros distintivos de ojos, boca, nariz y barbilla. Los modelos 
conexionistas utilizan la intensidad de los píxeles. 
Una ventaja de utilizar modelos conexionistas es que la información es obtenida automáticamente 
de la estructura estadística de las caras y se evita el problema de seleccionar componentes 
individuales. Los métodos más usados están basados en el análisis de componentes principales 
(ACP) o Eigenface [20, 21], análisis de componentes independientes (ACI) [22, 23, 24], métodos 
basados en redes neuronales [25, 26, 27], modelos de Hidden Markov [27, 28, 29], comparación 
de patrones [30, 31] y análisis bayesiano [32]. 
Samaria [28, 29] utiliza Hidden Markov Models en unagenes con escala de grises. Utiliza una 
ventana deslizante sobre la imagen para extraer datos uní-dimensionales e ingresarlos al modelo. 
17 
O¡ 
y 
X 
Fig. 2. Ventanas deslizantes del algoritmo de Samaria, [28, 29]. 
El algoritmo define 5 estados: frente, ojos, nariz, boca y barbilla y comprende los siguientes 
pasos: 
1. Creación de un prototipo con número de estados, tamaño del vector de observación y 
transiciones permitidas. 
2. Iteración de un conjunto inicial de parámetros de datos de entrenamiento (utilizando una 
segmentación inicial uniforme y alineamiento con Viterbi). 
3. Re-estimación de parámetros utilizando Baum-Welch y ajuste para maximiz.ar la 
probabilidad de observación de los datos de entrenamiento. 
Fig. 3. Descripción de los cinco estados. Samaria, [28, 29]. 
Comparación de patrones: 
En este tipo de algoritmos, la imagen es representada como un arreglo bidimensional de valores 
de intensidad y comparado métricamente con un patrón que representa la cara. En [30], Brunelli y 
Poggio exponen que la técnica de comparación de patrones es mejor con respecto a la de 
componentes geométricos. 
Beymer [31] describe un algoritmo para reconocimiento facial con variación de pose basado en 
patrones. Las caras son transformadas a escala de grises y para alinear geométricamente la cara 
con el modelo, el reconocedor aplica una transformación afin, para poner en correspondencia 
puntos de los dos ojos y la nariz. Los patrones corresponden a ojos, nariz y boca. Tanto los 
patrones como la imagen a utilizar son pre-procesados por un gradiente u operador de Laplace 
para proveer invarianza a la iluminación. Después de la alineación geométrica, los patrones son 
comparados con una correlación normaliz.ada. Se utilizan varios patrones extraídos de 15 vistas 
variando la rotación de 62 caras ( 44 hombres y 18 mujeres}, se localizan manualmente los iris, 
lóbulos de nariz y comisuras de los labios. 
18 
Brunelli y Poggio [30] proponen un algoritmo para la extracción automática de componentes 
faciales basado en patrones. Hacen una nonnalización basada en la distancia intraocular y la 
dirección del eje de los ojos y por medio de un coeficiente cruzado de correlación definido por: 
donde Ir es el parche de la imagen I que es comparada con T, <> el operador promedio, Ir T 
representa el producto píxel por píxel y cr la desviación estándar sobre el área a ser comparado. 
Cada persona es representada por una imagen y 4 máscaras representando ojos, nariz, boca y 
cara. La localización de éstas es relativa a la posición (nonnalizada) de los ojos. 
Fig. 4. Máscaras utilizadas por Brunelli, [30]. 
La imagen es comparada con todas las imágenes de la base de datos y regresa un vector de 
puntuación (uno para cada componente). El problemas de esta técnica es que la correlación es 
sensitiva a los gradientes de iluminación y el tamaño seleccionado para los patrones. 
2.1.2.1 Análisis de componentes principales: Eigenfaces 
La idea del uso de eigenfaces fue motivada por una técnica desarrollada por Sirovich y Kirby 
[33] para representar imágenes faciales eficientemente usando análisis de componentes 
principales (ACP), donde una colección de imágenes puede ser reconstruida aproximadamente 
por un conjunto de pesos para cada cara y un conjunto de imágenes estándar. Posteriormente, 
Turk y Pentland [20] extendieron esta teoría para el reconocimiento facial. 
Fig. 5. Eigenfaces estándar, [21]. 
19 
La técnica de eigenfaces consiste en calcular la 
variación de una colección de imágenes para 
codificar y comparar las imágenes individuales 
[21]. 
Un eigenface es un arreglo bidimensional de 
claros y osc\ll'Os en una cara. Cualquier imagen 
facial puede ser construida a partir de varias 
eigenfaces. 
En términos matemáticos, esta técnica de codificación encuentra los componentes principales de 
una distribución de caras; o los eigenvectores de una matriz de covarianza del conjunto de 
imágenes faciales. 
Cálculo de eigenfaces 
1. Sea un conjunto de M imágenes faciales para entrenamiento, donde n representa una 
imagen y es un vector de longitud N, donde N es el número de píxeles. 
La cara promedio de este conjunto está definido por: 
1 M 
q, =-Iirn 
M n=I 
Cada cara varía del promedio por el vector 
i=l, ... M 
2. Se somete el conjunto de vectores a un análisis de componentes principales para encontrar 
un conjunto M de vectores ortonormales Un (eigenvectores) y sus eigenvalores asociados 
Ak, que mejor describen la distribución de los datos. Los vectores Uk y escalares Ak son los 
eigenvectores y eigenvalores respectivamente, de la matriz de covarianza: 
20 
3. La matriz C es de tamaño N x N , razón por lacual se buscan los eigenvectores de una 
matriz de M x M, donde M < N. La matriz L se construye de la siguiente forma: 
donde Y = l<1>1 q>2 ... <I>MJ y 
T Lnn = <Pm <Pn 
4. Se obtienen los M eigenvectores (v), las eigenfaces UM se calculan de la siguiente forma: 
l= 1, ... ,M 
5. Una vez obtenidas las eigenfaces, éstas se ordenan de acuerdo al valor descendiente de 
sus eigenvalores y se escogen los M' eigenvectores más significativos. 
Reconocimiento facial con eigenfaces 
Una nueva imagen facial (r) es transformada en eigenfaces (o proyectada en el "espacio facial") 
de acuerdo a: 
Para k = 1, .... ,M' 
Estos pesos Wk forman un vector íf = [w 1 w 2 .... w J que describe la contribución de cada 
eigenface para representar h nueva imagen. Este vector es usado para encontrar que clase, de un 
número predefinido de clases faciales, describe la cara. 
El método más sencillo para determinar que clase facial representa mejor a la nueva imagen es 
encontrar la distancia de la clase facial k que minimiza la distancia euclideana: 
donde Qk es el vector que describe a la k-enésima clase. 
Detección facial con eigenfaces 
La técnica de eigenfaces también puede ser utilizada para detectar caras en una imagen. 
Crear el vector de pesos para una imagen es equivalente a proyectar ésta en un espacio facial. 
La distancia e entre la imagen y su proyección es la distancia entre la imagen y la media : 
<I>=r-'P 
M' 
Y la proyección en el espacio facial: <l>r = L w k uk 
i=I 
Las imágenes de caras no cambian radicalmente al ser proyectadas en el espacio facial, por lo que 
para detectar una cara dentro de una escena se calcula la distancia e entre una parte de la imagen 
y el espacio facial. Esta distancia es usada como una medición 
raal facas In 
El reconocimiento con eigenfaces se hace a dlttlbe• 
partir de una base de datos con imágenes de 
caras (se recomiendan al menos 100 
eigenfaces). A partir de una imagen se obtiene 
un conjunto de eigenfaces, las cuales se 
clasifican en grupos, con características 
comunes. Finalmente, se hace la comparación 
de las características eigenfaces de la imagen 
con la base de datos. 
Fig. 6. Reconocimiento con eigenfaces. 
21 
Entre las ventajas del uso de eigenfaces está el que reduce el requerimiento de memoria y permite 
trabajar en un espacio dimensional más bajo. Entre las desventajas está el que es necesario hacer 
un procesamiento previo de las imágenes en cuanto a alineación y normalización de iluminación. 
Eigenfeatures 
El concepto de eigenfaces ha sido extendido a la descripción y codificación de eigenfeatures3: 
eigeneyes (componentes para ojos), eigennose (componentes para nariz) y eigenmouth 
(componentes para boca). Esta técnica fue inicialmente propuesta por Pentland [34], donde 
demuestra que al incorporar estos componentes a las eigenfaces se obtiene una mejora en el 
reconocimiento de imágenes faciales con distinta pose, ya que los eigenfeatures permiten una 
mayor variación en condiciones de iluminación, rotación y tamaño. (Ver figura 8). 
3 La traducción de eigentemplate es valor propio de componentes. 
(e) 
Fig. 7. (a) Vistas de prueba, (b) Resultados eigenfaces, (c) Resultados eigenfeatures, [34]. 
o.a 
02 
,;,.- . __ .. ..,,:-:: ~~ :.:::~.i:::::.:: 
., .• ~· .• 
r' ,. 
_l: ... , 
t' 
i 
t' jp'"·······º 
/ 
i / 
. / 
. . 
2 3 
. ' . 
4 5 18 
# d Elgél'mldt::r.l 
·-·-~·-:-:,.,. 
7 8 9 10 
Fig. 8. Rangos de reconocimientos para eigenfaces, eigenfeatures y su combinación, [34]. 
22 
Entre las ventajas están que combinados con eigenfaces mejoran el desempeño del 
reconocimiento, su modularidad provee ventajas para la codificación, permite una mayor 
variación que eigenfaces en iluminación, rotación y tamaño. Desgraciadamente, su uso requiere 
mayor capacidad para el almacenamiento y procesamiento. 
23 
2.1.2.2 Análisis de componentes independientes 
El análisis de componentes independientes (Acn es una extensión de ACP y su objetivo es 
recuperar fuentes independientes a partir de observaciones que son combinaciones lineales 
desconocidas de señales independientes. ACI tiene aplicaciones en el procesamiento de señales, 
sistemas de reconocimiento de voz y telecomunicaciones debido a su capacidad para extraer 
componentes. 
Pre-procesamiento 
Centrado: consiste en restarle la media a X, m = E{x} para hacer x una variable con media igual 
a O. Este pre-procesamiento es para simplificar el algoritmo de ACI. 
Filtrado (blanqueo) : consiste en transformar linealmente el vector x para obtener un nuevo vector 
x que es blanco, es decir sus componentes no están correlacionados y sus varianzas son iguales a 
la unidad. La matriz de covarianza de x equivale a la matriz identidad. 
Un método utilizado para este pre-procesamiento es la eigendescomposición de la matriz de 
covananza: 
E{xxT} = EDE T 
Donde E es la matriz ortonormal de los eigenvectores de E{xxT} y D es la matriz diagonal de los 
eigenvalores, D=diag(d¡, ... ,dn), El blanqueo se obtiene por: 
Este pre-procesamiento reduce el número de parámetros a ser estimados 
Reconocimiento facial con ACI 
En [22] Bartlett et al. proponen dos arquitecturas, la primera provee un conjunto estadísticamente 
independiente4 para imágenes faciales que pueden ser vistas como un conjunto de componentes 
faciales independientes, mientras que la segunda provee un conjunto de variables independientes 
para codificar las caras. 
Para encontrar el conjunto de imágenes de componentes independientes, las imágenes en X son 
consideradas como una combinación lineal de imágenes base estadísticamente independientes S, 
4 Consideramos un conjunto de componentes faciales independientes cuando los valores de los píxeles en cada 
imagen de un componente son estadísticamente independientes de valores de píxeles en cualquier otra imagen. 
24 
donde A es W1a matriz desconocida. Las imágenes base son recuperadas por una matriz de filtros 
W¡, que producen salidas independientes U. (Ver figura 9) 
X 
• 
u 
• • 
• Fig. 9. Esquema de la primer arquitectura del algoritmo ACI propuesta por Bartlett, [22]. 
Las imágenes son los renglones de la matriz X. Las salidas en los renglones W1X = U son también 
imágenes. La representación ACI consiste en los coeficientes de la combinación lineal de las 
imágenes base en U que forman cada imagen facial. (Ver figura JO). 
= b1"' 
Fig. 1 O. Representación de una imagen facial en ACI ( combinación lineal de coeficientes), [22]. 
El número de componentes independientes encontrados por el algoritmo ACI depende de la 
dimensión de la entrada, por lo que Bartlett et al. consideran W1 conjW1to de m combinaciones 
inicial tal que m < n, donde n es el número de imágenes faciales. El desempeño de este algoritmo 
no se ve afectado con el reemplazo de las imágenes originales con una combinación lineal de 
éstas, así es que utilizan ACP para obtener combinaciones de menor dimensión sin pérdida 
significativa de datos. 
Sea P m la matriz que contiene los m componentes principales en sus columnas. ACI se aplica 
sobre la transpuesta de P m para producir una matriz de m imágenes fuente en los renglones de U. 
Los coeficientes v, para la combinación lineal de imágenes base en U que conforman las 
imágenes en X son determinadas de la siguiente forma: 
La representación de componentes principales de imágenes con media igual a O en X basados en 
P m está definida como R m = X* p m. Un error mínimo de X es obtenido por X rec = R m * P fu. 
El algoritmo ACI produce una matriz W1 = W * W2 tal que: 
W¡ * p¡ = U ~ p¡ = W¡ 1 U 
25 
Por lo tanto: 
La representación de componentes de las imágenes faciales están basadas en el conjunto de las m 
imágenes de componentes U, dados por los renglones de la matriz. 
La segunda arquitectura se basa en obtener la transpuesta de X tal que las imágenes estuvieran en 
las columnas y los píxeles en los renglones. Cada imagen en la base de datos es considerada 
como una combinación lineal de las imágenes base dado porla matriz A (Ver figura 12). 
s 
A 
----
X w 
•-•-•-•-
u 
Fig. 11. Modelo de síntesis de imágenes, [22]. 
=U}* * + ... +Un 
Fig. 12. Representación factorial de ACI = (ul, u2, .. , un), [22]. 
Ambas arquitecturas de ACI fueron superiores en el reconocimiento de caras en diferentes 
sesiones, cambios de expresión y de pose. 
Aunque ACI provee un método para reconstruir imágenes 2D de forma eficiente su codificación 
da lugar a imágenes base holísticas. 
26 
2.1.2.3 Factorización no-negativa de una matriz 
En [35], Daniel D. Lee y H.Sebastian Seung proponen un algoritmo basado en factorización no-
negativa de una matriz (FNM) para el aprendizaje automático de segmentación de datos en sus 
partes. Este algoritmo de aprendizaje introduce restricciones no-negativas sinúlares a aquellas 
encontradas en las redes neuronales biológicas. 
En [35], presentan los resultados al aplicar este algoritmo a una base de datos de imágenes 
faciales comparándolo con análisis de componentes principales (ACP) y cuantización de vectores 
(CV). Mientras que ACP y CV tienen resultados holísticos, al obtener caras enteras, FNM 
presenta componentes relacionados con características faciales. 
La base de datos de imágenes es representada como una matriz de n x m, V; donde cada columna 
contiene n valores no-negativos de píxeles de cada una de las m imágenes faciales. Los tres 
métodos construyen factorizaciones aproximadas de la forma: 
r 
Viµ =(WH)i,µ = LW¡ªHªµ 
a=I 
Las r columnas de W son llamadas imágenes base. Cada columna de H es una codificación de 
correspondencia uno a uno con cara en V. Una codificación consiste en los coeficientes por los 
cuales una cara es representada como una combinación lineal de imágenes base. Las dimensiones 
de las matrices W y H son n x r y r x m respectivamente. El rango r de la factorización 
generalmente es obtenido por la condición: (n + m)r < nm. 
Las diferencias entre ACP, CV y FNM se encuentran en las diferentes condiciones para las 
matrices W y H. FNM no permite entradas negativas en W y H. 
Lee y Seung implementaron FNM con las siguientes reglas de actualización para W y H. 
W f-- Wiª 
ia LWja 
j 
La iteración de estas reglas converge a un máximo local de la siguiente fi.mción: 
F= Ii ffviµlog(WH}µ -(WH)iµ] 
i=I µ=I 
27 
Las 2,429 imágenes faciales usadas son tomadas de frente y fueron alineadas en una malla de 19 
x 19. Se modificaron las intensidades de gris para tener una media y desviación estándar de 0.25 
y se obtuvo un rango de [O, 1] donde el blanco equivale a O y el negro a 1. FNM comienza con un 
valor inicial aleatorio para W y H. Después de casi 50 iteraciones, el algoritmo convergió y 
después de casi 500 iteraciones se obtuvieron los resultados demostrados en la figura 13. 
NMF 
: 1. : lj : ' --~- _J_'"'!.J -.J_._..L_ 
l ,1 l_l"I 1 
--t-+++~+-.+--
1 J. 1 1 1 1 1 -,- y--~"!:~--i---~--
=--~ -_ ¡,_ -~~~--~- _\~ --
.. .;:¡._ ~r-~·~-- ~--J~- -~·- .. 
-. :- 1 -l-1-1 .. ~+-t- -1;-.;:--1- --:- --
1 ..... 1 1 1 1 -
Original 
~ 
• 
---
X = • 
Fig. 13. Resultados de FNM, [35]. 
A pesar que FNM tiene éxito en aprender componentes faciales, esto no implica que este método 
pueda aprender componentes de cualquier base de datos, así como imágenes tomadas desde 
diferentes puntos de '\ista o sumamente articuladas. FNM asume que las variables escondidas son 
no-negativas pero no toma en cuenta las dependencias estadísticas. Esto es en contraste con ACI 
que asume que las variables escondidas son estadísticamente independientes y no-gaussianas 
[35]. El aplicar ACI a imágenes faciales para hacer las codificaciones independientes resulta en 
imágenes base holisticas. Una aplicación alternativa a ACI es transformar las imágenes base a 
ACP para hacer tanto las imágenes como las codificaciones estadísticamente independientes. [35] 
2.1.3 SISTEMAS COMERCIALES 
Entre los sistemas comerciales de reconocimiento se encuentran: 
• Face-it de Visionics Corp. [36], está basado en local feature análisis (LFA). Extrae la imagen 
de fotografias o vídeo y ajusta el tunaño, luz y expresión. Hace una comparación en base de 
datos. Es automático y en tiempo real, pero carece de un modelo 3-D. 
• Visaje de Viisage Technology [37], utiliza la tecnología basada en eigenfaces desarrollado en 
MIT. Cada cara es codificada por 128 eigenfaces. 
• Miros utiliza tecnología de redes neuronales para el software Trueface [38]. 
,,..._, 
r ~ - , • .__ ~ •• . .r 1y. -
Fig. 14. Software Viisage™ de Viisage Technology, [37]. 
28 
2.2 MODELADO FACIAL 
La clave para crear modelos hwnanos faciales es entender la naturaleza de la anatomía de la 
cabeza, la posición de las distintas partes que la fonnan y su proporción. Aunque el cráneo define 
la fonna general de la cabeza, para crear expresiones faciales adecuadas también es necesario 
saber como se comportan los músculos. (Ver anexo A). 
Desarrollar un modelo facial incluye determinar las descripciones geométricas o procedimientos 
que se usaran para representar una cara. Para alcanzar más realismo, el modelo debe tener la 
capacidad para ser animado y una buena representación de los colores de la superficie y textura 
de la piel. Los modelos faciales pueden clasificarse en paramétricos y basados en músculos. 
2.2.1 MODELOS P ARAMÉTRICOS 
Utilizan parámetros5 que se pueden clasificar en parámetros de conformación y parámetros de 
expresión facial y de emociones. Los parámetros de conformación determinan la fonna y tamaño 
de las partes de la cara, mientras los de expresión facial determinan los cambios de fonna que 
intervienen en la representación de una expresión o emoción [39]. (Ver tabla 1). 
Tabl 1 E" 1 d tr de f¡ a Jempos eparame os con onnac1on y d e expres1on 
Parámetros de conformación Parámetros de expresión facial y 
. de emociones 
Forma de la cara. Ojos: abertura, tamaño de pupila, 
Radio de la cara. cejas, dirección de la vista. 
Color de piel. Boca: rotación de quijada, ancho, 
Forma de la frente. expresión, posición de labios. 
Longitud y amplitud de la nariz. 
Forma de la barbilla, . tamaño y 
separación de los ojos. 
Fonna de la mejilla. 
Proporciones faciales. 
Los modelos paramétricos mejoran y aceleran la animación facial y aunque tienen una gran 
flexibilidad para generar cualquier expresión, su problemática estriba en la elección adecuada de 
parámetros representativos. 
Modelo de Parke 
Parke fue el primero en desarrollar un modelo facial. En [ 40] describe un modelo paramétrico de 
la cara, capaz de mover los labios y animar expresiones. Los ojos, párpados, cejas, labios y 
5 Parámetro: valor escogido bajo cierto criterio que permite representar cualquier objeto. 
29 
mandfüula son controlados por parámetros. Utiliza interpolación6 entre la posición inicial y la 
final para obtener la animación. En 1982, Parke [ 41] mejora su modelo al introducir parámetros 
que penniten cambiar la estructura de la cara. 
:1- ~-
X y 
Fig. 15. Modelo de Parke, [41]. 
Jew 
Los datos del modelo se obtuvieron por mediciones 
en una cabeza real. Parke utiliza una malla con 
posiciones arbitrarias de vértices. El cambio de 
forma es debido al cambio en la posición de los 
vértices. La boca y mandibula tienen una rotación 
especial. Los ojos tienen un punto de reflejo y un 
seguimiento. 
ro::" La animación se obtiene al variar parámetros con el 
tiempo. (Ver figura 15). 
2.2.2 MODELOS BASADOS EN MÚSCULOS 
Estos modelos representan de forma simplificada la estructura de los huesos faciales, el tejido 
conectivo y la piel [42, 43, 44, 45]. La generación de expresiones faciales se da por la 
manipulación de los músculos y el tejido facial. La actividad de los músculos lineales es 
representada con vectores musculares lineales y la de los músculos esfinter, con actividad coseno. 
Platt y Badler [ 46] diseñaron un sistema basado en la estructura facial. La piel es el nivel externo 
y es representado por un conjunto tridimensional de puntos que definen una superficie. Los 
huesos son un conjunto tridimensionalde redes y no pueden moverse. Los músculos son grupos 
de puntos con áreas elásticas. 
En 1987, Waters [47], diseña un modelo muscular para animar una cara, que pennite el repertorio 
más amplio de expresiones conocido hasta ese momento. El modelo se basa en unidades de 
acción que controlan grupos de músculos. Su objetivo es producir un modelo que pueda 
representar las seis expresiones básicas y pueda ser utilizado con el sistema F ACS (Facial Action 
Coding System) de Ekman y Freisen [48]. 
6 Interpolación: método que calcula un valor intermedio a partir de un valor inicial y uno final. 
30 
Magnenat-Thahnann et al. [49] propusieron un modelo que simula la acción de músculos 
utiliz.ando un procedimiento llamado AMA (Abstract Muscle Action procedure). 
(a) (h) 
Fig. 16. Simulación de capas cutánea, 
subcutánea y muscular de Terzopoulos, [50]. 
En 1990, Terzopoulos et al. [50] creó un 
modelo tridimensional (Ver figu.ra 16), que 
simula las propiedades de los músculos y la 
piel, utiliz.a la teoría de F ACS e imita los 
movimientos reales, siguiendo los contornos 
deformables de una cara. 
2.3 GENERACIÓN DE MODELOS FACIALES 
La generación de un modelo tridimensional para una persona en particular puede ser hecha a 
partir de descripciones [6], fotografias [11, 51, 52, 53] o video [54, 55, 56, 57, 58]. Algunos 
sistemas obtienen el modelo deformando un modelo genérico tomando en cuenta las 
características extraídas de la cara deseada [51, 52, 53, 56, 57, 58, 59]. Otros generan diferentes 
geometrías faciales a partir de las mediciones antropométricas [60], escultura interactiva [61] o 
caras existentes [10, 11]. 
Los sistemas de generación de un modelo tridimensional hecho a partir de imágenes pueden 
clasificarse en interactivos y automáticos. 
2.3.1 SISTEMAS INTERACTIVOS 
Los sistemas interactivos, (que son la mayoría), dependen de la asistencia manual por parte del 
usuario para localizar detenninados puntos y ajustar una malla tridimensional a la imagen [52, 
56, 60]. En 1998, Pighin et al. [52] proponen un sistema de generación que requiere varias 
fotografias con diferentes vistas y poses, donde el usuario localiz.a y marca puntos en las 
diferentes vistas, posteriormente estos puntos son usados para deformar el modelo genérico. (Ver 
figu.ra 17). 
{a) 
(b) (e) (d) (e) 
Fig. 17. Sistema de Pighin, [52]. 
(a) Conjunto de imágenes iniciales con marcadores en puntos caracteristicos, (b) Componentes 
faciales resaltados por un conjunto de curvas, ( c) Modelo genérico, ( d) Modelo genérico adaptado 
a los 13 puntos iniciales, (e) Modelo después de 99 correspondencias adicionales. 
31 
En [51 y 60], Lee et al. utilizan fotografías ortogonales (frente y perfil) para reconstruir el modelo 
tridimensional. Localizan puntos caracteristicos de MPEG-4 en las fotografías para modificar el 
modelo genérico. (Ver figuras 18 y 19). 
Fig. 18. Puntos caracteristicos en imágenes Fig. 19. Ajuste del modelo, [51]. 
iniciales, [51]. (a) Modelo genérico, (b) Modelo ajustado, 
( c) Modelo final con textura. 
Sistemas comerciales como JOE Face™ [62], 3DmeNow™ de Biovirtual [63], Bakehead™ de 
RedTed [64] y Ulead face factory™ [65] también entran en esta clasificación. 
32 
JOE (Join Our Experience) Face™ [62] es · un sistema de calibración que crea caras 
tridimensionales que pueden ser exportados a VRML97. (Ver figu,ra 20). El modelo se obtiene al 
identificar 22 puntos característicos de MPEG-4 en una fotografia frontal, como se ilustra en la 
Fig. 21. A partir de estos datos se ajusta una malla para producir el modelo. El modelo final 
contiene dientes y puede ser animado con la aplicación JOE Animation Studio TM. 
Fig. 21. Interfaz de JOE Face™, [62] 
Otro sistema de construcción de modelos tridimensionales es 3DmeNow™ de Biovirtual [63], 
cuyos modelos pueden ser exportados a VRML 1.0, VRML 2.0, 3DStudio y Alias Wavefront. 
3DmeNow™. Una vez cargadas las imágenes es necesario acomodar los perímetros de acuerdo a 
las características de las caras, como se ilustra en la Fig. 22. La interfaz de 3DmeNow™ pennite 
al usuario ajustar la forma del modelo tanto de frente como de perfil. 
33 
,lofxl 
Fig. 22. 3DmeNow™ de Biovirtual, [63]. 
Bakehead™ de RedTed [64] crea un modelo tridimensional permitiendo al usuario ajustar una 
malla a una fotografia de frente. (Ver figu,ra 23). Ulead face factory™ [65] permite crear modelos 
y exportarlos a VRML a partir de dos imágenes: una frontal y otra de perfil, el usuario debe 
escalar y alinear las fotos para producir el modelo. (Ver figu,ra 24). 
Fig. 23. Bakehead™ de RedTed, [64]. Fig. 24. Ulead face factory™, [65]. 
Digimask™ de Matrox [66], produce un modelo facial tridimensional a partir de dos imágenes 
ortogonales, el usuario necesita marcar ciertos puntos y enviar los datos para obtener el modelo 
facial. 
Vou m¡,y m~ peints by 
dri,ggrog lhem with lhe 
left mouse button 
©@ 4of10 (!)@ 
Fig. 25. Digimask™=d,._e..,M,-a-tr ...... o-x,-[ 66]. 
34 
Otro enfoque de sistemas interactivos es el de identikits (sistemas de retrato hablado) para 
generar un modelo facial con la ayuda de imágenes de componentes faciales y/o descripciones. 
Algunos ejemplos de interfaces de identikits son Spotlit! TM [7], Facette TM [8]. (Ver figuras 26 y 
27). 
~'F"i¡ ~ ~ 1~ 
Fig. 26. Sistema ldentikit: Spotlt! ™, [7] Fig. 27. Sistemaldentikit: Facette™, [8] 
La mayoría de los sistemas tipo identikit crean modelos bidimensionales. Uno de los pocos que 
crea modelos tridimensionales utilizando una interfaz con descripciones es FaceGen Modeller 
2.0™ de Singular Inversions, Inc. [67], como lo muestra la figura 28. Por ser éste un software 
más completo, será analiz.ado más adelante con mayor detalle. 
35 
Generate Shape 
0.00 
0.00 
0.00 
0.00 
0.00 
Fig. 28. Control de caracteristicas faciales tipo Identikit de FaceGen Modeller 2.0 M, [67]. 
2.3.2 SISTEMAS AUTOMÁTICOS 
Algunos métodos automáticos utiliz.an dos imágenes, una de frente y otra de perfil para la 
generación [53, 54]. Mientras que en [53] Goto et al. obtienen una cara tridimensional a partir 
de 2 fotografias para una animación posterior, el de Blanz y Vetter [11], presentado en 
SIGGRAPH'99 requiere una sola imagen y hace la generación utilizando una base de datos de 
modelos tridimensionales y técnicas de minimización. 
36 
2.3.2.1 Clonación automática de modelos faciales 3D 
En [53] Goto et al. describen un sistema completo para reproducir una cara tridimensional a partir 
de dos imágenes ortogonales; la cara también es animada en tiempo real a partir del análisis de 
video y extracción de parámetros de MPEG-4. (Ver figu,ra 29). 
Fig. 29. Descripción del sistema de Goto et al., [53]. 
Las imágenes ortogonales proveen "edge infonnation" (infonnación de orillas) y en algunas 
ocasiones, de color. Para construir el modelo facial tienen como base un modelo genérico que es 
dividido en segmentos: ojos, cejas, nariz, boca, etc. El ajuste del modelo consiste en determinar 
las posiciones correctas de los componentes. (Ver figu,ra 30) . 
(e) (f) (g) (h) 
Fig. 30. Detección automática de características faciales, [53]. 
37 
Al inicio del procesamiento, obtienen las posiciones globales de las componentes y ajustan sus 
posiciones a valores promedio. Posteriormente, mediante el detector Canny de orillas {para orillas 
horizortales) y un estimado de la combinación de pesos de la distribución estándar de los datos, 
calculan las posiciones correctas. Finalmente refinan el modelo utilizando diferentes algoritmos 
para las diferentes regiones que así lo requieren. (Ver figura 30.a) Modelo facial con todos los 
componentes conectados, (30.b) Modelo con componentes separados por regiones, (30.c) 
Componentes en su posición correcta, (30.d) Refinamiento, (30.e) Deformación del modelo con 
la información del perfil, (30.j) Resultado de ajuste de perfil, (30.g) Resultado de ajuste (30.h) 
Modelo final con textura. 
Para animar el modelo, el sistema reconoce automáticamente lascaracterísticas más distinguibles 
para obtener la posición inicial de ojos, cejas y boca para su posterior seguimiento, como lo 
muestran las siguientes figuras. 
h r ,111· r , I ~ 
Fig. 31. Inicializ.ación y seguimiento, [53]. 
Este sistema trabaja en Windows NT, 2000 y 95/98. La velocidad de la animación (incluyendo el 
seguimiento y sincronización de labios) es re 1 O a 15 cuadros por segundo en una PC Pentium III 
500 Mhz, capturando 15 cuadros por segundo con una resolución de 320x240. 
2.3.2.2 Síntesis de modelos faciales 3D utilizando un modelo morph 
El sistema de Blanz y Vetter [11] puede generar un modelo facial tridimensional a partir de fotos 
o escaneo tridimensional de una cara; cuenta con una base de datos de 200 figuras y texturas. 
(Ver figura 32). Utiliza un modelo facial general, obtenido a partir de las combinaciones lineales 
de la base de datos inicial, para generar nuevas caras minimiz.ando las diferencias entre la nueva 
cara y la fi.mción del modelo facial. 
Base de datos 
modelos 3-D 
... 
Modelo facial 
morph 
izadorde ~ --+ _. . 
caras 1 Modelador 1--+ 
Fig. 32. Modelador de Blanz y Vetter, [11]. 
Modelo 
3D 
38 
Para construir la base de datos se escanearon con láser (Cyberware™) las cabezas de 200 adultos 
( 100 hombres y 100 mujeres, sin maquillaje, accesorios y bigote) y las geometrías obtenidas 
fueron preprocesadas para obtener caras con 70,000 vértices. 
La geometría y textura de una cara están definidas por el vector de forma S = (Xi, Y1, Z1, ... ,Yn, 
Znl E R3"; y el vector de textura T = (R1, G1, B1, ~ ..... , Gn, Bnl E R3", donde n es el número de 
vértices. 
El modelo está definido por el conjunto de caras (Smod(a), Tmod(b)) parametrizados por los 
coeficientes a = (a1, az, ... aml y b = (b1, bz, ... ,bm) T. Caras adicionales pueden ser creadas 
modificado los parámetros a y o que controlan la forma y la textura. 
m m 
Smod = La;S¡ Tmod = Lb;Ti 
i=I i=I i=I i=I 
Se pueden estimar los posibles caras utiliz.ando métodos estadísticos. El promedio de la forma S 
y el promedio de la textura T y las matrices de covarianza Cs y Cr obtenidas por las diferencias 
l:l.S¡ = S¡ - S y l:l. T¡ = T¡ - T. 
m-1 m-1 
Smode/= S+ L~S; T model = T + L /3J; 
i=I i=I 
Los coeficiertes CX.¡ y ~¡ no corresponden a atributos faciales; estos son obtenidos por un método 
de mapeo que extrae características como: sexo, barbillas cortadas, narices cóncavas y convexas. 
Basados en un conjunto de caras (S¡, T¡) manualmente marcadas con etiquetas µ¡ describiendo la 
magnitud del atributo, se calcula: 
m m 
1:!,.S = L,~(Si-S) 
i=I 
l:l.T= L,~(T¡-T) 
i=I 
39 
Múltiplos de ~S, !l. T} pueden ser sumados o restados de cualquier cara. Para atributos binarios 
como el sexo, asignan valores constantes µA para todas las 11\,\ caras en la clase A y µ8 -:t µA para 
todas las me caras en B. 
Fig. 33. Unión del modelo general y una 
nnagen. 
(1) Imagen original, (2) Estimado del mapa de 
textura, (4)Extracción adicional de textura. 
Cambio en atributos faciales (3) Aumento de 
peso, (5) Pérdida de peso, (6) Fruncimiento de 
frente, (7) Sonrisa forzada. w 
Se obtienen nuevas caras y expresiones con la 
variación lineal de este modelo. (Ver figura 33) 
La generación de caras a partir de imágenes 
implica un proceso de optimiz.ación para 
eliminar errores. 
El proceso para generar un modelo 
tridimensional tarda en promedio 50 minutos y 
genera un modelo sin cabello. 
2.3.2.3 Generación de modelos 30 a partir de una sola fotografia mediante PCA 
En [10], Cuevas y Rudomin describen el trabajo que han desarrollado para generar modelos 
faciales tridimensionales de forma automática a partir de una sola imagen usando análisis de 
componentes principales sobre una base de datos tanto de imágenes faciales como de modelos 
tridimensionales. El uso de análisis de componentes principales les pennite reducir el número de 
caras que se necesitan conocer para construir una nueva, a partir de una cara 2D. Su base de datos 
inicial es de 14 mallas faciales y sus imágenes correspondientes. 
Cada cara en el espacio facial es generada por la combinación lineal de las eigenfaces (ver figura 
34), obtenido por: 
Donde x corresponde a la imagen facial (de tamaño m*n), y a la cara en el espacio facial y E a 
una matriz con k columnas correspondientes a k eigenfaces. 
La generación de x se obtiene mediante: 
x' = p * y 
Fig. 34. Codificación de una cara usando 
eigenfaces, [10]. 
40 
Cuevas y Rudomin estudian la posibilidad de crear una cara tridimensional utilizando eigenfaces 
tridimensionales y una codificación 20, por medio de la hipótesis: Si se tienen caras en 20 y 30 
así como un conjunto de eigenfaces 20, es posible construir eigenfaces 3D resolviendo un 
sistema lineal: 
1. Obtener la codificación 2D de cada cara de la base de datos 
Cara 20 = Codificación 20 * Eigenfaces 20 
2. Resolver el sistema lineal para obtener eigenfaces 30: 
Cara 30 = Codificación 20 * Eigenfaces 30 
Eigenfuces 30 = Cara 30/ Codificación 2D 
Para construir una nueva cara tridimensional a partir de una imagen, ésta se analiza usando 
eigenfaces 20 para obtener la codificación 2D y se sustituye en la siguiente ecuación. 
Cara 3D = Codificación 20 * Eigenfaces 3D 
Base Caras 2D Obtener eigenfaces 2D y 
2D/3D coeficientes 2D de la 
descomposición lineal de 
cada cara. 
Coeficientes 2D Ei2enfaces 2D 
Resolver el sistema lineal para obtener 
eigenfaces 3D. 
Cara 3D = Codificación 2D • Eigenfaces 3D 
Eigenfaces 3D 
Cara 
normalizada 
2D 
Análisis de la cara 
usando eigenfaces 
2D. 
Coeficientes 2 D 
Generación de cara 3D: 
Cara 3D = Codificación 2D • Eigenfaces 3D 
Cara 3D 
(a) (b) 
Fig. 35. Diagrama del sistema de Cuevas y Rudomin, [10]. (a) Inicialización, (b) Generación de 
una cara 30. 
41 
Atmque los resultados son alentadores (Ver figura 36), la generación de tm nuevo modelo 
mediante este método requiere que todas las caras 3D en la base de datos tengan como base la 
misma malla genérica, razón que limita la aplicación de este sistema. Los autores [10] también 
señalan que es necesario aumentar el tamaño de la base de caras y desarrollar tm módulo para la 
generación y ajuste automático de textura. 
Fig. 36. Resultados de reconstrucción tridimensional, Cuevas y Rudomin, [10]. 
2.4 ANIMACIÓN FACIAL 
Una buena animación facial requiere una simulación natural de la interacción de los músculos 
para representar los movimientos y expresiones. 
Psicólogos han identificado las caras como estímulos visuales y han estudiado los diferentes 
aspectos de la percepción y reconocimiento facial; así como las expresiones faciales. E1anan y 
Friesen [ 48] desarrollaron tm sistema de acciones faciales llamado F ACS que cuantifica las 
acciones de músculos voltmtarios independientemente de la interpretación cultural o personal. 
Ekman y Friesen han catalogado alrededor de 55,000 expresiones distintas, con 30 distinciones 
semánticas y seis expresiones básicas: sorpresa, miedo, disgusto, ira, alegría y tristeza. 
2.4.1 MÉTODOS DE ANIMACIÓN 
La animación se puede obtener por métodos de interpolación [40], parametrización directa [41], 
comportamiento guiado [53,55,68] o métodos basados en pseudo músculos [43,49] y músculos 
[46, 47, 50, 58, 69]. 
La animación por interpolación consiste en : 
1) Obtener una base de datos de diversas posturas faciales tridimensionales. 
2) Mapear estos datos a cada vértice en cada postura (equivalencia topológica). 
3) Calcular la interpolación entre los datos. 
42 
Esta técnica es común y sencilla, pero desafortunadamente el número de posturas está limitada a 
la base de datos inicial [70]. 
Los métodos para.métricos controlan la forma con la manipulación directa de la geometría de la 
superficie, utilizando cierto número de parámetros. La distancia entre puntos no anatómicos 
(ancho de labios y boca) pteden ayudar a predecir fi.mciones para.métricas tridimensionales y 
reglas de deformación. Estos métodos producen animaciones de forma rápida, perono son tan 
realistas como los métodos basados en músculos. 
Los métodos basados en pseudo músculos buscan simular la acción de los músculos faciales de 
una forma sencilla. Entre los métodos basados en pseudo músculos están AMA (Abstract Muscle 
Action) [49], FFD (Free Form Deformation) y RFFD (Rational FreeForm deformation) [43]. 
Estos métodos tienen como ventajas: ser independientes de la geometría facial y estar 
directamente relacionados con los sistemas basados en músculos. 
Los modelos basados en músculos (también llamados basados en fisica) simulan la acción de los 
músculos y el comportamiento elástico de la piel para producir expresiones, modelando las capas 
internas. La mayoría de estos utilizan sistemas de partículas y resortes, mallas de resortes con 
fi.mciones de fuemi que simulan la contracción de los músculos. Estos modelos son 
computacionalmente caros y dificiles de controlar debido a las fi.mciones de fuemi. 
Los métodos de comportamiento guiado se dan a través de información obtenida de acciones 
reales. En estos métodos, es necesario hacer un análisis previo para extraer los datos en tiempo 
real. 
Software FaceGen 
Singular Inversions, Inc. [67] es una compañía que sacó a la venta recientemente (casi al finalizar 
este trabajo de tesis), el software FaceGen Modeller y algunos servicios para producir caras 
tridimensionales. La importancia de este software radica en que buscan obtener resultados 
similares a los de este trabajo de tesis. 
El software de FaceGen utiliz.a el análisis estadístico de una base extensa de más de 240 caras 
tridimensionales generadas por escaneos 3D de Cyberware. La base representa casi todas las 
razas y está diseñada para que cualquier combinación produzca una cara realista. Esta base 
representa formas de caras en estado neutral. 
Utilizan una malla genérica de 9858 vértices y 9840 polígonos, como lo muestra la siguiente 
figura. 
43 
Fig. 37. Malla utilizada en FaceGen™, [67]. 
En una versmn anterior, FaceGen Modeller 1.3 ™ creaba caras aleatorias y a partir de una 
fotografia. FaceGen Modeller 2.0™, que salió a la venta en septiembre del 2001, es una 
aplicación para Microsoft Windows, que produce caras tridimensionales de forma aleatoria, a 
partir de una fotografia o con opciones tipo identikit, incluye el uso de texturas, pennite 
animarlas y exportarlas a formatos tipo OBJ, VRML 1 & 2 y 3DS. 
Este software pennite generar caras aleatorias y ajustar tanto su forma y textura de acuerdo al 
sexo, edad y características distinguibles utilizando barras de deslizamiento. La interfaz es 
sencilla de usar y pennite visualizar los cambios en tiempo real. Como lo indica la siguiente 
figura. 
Q111ffi~ 
sn 
,, [[~ [[~-., .., ., 
., 
--· ....... 
Fig. 38. Software FaceGen Modeller 2.0™ de FaceGen, [67]. 
44 
Allllque este software se asemeja a este trabajo de tesis en que utiliza una base de datos de caras 
tridimensionales y el análisis estadístico de éstos para generar caras aleatorias y con 
descripciones tipo identikit, los modelos generados no son compatibles con MPEG-4 y para ser 
animados es necesario generar expresiones cuadro por cuadro y exportarlas. También les falta 
construir Wl módulo para el reconocimiento y construcción automática de una cara a partir de una 
nmgen. 
2.4.2 SINCRONIZACIÓN CON HABLA 
La animación facial con habla involucra la descomposición del habla en fonemas 7 y la 
sincronización de estos fonemas con los labios. Un visema es la forma básica de la boca que 
genera Wl fonema. Existen 16 visemas, algW1os ejemplos se muestran en la siguiente figura. 
M/P/BH y AA 
Fig. 39. Ejemplos de visemas, [71]. 
AlgW1os investigadores han generado automáticamente animación a partir de habla. En nuestro 
caso, las transformaciones que llevan información de habla a la animación tendrán Wl nivel de 
granularidad más fino que lo usual en el área, situación que nos permite generar Wl sistema 
optimo para mejor sincronía, y para modelar correctamente fenómenos como la coarticulación . 
La coarticulación es el resultado de la dinámica del tracto y posturas vocales requeridos para 
generar varios sonidos. Es la suma de los movimientos generados antes, después y durante la 
generación de Wl fonema. 
Coarticulación = Movimientos del + Movimientos del + Movimientos del 
Fonema anterior Fonema actual Fonema posterior 
7 Un fonema es la unidad básica de un sistema gramatical, que distingue una articulación de otra. La combinación de 
fonemas crea palabras. 
45 
El proyecto SDF A subdivide los fonemas en unidades más pequeñas para permitir una meJor 
representación de la coarticulación. 
Para deformar la geometría y obtener animación en tiempo real, se necesitan métodos rápidos y 
robustos. Examinaremos algunos métodos para modificar la geometría facial y producir 
annnac1ones. 
2.5 MPEG-4 
MPEG-48 es el primer estándar internacional que especifica una representación binaria 
comprimida de objetos audiovisuales sintetizados animados [72, 73, 74], este estándar surge de la 
necesidad de contar con un método de codificación para facilitar el acceso a objetos visuales en 
video natural y sintético así como de sonido, para aplicaciones como almacenamiento, intemet y 
comumcac1ones. 
MPEG-4 permite la integración de animación de caras, especificando: un modelo de una cara en 
estado neutral, un número de puntos característicos en ese modelo como referencia y un conjunto 
de F APs9, cada uno correspondiente a una acción determinada de la cara partiendo del estado 
neutral. 
2.5.1 CARA EN ESTADO NEUTRAL 
La cara en estado neutral de MPEG-4 (Ver figura 40), tiene las siguientes características: 
Fig. 40. MPEG-4 Cara en estado neutral, 
[73., 74]. 
La mirada está en la dirección del eje Z. 
Los músculos de la cara están relajados. 
Los párpados son tangentes al iris. 
La pupila es un tercio del diámetro del iris. 
Los labios están en contacto; la linea de los labios es 
horizontal y a la misma altura de las esquinas del 
labio. 
La boca está cerrada y los dientes superiores tocan los 
de abajo. 
La lengua está horizontal con la punta tocando el 
límite entre los dientes superiores y más bajos. 
8 Las siglas MPEG en inglés corresponden a "Moving Pictures Expert Group". 
9 Las siglas F APs en inglés corresponden a Facial Animation Parameters, su traducción en español es parámetros de 
animación facial. 
46 
MPEG-4 define fracciones de distancia entre ptu1tos clave de la cara para adaptar los parámetros 
de animación a cualquier modelo facial. (Ver tabla 2). Estas fracciones de distancia son llamadas 
"Face Animation Parameter Units" (FAPUs) y también permiten la interpretación de FAPs en 
cualquier modelo. 
FAPUs 
IRISDO 
ESO 
ENSO 
MNSO 
MWO 
AU 
Tabla 2. F APUs de MPEG-4 y definiciones. 
Definición , 
Diámetro del iris (por definición equivale a la IRISD = IRIS DO / 1024 
distancia entre los párpados inferior y superior) 
Separación de los ojos ES= ESO/ 1024 
Separación entre ojos y nariz ENS = ENSO / 1024 
Separación entre boca y nariz MNS = MNSO / 1024 
Ancho de la boca MW=MWO/ 1024 
Unidad de árnmlo lOE-5 rad 
2.5.2 PUNTOS CARACTERÍSTICOS 
Se definen 84 ptu1tos caracteristicos de MPEG-4 en la cara neutral. (Ver figura 41). Atu1que el 
propósito principal de estos ptu1tos es ser usados como referencias espaciales para definir los 
F APs, también sirven para definir la fonna del rostro. Estos ptu1tos se clasifican en grupos como 
mejillas, ojos, boca, nariz y orejas. 
11.5 .,,-_,, _ _...,.... ___ ..... 
,, ._ 
~ ,~-- \ 
(~w-~\ 
! t 4.4 4 2 4 1 4.3 \\ 11 \ íl !Y-;~~ ·_.r.::::-9:::-~\1 r 
10.2 ijl {, .(:~ • • ~i:> ij\ 10.1 
11 1 \ 
~ 10.10 J 1 10.9 / 
10.4 \ 1 • 5.4 t O \ 5.3 • 1t 10.3 
10_6 ~10.e ~}~ 10.1f 10.5 
\
5.2 -4,., A 5.1 f . -- -::'!::.-:./, <:!!,;.-----_...r;?" 
)
4,Y 2.14' ~--:;..::::7 2.13 
... -~ •2.~ 
., 2.12 -........- 2.11 
,. X 2.1 
z 
11.5 
~,..,. 
11.4 .......----
/ 11.2 ---... 
/ 
' 
Í 
lJ~~· 
'~§j10.e 
10.6 
'y X 
4.4 
4.6~-~ 
~' 
•5.4 \ 
5.2 
• 
2.14 2.12

Continuar navegando