84
1 Capítulo 1 INTRODUCCIÓN En este capítulo se presentan los antecedentes de la tesis, se describe el problema de investigación, los objetivos que se desean alcanzar, las limitaciones del proyecto y las aportaciones al estado del arte.

Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

Embed Size (px)

Citation preview

Page 1: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

1

Capítulo 1

INTRODUCCIÓN

En este capítulo se presentan los antecedentes de la tesis, se describe el problema

de investigación, los objetivos que se desean alcanzar, las limitaciones del proyecto

y las aportaciones al estado del arte.

Page 2: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

2

1.1 Antecedentes.

El reconocimiento de rostros juega un papel muy importante en la vida diaria de los

seres humanos. La habilidad natural humana para aprender y reconocer rostros es

impresionante. Se pueden identificar una gran cantidad de rostros durante toda la

vida; incluso, sin verlos por algún tiempo. Esta capacidad es muy sólida, a pesar de

cambios en la expresión facial, distancia, iluminación, envejecimiento, y elementos

que modifican el rostro tales como gafas, barba, bigote o cambio de peinado.

No es difícil entender que siendo la identificación de rostros una capacidad tan

valiosa en la comunicación humana, sea también un medio relevante de

comunicación entre los hombres y las máquinas. El reconocimiento de rostros es un

elemento importante en muchas aplicaciones tales como: i) sistemas de seguridad,

ii) la identificación criminal, iii) las aplicaciones de ayuda a las personas con

capacidades diferentes y iv) en particular, el desarrollo de interfaces humano-robot.

En los últimos años ha crecido el interés por integrar a los robots de servicio en la

vida cotidiana de los seres humanos para realizar tareas como tirar la basura,

asistentes personales, guías de museos o en tareas de seguridad, etc. Para poder

realizar estas actividades estos robots deben poseer capacidades de

desplazamiento en su ambiente, localización, manipulación de objetos de interacción

natural con el hombre e identificación de personas. El reconocimiento de rostros

permite determinar la identidad de una persona, al comparar una imagen de su cara

con imágenes de referencia almacenada en una base de datos.

Algunos investigadores consideran que en un futuro no muy lejano los robots de

servicio podrían transformar la vida de las personas, al facilitar la elaboración de

tareas cotidianas realizándolas en forma segura, eficiente y rápida. Para incentivar la

investigación y el desarrollo de este tipo de robots los centros de investigación y

universidades principalmente han promovido una competencia internacional llamada

RoboCup@Home. Esta competencia tiene por objetivo proponer aplicaciones

relevantes donde una amplia gama de tecnologías pueden ser integradas y

Page 3: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

3

examinadas en estos robots, en un marco estándar de pruebas dentro de la

competencia. Who is Who es una prueba de RoboCup@Home, su objetivo es

aprender y reconocer personas en un ambiente idéntico al de una casa.

En México uno de los centros de investigación que se dedica al desarrollo de robots

de servicio es el Departamento de Ciencias de la Computación del Instituto de

Investigaciones en Matemáticas Aplicadas y en Sistemas (IIMAS) de la Universidad

Nacional Autónoma de México (UNAM). En este departamento se ha desarrollado en

los últimos años el robot de servicio Golem II que es un asistente conversacional

situado con lenguaje hablado y visión computacional. Se implementó un sistema de

reconocimiento visual de rostros en la arquitectura cognitiva del robot Golem II

siguiendo las reglas de la etapa I de la prueba ¿Who is Who? Este sistema identifica

visualmente el rostro de usuarios en tiempo real en un ambiente de laboratorio.

1.2 Planteamiento del Problema.

El reconocimiento de rostro es un área del reconocimiento de patrones que ha sido

investigada desde varios años. Durante este tiempo se han propuesto técnicas

diferentes para la resolución de esta tarea, entre las que se pueden mencionar:

Igualamiento de plantillas.

Cálculo de características geométrica (eigenfaces).

Métodos que utilizan redes neuronales.

Independientemente de la técnica que sea implementada, se utilizan siempre dos

conjuntos de datos:

El primero es utilizado siempre para la etapa de aprendizaje, el cual es

llamado conjunto de entrenamiento. Se debe tratar de que los patrones que

se integran en este conjunto sean lo más diferentes posibles entre sí, y que

además, representen al problema, para poder tener un buen porcentaje de

generalización.

Page 4: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

4

El segundo conjunto de patrones, es llamado conjunto de prueba, y es

utilizado en la etapa de reconocimiento.

En la figura 1.1 se muestran las etapas del reconocimiento de rostros.

Figura 1.1. Proceso del reconocimiento visual de rostros implementado en un robot [Héctor 2006].

Una o más videocámaras capturan las imágenes que registran el rostro. Mediante la

detección del rostro se aísla la cara del individuo en las imágenes. Luego se realiza

un pre-procesamiento de las imágenes con la finalidad de estandarizar el tamaño,

color y brillo. Posteriormente se extraen las observaciones relevantes para describir

el rostro. Finalmente, estas observaciones tienen asociado un identificador que

corresponde a uno de los rostros almacenados en una base de datos.

El problema general en el reconocimiento de rostro consiste en desarrollar sistemas

que sean capaces de reconocer con precisión la identidad de una persona.

Frecuentemente estos sistemas toman acciones basadas en los resultados del

reconocimiento.

Robot

Capturar de las imágenes

Pre-procesamiento de imágenes

Extracción de observaciones

Identificador

Base de datos de rostros

Reconocimiento de rostro

Detectar rostro

Cámara(s) de video

Page 5: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

5

El desarrollo de este tipo de sistemas no es una tarea sencilla debido a: 1) los

distintos ambientes de aplicación con cambios de iluminación y fondo de imagen, 2)

diferentes posiciones de las personas frente a la cámara, 3) condiciones de captura

de las imágenes, 4) técnicas eficientes para el reconocimiento de rostros, 5)

resultados limitados en términos de tiempo de reconocimiento en las tareas actuales

para la aceptación en sistemas de tiempo real.

1. Distintos ambientes de aplicación con cambios de iluminación y fondo

de imagen.

Los cambios de iluminación pueden degradar el rendimiento de los sistemas de

reconocimiento de rostros debido a que pueden distorsionar la calidad, textura y

forma de la imagen. En un fondo complejo al aplicar modelos de reconocimiento

a la imagen del rostro de la persona se podría mezclar con el mismo fondo.

2. Diferentes posiciones de las personas frente a la cámara.

La posición del rostro frente a una cámara es muy importante, porque ayuda a los

sistemas a identificar las características faciales de las persona. Sin una

adecuada posición del rostro, los modelos de reconocimiento no podrán

identificar adecuadamente las características faciales de las personas y el

sistema aumentará su porcentaje de fracaso. Usualmente estos sistemas se

restringen al reconocimiento con rostros de frente a la cámara de video.

3. Condiciones de captura de las imágenes.

La gran variedad de cámaras con diferentes características no permite

generalizar la utilización de un sistema de reconocimiento debido a diferentes

factores, por ejemplo: la sensibilidad de la cámara a la luz, cambios de

iluminación en el ambiente, diferentes resoluciones de la imagen, etc., ya que en

cada cámara los aspectos mencionados anteriormente cambiarían de una a otra,

es decir, los diferentes cambios de la imagen afectaría a la base de datos de un

Page 6: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

6

sistema de reconocimiento que contiene varias imágenes con las mismas

características.

4. Técnicas eficientes para el reconocimiento de rostros.

Existen varias técnicas que emplean diferentes formas para poder reconocer el

rostro de una persona pero resuelven esta problemática en un enfoque parcial

con porcentajes de errores variables.

5. Resultados limitados en términos de tiempo de reconocimiento en las

tareas actuales para la aceptación en sistemas de tiempo real.

Estos sistemas son costosos computacionalmente, además la cantidad de

operaciones matemáticas es alta y su tiempo de respuesta no suelen ser en

tiempo real, es decir, sufre algunos retardos dependiendo la técnica que se esté

utilizando.

Algunos de estos problemas han sido abordados y resueltos parcialmente con

diferentes investigaciones que se han realizado en los últimos años. No obstante, los

avances actuales prometen soluciones parciales y aceptables, permitiendo que los

sistemas de reconocimiento de rostros sean relevantes hoy en día.

1.3 Justificación.

La justificación de porqué se debe hacer este tipo de investigación radica en dos

puntos principales: 1) la importancia de dotar a los robots de servicios con

identificación de personas y 2) las ventajas de tener un sistema de reconocimiento

de rostros en el robot de servicio Golem II.

1. La importancia de dotar a los robots de servicios con identificación de

personas.

En un futuro no muy lejano los robots de servicios podrán desempeñar tareas

Page 7: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

7

fáciles, como aspirar, servir de mascota, jugar con niños, preparar café, abrir

la puerta o recoger la basura. Para realizar de forma efectiva esas tareas,

dichos robots deben poseer habilidades de comunicación similares a las

utilizadas por los humanos en la vida diaria. Unas de tales habilidades es el

reconocimiento de rostros. Éstos conforman un medio visible para expresar

sentimientos, actitudes, y además, el robot realizaría sus tareas de forma

segura y eficiente. En el mundo existen robots con capacidades de identificar

personas, a continuación se mencionan algunos de ellos.

a) El Robot KornTeach puede reconocer rostros, caminar en dos pies y

alertar a sus dueños cuando hay un intruso en su casa por vía celular.

b) MechaDroid es un robot que puede identificar personas y objetos, fue

fabricado para trabajar como recepcionista en un hotel.

c) El robot Benri puede detectar sonido, movimiento, objetos y rostros, su

propósito es la vigilancia del hogar o negocio.

d) PepeRo tiene la habilidad de reconocer rostros y voces con la finalidad

de poder brindar una amistosa compañía para adultos y niños.

2. Ventajas de tener un sistema de reconocimiento de rostros en el robot de

servicio Golem II.

En la actualidad este robot no puede identificar personas, su sistema de visión

solo detecta diez gestos de apuntar y ciertos objetos establecidos en su

memoria tales como póster, revistas y cartas. Para detectar una persona

Golem II utiliza la voz, es decir, llama al usuario diciendo la siguiente frase

“Alguien quiera jugar conmigo”, si hay repuesta Golem II pide su nombre para

identificar al usuario, y empieza tener una conversación, pero nunca reconoce

la identidad de la persona. Con la realización de este sistema de

reconocimiento visual de rostros se pretende identificar una persona

desconocida cada vez que Golem II tenga una conversación, con la finalidad

de mejorar la iteración humano-robot.

Page 8: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

8

1.4 Objetivo de la tesis.

Implementar un sistema visual de reconocimiento de rostros de personas sobre un

robot real que aprenda visualmente rostros en línea para su posterior identificación

en un ambiente de laboratorio. Este sistema se basará en las reglas de la prueba

¿Who is Who? de la competencia RoboCup@Home.

1.4.1 Objetivos específicos de la tesis.

Este objetivo general requiere del cumplimiento de los siguientes objetivos

específicos:

Desarrollar un sistema de visión que detecte y reconozca personas.

Integración en un robot real (Golem II).

Experimentación para evaluar el desempeño de reconocimiento.

1.4.2 Alcance y limitaciones de la tesis

Los experimentos se realizaron en un ambiente de laboratorio. Para la identificación

y detección del rostro, el usuario deberá situarse de frente al campo de visión de una

videocámara y se espera que el rostro no se salgan de los límites de cada imagen

capturada. Aunque el reconocimiento de rostros está incorporado en un robot móvil,

se considera que la videocámara se encuentra en una posición fija. No se permite el

desplazamiento del usuario una vez iniciado la captura de imágenes del rostro.

Tampoco se contemplan cambios bruscos de iluminación, ni oclusiones entre el

usuario y la videocámara, ni diferentes posturas del usuario, ni reconocimiento de

dos o más personas a la vez (dentro del campo visual de la videocámara).

Page 9: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

9

1.5 Aportaciones.

Las aportaciones de este trabajo se presentan a continuación:

1. Fomentar la investigación en el desarrollo de nuevas alternativas para

sistemas de visión de reconocimiento de rostros de persona. Esta

investigación se propone como un prototipo para el desarrollo de nuevos

sistemas en el área de reconocimiento de rostros.

2. La experimentación extensa con dos bases de datos. Se realizaron dos

experimentos principales, con el propósito de evaluar el sistema de

reconocimiento de rostros. En el primer experimento se hicieron pruebas con

una base de datos de AT&T de la universidad de Cambridge, los resultados

que se obtuvieron fueron del 88 % al 93 % de reconocimiento. En el segundo

experimento se utilizó una computadora con una webcam para la filmación de

diferentes vídeos de rostros de personas. Los vídeos grabaron en diferentes

lugares del laboratorio, a distintos horarios, a varias distancias y con un

número determinado de personas. El resultado del segundo experimento fue

del 94 % al 98 % de reconocimiento.

3. La integración del sistema de reconocimiento visual de rostro dentro de

la arquitectura cognitiva. Este sistema se integró exitosamente en una

arquitectura cognitiva llamada modelos de diálogos que se desarrolla en el

Departamento de Ciencias de la Computación del Instituto de Investigaciones

en Matemáticas Aplicadas y en Sistemas de la Universidad Nacional

Autónoma de México.

4. La implementación del sistema completo en un robot real. Se espera que

este trabajo de investigación se implemente en un robot móvil con la finalidad

de que realice la prueba Who is Who de la competencia internacional

RoboCup@Home.

Page 10: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

10

1.6 Contenido del documento.

Los siguientes capítulos de la tesis se encuentran organizados de la siguiente

manera:

En el capítulo 2 se da un panorama detallado del reconocimiento de rostro, así como

la técnica eigenfaces. Además se explica la competencia internacional

RoboCup@Home y la prueba Who is Who. Posteriormente en el capítulo 3 se

describe la detección de rostros, las mejores bases de datos que están disponibles

en la web, y además, se detalla los componentes de hardware, software y la

arquitectura del robot Golem II. El capítulo 4 se muestran los experimentos

realizados utilizando y creando base de datos de rostros, con la finalidad de evaluar

el sistema de reconocimiento en la arquitectura del robot Golem II. Finalmente en el

capítulo 5 se presentan las conclusiones de esta investigación, así como futura

líneas de este trabajo.

Page 11: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

11

Capítulo 2

MARCO TEÓRICO Y TRABAJOS RELACIONADOS En este capítulo se presenta el marco teórico en cual se fundamenta este trabajo. Se

describe el reconocimiento visual de rostros y la técnica eigenfaces. Finalmente se

explica la competencia internacional RoboCup@Home, así como la prueba Who is

Who.

Page 12: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

12

2.1 Reconocimiento visual de rostros.

La investigación en esta área está motivada no sólo por el reto que supone este

problema, sino por las numerosas aplicaciones prácticas en las que puede llegar a

ser aplicado. El reconocimiento facial se vuelve cada vez más importante ante los

contínuos avances de la tecnología digital, la comunicación por red, la telefonía

móvil, el incremento de demanda de seguridad y en la robótica. Es la técnica

biométrica primaria y con mayor interés en su demanda por las ventajas que supone

frente al resto: es natural, no intrusiva y fácil de utilizar.

Aunque su estudio comenzó en la década de los 60 del siglo pasado, continúa

siendo un problema sin una solución definitiva. Durante los últimos años se han

conseguido avances significativos en el modelado y las técnicas de análisis, y se

han logrado sistemas para detectar y seguir caras con resultados relativamente

satisfactorios.

Los sistemas de reconocimiento facial tuvieron un avance importante desde el primer

sistema propuesto y desarrollado por T. Kanade [Kanade 1973]. Los recientes

resultados en el análisis de características, reconocimiento de patrones y técnicas de

aprendizaje están ofreciendo las capacidades necesarias para atender a todas estas

nuevas aplicaciones. Sin embargo es especialmente difícil intentar conseguir

soluciones genéricas, especialmente en entornos y tareas sin condiciones fijas o

impuestas, sin limitaciones de iluminación, puntos de vista, oclusión, expresión,

accesorios y una gran variedad de elementos a considerar.

El problema de una detección robusta en entornos no controlados puede ser

formulado con el siguiente ejemplo: Dada una secuencia de fotografías de gente

utilizando un determinado servicio, mantener el listado de todos los conectados y

reconocer si pertenecen al nivel de usuarios. Identificar a quienes están en la lista e

insertar a quienes no han sido reconocidos. Los dos problemas fundamentales que

vienen asociados son:

Page 13: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

13

Descartar una cara de un listado: Es una tarea más complicada que

reconocerla, puesto que el segundo caso es conocida y pertenece ya a una

base de datos.

Reconocer caras con oclusiones parciales: Es más difícil que reconocerlas

frontalmente, ya que en este último caso se pueden apreciar todas las

características.

El proceso de identificación pasa generalmente por uno o varios de los siguientes

pasos de procesamiento previo de la imagen:

Traslación, rotación y escalado de la imagen para fijar un número de filas y

columnas de píxeles, de modo que el centro de los ojos esté localizado.

Aplicar una máscara para eliminar el fondo de la escena y el pelo.

Implementar una ecualización a partir de un histograma.

Normalización de los datos faciales para tener una media cero y una

desviación estándar unitaria.

Los métodos de reconocimiento de rostros se pueden clasificar en tres grupos:

1. Métodos basados en características, donde las singularidades como ojos,

nariz y boca son extraídas de su posición inicial e introducidas en

clasificadores estructurales.

2. Métodos basados en apariencia, que utilizan la región facial completa como

una entrada al sistema de reconocimiento.

3. Métodos combinados, que en principio son los que obtienen mejores

resultados.

Desde el momento en que las condiciones para el reconocimiento de rostros

dependen de la posición, de las expresiones faciales y del entorno, no habrá, en

general, un método mejor que otro.

Page 14: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

14

1. Métodos basados en características.

Está dividida en dos técnicas:

1.1 Matching Estructural.

Los primeros estudios de reconocimiento facial, como por ejemplo el de I. Cox

[Cox 1996] detectaban un conjunto de singularidades de la cara (ojos, ojos

marrones, nariz y boca). Las propiedades y relaciones tales como el área, las

distancias y los ángulos entre características eran utilizadas por los

descriptores de reconocimiento facial. Sin embargo el resultado en estos

métodos está muy ligado a la precisión del algoritmo de localización de las

singularidades.

1.2 Matching con Grafos.

Realiza primero una rejilla sobre la imagen de la cara, y los nodos se ajustan

a un conjunto de puntos definidos. Después se evalúa la convolución de un

conjunto de wavelets 2D de Gabor sobre cada nodo y la salida representa un

vector de características de un punto particular de la cara. Por último, se

realiza un algoritmo de matching con grafos. Es un método que da muy

buenos resultados, pero requiere que la cara esté muy próxima a la cámara y

de una resolución mínima de [128x128].

2. Métodos basados en apariencias.

Está dividida en dos técnicas:

2.1 Modelos de apariencia de Markov (HHMs).

Los primeros trabajos fueron propuestos por Samaria [Samaria 1994],

montando una estructura vertical de una dimensión compuesta por una

especie de súper estados que contenían cadenas de Markov horizontales.

Page 15: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

15

Nefian propuso algo similar pero esta vez utilizando la transformada discreta

del coseno para observar los vectores de características [Kanade 1973]. Kohir

propone el escaneo de la imagen en zig-zag para definir secuencias de

observación [Kohir 2000]. En los últimos años, Othman han propuesto una

estructura de dos dimensiones y de baja complejidad [Othman 2003]. Esta

estructura resulta de asumir como cierta la independencia condicional entre

los entornos de vecindad de píxeles de los bloques observados dentro de la

imagen.

2.2 Análisis de componentes principales (PCA).

Dada una serie de imágenes de tamaño definido, son convertidas a vectores.

A partir de estos vectores se construye un espacio vectorial de características

faciales a partir del análisis de sus componentes principales. Es un método de

reducción dimensional mediante la traslación de los vectores del espacio real,

a un subespacio de características de menor dimensión. Este nuevo espacio

vectorial está definido por los vectores ortogonales propios de la matriz de

covarianza del conjunto de vectores iniciales. Se les ha dado el nombre de

eigenfaces por su aplicación final, y se corresponden con los vectores propios

con mayores valores propios asociados, que precisamente son los que

capturan mayor número de variaciones en el conjunto de vectores de

entrenamiento.

Las ventajas de éste método son:

Reducen la sensibilidad al ruido.

Reducen los requerimientos de memoria del sistema.

El espacio vectorial de menor dimensión es mucho más eficiente.

Page 16: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

16

Y como desventajas:

Depende de una adecuada posición de la imagen.

Iluminación constante.

Lo cierto es que si una de estas condiciones no se cumple, puede dar lugar a

errores en el resultado puesto que los primeros autovectores codifican las

variaciones de localización e iluminación.

3. Métodos combinados.

Tratan de mejorar el reconocimiento mediante la combinación de métodos

basados en características y los basados en apariencia, su técnica más

reconocida es modelos faciales estadísticos.

Denominados generalmente Active Statistical Face Models, fueron

introducidos inicialmente por Coote [Cootes 1995]. Son modelos de forma

estadísticos que combinan:

Un modelo de distribución global de puntos (PDM) modelando la forma

del objeto y sus variaciones usando un conjunto de marcas.

Un conjunto de modelos de niveles de gris locales (LGL), que capturan

las variaciones de los niveles de gris observados en cada marca.

Un modelo PDM se puede usar para representar la forma de una cara

como un conjunto de marcas etiquetadas, recogidas en un vector X.

Los modelos de variación de la forma de la cara son definidos a partir

de los PCA a partir de la media de todas las muestras faciales que se

tengan para entrenar. Un modelo LGL es entrenado para cada marca y

junto con PDM se construye un Active Shape Model (ASM).

Mediante un proceso de búsqueda iterativo se compara el ASM de la

nueva imagen con los que ya se tienen, resultado del entrenamiento

previo.

Page 17: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

17

2.2 Eigenfaces.

Muchos de los trabajos realizados en este campo han dejado a un lado el estudio de

las características que son verdaderamente importantes para identificar una cara. No

tanto desde la perspectiva de la percepción humana, cuyos principios se desconoce

en gran medida, sino desde un punto de vista computacional. Singularidades que

ofrezcan unas pautas claras, eficaces y precisas para la identificación. Esta y otras

carencias, llevaron a M. Turk y A. Pentland [Kirby 1990] a implementar un sistema de

codificación y decodificación de la imagen, en función de su información intrínseca.

El planteamiento consistía en enfatizar las características, locales y globales,

basándose en un método de reducción de dimensionalidad cuya idea inicial fue

desarrollada por Sirovich y Kirby [Matthew 1991] entre 1987 y 1992. El propósito final

es realizar las comparaciones entre las transformaciones de las imágenes y no entre

ellas en sí mismas, pudiendo tener así un sistema de identificación menos pesado

(en cuanto a gasto computacional) y más eficaz (por comparar únicamente

singularidades importantes para la toma de decisión).

En términos matemáticos, lo que se desea encontrar son los componentes

principales de una determinada distribución de píxeles. Es decir, los vectores

principales de la matriz de covarianza de un grupo de imágenes faciales, tratando

estas imágenes como puntos o vectores de un espacio vectorial de gran dimensión.

Estos vectores principales pueden ser entendidos como peculiaridades que

caracterizan la variación entre las imágenes de las caras, y van a ser utilizados para

construir un espacio vectorial de menor dimensión donde poder proyectarlas.

De este modo, cada imagen tendrá una aportación de cada vector principal que,

además, constituye una característica. Por eso reciben el nombre de eigenfaces o

caras principales. En la Figura 2.1 se pueden ver tres de las imágenes utilizadas en

la etapa de entrenamiento y sus correspondientes eigenfaces.

Page 18: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

18

En un proceso inverso, cada imagen se puede sustituir exactamente por una

combinación lineal de los eigenfaces calculados. De este modo puede quedar

representada sólo por los mejores, es decir, aquellos eigenfaces que tienen los

mayores autovalores asociados, los cuales aportan las mayores varianzas entre el

conjunto de entrenamiento. Los eigenfaces no tienen que ser todos, porque el

objetivo no es la reconstrucción y, por lo tanto, la pérdida de información al prescindir

de uno de los vectores principales queda plenamente compensada por el aumento

de la capacidad computacional. Esto nos da la oportunidad de incrementar el rango

del entorno y reconocer a un grupo mayor de personas.

Figura 2.1. Imágenes de entrenamiento y eigenfaces.

En la fila superior se muestran tres de las imágenes usadas para el entrenamiento.

En fila inferior se presentan tres de los eigenfaces calculados a partir de las

imágenes de entrenamiento.

2.2.1 Operaciones de inicialización.

El procedimiento de identificación facial con análisis de componentes principales

requiere una serie de puntos de inicialización previos y supone una etapa

precedente imprescindible como se muestra a continuación.

1. Adquisición de un conjunto inicial de imágenes para el entrenamiento.

2. Cálculo de las caras principales del conjunto de entrenamiento, también

llamadas eigenfaces, manteniendo únicamente aquellos con mayores valores

propios asociados. Estos M vectores propios constituirán el nuevo espacio

Page 19: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

19

vectorial de trabajo (facespace).Siempre que se tengan que incluir nuevas

imágenes al conjunto, se deberá repetir esta operación.

3. Cálculo de la correspondiente distribución de pesos en el espacio M

dimensional, proyectando cada imagen en dicho espacio.

Las operaciones de reconocimiento serán siempre posteriores a esta fase de

inicialización.

2.2.2 Secuencia de operaciones para el reconocimiento.

1. El proceso comienza con la recepción de una nueva imagen sobre la que se

solicita la identificación. Si el espacio de trabajo está codificado, se tendrá que

transformar igualmente esta nueva imagen para poder trabajar con ella bajo la

misma referencia. La sucesión de puntos a seguir es la siguiente:

Cálculo del conjunto de pesos de la imagen de entrada en el facespace.

Es decir, la proyección1 de dicha imagen para conocer la contribución de cada

eigenface en ella.

Determinación de si la imagen se corresponde con la de una cara o no,

evaluando su cercanía al facespace.

Determinación de si la cara es conocida o no, evaluando su cercanía a las

clases del facespace, definidas durante el entrenamiento.

Adicionalmente, se puede obtener un proceso de aprendizaje incluyendo aquellas

imágenes clasificadas como no conocidas repetidamente en el trayecto de una serie

de evaluaciones, y realizando de nuevo las operaciones de inicialización.

1 La proyección ortogonal de un vector a sobre otro vector b es la sombra perpendicular que

ejerce el primero sobre el segundo. Se calcula matemáticamente:

Page 20: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

20

2.2.3 Cálculo de los eigenfaces.

Tal y como se dijo en el sección anterior, se iniciará de una imagen de entrada. Esta

imagen I(x,y) (con una profundidad de color de 8 bpp o 256 colores) se considerará

una matriz de datos de dimensión N x N. Esta matriz puede ser transformada en un

vector de dimensión N2 encadenando todas las filas:

(2,1)

Con esta transformación, una imagen típica de tamaño 256 x 256 viene a ser un

vector de dimensión 65,536, o de forma equivalente, un punto en un espacio 65,536-

dimensional. Ya que se tiene expresada la imagen en términos matemáticos para

poder procesarla. Se evaluará su información intrínseca.

Si se analiza una cara, se puede afirmar rápidamente que no tienen una distribución

de características aleatoria. Muy al contrario suelen tener una configuración

parecida, por lo que en principio es lógico pensar que podrían ser representadas en

un espacio vectorial de menor dimensión. Esta lógica tiene su base en algo tan

sencillo como eliminar la información común, las características comunes a todas

ellas, y trabajar únicamente con sus variaciones. Al suprimir las características

comunes, se elimina las dimensiones del espacio vectorial de características donde

inicialmente están representadas. Y al trabajar con las variaciones y no con las

características en sí mismas, se descarta la otra parte dimensional. El objetivo final

es encontrar un conjunto de direcciones de variación de características que no

cambien al someter la imagen a transformaciones, y las direcciones en álgebra lineal

vienen definidas por vectores.

Page 21: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

21

Esta es la idea de los componentes principales2, encontrar el conjunto de vectores

que mejor definan la distribución de características y formar con ellos un nuevo

espacio vectorial de menor dimensión que será el nuevo espacio de trabajo: el

facespace. Estos vectores deben ser linealmente independientes y ortogonales.

Cada uno de estos vectores (de dimensión N2) es una combinación lineal del

conjunto de imágenes inicial. Uno de los motivos por el que se han dado en

denominar eigenfaces o caras principales es porque el resultado de la

implementación revela una cara fantasmagórica (ver Figura 2.3). Otro de los motivos

tiene que ver con el hecho de que las particularidades que definen pertenecen a

características faciales.

Figura 2.2. Muestra un posible conjunto inicial de imágenes de entrenamiento.

Se considera un conjunto de M imágenes (ver Figura 2.2) convertidas en vectores

Γ1, Γ2,…, ΓM. Tal y como se hace con las series de Fourier, se tendría un valor medio

que no a aportaría información distintiva entre ellas; es decir, si a cada imagen se le

sustrae este valor, se tendrá las características adicionales a la media (análogos a

eliminar el valor medio de una señal y realizar la codificación con los armónicos de

interés).

2 También llamada extensión de Karhunen-Loeve.

Page 22: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

22

Una vez que tiene las imágenes convertidas en vectores, se organiza esta

información en una matriz de la siguiente manera:

donde

(2,2)

Siendo M el número de imágenes tomadas para el entrenamiento.

Se halla la media:

(2,3)

Restando dicho valor a cada una de las imágenes iniciales, se forman los vectores

diferencia:

Φi = Γi – Ψ

(2,4)

Estos vectores diferencia se someten al cálculo de los componentes principales, que

busca los M vectores propios ortonormales, un, que mejor definan la distribución de

los datos.

El criterio para la elección de estos vectores estará ligado a sus valores propios

asociados:

= Máximo

(2,5)

Sujeto a:

(2,6)

Page 23: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

23

Siendo uk, λk los vectores y valores propios –respectivamente- de la matriz de

covarianza C:

(2,7)

La dimensión de la matriz de covarianza, determina un número de vectores y valores

propios del orden de N2, algo que es prácticamente imposible de procesar. Se

necesita un método para poder tratar el sistema computacionalmente.

Si el número de puntos en el espacio vectorial (número de imágenes) es mucho

menor que la dimensión del mismo (M << N2), únicamente habrá (M - 1) vectores

propios distintos de cero. Es decir, (M - 1) vectores propios significativos.

Afortunadamente se puede hacer el cálculo de los vectores propios (de dimensión

N2) determinando primeramente los de una matriz [M x M] y después estimando una

combinación lineal adecuada de las imágenes diferencia de las caras (Φi)

Se considera entonces que vi es un vector propio de ATA[M X M].

(2,8)

Multiplicando ambos factores por A:

(2,9)

Como puede ver en la [Fórmula 2,9], A·Vi constituyen los vectores propios de C=

AAT. Es decir, los vectores propios no son los vi como correspondería si la matriz de

covarianza fuera C=AAT. Los vectores propios son las proyecciones de cada imagen

(sin su valor medio) en la base ortogonal que forman los vi. La parte invariante la

establece A·Vi. En base a este resultado, se construye una matriz L [M x M]=ATA

donde cada elemento sea Lmn =ΦmT Φn. Se buscan los vectores propios de L, que

Page 24: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

24

van a formar la primera base ortogonal sobre la que proyectar las imágenes. Estos

vectores propios determinan una combinación lineal del conjunto de las imágenes de

entrenamiento para formar los eigenfaces ul:

(2,10)

Y con estos eigenfaces calculados, se forma el nuevo espacio de trabajo: el

subespacio vectorial denominado facespace. Con esta transformación matemática,

el cálculo queda ampliamente reducido de un orden N2 a otro correspondiente al

número de imágenes de entrenamiento (el conjunto M).

Figura 2.3: Muestra los seis eigenfaces calculados a partir de las imágenes de entrada de la figura

anterior.

2.2.4 Clasificación de una imagen e identificación.

Los eigenfaces calculados en la sección anterior, parecen adecuados para describir

imágenes de rostros e identificarlas. Sin embargo, aunque el número de vectores

principales que se obtiene sea M, casi siempre se podrá alcanzar una buena

solución con una cantidad menor M’< M. No se necesita todos los vectores propios

puesto que la reconstrucción de imágenes no es uno de los requerimientos del

sistema. Sólo con estos M’ vectores se podrá construir un subespacio vectorial M’-

dimensional del espacio vectorial original N2-dimensional válido.

Se supone entonces que entra una imagen nueva (Γ) al sistema ya entrenado. Debe

ser transformada en sus componentes principales (eigenfaces) para obtener la

misma codificación que aquellas con las que se va a comparar. Dado que al entrenar

Page 25: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

25

el sistema se substrajo previamente el valor medio a cada imagen, a esta nueva se

le debe aplicar el mismo proceso, y después proyectarla dentro del facespace.

(2,11)

Cada (ωk) es un peso, que viene a ser la coordenada en un sistema cartesiano

tradicional. Es decir, la contribución que hace el eigenface k en la representación de

la imagen. Todos los pesos correspondientes a una imagen forman el vector de

pesos de la misma:

(2,12)

Esto constituye un marco de trabajo típico de identificación de patrones. El vector de

pesos va a ser usado por un algoritmo sencillo de búsqueda para determinar si

alguna clase de las definidas se acerca a la que estamos evaluando. El método más

simple para decidir qué clase facilita la mejor descripción de la nueva imagen, es

encontrar la clase k que minimice la distancia Euclidiana:

(2,13)

Es decir:

(2,14)

Page 26: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

26

La obtención del vector de pesos es el proceso equivalente a proyectar la nueva

imagen sobre el espacio vectorial de menor dimensión definido. Cualquier imagen,

facial o no, puede ser proyectada sobre este facespace obteniendo así un vector de

pesos. Se evaluaría primero la proyección de la imagen de una cara ya que, los

resultados que se obtienen, ayudan a explicar qué ocurriría si proyecta algo diferente

a una imagen facial.

Figura 2.4. Versión simplificada del facespace [Cootes 1995].

Dos eigenfaces (u1, u2), tres personas conocidas (Ω1, Ω2, Ω3) y 4 situaciones: 1)

cercano al facespace y a la clase 1; persona conocida. 2) cercano al facespace pero

lejos de cualquiera de las clases definidas; persona no conocida. 3) lejos del

facespace y dentro de una clase; falso positivo. 4) lejanía del espacio y de la clase;

no es una imagen facial.

Definiendo la distancia ε (siendo εk ≠ ε) como el alejamiento entre la nueva imagen y

las que pertenecen al facespace, se podría obtener un criterio discriminante de

pertenencia al mismo. Inicialmente es posible un proceso inverso de reconstrucción

de la imagen a partir de los eigenfaces:

(2,15)

Por otro lado, la imagen original estará siendo evaluada sin su valor medio:

(2,16)

Page 27: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

27

Estas dos estimaciones, en una situación ideal de reconstrucción perfecta, deberían

de ser iguales. Por lo tanto y, ya que estamos en un espacio Euclidiano, podemos

usar su métrica para calcular la distancia entre ambos y proponer umbrales de

pertenencia al facespace.

(2,17)

En la implementación que se ha desarrollado para el robot de servicio

conversacional Golem II, se ha calculado el umbral de esta distancia estimando que

son las propias imágenes (con las que se ha construido este espacio vectorial) las

que deben definir en qué cantidad. Es decir, las M imágenes que se han utilizado,

tienen una distancia entre ellas y alguna debe ser máxima. Por lo tanto, es lógico

pensar que cualquier imagen que esté entre las entrenadas, debería tener una

distancia con las demás que no supere este alejamiento. Por ese motivo se ha

elegido como umbral la máxima distancia entre las imágenes del conjunto de

entrenamiento.

(2,18)

En la Figura 2.4 se pueden apreciar gráficamente las cuatro posibilidades de

pertenencia para una imagen de entrada a evaluar. En el primer caso se reconoce a

una persona y se identifica. En el segundo caso se reconoce la existencia de una

persona pero no se puede identificar: permanece desconocida al sistema. El tercer

caso es una cuestión típica de falso positivo.

Page 28: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

28

2.3 Prueba ¿Who is Who? de la competencia RoboCup@Home.

RoboCup es un proyecto internacional con el propósito de promover, a través de

competencias integradas por robots autónomos, la Inteligencia Artificial y la robótica

inteligente. Este proyecto proporciona problemas estándar donde una amplia gama

de tecnologías que pueden ser integradas y examinadas. RoboCup contempla varias

ligas tales como: RoboCupSoccer, RoboCupRescue, RoboCupJunior y

RoboCup@Home. Esta última se centra en aplicaciones del mundo real y la

interacción hombre-máquina. El objetivo es fomentar el desarrollo de útiles

aplicaciones robóticas que pueden ayudar a los seres humanos en la vida cotidiana,

Está dividido en 2 etapas y la final. Cada etapa consiste en una serie de pruebas que

contiene problemas que se lleva a cabo en la vida diaria. La final es un desafío

abierto el objetivo es crear nuevas interfaces de comunicación humano-robot. En la

Figura 2.5 muestra los escenarios de la prueba Who is Who.

Esta investigación está basada en la reglas de la etapa I de la competencia

Robocup@Home del año 2010. La prueba I consiste en 5 pruebas: i) Robot

Inspection and Poster Sección: Su propósito es la presentación del equipo, la

apariencia del robot y las aportaciones tecnológicas e innovadoras del equipo y, ii)

Folle Me: Se centra en el reconocimiento y seguimiento de una persona

desconocida, en la interacción multimodal y en la navegación segura en un entorno

desconocido, iii) Go Get It: Se enfoca en la detección, reconocimiento y

manipulación de objetos, así como la navegación y búsqueda sistemática en un

entorno dinámico, iv)Open Challenge: Tiene como finalidad demostrar nuevos

enfoques y aplicaciones de valor científico, y v) Who is Who: Su objetivo es la

detección e identificación de personas desconocida para el robot y la navegación

segura en entornos diseñado para seres humanos.

Page 29: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

29

a) b) c)

Figura 2.5: Imágenes de los diferentes escenarios de la prueba Who is Who.

2.3.1 Descripción.

Un robot debe ser capaz de reconocer personas de forma autónoma. El robot tendrá

que presentarse ante un grupo de personas, debe preguntarle su nombre,

memorizarlo y reconocer a las personas cuando se reúnan de nuevo.

Cincos personas conformarán el equipo que el robot será capaz de reconocer, serán

formado con dos integrantes del equipo del robot, dos elegidos aleatoriamente

(seleccionados por los jueces) y un desconocido.

Antes que empiece la prueba se les dará a los equipos esta información previa:

1. Una hora de la prueba se permite hacer un mapa del escenario.

2. Se dará una lista de 20 nombres de los posibles participantes.

3. La prueba dura 7 minutos.

4. El robot deberá entrar y salir por la puerta donde inicio de manera autónoma.

La prueba está dividida en dos etapas:

i. Inicio.

ii. Búsqueda en el escenario.

Page 30: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

30

i. Inicio.

Dos personas entran por la puerta y se presentan al robot uno por uno.

El robot puede pedir a la persona que repita su nombre.

Después de que la persona dijo su nombre, el robot debe anunciar el nombre

que entendió.

Si el robot no entiende el nombre durante esta fase, aún puede utilizar el

nombre equivocado para identificar a la persona más tarde.

ii. Búsqueda en el escenario.

Cuando el robot encuentra a una persona, debe anunciar que la encontró y se

debe acercar de frente a ella. Tiene que reconocer a la persona indicando su

nombre o si es desconocida debe preguntar su nombre.

La distancia del robot a la persona no deberá ser superior a un metro.

La prueba termina cuando el robot encuentra todas las personas o deja de

buscarlas. El robot deberá salir por la puerta donde entró antes que termine la

prueba.

A continuación se muestran las i) puntuaciones y ii) sanciones de la prueba Who is

Who.

i. Puntuaciones.

Entender el nombre de las personas en la etapa de inicio .................... 2 x 25

Usando el micrófono de a bordo del robot ............................................. 200

La identificar una persona como humano............................................... 5 × 50

El reconocimiento de una persona conocida por su nombre.................. 4 × 75

Indicar correctamente a la persona desconocida…................................ 100

Abandonar el escenario en el plazo establecido…................................. 100

Abrir la puerta de salida autónomamente…........................................... 250

Excelente rendimiento…......................................................................... 100

Page 31: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

31

ii. Sanciones.

No asistir a la prueba…............................................................................... 500

Utilizar el botón de paro…........................................................................... 50

Reconocer objetos, muebles o plantas como ser humano…...................... 150

Identificación incorrecta de una persona…................................................. 100

2.3.2 Objetivo.

Se enfoca en la detección, aprendizaje y reconocimiento de diferentes personas, en

la comunicación humano-robot y la navegación segura de entornos diseñados para

seres humanos.

2.3.3 Reglas.

Las reglas de RoboCup@Home 2010 son las siguientes:

Un equipo estará conformado por 10 personas.

Solamente 2 personas del equipo estará con el robot en el escenario.

El tamaño máximo del robot será: 1.80 metros de alto, 0.70 metro de ancho y

150 kilos.

El botón de emergencia debe estar visible y sin obstrucciones.

El robot deberá tener un botón de inicio, donde el juez podrá presionar al

inicio de cada prueba.

Los micrófonos y bocinas estarán incorporados al robot.

Los cables y dispositivos deberán ser cubiertos de manera atractiva.

El aspecto del robot debe ser amigable.

Todas las pruebas de la competencia deberán realizarse de manera

autónoma.

Page 32: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

32

Capítulo 3

METODOLOGÍA

En este capítulo se presenta la metodología utilizada en esta investigación. Se

explica la detección de rostros. Además se detalla las mejores bases de datos de

rostros disponibles en la web. Por último se describe la construcción y desarrollo de

sistemas de diálogo multimodales.

Page 33: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

33

3.1 Detección de rostros.

La detección del rostro es el primer paso en un sistema de reconocimiento facial.

Dada una imagen estática o un vídeo. Un identificador de rostros debe de ser capaz

de identificar y localizar todos los rostros independientemente de su posición, escala,

edad y orientación, la detección debe ser ajena, independientemente de las

condiciones de iluminación, así como el contenido de la imagen estática o vídeo.

El reconocimiento del rostro es una tarea que los humanos realizan rutinariamente y

fácilmente en sus vidas diarias. Desarrollar algoritmos capaces de hacer esta tarea

es uno de los desafíos fundamentales donde la investigación quiere llegar.

Diferentes subáreas y componentes abarcan el reconocimiento facial, detección,

seguimiento, alineamiento, extracción de rasgos, entrenamiento, identificación,

clasificación, análisis de expresión facial, análisis en 2 y 3 dimensiones entre otros.

Muchos de estos componentes comparten las mismas técnicas y algoritmos de

reconocimiento de patrones y análisis de imágenes a pesar que apuntan

aplicaciones distintas.

Algunos de los factores que afecta la detección facial, son la 1) escala, 2) la pose, 3)

iluminación, 4) la expresión facial y 5) la oclusión.

1. Escala.

En una imagen puede aparecer un grupo de diferentes escalas de rostros como

se puede apreciar en la Figura 3.1, el tamaño o escala de un rostro puede ser

tratado por un simple proceso de cambio de tamaño por deformación. Este

proceso de transformación requiere la localización de algunos puntos como los

ojos, la nariz, y boca.

Page 34: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

34

Figura 3.1: Imágenes en diferentes escalas.

2. Pose.

El rendimiento de los sistemas de detección de rostro se ven afectados cuando

hay variaciones en la pose ver Figura 3.2, ya que la mayoría de los trabajos

están hechos para la detección del rostro frontal.

Figura 3.2: Imágenes con varias poses [María 2009].

3. Iluminación.

Los problemas creados por la iluminación se pueden apreciar en la Figura 3.3, en

la cual el mismo rostro con la misma expresión facial, y vista desde el mismo

punto de vista, se ve diferente debido a los cambios de iluminación, estos suelen

ser muy drásticos.

Figura 3.3: Rostro con diferentes iluminaciones [María 2009].

Page 35: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

35

4. Expresiones faciales.

A diferencia de los efectos de escala, la pose y la iluminación, la expresión facial

puede modificar en forma significativa la geometría del rostro, como se muestra

en la Figura 3.4, las expresiones son significativas para la detección del rostro.

Figura 3.4: Rostros con distintas expresiones faciales.

5. Oclusión.

Es otro tema a confrontar para la detección facial, como lentes, bufandas todo lo

que pueda cambiar la apariencia del rostro como se muestra en la Figura 3.5.

Existen diferentes algoritmos para poder resolver este problema.

Figura 3.5. Rostros con oclusión [María 2009].

Viola y Jones presentaron un método rápido de detección de rostro basado en un

algoritmo en cascada usando descriptores simples llamados los descriptores de

Haar que pueden ser calculados de modo eficaz utilizando una representación

intermediaria de la imagen llamada imagen integral. Propusieron también un

procedimiento de clasificación a varias etapas, el cual reduce considerablemente el

Page 36: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

36

tiempo de ejecución realizado casi con la misma exactitud con relación a un

algoritmo de clasificación monofase, que ciertamente es más lento y más complejo.

El principio de base del algoritmo de Viola y Jones es explorar una sub‐ventana

capaz de detectar rostros a través de una imagen de entrada. El acercamiento

estándar en procesamiento de imagen sería escalar la imagen de la entrada a

diversos tamaños y después convertir la ventana del detector en tamaño fijo en las

imágenes. Este acercamiento resulta ser bastante largo en tiempo de cálculo debido

al cálculo de las diversas imágenes en diferentes escalas.

Al contrario el acercamiento propuesto por Viola y Jones permite transformar en

diferentes escalas el detector en vez de la imagen de la entrada y de esta manera el

detector es aplicado muchas veces a la imagen, cada vez con un tamaño diferente.

Como se puede apreciar, ambos acercamientos son igualmente largos en tiempos

de cálculo, pero Viola y Jones han tenido la idea de un detector invariante de la

escala que requiere el mismo número de operaciones en cualquier escala. Este

detector se construye usando una imagen integral supuesta y algunas características

rectangulares simples derivadas de las wavelet (ondeletas) de Haar.

Todo proceso automático de detección y seguimiento de rostro debe tomar en

consideración varios factores que contribuyen a la complejidad de su tarea, porque

el rostro es una entidad dinámica que cambia constantemente bajo la influencia de

varios factores.

Page 37: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

37

Figura 3.6: Etapas en la detección de rostros [Viola 2001].

En el mundo físico, hay tres parámetros que hay que considerar: i) la iluminación, ii)

la variación de postura y ii) la escala. La variación de uno de estos tres parámetros

puede influir considerablemente en los resultados de detección de rostro.

Siguiendo este esquema de la Figura 3.6, las tres últimas etapas son necesarias: el

pre‐procesamiento o tratamiento previo, la extracción de características y la decisión.

Como es sabido el método de Viola y Jones aplica escalas a grises a las imágenes,

la primera etapa describe el proceso que se aplica a la imagen en color. Las dos

siguientes etapas describen directamente el método de Viola y Jones.

Mundo físico: Rostros de las personas.

Cuantificación: Captura de la imagen por cámara.

Tratamiento previo: filtrado, cambio de tamaño y color.

Análisis: Extracción de características particulares.

Decisión: Medidas de similitud.

Resultado

Page 38: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

38

3.1.1 Pre-procesamiento de imágenes, transformación a nivel de gris.

Este método basado en los descriptores de Haar, se aplica en imágenes en niveles

de gris. Para sistemas que funcionan con imágenes colores (la imagen y el vídeo

porque la detección se realiza en cada imagen de vídeo), es necesaria una etapa de

procesamiento previo que transformará los colores en niveles de gris. En la gran

parte de los casos, la imagen está representada en el espacio de los colores YUV.

En ese caso la imagen en nivel de gris correspondiente se deduce directamente de

la imagen original considerando únicamente la luminancia de cada píxel (Y). El

modelo YUV es un espacio de color en términos de una componente de luminancia y

dos componentes de crominancia. Es el modelo usado en los sistemas PAL y NTSC

de difusión de televisión, el cual es el estándar en la mayoría del mundo. El modelo

YUV está más próximo al modelo humano de percepción que el estándar RGB

usado en el hardware de gráficos por computadora, en la Figura 3.7 muestra la

conversión de YUV a RGB.

=

Figura 3.7: La conversión YUV a partir del modelo RGB [Viola 2001].

3.1.2 Escalado por Interpolación.

Otro procesamiento, que resulta útil, consiste en cambiar el tamaño de la imagen

para controlar mejor el tiempo de cálculo y el espacio memoria. Esta tarea se realiza

mediante uno de los métodos de interpolación. La interpolación puede considerarse

como el cálculo del valor de intensidad de un píxel, en una posición cualquiera,

como una función de los píxeles que lo rodea. Existen diferentes técnicas de

interpolación, entre los cuales los más utilizados en el procesamiento geométrico de

imágenes son: bilineal, vecino más cercano y bicúbica, en la Figura 3.8 se muestra

un ejemplo de esta última, donde se requiere del valor de los 16 puntos para calcular

el valor de punto central.

Y U V

0.299 0.587 0.114 -0.147 0.289 0.436 0.615 -0.515 -0.100

R G B

Page 39: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

39

Figura 3.8: Interpolación bicúbica [Viola 2001].

3.1.3 Ecualización del histograma.

Es una transformación que pretende obtener, para una imagen, un histograma con

distribución uniforme. Es decir, que exista el mismo número de píxeles para cada

nivel de gris del histograma. La aplicación de esta operación debería transformar el

histograma en otro con una forma perfectamente uniforme sobre todos los niveles de

gris (ver Figura 3.9).

Figura 3.9: Ecualización del histograma H [Viola 2001].

Sin embargo, en la práctica esto no se va a poder conseguir pues se estaría

trabajando con funciones de distribución discretas en lugar de continuas. En la

transformación, todos los píxeles de un mismo nivel de gris se transformarán a otro

nivel de gris, y el histograma se distribuirá en todo el rango disponible separando en

lo posible las ocupaciones de cada nivel.

Se puede aplicar diferentes tipos de ecualización: 1) ecualización uniforme, 2)

exponencial, y 5) de Rayleigh. La librería OpenCV emplea la ecualización uniforme

según la expresión:

Page 40: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

40

(3,1)

donde H(g) es el histograma.

El resultado de la ecualización maximiza el contraste de una imagen sin perder

información de tipo estructural, esto es, conservando su Entropía (información). Esta

operación constituye una regulación óptima y automática del contraste de la imagen

evitando los ajustes manuales, con los que no se consigue un equilibrio óptimo entre

el blanco y el negro, en la Figura 3.10 se ilustra un ejemplo, la fotografía de la

izquierda es la original, la imagen de la derecha con ecualización del histograma.

Figura 3.10: Mejoramiento del contraste por ecualización del histograma [Viola 2001].

3.1.4 Detección del borde mediante el algoritmo de Canny.

Algunas funciones de detección de rostro utilizan el detector del borde de Canny

para rechazar algunas regiones de la imagen que contengan demasiados o pocos

contornos, regiones que no puede contener el objeto buscado. El objetivo de este

procedimiento es acelerar el proceso de detección.

El algoritmo de Canny se considera uno de los mejores detectores del borde en

procesamiento de imágenes. Este algoritmo se fundamenta en la teoría de

operadores de la primera derivada, debido a que toma el valor de cero en todas las

regiones donde no varía la intensidad y tiene un valor constante en toda la transición

Page 41: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

41

de intensidad. Por lo tanto un cambio de intensidad se manifiesta como un cambio

brusco en la primera derivada, característica que es usada para detectar un borde.

El detector de Canny resulta particularmente interesante porque extrae bordes y

cierra los contornos evitando posible rupturas de los mismos durante su extracción,

(ver Figura 3.11), este es desglosado en tres módulos:

Obtención del gradiente: en este paso se calcula la magnitud y orientación del

vector gradiente en cada píxel.

Supresión no máxima: en este paso se logra el adelgazamiento del ancho de

los bordes, obtenidos con el gradiente, hasta lograr bordes de un píxel de

ancho.

Histéresis de umbral: en este paso se aplica una función de histéresis basada

en dos umbrales; con este proceso se pretende reducir la posibilidad de

aparición de contornos falsos.

Figura 3.11. Detección del borde de Canny [Canny 1986].

3.1.5 Extracción de descriptores.

A partir de la imagen transformada en nivel de gris, redimensionada y con una

regulación óptima y automática del contraste, se realiza la extracción de

características o descriptores que van a constituir la entrada del sistema de

Page 42: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

42

reconocimiento. Los descriptores son extraídos a partir de la imagen en nivel de gris

mediante la imagen integral. Se calcula la imagen integral de los cuadrados.

El valor de la imagen integral de los cuadrados al punto (x, y) es la suma de todos

los valores de píxeles al cuadrado situados encima y a la izquierda. La imagen

integral permite reducir considerablemente el tiempo de cálculo de los descriptores.

Lo mismo la imagen integral de los cuadrados es una representación de la imagen

que permite calcular el covariancia en una ventana muy rápidamente a partir de

cuatro referencias solamente.

3.1.6 Block de decisión.

La imagen integral y la función de clasificación son las entradas de un bucle. A cada

iteración, la ventana de barrido será redimensionada; siendo más precisos, será

aumentada por un factor bien escogido de escala. Por consecuencia, los datos de la

función de clasificación deben ser adaptados a este cambio.

La adaptación principalmente consiste en redimensionar los rectángulos de Haar

proporcionalmente al tamaño de la ventana. Este bucle garantiza la detección de

rostro a toda escala, pues su parámetro principal es el factor de escala. Este

parámetro generalmente es entre un rango de 1.1 a 1.4.

A fin de poder localizar los rostros en todo emplazamiento de la imagen, esta

ventana debe recorrer toda la imagen. Por consecuencia, un bucle imbricado se

impone, y cuyo paso es el parámetro determinante. A cada iteración, un algoritmo de

decisión se ejecuta.

Page 43: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

43

Figura 3.12. Resumen del funcionamiento del método de detección de rostro [Canny 1986].

3.1.7 Descriptores de Harr.

El valor de un punto de la imagen solo nos informa sobre el color en este punto. Una

técnica más elaborada es encontrar detectores basados en características más

globales del objeto. Es el caso de los descriptores de Haar. Estos descriptores son

funciones que permiten acentuar la diferencia de contraste entre diferentes regiones

rectangulares adyacente en una imagen. Es una manera de codificar los contrastes

existentes entre un rostro y las relaciones espaciales.

Un descriptor como se muestra en la Figura 3.12 es representado por un rectángulo

definido por su vértice, su altura, su longitud y sus pesos (negativo o positivo, de

cada rectángulo).

Hay muchas motivaciones para el uso de los descriptores más bien que los píxeles

directamente: el sistema fundado sobre los descriptores es más rápido que un

sistema fundado sobre los píxeles ver Figura 3.13.

Page 44: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

44

Figura 3.13. Representación de un descriptor [Viola 2004].

Los descriptores simples utilizados son inspirados por las funciones de base de Haar

que han sido empleados por Papageorgiou [Papageorgiou 1998]. Más

específicamente, Viola y Jones emplearon tres tipos de descriptores (Figura 3.14).

Un descriptor a dos rectángulos es la diferencia entra la suma de los píxeles

de ambas regiones rectangulares. Las regiones tienen el mismo tamaño y

forma y están horizontalmente o verticalmente adyacentes.

Un descriptor a tres rectángulos, es la suma de los píxeles en ambos

rectángulos exteriores sustraídos por la suma en el rectángulo central.

Un descriptor a cuatro rectángulos es la diferencia entre los pares diagonales

de los rectángulos.

Figura 3.14. Los tres tipos de descriptores de Harr [Viola 2004].

Lienhart et Maydt [Lierhart 2002] han propuesto una extensión de estos descriptores

incluyendo unos sometidos a una rotación de 45 grados (Figura 3.15).

Page 45: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

45

Figura 3.15. Extensiones de los descriptores de Haar [Lierhart 2002].

Como ejemplo, en el caso que el tamaño de la ventana de base (imagen en entrada)

ha sido fijado sobre 24 × 24, este método utiliza un número grande de descriptores

(45396 descriptores según Viola y Jones). Así el número de descriptores es

considerablemente más grande que el espacio de la imagen (en este caso 576

píxeles).

3.1.8 Imagen integral.

Los descriptores rectangulares pueden ser calculados de modo eficaz utilizando una

representación intermediaria de la imagen llamada la imagen integral. Esta imagen,

resultado del trabajo publicado por Crow [Crow 1984], es obtenida a partir de un

algoritmo que permite generar de manera eficiente y rápida la suma de los valores

de un rectángulo adentro de una imagen.

La imagen integral es una matriz del mismo tamaño que la matriz de la imagen

original donde cada elemento de la Imagen Integral a la posición (x, y) contiene la

suma de todos los píxeles localizados en la región superior izquierda de la imagen

original (Figura 3.16).

Page 46: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

46

Figura 3.16. El valor de la imagen integral al punto (x,y) [Crow 1984].

(3,2)

II(x,y) es la imagen integral y I(x,y) es la imagen original. Usando las siguientes

operaciones:

(3,3)

(3,4)

Donde S(x,y) es suma acumulada en línea y S(x,-1) = 0 y II(-1,y) = 0

Así la imagen integral puede ser calculada en un solo barrido sobre la imagen

original. Utilizando esta representación cualquier suma de píxeles en un rectángulo

correspondiente a un descriptor puede ser calculada a partir de cuatro referencias

solamente por la imagen integral.

Figura 3.17. Región calculada a partir de varias referencias [Crow 1984].

Page 47: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

47

La suma del Píxel en el rectángulo D puede ser calculada con solamente cuatro

referencias. El valor de la imagen integral en el lugar 1 es la suma del Píxel en el

rectángulo A. El valor en el lugar 2 es A + B, en el lugar 3 es A + C, y en el lugar 4 es

A +B + C + D.

La Figura 3.17 muestra que la diferencia entre dos sumas de píxeles en una región

rectangular puede ser calculada a partir de ocho referencias. Ya que el descriptores

a dos rectángulos definidos anteriormente son por definición adyacentes, eso implica

que pueden ser calculados por seis referencias solamente de la imagen integral,

ocho en el caso el descriptores a tres rectángulos, y nueve para descriptores.

3.2 Base de datos de rostros.

En capítulo 2 se explicó detalladamente los problemas en el reconocimiento de

rostros tales como la iluminación, la oclusión, la postura del rostro, la expresión

facial, etc. El desarrollo de algoritmos robustos a estas variaciones requiere bases

de datos de tamaño suficiente para que incluya las variaciones cuidadosamente

controlado de estos factores. Por otra parte, bases de datos comunes son

necesarias para evaluar comparativamente los algoritmos, ver la Tabla 3.1. La toma

de una base de datos de alta calidad es una tarea intensiva en recursos: pero la

disponibilidad de bases de datos de imagen pública es importante para el avance del

campo.

Tabla 3.1: Descripción de las condiciones de grabación de las mejores bases de datos disponibles en la red.

Nombre de

la base de

datos

Número de

imágenes

Número de

poses

Iluminación

Números de

expresiones

Tiempo en

horas

AR 116 1 4 4 2

BANCA 208 1 ++ 1 12

CAS_PEAL 66-1040 21 9-15 6 2

CMU Hyper 54 1 4 1 1-5

CMU PIE 68 13 43 3 1

Equinox IR 91 1 3 3 1

Page 48: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

48

FERET 1199 9-20 2 2 2

Harvard RL 10 1 77-84 1 11

KFDB 1000 7 16 5 1

MIT 15 3 3 1 1

MPI 200 3 3 1 10

ND HID 300 1 3 2 1

NIST MID 1574 2 1 ++ ++

ORL 10 1 ++ ++ 1

UMIST 20 ++ 1 ++ 1

U. Texas 284 ++ 1 1 1

U. Oulu 125 1 16 ++ 4

XM2VTS 295 ++ 1 1 1

Yale 15 1 3 ++ 1

Yale B. 10 9 64 6 1

En la primera columna describe la cantidad de imágenes de rostros. En la siguiente

columna se muestra el total de poses del usuario hacia la cámara. La posterior

columna muestra la cantidad de iluminación medida en lux cuando se grabó la base

de datos. La penúltima columna dice el total de posiciones faciales. Finalmente en la

última columna se muestra la duración de la captura de la base de datos.

3.3 Construcción y desarrollo de sistemas de diálogo multimodales.

Los sistemas de diálogo son sistemas computacionales desarrollados para

interactuar a través del lenguaje con los seres humanos. Esta sección tiene como

objetivo presentar los elementos que conforman los sistemas de diálogo, así como el

marco conceptual de su desarrollo tal y como se lleva a cabo en el Instituto de

Investigaciones en Matemáticas Aplicadas y en Sistemas. Para ello se tomó como

base el trabajo que se ha desarrollado en el contexto del proyecto Diálogos

Inteligentes Multimodales en Español (DIME), desarrollados en el Departamento de

Ciencias de la Computación (DCC) del IIMAS.

Page 49: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

49

La descripción de los sistemas de diálogo va unida a la descripción de la

arquitectura cognitiva al amparo éstos se conciben para estructurar los procesos

computacionales.

Los modelos de diálogo constituyen abstracciones que permiten representar de

manera genérica protocolos conversacionales. Por último se explica el enfoque que

guía la forma en la que se conciben y construyen las conversaciones. Este enfoque

concibe las conversaciones como transacciones construidas con aportaciones que

realizan en turnos intercalados el agente y el usuario durante la conversación, las

cuales deben estar “balanceadas” para que se dé la comunicación.

3.3.1. Sistemas de diálogo y la arquitectura cognitiva.

Los sistemas computacionales desarrollados para interactuar con seres humanos

sedenominan sistemas de diálogo. De acuerdo con James Allen [James 2000], la

visión de lo que debe ser el alcance o la complejidad de la interacción ha ubicado a

los investigadores en dos grupos; por un lado están aquellos para quienes la

interacción implica una acción limitada, entendiendo como limitada la característica

de aquellos sistemas en los que el lenguaje y su uso se conciben como escasos.

Pone como ejemplo de este tipo de aplicaciones, aquellos sistemas utilizados en los

conmutadores en donde el usuario debe presionar la tecla “1” o decir “uno”. En

el extremo opuesto, ubica a aquellos investigadores cuya motivación en el desarrollo

de sistemas de diálogo es imitar, en la medida de la posible, una conversación tal y

como la mantienen los seres humanos, por lo que buscan expandir las opciones de

los usuarios durante la interacción.

Las aplicaciones que se desarrollan en el DCC del IIMAS, comparten los motivos del

segundo grupo, aunque la comunidad investigadora reconoce que en el corto plazo

no hay posibilidades de emular todas las competencias humanas que intervienen

para el desarrollo de una conversación, existe la convicción y la experiencia de que

es posible desarrollar sistemas que en un contexto determinado, además de

solucionar tareas específicas, utilicen el lenguaje con una variedad de fines para

Page 50: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

50

reconocer las intenciones del usuario, por ejemplo, permitan a éste tomar la iniciativa

de la conversación para acelerar la solución de una tarea sin dejar de asegurar la

comunicación.

Cuando se habla de conversaciones y aplicaciones cuyo fin es solucionar una tarea

específica, como obtener información del usuario o solucionar un problema en un

contexto específico, hablamos de diálogos prácticos. En los diálogos prácticos las

competencias conversacionales requeridas son significativamente más simples de

alcanzar, comparadas con la competencia humana general para la conversación.

Las aplicaciones que se desarrollan en el DCC constituyen diálogos prácticos, es

decir, se trata de aplicaciones desarrolladas para ejecutar una tarea determinada en

un contexto previamente especificado utilizando un lenguaje con una variedad de

fines. En los diálogos prácticos, la complejidad de la interpretación y el manejo del

lenguaje son independientes de la tarea que se ejecuta.

Otra característica que distingue las aplicaciones que desarrolla el DCC de lIIMAS,

es que éstas están diseñadas con el objetivo de interactuar de manera activa con el

mundo y con los seres humanos, lo que ha dado lugar a una arquitectura cognitiva

[Luis 2010].

Esta arquitectura comparte algunos aspectos con la arquitectura cognitiva llamada

Beliefs, Desires and Intentions (BDI), creencias, deseos e intenciones [Luis 2011],

ha sido el resultado de una intensa actividad de investigación para combinarla

percepción de los estímulos de las personas, el pensamiento, la acción y la

interacción con el mundo. Para fines de este trabajo esta arquitectura nos permite

acotar las capacidades de los agentes, dar orden y sentido a los elementos que

intervienen en la construcción y funcionamiento de lasaplicaciones, tal como se

puede observar en la Figura 3.18.

Page 51: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

51

Figura 3.18: Arquitectura cognitiva [Luis 2010].

En este diagrama están representados por una parte el mundo real, y por otra con

los diversos módulos que en un sistema están asociados con la percepción, el

pensamiento y la acción. En este sistema cada módulo tiene una función específica.

Si se sigue el curso marcado por las flechas puede observarse que el diagrama

conforma un círculo, ciclo que se recorre cada vez que hay una interacción entre

el sistema y el mundo.

El reconocimiento y la interpretación corresponden a la percepción. El

reconocimiento es el proceso mediante el cual el sistema capta, a través de algún

dispositivo, la información del mundo y la traduce en una imagen o un código

específicos, dependiendo del dispositivo utilizado. El producto del reconocimiento es

un código o una imagen no interpretada; es decir, en el caso del lenguaje, el sistema

de reconocimiento de voz produce texto en un formato particular, sin otorgar

interpretación alguna. Existen distintos dispositivos de interacción, como pueden ser

los dispositivos de navegación, visuales o sonoros; cada uno capta y genera códigos

a procesarse a través de algoritmos específicos correspondientes a cada

modalidad.

Page 52: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

52

En el siguiente nivel de percepción encontramos el intérprete, encargado de traducir

las imágenes o códigos captados por el reconocedor y de traducirlos en el marco de

las expectativas y del contexto conocidos y de limitados en función de la tarea

específica a realizar. El intérprete entrega imágenes interpretadas.

Los módulos que corresponden a la memoria perceptual y semántica toman estos

nombres porque cumplen funciones semejantes a las que cada una de éstas tiene

con la memoria humana. La memoria perceptual está formada por una serie de

asociaciones entre la interpretación (significado) y las imágenes o códigos no

interpretados que el intérprete utiliza al momento de realizar su función. La memoria

semántica se refiere al conocimiento de las palabras, de su significado, de los

conceptos y de sus relaciones, cuando tal conocimiento no está ligado al contexto

espacio temporal de su adquisición.

Estos conjuntos de imágenes y significados se crean basados en las necesidades

del contexto y la tarea específica a solucionar, y se cargan en el sistema con

anticipación, utilizando los mismos dispositivos de reconocimiento con los que

cuenta la aplicación. La información se guarda en la memoria, tomando el orden de

la serie de expectativas que espera se cumplan a lo largo de la conversación, de tal

forma que la interpretación adecuada pueda ser recuperada en la situación

particular en la que esta información deba ser interpretada. La memoria episódica

almacena información de hechos, como nombres de personas o conceptos, no

asociados a ninguna otra memoria en particular.

Los módulos de especificación y respuesta corresponden a la acción o interacción.

La respuesta, al igual que el reconocimiento, está acotada por la serie de

dispositivos que tenga para su uso la aplicación.

3.3.2 Modelos de diálogo.

Una vez definidos los sistemas de diálogo y la relación que guardan con la

arquitectura cognitiva que guía el desarrollo de aplicaciones en el DCC‐IIMAS, se

Page 53: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

53

procederá a explicar la noción de los modelos de diálogo. Los modelos de diálogo

constituyen abstracciones que permiten esquematizar los protocolos

conversacionales que se utilizan de manera recurrente. Estos esquemas permiten

representar las situaciones, las intenciones, las expectativas y las acciones que

ocurren en el transcurso de una conversación en aplicaciones desarrolladas para

ejecutar una tarea determinada en un contexto previamente especificado.

Los modelos de diálogo se definen a partir de por lo menos dos situaciones; una

situación inicial (Si) y otra final (Sj). Gráficamente, cada situación se representa por

un nodo y los nodos se relacionan a través de vínculos. Cada vínculo está formado

por una expectativa a satisfacer (α) y por las acciones a realizar una vez satisfecha

la expectativa (β). Una vez cumplida la expectativa y realizada la acción, el sistema

pasa de la situación inicial Si a la situación Sj, como se ilustra en la Figura 3.19.

Figura 3.19: Representación gráfica de los modelos de diálogos [Luis 2010].

Además de la situación inicial y la situación final, que no indican más que el inicio y

fin del protocolo, los modelos cuentan con un número variado de situaciones

intermedias que representan, cada una, parte de las acciones que se deben realizar

para solucionar la tarea global.

Las expectativas y acciones pueden estar vacías o ser concretas. Por ejemplo, si el

sistema despliega una imagen con dos botones para dos diferentes acciones cada

vez que se inicia, no esperará ninguna acción del usuario; haga o no haga nada,

el sistema desplegará la imagen con el saludo cada vez que se inicie y llegará a la

siguiente situación, donde esperará que se cumpla la expectativa siguiente.

Si Sj

α : β

Page 54: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

54

Las expectativas y las acciones, cuando son concretas, pueden adoptar cualquiera

de las modalidades que sea mencionado, es decir, dependerán de los dispositivos

disponibles y podrán adoptar una acción perceptible al usuario en forma de texto,

lenguaje, una imagen, movimiento o una acción no perceptible como resolver un

problema mediante un cálculo interno.

Esta representación de las acciones, toma como premisa el concepto de acto del

habla introducido por Austin y posteriormente desarrollado por Searle [Luis 2010].

De acuerdo con esta visión, las acciones lingüísticas y las motoras son igualmente

acciones con efectos en el ámbito del conocimiento o en el físico, respectivamente.

En este sentido, las intenciones podrán expresarse con oraciones gramaticalmente

correctas, con frases sueltas, con interjecciones o simplemente con algún gesto, y la

interpretación consistirá en comprender la intención del hablante,

independientemente de la manera que haya elegido para expresarse [Luis 2011].

Una vez que el sistema atraviesa de una situación inicial a una subsecuente,

mediante el cumplimiento de expectativas y la realización de acciones, se irán

sucediendo una serie de situaciones que juntas conforman la conversación o la

interacción. La historia de la travesía del sistema por las distintas situaciones

queda guardada en el sistema, constituye el contexto específico de la conversación

y puede recuperarse cada vez que sea necesario.

La representación de los modelos de diálogo puede adquirir diversos grados de

complejidad; por ejemplo, cuando la acción se especifica con predicados que

incluyan variables o funciones. En el primer caso, el sistema ha requerido al usuario

su nombre, la expectativa es que escuche el nombre y la acción, es de confirmar si

el nombre que escucho es el correcto, ver la Figura 3.20.

Figura 3.20. Ejemplo del modelo de diálogo que incluye una variable en las expectativas y acciones.

Si Sj

nombre (Nombre):confirmar (Nombre)

Page 55: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

55

Tabla 3.2: Golem II- Prueba Who is Who: Ejemplo nombre.

Golem II ¿Cómo te llamas?

Usuario Me llamo Ángel

Golem II Escuche Ángel ¿Es correcto?

Cuando la acción cambia con base en la historia de la conversación, es posible

utilizar funciones para especificar la expectativa y la acción correspondiente, la

cual dependerá del resultado del cálculo de la función. Supongamos la misma

situación anterior, en la que el sistema le pide al usuario diga su nombre. Si el

usuario dice el nombre y el sistema no percibe ningún sonido, le pedirá que repita

nuevamente la información. Si después de, por ejemplo, cuatro repeticiones, el

sistema sigue sin percibir sonido, informará al usuario que no puede seguir

interactuando, debido a que hay un problema mayor.

Por ello, antes de solicitar al usuario que repita su nombre, deberá recuperar la

historia y contar las veces que ha solicitado al usuario repita la información para

volver a solicitarla o dar el aviso correspondiente y proceder a la salida. En la Figura

3.21, el punto representa la función que hace el cálculo mencionado.

Figura 3.21. Ejemplo del modelo de diálogo que incluye una función.

Si Sj

nombre(Nombre):confirmar(Nombre)

Sk

no_escucha: puedes repetir

salida

Page 56: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

56

Tabla 3.3: Golem II - Who is Who: Ejemplo de reparación con voz.

Golem II ¿Cómo te llamas?

Usuario

Golem II ¿Puede repetirlo?

Usuario

Golem II ¿Puede repetirlo?

Usuario

Golem II ¿Puede repetirlo?

Usuario

Golem II Salida

Conforme al concepto de los actos del habla, las expectativas y las acciones pueden

adoptar distintas modalidades. No obstante, existe la posibilidad de indicar el tipo de

modalidad perceptual que está involucrada en cada una de las situaciones,

dependiendo del tipo de dispositivos con que cuenta la aplicación. Las etiquetas

visión (v), walking (w) o listening (ls), indicarán la modalidad correspondiente, según

sea el caso. Otras etiquetas usadas recuentemente son neutral (n), utilizada cuando

la expectativa está vacía o final (fs) para señalar el fin del protocolo.

La representación de los modelos de diálogo es una abstracción que trata de ser

simple, aunque las tareas representadas no lo sean. Existen situaciones llamadas

recursivas, las cuales contienen modelos de diálogo completos embebidos y

subordinados, de tal forma que cuando el sistema llega a una situación recursiva,

recorre el modelo completo, una vez terminado regresa al modelo original y continúa

hasta llegar a la situación final, ver la Figura 3.22.

Page 57: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

57

Figura 3.22: Estructura de la tarea de la prueba Who is Who.

Esta facilidad de representación, refleja la facilidad para construir las aplicaciones en

forma modular y para utilizar y reutilizar algún módulo en la misma aplicación o en

otra, conforme se vaya necesitando.

3.3.3 Estructura de la conversación.

La idea principal de presentar los elementos más representativos de una teoría de la

estructuración de diálogos, es que constituye el tercero de los sustentos teóricos

más importantes en el desarrollo de aplicaciones y en la especificación de sistemas

multimodales inteligentes que se lleva a cabo en el DCC-IIMAS.

La teoría toma como base los conceptos de estructura conversacional, obligaciones

y acuerdo común, los cuales cuentan con una larga tradición de estudio en la

filosofía, la lingüística, la psicología y la inteligencia artificial, así como en los trabajos

de investigación que se llevaron a cabo para el análisis de la estructura de diálogos

orientados a resolver tareas y el esquema de transcripción y clasificación [Luis

2009].

SSii

RB RP RS

FS

E: Saludo

ok_autorización:introducir_escenario Terminado: ya termine

Despedida: salir Fi()

E: Verificar_tiempo

Fj() Puntos _búsqueda : verificar

no_hay_persona: salir

Page 58: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

58

Esta teoría sostiene que una conversación está formada por una serie de

transacciones que tienen como fin la resolución de una tarea. Las transacciones se

forman con actos del habla de los participantes. Los actos del habla pueden tener

distintas funciones, por ejemplo, solicitar una información o pedir al interlocutor que

realice una acción motora o mental. Estos actos reciben, para fines computacionales

y en el marco de la modelación de diálogos prácticos, el nombre de “tipos de actos

del habla” y se manejan como un conjunto finito en un dominio del imitado [Luis

2009].

La teoría toma prestadas las reglas y la terminología contable, en la conducta

conversacional, cuando uno de los participantes en una conversación hace una

solicitud, un requerimiento, un compromiso o una oferta, crea un cargo que deberá

ser satisfecho con un acto del habla para recobrar el equilibrio.

Estas pequeñas estructuras compuestas por actos del habla que se relacionan a

partir de la especificación de una intención por parte de un agente y la satisfacción

de esa intención por parte del oyente se denominan obligaciones y representan

el propósito global de una conversación (Tabla 3.4).

Tabla 3.4: Golem II - Who is Who: Ejemplo de reparación con voz.

Cargo Abono Participante

Solicitud de la información Respuesta Otro

Requerimiento de acción Acción Otro

Compromiso Acción Mismo

Oferta Acción Mismo

En una conversación ideal cada acto del habla se entiende en cuanto se ejecuta y

existe un acuerdo o un “piso común” entre los participantes durante toda la

conversación. Sin embargo, en la vida real, en una conversación espontánea, el

flujo de comunicación se interrumpe frecuentemente por lo que una buena cantidad

de elocuciones son necesarias para reparar y restablecer el flujo y proseguir la

conversación.

Page 59: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

59

El acuerdo entre los dos participantes en una conversación, también llamado piso

común o acuerdo común, puede romperse por dos razones: por una falta de acuerdo

entre los participantes, porque uno de los participantes no está de acuerdo con todo

o parte del contenido expresado en la conversación; o por problemas de

entendimiento, ya sea porque el mensaje no es claro debido a alguna interferencia,

como el ruido. En este caso el agente se ve en la necesidad de reafirmar la base de

acuerdo en la conversación.

En el plano del acuerdo común se ubican los actos del habla a través de los cuales

los participantes en una conversación detienen el flujo de la conversación para

asegurar que comparten creencias, intenciones y que han entendido la

comunicación de la contraparte (Tabla 3.5).

Tabla 3.5: Relaciones de balance en el plano de los acuerdos.

Cargo Abono Participante

Solicitud de información Acuerdo-Acción-Afirmación Otro

Requerimiento de acción Acuerdo-Acción Otro

Oferta Acuerdo-Acción Otro

Opción abierta Acuerdo-Acción Otro

Afirmación Acuerdo-Acción Otro

Reafirmación Acuerdo-Acción Otro

Referencia vaga Reparación Mismo / Otro

Referencia ambigua Solución Mismo / Otro

Acto de entendimiento Elocución siguiente o actual Otro

Señal no comprensible Elocución siguiente misma señal Otro

Otro elemento importante a considerar cuando se habla de la construcción de

diálogos prácticos en un dominio específico es el contexto. Por el contexto de una

conversación se entenderá por una parte, un espacio, un tiempo, un tema, una serie

de conceptos relevantes, creencias, deseos e intenciones que los interlocutores

comparten en cierta medida; por otra parte, también se considera como parte del

contexto los actos del habla que van surgiendo durante la conversación y que no

sólo forman la historia de la misma y que son importantes para dar significado a los

actos lingüísticos y mantener la conversación, ya que la condicionan.

Page 60: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

60

Una vez que se cuenta con una arquitectura cognitiva, con un objetivo global que la

tarea específica debe cumplir, con los objetivos parciales claros, un dominio del

lenguaje delimitado por el contexto, la técnica de los modelos de diálogo y el

conocimiento de la estructura conversacional, quedará todavía pendiente definir la

estrategia de la conversación.

La estrategia de la conversación y el modo elegido para transmitir un mensaje son

independientes de la estructura; es decir, si la estructura de la conversación que

utilizo establece en un momento dado la acción “saludo”, se puede utilizar no sólo

dos modalidades distintas, como vimos en unejemplo anterior, sino dos mensajes

también diferentes, como se muestra en la Tabla 3.6

Tabla 3.6: Diferentes representaciones de saludo en una conversación.

Participante Mensaje Participante Mensaje

Golem II ¡Hola! Golem II Hola todo, me llamo Golem estoy participando en la prueba who is who de robocup at home

Se ilustrará este hecho con otro ejemplo, retomando el diálogo que se utiliza para

ejemplificar el uso de las funciones como parte de las expectativas y las acciones.

De acuerdo con la estructura y estrategia definidas, el sistema requerirá hasta cuatro

veces a un usuario que repita la información cuando no reciba señal alguna. En el

ejemplo anterior, el sistema preguntó el nombre al usuario y se utilizó cuatro veces

la misma respuesta ¿Podrías repetirlo? Utilizando cuatro mensajes distintos, el

usuario repetirá igualmente la información requerida, pero elefecto del mensaje

será distinto, ver la Tabla 3.7.

Page 61: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

61

Tabla 3.7: Golem II - Who is Who: Ejemplo de reparación con estrategia.

Golem II ¿Cómo te llamas?

Usuario

Golem II ¿Puede repetirlo?

Usuario

Golem II Estoy sordo y no escucho ¿Cuál es tu nombre?

Usuario

Golem II Lo siento necesito lavarme las orejas ¿Que me dijiste?

Usuario

Golem Estoy hablando solo, mejor me retiro

3.3.4 Robot Golem II.

Golem II es un robot de servicio que tiene como objetivo estudiar la integración de la

información multimodal (visual, de movimiento y de lenguaje natural) en español

hablado para su navegación en un ambiente de oficina.

Todo el sistema de Golem II esta implementado como un conjunto de agentes

computacionales, cada uno de los cuales corresponde a una modalidad de

información, ya sea de entrada o de salida, ver la Figura 3.23. Los agentes son:

Manejador de diálogo: Es el componente central de esta arquitectura. Es

responsable de la gestión de la conversación entre el usuario humano y el

robot. El gestor de diálogo (DM) realiza las siguientes tareas: a) interpreta los

modelos de diálogo, b) analiza los rastros del estado, c) el contexto de la

conversación, d) define las intenciones previstos para cada estado, e) genera

la respuesta adecuada y coordina todos los agentes que componen el

sistema.

Agente de navegación: Golem II navega en un mundo 2D asumiendo

conocimientos previos acerca de la posición de cada anunciante.

Page 62: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

62

Agente de comprensión del habla: Se componen en los siguientes módulos:

a. El reconocimiento de voz: El reconocedor automático del habla en

español se basa en el proyecto DIME100. Las expresiones regulares

son usadas para extracto de las intenciones de espera de cada

enunciado.

b. La síntesis de voz: La voz de Golem II se ha generado utilizando

Mbrolay el texto Festival-to-speech software.

Agente de la visión: Tareas de visión incluyen reconocimiento de caras,

reconocimiento de gestos, la visión basada localización, y reconocimiento de

objetos.

Figura 3.23. Arquitectura de Golem II [Luis 2009].

Arquitectura

Arquitectura del sistema de diálogos

Manejador del diálogo

Agente de visión Agente de Compresión del habla

Agente de Navegación

Nivel de coordinación

Agentes de compresión y percepción

Secuencia de imágenes

Reconocimiento de voz Síntesis de voz

Motores del robot

Page 63: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

63

3.3.4.1 Hardware.

Golem II es robot de la compañía PeopleBot (TM), ver la Figura 3.24. A continuación

se detalla los componentes físicos de este robot.

Tres arreglos de sonares con ocho sensores cada arreglo.

Dos sensores de infrarrojos de protección en el frente.

Un Gripper con 2 grados de libertad en la viga de descanso.

Dos romper vigas verticales.

Dos arreglos de protección de parachoques con cinco sensores cada uno.

Doble micrófonos y altavoces.

Una Computadora interna VersaLogic EBX-12.

Una Laptop externa Dell Latitude E6400.

Una Cámara estéreo Videre STH-MDCS,-VAR.

Un láser marca Hokuyo modelo UTM-30LX.

Una cámara monocular Canon PTZ modelo VCC5.

Una cámara web QuickCam Pro 9000.

Una Base omnidireccional micrófonos Shure x2.

Un condensador de micrófono direccional M-Audio.

Una tarjeta externa de sonido M-Audio Fast Track.

Un altavoces de dos vías de 3.5 pulgada.

Figura 3.24: Robot Golem II y sus componentes físicos [Luis 2010].

Page 64: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

64

3.3.4.2 Software y librerías.

Librerías y software que usa el robot Golem II.

1. Librería OpenCv (Open sourse Computer Vision Library). Nos permite el

tratamiento de imágenes, destinadas principalmente aplicaciones de visón por

computadora en tiempo real, por ejemplo sistema de reconocimiento de

gestos y objeto.

2. Servidor Player/Stage. Es un simulador en 2D de las actividades programadas

que realizaría el robot, por ejemplo sistema de navegación entornos

complejos.

3. Compilador GCC (GNU Compiler Collection includes), MakeFile y DDD (Data

Display Debugger). GCC. Es un software libre que contiene un conjunto de

compiladores(c, c++, Ada, fortran, java, etc). MakeFile son los ficheros de

texto que utiliza make para llevar la gestión de la compilación de programas.

DDD es una interfaz de usuario gráfica para depuradores en línea de

comandos.

4. Sistema operativo Linux plataforma Ubuntu.

Page 65: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

65

Capítulo 4

EXPERIMENTOS Y RESULTADOS

En esta sección se describe la experimentación que se le realizó al sistema de

reconocimiento de rostros. En primer término, se presenta el plan de pruebas y se

describe la plataforma de experimentación, posteriormente se describen los

experimentos realizados, se muestran los resultados obtenidos y se realiza el

análisis de los mismos.

Page 66: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

66

4.1 Plan de pruebas.

El plan de pruebas que se desarrolló para evaluar al sistema de reconocimiento de

rostros se ilustra en la Figura 4.1. En el experimento 1, su finalidad fue obtener una

evaluación del desempeño del reconocedor de rostros utilizando la base de datos de

AT&T de la universidad de Cambridge. En el experimento 2, su objetivo fue evaluar

el reconocedor de rostros a diferentes cambios de iluminación en el ambiente. En el

experimento 3, su propósito fue analizar el control de la distancia del usuario a la

videocámara. En el experimento 4 se expone la aplicación del sistema de

reconocimiento de rostro en un robot móvil.

Figura 4.1. Plan de pruebas de la experimentación.

Con la finalidad de determinar cuál es la eficiencia del sistema de reconocimiento de

rostros a diferentes cambios de iluminación, distancia del usuario a la videocámara y

base de datos se utilizó la métrica de evaluación llamada matriz de confusión. En la

Tabla 4.1 se muestra un ejemplo. Esta matriz tiene dos clases, A y B, donde a

corresponde al número de muestras de la clase A clasificadas correctamente como

A y b al número de muestras de la clase B reconocidas correctamente como B; c y

d corresponden a los errores de clasificación de las muestras de A y B,

respectivamente. A partir de esta matriz de confusión puede calcularse el porcentaje

de reconocimiento de los experimentos para estimar la eficiencia del reconocedor de

rostros. Esta medida también llamada exactitud, se define en este documento de la

siguiente manera:

Experimento 3: Analizar el control de distancia del usuario a la videocámara

Experimento 1: Evaluación del desempeño del reconocedor de rostros utilizando una base de datos AT&T

Experimento 2: Evaluar el reconocedor de rostros con diferentes cambios de iluminación en el ambiente

Experimento 4: Aplicación del sistema de reconocimiento de rostros en un robot móvil

Page 67: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

67

(4,1)

donde el total de rostros correctamente clasificados es la suma de los números

sobre la diagonal de la matriz de confusión y el total de rostros de prueba,

corresponde al número total de rostros que se utilizaron para la clasificación.

Tabla 4.1: Ejemplo de una matriz de confusión con dos clases, A y B.

Cla

se r

eal

Salida del clasificador

A

A B

a c

B d b

Cada renglón corresponde a las muestras de un rostro particular presentadas. Las

columnas corresponden a la salida de la clasificación.

4.2 Plataforma experimental.

El sistema de reconocimiento de rostro fue codificado en el lenguaje ANSI C, bajo el

compilador Gcc, además, se utilizó la librería de visión computacional OpenCv. Para

el experimento 1 se utilizó una computadora Dell Dimensión 8300 con procesador

Pentium 4 a 2.6 GHZ, memoria RAM de 512 MB y disco duro de 60 GB con Sistema

operativo Ubuntu 9.10. En el segundo y tercero experimento se utilizó una laptop

Dell Inspiron 1525 con un procesador CoreTM 2 duo a 1.83 GHZ, memoria RAM de 2

GB y disco duro de 120 GB con Sistema Operativo Ubuntu 10.04, también se utilizó

una webcam Logitech Pro 9000 para la grabación del vídeo. En el último

experimento se utilizó al robot Golem que cuenta con una laptop Dell XPS m1530

con procesador Core i3 a 4.2 GHZ, memoria RAM de 4 GB y disco duro de 500 GB

con Sistema Operativo Ubuntu 10.10, para captura vídeo el robot Golem cuenta con

una cámara Sonny PTZ.

Page 68: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

68

4.3 Experimento 1: Reconocimiento de rostros utilizando la base de datos de

AT&T.

Para la realización de este experimento se utilizó las imágenes de rostros de la base

de datos desarrollada por AT&T del laboratorio de la universidad de Cambridge.

Dicha base de datos está constituida por 400 imágenes de 40 personas diferentes.

Con 10 fotografías para cada sujeto. Cada imagen cuenta con distintas poses,

expresiones faciales, punto de vista, en algunos casos presencia o no de anteojos e

iluminación controlada, además, cada fotografía está en escala de grises, en formato

PGM (Portable Gray Map) y tiene una resolución de 90 x 112 píxeles. De esta

manera los vectores-imágenes tendrán una dimensión de 10, 304 píxeles, ver la

Figura 4.2. A continuación se detallan las características de la base de rostros de

AT&T:

36 personas masculinas y 4 femeninas.

Una persona de raza negra.

Las personas presentan diversas edades.

Cada imagen presenta una ligera variación de luz.

Todas las fotografías presentan el mismo fondo por detrás del sujeto.

Algunas imágenes presentan diversas expresiones faciales: ojos

abiertos/cerrados, sonrisa/no sonrisa.

5 personas tienen anteojos.

7 personas presentan barba, de las cuales, 4 tiene barbas y anteojos.

Todas las imágenes son frontales (tipo fotografía para credencial o pasaporte)

algunas de la fotografías presentan ligeras variaciones angulares del rostros.

Figura 4.2: Ejemplo de una muestra de la base de rostros de AT&T.

Page 69: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

69

Las 10 fotografías de cada sujeto se encuentran en subdirectorios separados, la

simbología que se utilizó para la realización de este experimento es la siguiente:

Cada nombre asignado a las fotografías presenta el nombre: sX/Y.pgm

En donde:

X = indica el número de la persona (de 01 a 40)

Y = número de fotografía (01 a 10)

Por ejemplo: s09/07.pgm, se refiere a la séptima fotografía de la novena persona.

4.3.1 Objetivo.

Obtener una evaluación del desempeño del reconocedor de rostros utilizando la

base de datos de AT&T de la universidad de Cambridge. Esta base de datos ha sido

utilizada en diversas investigaciones sobre reconocimiento de rostros.

4.3.2 Procedimiento experimental.

A continuación se describe cómo se seleccionaron las muestras de entrenamiento y

prueba de cada rostro que serán usadas para construir y evaluar el desempeño del

reconocedor de rostros. De las 40 personas con 10 imágenes cada una se

seleccionaron aleatoriamente dos personas. A cada persona seleccionada se le

tomaron 5 imágenes al azar. Para crear el conjunto de muestra de entrenamiento se

juntaron las 5 fotografías de las 2 personas elegidas. Del conjunto de muestras de

entrenamiento se crearon aleatoriamente 4 subconjuntos formados con 2, 3, 4 y 5

muestras por rostro. A este subconjunto se le aplicó el algoritmo eigenface para crear

los eigenvalores de entrenamiento (ver Figura 4.3). El objetivo es medir el

desempeño del reconocedor de rostros en función del número de muestras de

entrenamiento.

Page 70: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

70

Figura 4.3: Representación gráfica de la metodología de entrenamiento.

Las 5 muestras restantes de cada persona se juntaron para crear el conjunto de

muestra de prueba. A este conjunto se le aplicó el algoritmo eigenfaces para crear

los eigenvalores de prueba. Por último se comparó el conjunto de prueba con cada

subconjunto de entrenamiento, con la finalidad de determinar la matriz de confusión,

ver la Figura 4.4. En la Tabla 4.2 se presenta los resultados de 7 repeticiones de la

metodología de entrenamiento y prueba. La Figura 4.5 presenta el promedio de 9

iteraciones con 2, 3, 4, 5 personas.

Figura 4.4: Representación gráfica de la metodología de prueba.

facedata con dos muestras

facedata con tres muestras

facedata con cuatro muestras

facedata con cinco muestras

facedata con 10 muestras

Matriz de confusión de 2

muestras

Matriz de confusión de

5 muestras

Matriz de confusión de 3

muestras Matriz de confusión de 4 muestras

Base de rostros

facedata con dos muestras

facedata con tres muestras

facedata con cuatro

muestras

facedata con cinco muestras

Page 71: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

71

Tabla 4.2: Los resultados de 7 repeticiones de la metodología de entrenamiento y prueba con 2 personas.

Dos personas

Repeticiones Personas Distancia Euclidiana

2 3 4 5

1 s3 s31 94 100 100 100

2 s8 s4 100 100 100 100

3 s13 s18 88 92 94 100

4 s27 s8 98 100 100 100

5 s2 s20 100 100 100 100

6 s6 s23 100 100 100 100

7 s21 s24 100 100 100 100

Subtotal 680 692 694 700

Total 97.14 98.86 99.14 100

En la primera columna se presenta el número repeticiones del experimento. En la siguiente

columna muestra los nombres de las personas que se seleccionaron para cada interacción.

En la última se presenta el número de muestra de entrenamiento y el promedio por cada

repetición.

Figura 4.5: El promedio de 9 repeticiones con 2, 3, 4 y 5 personas con las mismas muestras de

entrenamiento.

Page 72: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

72

Figura 4.6: Presenta el promedio de 9 repeticiones con 10, 20, 30 y 40 personas con 2, 3 y 4 muestras de

entrenamiento.

4.3.3 Análisis experimental.

En la Tabla 4.2 se probó el reconocedor de rostros con dos personas, se comparó

las 10 muestras de pruebas con las 2, 3, 4 y 5 muestras de entrenamiento, se puede

observar que al comparar con dos personas el reconocimiento es casi perfecto. En la

Figura 4.5, se utilizaron 2, 3, 4 y 5 personas con las mismas muestras de

entrenamiento, se obtuvo un incremento en el porcentaje de reconocimiento al

aumentar el número de muestras en el entrenamiento. En la Figura 4.6 se comprobó

que 5 muestras en el entrenamiento se obtiene un mejor porcentaje en

reconocimiento, además, al probar el reconocedor de rostros con un gran número de

personas disminuye la exactitud de reconocimiento. Estos resultados dirigen el

siguiente paso del proceso experimental probar al reconocedor de rostros con

diferentes cambios de luz y con mayor muestra de entrenamiento.

Page 73: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

73

4.4 Experimento 2: Reconocimiento de rostros con cambios de iluminación en

el ambiente.

Para la realización de este experimento se creó una base de rostros con diferentes

cambios de iluminación en el ambiente, fue desarrollada por el autor de este

documento con los investigadores, académicos y estudiantes del DCC del IIMAS.

Dicha base de rostros está constituida por 16 personas con 20 imágenes de rostros

cada una. Cada fotografía cuenta con una ligera expresión facial, vista frontal, una

resolución de 90 x 112, en escala de grises e iluminación no controlada.

4.4.1 objetivo.

Probar el reconocedor de rostros a diferentes cambios de iluminación en el

ambiente, además checar el tiempo en la realización de conjunto de muestras de

entrenamiento y prueba.

4.4.2 Procedimiento experimental.

Se elegirán 4 personas para tomarle un vídeo de 5, 10 y 15 segundos a cada

persona. Los vídeo serán tomados en diferente horarios, con la finalidad de observar

cambios de luminosidad, paciencia de la persona en la duración del vídeo, posición

frontal (con una tolerancia de un cierto movimiento lateral), detalles (con lentes, sin

lentes y gorras) y expresiones faciales (ojos cerrados o abiertos, sonrisa o ausencia

de sonrisa y muecas).

Los vídeos serán tomados en diferentes horarios (11 am, 12 am, 4pm y 8 pm) con el

propósito de observar que tanto afecta la iluminación natural o artificial del ambiente

donde se toman las imágenes al sistema de reconocimiento de rostros.

La persona debe de estar de frente y mirando hacia la cámara, podrá realizar y

contener diferentes expresiones y/o detalles faciales, además se podrá mover

sutilmente a la lateral cuando se esté tomando los vídeos. Esto se realiza con la

finalidad de meterle ruido y probar al sistema de reconocimiento de rostros.

Page 74: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

74

4.5 Aplicación del reconocimiento de rostros en un robot móvil.

4.5.1 Objetivo.

Probar las ideas presentadas en las secciones anteriores e implementar el sistema

de reconocimiento visual de rostros en la arquitectura cognitiva del robot de servicio

conversacional Golem II.

4.5.2 Procedimiento experimental.

El sistema inicia cuando 3 personas se presentan al robot una por una, de frente a la

videocámara y a 1 metro de distancia. El proceso de control es simple. Cuando un

usuario se presenta frente al robot, el sistema de reconocimiento deberá detectar su

rostro y tomarle 10 fotografías para aprender su rostro. Después el robot le pide el

nombre del usuario para utilizarlo como identificador, el objetivo de esta presentación

es que el robot entrene con las fotografías de las 3 personas. Posteriormente el

robot deberá buscar a las personas en un escenario parecido al de una casa,

cuando el robot encuentra una persona deberá tomarle 10 fotografías y compararlas

con las que se tiene en la base de rostros, el robot deberá identificar a las personas

con el nombre que se le dio previamente. La prueba termina cuando el robot

encontró a las 3 personas.

Figura 4.7: Aplicaciones del reconocedor de rostros en el robot Golem II.

Page 75: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

75

4.5.3 Análisis experimental.

Los experimentos iniciales de esta aplicación en laboratorio obtuvieron resultados

prometedores. Aproximadamente 3 usuarios ejecutaron series 10 de repeticiones de

reconocimiento con el robot, en estas 10 repeticiones el robot reconoció con un

porcentaje de 83.3 % de reconocimiento.

Page 76: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

76

Capítulo 5

CONCLUSIONES Y TRABAJOS FUTUROS

En este capítulo se presentan las conclusiones de esta tesis, y además, se

describen el trabajo futuro de esta investigación.

Page 77: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

77

5.1 Conclusiones.

Este trabajo ha sido realizado en el contexto de la Robótica, particular en el campo

de Visión Artificial. Su aporte fundamental es la implementación de un sistema de

reconocimiento visual de rostros para el robot de servicio Golem II, robot

conversacional desarrollado en el Departamento de Ciencias de la Computación del

Instituto de Investigaciones en Matemáticas Aplicadas y en Sistemas (IIMAS) de la

Universidad Nacional Autónoma de México (UNAM), como plataforma de soporte a

la investigación sobre la interacción entre humanos y robots, la inteligencia robótica y

la autonomía en los robots.

El sistema de reconocimiento visual de rostros ha sido integrado a la arquitectura

cognitiva, denominada modelos de diálogos, como un conjunto de habilidades que le

permiten al robot ejecutar en tiempo real y en forma autónoma las siguientes

acciones: detectar los rostros de la personas en escenas visuales, tomar imágenes

de los rostros detectados, construir modelos de los rostros a partir de estas

imágenes, almacenar en bases de datos tanto las imágenes tomadas, como los

modelos obtenidos de los rostros, y usar la información de los rostros capturados en

las imágenes para reconocer personas a través de la comparación de determinadas

características, propiedades y rasgos de la imagen facial, con los almacenados en

las bases de datos.

Para la detección de los rostros en imágenes, las habilidades aplican métodos

basados en los clasificadores en cascada que trabajan con características tipo Haar.

Para la extracción de características del rostro, construcción del modelo del rostro a

ser almacenado en la bases de datos y para el reconocimiento de rostros se

emplean el algoritmo eigenfaces.

Page 78: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

78

5.2 Trabajo Futuro.

Como trabajo futuro se propone:

Agregar el porcentaje de confiabilidad en el reconocimiento de rostro.

Diseñar un módulo de toma de decisiones en el reconocimiento de rostros, de

tal forma que pueda interactuar y recolectar mayor información del usuario,

cuando el nivel de confiabilidad del reconocimiento no es lo suficiente alto.

Optimizar el módulo de detección de caras, a fin de evitar las fallas y retardos

encontrados en los análisis experimentales.

Analizar y evaluar el comportamiento del sistema en condiciones de

iluminación no controlada, con el objetivo de evaluar el sistema de

reconocimiento de rostros.

Agregar un módulo de autoajuste de iluminación en el detector de rostros:

Permitiría controlar los cambios bruscos de iluminación en el ambiente.

Mejorar la detección de rostro incorporando color de piel del usuario: Daria

mayor confiabilidad en la detección de rostros evitando los falsos positivos

Incorporar diferentes posturas del usuario hacia la videocámara del robot en

el reconocimiento de rostros, reconocería personas de perfil y con oclusiones

parciales.

Convertir el sistema de identificación de rostros en un sistema bimodal: Un

sistema bimodal mejoraría la interacción con el usuario haciéndola más

natural la conversión, es decir, se podrá Interactuar en paralelo dos o más

agentes permitiendo obtener mayor información del usuario.

Page 79: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

79

Referencias

[Stuart 1995] Stuart Ressell, Peter Norvig: Artificial Intelligence a Modern Approach.

Ed. Prentice-Hall Edition, 2a ed. vol. II, New Jersey, (1995)

[Endel 1972] Endel Tulving: Episodic and Semantic. Ed. Academic Press Edition, 3er

ed. vol. III New York, (1972)

[Tim 2008] M. Tim Jones: Artificial Intelligence a Systems Approach. Ed. Infinity

Science Press Edition, 1era ed. New York, (2008)

[Louis 1998] Louis Leithold, El Cálculo. Ed. Oxford University Press, 7 ed. USA (1998)

[Enrique 2003] Enrique Sucar: Visión Computacional. Ed. Alfaomega, 1era ed.

Puebla, México, (2003)

[Rafael 2006] Rafael Valvert: Métodos y Técnicas de Reconocimiento de Rostros en

Imágenes Digitales Bidimensionales. Tesis licenciatura. Universidad de San Carlos,

Guatemala (2006)

[María 2009] María Esther García Chang: Diseño e implementación de una

herramienta de detección facial. Tesis maestría. Instituto Politécnico Nacional,

México (2009)

[Rafael 2005] Carlos Villegas Quezada: Reconocimiento de rostros utilizando análisis

de componentes principales: Limitaciones del algoritmo. Tesis maestría. Universidad

Iberoamericana, México (2005)

Page 80: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

80

[Danilo 2003] Danilo Simón Zorita: Reconocimiento automático mediante patrones

biométricos de huella dactilar. Tesis maestría. Universidad Politécnica de Madrid,

España (2003)

[Miguel 2009] Miguel Cortes Marlia: Reconocimiento de caras frontales mediante la

extracción de puntos característicos. Tesis licenciatura. Universidad Politécnica de

Madrid, España (2009)

[Diego 2006] Diego Xavier Gualle Calahorrano: Implementación de un sistema

distribuido de autenticación biométrica basada en la detección e identificación de

rostros humanos en imágenes extraídas de secuencias de video. Tesis licenciatura.

Instituto Politécnico Nacional, México (2006)

[Pedro 2003] Pedro Cruz Hernández: Identificación, caracterización y herencia de

microsatélites y su aplicación como marcadores moleculares en un programa de

mejoramiento de camarón blanco Litopenaeus vannamei. Tesis doctoral. Centro de

Investigaciones Biológicas del noroeste, S. C.,La Paz, B. C. S. (2003)

[Oscar 2008] Oscar Alfonso Sanhueza Riveros: Análisis y detección de características

faciales usando aprendizaje estadístico. Tesis licenciatura. Facultad de Chile,

Santiago de Chile (2008)

[Carlos 2006] Carlos Anguiano Guerrero: Análisis de características principales para

el reconocimiento de rostros en imágenes bidimensionales por computadora. Tesis

maestría. Instituto tecnológico de León, Guanajuato (2006)

[Ginés 2006] Ginés García Mateos: Procesamiento de caras humanas mediante

integrales proyectivas. Tesis doctoral. Universidad de Murcia, España (2007)

[Francisco 2002] Francisco Gonzalo Caceres Bascuñan: Reconocimiento de rostros

humanos basado en una red neuronal de retroprogramación. Tesis licenciatura.

Universidad Mayor, Santiago de Chile (2002)

Page 81: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

81

[Luis 2008] Luis Ernesto Castillo Faune: Optimización de métodos de compensación

de iluminación para reconocimiento de rostros. Tesis licenciatura. Universidad de

Chile, Santiago de Chile (2008)

[Rodrigo 2007] Rodrigo José Flores Medina: Detección de rostro mediante redes

neuronales MIN-MAX difusas. Tesis licenciatura. Universidad de Chile, Santiago de

Chile (2007)

[Guadalupe 2009] Guadalupe Sánchez Escribano: Sistema de visión para un robot

social. Tesis licenciatura. Escuela Técnica Superior de Ingenieros Industriales,

España (2009)

[Maritza 2008] Maritza Bracho de Rodríguez: Sistema de reconocimiento de rostros

para maggie. Tesis doctoral. Universidad Centro Occidental Lisandro Alvarado,

Venezuela (2008)

[Mikaela 2003] Mikaela B., Joaquín V., Marcelo P., Gabriel M., Daniela L.: Sistema de

Autentificación, Universidad de Palermo, Argentina (2003)

[Marta 2008] Marta, G., Julián, E., William, A.: detección de rostros en imágenes

digitales usando clasificadores en cascada, Universidad Tecnológica de Pereira,

Colombia (2008)

[Karla 2007] Karla R., Hugo B.: Reconocimiento de rostros utilizando una red

neuronal, Escuela Politécnica Nacional, Ecuador (2007)

[Eduardo 2007] Eduardo Z., Salvador D., Jaime G.: Experiencias en robótica social.

Interacción, motivación y aprendizaje, Universidad de Valladolid, España (2007)

[Antonio 2005] Antonio R., Francesc T.: Un nuevo método para la detección de caras

basado en integrales difusas. Universidad Politécnica de Catalunya, España (2005)

Page 82: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

82

[Aguerrebere 2003] C. Aguerrebere, G. Capdehourat, M. Delbracio, M. Mateu.:

Reconocimiento automático de caras. Universidad de Chile, Chile (2003)

[Heydi 2008] Heydi, M., Edel G., Reconocimiento de patrones. Centro de Aplicaciones

de Tecnologías Avanzadas, Cuba (2008)

[Carmen 2003] Carmen M., Olac F.: Reconocimiento de rostros usando datos no

etiquetados, INAOE, Puebla (2003)

[Heidy2010] Heidy, N., Alejandro M., Enrique R., Claudia L., Yisel D.: Algoritmo de

detección facial para sistemas de autenticación biométrica. Universidad de las

Ciencias Informáticas, Cuba (2010)

[Edwin 2008] Edwin, O., Henry A.: Reconocimiento de rostros utilizando PCA en

dispositivos DPS, Grupo de Investigación en Ingeniería Biométrica, España (2008)

[31] [Hyung 2007] Hyung C., Dong S.: Emotional head robot with behavior decision

model and face recognition, Universidad Nacional de Seúl, Corea del Sur (2007)

[Alex 1994] Alex P., Baback M.: View based and modular eigenspaces for face

recognition, Instituto Tecnológico de Massachusetts, USA (1994)

[Viola 2001] P. Viola, M. Jones: Rapid object detection using boosted cascade of

simple features, In Proceedings IEEE Computer Society Conference on Computer

Vision and Pattern Recognition, vol. 1, pp. 511‐ 518, Kauai, Hawaii (2001)

[Viola 2001] P. Viola, M. Jones: Robust real time object detection, In IEEE ICCV

Workshop on Statistical and Computational Theories of Vision, Vancouver (2001)

[Viola 2004] P. Viola, M. Jones: Robust Real‐Time Face Detection, International

Journal of Computer Vision, vol.57, no. 2, pp. 137‐154, (2004)

Page 83: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

83

[Canny 1986] J. Canny: A Computational Approach to Edge Detection, IEEE Trans.

on Pattern Analysis and Machine Intelligence, vol. 8, no. 6, pp. 679‐698, 1986.

Diseño e implementación de un herramienta de detección facial, CIDETEC 99

[Papageorgiou 1998] C. Papageorgiou, M. Oren and T. Poggio: A general framework

for object detection, in International Conference on Computer Vision, (1998)

[Lierhart 2002] R. Lienhart and J. Maydt: An extended set of Haar‐like features for

rapid object detection, in IEEE ICIP, vol. 1, pp. 900‐903, (2002)

[Crow 1984] F. C. Crow: Summed‐area tables for textures mapping, computer

Graphics, vol. 18, No. 3, (1984)

[Kanade 1973] T. Kanade: Picture Processing by Computer Complex and

Recognition of Human Face, Tesis doctoral, Universidad de Tokio, Japón (1973)

[Cox 1996] Cox, I., Ghosn, J., Yianilos, P.: Feature-based face recognition using

mixture distance, In: Proc. Int. Conf. Comput. Vis. Patt. Recogn. (1996)

[Samaria 1994] Samaria, F.: Face Recognition using Hidden Markov model, tesis

doctoral, Universidad de Cambridge, USA (1994)

[Kohir 2000] Kohir, V., Desai, E.: Face recognition, In Proc. Image Processing. (2000)

[Othman 2003] Othman, H., Aboulnasr, T.: A separable low complexity 2D HMM with

application to face recognition, IEEE Trans. Patt. Anal. Mach. Intell. 25 (2003) 1229-

1238

[Cootes 1995] Cootes, T., Taylor, C., Cooper, D., Graham, J.: Active shape models

their training and application, Computer Vision and Image Understanding 61 (1995)

[Kirby 1990] M. Kirby and L. Sirovich: Application of the Karhunen–Loe procedure for

the characterization of human faces, IEEE Trans. Pattern Anal. Machine Intell (1990)

Page 84: Capítulo 1 Introducción - Grupo Golemgolem.iimas.unam.mx/pubs/lee_thesis_2011.pdf · Métodos que utilizan redes neuronales. ... robot real que aprenda visualmente rostros en línea

84

[47] [Matthew 1991] Matthew A. Turk and Alex P. Pentland: Face Recognition Using

Eigenfaces, Vision and Modeling Group, T, USA (1991)

[Vaishak 2009] Vaishak B., Thomas D., Stefan S.: Randomized Trees for Real-Time

One-Step Face Detection and Recognition, Computer Science Departament,

Inglaterra (2009)

[Marcelo 2006] Marcelo Armengot: Análisis comparativo de métodos basado en

subespacios aplicados al reconocimiento de caras, Universidad de Valencia, España

(2006)

[Marta 2008] Marta G., Julian E., William U.: Detección de Rostros en Imágenes

Digitales Usando Clasificadores en Cascada, Universidad Tecnológica de Pereira,

Colombia (2008)

[Deyvi 2009] Deyvi S.: Reconocimiento de Patrones, Universidad Nacional de San

Agustin, Perú (2009)

[Luis 2010] Luis P., Ivan M. y Lisset P.: Dialogue Model Specification and Interpretation

for Intelligent Multimodal HCI, UNAM, México (2010)

[Luis 2009] Luis P.: The Corpus DIMEx100: transcription and Evaluation. Language

Resources and Evaluation, UNAM, México (2009)

[Luis 2011] Luis P., Ivan M., Lisset P. y Héctor A.: A Multimodal Dialogue System for

Playing the Game Guess the Card, Procesamiento de Lenguaje Natural. Bahía

Blanca, Argentina (2010)

[Héctor 2006] Héctor Hugo Avilés Arriaga: Reconocimiento Visual de Ademanes

Aplicado a Robot Móviles, ITESM, México (2006)

[James 2000] James A.: An Architecture for a Generic Dialogue Shell.

Natural Language Engineering, Universidad de Cambridge, USA (2000)