Upload
phamcong
View
220
Download
3
Embed Size (px)
Citation preview
1
Project Glass: Realidad aumentada, reconocimiento de imágenes y reconocimiento de voz.
Lucas García Ing. Superior De Telecomunicación
Universidad Carlos III de Madrid [email protected]
Paloma Jimeno Ing. Superior De Telecomunicación
Universidad Carlos III de Madrid [email protected]
Leticia C. Manso Ing. Superior De Telecomunicación
Universidad Carlos III de Madrid [email protected]
Abstract
Después de la presentación del Project Glass de Google sobre sus
gafas de realidad aumentada nos planteamos las tecnologías
necesarias para el desarrollo de este dispositivo. Este es el
objetivo del siguiente escrito, profundizar en las tecnologías de
reconocimiento de voz y de imágenes y de su integración y
utilización para un dispositivo de Realidad Aumentada.
Tras una breve introducción a cerca de las gafas de Google, se
explicarán conceptos sobre realidad aumentada relacionándolas
con el proyecto, sobre reconocimiento de imágenes y voz. Por
último se hará una mención sobre redes neuronales, base de las
dos tecnologías de reconocimiento explicadas.
PALABRAS CLAVE
Realidad aumentada, imagen virtual, GPS,marcadores, pantalla
transparente, HDM, patrón, sensor, clasificador, OSR, biometría,
RGB, entrenamiento, modelo oculto de Markov, aprendizaje
inductivo, Redes Neuronales, Perceptrón Multicapa (MLP),
Backpropagation.
1. INTRODUCTIÓN
El 27 de Junio de 2012 Sergey Brin, cofundador de Google junto
con otros integrantes corporativos del proyecto Project Glass,
presentaron sus gafas de realidad aumentad.
Este proyecto entra dentro de Google X Lab, departamento cuya
función es desarrollar tecnologías avanzadas e innovadoras.
El propósito principal de este dispositivo se identifica con la de un
Smartphone pero evitando el uso de las manos para las acciones
interactivas. ¿Cómo? Haciéndolas innecesarias y sustituyéndolas
mediante comandos de voz (parecido a Siri de Mac), lectura de
imágenes o incluso parpadeos. Es necesario decir que aun así, se
sigue disponiendo de un controlador táctil integrado en una de las
patas de las gafas.
Una de las aplicaciones integradas más destacadas tanto en el
vídeo promocional como en la presentación es la de poder realizar
una navegación interactiva incluyendo elementos virtuales en el
campo visual del usuario para ayudarle y marcarle el camino. Con
este ejemplo, queda clara los puntos clave del aparato: la
integración de una pantalla de mezcla de imágenes que no llegue a
molestar al cliente y la necesidad de precisión para un correcto
posicionamiento.
Figura 1
Para la primera parte, fue BabakParviz, ingeniero eléctrico. Para
la segunda, Google contó con Steve Lee, especialista en
geolocalización y jefe del proyecto.
Aparte de una pantalla sobre el ojo que se encargará de
sobreponer las figuras virtuales, las gafas integran una cámara de
fotos y de vídeo, micrófonos para capturar voz y una superficie
táctil en uno de los laterales para los controles.
En su comercialización se deberá estudiar las prioridades en
cuanto a que las gafas realizan notificaciones que dependiendo de
la situación pueden ser innecesarias, molestas o incluso
peligrosas.
En la presentación, se usaron vídeos promocionales que
potenciaban el hecho de disponer de una cámara integrada en
situaciones tales como salto en paracaídas. Aunque algo
sensacionalista, se entiende que no se publicita el hecho de tener
un dispositivo de captura de imágenes adaptado a la situación
(problema que ya ha sido solucionado con cámaras integradas en
2
diademas), sino de disponer de una cámara en todo momento en
un formato ligero sin necesidad de un aparato específico.
Al estar desarrolladas en Android y dado a que se plantea como
un sustituto de los Smartphone basados en dicho software, las
gafas se podrán manipular a través de los móviles. En nuestra
opinión, esta posibilidad se podría haber añadido como puente
para los clientes menos atrevidos y más asentados en la actual
modalidad de dispositivos celulares.
Para poder desarrollar la tecnología de Realidad aumentada, y
aunque no se especificó en la presentación, se supone que también
tendrá sensores como giroscopios, GPS, Etc...para saber la
posición y su movimiento.
Figura 2
En resumen, en cuánto a tecnología, las gafas dispondrán de:
Control táctil
Reconocimiento de voz (micrófono)
Controlador a través de Smartphone Android
Acelerómetros y giroscopios
GPS
Batería integrada en la patilla
Almacenamiento interno
Aunque en el 2013 las gafas estarán disponibles por 1500 $ para
los desarrolladores, su comercialización no se prevé hasta el 2014.
La patente de estas gafas ya fue fijada para Google.
2. REALIDAD AUMENTADA
La realidad aumentada puede definirse de varias formas. En este
trabajo asumiremos que es un sistema capaz de aumentar la
percepción de la realidad a través de la implementación de
elementos virtuales en la misma. Estos elementos virtuales pueden
ser nuevas imágenes, sonidos o vídeos que se colocan junto a la
imagen tomada de la realidad o en sustitución de ella.
Se podría clasificar una tecnología de realidad aumentada aquella
que:
− Combina mundo real y mundo virtual.
− Es interactivo en tiempo real.
− Se registra en 3 dimensiones.
Figura 3
Con la figura 1 ejemplificamos las tres características relacionadas
con la tecnología de realidad aumentada: se diferencian los
elementos virtuales añadidos a la imagen real de la carretera, se
intuye que la imagen se modificará con el movimiento del
usuario, y tiene carácter tridimensional por la naturaleza de su
funcionamiento.
Para poder desarrollarla deberemos recoger información sobre el
mundo real (una imagen, posicionamiento, fotografía o vídeo ),
conseguir procesarla a través de software (reconocimiento de
patrones o de imágenes en el caso de que la información sea una
imagen), mezclar de forma sintética la información que tenemos
con la imagen real y proyectar la síntesis de ambas. La imagen
que se toma no tiene por qué tener una relación coherente con la
información que vayamos a mezclar con ella. Podremos utilizar
marcadores (hojas de papel con símbolos, ejemplificado en la
figura 2) y relacionarlos con información determinada sobre algo
que aparentemente no tiene conexión. El uso de marcadores o no
marcará una clasificación de la tecnología RA y se detallará más
adelante (2.5).
Figura 4
2.1 Realidad aumentada VS realidad virtual
Aunque parezca que este apartado pierda relación con el hilo del
trabajo, responde a una necesidad, ya que es muy común que se
confundan estas dos tecnologías. Para entender la diferencia entre
ambas, vamos a proceder a definir el término de realidad virtual
(RV). “Realidad virtual” es definido como el campo interactivo
generado por un computador en dónde un elemento real, por lo
general el usuario, es introducido, participando en él en tiempo
real.
La clave es la participación que tiene lo real dentro del producto
final de la tecnología de la que hablemos. En la realidad
aumentada (RA) se mantiene en el sistema la presencia de la
imagen real siendo la información virtual añadida y combinada la
que amplia el valor de la misma. Por el contrario, en la realidad
3
virtual, el usuario es el que se encuentra en un mundo totalmente
no real controlado por el ordenador.
Del mismo modo, en RA se nos permitirá interactuar con
elementos reales, mientras que en un sistema RV toda
modificación que hagamos del entorno no afectará a ningún
elemento real sino imaginario.
Otra forma de explicarlo es que la RV remplaza la realidad con
ficción, mientras que la RA le añade elementos virtuales
aumentando la visión que el usuario tiene de ella.
Con la siguiente figura 3, nos haremos una idea de hasta qué
punto se parecen y a la vez se diferencian la tecnología RA y RV.
Figura 5
2.2 Historia
Para contar los principios de la realidad aumentada, deberemos
contar con la fuerte relación que tiene con la realidad virtual.
Explicaremos desde los hitos más importantes de su desarrollo:
50´s-60´s nace la idea de crear un mundo diferente al
real, una realidad virtual.
1962, Morton Heilig, director de fotografía, tras escribir
sobre ‘Cine de experiencia’, crea ‘Sensorama’ con cinco
filmes a las que se le añade efectos de vibración, olfato
y sonidos. La figura 4 nos da una idea de cómo era el
dispositivo.
Figura 6
1966 Ivan Sutherland con su ayudante Bob Sproul
construyeron lo que será el primer visor virtual montado
en la cabeza (Head Mounted Display, HMD, modelo
estudiado en el apartado 2.6). El interfaz era pésimo y
los gráficos eran modelos de alambre. Además el
instrumento era pesado y debía de colgarse del techo
como en la siguiente figura 5:
Figura 7
En 1975, Myron Krueger, un laboratorio de VR
llamado ‘Videoplace’, donde se crea un sistema en el
cual los usuarios permiten interactuar con objetos
virtuales.
A finales de los 80 se popularizo el término Realidad
Virtual por Jaron Lanier, cuya compañía fundada por él
(VPL Research) creo los primeros guantes y anteojos de
Realidad Virtual (figura 6).
Figura 8
El termino Realidad Aumentada fue introducido por el
investigador Tom Caudell en Boeing, en 1992. Caudell
tuvo que configurar los tableros de los trabajadores, y
encontró como solución crear unos tableros virtuales
sobre los reales genéricos. El término Realidad
Aumentada fue dado al público en un paper en 1992.
En 1992 Steven Feiner, Blair MacIntyre y Doree
Seligmann crean un prototipo de sistema realidad
aumentada llamada KARMA.
En 1999 Hirokazu Kato desarrolla ARToolKit en
HitLab.también realidad aumentada.
En los años 2000’s los avances en los sistemas
informáticos hacen que se desarrolle al máximo la
realidad aumentada.
En el año 2000, Bruce H. Thomas da a conocer el
primer juego al aire libre con dispositivos móviles de
realidad aumentada ARQuake.
A finales del 2008 Android saca a la ventaWIkitude
Guía (figura 7), una aplicación para viajes y turismo
basada en sistemas deGPS, brújula digital, sensores de
4
orientación y acelerómetro, mapas,video y contenidos
informativos de la Wikipedia, desarrollada para la
plataformaAndroid.
Figura 9
Finalmente, en el año 2009 se estandariza la
tecnología RA y se identifica con el siguiente
logo:
Figura 10
En el 2012 Google diseñan las google glasses
bautizando su proyecto como Project Glass. 2014 será el
año de su comercialización.
2.3 Funcionamiento
El siguiente esquema explica a través de un tipo de aplicación de
RA (figura 9, toma y salida de vídeo, no de imagen) las partes que
componen el proceso general.
Figura 11
1. Se toma a través de un dispositivo una imagen fija o un
vídeo del mundo real. Dependiendo de la aplicación de
la que estemos hablando podríamos necesitar
información sobre posición (GPS) sumada a la imagen,
o en exclusividad. Se explicará en el apartado de
aplicaciones de RA.
2. A través de la toma del apartado uno se produce un
reconocimiento de imagen (Graphics System) que da
lugar a un objeto virtual.
3. Se combina o se modifica, según la aplicación
desarrollada lo virtual como lo real creando un objeto
aumentado.
4. Se muestra a través de un dispositivo monitor el vídeo o
la imagen de realidad aumentada. El modo en la que se
muestre dará lugar a las tres arquitecturas de
dispositivos RA que se comentarán más adelante, tanto
en el apartado de arquitecturas (2.6) como en el de
pantallas transparentes (2.4).
Tal y como se ha hecho mención al comienzo de esta parte del
escrito, el uso de marcadores en esta tecnología es lo más común,
aunque como se explicará en el apartado de aplicaciones (2.7)
existen desarrolladas muchas de ellas como las de
posicionamiento que basan su funcionamiento más en la
información de GPS que en la imagen propia de la realidad que
pueda obtener el dispositivo de entrada.
Otro tipo de tecnología que no necesita de toma de imagen es la
HOE (Holographic optical element), que explicaremos en el
siguiente apartado dentro de pantallas transparentes, cuyas
aplicaciones se conocen como SAR.
2.4 Pantallas transparentes en AR
Las pantallas transparentes son una de las formas de presentar la
imagen aumentada combinación del mundo real con objetos
visuales al usuario.
Existen dos tipos: pantalla de mezcla de imágenes y pantalla
óptica transparente.
El primer tipo de pantalla es la que típicamente se utiliza en los
dispositivos HMD o los dispositivos de mano (Smartphone, iPod,
cascos monitores (2.6)). Con ella los gráficos virtuales se integran
con las muestras visuales reales obtenidas por la
5
cámaraactualizando las imágenes finales a través de un sistema de
rastreo continuo.
El segundo tipo de display se basa en la tecnología HOE
(holographic optical element) basado en los hologramas. En este
sistema no existe rastreo ni grabación, sino que el usuario verá
diferentes imágenes dependiendo de la posición que tenga con
respecto la pantalla.
Este sistema se basa en la muestra simultánea de imágenes desde
diferentes ángulos sobre la pantalla HOE. Así son visibles solo
dentro de pequeños ángulos de visión y así el usuario puede ver
mirando hacia el mismo punto diferentes imágenes según la
posición relativa con respecto a él. Si las imágenes seleccionadas
pertenecen a la misma imagen y siguen un orden coherente, se
conseguirá un holograma, tal y como indica la tecnología HOE
holographic optical element. Estas aplicaciones se denominan
también SAR (space augmented reality).
2.5 Tipos de aplicaciones RA
De forma general podríamos dividir las aplicaciones que usan RA
en dos: las que usan marcadores y las que no. Las tecnologías que
no usan marcadores o trackers se valen de GPS o acelerómetros,
brújulas y se denominan track-less.
En la siguiente imagen se podrá ver un ejemplo de un marcador:
Figura 12
Las aplicaciones con marcadores basan su funcionamiento en el
reconocimiento de patrones buscándolos en los distintos
fotogramas que toman de la realidad. Cuando reconoce uno de los
patrones toma su objeto virtual relacionado y hace que se muestre
sobre el marcador.
La aplicación que se desarrolla en Project Glasses de Google es
trackless. Aunque la información que se encuentra de su
desarrollo es limitada, intuimos y asumimos en este trabajo que
hace uso de la información obtenida por el GPS integrado en ella
y de un sistema de reconocimiento de caracteres y de imágenes.
Con esta última se interpretará escritos u objetos que se muestren
a la aplicación y a partir de su interpretación se nos ofrecerá
posibilidades relacionadas.
Del mismo modo que las aplicaciones que hacen uso de
marcadores, a partir de la información obtenida por los periféricos
asociados (lectura de caracteres o GPS por ejemplo) el sistema
mezcla virtual con real. Es de apreciar que al no tener que
procesar imágenes se gasta menos esfuerzo en el microprocesador
pero se antoja más compleja la unión de los elementos añadidos.
Podemos asociar de forma genérica que las aplicaciones trackless
están desarrolladas en dispositivos móviles, mientras que los que
usan marcadores están relacionados aelementos tales como PC´s o
más fijos como lectura delibros (figura 11).
Figura 13
2.6 Arquitecturas RA
La parte que hará diferenciar las tres arquitecturas que puede tener
un dispositivo AR será la forma de mostrar al usuario la imagen
final:
Lentes reflectantes (sistema óptico)
Cascos con monitores (sistema de vídeo)
Monitores (sistema de vídeo)
2.6.1 Lentes reflectantes
En esta arquitectura, los objetos virtuales se sobreponen en la
visión real del mundo a través de una lente. Esta lente transparente
deja pasar del 50% al 30% de la luz real (dependiendo de la
longitud de onda con que la luz incida en ella) y refleja la imagen
del monitor.
Como se puede observar en la imagen, la información añadida a la
imagen real aumentada no se toma de una visualización del
mundo, sino del Head Tracker (rastreador), que aporta
información sobre la posición del usuario. Este rastreador es
importante para generar la imagen 3D y que esta se mueva dando
la sensación de ser fija para el observador.
Figura 14
6
2.6.2 Cascos con monitores
A diferencia del anterior la imagen se compone antes de mostrarse
al usuario a través de un monitor.
Figura 15
Aunque en la imagen las flechas hacen pensar que el generador de
objetos añadidos no necesita de imágenes del exterior, se da el
caso en el que a parte del rastreador en el HMD o un sistema GPS,
el generador de imagen necesite de una toma de la realidad, por
ejemplo, para interpretarla y traducirla (marcadores, por ejemplo).
Aunque el uso más común de esta arquitectura usa el
posicionamiento del usuario en el mundo real.
Esta arquitectura es la que se desarrolla en las Google Glasses.
2.6.3 Monitores externos
Figura 16
La última arquitectura de RA que presentamos en este trabajo es
parecida a la anterior, pero sin tener integrado el monitor ni la
cámara de toma de realidad en un casco.
La posición de estos elementos en esta arquitectura es remota.
Su funcionamiento es igual que la anterior: a través de una cámara
se toman imágenes reales que se interpretarán y combinaran para
generar una visión aumentada. Podrá usar o no un elemento de
posicionamiento, tal y como se ha dicho anteriormente, pero en
esta arquitectura es más común que no la necesite. La tecnología
de los marcadores es más típica en esta arquitectura.
2.7 Aplicaciones RA
2.7.1 Sistemas de navegación:
Los famosos sistemas de navegación por GPS han dejado el uso
de los mapas atrás. Estos sistemas han sufrido un gran avance en
los últimos y hoy en día se consideran casi necesarios.
En este campo, la RA podría ser un paso más pudiendo proyectar
directamente los gráficos en nuestro parabrisas añadiendo
información relevante a la misma sobre sitios de interés cercanos
a nuestro camino. La empresa General Motors ya está trabajando
en una aplicación así.
Si pasamos esta idea a un dispositivo móvil y autónomo como un
Smartphone o las gafas Google, podremos ver que el uso en
ambientes no automovilísticos se encuentra más desarrolladas este
tipo de aplicaciones, haciendo de un paseo un posible camino
turístico o un callejero virtual. .
2.7.2 Televisión
Las grandes y costosas escenografías y utilerías podrían ser
remplazadas algún día por esta tecnología de vanguardia,
sustituyendo costosos atrezos en fondos “macros” en los que se
podrá proyectar imágenes 3D con las distintas escenas que se
necesiten.
Obviamente cualquier uso de RA como entretenimiento o valor
añadido de todo tipo, también estará incluido en este ámbito.
2.7.3 Medicina
Figura 17
En este ámbito por ejemplo sería de utilidad que durante una
operación, el doctor pudiera disponer de información útil sobre
anteriores pruebas médicas tales como resonancias, pudiendo
7
sobreponerla en el paciente teniendo una mejor idea del problema
médicoque va a tratar. O saber las constantes vitales o parámetros
vitales de los órganos de los pacientes durante la operación sin
tener que apartar su mirada del paciente y sin ayudantes médicos.
2.7.4 Educación
Para explicar la utilidad que la RA puede ofrecer a la educación
usaremos el famoso dicho: una imagen vale más que mil palabras.
Y si es en 3D, mejor.
Tanto en museos como en aulas y libros imágenes aumentadas
en 3d pueden ayudar sobremanera al aprendizaje de los niños.
Figura 18
Además, existen libros llamados “IMagic Books” con marcas de
RA que permiten visualizar una escena completa virtual como si
fuera una obra de teatro en miniatura.
2.7.5 Entretenimiento
En este campo el uso de la realidad aumentada ya esta
ampliamente desarrollada. Empresas como Sony con Eyetoy para
la PS2 a través de una cámara permiten interactuar con el juego.
Nintendo con su 3DS también ha desarrollado juegos en los que a
través de marcadores que el usuario disponía se le añadía un extra
a la realización de misiones que protagonista debía de superar.
Figura 19
Los dispositivos móviles tales como PDAs o Smartphone
también poseen aplicaciones de entretenimiento desarrolladas en
parte por la tecnología RA.
Figura 20
2.7.6 Otras aplicaciones
Entre otras aplicaciones actuales podemos citar:
• Servicios militares y de emergencia (instrucciones, mapas,
localización de enemigos, células de fuego, etc.).
· Publicidad en 3D.
• Visualización de arquitectura (visión virtual de edificios
destruidos o simulación de planes de proyectos de construcción).
8
Figura 21
• Visión aumentada: etiquetas o cualquier texto relacionado a
objetos o lugares, reconstruir ruinas, edificios o inclusive paisajes
como eran en el pasado.
• Simulación: simuladores de vuelo y de automóviles (coches,
autobuses, camiones).
• Conferencias con participantes reales y virtuales, trabajo en
conjunto con modelos simulados 3D.
2.7.7 Aplicaciones en dispositivos móviles
Hoy en día las aplicaciones más populares y utilizadas son las que
se ven integradas mediante software como los de google
(Android) o los de Apple.
Se tratará de aplicaciones sin marcadores, con pantalla
transparente de mezcla de imágenes y según su arquitectura, con
monitor externo, el propio dispositivo móvil.
En este apartado elegiremos las cinco mejores según
(REFERENCIA):
Layar: Se creo como navegador especial para RA. La
aplicación permite ir añadiendo capas con información
de la imagen tomada. Existen 312 capas diferentes,
desde una que te permite ver los Tweets más cercanos,
hasta consultas a Wikipedia, o restaurantes cercanos.
Está disponible en Android y es gratuita.
TwittARound: Al igual que una de las capas de Layar,
puedes observar los tweets publicados cerca de tu
posición. Fue desarrollada por Michael Zoellner,alemán.
Está para iPhone y no es gratuita pero tampoco cara,
0.99 $.
Wikitude World Brownser : Aplicación preferida por
Augmented planet para móviles. Persigue al igual que
Wikipedia, llegar a ser la enciclopedia del nuevo siglo.
TAT augmented ID : Ya no es la posición quien es
estudiada, sino la persona a la que haces una fotografía.
A través de ella, la aplicación es capaz de dar datos de
la persona. Criticada porque limita con la privacidad del
individuo.
Yelp Monocle: Sirve para buscar información sobre
locales, comercios restaurantes,…Tiene rasgos de red
social , donde los usuarios puntúan y opinan acerca de
los lugares cercanos a tu posición.
3. RECONOCIMIENTO DE IMÁGENES
3.1 Historia
En la década de los 60, en el MIT se comienza a estudiar la visión
artificial, lo que implicaba no solo captar imágenes a través de una
cámara, sino también la comprensión de lo que estas imágenes
representa.
Desde ese momento se ha ido desarrollando la tecnología, y en los
últimos años este ámbito ha evolucionado mucho, surgiendo
multitud de aplicaciones que utilizan software de reconocimiento
de imágenes.
3.2 Reconocimiento de patrones
Para explicar el reconocimiento de imágenes primeramente se
hace imprescindible a nuestro entender realizar una breve
descripción del reconocimiento de patrones, que es la base en la
que se sustenta el reconocimiento de imágenes.
El objetivo del procesamiento e interpretación de datos sensoriales
es lograr una descripción concisa y representativa del universo
observado. La información de interés incluye nombres,
características detalladas, relacionamientos, modos de
comportamiento, etc. que involucran a los elementos del universo
(objetos, fenómenos, conceptos).
Estos elementos se perciben como patrones y los procesos que
llevan a su comprensión son llamados procesos perceptuales. El
etiquetado (clasificación, asignación de nombres) de esos
elementos es lo que se conoce como reconocimiento de patrones.
Por lo tanto, el reconocimiento de patrones es una herramienta
esencial para la interpretación automática de datos sensoriales.
El sistema nervioso humano recibe aproximadamente 109 bits de
datos sensoriales por segundo y la mayoría de esta información es
adquirida y procesada por el sistema visual. Análogamente, la
mayoría de los datos a ser procesados automáticamente aparecen
en forma de imágenes.
El procesamiento de imágenes de escenas complejas es un
proceso en múltiples niveles, en el que hay dos tipos de
metodologías necesarias:
Reconocimiento de patrones basado en atributos
Reconocimiento de patrones basado en la estructura
3.2.1 Modelo de reconocimiento de patrones
Los procesos perceptuales del ser humano pueden ser modelados
como un sistema de tres estados:
9
Adquisición de datos sensoriales
Extracción de características
Toma de decisiones
Por lo tanto es conveniente dividir el problema del
reconocimiento automático de una manera similar:
La figura 22 anterior presenta el esquema básico de un
reconocimiento de patrones
Sensor Su propósito es proporcionar una representación factible
de los elementos del universo a ser clasificados. Es un sub-sistema
crucial ya que determina los límites en el rendimiento de todo el
sistema.
Idealmente uno debería entender completamente las propiedades
físicas que distinguen a los elementos en las diferentes clases y
usar ese conocimiento para diseñar el sensor, de manera que esas
propiedades pudieran ser medidas directamente. En la práctica
frecuentemente esto es imposible porque:
no se dispone de ese conocimiento
muchas propiedades útiles no se pueden medir
directamente (medición no intrusiva)
no es económicamente viable
Extracción de Características Esta etapa se encarga, a partir del
patrón de representación, de extraer la información
discriminatoria eliminando la información redundante e
irrelevante. Su principal propósito es reducir la dimensió del
problema de reconocimiento de patrones.
Clasificador La clasificación trata de asignar las diferentes partes
del vector de características a grupos o clases, basándose en las
características extraídas. En esta etapa se usa lo que se conoce
como aprendizaje automático, cuyo objetivo es desarrollar
técnicas que permitan a las computadoras aprender.Utiliza
habitualmente uno de los siguientes procedimientos:
▪ Geométrico (clustering): Los patrones deben ser
mostradas en gráficas. En éste enfoque se emplea el
cálculo de distancias, geometría de formas, vectores
numéricos, puntos de atracción, etc.
▪ Estadístico: Se basa en la teoría de la probabilidad y la
estadística, utiliza análisis de varianzas, covarianzas,
dispersión, distribución, etc.
Supone que se tiene un conjunto de medidas numéricas con
distribuciones de probabilidad conocidas y a partir de ellas se hace
el reconocimiento.
▪ Sintáctico estructural: se basa en encontrar las
relaciones estructurales que guardan los objetos de
estudio, utilizando la teoría de lenguajes formales, teoría
de autómatas, etc. El objetivo es construir una gramática
que describa la estructura del universo de objetos.
▪ Neuro reticular: se utilizan redes neuronales que se
‘entrenan’ para dar una cierta respuesta ante
determinados valores.
▪ Lógico combinatorio: se basa en la idea de que el
modelado del problema debe ser lo más cercano posible
a la realidad del mismo, sin hacer suposiciones que no
estén fundamentadas. Se utiliza para conjuntos difusos y
utiliza lógica simbólica, circuitos combinacionales y
secuenciales, etc.
Según tengamos constancia o no de un conjunto previo que
permita al sistema aprender, la clasificación puede ser
supervisada, parcialmente supervisada o no supervisada.
a) Clasificación supervisada: muy conocida también como
clasificación con aprendizaje. Está basada en la capacidad de las
áreas de entrenamiento. Éstas son áreas de las que se conoce a
priori la clase a la que pertenecen, y que se utilizarán para generar
una signatura espectral para cada una de las clases. Se denominan
clases informacionales, en contraposición a las clases espectrales
que genera la clasificación no supervisada.
La figura 23 presenta un esquema de esta clasificación:
Algunos métodos de la clasificación supervisada:
Funciones discriminantes: si son dos clases, se busca obtener
una función g tal que para un nuevo objeto O, si g(O) ≥ 0 se
asigna a la clase 1 y en otro caso a la 2. Si son múltiples
clases se busca un conjunto de funciones gi y el nuevo objeto
se ubica en la clase donde la función tome el mayor valor.
Vecino más cercano: un nuevo objeto se ubica en la clase
donde esté el objeto de la muestra original que más se le
parece.
Redes neuronales artificiales: denominadas habitualmente
RNA o en sus siglas en inglés ANN. Se supone que imitan a
las redes neuronales reales en el desarrollo de tareas de
aprendizaje.
b) Clasificación no supervisada: este tipo de clasificación no
utiliza información externa, y realiza un ajuste automático de los
parámetros. Además, se produce una autoorganización de la
información.
La figura 24 presenta un esquema de esta clasificación:
Figura 23
Figura 22
Figura 23
10
3.3 Campos de reconocimiento
El reconocimiento de imágenes ha evolucionado a medida que
mejora la tecnología. Puede encontrarse en numerosos campos.
3.3.1 Reconocimiento de caracteres
En los últimos años la digitalización de la información (textos,
imágenes, sonido, etc.) ha devenido un punto de interés para la
sociedad. En el caso concreto de los textos, existen y se generan
continuamente grandes cantidades de información escrita,
tipográfica o manuscrita en todo tipo de soportes. En este
contexto, poder automatizar la introducción de caracteres evitando
la entrada por teclado, implica un importante ahorro de recursos
humanos y un aumento de la productividad, al mismo tiempo que
se mantiene, o hasta se mejora, la calidad de muchos servicios.
El reconocimiento de caracteres engloba un conjunto de métodos
y algoritmos que permiten realizar una fase de entrenamiento que
al final permitirá reconocer de forma automática caracteres. Cabe
recalcar que el reconocimiento de caracteres no solo se utiliza
para reconocimiento de textos escritos, sino que además tiene
muchas otras aplicaciones:
Reconocimiento de texto manuscrito
Reconocimiento de matrículas
Indexación en bases de datos
Reconocimiento de datos estructurados con ROC Zonal
3.3.2 Identificación de personas para investigaciones
policiacas
Aunque las técnicas aun están en desarrollo en este campo, y aun
no existe una aplicación totalmente confiable, es evidente la
importancia del reconocimiento de imágenes para la identificación
de personas en investigaciones policíacas. Muchas veces en
investigaciones de crímenes un testigo puede describir con mucho
detalle el rostro de un criminal. Un dibujante profesional convierte
la descripción verbal del testigo en un dibujo sobre papel. El
trabajo de la computadora consiste en buscar el rostro del criminal
en una base de datos de imágenes. En las investigaciones
policíacas también se utiliza la búsqueda de huellas dactilares en
una base de datos.
3.3.3 Biometría
La biometría es el reconocimiento del cuerpo humano a través de
ciertas características físicas, como el tamaño de los dedos de la
mano, las huellas dactilares o los patrones en las retinas de los
ojos.
Los sistemas de computadoras actuales permiten tener mejores
niveles de seguridad utilizando la biometría. Por ejemplo, una
persona puede tener acceso a un área restringida, por medio del
reconocimiento de las características físicas de su mano en un
dispositivo especial. Si en el proceso de validación se verifica que
la persona tiene permiso para entrar al área, entonces le permitirá
el acceso. Este tipo de sistemas se está volviendo cada vez más
utilizado, desplazando los sistemas antiguos de identificación.
3.4 Reconocimiento de imágenes
3.4.1 Representación de colores en imágenes
digitales
Normalmente, los colores primarios son el rojo, el amarillo y el
azul, y a partir de la mezcla de estos se crean los otros colores. Sin
embargo, en las imágenes digitales los colores primarios son el
rojo (Red), el verde (Green) y el azul (Blue) y se utilizan las
intensidades de luz para obtener nuevos colores. Esto dio lugar al
sistema RGB.
Una imagen digital está compuesta por una matriz bidimensional
de elementos RGB. En imágenes digitales de color verdadero, se
utilizan 8 bits (1 byte) para representar la intensidad de cada
componente o canal de color, y por ser 3 componentes por color,
se necesitan 24 bits (3 bytes) para formar un solo color, lo que es
equivalente a un píxel. Entonces, una imagen de 10 x 10 píxeles
utiliza 2400 bits, o sea, 300 bytes.
Siguiendo el esquema de 1 byte por cada componente o canal, y
sabiendo que el valor máximo que puede ser representado por 1
byte es 255, la intensidad de una canal está en un rango de 0 a
255, por lo que un píxel estará compuesto por tres diferentes
intensidades de R, G y B en un rango de 0 a 255.
En el sistema RGB el blanco es RGB (255, 255, 255) y el negro es
RGB (0, 0, 0), donde cada dato entre paréntesis representa las
intensidades de cada uno de los canales RGB. RGB(255,0,0),
RGB(0,255,0) y RGB(0,0,255) representan el rojo, el verde y el
azul respectivamente. Al mezclar el color rojo con el azul se
obtiene el obtiene el color morado, RGB(255, 0, 255). Se pueden
crear todos los colores disponibles variando las intensidades de las
componentes RGB.
3.4.2 Funcionamiento
La función diferenciaes la base del reconocimiento de imágenes;
indica la distancia entre dos imágenes.
Esta función indica que tan diferentes son dos imágenes. Si el
valor de la función diferencia es cero significa que las imágenes
son idénticas. Entre más grande es el valor de la función,
lasimágenes son más distintas entre si. La mejor imagen será
aquella que dé el menor valor al ser comparada con el cuadro de
la imagen original utilizando la función diferencia. Esta es la parte
más importante del proceso, por lo que en la implementación esta
función debe ser especialmente eficiente.
Existen diversas estrategias para reconocimiento de imágenes
digitales de acuerdo al tipo de aplicación y de los recursos del
sistema.
La manera más directa de comparar la imagen original con una
colección de imágenes, es comparar cada píxel del cuadro de la
imagen original con su correspondiente píxel en la imagen de la
colección imágenes, y acumularlas distancias entre cada pareja de
11
píxeles para determinar la distancia general entre las dos
imágenes. Aunque esta es una estrategia relativamente buena para
comparar imágenes, la cantidad de comparaciones necesarias es
muy grande. Por cada comparación debe calcularse la distancia
entre los píxeles de las dos imágenes y por cada pareja de píxeles
debe compararse cada uno de los tres canales RGB.
3.4.2.1 Método lineal
La distancia D entre dos píxeles está dada por:
( ) ( ) ( ) Esta distancia es calculada por cada píxel y por cada canal de
color en lasimágenes comparadas. En la figura 25 se presenta un
pequeño algoritmo de este método:
3.4.2.2 Método cuadrático
Se puede acentuar el efecto de la diferencia de cada píxel
utilizando una diferencia cuadrática o distancia euclidiana.
√( ) ( ) ( )
Este requiere más procesamiento que el método lineal pero es el
más utilizado por la calidad de sus resultados. Puede acentuarse
aun mas la diferencia utilizando diferentes potencias en la
fórmula, pero usualmente no es necesario. En la figura 26 se
presenta un pequeño algoritmo de este método:
Como aclaración, en estos dos métodos presentados asumimos
que las dos imágenes tienen las mismas dimensiones y que cada
píxel esta compuesto por tres canales de color RGB.
3.4.3 Programas
3.4.3.1 Google goggles
Google Goggles es un servicio de Google disponible para Android
e iPhone que permite reconocer cualquier objeto mediante fotos
realizadas con un móvil y devolver resultados de búsqueda e
información relacionada.
Actualmente este sistema reconoce:
Lugares
Obras de arte
Logotipos
Monumentos
Texto
Vinos
Revistas
Libros
Funcionamiento
Busca haciendo una foto: apunta con la cámara de tu móvil a un
cuadro, un lugar famoso, un código de barras o QR, un producto,
un logotipo o una imagen popular. Si Google lo encuentra en su
base de datos, te ofrecerá información útil. Goggles puede
reconocer texto en francés, inglés, italiano, español, portugués,
turco y ruso, y puede traducirlo a otros idiomas. Goggles también
sirve como escáner de códigos de barras y QR.
Incluso, si localiza en un lugar destacado mediante el GPS puede
devolver información sobre el lugar. También dispone de
traducción automática de texto en diversos idiomas a partir de una
foto tomada en tiempo real, reconoce textos en inglés, francés,
italiano, alemán y español, aunque la traducción está habilitada
para todos los idiomas que soporta Google Translate.
Al igual que la tecnología de reconocimiento de voz y la
traducción automática, el reconocimiento de imágenes funciona
mediante el aprendizaje automatizado basado en ejemplos. La
web tiene una infinidad de imágenes de distintas cosas, y la
mayoría cuenta con información acerca de lo que se puede ver en
la imagen. Por otro lado, mientras más popular sea algo, más
imágenes habrá en la web y existirá una mayor probabilidad de
que el algoritmo las reconozca.
Debido a la privacidad tan extrema del funcionamiento de esta
aplicación por parte de Google, para explicarla remitimos
Figura 24
Figura 25
Figura 27
12
directamente a una conferencia realizada por su director de
investigación:
Les explicaré brevemente cómo funciona el reconocimiento de
imágenes: todo comienza identificando puntos de interés en una
imagen – los puntos, líneas y patrones que contrastan o hacen
sobresalir a algo del fondo de la imagen. Funciona de forma
similar al modo en que el ojo humano identifica los contornos
mediante el contraste que generan con el fondo.
Lo siguiente es identificar cómo estos puntos se relacionan entre
sí – la geometría de los puntos en conjunto. Lo podemos imaginar
como una constelación de estrellas, solo que en este caso el
modelo matemático que analiza estos puntos y su relación es
mucho más compleja.
Por último, el sistema compara ese modelo con otros modelos
dentro de una enorme base de datos. Esos otros modelos
provienen de imágenes en la web que ya fueron analizadas.
Entonces, busca y coteja la base de datos en busca de un modelo
con el que corresponda, sin que sea necesario que
empalmeperfectamente. De hecho, es importante que el sistema
sea flexible, para que no importe tanto si la imagen está volteada,
reducida o ligeramente torcida – tomando en cuenta que
diferentes fotos de un mismo objeto serán distintas. Por ejemplo,
el Taj Mahal seguirá teniendo la misma geometría básica, sin
importar que lo hayan fotografiado desde ángulos ligeramente
distintos. Cuando Google detecta al modelo que mejor
corresponde con la imagen, puede adivinar que probablemente se
trate del Taj Mahal.
El asunto de hacer “una pregunta” que en realidad es solo una
imagen resulta algo profundo. Hemos ido más allá de las
búsquedas basadas en sólo una cadena de texto. Ahora, pueden
presentarle una imagen a Google y esperar obtener información
relevante al respecto, pero, ¿cuál es la mejor respuesta a una
pregunta que es solo una imagen? Por ahora, podemos relacionar
imágenes con texto, sin embargo existe mucho que hacer para
entender el verdadero significado que una imagen puede tener. Es
ahí donde nuestra investigación en temas de inteligencia artificial
pudiera ayudarnos.
(Peter Norvig, Director de Investigación en Google)
3.4.3.2 Blinkster
Blinkster es una aplicación móvil gratuita y fácil de usar para
explorar y descubrir contenido cultural. Blinkster utiliza imágenes
tomadas desde un dispositivo móvil para buscar en bases de datos
con información de instituciones, aficionados y expertos sobre la
obras de arte.
Blinkster utiliza una pequeña aplicación en el teléfono para llamar
a sus servidores y mostrar el contenido en formatos de fácil
navegar por las listas.Los resultados muestran información sobre
pinturas, esculturas, monumentos y proponen nuevos lugares para
ir a ver, obras de arte e itinerarios por descubrir.
4. RECONOCIMIENTO DE VOZ
4.1 Introducción
Dentro de los procesos tecnológicos que se buscan para el
mejoramiento de las rutinas y tareas del hombre se encuentra el
reconocimiento de la voz, una de las principales herramientas para
la comunicación con la civilización, que comprende nuestro
lenguaje y lo procesa para así determinar el mensaje. En los
avances científicos está el hecho de que los sistemas actuales
puedan, por medio de métodos matemáticos, identificar ese
mensaje para desarrollar sus tareas programadas. Es el caso del
proceso de reconocimiento de la voz por patrones utilizando una
RED NEURONAL ARTIFICIAL que nos permita identificar el
lenguaje. Una vez identificado el lenguaje, extraeremos
información de dicho conjunto de datos y lo transformaremos en
una estructura comprensible, para su uso posterior.
Dado que como hemos mencionado en el párrafo anterior, nuestro
objetivo no es sólo el reconocimiento de la voz, sino que una vez
descifrado el lenguaje querremos utilizar esos datos de entrada
para su posterior uso, haremos acopio de dos herramientas de la
Inteligencia Artificial:
- Aprendizaje inductivo supervisado mediante Redes
Neuronales.
- Minería de datos (para el caso de detección de
canciones).
4.2 ¿Qué es un sistema de reconocimiento de
voz?
El reconocimiento de voz generalmente es utilizado como una
interfaz entre humano y computadora para algún software.
Debe cumplir tres tareas:
Pre-procesamiento: convierte la entrada de voz a una forma
que el reconocedor pueda procesar.
Reconocimiento: identifica lo que se dijo (traducción de
señal a texto).
Comunicación: envía lo reconocido al sistema que lo
requiere.
La aplicación de reconocimiento de voz consta con los
siguientes componentes:
Existe una comunicación bilateral en aplicaciones, en las que la
interfaz de voz está íntimamente relacionada al resto de la
aplicación. Éstas pueden guiar al reconocedor especificando las
palabras o estructuras que el sistema puede utilizar.
Figura 28
13
4.3 Funcionamiento Sistema de
Reconocimiento de Voz
El reconocimiento automático del habla es una tarea muy
compleja, sobre la que influyen varios factores:
- Dependencia/independencia del locutor
- Palabras aisladas/conectadas/habla continua
- Tamaño del vocabulario
- Grado de confusión del vocabulario
- Gramática
Además, deben hacer frente a los siguientes problemas:
- Variabilidad lingüística: fonética, sintaxis,
semántica…
- Variabilidad del usuario: ritmo, pronunciación,
inflexión, fatiga…
- Variabilidad del canal: ruido, cambios en el medio
de transmisión…
- Co-articulación: contexto de los fonemas
Para superar estos problemas, los sistemas de reconocimiento de
voz incluyen tres procesos:
1. Extracción de índices acústicos de la señal hablada.
2. Estimación de la probabilidad de que la cadena
índice fuese originada por un hipotético segmento
de pronunciación.
3. Determinación de la pronunciación reconocida a
través de una búsqueda entre hipotéticas
alternativas.
La estimación de la probabilidad de una cadena índice incluye un
modelo de producción de índices por cada determinado segmento
de pronunciación, por ejemplo una palabra. Los modelos ocultos
de Markov se utilizan para este propósito (figura 29). El sistema
de reconocimiento desea encontrar la pronunciación más probable
que podría originar el índice acústico observado. Esa probabilidad
es el producto de dos factores: la probabilidad de que la
pronunciación producirá la cadena y la probabilidad de que el
hablante querrá producir la pronunciación (la probabilidad del
modelo de lenguaje).
El entrenamiento de un sistema de reconocimiento de voz consiste
en la lectura de un texto que proporciona al sistema no sólo un
vocabulario más o menos extenso, sino un modelo de
pronunciación. Terminada esta primera fase de lectura, entra en
funcionamiento el entrenamiento de la red neuronal y la
construcción del mencionado modelo oculto de Markov. Por
último, el programa desarrollará un modelo gramatical para las
secuencias de fonemas registradas.
Es cierto que a mayor entrenamiento del sistema (tanto en la
opción inicial como durante el posterior uso del programa) se
comprueba una disminución clara en el índice de errores.
4.4 Funcionamiento para reconocimiento de
canciones
Nuestra aplicación, deberá detectar e identificar patrones en
sonidos basándonos en métodos de IA y algoritmos que ya se
utilizan pero modificados para adaptarlos a nuestras necesidades,
en nuestro caso, identificar un sonido concreto para actuar en
consecuencia.
Para poder realizar este tipo de aplicaciones llevaremos a cabo
una serie de técnicas y métodos sobre una representación del
sonido a procesar, el espectrograma:
En la figura 30 se puede observar el espectrograma generado por
la señal que aparece en la imagen de abajo. El espectrograma se
representa mediante la frecuencia (eje y), el tiempo (eje x) y la
intensidad de la señal (representado por el color, más claro más
intensidad).
Las técnicas de análisis mediante algoritmos habituales de IA son
la combinación de diferentes resultados de procesar el
espectrograma mediante Redes neuronales (percepción multicapa
entrenado con backpropagation).
Para la clasificación mediante redes neuronales hemos decidido
utilizar un MLP (perceptrón multicapa) el cual se entrena
mediante la regla Backpropagation. Los datos utilizados para el
entrenamiento son la representación vectorizada del
espectrograma centrado en la zona más relevante. La principal
ventaja de utilizar una red neuronal para nuestro clasificador
consiste en la rapidez de respuesta.
Por último, en el caso de utilizar el reconocimiento de voz para
buscar, por ejemplo, una canción, utilizaremos el siguiente
algoritmo. Obtendremos una tabla “hash” en la cual se relacionan
los picos de frecuencia con los intervalos de tiempo en los que se
producen, datos sacados del espectrograma. Con esta información
correlacionaremos una nueva entrada con una serie de plantillas
de otros espectros, obteniendo así un resultado.
Figura 29
Figura 30
14
Un problema podría ser que si se recibe un intervalo de la canción
que no coincide con el hash que tenemos en nuestras bases de
datos la canción no es detectada. Sin embargo nuestro sistema, al
utilizar técnicas predictivas, puede generalizar el patrón recibido
para así correlacionarlo con alguna de nuestras entradas de la base
de datos, es decir, nos devolverá el sonido “que más se parezca”.
5. Redes Neuronales: Perceptrón Multicapa
con entrenamiento en backpropagation.
Una red neuronal es un procesador que recibe una serie de
entradas con pesos diferentes, las procesa y proporciona una
salida única. Se trata de una forma de conocimiento inductivo, en
la que se busca que el sistema pueda, automáticamente, conseguir
los conocimientos necesarios a partir de ejemplos reales sobre la
tarea que se desea modelar.
La red neuronal más simple consta de una única capa o nivel,
pudiendo estar formada por tantas como se desee y en donde las
salidas de una capa están conectadas a las entradas de la siguiente.
Los pesos son propios de cada neurona, y no se está obligado a
tener todas las conexiones.
En un sentido amplio, una red neuronal, como la que observamos
en la figura 31, consta de tres elementos principales:
1. Topología: cómo está una red neuronal organizada en
capas y cómo se conectan estas capas.
2. Aprendizaje: cómo se almacena la información en la
red.
3. Recuperación: cómo esta información almacenada en la
red puede recuperarse.
El objeto de este trabajo es el proceso de aprendizaje, por lo que
nos centraremos en él.
En una red neuronal el proceso de aprendizaje es supervisado. Es
un caso de entrenamiento. Se presentan dos vectores (entrada y
salida deseada). La salida computada por la red se compara con la
salida deseada, y los pesos de la red se modifican en el sentido de
reducir el error cometido. Se repite iterativamente, hasta que la
diferencia entre salida computada y deseada se hace
aceptablemente pequeña.
Utilizaremos un aprendizaje basado en Corrección de Error.
Este tipo de aprendizaje ajusta los pesos de conexión entre
neuronas en proporción a la diferencia entre los valores deseados
y computados para cada neurona de la capa de salida.
Dependiendo del número de capas de la red podemos distinguir
dos casos:
a) Red de dos capas: puede capturar mapeos lineales entre
las entradas y las salidas.
b) Red multicapa: puede capturar mapeos no lineales
entre las entradas y las salidas. Este modelo se compone
de:
- Capa de entrada: sólo se encarga de recibir las
señales de entrada y propagarlas a la siguiente
capa.
- Capa de salida: proporciona al exterior la
respuesta de la red para cada patrón de entrada.
- Capas ocultas: realizan un procesamiento no lineal
de los datos de entrada.
La propagación de los patrones de entrada en el
perceptrón multicapa define una relación entre las
variables de entrada y variables de salida de la red. Esta
relación se obtiene propagando hacia delante los valores
de entrada. Cada neurona de la red procesa la
información recibida por sus entradas y produce una
respuesta o activación que se propaga, a través de las
conexiones correspondientes, a las neuronas de la
siguiente capa.
El entrenamiento en redes con capas ocultas se realiza a
través del método de “backpropagation”. Éste consiste
en:
- Empezar con unos pesos sinápticos cualquiera
(generalmente elegidos al azar).
- Introducir unos datos de entrada (en la capa de
entradas) elegidos al azar entre los datos de entrada
que se van a usar para el entrenamiento.
- Dejar que la red genere un vector de datos de salida
(propagación hacia delante).
- Comparar la salida generada por la red con la salida
deseada.
- La diferencia obtenida entre la salida generada y la
deseada (denominada error) se usa para ajustar los
pesos sinápticos de las neuronas de la capa de
salidas.
- El error se propaga hacia atrás (back-propagation),
hacia la capa de neuronas anterior, y se usa para
ajustar los pesos sinápticos en esta capa.
- Se continúa propagando el error hacia atrás y
ajustando los pesos hasta que se alcance la capa de
entradas.
Figura 31
Figura 32
15
Este proceso se repetirá con los diferentes datos de
entrenamiento.
6. REFERENCES
[1] http://www.fayerwayer.com/2012/06/google-entrega-mas-
detalles-sobre-google-glass-y-anuncia-su-salida-para-2013/
[2] http://156.35.151.9/~smi/5tm/10trabajos-
teoricos/5/RealidadAumentada_archivos/frame.html
[3] http://www.extremetech.com/extreme/131877-ive-seen-the-
future-hands-on-with-google-glass
[4] http://blogdigitalsignage.com/2012/07/27/realidad-
aumentada-con-pantallas-transparentes-kinect/
[5] http://www.xataka.com/otros/google-glass-explorer-edition
[6] Daniel Abril Redondo, Realidad Aumentada.Universidad
Carlos III de Madrid, Leganésm
[7] Rubén Fernández Santiago, David González, Gutiérrez, Saúl
Remis García, Realidad Aumentada. Escuela Politécnica de
Ingeniería de Gijón, Universidad de Oviedo,
[email protected]; [email protected];
[8] http://tecnologiayproductosgoogle.blogspot.com.es/2011/11/l
a-tecnologia-de-reconocimiento-de.html
[9] http://psicologiapercepcion.blogspot.com.es/p/percepcion-
facial.html
[10] Luis Feijoo, Aplicaciónparareconocimiento de caracteres a
través de redesneuronales. Loja –Av.Paltas y EstadosUnidos
[11] Cristina Díaz Moreno. Clasificación no supervisada:
clustering y mapas autoorganizativos. 50webs.com
[12] José Luis Alba, Jesús Cid. Reconocimiento de patrones.
Universidad de Vigo y Universidad Carlos III de Madrid
[13] Gustavo A. Lara Rodríguez. Técnicas de reconocimiento de
imágenes para la creación de fotomosaicos. Universidad de
Guatemala, 2003
[14] J. Kittler. Reconocimiento de patrones. Universidad de
Sirrey, 2002
[15] http://ict.udlap.mx/people/ingrid/Clases/IS412/index.html
[16] http://www.buenastareas.com/ensayos/Reconocimiento-De-
Voz/3973305.html
[17] http://www.conganat.org/3congreso/cvhap/conferencias/006/
texto.htm#funcionam
[18] http://perso.wanadoo.es/alimanya/backprop.htm
[19] Jesu Bernal Bermúdez, Jesús Bobadilla Sancho, Pedro
Gómez Vilda, Reconocimiento de voz y fonética acústica.
[20] Deller, Proakis y Hansen: Discrete Time Processing of
Speech Signals.
[21] J. C. Junqua: Robust Speech Recognition in Embedded
Systems and PC Applications.