sÍntesis animada de voz visual a partir del video de un … · sÍntesis animada de voz visual a...
TRANSCRIPT
SÍNTESIS ANIMADA DE VOZ VISUAL A PARTIR DEL VIDEO DE UN ROSTRO
JUAN CARLOS QUINTANA DUQUE MILTON GIOVANNY MENDIETA BORJA
PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA BOGOTÁ D.C.
2005
SÍNTESIS ANIMADA DE VOZ VISUAL A PARTIR DEL VIDEO DE UN ROSTRO
JUAN CARLOS QUINTANA DUQUE
MILTON GIOVANNY MENDIETA BORJA
Trabajo de grado para optar al título de Ingeniero Electrónico
Directora CAROLINA SOTO QUINTERO M.Sc.
Ingeniera Electrónica
PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA BOGOTÁ D.C.
2005
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA
RECTOR MAGNÍFICO: R.P. GERARDO REMOLINA VARGAS S.J. DECANO ACADÉMICO: Ing. FRANCISCO JAVIER REBOLLEDO MUÑOZ DECANO DEL MEDIO UNIVERSITARIO: R.P. ANTONIO JOSÉ SARMIENTO NOVA S.J. DIRECTOR DE CARRERA: Ing. JUAN CARLOS GIRALDO CARVAJAL DIRECTORA DEL PROYECTO: Ing. CAROLINA SOTO QUINTERO
ARTÍCULO 23 DE LA RESOLUCIÓN No. 13 DE JUNIO DE 1946
“La universidad no se hace responsable de los conceptos emitidos por sus
alumnos en sus proyectos de grado.
Sólo velará porque no se publique nada contrario al dogma y la moral católica y
porque los trabajos no contengan ataques o polémicas puramente personales.
Antes bien, que se vea en ellos el anhelo de buscar la verdad y la justicia”
AGRADECIMIENTOS
Agradecemos ante todo a Dios por guiarnos durante estos años de estudio y
dotarnos de fortaleza y sabiduría para superar pruebas.
Agradecemos también de manera muy especial a las personas que hicieron
posible la exitosa culminación del presente trabajo de grado, en especial a nuestra
directora Carolina Soto Quintero y a los ingenieros Javier Villegas y Edson
Bárcenas quienes estuvieron siempre dispuestos a colaborar de forma agradable y
efectiva.
Y a nuestros padres, mil y mil gracias por su compresión y apoyo durante este
proceso de formación, sin su ayuda hubiese sido imposible finalizar exitosamente
la carrera.
CONTENIDO
pág.
INTRODUCCIÓN .................................................................................................... 1 1. MARCO TEÓRICO .......................................................................................... 3
1.1. IMÁGENES DIGITALES ........................................................................... 3 1.2. ESPACIO DE COLOR RGB...................................................................... 4 1.3. FONEMAS Y VISEMAS............................................................................ 6 1.4. MATLAB ® y Visual C++........................................................................... 7 1.5. OPEN CV.................................................................................................. 7 1.6. SEGMENTACIÓN..................................................................................... 9
1.6.1. Color .................................................................................................. 9 1.6.2. Movimiento ...................................................................................... 10 1.6.3. Otras formas de segmentación ........................................................ 10
1.7. LA TRANSFORMADA DISCRETA DEL COSENO (DCT) ...................... 11 1.7.1. Codificación DCT............................................................................. 11
1.8. MEDIDAS DE DISTANCIA...................................................................... 13 1.9. LIP SYNC................................................................................................ 14 1.10. FORMATO DE VIDEO AVI................................................................. 15 1.11. ESTÁNDAR DE VIDEO DV................................................................. 15
2. DESCRIPCIÓN .............................................................................................. 16 2.1. MÓDULO DE ADQUISICIÓN DE INFORMACIÓN ................................. 17 2.2. MÓDULO DE SEGMENTACIÓN AUTOMÁTICA Y PARAMETRIZACIÓN ........................................................................................ 17 2.3. MÓDULO BASE DE IMÁGENES CARICATURIZADAS ......................... 18 2.4. MÓDULO DE ENTRENAMIENTO .......................................................... 18 2.5. MÓDULO DE IDENTIFICACIÓN............................................................. 19 2.6. MÓDULO DE INTERPOLACIÓN ............................................................ 19 2.7. MÓDULO DE ENSAMBLAJE.................................................................. 20 2.8. ESPECIFICACIONES DE LA SÍNTESIS ................................................ 20
2.8.1. Especificaciones para el video de entrada....................................... 20 2.8.2. Especificaciones del video sintetizado............................................. 21
3. DESARROLLO............................................................................................... 22 3.1. CONSIDERACIONES INICIALES........................................................... 22
3.1.1. Adquisición de video ........................................................................ 22 3.1.2. Condiciones de grabación y configuración de la cámara................. 23 3.1.3. Simulación de efectos negativos en la grabación ............................ 23
3.2. MÓDULO DE ADQUISICIÓN DE INFORMACIÓN ................................. 24
i
3.3. MÓDULO DE SEGMENTACIÓN AUTOMÁTICA Y PARAMETRIZACIÓN ........................................................................................ 25
3.3.1. Segmentación Manual ..................................................................... 25 3.3.2. Segmentación automática ............................................................... 26
3.4. MÓDULO BASE DE IMÁGENES CARICATURIZADAS ......................... 30 3.4.1. Representación inicial...................................................................... 30 3.4.2. Representación Final ....................................................................... 32
3.5. MÓDULO DE ENTRENAMIENTO .......................................................... 35 3.5.1. Entrenamiento Inicial ....................................................................... 35 3.5.2. Entrenamiento con frases diseñadas............................................... 36
3.6. MÓDULO DE IDENTIFICACIÓN............................................................. 40 3.7. MÓDULO DE INTERPOLACIÓN ............................................................ 43
3.7.1. Parametrización de la Caricatura..................................................... 43 3.7.2. Interpolación .................................................................................... 45
3.8. MÓDULO DE ENSAMBLAJE.................................................................. 48 4. ANÁLISIS DE RESULTADOS........................................................................ 50
4.1. PRUEBAS DE DESEMPEÑO ................................................................. 50 4.2. PROTOCOLO DE PRUEBAS ................................................................. 51 4.3. CONSIDERACIONES SOBRE LA MUESTRA........................................ 52 4.4. RESULTADOS DE LAS ENCUESTAS ................................................... 52
4.4.1. Resultados Globales........................................................................ 52 4.5. ANÁLISIS DE RESULTADOS Y POSIBLES MEJORAS ........................ 60 4.6. COMPARACIÓN DE LOS RESULTADOS CON RESPECTO A LOS OBJETIVOS PLANTEADOS.............................................................................. 61 4.7. ANÁLISIS DE COSTOS.......................................................................... 62 4.8. POSIBLES APLICACIONES................................................................... 62
4.8.1. Comunicaciones .............................................................................. 63 4.8.2. Interacción Hombre Máquina........................................................... 63
5. CONCLUSIONES .......................................................................................... 64 BIBLIOGRAFÍA ..................................................................................................... 68
ii
LISTA DE TABLAS
pág.
Tabla 1. Palabras utilizadas para la selección de visemas en el prototipo............ 35
Tabla 2. Números enteros asociados a cada uno de los visemas......................... 46
Tabla 3. Distancias existentes entre cada una de las imágenes del conjunto de
caricaturas...................................................................................................... 47
iii
LISTA DE FIGURAS
pág.
Figura 1: Sistema de coordenadas para una imagen.............................................. 3 Figura 2: Espacio de color RGB normalizado.......................................................... 5 Figura 3: Descomposición de una imagen de color en formato RGB...................... 6 Figura 4: Representación de la DCT aplicada a un punto..................................... 11 Figura 5: Funciones base para un arreglo de 8x8. ............................................... 13 Figura 6: Diagrama en bloques Sintetizador Animado de Voz Visual. .................. 16 Figura 7: Segmentación manual de la región que contiene la boca. ..................... 25 Figura 8: Imagen utilizada por el algoritmo de segmentación para realizar análisis
a partir del color. ............................................................................................ 26 Figura 10: Región obtenida después de aplicar segmentación por color y por
cuantización. .................................................................................................. 28 Figura 11: Resultado final de la segmentación automática, área de interés. ........ 29 Figura 12: Comparación de las regiones halladas por segmentación de color y
movimiento para dos usuarios diferentes....................................................... 30 Figura 13: Caricaturas base: a) Caricatura a color con boca, b) Caricatura en
escala de grises sin boca ............................................................................... 30 Figura 14: Caricaturas correspondientes a las vocales: a) Vocal a, b) Vocal e, c)
Vocal i, d) Vocal o, e) Vocal u, f) Silencio...................................................... 31 Figura 15: Conjunto de bocas extendido a visemas clasificados por punto de
articulación ..................................................................................................... 32 Figura 16: Representación final de caricaturas para el hombre: a) Vocal “a”
hombre, b) Vocal “e” hombre, c) Vocal “i” hombre, d) Vocal “o” hombre, e) Vocal “u” hombre, f) Silencio. ......................................................................... 33
Figura 17: Representación final de caricaturas para el hombre: a) Vocal “a” mujer, b) Vocal “e” mujer, c) Vocal “i” mujer, d) Vocal “o” mujer, e) Vocal “u” mujer, f) Silencio........................................................................................................... 34
Figura 18: Frase de entrenamiento para detección de vocales y silencio en donde el guión representa un intervalo de silencio con la boca completamente cerrada. .......................................................................................................... 36
Figura 19: Algoritmo de identificación automático de visemas para vocales y para el silencio: a) Valores de distancia para las imágenes del video, b) Cuantización por umbral. ............................................................................... 37
Figura 20: Frases de entrenamiento para selección de visemas diferentes a vocales. .......................................................................................................... 38
Figura 21: Resultados del entrenamiento automático para la selección de visemas v, f, k, g, j, s y n. ............................................................................................. 39
iv
Figura 22: Ventana de visualización y selección de visemas. ............................... 40 Figura 23: Visualización de imagen de entrada (derecha) y de imagen asociada a
la identificación (izquierda)............................................................................. 41 Figura 24: Proceso de identificación de imágenes. ............................................... 42 Figura 25: Contornos encontrados en las bocas de algunas caricaturas. ............ 44 Figura 26: Imagen segmentada que será parametrizada según los casos
propuestos. .................................................................................................... 45 Figura 27: Búsqueda de imágenes intermedias para interpolación entre los
visemas V1 y V2 ............................................................................................ 47 Figura 28: Resultados obtenidos para la síntesis utilizando interpolación a partir de
parametrización por contorno (Mujer): a) Naturalidad, b) Coherencia, c) Presencia de saltos, d) Calidad del video. ..................................................... 53
Figura 29: Resultados obtenidos para la síntesis utilizando interpolación por repetición de imágenes (Hombre): a) Naturalidad, b) Coherencia, c) Presencia de saltos, d) Calidad del video. ...................................................................... 54
Figura 31: Resultados obtenidos para la síntesis utilizando interpolación basada en parametrización por DCT (Hombre): a) Naturalidad, b) Coherencia, c) Presencia de saltos, d) Calidad del video. ..................................................... 56
Figura 32: Resultados obtenidos para la síntesis utilizando interpolación por repetición de imágenes (Mujer): a) Naturalidad, b) Coherencia, c) Presencia de saltos, d) Calidad del video ....................................................................... 58
Figura 33: Comparaciones entre videos generados con métodos de interpolación distintos (Mujer): a) Interpolación por repetición de imágenes vs. Interpolación basada en parametrización por contorno, b) Interpolación por repetición de imágenes vs. Interpolación basada en parametrización por DCT, c) Interpolación basada en parametrización por contorno vs. Interpolación basada en parametrización por DCT. ............................................................ 59
v
LISTA DE ANEXOS
pág.
Anexo A: Conjunto de visemas caricaturizados personaje masculino................... 70
Anexo B: Conjunto de visemas caricaturizados personaje femenino .................... 73
Anexo C: Formatos de encuesta ........................................................................... 76
Anexo D: Resumen resultados obtenidos ............................................................. 78
Anexo E: Presupuesto inicial del proyecto ............................................................ 80
Anexo F: Costo final del proyecto.......................................................................... 81
vi
INTRODUCCIÓN
El término animación a nivel cinematográfico describe el conjunto de técnicas que
se utilizan para dotar de vida a un dibujo. A través del tiempo se han
experimentado diferentes técnicas de animación, muchas de ellas sencillas y otras
que demandan una gran cantidad de tiempo y trabajo por parte del artista.
La síntesis de videos por medio de procesos computacionales es una herramienta
que permite la elaboración de animaciones a partir de imágenes ya creadas o
generadas por el sistema. Al ubicar las imágenes de forma consecutiva y
coherente con una señal de audio, da como resultado una animación realista
cuyas características dependen de la cantidad y calidad de las imágenes
generadas, manejo de luz y colores. Existen otro tipo de procesos
computacionales para la generación de animaciones como es el caso del "Motion
Capture" que es capaz de captar el movimiento de un modelo, gracias a un traje
especial compuesto de una malla con puntos de referencia que, captados por las
cámaras y digitalizados en la computadora, reproducen sus movimientos hasta el
último detalle. Este sistema aunque efectivo es bastante costoso por los sensores
que contiene el traje. Películas como Toy Story, (1995), Bichos (1998) y
Buscando a Nemo (2003) utilizaron técnicas similares en los rostros de las
animaciones de la cara de los personajes, a partir de la expresiones de las
personas que grabaron sus voces, creando un banco de gestos que se
implementaron luego en la animación [12].
Hoy en día, la animación se está utilizando en proyectos relacionados con el
desarrollo de habilidades sociales de niños que cuentan con deficiencias auditivas
y/o con autismo, aplicaciones que permiten la interacción entre el hombre y la
máquina, guías y tutores virtuales, comunicación entre personas, entretenimiento y
el aprendizaje del lenguaje [4].
Por otra parte la síntesis de voz visual permite generar secuencias de video en las
que se muestra el rostro de una persona realizando los movimientos necesarios
para gesticular la voz.
Algunos grupos de investigación se han enfocado en combinar técnicas de
animación a partir de audio y video para el desarrollo de sistemas de
comunicación como es el caso de la telefonía de voz visual [16].
En el presente trabajo de grado se implementó una aplicación que permite a partir
del video de una persona hablando generar un video caricaturizado que guarda
relación con el mismo. Para esto se desarrollaron 6 módulos los cuales poseen
funciones claramente definidas dentro del proceso de síntesis animada. Estos
módulos son los siguientes: Módulo de Adquisición de Información, módulo de
entrenamiento, módulo se segmentación y parametrización, módulo de
identificación de imágenes, módulo de interpolación, y módulo de ensamblaje.
La aplicación se desarrolló bajo los lenguajes de programación MATLAB® y Visual
C++, apoyado en las librerías de OpenCV para adquisición y procesamiento de
imágenes y video.
En el Capitulo 1 se presenta el marco teórico, en el se introducen los conceptos
básicos que fundamentan el trabajo realizado. En el Capítulo 2 se realiza una
descripción completa de los módulos. En el Capítulo 3 se presenta el análisis
hecho para la realización de cada uno de los módulos y los problemas
encontrados en cada uno de ellos. En el capitulo 4 se describen las pruebas que
permiten evaluar la calidad de la síntesis y los diferentes modelos utilizados para
la generación de video, las posibles mejoras al proyecto y se detalla el costo total
del trabajo. Finalmente en el capítulo 5 se presentan las conclusiones de la
aplicación realizada.
2
1. MARCO TEÓRICO
1.1. IMÁGENES DIGITALES
Es importante conocer el proceso de creación de una imagen digital a partir de
datos adquiridos por una cámara, así como también saber como tales imágenes
son representadas en un computador de forma que permita realizar su
procesamiento.
En principio las imágenes se representan con un patrón bidimensional de
intensidad de luz y color. Este patrón está definido en un sistema de coordenadas
en donde el origen corresponde a la esquina superior izquierda de la imagen y se
describe como una función f(x, y) como se ilustra en la figura 1.
x (0,0)
y
Figura 1: Sistema de coordenadas para una imagen.
En el caso de imágenes monocromáticas el valor de la función para cualquier par
de coordenadas (x, y) es la intensidad de la luz detectada en ese punto y para
imágenes de color el valor de la función es un vector de tres posiciones que varía
3
de acuerdo al modelo de representación de color i.e. RGB (Red, Green, Blue),
CMY (Cyan, Magenta, Yellow), HSI (Hue, Saturation, Intensity), y YCbCr
(luminance, blue chrominance, red chrominance).
La función f(x,y) debe ser almacenada en un arreglo de datos discretos para ser
procesada por el computador. Esta representación digital siempre será una
aproximación del valor original de la imagen pero es el costo que se debe pagar
para poder manipular la imagen usando un computador. Para pasar de la función
f(x,y) a una forma numérica apropiada es necesario realizar un proceso de
muestreo seguido de uno de cuantización.
El proceso de muestreo consiste en medir el valor de la función de la imagen f(x,y)
en intervalos discretos en el espacio. Cada muestra corresponde a una pequeña
área cuadrada de la imagen conocida como un píxel. Una imagen digital es un
arreglo bidimensional de píxeles representados por las coordenadas x y y,
tomando x y y valores enteros.
El proceso de cuantización se encarga de reemplazar valores continuos de la
función f(x,y) con un conjunto discreto de niveles de cuantización. La precisión
con que las variaciones de la función f(x,y) son representadas está determinada
por el número de niveles de cuantización que se usan, entre más niveles mejor la
aproximación.
1.2. ESPACIO DE COLOR RGB
La mayoría de las aplicaciones que involucran la creación y visualización de color
están fundamentadas en la mezcla de luz roja, verde y azul en diferentes
proporciones. Por esta razón, el rojo (R), verde (G) y azul (B) son conocidos como
los colores primarios del sistema aditivo de colores. Así, una imagen a color
puede formarse haciendo tres medidas de brillo en cada píxel, usando las
componentes de rojo, verde y azul de la luz detectada en dicho píxel. Esto se
4
puede lograr utilizando una cámara a color en donde el sensor es capaz de medir
la radiación en las longitudes de onda del rojo, del verde y del azul para todos los
puntos de la imagen. En una imagen a color representada con el modelo RGB, el
valor de f(x,y) es un vector con tres componentes, correspondientes a R, G, y B.
Si se utiliza un modelo normalizado, cada componente tiene la posibilidad de
variar de 0.0 a 1.0. RGB puede ser representado por ejes ortogonales que definen
un espacio de color tridimensional como se ilustra en la figura 2.
Figura 2: Espacio de color RGB normalizado1.
Los colores primarios rojo, verde y azul están en las coordenadas (1, 0, 0), (0, 1,
0), y (0, 0, 1) y los colores cian, magenta y amarillo en las esquinas opuestas
respectivamente. El color negro se encuentra en el origen y el blanco en la
esquina más alejada del origen. Ya que cada uno de los tres componentes RGB
es cuantizado normalmente usando 8 bits, una imagen compuesta por estos tres
componentes es conocida como una imagen a color de 24-bits, como se muestra
en la figura 3.
1 Tomado de Digital Image Processing a practical introduction using Java™. Nick Efford.
5
Figura 3: Descomposición de una imagen de color en formato RGB.
1.3. FONEMAS Y VISEMAS
El conjunto limitado de sonidos básicos que una lengua utiliza para formar
palabras se conoce comúnmente como fonemas de la lengua. Estos se pueden
clasificar dependiendo de la forma en la que el aire fluye dentro de la cavidad
bucal para generar el sonido, modo de articulación, o de acuerdo a la posición que
deben adoptar la lengua y los labios en el momento de la pronunciación.
De acuerdo al modo, los fonemas se clasifican de la siguiente forma:
• Fricativos /f/s/j/
• Africativos /ch/
• Nasales /n/m/ñ/
• Vocálico /a/e/i/o/u/
• Líquidos /l/ll/r/rr/
• Explosivos /p/b/t/d/k/j/
De acuerdo al punto de articulación los fonemas se clasifican en:
• Bilabiales /p/b/m/
• Labiodentales /f/v/
• Dentales /t/d/
• Interdentales /z/
• Alveolares /s/n/l/r/rr/
• Palatales /ch/ñ/y/
6
• Velares /k/g/j/
Finalmente los visemas son la representación gráfica de los fonemas, teniendo en
cuenta que puede existir más de un fonema asociado a un mismo visema.
1.4. MATLAB ® y Visual C++
MATLAB®, Laboratorio de Matrices, es un lenguaje de alto nivel desarrollado por
Math Works cuyas funciones están optimizadas para el uso de matrices. Gracias
a la diversidad de sus librerías aplicables a diversos campos del conocimiento,
este programa es ampliamente utilizado en la educación y en la industria.
MATLAB® permite la implementación de código de forma más sencilla y amigable
que otros lenguajes de programación, gracias a un conjunto amplio de funciones
especializadas denominadas ToolBox.
Visual C++ es un leguaje ensamblador ampliamente utilizado en el mundo que
soporta programación orientada a objetos, herencia y polimorfismo. Estas
características facilitan la escritura de programas y el análisis de problemas de
una forma más organizada, ya que permite la creación de nuevos tipos de datos
diferentes a los del lenguaje nativo.
Gracias a la forma en que realiza el manejo de datos en memoria, permite obtener
mejores tiempos de procesamiento que MATLAB ® pero para esto se requiere un
código más elaborado.
1.5. OPEN CV
Open CV “Intel® OPEN SOURCE COMPUTER VISION LIBRARY”, es un conjunto
de librerías optimizadas escritas en lenguaje C++, en las cuales están
implementados algunos de los más famosos y conocidos algoritmos en el área del
7
procesamiento digital de señales y el procesamiento numérico de datos, al igual
que en MATLAB®, pero con la ventaja de ser un código rápido listo para usar.
Este conjunto de librerías permiten realizar análisis de la forma y estructura de una
imagen, reconocimiento de objetos, análisis y seguimiento de movimiento y
reconstrucción de imágenes en 3D.
Open CV está basado en las librerías conocidas como IPP (Intel® Integrated
Performance Primitives) las cuales han sido diseñadas para disminuir el tiempo de
procesamiento en procesadores tipo Pentium® 4, Itanium®-based, Xscale® y en
sistemas SMP, las cuales no son de carácter gratuito como lo es Open CV.
Open CV esta distribuido en 4 librerías que agrupan diferentes tipos de
operaciones sobre las imágenes o matrices:
• Core: Permite realizar operaciones básicas a matrices de gran
dimensión, operaciones matriciales, realizar gráficas en dos
dimensiones y trabajar con estructuras.
• Vision (cv): Permite realizar operaciones básicas de procesamiento de
imágenes, como por ejemplo transformaciones geométricas y de color,
filtros, entre otros; análisis de una región de interés ROI, detección de
objetos y de rostros, y calibración de cámaras para reconstrucción de
imágenes en 3D
• IO/GUI (highgui): Permite realizar la adquisición de una imagen o de un
video en tiempo real ó a partir de un archivo.
• Cvaux: Esta librería ya no esta incluida en las ultimas versiones de
Open CV, pero podemos decir que permite realizar operaciones a partir
de visión 3D, detección de rostros y búsqueda de formas en una
imagen.
8
1.6. SEGMENTACIÓN
La segmentación consiste en la descomposición de una o un grupo de imágenes
en partes que poseen una o varias características en común. Generalmente es
uno de los pasos más utilizados en procesos de análisis de imágenes. Por medio
de la segmentación se logra obtener de la imagen la región o regiones de interés,
disminuyendo la cantidad de datos a procesar y por consiguiente el tiempo de
procesamiento.
La segmentación en general se puede realizar por color o por movimiento como se
muestra a continuación.
1.6.1. Color
Es una de las propiedades más importantes de una imagen. Algunas técnicas
básicas que aprovechan esta característica son:
1.6.1.1. JSEG
Esta técnica consiste en realizar cuantización a partir de color para luego realizar
la segmentación.
1.6.1.2. Mean-Shift Algorithm
Consiste en segmentar una región a partir del punto en donde se encuentra el
valor máximo de la función de densidad de probabilidad, obtenida a partir del
movimiento de una ventana dentro de una región con características similares.
1.6.1.3. Morphological Greyscale Analysis
Consiste en segmentar un área a partir de la discontinuidad y similitud presentes
en los componentes de una imagen. A partir de la discontinuidad se intenta dividir
9
la imagen basándose en cambios bruscos en el nivel de gris. Las áreas de interés
en esta categoría son la detección de puntos, de líneas y de bordes en la imagen.
En cambio a partir de similitud la selección de regiones está basada en las
técnicas de umbrales, crecimiento de regiones, y técnicas de división y fusión.
1.6.1.4. Watershed Segmentation
Se basa en la interpretación de una imagen en escala de grises como si fuera una
superficie topográfica, es decir los píxeles oscuros corresponden al suelo y los
mas blancos corresponden a los picos lo que permite realizar segmentación a
partir de las “alturas” representadas. Este algoritmo permite detectar pequeñas
irregularidades en imágenes homogéneas.
1.6.2. Movimiento
Está basado en la detección de movimiento a partir de un estimador dando como
resultado un campo de vectores, o en el análisis de cada imagen que compone un
video para luego identificar el área de mayor cambio.
1.6.3. Otras formas de segmentación
Podemos también clasificar la segmentación según la forma como se establece la
región de interés, es decir, manual o automática. La segmentación de tipo manual
es la más sencilla debido a que el usuario selecciona la región que necesita a
partir de su criterio. Por otra parte, la segmentación automática implica el
procesamiento de un grupo de imágenes que dependiendo del algoritmo y la
cantidad de datos puede dar como resultado tiempos de procesamiento muy
largos.
10
1.7. LA TRANSFORMADA DISCRETA DEL COSENO (DCT)
Hoy en día esta transformada es una de las más utilizadas en la compresión de
imágenes ya que permite representar la mayor parte de la energía de la señal o de
la imagen en pocos coeficientes.
La transformada discreta del coseno (DCT) ayuda a separar una imagen en partes
(o sub-bandas espectrales) de diferente importancia (con respecto a la calidad
visual de la imagen). La DCT como se ilustra en la figura 4 es similar a la
transformada discreta de Fourier que transforma una señal o una imagen del
dominio del tiempo al dominio de la frecuencia.
Figura 4: Representación de la DCT aplicada a un punto.
1.7.1. Codificación DCT
La ecuación general para una DCT en una dimensión (con N términos) está
definida con la siguiente ecuación (1):
( ) )(12.2.cos).(2)(
1
0
21
ifiNui
NuF
N
i∑−
=⎥⎦⎤
⎢⎣⎡ +Λ⎟
⎠⎞
⎜⎝⎛=
π (1)
y la correspondiente DCT inversa en una dimensión es en donde: )(1 uF −
11
⎪⎩
⎪⎨⎧ =
=Λotrocaso
para
...1
02
1)(
ζζ
La ecuación general para una DCT de dos dimensiones (Imagen de N x M ) esta
definida por la siguiente ecuación (2):
( ) ),(.)12(.2.cos12
.2.cos).().(22),(
1
0
1
0
21
21
jifjMui
Nuji
MNvuF
M
j
N
i∑∑−
=
−
=⎥⎦⎤
⎢⎣⎡ +⎥⎦
⎤⎢⎣⎡ +ΛΛ⎟
⎠⎞
⎜⎝⎛
⎟⎠⎞
⎜⎝⎛=
ππ (2)
y la correspondiente DCT inversa en dos dimensiones es en donde: ),(1 vuF −
⎪⎩
⎪⎨⎧ =
=Λotrocaso
para
...1
02
1)(
ζζ
Las características de la transformada discreta del coseno DCT en dos
dimensiones son las siguientes:
• La imagen de entrada es de N x M
• f(i,j) es la intensidad del píxel en la fila i y en la columna j
• F(u, v) es el coeficiente de la DCT en la fila k1 y la columna k2 de la matriz
de DCT.
• Para la mayoría de las imágenes, la energía de la señal reposa en las bajas
frecuencias; estas se encuentran en la esquina superior izquierda de la DCT.
• Se puede realizar compresión ya que los valores de la parte derecha baja
de la DCT representan las frecuencias altas, y son por lo general valores bajos,
bajos como para ser despreciados con distorsión pequeña y visible.
• La entrada a la DCT es un arreglo de enteros de N x M. Este arreglo
contiene píxeles en escala de grises que varían entre 0 y 255.
• La DCT aplicada al píxel (0,0) es decir F(0,0) define la componente DC de
la imagen.
• En términos computacionales es más fácil de implementar y más eficiente,
trabajar la DCT como un conjunto de funciones base que pueden ser generadas y
almacenadas previamente, conociendo el tamaño del arreglo a procesar. Los
valores para las funciones base pueden ser calculados fácilmente de la fórmula de
12
DCT. Un ejemplo de funciones base para un arreglo de 8x8 se ilustra en la figura
5.
Figura 5: Funciones base para un arreglo de 8x82.
1.8. MEDIDAS DE DISTANCIA
En el momento en que se desean realizar comparaciones entre imágenes o sus
respectivas transformadas para determinar el grado de similitud entre ellas, se
puede recurrir a alguno de los métodos de medición de distancia existentes. Por
lo general, estas comparaciones se realizan para imágenes previamente
segmentadas y parametrizadas.
A continuación se citan algunas de las medidas de distancia teniendo en cuenta
las siguientes definiciones
• D(A, B) ≥ 0; (D(A, B)=0 si y solo es A=B)
• D(A, B) = D(A, B)
1. Distancia Hamming (3)
∑=
−=p
kikkiji BAD
1 (3)
2 Tomado de The Discrete Cosine Transform http://www.cs.cf.ac.uk/Dave/Multimedia/node231.html#DCTenc
13
2. Distancia Euclidiana (4)
∑=
−=p
kikkiji BAD
1
2)( (4)
3. Distancia diferencia de cuadrados (5)
∑=
−=p
kkiikji BAD
1
22 )( (5)
En general, también se pueden utilizar medidas de distancia basadas en
correlación, óptima estadística, redes neurales, entre otras.
1.9. LIP SYNC
En animación este término se refiere a la coherencia entre el audio y el
movimiento de la boca a lo largo de un video. Sus principios se basan en:
• La correcta posición de la boca con respecto al audio de cada frame.
• La representación correcta del sonido se hace uno o dos frames antes de
que se emita el sonido.
• Si el dialogo es muy rápido, es decir si el cambio fonético es más rápido
que el cambio del frame, es posible colocar una imagen seguida de una
superposición de dos imágenes
• Se enfatiza más en el sonido de las vocales que en el de las consonantes
por ser más representativas. Si el sonido es prolongado la máxima
abertura del visema debe ser colocado en el primer frame.
• Se puede enfatizar el dialogo con el movimiento de los ojos y de la cabeza.
14
1.10. FORMATO DE VIDEO AVI
AVI significa (Audio Video Interleaved) o audio y video intercalados. Es un formato
creado por Microsoft para almacenar datos de audio y video en un archivo, junto
con alguna información acerca del contenido del mismo. Existen dos tipos de
archivos AVI: El primer tipo contiene una sola cadena de datos, y el segundo tipo
contiene una cadena de video y de una a cuatro cadenas de audio. El formato AVI
puede guardar los datos codificados de diversas formas y con la ayuda de codecs
aplicar factores de compresión, aunque también existe la posibilidad de tener un
formato AVI "raw" o crudo, es decir, sin compresión.
1.11. ESTÁNDAR DE VIDEO DV
DV es un estándar internacional de video digital que utiliza una cinta de metal
evaporado de 6.35mm para registrar vídeo digital de muy alta calidad. El vídeo
posee ciertas características dependiendo del tipo de formato usado:
PAL: 720x576 píxeles (625líneas) 25 fps NTSC: 720x480 píxeles (525 líneas) 29,97 fps
El video muestreado es comprimido usando la transformada discreta del coseno
(DCT), la misma clase de compresión usada en motion-JPEG. Sin embargo, la
DCT utilizada en DV permite una optimización con respecto a los compresores de
JPEG, permitiendo más alta calidad en el factor nominal de compresión.3
3 Tomado de John McGowan's AVI Overview: Programming and Other Technical Topics en http://www.jmcgowan.com/avi.html#Top
15
2. DESCRIPCIÓN
Este proyecto consistió en el diseño de una aplicación que permite generar un
video animado acompañado por voz a partir del video de una persona hablando,
con la ayuda de imágenes diseñadas por un artista. La aplicación está en
capacidad de sintetizar el video animado, luego de una etapa de entrenamiento y
basado en una misma caricatura en la cual se basa el video de salida. Para lograr
este fin, se desarrolló el sistema que se ilustra en la figura 6.
Videos de entrenamiento
ENTRENAMIENTO
BASE DE IMÁGENES
CARICATURIZADAS
IMAGEN ADQUISICIÓN DE
INFORMACIÓN
ALGORITMO DE IDENTIFICACIÓN
DE IMÁGENES
ENSAMBLAJE DEL
VIDEO FINAL
SÍNTESIS ANIMADA DE VOZ VISUAL
AUDIO
SEGMENTACIÓN AUTOMÁTICA Y
PARAMETRIZACIÓN
INTERPOLACIÓN
Entrada de audio y video
Figura 6: Diagrama en bloques Sintetizador Animado de Voz Visual.
16
2.1. MÓDULO DE ADQUISICIÓN DE INFORMACIÓN
Este módulo permite abrir un archivo de video con formato AVI, previamente
almacenado en el computador, para posteriormente extraer los datos de audio y
de video que lo componen.
Para tal fin se utilizó el conjunto de librerías de OpenCV que permitían asociar el
video a un apuntador, de forma que se podía obtener toda la información
necesaria correspondiente al video como por ejemplo el tamaño en píxeles de
cada una de las imágenes del video o la cantidad de imágenes del mismo.
En el caso de MATLAB® fue posible adquirir la información del video para su
procesamiento mediante el Toolbox de adquisición de imágenes.
La información del audio fue posible obtenerla gracias a la librería VFW (Video for
Windows) la cual permite tomar un video en formato AVI y copiar su cadena de
audio.
2.2. MÓDULO DE SEGMENTACIÓN AUTOMÁTICA Y PARAMETRIZACIÓN
El módulo de segmentación automática desarrollado tanto en MATLAB® como en
OpenCV, es el encargado de tomar las imágenes correspondientes a un video de
entrada y seleccionar la región de interés, para efectos de la síntesis aquella
región que contiene la boca. Para este fin, se implementó un algoritmo de
segmentación basado en color y en movimiento. En primera instancia, a partir de
color se determinaba una región que encerraba la boca, la nariz y parte de la
quijada, para luego ubicar la fila y la columna de mayor varianza y finalmente, con
esta coordenada se generaba un rectángulo que contenía la región
correspondiente a la boca.
17
Después de realizar la segmentación, se parametrizaba la región seleccionada, de
la siguiente manera: Primero se realizaba decimación por un factor de 4 en las dos
dimensiones para luego aplicar la transformada discreta del coseno DCT a la
imagen diezmada y se seleccionaba un conjunto de coeficientes en donde se
encontraba distribuida la mayor parte de la energía.
2.3. MÓDULO BASE DE IMÁGENES CARICATURIZADAS
El módulo base de imágenes caricaturizadas corresponde a un conjunto de
imágenes dibujadas por un artista en formato RGB 24 bits de tamaño 640 x 480
píxeles, las cuales representan los fonemas clasificados según el punto de
articulación y algunas imágenes intermedias a estas. Se diseñaron dos grupos de
imágenes caricaturizadas con el propósito de elaborar videos para un usuario
masculino o femenino según fuese el caso.
2.4. MÓDULO DE ENTRENAMIENTO
Este módulo desarrollado tanto en MATLAB® como en OpenCV, es el encargado
de seleccionar las imágenes correspondientes al conjunto de visemas. Par tal fin
es necesario generar algunos videos de entrenamiento que siguen frases
diseñadas especialmente para la fácil consecución de los visemas. La obtención
de los visemas correspondientes a las vocales y al silencio se realiza de forma
automática a diferencia del resto de visemas que deben ser seleccionados de
forma manual según el criterio del usuario.
Se desarrolló un algoritmo que seleccionaba de forma automática los visemas
correspondientes a las vocales utilizando un video diseñado especialmente para
ello. Para el conjunto restante de visemas se implementó un código utilizando
funciones proporcionadas por OpenCV que permitía al usuario visualizar los
videos imagen por imagen y seleccionar el visema buscado.
18
2.5. MÓDULO DE IDENTIFICACIÓN
El módulo de identificación desarrollado tanto en MATLAB® como en OpenCV,
permite seleccionar aquellas imágenes del video de entrada que tienen un alto
grado de similitud con las imágenes seleccionadas en el entrenamiento.
La comparación entre imágenes se realizó de la siguiente manera: Se garantizó
que las imágenes tanto del proceso de entrenamiento como del video de entrada
tuviesen el mismo tamaño y formato. Luego de haber segmentado y
parametrizado las imágenes, se comparaban punto a punto utilizando la medida
de Distancia Euclidiana y se marcaban las imágenes cuya distancia no superaba
un límite de similitud establecido. Este límite se determinaba a partir de la
distancia existente entre dos imágenes consecutivas multiplicada por una
constante. Las imágenes identificadas eran asociadas a imágenes que se
encontraban en la base de datos de caricaturas para hombre o mujer según fuese
el caso.
2.6. MÓDULO DE INTERPOLACIÓN
El módulo de interpolación implementado en MATLAB® y en OpenCV, permite al
programa seleccionar dentro del conjunto de imágenes de caricaturas, aquellas
correspondientes a la transición entre dos visemas identificados para que al
mostrarlas de forma sucesiva se genere la animación. En el algoritmo de
interpolación, se implementaron tres formas de parametrización para la región de
la boca en las caricaturas, dos utilizando la DCT y una por descripción del
contorno interno de la boca. El algoritmo de interpolación buscaba dentro del
conjunto de imágenes, a partir de una ponderación entre imagen origen e imagen
destino, las imágenes intermedias necesarias para completar la secuencia.
19
2.7. MÓDULO DE ENSAMBLAJE
Este módulo desarrollado tanto en MATLAB® como en OpenCV, permite a partir
de las librerías de video propias de cada uno de estos lenguajes, unir la secuencia
de audio correspondiente al video que se desea sintetizar con el conjunto de
imágenes resultantes del módulo de interpolación, dando como resultado la
síntesis animada de voz visual.
En el caso de MATLAB® no fue posible adherir el audio a la secuencia de video
generada debido a que el Toolbox no lo permite, por el contrario utilizando las
librerías de VFW (Video for Windows) en Visual C++, se copiaba la cadena de
audio del video original y se adhería a la secuencia de video sintetizada.
2.8. ESPECIFICACIONES DE LA SÍNTESIS
2.8.1. Especificaciones para el video de entrada
• Fondo e iluminación del video controlados
• Movimiento de la cabeza restringido
• Formato del video de entrada RGB de 24 bits
• Número de personas en el video: 1
• Resolución del video 720 X 480 (Formato DV) sin compresión
• Tasa mínima de adquisición 29.97 fps
• Operaciones automáticas de la cámara sobre la imagen deshabilitadas.
20
2.8.2. Especificaciones del video sintetizado
• Resolución del video 640 X 480
• Formato AVI sin o con compresión
• Número de personajes animados en el video: 1
• Tasa de reproducción 29.97 fps
• Duración del video igual al video de entrada
• Personaje masculino o femenino
• Sonido igual al del video de entrada
• Movimiento exclusivo de la boca durante la animación
21
3. DESARROLLO
En la fase inicial del proyecto, se desarrolló un conjunto de funciones utilizando
Matlab y los Toolbox de adquisición de video y procesamiento de imágenes para
implementar un prototipo. En este prototipo se implementaron algunos de los
módulos descritos anteriormente: Módulo de entrenamiento, módulo de
segmentación y parametrización, módulo de identificación de visemas, y módulo
de ensamblaje; los cuales permitieron realizar una evaluación de los
procedimientos planteados inicialmente. De acuerdo con los resultados obtenidos
fue posible determinar la forma en que se iban a implementar los algoritmos en
Visual C++ a partir de las funciones incluidas en las librerías de OpenCV.
A continuación se presentará la descripción del análisis hecho para la consecución
de cada uno de los módulos y la forma como se solucionaron los diferentes
problemas encontrados.
3.1. CONSIDERACIONES INICIALES
3.1.1. Adquisición de video
Las características de los videos de entrada se escogieron de acuerdo a las
necesidades del módulo de entrenamiento. Se eligió el estándar DV, el cual
permitía que se pudiese importar a un computador en formato AVI con resolución
720 x 480 píxeles en mapa de colores RGB de 24 bits, con el propósito de contar
con la mayor información posible para su posterior procesamiento. De esta forma
se realizaron tomas con una cámara de video de uso general SONY Handycam
TRV-33 con estándar de video DV, y se adecuaron las condiciones de grabación
de acuerdo con las especificaciones planteadas inicialmente tales como:
22
Movimiento de la cabeza restringido, fondo de color controlado y constante, y tasa
de adquisición de 29.97 fps.
Luego se realizaron pruebas para trasladar el video al computador utilizando el
puerto IEEE1394 o i-Link mediante Adobe Premier Pro™ el cual proporciona
diversas opciones de exportación de video.
3.1.2. Condiciones de grabación y configuración de la cámara
Los videos grabados inicialmente presentaron problemas como cambios notorios
en la luminosidad y desplazamiento de la cabeza de su posición inicial. Luego de
algunas pruebas se determinó que la calidad del video adquirido se ve afectado en
gran medida por la configuración de la cámara digital, cuando opciones como
ajuste automático de foco, brillo, zoom y blancos, se encuentran activas. Esto es
solucionado deshabilitando las opciones en las que la cámara realiza operaciones
automáticas sobre la imagen.
3.1.3. Simulación de efectos negativos en la grabación
Se realizaron pruebas en las que se analizaban factores determinantes en el
proceso de identificación como desplazamiento de la región de la boca por
movimiento del usuario. Se calculó la distancia Euclidiana entre una imagen y ella
misma siendo desplazada cierto número de píxeles y para desplazamientos
mayores a 5 píxeles tanto horizontal como verticalmente el error se incrementa
sustancialmente. Se realizaron también pruebas en las que se distorsionaba una
imagen simulando efectos de pérdida de foco, esto debido a que se había
observado en algunos videos. También se utilizó ecualización de histogramas
para mejorar el contraste de las imágenes, lo cual no resultó satisfactorio
descartando así esta opción.
23
Otra prueba realizada consistía en trabajar con sólo uno de los componentes de
color, rojo, azul o verde en lugar de hacerlo en escala de grises pero los mejores
resultados se obtenían al trabajar con la segunda opción.
Se evaluó además el efecto que tiene el paso del tiempo sobre el desempeño de
los algoritmos. Para esto se grabó un video con las vocales y se seleccionaron los
visemas correspondientes a las mismas para posteriormente identificarlos en un
nuevo video grabado un tiempo después. Se determinó que entre más sea el
tiempo entre el momento de grabación de los videos de entrenamiento y de los
videos a sintetizar, más difícil es la asociación de visemas.
Teniendo en cuenta lo anterior, se mejoró: El control de movimiento de la cabeza,
la iluminación utilizando luz artificial fluorescente en un cuarto aislado de la luz
natural, se deshabilitaron todas las opciones de operaciones automáticas de la
cámara, y el tiempo total de grabación de los videos.
3.2. MÓDULO DE ADQUISICIÓN DE INFORMACIÓN
Una vez grabados los videos de entrenamiento y de identificación se exploraron
diferentes formas para adquirir la información de las cadenas de audio y video. En
el caso de MATLAB® es posible adquirir la información del video para su
procesamiento mediante el Toolbox de adquisición de imágenes. Es importante
resaltar que si se trabaja con videos demasiado largos, es posible obtener un error
por falta de memoria por lo cual se debe tener especial cuidado cuando no se
poseen recursos computacionales adecuados.
En el caso de Visual C++, se puede adquirir la información de un video por medio
de las funciones asociadas a la librería HIGHGUI incluida en OpenCV o utilizando
la librería VFW de DirectX.
24
Para ambos lenguajes las imágenes que componen el video están en formato
RGB de 24 bits de 720x480 píxeles características necesarias para su análisis en
los siguientes módulos.
3.3. MÓDULO DE SEGMENTACIÓN AUTOMÁTICA Y PARAMETRIZACIÓN
3.3.1. Segmentación Manual
Para efectos del prototipo realizado en MATLAB® se implementó una
segmentación manual que básicamente consistía en seleccionar una región lo
suficientemente grande que encerrara la boca, y que garantizara que la totalidad
de la boca permaneciera dentro de la región seleccionada aún cuando se
presentaba la máxima abertura de la boca como se ilustra en la figura 7.
Figura 7: Segmentación manual de la región que contiene la boca.
Luego de analizar videos de diferentes personas, se encontraron algunas
características comunes en las imágenes que los componen como: Fondo
predominante azul y uniforme, iluminación controlada, ubicación del cuerpo y de la
cara similares, y captura de toda la cabeza y parte de los hombros, como se ilustra
en la figura 8, se decidió implementar un algoritmo basado en segmentación por
color y movimiento.
25
Figura 8: Imagen utilizada por el algoritmo de segmentación para realizar análisis
a partir del color.
3.3.2. Segmentación automática
Primero se realizó segmentación por color a partir de los promedios de las
componentes azul y rojo de una imagen del video, para las filas y las columnas. Si
los promedios de cada una de estas componentes estaban dentro de un umbral
seleccionado se entendía que en esta fila o columna no predominaba el color azul
de fondo y se descartaba, de tal forma que al cruzar la información obtenida de los
promedios de las filas y las columnas se determinaba la región mostrada en la
figura 9a.
Luego, se identificaban las regiones de la cara que poseían contenido de color
cercano al blanco, obteniendo la imagen que se ilustra en la figura 9b. Por otra
parte se tomaron dos muestras de la región mostrada en la figura 9a: Una muestra
correspondiente a la ropa que se encuentra en la esquina inferior izquierda y otra
muestra correspondiente al segmento de color azul ubicado en la esquina superior
izquierda. Con cada una de estas muestras se realizó una segmentación por
cuantización como se ilustra en las figuras 9c y 9d.
26
Al analizar las imágenes obtenidas para diferentes usuarios de las zonas cercanas
al blanco como la que se ilustra en la figura 9b, se observó en todas un patrón en
el que se podía agrupar tres regiones características de la imagen: La región de la
ropa, la región de la barbilla y la región del rostro entre la frente y el labio inferior.
De esta manera si el último grupo de blancos (de arriba a abajo) se encontraba
dentro de la región de la ropa se descartaba y se tomaba el grupo siguiente que
corresponde al de la barbilla, para tomar un punto de referencia ubicado en la
barbilla.
La segmentación realizada con la muestra de azul ubicada en la esquina superior
izquierda permitió eliminar la región de la imagen que contenía una parte de la
frente. Para el límite superior de la segmentación se tomo la mitad inferior de la
región existente entre el grupo de blancos escogido que corresponde a la barbilla
y la porción de la frente que no fue segmentada.
a) b)
27
c) d)
Figura 9: Proceso de segmentación automática: a) Imagen obtenida
después de aplicar segmentación por color azul, b) Imagen obtenida al ubicar los
píxeles de la imagen cercanos al blanco, c) Imagen obtenida utilizando
segmentación por cuantización con píxel azul, d) Imagen obtenida a partir de
segmentación por cuantización utilizando un píxel correspondiente a la ropa .
Para la segmentación de las columnas se eliminó a cada lado de la imagen
segmentada por color (Figura 9a) una proporción igual a un sexto de su ancho
para obtener finalmente una región en donde estuviese contenida parte de la
boca, la quijada y la nariz tal como se ilustra en la figura 10.
Figura 10: Región obtenida después de aplicar segmentación por color y por
cuantización.
28
Por último se halló la variación a lo largo del video de cada píxel ubicado en la
región encerrada por el recuadro rojo y se sumaron las varianzas de las filas y las
columnas para poder determinar la fila y la columna con mayor variación.
A partir de estas coordenadas (fila y columna de mayor varianza) se ubicó un
rectángulo de tamaño 74 X 96 píxeles en donde se garantizó que estuviese
contenida la región de la boca (recuadro verde) para cualquier usuario como se
ilustra en la figura 11. La selección de este tamaño se hizo teniendo cuidado de
no perder información alguna del movimiento de la boca, ni tampoco exagerar el
área del rectángulo.
Figura 11: Resultado final de la segmentación automática, área de interés.
En la figura 12 se ilustra una prueba realizada con dos usuarios diferentes en
donde se pueden observar las regiones de segmentación descritas anteriormente
representadas por recuadros de color verde y rojo.
29
Figura 12: Comparación de las regiones halladas por segmentación de color y
movimiento para dos usuarios diferentes.
3.4. MÓDULO BASE DE IMÁGENES CARICATURIZADAS
3.4.1. Representación inicial
Inicialmente, para el desarrollo del prototipo se diseñaron seis caricaturas en
escala de grises en las cuales se representaba el conjunto de visemas de las
vocales y el silencio. Para tal fin, se obtuvo una caricatura previamente diseñada
de una mujer como se ilustra en la figura 13a y se adaptó de forma tal que fuese
posible dibujar a mano los visemas de las vocales y el silencio, como se ilustra en
la figura 13b. Finalmente fueron dibujadas las diferentes bocas y se escanearon
en escala de grises como se ilustra en la figura 14.
a) b)
Figura 13: Caricaturas base: a) Caricatura a color con boca, b) Caricatura en
escala de grises sin boca
30
a) b) c)
d) e) f)
Figura 14: Caricaturas correspondientes a las vocales: a) Vocal a, b) Vocal e, c)
Vocal i, d) Vocal o, e) Vocal u, f) Silencio.
Al utilizar estas caricaturas en MATLAB® surgieron problemas ya que las
imágenes escaneadas no estaban ubicadas en la misma posición, y además
existían diferencias de tamaño en píxeles entre imágenes.
Luego se amplió el conjunto de caricaturas base utilizando el conjunto de visemas
clasificados por punto de articulación y se mejoraron los errores descritos
anteriormente como se ilustra en la figura 15. Cabe resaltar que estas imágenes
fueron dibujadas sin dientes y sin lengua lo que limitaba en gran medida la
naturalidad pero para el prototipo representaban una aproximación de lo que se
necesitaba en realidad.
31
Figura 15: Conjunto de bocas extendido a visemas clasificados por punto de
articulación
3.4.2. Representación Final
Luego de haber establecido el conjunto de visemas necesario y las características
de los mismos, se contactó a un diseñador gráfico para la elaboración de las
caricaturas. Se crearon caricaturas para personajes de ambos sexos, masculino
como se ilustra en la figura 16; femenino como se muestra en la figura 17, y se
utilizó el mismo sistema utilizado en las imágenes preliminares, es decir, se
dibujaron las bocas sobre una base fija. Estas imágenes se hicieron en un
programa de edición de imágenes, obteniendo de esta manera homogeneidad en
los colores y la posibilidad de ubicar las bocas en la misma región con una gran
precisión. Por otra parte con ayuda del diseñador se dibujaron algunas imágenes
intermedias que podían ser necesarias durante la animación. El conjunto
extendido de caricaturas se muestra en los anexos: Anexo A:”Conjunto de
Visemas Caricaturizados Personaje Masculino” y Anexo B:”Conjunto de Visemas
Caricaturizados Personaje Femenino”.
32
a) b) c)
d) e) f)
Figura 16: Representación final de caricaturas para el hombre: a) Vocal “a”
hombre, b) Vocal “e” hombre, c) Vocal “i” hombre, d) Vocal “o” hombre, e) Vocal
“u” hombre, f) Silencio.
33
g) h) i)
j) k) l)
Figura 17: Representación final de caricaturas para el hombre: a) Vocal “a” mujer,
b) Vocal “e” mujer, c) Vocal “i” mujer, d) Vocal “o” mujer, e) Vocal “u” mujer, f)
Silencio.
34
3.5. MÓDULO DE ENTRENAMIENTO
3.5.1. Entrenamiento Inicial
Para realizar el video de entrenamiento del prototipo, se estableció inicialmente
una secuencia de palabras cortas en las que se pronunciaba dos veces el visema
y se tenía de por medio y al final una vocal como se ilustra en la tabla 1.
Visema Palabra p Pepo b Bebo m Memo f Fefo v Vevo t Teto d Dedo s Seso n Neno l Lelo r Rero rr Rrerro ch Checho ñ Ñeño y Yeyo k Keko g Gego j Jejo
Tabla 1. Palabras utilizadas para la selección de visemas en el prototipo
Como se observa en la Tabla 1 el visema se puede obtener en dos posiciones
diferentes, entre el silencio con la primera vocal o entre la primera y segunda
vocal. La selección de las imágenes se realizó manualmente con la ayuda de una
función realizada en MATLAB® en la que era posible observar la secuencia de
imágenes deseada ingresando las posiciones de inicio y fin. Utilizando los dos
conjuntos de visemas se realizó la identificación de un video y los mejores
resultados correspondieron a los visemas obtenidos con la primera vocal. Esto se
debe a que en la interacción con la segunda vocal la boca viene de una posición
35
diferente a la boca cerrada por lo que no se nota en realidad el visema. De esta
forma se obtuvieron los visemas necesarios para realizar las pruebas iniciales.
3.5.2. Entrenamiento con frases diseñadas
3.5.2.1. Selección de vocales
Se decidió elaborar un nuevo método de entrenamiento. En este método el
usuario permanecía en silencio al inicio del video para luego pronunciar las cinco
vocales espaciadas por silencios y finalizar con otro intervalo de silencio como se
ilustra en la figura 18.
– a – e – i – o – u –
Figura 18: Frase de entrenamiento para detección de vocales y silencio en donde
el guión representa un intervalo de silencio con la boca completamente cerrada.
El algoritmo tomaba la tercera imagen del video de entrenamiento,
correspondiente a una imagen del usuario con la boca completamente cerrada
para luego calcular la distancia entre ésta y cada una de las imágenes del video
por medio de la Distancia Euclidiana. Se estableció un umbral de distancia fijo
obtenido por experimentación, y si la distancia a una determinada imagen estaba
por debajo de este umbral se le asignaba un uno (1) y en el caso contrarío un cero
(0) como se ilustra en la figura 19, para finalmente seleccionar de manera
totalmente automática dentro de cada uno de los intervalos de ceros aquellos que
representaban las vocales.
36
0 50 100 150 2000
1
2
3
4
5
6x 105
a)
Val
or d
e D
ista
ncia
Euc
lidia
na
0 50 100 150 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
b)
Cua
ntiz
ació
n po
r um
bral
Figura 19: Algoritmo de identificación automático de visemas para vocales y para
el silencio: a) Valores de distancia para las imágenes del video, b) Cuantización
por umbral.
Era importante tener en cuenta que para la correcta ejecución del algoritmo, se
debía mantener el intervalo de silencio con una duración aproximada al tiempo
que demoraba el usuario en pronunciar una de las vocales, así como también que
permaneciera con la boca completamente cerrada en dicho intervalo.
37
3.5.2.2. Selección de visemas restantes
El conjunto de imágenes restantes, se obtenían a partir de tres frases diseñadas
especialmente para su fácil identificación. Las frases elaboradas son las que se
ilustran en la figura 20 teniendo en cuenta que se debía conservar entre palabras
un intervalo de silencio de la misma forma en que se realizó el video de
entrenamiento para selección de vocales.
– Ya – Chavo – Ñero – Déjalo – Tirado –
– Vivir – Fue – Como – Ganar – Jugando – Sin – Nada –
– Leo – Plata – Mintió – Bajo – Real – Error –
Figura 20: Frases de entrenamiento para selección de visemas diferentes a
vocales.
La letra con la que iniciaba cada una de las palabras en las tres frases
correspondía a uno de los visemas a encontrar y gracias a que las palabras
estaban separadas por intervalos de silencio se podía utilizar un método similar al
de la obtención automática de vocales. De esta forma era posible ubicarse en el
final de cada intervalo de silencio para así seleccionar entre la segunda y cuarta
imagen a partir de este punto, imagen que representaría un determinado visema.
Resultados para una de las frases de entrenamiento se ilustran en la figura 21.
38
Visema seleccionado V Visema seleccionado F Visema seleccionado K
Visema seleccionado G Visema seleccionado J Visema seleccionado S
Visema seleccionado N
Figura 21: Resultados del entrenamiento automático para la selección de visemas
v, f, k, g, j, s y n.
Según las pruebas realizadas se determinó que el éxito del algoritmo dependía
altamente de la de la vocalización de la persona y de los intervalos de silencio por
lo que no se consideró como un método confiable para la selección de visemas.
Si la selección de visemas no se hace de forma adecuada, los resultados en la
síntesis no serán muy buenos.
Se trabajó además un método de identificación basado en la detección de
silencios por medio de sonido, pero existe un inconveniente ya que si se intentaba
seleccionar el visema en el momento en que se pasaba de un silencio a la
pronunciación de alguna de las palabras, la boca ya se había adecuado a la vocal
por lo cual se seleccionaban visemas que no correspondían a los esperados.
Igualmente se determinó que en el momento de trabajar un algoritmo por sonido
es indispensable contar con un ambiente libre de ruido.
39
Finalmente se concluyó que la identificación de los visemas se debía realizar de
forma manual seleccionando las imágenes que mejor los representaran. Para
esto se elaboró un algoritmo que permitía al usuario visualizar cada uno de los
videos de entrenamiento imagen a imagen utilizando un botón de desplazamiento
como se ilustra en la figura 22. Se solicitaba al usuario que buscara la imagen que
a su criterio correspondiera a uno de los visemas indicados y que presionara
cualquier tecla para de esta forma almacenar la posición correspondiente al
visema.
Figura 22: Ventana de visualización y selección de visemas.
3.6. MÓDULO DE IDENTIFICACIÓN
Para el desarrollo del módulo de identificación se determinó la forma en que se
iban a realizar las comparaciones entre las imágenes del video de entrada y las
imágenes de visemas seleccionadas en el módulo de entrenamiento.
Dependiendo del método de distancia seleccionado se obtienen diferentes
resultados, es por esto que en el prototipo se experimentó con las distancias
40
Hamming (6), Euclidiana (7) y Diferencia de Cuadrados (8). Después de realizar
pruebas de identificación en las que se observaba la correspondencia entre las
imágenes del video de entrada y las imágenes seleccionadas, se determinó que la
distancia Euclidiana era la más conveniente para el desarrollo de la aplicación.
∑=
−=p
kikkiji BAD
1 (6)
2
1
)(∑=
−=p
kikkiji BAD (7)
∑=
−=p
kkiikji BAD
1
22 )( (8)
Observar la correspondencia entre imágenes fue posible gracias a la forma en que
se generaba el video sintetizado, en la parte izquierda se visualizaban las
imágenes del video de entrada y en la parte derecha las imágenes caricaturizadas
asociadas, tal y como se ilustra en la figura 23
Figura 23: Visualización de imagen de entrada (derecha) y de imagen asociada a
la identificación (izquierda).
41
Para realizar la identificación se utilizaba la distancia Euclidiana para comparar
cada una de las imágenes del video de entrada con las imágenes de la base de
visemas teniendo en cuenta que todas las imágenes se encontraban previamente
segmentadas y parametrizadas. De esta forma se obtenía un vector con las
distancias de la imagen de entrada a todos los visemas base para luego
seleccionar la menor distancia, es decir, la imagen base más cercana a la imagen
de entrada. Para que la selección fuera un poco más rigurosa se comparaba la
menor distancia encontrada con un umbral: si esta distancia era menor, la imagen
encontrada era reconocida como válida y se le asignaba el número
correspondiente al visema identificado, pero si por el contrario la distancia
encontrada era mayor al umbral no se asociaba ninguna imagen y se marcaba
dicha posición como posición vacía. El umbral se calculaba para cada usuario a
partir de la distancia Euclidiana entre dos imágenes consecutivas multiplicada por
una constante determinada por experimentación. Como resultado de la
identificación se tenía un vector de la misma longitud del video de entrada y con
valores que representaban cada uno de los visemas para ser pasados
posteriormente al módulo de interpolación. El módulo de identificación se puede
apreciar en la figura 24.
Figura 24: Proceso de identificación de imágenes.
42
3.7. MÓDULO DE INTERPOLACIÓN
Debido a que en los videos generados se apreciaban cambios relativamente
bruscos, se hizo necesario comprobar si algún método de interpolación podía
mejorar la síntesis inicial. Un posible método consistía en repetir la imagen
anterior conocida si se encontraba que la imagen actual estaba asociada a
ninguno de los visemas.
El otro método de interpolación planteado para este módulo busca dentro del
conjunto de imágenes caricaturizadas las imágenes intermedias entre dos
imágenes conocidas, a partir de diferentes métodos de parametrización de la
región correspondiente a la boca de la caricatura y de un método de distancia.
3.7.1. Parametrización de la Caricatura
Modificar o no el área de los dientes de la caricatura para realizar la interpolación
fue una consideración inicial, y se determinó que para transformadas como la DCT
la región de los dientes ocupa una parte importante de la boca, y por lo tanto
puede modificar algunos coeficientes que lo describen. En cambio en los métodos
de parametrización que utilizan una descripción del contorno para describir el área
de mayor cambio, la región de los dientes genera una reducción en dicha área,
que para nuestro caso era la región encerrada por el borde interno de los labios.
Tres métodos de parametrización que trabajan con imágenes en escala de grises
fueron planteados y desarrollados: Parametrización por descripción de contorno,
parametrización DCT incluyendo la región de los dientes y parametrización DCT
suprimiendo la región de los dientes.
43
3.7.1.1. Parametrización por Contorno
Este método consiste en hallar el contorno interno de la boca sin tener en cuenta
el área de los dientes, para resaltar el área de mayor cambio que es la región que
encierra el contorno interno de la boca, como se ilustra en la figura 25.
.
Figura 25: Contornos encontrados en las bocas de algunas caricaturas.
Teniendo en cuenta que las caricaturas fueron generadas en un programa de
edición de imágenes, los dientes tenían un color claramente identificable, lo que
permitía buscarlos y convertirlos en regiones opacas. Las imágenes se pasaban a
escala de grises para poder hallar el contorno de la imagen esperado utilizando la
función de MATLAB® BWboundaries. Luego se tomaban 36 puntos espaciados
10° y referenciados a un punto dentro de la boca para finalmente ser almacenados
en una matriz de la forma a + jb y ser procesados por otro módulo con algún
método de distancia para realizar la interpolación.
3.7.1.2. Parametrización por DCT con variación en la región de los dientes
Esta parametrización consiste en almacenar los coeficientes DCT de la región
que encierra la boca de la caricatura, previamente segmentada, en una matriz
realizando variaciones en la región de los dientes. Para tal fin, se tomaban los
datos provenientes de la segmentación y se establecía un umbral de color con el
fin de cambiar el valor predominantemente blanco de los píxeles correspondientes
44
a los dientes por color negro. Después se convertía de espacio RGB a escala de
grises y se aplicaba la DCT sobre los datos.
3.7.1.3. Parametrización por DCT sin variación en la región de los dientes
Esta parametrización consiste en almacenar los coeficientes DCT de la región
que encierra la boca de la caricatura, previamente segmentada como se ilustra en
la figura 26, en una matriz sin realizar variaciones en la región de los dientes. Se
tomaban los resultados de la segmentación de la caricatura y después de haber
convertido la imagen a escala de grises se aplicaba la DCT almacenando los
coeficientes resultantes en vectores.
Figura 26: Imagen segmentada que será parametrizada según los casos
propuestos.
3.7.2. Interpolación
Este módulo recibía un vector generado por el módulo de identificación en donde
se indicaban con un número entre 0 y 24, ver Tabla 2, que imagen debía ser
adherida a la síntesis animada o si se debía realizar interpolación en caso que
hubiesen valores identificados con el número 0.
45
Entero Asociado Visema Representado
0 No se asoció visema alguno 1 Silencio 2 A 3 E 4 I 5 O 6 u 7 B 8 Ch 9 D
10 Ñ 11 F 12 G 13 J 14 K 15 L 16 M 17 N 18 p 19 R 20 Rr 21 S 22 T 23 V 24 Y
Tabla 2. Números enteros asociados a cada uno de los visemas
El primer método planteado para realizar la interpolación fue el denominado
interpolación por repetición de imágenes el cual consistía en repetir la imagen
anterior conocida en caso de que se encontrará un cero en el vector generado por
el módulo de identificación..
El otro método de interpolación utilizado se encargaba de hallar una o varias
imágenes intermedias entre dos imágenes conocidas. Se partía de un conjunto de
distancias correspondientes a las distancias existentes entre cada una de las
imágenes del conjunto de caricaturas como se muestra en el Tabla 3.
46
Distancias V1 V2 V3 V4 … V24 V1 0 d1 d2 d3 … D23 V2 d1 0 d24 d25 … D45 V3 d2 d24 0 d46 … D66 V4 d3 d7 d46 0 … D86 … … … … … 0 d105
V24 d23 d45 d66 d86 d105 0
Tabla 3. Distancias existentes entre cada una de las imágenes del conjunto de
caricaturas
En general la interpolación puede verse como se muestra en la figura 27 en donde
se tiene una imagen inicial Va y una imagen final Vb, y se tienen además
imágenes intermedias Vc, Vd, Ve, Vf, y Vg de las cuales se tienen que seleccionar
aquellas que permitan llevar a cabo la interpolación.
Figura 27: Búsqueda de imágenes intermedias para interpolación entre los
visemas V1 y V2
Por medio de una ecuación de la forma (11) se seleccionaba la imagen intermedia
que minimizara la medida de distancia L1 a partir de ponderaciones de las
distancias entre el visema y la imagen inicial Va, y el visema y la imagen final Vb.
Se variaba gradualmente el valor de los coeficientes k1 y k2 de forma que la
47
primera imagen seleccionada para la interpolación guardara mayor relación con la
imagen Va que con la imagen Vb y que al terminar la selección de imágenes, la
última guardara mayor relación con la imagen Vb que con la imagen Va.
1212*21*1
+=+−
Nkkdkdk
(11)
En donde: d1: Distancia entre una imagen y la imagen inicial d2: Distancia entre una imagen y la imagen final k1, k2: Constantes de ponderación N: # de Imágenes intermedias a encontrar Finalmente teniendo en cuenta el número de imágenes intermedias a encontrar y
definiendo las constantes k1 y k2, la ecuación (11) tomó la forma de la ecuación
(12).
1*)1(
1*)(
++
−+
−N
DbcmN
DacmN Nm <≤0 (12)
En donde: a: Imagen Origen b: Imagen Destino c: Imágenes Base de Datos N: # de Imágenes intermedias a encontrar Dxy: Distancia Euclidiana entre un par de imágenes x y y
3.8. MÓDULO DE ENSAMBLAJE
Este módulo es el encargado de unir el video sintetizado por el módulo de
interpolación con la secuencia de audio perteneciente al video de entrada.
La implementación de este módulo no fue posible en MATLAB® debido a que este
programa no cuenta con un Toolbox que permita la integración de la cadena de
audio y video en un solo archivo tipo AVI, haciendo necesario el uso de un
programa de edición de video que permita realizar esta tarea.
48
En Visual C++ se implementó este módulo a partir de la librería VFW Video for
Windows que es un conjunto de funciones API4 que permiten la creación de
ventanas de video, captura desde dispositivos de video así como creación y
manipulación de imágenes. VFW es una librería estándar para la mayoría de
lenguajes de programación.
El archivo AVI resultante podía ser generado con compresión o sin compresión. Al
generar el archivo sin compresión la imagen tenía la más alta calidad pero con el
compromiso del tamaño que ocupa en memoria (200 MBytes a 400 MBytes), en
cambio los archivos generados con compresión ocupaban tan solo una porción de
memoria (Tamaños menores a 30 MBytes), pero la calidad del video disminuía y
esto hizo que en algunas partes del video se percibieran imágenes borrosas
durante la ejecución del video. Las pruebas realizadas demostraron que la
compresión INDEO 5.1® ofrecía una buena tasa de compresión y calidad de video
óptima.
4 (Application Program Interface) Conjunto de rutinas, protocolos y herramientas para la creación de aplicaciones de software
49
4. ANÁLISIS DE RESULTADOS
Dado que dentro del objetivo general del proyecto se planteó la necesidad no solo
de implementar sino también de evaluar la síntesis animada de voz visual, y que
uno de los objetivos específicos consistía en evaluar el desempeño y la calidad de
la misma, se resolvió plantear dos modelos de encuestas que serán expuestos a
continuación.
4.1. PRUEBAS DE DESEMPEÑO
Para evaluar el desempeño del sistema y los algoritmos planteados descritos
anteriormente, fue necesario determinar la calidad de la síntesis a partir de la
naturalidad del movimiento de los labios, la coherencia entre el audio y el video, la
influencia que tienen los saltos entre las imágenes que componen el video sobre la
calidad del mismo, y las posibles mejoras que se pueden lograr al agregar un
método de interpolación en la elaboración de la síntesis.
Para tal fin se desarrollaron dos tipos diferentes de encuestas que se dividieron en
dos partes: En la primera parte se evalúan las características descritas
anteriormente a través de cuatro preguntas para dos videos generados con
interpolaciones de diferentes tipos. En la segunda parte se evalúa cual de los
siguientes métodos es la mejor elección para la generación de los videos:
Interpolación por repetición de imagen, interpolación basada en el contorno de la
boca e interpolación basada en la transformada discreta del coseno.
Los formatos de encuesta se encuentran en el Anexo C:“Formatos de encuesta”.
50
En el formato tipo I se evaluó primero una síntesis creada a partir del video de una
mujer y cuyo método de interpolación se basaba en parametrización por contorno,
seguido de un video correspondiente a un hombre, generado a partir de
interpolación por repetición; y para el caso del formato tipo II, se evaluó primero
una síntesis creada a partir del video de un hombre, utilizando interpolación
basada en la parametrización DCT seguido de un video correspondiente a la
síntesis de una mujer generado a partir de interpolación por repetición,
Para la segunda parte de ambos formatos se realizó una comparación entre las
tres interpolaciones para determinar cual era mejor, a partir de las siguientes
comparaciones entre parejas de videos síntetizados: Interpolación por repetición e
interpolación basada en parametrización DCT, interpolación por repetición e
interpolación basada en parametrización por contorno, y finalmente interpolación
basada en parametrización por contorno e interpolación basada en
parametrización DCT,
4.2. PROTOCOLO DE PRUEBAS
Para realizar las pruebas se llevó a cabo el siguiente protocolo:
1. Informar a la persona a encuestar en que consiste la síntesis animada de
voz visual
2. Explicar el formato y la metodología de la encuesta.
3. Ubicar al usuario, frente a la pantalla del computador con audífonos que le
permitan escuchar el audio de cada video.
4. Ejecutar el módulo de prueba.
5. En la primera parte, después de cada video el usuario debe llenar el
formato de encuesta respectivo para cada video, respondiendo las
preguntas relacionadas con las características del video
6. En la segunda parte, después de cada pareja de videos el usuario debe
llenar el formato de encuesta seleccionando el mejor video.
51
4.3. CONSIDERACIONES SOBRE LA MUESTRA
Para la muestra se escogieron 52 usuarios, 26 hombres y 26 mujeres entre los 19
y 25 años de edad. Tanto para el grupo masculino como para el grupo femenino
se encuestó a la mitad de los usuarios utilizando el formato tipo 1 y a la otra mitad
utilizando el formato 2.
4.4. RESULTADOS DE LAS ENCUESTAS
4.4.1. Resultados Globales
A continuación se presentan los resultados tabulados que arrojaron las encuestas.
Formato Tipo I - Parte 1 La figura 28 muestra los resultados obtenidos para la prueba de desempeño
realizada al video correspondiente a la mujer, utilizando interpolación a partir de
parametrización por contorno.
4% 8%
38%46%
4%
Malo Regular Aceptable Bueno Excelente
8%
38%42%
12% 0%
Malo Regular Aceptable Bueno Excelente a) b)
52
0% 4%
81%
15% 0%
Muy molestos Molestos Poco molestos Imperceptibles
0% 8%
46%38%
8%
Malo Regular Aceptable Bueno Excelente c) d)
Figura 28: Resultados obtenidos para la síntesis utilizando interpolación a partir de
parametrización por contorno (Mujer): a) Naturalidad, b) Coherencia, c) Presencia
de saltos, d) Calidad del video.
Para la interpolación basada en contorno, la naturalidad en el movimiento de los
labios tuvo una media de 3.38 y una varianza de 0.78, lo que nos indica que este
parámetro fue calificado en el rango entre bueno y regular; por otro lado la
coherencia entre el audio y el video tuvo una media de 2.58 y una varianza de
0.65 lo que nos indica que está en el rango entre malo y aceptable. Debido a que
las varianzas son muy altas se puede decir que no es concluyente la prueba
realizada, pero es importante resaltar que el mayor porcentaje en cada una de
estas dos pruebas estuvo en los puntos bueno y aceptable respectivamente.
En cambio los saltos presentes en el video están en el rango entre poco molestos
e imperceptibles con una media de 3.23 y con una varianza de 0.19. La calidad
del video en general, tiene una media de 3.46 y una varianza de 0.58 lo que nos
dice que la calidad del video está ubicada en el intervalo entre bueno y regular.
La figura 29 muestra los resultados obtenidos para la prueba de desempeño
realizada al video correspondiente al hombre, utilizando interpolación por
repetición de imágenes.
53
0% 8%
46%38%
8%
Malo Regular Aceptable Bueno Excelente
0% 4%
27%
54%
15%
Malo Regular Aceptable Bueno Excelente a) b)
0% 8%
50%
42%
Muy molestos Molestos Poco molestos Imperceptibles
0% 4% 4%
69%
23%
Malo Regular Aceptable Bueno Excelente c) d)
Figura 29: Resultados obtenidos para la síntesis utilizando interpolación por
repetición de imágenes (Hombre): a) Naturalidad, b) Coherencia, c) Presencia de
saltos, d) Calidad del video.
Para la interpolación basada en repetición, la naturalidad en el movimiento de los
labios tuvo una media de 3.81 y una varianza de 0.56, lo que nos indica que este
parámetro está en rango entre bueno y aceptable. Por otro lado la coherencia
entre el audio y el video tuvo una media de 4.04 y una varianza de 0.52 lo que nos
indica que está ubicado en el intervalo entre bueno y aceptable.
Estos dos parámetros están en el rango entre bueno y aceptable, lo que nos
permite concluir que esta interpolación puede ser una alternativa viable.
54
Además los saltos presentes en el video están en el rango entre poco molestos e
imperceptibles con una media de 3.35 y con una varianza de 0.4. La calidad del
video tiene una media de 4.12 y una varianza de 0.43 lo que nos dice que la
calidad del video esta ubicada en un intervalo entre bueno y aceptable
Formato Tipo I - Parte 2
La figura 30 muestra los resultados obtenidos para la prueba de desempeño en la
que se realizaron comparaciones entre videos generados con cada uno de los
métodos de interpolación planteados.
92%
8%
Interpolación por repetición Interpolación de contorno
96%
4%
Interpolación por repetición Interpolación DCT a) b)
42%
58%
Interpolación de contorno Interpolación DCT c)
Figura 30: Comparaciones entre videos generados con métodos de interpolación
distintos (Hombre): a) Interpolación por repetición de imágenes vs. Interpolación
basada en parametrización por contorno, b) Interpolación por repetición de
imágenes vs. Interpolación basada en parametrización por DCT, c) Interpolación
basada en parametrización por contorno vs. Interpolación basada en
parametrización por DCT.
55
Se observa que la interpolación por repetición es preferida sobre las otras dos, y
que en general no existe una distinción apreciable en utilizar la interpolación
basada en la parametrización DCT o la interpolación basada en el contorno de la
boca.
Formato Tipo II - Parte 1 La figura 31 muestra los resultados obtenidos para la prueba de desempeño
realizada al video correspondiente al hombre, utilizando interpolación basada en
parametrización por DCT.
0%
35%
38%
27%0%
Malo Regular Aceptable Bueno Excelente
15%
43%
27%
15% 0%
Malo Regular Aceptable Bueno Excelente a) b)
8%
19%
50%
23%
Muy molestos Molestos Poco molestos Imperceptibles
0% 19%
38%
43%
0%
Malo Regular Aceptable Bueno Excelente c) d) Figura 31: Resultados obtenidos para la síntesis utilizando interpolación basada en
parametrización por DCT (Hombre): a) Naturalidad, b) Coherencia, c) Presencia
de saltos, d) Calidad del video.
56
Para la interpolación basada en la parametrización DCT, la naturalidad en el
movimiento de los labios tuvo una media de 2.92 y una varianza de 0.63, lo que
nos indica que este parámetro está ubicado en un intervalo entre regular y
aceptable. Por otro lado la coherencia entre el audio y el video tuvo una media de
2.42 y una varianza de 0.89 lo que nos indica que no existe una decisión clara
sobre la coherencia entre el audio y el video.
Los saltos presentes en el video están ubicados entre el intervalo poco molestos y
molestos con una media de 2.88 con una varianza de 0.75. La calidad del video
tiene una media de 3.23 y una varianza de 0.58 lo que nos dice que la calidad del
video está ubicada en el intervalo entre bueno y aceptable, y en realidad no existe
una conclusión clara de si los saltos resultan molestos para el usuario, aunque
cabe resaltar que los mayores porcentajes de los saltos estuvieron en la opción de
poco molestos.
La figura 32 muestra los resultados obtenidos para la prueba de desempeño
realizada al video correspondiente a la mujer, utilizando interpolación basada en
repetición de imágenes.
0%0% 15%
70%
15%
Malo Regular Aceptable Bueno Excelente
0% 8% 4%
65%
23%
Malo Regular Aceptable Bueno Excelente a) b)
57
4% 8%
50%
38%
0%
Muy molestos Molestos Poco molestos Imperceptibles
0%0% 12%
65%
23%
Malo Regular Aceptable Bueno Excelente c) d)
Figura 32: Resultados obtenidos para la síntesis utilizando interpolación por
repetición de imágenes (Mujer): a) Naturalidad, b) Coherencia, c) Presencia de
saltos, d) Calidad del video
Para la interpolación basada en la parametrización por repetición, la naturalidad en
el movimiento de los labios tuvo una media de 4.00 y una varianza de 0.60, lo que
nos indica que este parámetro está ubicado en el intervalo entre bueno y
aceptable, por otro lado la coherencia entre el audio y el video tuvo una media de
4.04 y una varianza de 0.6, que también es un indicador muy bueno.
Los saltos presentes en el video están ubicados en el intervalo entre poco
molestos y molestos con una media de 3.23 con una varianza de 0.58. La calidad
del video tiene una media de 3.23 y una varianza de 0.58 lo que nos dice que la
calidad del video se encuentra en un intervalo entre bueno y aceptable, y no existe
una conclusión clara de si los saltos resultan molestos para el usuario, aunque
cabe resaltar que los mayores porcentajes en cuanto a saltos estuvieron en la
opción de poco molestos.
58
Formato tipo II - Parte 2 La figura 33 muestra los resultados obtenidos para la prueba de desempeño en la
que se realizaron comparaciones entre videos generados con cada uno de los
métodos de interpolación planteados.
65%
35%
Interpolación por repetición Interpolación de contorno
54%
46%
Interpolación por repetición Interpolación DCT a) b)
54%
46%
Interpolación de contorno Interpolación DCT c)
Figura 33: Comparaciones entre videos generados con métodos de interpolación
distintos (Mujer): a) Interpolación por repetición de imágenes vs. Interpolación
basada en parametrización por contorno, b) Interpolación por repetición de
imágenes vs. Interpolación basada en parametrización por DCT, c) Interpolación
basada en parametrización por contorno vs. Interpolación basada en
parametrización por DCT.
59
Claramente se puede observar que la interpolación por repetición es preferida en
mayor proporción que las otras interpolaciones y que no existe una distinción clara
entre la interpolación a partir de la parametrización DCT y la interpolación a partir
del contorno.
En el Anexo D:”Resumen de resultados obtenidos” se encuentran los cálculos de
media y varianza para los diferentes factores evaluados en la prueba.
4.5. ANÁLISIS DE RESULTADOS Y POSIBLES MEJORAS
Los resultados demostraron que el mejor de los tres métodos de interpolación para
el caso de la síntesis animada de voz visual fue el implementado utilizando
interpolación por repetición de imágenes, resultado que concuerda con las
conclusiones obtenidas por el Grupo de Bioingeniería, Análisis de Señales y
Procesamiento de Imágenes de la Pontificia Universidad Javeriana en sus pruebas
de síntesis de video.
No existe un resultado claro en el momento de evaluar la naturalidad de la síntesis
ya que para un grupo de personas fue buena pero para otras no, lo que indica que
se deben explorar otros métodos de interpolación o inclusive agregar movimiento
a otras partes de la caricatura.
Para la síntesis elaborada utilizando interpolación por repetición de imágenes se
obtuvieron los mejores resultados en cuanto a coherencia entre el audio y el video
a diferencia de la interpolación por búsqueda de imágenes utilizando
parametrización por DCT y por descripción de contorno.
Los resultados indicaron que en general la calidad del video sintetizado fue buena,
lo que indica que aún puede ser mejorada agregando otras características propias
de las técnicas de animación como lo son: movimiento de los ojos y cabello,
representación de estados de ánimo, interacción con el fondo entre otros.
60
4.6. COMPARACIÓN DE LOS RESULTADOS CON RESPECTO A LOS
OBJETIVOS PLANTEADOS
En el objetivo principal del proyecto se determinó diseñar, implementar y evaluar
una aplicación que permitiera realizar síntesis animada de voz visual a partir del
video de una persona hablando.
Se considera que el objetivo planteado fue alcanzado en su totalidad ya que fue
posible desarrollar una aplicación que permitiera recibir el video de una persona
hablando para generar la síntesis animada.
En cuanto a los objetivos específicos, se considera de la misma forma que fueron
exitosamente alcanzados ya que:
• Fue posible adquirir el video suministrado por el usuario para segmentar la
región correspondiente a la boca.
• Se elaboró un algoritmo que permitió generar secuencias caricaturizadas
que concordaban con una secuencia de video.
• Se establecieron las características del conjunto de caricaturas a dibujar.
• Se elaboró una aplicación que permitió realizar la síntesis animada de voz
visual para diferentes usuarios, luego de un proceso de entrenamiento y
utilizando además el conjunto de caricaturas.
• Se realizaron encuestas a 52 personas para evaluar el desempeño y la
calidad de la síntesis, con cada uno de los métodos de interpolación
desarrollados y para los modelos femenino y masculino, y a partir de los
resultados se realizaron valoraciones estadísticas con el propósito de
formular condiciones.
61
4.7. ANÁLISIS DE COSTOS
Se presentaron algunas variaciones en factores que intervienen en el costo total
del proyecto pero a pesar de esto, se compensaron y el costo total se mantuvo
igual al planteado inicialmente.
En el campo de asesores se presentó un cambio ya que el ingeniero Pedro Raúl
Vizcaya PhD se ausentó del país pero sin embargo se contó con algunas horas de
asesoría. Por esta razón se solicitó colaboración al ingeniero Edson Bárcenas
Msc. lo que representó un incremento de $100.000.
En la parte concerniente al artista, el cual creo las imágenes de las caricaturas, se
presentó una disminución de $100.000. Para los demás factores no se
presentaron variaciones.
Si se desea obtener información detallada acerca del presupuesto inicial y del
costo total del proyecto por favor remitirse a los Anexos E “Presupuesto Inicial del
proyecto” y F “Costo final del proyecto”
En general puede concluirse que el costo total del proyecto se ajustó al valor
planteado inicialmente debido a que se compensaron las variaciones en los
precios.
4.8. POSIBLES APLICACIONES
De acuerdo a los resultados obtenidos podemos clasificar las posibles
aplicaciones en dos grandes grupos: comunicaciones o interacción hombre
máquina.
62
4.8.1. Comunicaciones
En el área de comunicaciones se puede utilizar la síntesis animada de voz visual
para aplicaciones que involucren audio y video, que no se ejecuten en tiempo real.
4.8.2. Interacción Hombre Máquina
En lo que respecta a este campo se puede utilizar la síntesis animada de voz
visual como herramienta para la generación de animaciones, guías y tutores
virtuales, software interactivo para niños entre otros.
63
5. CONCLUSIONES
Una de las conclusiones más importantes de este trabajo es que es posible
realizar síntesis animada de voz visual a partir del video de un rostro, utilizando
procesos similares a los que se llevan a cabo en la síntesis de voz visual no
animada.
Para la adquisición de video se puede concluir que se necesitan estrictas
condiciones al momento de adquirir los videos. Tales condiciones son:
• Fondo del video controlado y de color uniforme característica esencial en el
proceso de segmentación llevado a cabo por el sistema.
• Movimiento restringido de la cabeza ya que a través de pruebas se
determinó que en movimientos de la cabeza en donde se presentan
cambios de más de cinco píxeles, tanto en la posición horizontal como
vertical, el error en el algoritmo de identificación aumenta
considerablemente afectando seriamente el resultado final de la síntesis.
• La configuración de la cámara es otro de los factores que puede afectar la
realización de la síntesis. Opciones de configuración automática de la
cámara hacen que se presenten cambios en el foco, en el color, en la
luminosidad y en el zoom afectando las imágenes capturadas, por esta
razón se deben deshabilitar todo este tipo de opciones.
• Se evaluó además el efecto que tiene el paso del tiempo sobre el
desempeño de los algoritmos. Se determinó que entre más sea el tiempo
entre el momento de grabación de los videos de entrenamiento y de los
videos a sintetizar, más difícil es la asociación de visemas.
64
En lo que respecta a la segmentación automática se puede concluir que es posible
combinar métodos de segmentación de color con métodos de segmentación a
partir de movimiento con el fin de ubicar la región de interés. El algoritmo
desarrollado en este proyecto depende de características de color como fondo de
grabación uniforme y color definido, así como de la ubicación de la persona frente
a la cámara ya que es necesario que aparezca una porción de los hombros en el
video. Entre más robusto se diseñe el proceso de segmentación más tiempo
llevará la obtención de un resultado.
Para un buen resultado de la síntesis es necesario que las caricaturas posean
homogeneidad en los colores que se puede lograr a partir de programas
especializados en edición de imágenes y que además las bocas se encuentren
ubicadas con precisión en la misma región para que en el momento de elaborar la
síntesis no se presenten cambios bruscos y no adecuados.
El módulo de entrenamiento se intentó en primera instancia desarrollar un método
entrenamiento automático de selección de visemas pero después de realizar
pruebas se determinó que el éxito del algoritmo dependía altamente de la de la
vocalización de la persona y de los intervalos de silencio utilizados en las frases
por lo que no se consideró como un método confiable para la selección de
visemas.
Se trabajó además un método de entrenamiento basado en la detección de
silencios por medio de sonido, pero surgió un inconveniente ya que si se intentaba
seleccionar el visema en el momento en que se pasaba de un silencio a la
pronunciación de alguna de las palabras, la boca ya se había adecuado a la vocal
por lo cual se seleccionaban visemas que no correspondían a los esperados.
Finalmente se concluyó que la identificación de los visemas se debía realizar de
forma manual seleccionando las imágenes que mejor los representaran para
obtener los mejores resultados en la síntesis, si la selección de visemas no se
65
hace de forma adecuada, los resultados en la síntesis no serán los mejores.
Para el módulo de identificación, después de pruebas de identificación realizadas
con diferentes medidas de distancia (Hamming, Euclidiana y Diferencia de
Cuadrados) en las que se observaba la correspondencia entre las imágenes del
video de entrada y las imágenes seleccionadas, se determinó que la distancia
Euclidiana era la más conveniente para el desarrollo de la aplicación.
La parametrización de las imágenes se realizó utilizando la DCT. Los resultados
obtenidos en las síntesis fueron satisfactorios pero se plantea la posibilidad de
utilizar un método adicional de parametrización que acompañe a la DCT para
obtener aún mejores resultados en el proceso de identificación.
Debido a que en los videos generados se apreciaban cambios relativamente
bruscos, se hizo necesario comprobar si algún método de interpolación podía
mejorar la síntesis inicial. Después de realizar pruebas con tres métodos de
interpolación diferente, interpolación por repetición de imágenes, interpolación
basada en parametrización por contorno e interpolación basada en
paremetrización con DCT, se concluyó que los mejores resultados en cuanto a
naturalidad, coherencia entre audio y video y saltos presentes en el video, se
obtenían utilizando la parametrización por repetición de imágenes, resultado que
concuerda con las conclusiones obtenidas por el Grupo de Bioingeniería, Análisis
de Señales y Procesamiento de Imágenes de la Pontificia Universidad Javeriana
en sus pruebas de síntesis de video.
Consideramos muy importante resaltar la ayuda que ofreció el prototipo realizado
en MATLAB® en el que se implementaron los diferentes bloques funcionales del
proyecto. Gracias a él fue posible solucionar de forma eficiente problemas
encontrados en el desarrollo de los algoritmos en Visual C++, problemas que
quizás hubiesen tomado demasiado tiempo en solucionar.
66
Si realizamos una comparación en el tiempo de procesamiento requerido para
realizar la síntesis animada de voz visual en MATLAB® (De 50 a 60 minutos) y el
tiempo requerido para realizarla en Visual C++ (De 5 a 10 minutos), se puede
concluir que para trabajar con aplicaciones que involucren procesamiento elevado
de imágenes y video, Visual C++ es la mejor opción.
Finalmente, consideramos que es importante tener en cuenta el potencial que
puede llegar a tener la síntesis animada de voz visual en diversas aplicaciones,
como por ejemplo interacción hombre máquina: Guías y tutores virtuales o como
herramienta para la generación de animaciones
67
BIBLIOGRAFÍA
[1] AYALA Omar, DÍAZ Mauricio y MACIAS Diego. Resíntesis de rostros en secuencias de video. Trabajo Final de Grado dirigido por Pedro Vizcaya, Pontificia Universidad Javeriana. Bogotá, 2003
[2] BAILER Werner, Et al. State of the Art of Content Analysis Tools for
Video, Audio, PrestoSpace. Alemania 2005. [3] BAPTISTE, Camilo y SOTOMAYOR, Mauricio. Segmentación y
Parametrización Automática de Rostros en Videos. Trabajo Final de Grado dirigido por Pedro Vizcaya, Pontificia Universidad Javeriana. Bogotá, 2002
[4] BÁRCENAS Edson, Et al.. Análisis y Síntesis de Voz Visual en el
Idioma Español. Trabajo Final de Grado dirigido por Pedro Vizcaya, Pontificia Universidad Javeriana. Bogotá. 2001
[5] BESKOW Jonas. Talking Heads - Communication, Articulation and
Animation. En:TMH-QPRS 2, Swedish Phonetics Conference, Nasslingen. 1996
[6] BESKOW Jonas. Talking heads – Models and Applications for
Multimodal Speech Synthesis. En: http://www.speech.kth.se/~beskow/thesis/. Doctoral Dissertation. Department of Speech, Music and Hearing, KTH. Estocolmo. 2003
[7] DAZA Jairo y SÁNCHEZ Camilo. Aplicación de Técnicas Invariantes en
el Reconocimiento de Rostros. Trabajo Final de Grado dirigido por Cesar Bustacara, Pontificia Universidad Javeriana. Bogotá, 2004.
[8] EDDINS Steven, GONZALEZ Rafael y WOODS Richard. Digital
Imagen Processing Using MATLAB®. Pearson Eduacation Hall. New Jersey, 2004.
[9] EFFORD Nick. Digital Image Processing: a practical introduction using
Java. Addison Wesley. Estados Unidos, 2000. [10] Enciclopedia Microsoft Encarta. Principios de la animación. Editorial
68
Microsoft Corporation. 2004 [11] GAMBA Ana, PAREDES Natalia Y PINEDA Julio. Compresión de
imágenes de rostros. Trabajo Final de Grado dirigido por Pedro Vizcaya, Pontificia Universidad Javeriana. Bogotá, 2002
[12] GIAMBRUNO Mark. 3D Graphics & Animation. 2 Edition. New Riders.
Indiana. 2002. [13] Intel OpenCV Library.
http://www.sourceforge.net/projects/opencvlibrary. 2004. [14] Microsoft MSDN. http://msdn.microsoft.com/archive/ [15] SOTO Carolina. Generador de Corpus para Síntesis de Voz Visual.
Disertación de Maestría dirigida por Pedro Vizcaya, Pontificia Universidad Javeriana. Bogotá, 2004
[16] SOTO Carolina. Resíntesis de Escenas de Telefonía Visual. Pontificia
Universidad Javeriana. Bogotá, 2004. [17] WHITE Tony. The Animators workbook. Watson-Guptill. Nueva York,
1988.
69
Anexo A: Conjunto de visemas caricaturizados personaje masculino
Visema “a” Visema “e” Visema “i”
Visema “o” Visema “u” Visema “silencio”
70
Visema “b, m, p” Visema “ch, y, ñ” Visema “t, d”
Visema “v, f” Visema “k, g, j” Visema “n, l”
71
Visema “r, rr, s” Visema “Int1” Visema “Int2”
Visema “Int3” Visema”Int4”
72
Anexo B: Conjunto de visemas caricaturizados personaje femenino
Visema “a” Visema”e” Visema”i”
Visema”o” Visema”u” Visema”silencio”
73
Visema “b, m, p” Visema”ch, y, ñ” Visema “t, d”
Visema “f, v” Visema “k, g, j” Visema”l, n”
74
Visema “r, rr, s” Visema “Int1” Visema “Int2”
Viseman ”Int3” Visema”Int4”
75
Anexo C: Formatos de encuesta
Pontificia Universidad Javeriana Facultad de Ingeniería
Departamento Electrónica Síntesis Animada de Voz Visual TG 0442
Pruebas de Desempeño Tipo I
VIDEO MUJER ID 1. Califique de 1 a 5 (1=mín., 5=máx.) la naturalidad en el movimiento de los labios
____ 2. Califique de 1 a 5 (1=mín., 5=máx.) la coherencia entre el video y el audio
____
3. Los saltos en el video son:
Muy molestos___ Molestos___ Poco molestos___ Imperceptibles___
4. Califique de 1 a 5 (1=mín., 5=máx.) la calidad del video en general ____
VIDEO HOMBRE SI 5. Califique de 1 a 5 (1=mín., 5=máx.) la naturalidad en el movimiento de los labios
____ 6. Califique de 1 a 5 (1=mín., 5=máx.) la coherencia entre el video y el audio
____
7. Los saltos en el video son:
Muy molestos___ Molestos___ Poco molestos___ Imperceptibles___
8. Califique de 1 a 5 (1=mín., 5=máx.) la calidad del video en general ____
De las siguientes parejas de videos cual le parece mejor (Marque con una X):
#1 SI ___ #2 IC ___ #3 SI ___ #4 ID ___ #5 IC ___ #6 ID ___
76
Pontificia Universidad Javeriana Facultad de Ingeniería
Departamento Electrónica Síntesis Animada de Voz Visual TG 0442
Pruebas de Desempeño Tipo II
VIDEO HOMBRE ID 1. Califique de 1 a 5 (1=mín., 5=máx.) la naturalidad en el movimiento de los labios
____ 2. Califique de 1 a 5 (1=mín., 5=máx.) la coherencia entre el video y el audio
____
3. Los saltos en el video son:
Muy molestos___ Molestos___ Poco molestos___ Imperceptibles___
4. Califique de 1 a 5 (1=mín., 5=máx.) la calidad del video en general ____
VIDEO MUJER SI 5. Califique de 1 a 5 (1=mín., 5=máx.) la naturalidad en el movimiento de los labios
____ 6. Califique de 1 a 5 (1=mín., 5=máx.) la coherencia entre el video y el audio
____
7. Los saltos en el video son:
Muy molestos___ Molestos___ Poco molestos___ Imperceptibles___
8. Califique de 1 a 5 (1=mín., 5=máx.) la calidad del video en general ____
De las siguientes parejas de videos cual le parece mejor (Marque con una X):
#1 SI ___ #2 IC ___ #3 SI ___ #4 ID ___ #5 IC ___ #6 ID ___
77
Anexo D: Resumen resultados obtenidos
Prueba Tipo I - Interpolación a partir de parametrización por contorno - Video Mujer
Naturalidad en el movimiento de los labios
Coherencia entre el audio
y el video Saltos en el
video* Calidad del
video en general
Media 3.38 2.58 3.12 3.46 Varianza 0.73 0.65 0.19 0.58
* (1) Muy Molestos, (2) Molestos, (3) Poco Molestos, (4) Imperceptibles
Prueba Tipo I - Interpolación por retención de imágenes - Video Hombre
Naturalidad en el movimiento de los labios
Coherencia entre el audio
y el video Saltos en el
video* Calidad del
video en general
Media 3.81 4.04 3.35 4.12 Varianza 0.56 0.52 0.4 0.43
* (1) Muy Molestos, (2) Molestos, (3) Poco Molestos, (4) Imperceptibles
Prueba Tipo I - Comparación entre Interpolación por retención de imágenes (1) e Interpolación por parametrización por contorno (2) - Video Hombre
Media 1.08 Varianza 0.07
Prueba Tipo I - Comparación entre Interpolación por retención de imágenes (1) e Interpolación a partir de parametrización por DCT (3) - Video Hombre
Media 1.08 Varianza 0.15
78
Prueba Tipo I - Comparación entre Interpolación por parametrización basada en contorno (2) e Interpolación a partir de parametrización por DCT (3) - Video Hombre
Media 2.58 Varianza 0.25
Prueba Tipo II - Interpolación a partir de parametrización por DCT - Video Hombre
Naturalidad en el movimiento de los labios
Coherencia entre el audio
y el video Saltos en el
video* Calidad del
video en general
Media 2.92 2.42 2.88 3.23 Varianza 0.63 0.89 0.75 0.58
* (1) Muy Molestos, (2) Molestos, (3) Poco Molestos, (4) Imperceptibles
Prueba Tipo II - Interpolación por retención de imágenes - Video Mujer
Naturalidad en el movimiento de los labios
Coherencia entre el audio
y el video Saltos en el
video* Calidad del
video en general
Media 4 4.04 3.23 4.12 Varianza 0.32 0.6 0.58 0.35
* (1) Muy Molestos, (2) Molestos, (3) Poco Molestos, (4) Imperceptibles
Prueba Tipo II - Comparación entre Interpolación por retención de imágenes (1) e
Interpolación por parametrización por contorno (2) - Video Mujer
Media 1.35 Varianza 0.24
Prueba Tipo II - Comparación entre Interpolación por retención de imágenes (1) e Interpolación a partir de parametrización por DCT (3) - Video Mujer
Media 1.92 Varianza 1.03
Prueba Tipo II - Comparación entre Interpolación por parametrización basada en contorno (2) e Interpolación a partir de parametrización por DCT (3) - Video Mujer
Media 2.46 Varianza 0.26
79
Anexo E: Presupuesto inicial del proyecto
DESCRIPCIÓN FINANCIACIÓN CANTIDAD COSTO UNITARIO
COSTO TOTAL
1.Director del Proyecto Ing. Carolina Soto Quintero MSc Profesor Instructor Pontificia Universidad Javeriana
Pontificia Universidad Javeriana
50 Horas
40.000
2´000.000
2. Ingenieros Investigadores: Juan Carlos Quintana Duque Milton Giovanny Mendieta Borja
Propia
540 Horas 540 Horas
15.000 15.000
8´100.000 8´100.000
3. Asesores: Ing. Pedro Vizcaya PhD Ing. Javier Villegas MSc
Pontificia Universidad Javeriana
20 Horas 20 Horas
50.000 40.000
1´000.000 800.000
4. Licencias: MATLAB ® (6 meses) Visual C++ ® (6 meses)
Pontificia Universidad Javeriana
500.000 250.000
5. Alquiler de Computador Pontificia Universidad Javeriana
540 Horas 1.000 540.000
6. Papelería ,impresiones, hojas. Propia 400.000
7. Artista Propia 10 Horas 20.000 200.000 8. Imprevistos Propia 100.000 TOTAL 21´990.000
80
Anexo F: Costo final del proyecto
DESCRIPCIÓN FINANCIACIÓN CANTIDAD COSTO UNITARIO
COSTO TOTAL
1.Director del Proyecto Ing. Carolina Soto Quintero MSc Profesor Instructor Pontificia Universidad Javeriana
Pontificia Universidad Javeriana
50 Horas
40.000
2´000.000
2. Ingenieros Investigadores: Juan Carlos Quintana Duque Milton Giovanny Mendieta Borja
Propia
540 Horas 540 Horas
15.000 15.000
8´100.000 8´100.000
3. Asesores: Ing. Pedro Vizcaya PhD. Ing. Edson Bárcenas MSc. Ing. Javier Villegas MSc.
Pontificia Universidad Javeriana
6 Horas 20 Horas 20 Horas
50.000 40.000 40.000
300.000 800.000 800.000
4. Licencias: MATLAB ® (6 meses) Visual C++ ® (6 meses)
Pontificia Universidad Javeriana
500.000 250.000
5. Alquiler de Computador Pontificia Universidad Javeriana
540 Horas 1.000 540.000
6. Papelería ,impresiones, hojas. Propia 400.000
7. Artista Propia 10 Horas 10.000 100.000 8. Imprevistos Propia 100.000 TOTAL 21´990.000
81