Está en la página 1de 23

RECONOCIMIENTO DE PATRONES EMPLEANDO REDES NEURONALES BOOLEANAS.

APLICACIN AL RECONOCIMIENTO FACIAL


Alfonso Mateos Andaluz N.I.A.: 100027597 Pablo Javier Borches Juzgado N.I.A.: 100021524

Introduccin
Cmo incorporar comportamientos "inteligentes" tanto en las redes como en los servicios? En nuestro caso:
Adquisicin de la capacidad humana del aprendizaje, reconocimiento y clasificacin de patrones. Sistema bsico: las redes neuronales.
Un tipo particular y direferente: Redes Neuronales Booleanas.

Redes Neuronales Booleanas: (BNN)


Emplean elementos de lgica booleana como componentes bsicos.
Puertas lgicas y memorias. Actan en base a informacin y reglas lgicas (con ceros y unos).
No responden a la suma ponderada de las entradas (nmeros reales) como las redes neuronales ms tradicionales.

Son redes neuronales sin pesos. Formas de implementacin:


Hardware software
3

BNN: estructura funcional (I)


Entrada: matriz de pxeles que conforman la imagen.
Generalmente es necesario un preprocesado de la imagen.
Preprocesado cuidadoso: no daar en exceso la imagen. Reduccin de la informacin efectiva con la que trabajar:
Ocupar menos memoria y ganar en velocidad de clasificacin. Puede empeorar la calidad de la clasificacin. Compromiso!

Ncleo: compuesto por memorias RAM.


Bits organizados en direcciones (filas) y posiciones dentro de cada direccin (columnas).

Pxeles agrupados de forma aleatoria


Todos los grupos con el mismo nmero de pxeles: n-tuplas.

BNN: estructura funcional (y II)


La combinacin binaria que forman los pxeles de cada grupo sirve para escribir la informacin relativa a esa imagen particular.
En la columna correspondiente a esa imagen de todas las memorias. Cada columna corresponde a un grupo de clasificacin: discriminadores.

Hay que entrenar la red con varias (pocas) imgenes para que aprenda y luego pueda reconocer los diferentes tipos de patrones Para clasificar una muestra de test:
1) Comparar los resultados de las columnas obtenidas tras el entrenamiento con la salida proporcionada por la red cuando trabaja sobre la muestra sin clasificar. 2) Se clasifica esa muestra en el grupo con el que tenga el mayor nmero de bits coincidentes.
5

BNN: en nuestro caso


Seguimos la estructura general. Implementamos un tipo de red neuronal booleana llamada WISARD.
Se basa en una red neuronal descrita anteriormente por Bledsoe y Browning.
Mediante un ejemplo sencillo de sta, explicamos la base de funcionamiento de nuestra implementacin.

BNN: Mquina de Bledsoe y Browning (ejemplo sencillo)


Reconocer dgitos. Partimos de:
Imagen en blanco y negro. 8x8 pxeles. Pxeles agrupados por parejas.

Por tanto: 1280 bits


32 memorias. 4 posibilidades por pareja.
4 filas por memoria.

10 discriminadores (09).
10 columnas por fila.

BNN: WISARD
La misma estructura y la misma idea, pero ampliando el nmero de bits a agrupar en cada n - tupla. Memoria ocupada: M = P 2n D
Imgenes de P pxeles, en grupos de n y con D posibles clases en las que clasificar.
n

Eleccin de n: compromiso: reconocer generalizando!


n: aumenta (mucho) la memoria ocupada y desciende la capacidad de generalizar. n: ocupa menos memoria pero puede saturarse (toda la memoria con unos). Las clasificaciones correctas aumentan con nopt hasta un mximo a partir del cual decrecen hasta cero.
P nopt

Certeza: cun seguros podemos estar de que la # Pxeles _ coincident es _ 2 _ grupo _ ms _ probable clasificacin es correcta? C = 1 8
# Pxeles _ coincident es _ grupo _ ms _ probable

BNN: agrupacin aleatoria


Los pxeles que conforman una n-tupla han de agruparse de forma aleatoria y sin solapamientos. Justificacin:
Disminuir la posibilidad de errores en la clasificacin por confusin entre patrones.
Los patrones cuya distribucin es semejante a la distribucin de la agrupacin de los pxeles constituyen puntos ciegos.

Porque los patrones no suelen responder a estructuras aleatorias.


La aleatoriedad no tiene un patrn definido al que responda y que pueda asemejarse a casos reales.
Puntos ciegos muy poco probables.
9

BNN: codificacin del color


Las imgenes suelen ser en color, pero las BNN slo trabajan con ceros y unos
Resulta natural para las BNN trabajar con puntos blancos y negros.

Preproceso necesario para convertir colores en codificaciones binarias.


Necesarios b bits memoria necesaria multiplicada por b. Si no es estrictamente necesario para una clasificacin correcta, son preferibles los patrones en blanco y negro (1 bit).
El preproceso ha de ser el adecuado para mantener la informacin ms relevante.

10

BNN: Transformacin a B/N


Transformacin adecuada:

Conservar slo la informacin ms relevante:

11

Implementacin del sistema


Entrada: fotografa de 800X600 = 480.000 pxeles en tono de grises de 8 bits (256 niveles) 480.000 X 256 = 1,2108 posibilidades Preproceso: se aplica el umbral 480.000 X 2 = 960.000 posibilidades 5 personas a reconocer Entrenamiento: 3 imgenes por persona. Requiere pocas muestras:
Gran cantidad de pxeles en cada imagen Utilizacin de red booleana basada en bits en memorias en vez de pesos en los enlaces
12

Implementacin del sistema


JAVA lenguaje interpretado Tiempo de procesamiento grande Enmarcar zona de la fotografa donde se encuentre la cara por dos motivos:
Rapidez Permite reconocimiento independientemente de la ropa del individuo

Resultado de enmarcar:
Sin enmarcar: 800X600 = 480.000 pxeles Enmarcando: 300X400 = 120.000 pxeles
Mejor reconocimiento Eliminacin de la redundancia (fondo de la imagen) que no influye en la toma de decisin

Nmero de RAMs empleadas: 300*400 / 4 = 30.000


13

Ejemplo del preproceso de la imagen

14

Ejemplo: Conjunto de muestras de entrenamiento

15

Ejemplo: Conjunto de muestras de entrenamiento

Sujetos (en orden):


Dani, Alfonso, Pablo, Chus, Paco
16

Entrada: Dani
25000 20000 15000 10000 5000 0 Dani Alfonso Pablo Chus Paco

Imagen izquierda

Imagen derecha

17

Entrada: Chus
25000 20000 15000 10000 5000 0 Dani Alfonso Pablo Chus Paco

18

Entrada: Pablo
25000 20000 15000 10000 5000 0

Dani

Alfonso

Pablo

Chus

Paco

19

Notas importantes
Valor mnimo del recuento de bits de las memorias alrededor de 5.000 bits (aunque podra darse algn caso que fuera menor) Cuando los niveles son bajos (n de bits pequeo) para la mayor parte de los 5 individuos disminuir el umbral para que haya ms pxeles en negro en la imagen binaria. 16 pruebas
Reconocimientos acertados 15 Reconocimientos fallidos 1 93.75% de aciertos
20

Evolucin con una imagen modificada

21

Evolucin con una imagen modificada


25000 20000
bits coincidentes

Dani 15000 10000 5000 0 1 2 3 4 5 6 7 8


22

Alfonso Pablo Chus Paco

Nmero de la imagen

23

También podría gustarte