470 likes | 627 Views
Introducción a Animación Facial en MPEG-4. David Escudero Mancebo Universidad de Valladolid. Índice. Introducción Especificación y animación de las caras Modelado de caras en estado neutro Parámetros de animación facial Especificación del modelo de la cara
E N D
Introducción a Animación Facial en MPEG-4 David Escudero Mancebo Universidad de Valladolid
Índice • Introducción • Especificación y animación de las caras • Modelado de caras en estado neutro • Parámetros de animación facial • Especificación del modelo de la cara • Integración de Face animation y text-to-speech • Integración en sistemas MPEG-4
Índice • Introducción • Especificación y animación de las caras • Modelado de caras en estado neutro • Parámetros de animación facial • Especificación del modelo de la cara • Integración de Face animation y text-to-speech • Integración en sistemas MPEG-4
Introducción • MPEG-4 FA es la primera propuesta de parametrización de animación facial (FA) en ser estandarizada. • FA se alimenta del mundo de los creativos 3D y de la ingeniería TIC. • MPEG es vídeo¡¡¡ No sólo. MPEG-4 se preocupa de las extensiones: • Synthetic Natual Hybrid Coding activity SNHC: cómo integrar grafismos 2D y 3D en vídeo. • Face and Body Animation (FBA) subgrupo.
Introducción • Taxonomía de Facial Animation • High-level utiliza los parámetros low-level.
Introducción Beneficios de MPEG-4 • Rango de posibles caras o expresiones: • Los Facial Definition Paremters (FDP) son escalables y permiten la modificación de la cara enviando feature points (FPs), nuevas texturas o la malla completa. • Los Facial Animation Parameters (FAPs) cubren las principales articulaciones. • Existen Facial Animation Tables (FATs) que permiten la especificación precisa de los movimientos de los vértices asignado a cada FAP. • Fácil de usar • Es muy de bajo nivel y no es fácil de emplear. • Sin embargo los FAPs son fácilmente interpretables. • También hay FAPs de alto nivel como visemas y expresiones.
Introducción Beneficios de MPEG-4 • Reproduce variaciones de cara sutiles • Permite un amplio abanico de gestos • Ortogonal • Los FAPs son ortogonales porque cada uno se refiere a un gesto • Sin embargo diferentes FAPs pueden afectar a los mismos puntos de la maya y es necesario combinar. • Portabilidad • Los FAPs están normalizados con respecto a la cara.
Introducción • Historia de la animación facial • Se solía hacer ad hoc. • FACS Facial Action Conding System es un sistema para evaluar las expresiones faciales codificándolas en 46 Action Units (AU). • Parametrización Parke: parámetros de expresión (abrir párpados, arquear cejas, ancho de la boca….) y parámetros de coformidad (alto de la nariz, largo de las cejas…). • Abstract Muscle Actions AMA con pseudomúsculos que definen el movimiento. Cierra el labio superior, parpado izquierdo… Proyecta los AUS en una serie de AMAs. • Minimal Perceptible Actions (MPAs). Describe los efectos visibles de uno o más músculos y los combina en expresiones de más alto nivel: levanta el párpado, mueve el ojo en vertical…
Índice • Introducción • Especificación y animación de las caras • Modelado de caras en estado neutro • Parámetros de animación facial • Especificación del modelo de la cara • Integración de Face animation y text-to-speech • Integración en sistemas MPEG-4
Especificación y animación de caras • MPEG-4 especifica: • El modelo de la cara en su estado neutro con un número de FPs (face parameters) en el estado neutro como puntos de referencia y • un conjunto de FAPs cada uno se corresponde con una acción particular que debe realizar la cara. • La secuencia animada se genera deformando la cara de acuerdo a los valores de los FAPs a lo largo del tiempo. • El valor de cada FAP es la magnitud de la acción correspondiente. • Para que un terminal MPEG-4 pueda interpretar los FAPs en su modelo de cara, tiene que tener definidas una serie de reglas para producir la animación correspondiente. • El terminal puede usar sus propias reglas o descargar el modelo de cara y las FAT (face animation tables) asociadas para realizar el movimiento.
Índice • Introducción • Especificación y animación de las caras • Modelado de caras en estado neutro • Parámetros de animación facial • Especificación del modelo de la cara • Integración de Face animation y text-to-speech • Integración en sistemas MPEG-4
Modelado de caras en estado neutro • Todos los músculos de la cara están relajados. • Los párpados están tangentes al iris. • La pupila está a 1/3 del iris. • Los labios están en contacto. La línea de contacto es horizontal de la misma longitud que la distancia entre comisuras. • La boca está cerrada y los dientes de arriba y de abajo se tocan. • La lengua es plana, horizontal con el pico tocando el cierre de los dientes.
Modelado de caras en estado neutro FAPU (Face animation parameters units) • Para definir FAPs para cualquier cara. • Son fracciones de distancias entre puntos clave en la cara neutral.
Modelado de caras en estado neutro Features Points (FPs) • MPEG-4 especifica 84 FPs en la cara neutral. • Son referencias espaciales para los FAPs. • Algunos FPs no se ven afectados por los FAPs (ej. La linea del pelo). Se requiren para definir la forma de la cara. • Se ordenan en grupos: ojos, boca… • La posición de los FPs debe ser conocida por el modelo de cara compatible MPEG • Hay recomendaciones para posicionar (gráfico y tabla de restricciones)
Índice • Introducción • Especificación y animación de las caras • Modelado de caras en estado neutro • Parámetros de animación facial • Especificación del modelo de la cara • Integración de Face animation y text-to-speech • Integración en sistemas MPEG-4
Parámetros de animación facial • Los FAPs (Face Animation Parameters) • se basan en el estudio de las acciones mínimas perceptibles y • tienen que ver con las acciones de los músculos. • Los 68 parámetros se categorizan en 10 grupos relacionados con las partes de la cara. • Representan un conjunto de acciones faciales básicas como movimientos de cabeza, de lengua, de ojos… • Para cada FAP, el estándar define • las FAPU que hay que emplear, • el FAP group, • La dirección positiva del movimiento • Si el movimiento del FP es unidireccional o bidireccional. • FAPs de bajo nivel 2-10. Especifica cuanto se mueve el FP con una magnitud dada. • FAPs de alto nivel: visemas y expresiones.
Parámetros de animación facial FAP 1 Visemas • Un visema es un correlato con un fonema. • El estándar incluye 14 visemas estáticos. • Las articulaciones se consiguen combinando el fonema actual con el anterior y el siguiente. • Las transiciones se hacen mezclando visemas con un factor de peso.
Parámetros de animación facial FAP 2 Expresión facial • Seis expresiones básicas. Se pueden combinar. • Las expresiones se animan con un valor de excitación [0-64] para cada emoción.
Parámetros de animación facial • El uso de los parámetros FAP1 y 2 junto con el resto de FAPS bajo nivel puede causar efectos inesperado: • Todos actúan sobre los mismos elementos de la cara. • Los de bajo nivel tienen prioridad.
Índice • Introducción • Especificación y animación de las caras • Modelado de caras en estado neutro • Parámetros de animación facial • Especificación del modelo de la cara • Integración de Face animation y text-to-speech • Integración en sistemas MPEG-4
Especificación del modelo de cara • Los terminales compatibles con MPEG-4 • Tienen que ser capaces de decodificar un stream de FAPs • Aportar un modelo de cara compatible que animan. • El decodificador no permite ver el modelo de cara. • Un nodo FDP permite al decodificador especificar el modelo de cara que tiene que animar. • Definición de la geometría estática. • Propiedades superficiales • Reglas de animación con una FAT para especificar cómo se deforma el modelo de acuerdo a las FAPs. • Como alternativa el nodo FDP puede ser usado para calibrar el modelo propietario del decoder. MPEG-4 no dice cómo calibrar.
Especificación del modelo de cara Modelo de cara propietario: • Para que un modelo de cara sea compatible con MPEG-4 debe ejecutar todos los FAPs posibles. • Al menos tantos vértices como FPs: 50 vértices. • Para generar una cara agradable, se estima necesario al menos 500 vértices. • 4 pasos: • Construir la forma de la cara para posicionar los FPs. • Para cada FAP hay de determinar cómo se mueven los FPs. • Se define cómo afecta el movimiento de cada FP en los vértices. Se suelen emplear FATs, modelos basados en deformación de músculos o clones de modelos. • Para las expresiones el estándar sólo da consejos cualitativos. Los visemas asignando una posición a los labios.
Especificación del modelo de cara Adaptación o calibrado del modelo de la cara: • El encoder puede especificar la posición de los FPs. • El decoder deberá adaptar su cara a las nuevas posiciones. (no hay garantías de calidad). • Pensado para enviar diferentes texturas al modelo de cara. • Se envían las coordenadas de mapeo de la textura. • Se especifica la posición de cada FP en el mapa de textura.
Especificación del modelo de cara Modelado de la cara usando un grafo de escena • Para pasar un modelo de cara al decoder, se espefica un modelo de cabeza con un grafo de escena usando MPEG-4 BIFS. • Mismos nodos que VRML: • Groups, Transforms, IndexedFaceSet (Geometrías), Texturas
Especificación del modelo de cara Definición de reglas de animación empleando una FAT • La FAT define cómo se deforma el modelo en función de la amplitud de los FAPs. • Se emplean 3 nodos BIFS: • FaceDefTable, FaceDefTransform, FaceDefMesh • Son parte del modelo de la cara. • El FaceDefTable, especifica para cada FAP los nodos del grafo de escena que se modifican y cómo usando FaceDefTransform y FaceDefMesh
Especificación del modelo de cara Definición de reglas de animación empleando una FAT • Definición de la animación para un nodo transform: • Si el FAP provoca una rotación, trasladado o escala, un nodo Transform describe la animación. • El FaceDefTable especifica un FaceDefTransform node que define el tipo de transformación y el factor de escala para la correspondiente transformación. • Durante la animación, el valor del FAP recibido, el FAPU y el factor de escala determina el valor real para transformar el modelo.
Especificación del modelo de cara Definición de reglas de animación empleando una FAT • Definición de la animación para un nodo IndexedFaceSet: • Cuando un FAP causa una deformación en el modelo de la cara, el FaceDefTable usa el nodo FaceDefMesh para definir las deformaciones en el IndexedFaceSet. • Las deformaciones flexibles del IndexedFaceSet se consiguen aplicando una función lineal a intervalos sobre los vértices con valores de amplitud de las FAP. • El FaceDefMesh define para cada vértice afectado su prorpia función lineal a intervalos especificando los intervalos sobre la magnitud de las FAP y los desplazamientos 3D correspondientes. El movimiento de cada vértice se limita a una recta.
Especificación del modelo de cara Definición de reglas de animación empleando una FAT
Especificación del modelo de cara Definición de reglas de animación empleando una FAT • Algoritmo de reposicionamiento del vértice Pm, con desplazamiento Dm,k con k intervalos. • Determinar el intervalo listado en el FaceDefMesh en el que recae el valor del FAP recibido. • Si se recibe un FAP en el intervalo j = [Ij,Ij+1] con 0=Ik<=Ij • Si FAP > Imax, Pm se calcula con la fórmula anterior haciendo j=max-1 • Si el FAP está en [Ij,Ij+1] y Ij+1<=Ik =0 • Si FAP <I1 ecuación 4 con j=1 • Si sólo hay un intervalo • No es necesario limitarlo a caras.
Especificación del modelo de cara Definición de reglas de animación empleando una FAT Ejemplo • FAP 6 estira una comisura del labio. • IndexedFaceSet llamado Face • Tres intervalos: [-1000,0][0,500][500,1000] • Se dan desplazamientos para los vértices 50 y 51 • Para el 50: P’50=P50+500(0.9 0 0)T+100(1.5 0 4)T=P50+(600 0 400) T • FAP 13 rotación horizontal del párpado. • El eje de rotación es el (0,-1,0) • El FAP determina el ángulo
Especificación del modelo de cara Ahorro de tiempo en la construcción de FAT • Un generador de FaceDefTable calcula estas tablas a partir de un conjunto de modelos de caras. • El modelador maneja modelos de caras y diseña las diferentes configuraciones. • El Generador de FaceDefTables compara los modelos confeccionados con el modelo básico. • Comparando los vértices se identifican los vértices implicados en el movimiento. • El renderer accede al modelo básico y a las deformaciones.
Índice • Introducción • Especificación y animación de las caras • Modelado de caras en estado neutro • Parámetros de animación facial • Especificación del modelo de la cara • Integración de Face animation y text-to-speech • Integración en sistemas MPEG-4
Integración con síntesis de habla • El problema clave es la sincronización. • Sólo puede haber sincronización si se envía prosodia y timing information. • El stream TTS genera texto y prosodia • El MPEG-4 TTSI decoder decodifica la información para dársela al TTS propietario. • El TTS crea las muestras de audio. • El compositor presenta audio y video al usuario. • El TTS envía los fonemas y las duraciones e instante inicial de los fonemas al phoneme/Bookmark-to-FAP-Converter. • El converter trasforma la información en FAPs.
Integración con síntesis de habla • La sincronización precisa de bookmarks en el texto. • El TTS envía el bookmark al Phoneme/Bookmark-to-FAP converter a la vez que genera el primer fonema. • El bookmark define el tiempo de comienzo y la duración de la transición a la nueva amplitud del FAP. • La consecuencia es que no se acumulan retrasos.
Índice • Introducción • Especificación y animación de las caras • Modelado de caras en estado neutro • Parámetros de animación facial • Especificación del modelo de la cara • Integración de Face animation y text-to-speech • Integración en sistemas MPEG-4
Integración con sistemas MPEG-4 • Un grafo de escena BIFS tiene que ser transmitido al terminal MPEG-4.
Integración con sistemas MPEG-4 • Un nodo FAP recibe el stream de FAPs. Este nodo habilita al encoder para realizar los movimientos.
Integración con sistemas MPEG-4 • Un nodo AudioSource es controlado por el TTS.
Integración con sistemas MPEG-4 • Si se descargan los modelos de la cara hace falta un nodo FDP. Contiene la posición de los FPs, y los gráficos
Integración con sistemas MPEG-4 • MPEG-4 puede incluir time stamps en los streams para sincronizar.
Demos • EPTAMEDIA http://www.eptamedia.com/faceanim/en-doc/en-demo-c-netnews.htm • ALTER EGOhttp://www.studiopendulum.com/alterego/clients_and_projects.html • Hannover University http://www.tnt.uni-hannover.de/project/facialanimation/demo/index.html • Tsinghua Universityhttp://hcsi.cs.tsinghua.edu.cn/english/demoavatar.htm • Taiwan Universityhttp://www.cmlab.csie.ntu.edu.tw/~keico/jcst/edm.html • Terniske University http://www2.imm.dtu.dk/~aam/ http://www.youtube.com/watch?v=eSS4GFIH94w XFACE
Referencias • La referencia principal de esta presentación es el artículo “Face and 2-D mesh animation in MPEG-4”, Signal processing: Image Communication, Vol 15, 2000, pp. 387-421
Introducción a Animación Facial en MPEG-4 David Escudero Mancebo Universidad de Valladolid