Sunteți pe pagina 1din 6

CIENCIAS DE LA COMPUTACION

Vol. 1 – Nº 1, Enero–Diciembre–2004, Pág. 9–19

Diferencias en reconocimiento de
patrones de huellas dactilares usando
como medidas de similitud de vectores
la distancia euclidiana y coseno de
ángulos para una red neuronal
kohonen.

Differences in pattern recognition and fingerprint


using vector similarity measures Euclidean distance
and cosine angle for a Kohonen neural network.

Ing. Raul Huarote Zegarra(2)


Recepción: 17-08-09 / Aceptación: 27-08-09 raulhuarote@yahoo.es

RESUMEN

El presente artículo tiene por objeto conocer el resalte en las redes neuronales de Kohonen las diferencias que
se tiene al aplicar como medida de similitud tanto las diferencias angulares entre vector de cada neurona y la
distancia euclidiana de las mismas. En la competitividad de las neuronas donde cada neurona ejerce una
influencia sobre el resto de las neuronas de su capa que va a ser en función de la distancia entre las mismas,
es decir cada neurona ejerce una influencia positiva sobre sí misma y sobre las neuronas topológicamente
cercanas. [Web01].

Palabras Clave: Redes neuronales, kohonen.

ABSTRACT

This article seeks to know the highlight of the Kohonen neural networks are the differences that apply to both
as a measure of similarity between the angular difference vector of each neuron and the Euclidean distance
from them. On the competitiveness of neurons where each neuron exerts an influence on the rest of the
neurons of that layer will be based on the distance between them, ie each neuron has a positive influence on
themselves and on neurons topologically nearby. [Web01].

Key Words: neural net, kohonen.

(2) Ingeniero Informático, Universidad Nacional de Trujillo. Docente de la Escuela de Ingeniería Sistemas, Universidad César Vallejo.
CIENCIAS DE LA COMPUTACION
Vol. 1 – Nº 1, Enero–Diciembre–2004,
Enero Pág. 9–19

INTRODUCCIÓN
TIPOS DE HUELLAS DACTILARES
Las Redes Neuronales Artificiales son un
paradigma de cómputo particularmente
adecuado para el tratamiento de problemas de
aproximación, identificación y reconocimiento
en sistemas no lineales. En cuanto a
reconocimiento de patrones, y de caracteres en
particular, existe una vasta
asta literatura basada en
el uso de modelos de conexiones.
Teniendo varias aplicaciones, entre ellos en el
campo de la biometría, en el cual uno de los
personajes resaltantes para este dilema de
reconocimiento de patrones en huellas dactilares
es Teuvo Kohonen.

METODOLOGIA

Es bien conocida la poca confiabilidad de los


métodos actuales para reconocimiento de Figura 2: Clasificación de tipos de huellas
patrones, a lo que se suma, en el caso de dactilares.
aprendizaje automático el volumen de los
conjuntos de entrenamiento necesarios para un DESCRIPCION DEL PROYECTO
aprendizaje satisfactorio. Utilizando el modelo
de red neuronal SOM para clasificar los tipos de El presente proyecto a continuación se sigue los
huellas dactilares, para ello el presente trabajo lineamientos básicos para la implementación de
se centra en el proceso de aprendizaje de la red, una red neuronal SOM como es la red de
específicamente en sugerir las diferencias que kohonen.
existen entre cada una de los mét
métodos de medir
la similitud por la cercanía entre vectores el cual
se considera la distancia euclidiana y también la
diferencia de ángulos.

Para esto se llego a implementar la red SOM


para el reconocimiento de huellas dactilares en
Matlab 8.0.
Evaluaremos y compararemos nuestros
resultados con los métodos de la literatura, en
cuanto a resultados obtenidos. Figura 3: Grafico de una red neuronal SOM, red
neuronal de kohonen.
LA HUELLA DACTILAR
MODELO DE IMPLEMENTACION
Entre otros elementos biométricos el más
aceptado socialmente es la huella dactilar. Presentamos
resentamos de manera grafica la
La formación de la huella dactilar en alguna implementación de dicha aplicación,
aplicación
superficie
perficie se genera por el resalte de las yemas o considerando que se basó en casos para el
crestas (ridges)) y los valles (valleys) estando reconocimiento específico de tipos de huellas
entre ellos intercalados. dactilares, tomando como patrones de entrada el
ángulo que presenta el resalte de las crestas y
los valles, para el manejo de los datos de los
patrones se considero utilizar matrices.

Figura 1: Crestas y valles de una huella dactilar.

(2) Ingeniero Informático, Universidad Nacional de Trujillo


Trujillo.. Docente de la Escuela de Ingeniería Sistemas, Universidad César Vallejo.
CIENCIAS DE LA COMPUTACION
Vol. 1 – Nº 1, Enero–Diciembre–2004, Pág. 9–19

Con un máximo de iteraciones de 500. Donde la


Matriz_index almacena la clase de patrones
ingresados y es de dimensiones 10 x 10 y X e Y
son la posiciones de la neurona seleccionada.

for iter=1:max_iter
% 500 iteraciones
for i=1:15
% 15 representa la cantidad
% de imágenes
E=EEE(i,:);
% kohonen_salidas;
% actualiza los valores
[x y]=kohonen_reforzamiento;
% refuerza a las neuronas
% elegidas
switch i
Figura 4: Modelo de la implementación de % clasificación manual de
la red neuronal kohonen con sus respectivas % los tipos de cada una de
matrices usadas para su ejecución. % las imágenes
case {1,5,9,13}
Donde se tiene como parámetros de entrada M_index(x,y)= ARCO;
(X1, X2,X3 …. Xn) a la matriz de orientaciones % Arco = 4
obtenidas de cada una de las imágenes, tomando case {4,8,12}
en cuenta que para su entrenamiento se M_index(x,y)= LEFT_LOOP;
considero 15 imágenes. Tal como se muestra en % LEFT_LOOP = 4
el siguiente código: case {3,7,11,15}
patron=imagen(2:255,2:255); M_index(x,y)= RIGHT_LOOP;
% donde capturo una matriz de 254 x 254 de % RIGHT_LOOP = 2
% una imagen de 256 x 256 case {2, 6, 10, 14}
M_orientacion = Orientacion(patron,14); M_index(x,y)= WHORL;
% obtengo la matriz de orientación en el cual % WHORL = 3
% van a ser los parámetros de entrada para la end
% red neuronal SOM implementada. Y es de end
% dimensiones 18 x 18. end
Tabla 1. Código para obtener el parámetro de entrada Tabla 3. Código en el cual presenta el proceso de
para la red neuronal SOM. entrenamiento de la red SOM para cada uno de los
tipos de huellas dactilares.
Donde la matriz de pesos son ingresados de
manera aleatoria W(i,:,:) , donde i=1,2,3.. n, Donde para medir la distancia de similitud de
donde n es la cantidad de orientaciones de las neuronas, se analizo de acuerdo a las salidas,
totales de las 15 imágenes (osea n=324) ; tal tal como mostramos a continuación sus
como muestra las siguientes líneas de código. propiedades tanto la medida por coseno, como
la medida por distancia euclidiana.

for i=1:324
W(i,3:12,3:12)=rand(10);
% ingresa aleatoriamente [0..1], una
%matriz de 10 x 10
end DISTANCIA EUCLIDEANA

Tabla 2. Código para obtener los datos de los pesos Es el más utilizado para medir la distancia entre
iníciales de manera aleatoria. nodos y medir la similaridad entre cada una de
ellas.
PROCESO DE ENTRENAMIENTO Selecciona como nodo ganador (cada nodo de la
red está representado por un vector de pesos de
Es el proceso en el cual se le entrena a la red, de la misma dimensión que la entrada) el más
acuerdo a cada una de las imágenes. cercano a la entrada presentada. [Web02].

(2) Ingeniero Informático, Universidad Nacional de Trujillo. Docente de la Escuela de Ingeniería Sistemas, Universidad César Vallejo.
CIENCIAS DE LA COMPUTACION
Vol. 1 – Nº 1, Enero–Diciembre–2004,
Enero Pág. 9–19

M(x,y) = min((e-w').^2); num = sum(e.*w');


Dada una matriz fila (o columna) de dimensión denom=sqrt(sum(e.^
1xn(o nx1). 2)*sum(w.^2));
Con vi M(x,y) =
un número real para toda i perteneciente al num/denom;
intervalo [1, n]] Si se tiene dos matrices de este Tabla 3. Código en el cual presenta el cada uno de los
tipo: casos a tratar.
y
A continuación presento la pantalla de la
La distancia euclidiana entre estas dos matrices, implementación de la red kohonen para el
d(v,w), es: reconocimiento de huellas dactilares, teniendo
las opciones de elegir el tipo de medida de
distancia (ya sea por diferencia de coseno o por
distancia euclidiana).
Más concretamente, la distancia euclidiana entre
dos puntos p1 y p2 es:

PRODUCTO ESCALAR ENTRE


VECTORES
Se considera cada uno de los vectores, los
valores en el cual se va a calcular la similaridad
entre cada una de ellas, para ello extraigo el
coseno de dichos vectores [Web03].

Se puede calcular el coseno del ángulo que


forman dos vectores según la expresión: Figura 6: Imagen del aplicativo donde se prueba los
dos casos, tanto para distancia euclidiana como
similitud de ángulos.

Cabe resaltar los datos iníciales,


iníciales en el cual se
llego a hacer las pruebas, implementadas la red
Si u y v son vectores no nulos, se tiene que u es neuronal SOM en el Matlab 8.0.
8.0
perpendicular a v si y solo si su producto escalar
es cero. • Numero de Iteraciones = 500
• Factor de aprendizaje = 0.45
• Dimensión de las imágenes = 256 x 256
(cada una de las imágenes a entrenar la red)
• Dimensión de matriz dee orientación de cada
imagen = 18 x 18 (por cada imagen)
• Dimensión de la vecindad gaussiana = 5 x 5
• Dimensión de la matriz de salida = 10 x 10

PRUEBAS
Para la prueba de la aplicación para las
distancias de ambos casos (presentado en el
tema anterior), se tuvo como resultado el
Figura 5: Casos de cercanía tanto por siguiente;
distancia euclidiana como por ángulos,
donde selecciona d3 por ser la mínima
distancia (izquierdo) y a3 por menor Nº Caso distancia por Distancia
ángulo. coseno Euclidiana

Medida de similitud por Medida de similitud


Distancia Euclidiana ( en por el cósenos.
Matlab ) ( en Matlab )
w = W(:,x,y); w = W(:,x,y);

(2) Ingeniero Informático, Universidad Nacional de Trujillo


Trujillo.. Docente de la Escuela de Ingeniería Sistemas, Universidad César Vallejo.
CIENCIAS DE LA COMPUTACION
Vol. 1 – Nº 1, Enero–Diciembre–2004, Pág. 9–19

1 8

9
2

10

Tabla 4. Resultado para cada uno de los casos,


reportados por la red SOM.

4 En todos los casos presentados anteriormente se


hizo el reconocimiento con la misma huella para
ambos casos de medidas de distancia. Y para
ello se escogió la huella de tipo World que
presento a continuación.

Figura 7: Imagen de tipo World para caso de prueba.

Al ejecutar la paliación la red neuronal arrojo


los siguientes resultados (partiendo de los
7 resultados obtenidos a partir de los datos de la
Tabla 4.):
Nº Caso distancia por Distancia
coseno Euclidiana
1 Correcto (10 , 9) Correcto (4 , 6)
2 Correcto (10 , 6) Incorrecto(4 , 8)
3 Correcto (9 , 5) Incorrecto(8 , 2)
4 Correcto (1 , 9) Incorrecto(3 , 6)
5 Correcto (5 , 8) Incorrecto(3 , 6)
6 Incorrecto(10 , 8) Incorrecto(10 , 8)

(2) Ingeniero Informático, Universidad Nacional de Trujillo. Docente de la Escuela de Ingeniería Sistemas, Universidad César Vallejo.
CIENCIAS DE LA COMPUTACION
Vol. 1 – Nº 1, Enero–Diciembre–2004, Pág. 9–19

7 Correcto(9 , 6) Incorrecto(9 , 1)
8 Correcto(2 , 8) Incorrecto(1 , 4)
9 Correcto(6 , 2) Incorrecto(7 , 10)
10 Correcto(5 , 2) Incorrecto(3 , 1)
Tabla 5. Resultado comparativo de ambos casos de
medida.

OBSERVACIONES

• Para la presentación de este resultado, se


considero la prueba con uno de los datos
almacenados (el mismo que se utilizo para
el entrenamiento) el cual arrojo para el
primer caso (distancia por cosenos) 1 error
de 10 pruebas en su proceso de ejecución y
en el segundo caso (distancia euclidiana) 9
errores de 10 pruebas.
• En el caso de Distancia euclidiana presenta
pocos valores indeterminados a
comparación del de cosenos, pero
contrapuesta al resultado obtenido.
• La distancia por coseno, lo que trata es
representar la similaridad. Más no por
cercanía el cual propone la distancia
euclidiana.
• Se probo de la misma manera para alpha =
0.9 y se obtuvo resultados similares y
correctos, tal como se realizo con alpha
0.45 para el método de cosenos.
• (9 correctos para cosenos y 9 de euclidiano
de 10 pruebas para cada uno)
• Al seleccionar el alpha inicial es
recomendable colocar valores altos.
• Los datos arrojados en la figura 7 para el
caso de distancia por cosenos, se ven más
agrupados a comparación de los realizados
por medio de la distancia euclidiana.
• Cabe resaltar que para las pruebas se
utilizaron imágenes de huellas dactilares de
dimensiones 256 x 256, el cual se sugiere
de menor dimensión para la rapidez de los
procesos, pues la intensión es mostrar cual
medida de similitud utilizar.

REFERENCIAS BIBLIOGRAFICAS

[Web01]http://scimago.ugr.es/file.php?file=/1/D
ocuments/JOTRI-03.pdf
[Web02]http://es.wikipedia.org/wiki/Distancia_
Euclideana
[Web03]http://thales.cica.es/rd/Recursos/rd99/e
D99-0543-04/Distancia.html
[Web04]http://books.google.com.pe/books?id=e
4igHzyfO78C&pg=PA456&dq=neural
+network+kohonen#v=onepage&q=ne
ural%20network%20kohonen&f=false

(2) Ingeniero Informático, Universidad Nacional de Trujillo. Docente de la Escuela de Ingeniería Sistemas, Universidad César Vallejo.

S-ar putea să vă placă și