Introducción a Animación Facial en MPEG-4

46
Introducción a Animación Facial en MPEG- 4 David Escudero Mancebo Universidad de Valladolid

description

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 - PowerPoint PPT Presentation

Transcript of Introducción a Animación Facial en MPEG-4

Page 1: Introducción a  Animación Facial en MPEG-4

Introducción a Animación Facial en MPEG-4David Escudero Mancebo

Universidad de Valladolid

Page 2: Introducción a  Animación Facial en MPEG-4

Índice

Introducción Especificación y animación de las caras

Modelado de caras en estado neutroParámetros de animación facialEspecificación del modelo de la cara

Integración de Face animation y text-to-speech

Integración en sistemas MPEG-4

Page 3: Introducción a  Animación Facial en MPEG-4

Índice

Introducción Especificación y animación de las caras

Modelado de caras en estado neutroParámetros de animación facialEspecificación del modelo de la cara

Integración de Face animation y text-to-speech

Integración en sistemas MPEG-4

Page 4: Introducción a  Animación Facial en 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.

Page 5: Introducción a  Animación Facial en MPEG-4

Introducción Taxonomía de Facial Animation

High-level utiliza los parámetros low-level.

Page 6: Introducción a  Animación Facial en MPEG-4

IntroducciónBeneficios 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.

Page 7: Introducción a  Animación Facial en MPEG-4

IntroducciónBeneficios 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.

Page 8: Introducción a  Animación Facial en MPEG-4

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…

Page 9: Introducción a  Animación Facial en MPEG-4

Índice

Introducción Especificación y animación de las caras

Modelado de caras en estado neutroParámetros de animación facialEspecificación del modelo de la cara

Integración de Face animation y text-to-speech

Integración en sistemas MPEG-4

Page 10: Introducción a  Animación Facial en 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.

Page 11: Introducción a  Animación Facial en MPEG-4

Índice

Introducción Especificación y animación de las caras

Modelado de caras en estado neutroParámetros de animación facialEspecificación del modelo de la cara

Integración de Face animation y text-to-speech

Integración en sistemas MPEG-4

Page 12: Introducción a  Animación Facial en 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.

Page 13: Introducción a  Animación Facial en MPEG-4

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.

Page 14: Introducción a  Animación Facial en MPEG-4

Modelado de caras en estado neutroFeatures 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)

Page 15: Introducción a  Animación Facial en MPEG-4

Índice

Introducción Especificación y animación de las caras

Modelado de caras en estado neutroParámetros de animación facialEspecificación del modelo de la cara

Integración de Face animation y text-to-speech

Integración en sistemas MPEG-4

Page 16: Introducción a  Animación Facial en 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.

Page 17: Introducción a  Animación Facial en MPEG-4

Parámetros de animación facialFAP 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.

Page 18: Introducción a  Animación Facial en MPEG-4

Parámetros de animación facialFAP 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.

Page 19: Introducción a  Animación Facial en MPEG-4

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.

Page 20: Introducción a  Animación Facial en MPEG-4

Parámetros de animación facial

Page 21: Introducción a  Animación Facial en MPEG-4

Índice

Introducción Especificación y animación de las caras

Modelado de caras en estado neutroParámetros de animación facialEspecificación del modelo de la cara

Integración de Face animation y text-to-speech

Integración en sistemas MPEG-4

Page 22: Introducción a  Animación Facial en 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.

Page 23: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de caraModelo 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.

Page 24: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de caraAdaptació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.

Page 25: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de caraModelado 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

Page 26: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de caraDefinició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

Page 27: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de caraDefinició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.

Page 28: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de caraDefinició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.

Page 29: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de cara

Definición de reglas de animación empleando una FAT

Page 30: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de cara

Ejemplo

Page 31: Introducción a  Animación Facial en MPEG-4

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.1. Determinar el intervalo listado en el FaceDefMesh en el que recae el valor del FAP

recibido.

2. Si se recibe un FAP en el intervalo j = [Ij,Ij+1] con 0=Ik<=Ij

3. Si FAP > Imax, Pm se calcula con la fórmula anterior haciendo j=max-1

4. Si el FAP está en [Ij,Ij+1] y Ij+1<=Ik =0

5. Si FAP <I1 ecuación 4 con j=1

6. Si sólo hay un intervalo

No es necesario limitarlo a caras.

]*)(...]*)0[(* ,,1 jmjkmkmm DIFAPDIFAPUPP

]*)0(...]*)[(* 1,1,1 kmkjmjmm DIDFAPIFAPUPP

1,** mmm DFAPFAPUPP

Page 32: Introducción a  Animación Facial en MPEG-4

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

Page 33: Introducción a  Animación Facial en MPEG-4

Especificación del modelo de caraAhorro 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.

Page 34: Introducción a  Animación Facial en MPEG-4

Índice

Introducción Especificación y animación de las caras

Modelado de caras en estado neutroParámetros de animación facialEspecificación del modelo de la cara

Integración de Face animation y text-to-speech

Integración en sistemas MPEG-4

Page 35: Introducción a  Animación Facial en MPEG-4

Integración con síntesis de habla

Page 36: Introducción a  Animación Facial en 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.

Page 37: Introducción a  Animación Facial en MPEG-4

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.

Page 38: Introducción a  Animación Facial en MPEG-4

Índice

Introducción Especificación y animación de las caras

Modelado de caras en estado neutroParámetros de animación facialEspecificación del modelo de la cara

Integración de Face animation y text-to-speech

Integración en sistemas MPEG-4

Page 39: Introducción a  Animación Facial en MPEG-4

Integración con sistemas MPEG-4

Un grafo de escena BIFS tiene que ser transmitido al terminal MPEG-4.

Page 40: Introducción a  Animación Facial en 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.

Page 41: Introducción a  Animación Facial en MPEG-4

Integración con sistemas MPEG-4

Un nodo AudioSource es controlado por el TTS.

Page 42: Introducción a  Animación Facial en MPEG-4

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

Page 43: Introducción a  Animación Facial en MPEG-4

Integración con sistemas MPEG-4

MPEG-4 puede incluir time stamps en los streams para sincronizar.

Page 44: Introducción a  Animación Facial en MPEG-4

Demos EPTAMEDIA

http://www.eptamedia.com/faceanim/en-doc/en-demo-c-netnews.htm ALTER EGO

http://www.studiopendulum.com/alterego/clients_and_projects.html Hannover University

http://www.tnt.uni-hannover.de/project/facialanimation/demo/index.html  Tsinghua University

http://hcsi.cs.tsinghua.edu.cn/english/demoavatar.htm  Taiwan University

http://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

Page 45: Introducción a  Animación Facial en MPEG-4

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

Page 46: Introducción a  Animación Facial en MPEG-4

Introducción a Animación Facial en MPEG-4David Escudero Mancebo

Universidad de Valladolid