Redes ARTMAP difusas modulares y reconocimiento de caras.
de la Torre Gomora, Miguel Angel
Introduccion
Las redes neuronales artificiales constituyen una herramienta
poderosa en el reconocimiento de patrones, sobre todo si se combinan
disciplinas como la estadistica y la logica difusa en el diseno de las
mismas. Diversos autores utilizan estas tecnicas, inspiradas en la
biologia, en aplicaciones biometricas. Tal es el caso del reconocimiento
de caras en secuencias de video, o el reconocimiento de caracteres
manuscritos (Gorodnichy, 2006; Zhao, 2003; Jain, 2006). En particular,
las redes neuronales ARTMAP difusas, como se describe en Carpenter
(1992, 1991) y Granger (2007, 2008), han tenido exito en varios campos
de la biometria. Particularmente el reconocimiento de caras es un area
con gran auge en los ultimos tiempos. Tareas como la vigilancia en un
aeropuerto o el procesamiento de imagenes de criminales conocidos en
oficinas policiacas, aplican cada vez mas las tecnicas de reconocimiento
de patrones como las redes neuronales.
[FIGURA 1 OMITIR]
En la figura 1 se muestra la estructura simplificada de un sistema
de reconocimiento de caras, ejemplificando sus etapas principales. El
proceso inicia con la captura o recuperacion de la imagen o secuencia de
imagenes que contienen la escena en la que se encuentra el individuo por
identificar, y que constituyen la entrada al sistema. Una vez
establecida la escena, se procede a detectar la posicion de la cara en
la imagen, etapa en la que se utilizan algoritmos de seguimiento
(tracking), estimacion y compresion. Al establecer el area del objeto
por reconocer, es decir la cara, el siguiente paso consiste en
identificar aquellas caracteristicas significativas que serviran como
entrada al algoritmo de reconocimiento. Cabe mencionar que estas dos
ultimas etapas (deteccion de la cara y extraccion de caracteristicas)
suelen realizarse simultaneamente por el mismo algoritmo. Por ultimo, la
etapa del reconocimiento de cara propiamente dicho, consiste en aplicar
tecnicas de reconocimiento de patrones ya sea holisticas, que aprovechen
las caracteristicas geometricas de la cara, o metodos hibridos para
identificar si la cara detectada esta en una base de datos, o verificar
que sea la persona que se esta buscando.
Cuando se disena una estructura de una red neuronal, tipicamente se
realizan pruebas sobre datos generados utilizando criterios especificos.
Estos datos pueden ser sinteticos, o generados mediante procedimientos
bien definidos, o reales. Estos ultimos se producen en ambientes
controlados de manera que las caracteristicas sean propias de un
analisis basado en caracteristicas especificas. Tanto las pruebas con
datos reales como las hechas sobre conjuntos de datos generados
sinteticamente constituyen una gran ayuda en la comparacion de
resultados con otras estructuras similares.
Experimentos tipicos sobre datos sinteticos son el de un circulo en
un cuadro, el cual divide en dos clases los puntos de un plano, los que
estan dentro del circulo pertenecen a una clase y los que estan fuera
pertenecen a otra. Tambien se utiliza comunmente en la literatura un
conjunto de circulos que se traslapan con diferentes areas de
interseccion, o conjuntos de funciones que definen clases cada vez mas
complejas (Granger, 2007). Al probar los algoritmos sobre datos reales,
es comun utilizar bases de datos como las que se describen en Gorodnichy
(2005) y Gross (2001), que brindan secuencias de videos de uso extendido
en la literatura.
En lo referente a la estructura de los clasificadores mas
ampliamente utilizados por la comunidad cientifica dedicada al
reconocimiento de patrones, estos son construidos para reconocer un
numero grande de clases. En Kapp (2007) las redes neuronales son
entrenadas para diferenciar los nombres escritos de los 12 meses del ano
en portugues de Brasil. Sin embargo, tambien existen trabajos como que
muestran la utilidad de transformar el problema de clasificar N clases
en N problemas de clasificar 2 clases. Este enfoque que saca provecho de
la consigna "divide y venceras" es el de las redes neuronales
modulares (Oh, 2002; y Granger, 2001), con las cuales es posible mejorar
en gran medida el desempeno de los algoritmos de reconocimiento de
patrones. De esta manera es posible simplificar el problema dividiendolo
en tantos subproblemas como clases existan por reconocer. La
arquitectura que se describe en el presente reporte aprovecha este
enfoque para disenar una estructura de redes neuronales ARTMAP difusas
modulares (mFAm).
La estructura de este reporte sigue la secuencia que se aplico en
el desarrollo de las investigaciones. En la seccion 2 se describe
brevemente una arquitectura simplificada de las redes ARTMAP difusas,
asi como el funcionamiento del algoritmo de aprendizaje. En la seccion 3
se comentan algunos trabajos que utilizan la estrategia "divide y
venceras" junto con las redes neuronales para resolver algunos
problemas, y se describe la arquitectura propuesta para aplicarse en el
reconocimiento de caras en secuencias de video. En la seccion 4 se
muestran algunos experimentos que apoyan la hipotesis de mejora en los
algoritmos. En la seccion 5 se hacen comentarios de los resultados y se
propone una guia para el trabajo futuro.
Redes ARTMAP difusas
Las redes neuronales ARTMAP difusas implementan una estructura que
proporciona la capacidad de realizar un aprendizaje supervisado e
incremental de las diferentes categorias, ademas de brindar mapas de
varias dimensiones como respuesta a secuencias arbitrarias de vectores
de entrada que pueden ser analogicos o binarios. Esta arquitectura toma
las ventajas de la logica difusa, y al mismo tiempo utiliza las bondades
de las redes neuronales basadas en la teoria de resonancia adaptativa
(Adaptive Resonance Theory, ART) (Carpenter, 1992). Ademas hace a las
redes neuronales ARTMAP difusas capaces de reconocer categorias de una
manera estable, auto-organizada. Otra gran ventaja del aprendizaje
incremental es que las redes no necesitan volver a entrenarse desde el
principio solo para agregar un nuevo conjunto de entrenamiento. En
diversas aplicaciones se ha hecho uso de las ventajas de las redes
ARTMAP, como el reconocimiento de caracteres escritos a mano y la
verificacion de firmas (Granger, 2007).
Sin embargo, las redes ARTMAP difusas tienen la desventaja de
aprender dificilmente los limites de decision entre distribuciones de
clases. Si se entrena la red siguiendo un aprendizaje secuencia)
supervisado de un conjunto de datos de entrenamiento, la capacidad para
generalizar a partir de patrones de entrada desconocidos esta en funcion
de la dinamica interna de la red, lo cual depende a su vez de mecanismos
como la eleccion de prototipo y las funciones de prediccion de clases,
las reglas de aprendizaje y la representacion de las distintas
categorias.
La arquitectura simplificada de una red neuronal ARTMAP difusa con
tres capas se muestra en la figura 2. La primera capa recibe los datos
correspondientes al patron que se desea reconocer, o con el que se
entrena a la red. Las capas [F.sub.1] y [F.sub.2] estan completamente
conectadas, es decir, todos los nodos de la capa F l estan conectados a
todos los nodos de la capa [F.sub.2]. Un vector W de ponderaciones actua
sobre el vector x para producir un vector T de salidas de acuerdo a 2.1.
(2.1) [EXPRESION MATEMATICA IRREPRODUCIBLE EN ASCII.]
En 2.1 la operacion | * | se refiere a la norma, definida
[EXPRESION MATEMATICA IRREPRODUCIBLE EN ASCII.] por es el operador AND
difuso definido (A ^ [W.sub.j]) [equivalente a] min ([A.sub.t][W.sub.ij]
por,[alfa] es un parametro de eleccion definido por el usuario.
El vector T juega el papel principal en la eleccion de la(s)
clase(s) que mas se acerca(n) al patron de entrada, siendo ampliamente
utilizada la estrategia "winner takes all" (el valor mas alto
de T es el que se elige). Este tipo de estrategias se utiliza
ampliamente en las redes neuronales, ya sean difusas o no.
La caracteristica que diferencia a las redes ARTMAP de otras es la
forma de entrenarlas. En la figura 2 se muestra el algoritmo de
aprendizaje que siguen las redes neuronales ARTMAP difusas, con las
cinco etapas que sigue. Algoritmo de aprendizaje de las redes ARTmAP
difusas
[FIGURA 2 OMITIR]
[FIGURA 2 OMITIR]
Las condiciones previas al entrenamiento de una red neuronal ARTMAP
difusa definen la capa F, con tantos nodos como dos veces el tamano de
las muestras de entrada. Esto debido a que cada patron de entrada
duplica su tamano al ser codificado con complemento. Tambien se define
la capa [F.sub.2] con cero nodos, y estos iran en incremento conforme se
clasifican nuevos patrones. La capa Fab estara definida con tantos nodos
como clases de salida se generen en la red neurona]. El algoritmo,
ejemplificado con un diagrama de flujo en la figura 3, se detalla a
continuacion.
1. Inicializacion. Se inicializan todos los valores de ponderacion
[w.sub.ij] a 1, y todos los valores de ponderacion [w.sup.ab]. a 0. Un
nodo de la capa [F.sub.2] se activa cuando es seleccionado para
codificar un vector a de entrada, y despues es ligado a un nodo
[F.sup.ab]. Se inicializan tambien los valores de los parametros para la
taza de aprendizaje [beta] [elemento de] [0,1], la eleccion [alfa] >
0, el factor de seguimiento (match tracking) 0 <[elemento de]
<<1, y el factor de vigilancia [??] [elemento de] [0,1].
2. Codificacion de patrones de entrada. Al presentarse un par de
entrenamiento (a, t), el vector a se transforma mediante una
codificacion complemento, lo cual duplica el numero de sus componentes.
La entrada codificada se define como A= (a,[a.sup.c]) = ([a.sub.1],
[a.sub.2], ..., [a.sub.m]; [a.sup.c.sub.1], [a.sup.c.sub.2], ...,
[a.sup.c.sub.m]) donde [a.sup.c.sub.i] = (1 - [a.sub.i])y [a.sub.i],
[elemento de] [0,1]. Se reinicia tambien el parametro p a su valor base
[rho].
3. Seleccion de prototipos. El patron A activa la capa [F.sub.1] y
se propaga a traves de las conexiones ponderadas W a la capa [F.sub.2].
La activacion de cada nodo j en la capa [F.sub.2] esta determinada por
la ecuacion 2.1. La capa [F.sub.2] produce un patron de actividad y =
([y.sub.1], [y.sub.2], ..., [y.sub.N],) que obedece a la estrategia de
"el ganador toma todo", de modo que solo queda activo el nodo
j=J con el valor de activacion mas grande J = argmax {[T.sub.j]. : j =
1, 2, ..., [y.sub.N]}; asi [y.sub.1] =1y [y.sub.j]. [desigual a]= 0, J.
En caso de encontrarse mas de un [T.sub.j] maximo, se elige el nodo j
con menor indice. El nodo J propaga su vector [W.sub.j] sobre [F.sub.1],
y se realiza la prueba de vigilancia que compara el grado de semejanza
entre [W.sub.j] y A contra el parametro de vigilancia [rho] [elemento
de] [0,1]:
(2.2) [EXPRESION MATEMATICA IRREPRODUCIBLE EN ASCII.]
Si se pasa la prueba J sigue activa y se dice que ocurre la
resonancia. En otro caso, la red inhibe el nodo activo de [F.sub.2] (Se
hace [T.sub.J]= 0) hasta que se le presenta a la red el siguiente par de
entrenamiento (a, t) (figura ZB) y se busca otro nodo J que pase la
prueba de vigilancia. En caso de que no exista tal nodo, se crea uno
nuevo en la capa F2 y se salta al paso 5 (aprendizaje). La profundidad
de busqueda antes de crear un nodo esta determinada por el parametro
[alfa].
4. Prediccion de clases. El patron t se alimenta directamente a la
capa [F.sup.ab], y el vector y correspondiente a la salida de la capa
[F.sub.2] "aprende" la activacion de [F.sup.ab] mediante los
pesos [W.sup.ab]. La capa [F.sup.ab] produce un patron de actividad
binario [y.sup.ab] = ([y.sup.ab], [y.sup.ab] , ..., [y.sup.ab.sub.L]) =
t ^ [W.sup.ab.sub.J] de donde se obtiene la prediccion de clase K = k
(J). En caso de que el nodo K sea una prediccion incorrecta, se envia
una senal de "match tracking" con el parametro de vigilancia
de la forma
(2.3.) [EXPRESION MATEMATICA IRREPRODUCIBLE EN ASCII.]
De esta manera se busca en la capa [F.sub.2], hasta que se alguno
de sus nodos se activa, o algun nodo J arroja la prediccion correcta K.
5. Aprendizaje. El aprendizaje de un patron de entrada (a) incluye
la actualizacion del vector de prototipos [w.sub.j] , y si J corresponde
a un nuevo nodo, tambien se realiza la creacion de las conexiones
asociativas hacia [F.sup.ab]. El vector de prototipos de F2, esto es, el
nodo J, se actualiza utilizando
(2.4) [w'.sub.J] = [beta] (A [conjuction] [w.sub.j],) + 1 -
1[beta]) w.sub.j] '
El parametro fijo que controla la velocidad de aprendizaje puede
inicializarse para aprendizaje lento (0 < [beta] < 1) o para
aprendizaje rapido ([beta] = 1).
El aprendizaje supervisado por lotes es auxiliado con alguna
estrategia de aprendizaje, en las que se intenta encontrar los vectores
de pesos que ligan las capas [F.sub.1]-[F.sub.2] y [F.sub.2] -
[F.sup.ab] (Wy [W.sup.ab] respectivamente), mas adecuados en la
prediccion de las clases. Esto es, se inicia un proceso en el que se
busca que la mayoria de las clases predichas (k(J)), correspondan a las
clases indicadas en el entrenamiento (a, t).
Dos de las estrategias de aprendizaje supervisado por lotes
comunmente utilizadas son las de una epoca de entrenamiento, y la
utilizada en este trabajo, la validacion "Hold-Out". Al hablar
de una epoca de entrenamiento, la red se somete al aprendizaje de todos
los patrones de entrenamiento solamente una vez. Este tipo de
estrategias que solo entrenan a la red una vez por cada patron de
entrenamiento, son utilizadas generalmente solo para referencia. La
validacion Hold-Out consiste en detener el entrenamiento despues de cada
epoca, y calcular el error de generalizacion para cada subconjunto
independiente de entrenamiento llamado conjunto de validacion. Se elige
la epoca de entrenamiento en la que el error de generalizacion sea
menor, en otras palabras, se minimiza el error de generalizacion para
diferentes epocas de entrenamiento. En el caso de contar con un numero
limitado de datos de entrenamiento, se puede utilizar la estrategia de
validacion cruzada para k-divisiones. Esta variacion de la validacion
Hold-Out separa el conjunto de entrenamiento en k divisiones, y utiliza
una de ellas como conjunto de validacion, quedando las demas (k-1) para
entrenamiento.
Una arquitectura modular para redes ARTMAP difusas
En la seccion anterior se describio el enfoque comunmente utilizado
de construccion de una red neuronal con capacidad de reconocer entre un
conjunto de clases. De esta manera, se entrena una red neuronal con todo
el conjunto de patrones para que el aprendizaje se realice sobre todas
las clases, y la red aprende a diferenciar entre las N clases del
conjunto. Sin embargo, esto conduce a problemas como la dificultad de
encontrar la separacion entre una clase y otra, dificultad que aumenta
conforme se incrementa el numero de clases asociadas al clasificador.
Con la finalidad de incrementar la certidumbre entre la pertenencia a
una clase o a otra, se han disenado arquitecturas modulares como la
descrita en Oh (2002). Las arquitecturas de esta naturaleza dividen el
problema de identificar la pertenencia de un patron entre un numero N de
clases, en N problemas de clasificacion mas simples, en los que solo se
clasifica entre dos clases.
La arquitectura modular en la figura 4 muestra los N modulos ARTMAP
difusos (modulos rAm) en los que se descompone una red modular como la
de la figura 2. De hecho, cada uno de los modulos [FAM.sub.i]. esta
formado por una red neuronal completa Fuzzy ARTMAP, la cual se entrena
para reconocer solamente una de las clases, y discriminar las otras N-1.
En esta arquitectura, los patrones de entrenamiento se reordenan con el
fin de especializar al modulo FAM, en aprender solo dos clases.
Internamente la [clase,.sub.i] del conjunto de entrenamiento general se
convierte en la clase 0 del modulo, y ejemplares de patrones de las
demas clases se convierten en la clase 1 para ese mismo modulo.
Asimismo, al exponer la red al conjunto de datos de prueba, el modulo
Faim, respondera con una prediccion de clase 0 si reconoce el patron
como perteneciente a la clase i, y con una prediccion de clase 1 si
pertenece a cualquiera de los demas modulos. Asi, los modulos con
prediccion 0 "aceptan" al patron de prueba como miembro de su
clase, y "rechazan" al patron con prediccion 1.
[FIGURA 4 OMITIR]
El conjunto de patrones de entrenamiento que se utilizarian en una
red neuronal difusa con enfoque global o no modular, deben reorganizarse
para utilizar el enfoque modular. Con este objetivo, se utilizara una
estrategia de reorganizacion de patrones como la descrita en el
siguiente algoritmo.
Estrategia de Reorganizacion de Patrones de Entrenamiento para
redes modulares FAM
Sea TS el conjunto original de [valor absoluto de TS] 1 patrones de
entrenamiento. Cada patron contiene de la forma (a, t), con la misma
estructura que se utilizaria en el aprendizaje de N clases por un
clasificador, en donde a = ([a.sub.1], [a.sub.2], ..., [a.sub.m]) es el
vector de entrada y t = ([t.sub.1], [t.sub.2], ... [t.sub.L]) es el
vector que etiqueta al patron a como miembro de una clase particular.
1. El conjunto de TS, entrenamiento para el modulo i se inicializa
con todos los patrones de entrenamiento (a, t) [elemento de] TS cuyo
vector t etiquete a dicho patron como perteneciente a la clase i.
2. Para cada clase j = i se agrega a TSi una muestra aleatoria de
patrones TS. [elemento de] TS, de modo [EXPRESION MATEMATICA
IRREPRODUCIBLE EN ASCII.] sea la cantidad de elementos de la clase j
incluidos en Ts.
3. Se modifican los vectores t de todos los patrones del conjunto
[TS.sub.i], de modo que si t = i, t '[flecha siniestra] O, en otro
caso t'[flecha siniestra] 1
4. Los pasos 1 a 3 se repiten para cada modulo i= [1..N]. Una vez
entrenados cada uno de los modulos del clasificador, se dice que la red
modular esta entrenada. En una etapa posterior, al exponer la red
modular a un patron de prueba, cada modulo lo evaluara y generara una
prediccion de clase y una medida de probabilidad o certidumbre como
sucede en cualquier red FAM. De esta manera se obtienen los vectores PC
=(([Pci.sub.1] [PC.sub.2], ..., [Pc.sub.N] y CC = ([cc.sub.1],
[CC.sub.2], ..., [CC.sub.N])j con las predicciones y certidumbres
respectivamente, generadas por cada uno de los modulos. Son estos
vectores los que se utilizan para tomar la decision general de
prediccion de clase, al mezclar con una funcion de fusion los resultados
parciales en una decision final. La funcion de fusion que se evaluan en
este reporte, toma la maxima probabilidad entre los modulos como medida
de seleccion de clase (ecn. 3.1).
(3.1) [S.sub.1] = argmax (cc)
donde argmax regresa el numero de modulo que arrojo la mayor
certidumbre de clase, y cc es el vector de certidumbres. Esta funcion
constituye una primera aproximacion basada en los datos directos que
arroja cada modulo. Sin embargo es posible disenar funciones de fusion
mas sofisticadas que seguramente incrementaran la cantidad de aciertos
que tiene la red neuronal rale.
En la siguiente seccion se muestran los resultados experimentales
que demuestran una similitud en los resultados utilizando las redes
neuronales axTMaP difusas con enfoque global, y con el enfoque modular
propuesto en este trabajo.
Resultados
Dos de los conjuntos de datos mas utilizados en la literatura se
aplican en las pruebas de una red neuronal FAM con enfoque global, y una
red MFAM. El primer conjunto de datos es el circulo en un cuadro que
divide en dos clases los puntos en un plano bidimensional. Este
corresponde al caso trivial, en el que solo se entrenan dos modulos para
reconocer entre dos clases, y se estudia como referencia para mostrar la
similitud de resultados. De este modo, para el modulo 0, la clase cero
corresponde al conjunto de puntos que se encuentran fuera, y la clase
uno corresponde a los puntos dentro del circulo con centro (0.5, 0.5) y
radio r=0.398942. Inversamente, para el modulo 1 los patrones externos
son los de la clase uno, y los patrones internos corresponden a la clase
cero. La ecuacion geometrica del circulo (ecn. 4.1) fue utilizada para
generar tanto los datos de prueba como los de entrenamiento.
(4.1) [r.sup.2] = [(x-0.5).sup.2] + [(y-0.5).sup.2]
Una evaluacion visual puede lograrse al observar la figura 4.1, que
muestra la clasificacion de todos los puntos del cuadro (negro) con los
puntos reconocidos como pertenecientes al interior del circulo (blanco)
superpuesto. Similarmente, la figura 4.2 muestra los resultados
correspondientes al mismo experimento, obtenidos con la red MFAM. Las
clasificaciones arrojadas por el modulo cero constituyen el primer
renglon de la figura, las correspondientes al modulo uno, en el segundo
renglon, y por ultimo puede verse el resultado de la fusion de las
anteriores.
[FIGURA 4.1 OMITIR]
Si bien es claro que no hay una mejora sustancial, si es posible
observar que se obtienen resultados comparables. Ambos metodos
clasifican aproximadamente las clases para las que fueron entrenadas, y
no hay diferencia determinante para establecer que uno es mejor que
otro, por lo que se puede argumentar que en este punto se han encontrado
soluciones similares o equivalentes.
Desde un enfoque menos cualitativo y mas cuantitativo, la figura
4.3 muestra los errores de clasificacion tanto de la red FA1VI con
enfoque global como de la MFAM. Al realizar la comparacion, puede
observarse que los resultados arrojados son similares, aunque sigue
siendo ligeramente superior la clasificacion del enfoque global. Sin
embargo, puede facilmente verse que la desviacion estandar del error de
la MFAM es menor y mas estable que su contraparte global. Este hecho
hace pensar en la posibilidad de encontrar una funcion de fusion mas
sofisticada, que tome en cuenta por ejemplo una normalizacion a la
salida de los modulos, o tomar en cuenta ademas de la medida de
certidumbre, tambien la prediccion arrojada por cada subred.
Algunas pruebas se realizaron sobre datos reales tomados de
secuencias de video sin resultados relevantes, sin embargo se deja
abierta la brecha para buscar funciones de fusion cada vez mas
sofisticadas que aprovechen las ventajas de la modularizacion.
Conclusiones
La mayoria de los clasificadores utilizados en aplicaciones como
las biometricas, en las que es necesario diferenciar entre un amplio
numero de clases, utilizan enfoques globales. Clasificadores bastante
populares en los ultimos anos son las redes neuronales ARTMAP difusas,
que aprovechan conceptos de la logica difusa unidos con la teoria de
resonancia adaptativa. En este trabajo se muestra la manera de aplicar
una separacion de tareas mediante una modularizacion de las redes
neuronales ARTMAP difusas. De este modo se toma ventaja de la estrategia
"dividir para vencer", y es un solo clasificador el que se
encarga de reconocer una clase y discriminar las demas. Un aspecto
importante en el diseno de estas redes MFAM es la eleccion de la funcion
de seleccion, que es la que se encarga de decidir finalmente cual es el
modulo que decide la clase a la que pertenece el patron de entrada. Una
funcion de fusion basada en el maximo es propuesta y utilizada en la
experimentacion.
Los resultados experimentales enfatizan la importancia de
seleccionar una funcion de fusion adecuada, tomando en cuenta tanto las
predicciones arrojadas por los clasificadores o modulos independientes,
como sus medidas de probabilidad o certidumbre. Queda pues, como un
trabajo pendiente, el diseno de una funcion de fusion adecuada, y la
prueba de los algoritmos con esas nuevas funciones sobre datos reales.
[FIGURA 4.2 OMITIR]
[FIGURA 4.3 OMITIR]
(a) y una MFAM (b), sometidas a condiciones similares de
aprendizaje y prueba
Fecha de recepcion: 29 de enero de 2009
Fecha de aceptacion: 3 de abril de 2009
Bibliografia
Carpenter, Gail A., Stephen Grossberg, Natalya Markuzon, Jonh H.
Reynolds y David B. Rosen (1992), "Fuzzy a,R rimtnh: A Neural
Network Architecture for Incremental Supervised Learning of Analog
Multidimensional Maps", IEEE Trans. On Neural Networks, pp.
698-713.
Carpenter, Gail A., Stephen Grossberg y David B. Rosen (1991),
"Fuzzy aln: Fast Stable Learning and Categorization of Analog
Patterns by an Adaptive Resonance System", Neural Networks, pp.
759-771.
Gorodnichy, D. (2005), " NRC-CNRC, Video-Based Framework for
Face Recognition in Video", Proceedings of Second Canadian
Conference on Computer and Robot Vision.
Gorodnichy, Dmitry O. (2006), "Seeng Faces in Video by
Computers, Editorial for Special Issue on Face Processing in Video
Sequences", Elsevier.
Granger, Eric, Jean-Francois Connolly y Robert Sabourin (2008),
"A Comparison of Fuzzy ARTMAP and Gaussian ARTMAP Neural Networks
for Incremental Learning", ETS.
Granger, Eric, Philippe Henniges, Robert Sabourin y Luiz S.
Oliveira (2007), "Supervised learning of Fuzzy Axz'MAi>
Neural Networks through Particle Swarm Optimization", Journal of
Pattern Recognition Research I, pp. 27-60.
Granger, Eric, Mark A. Rubin, Stephen Grossberg y Pierre Lavoie
(2001), "A Whatand-Where fusion neural network for recognition and
tracking of multiple radar emitters", Elsevier, pp. 325-344.
Gross, Ralph y Jianbo Shi (2001), The cmu Motion of Body (MoBo)
Database. Carnegie Mellon University.
Jain, Anil K., Arun Ross y Sharath Pankanti (2006),
"Biometrics: A tool for information security", IEEE
Transactions on Information Forensics and Security, pp. 125-143.
Kapp, M. N, C.O.A. Freitas y R. Sabourin (2007), "Methodology
for de design of NNbased month-word recognizers written on Brazilian
bank checks", Image and Vision Computing, pp. 40-49.
Oh, 11-Seok y Ching Y Suen (2002), "A class-modular
feedforward neural network for handwriting recognition", Pattern
Recognition, pp. 229-244.
Zhao, W, R. Chellappa, P J. Phillips y A. Rosenfeld (2003),
"Face Recognition: A Literature Survey", ACM Computing
Surveys, pp. 399-458.
Miguel Angel de la Torre Go7nora (1)
(1.) El autor es profesor-investigador de la Universidad de
Guadalajara. Cualquier comentario relacionado con este trabajo se
recibira en: miguel.delatorre@profesores.valles.udg.mx.