Arquitectura FRVS (Face Recognition Video Sensor)

Es un módulo software que cumple con la arquitectura VISOR. Su función es verificar la identidad de una persona en el contexto de un sistema de control de acceso. Este video sensor es un subsistema dentro del sistema global de control de acceso.

Las entradas a este sistema son un PIN (Personal Information Number, que tendrá que introducir el usuario del sistema, y la imagen captada del mismo (ver figuras Figura 3 y Figura 4). El PIN será el índice por el que buscar en una base de datos que contienen las características faciales del sujeto. Por otro lado el sistema extraerá características faciales de la imagen tomada y las comparará con las almacenadas, dando un PCD (Personal Confidence Degree), un número que indica el grado de similitud.

Figura 3. Arquitectura del FRVS

Figura 4. FRVS Core

Existen dos métodos internos para extraer las características faciales, que serán detallados en el siguiente capítulo:

Una vez obtenida la información se usará una Red Neuronal tipo Multi-Layer Perceptron Neuronal Network(MLP-NN) para el reconocimiento.

Figura 5. FRVS por dentro

El funcionamiento interno del módulo se puede apreciar la figura Figura 5. Se introduce una imagen y un PIN, que son comunicados mediante un interfaz CORBA al módulo. Por un lado, el PIN sirve de índice para buscar en una base de datos, que extraerá las características faciales de la identidad propuesta por el usuario. Estas características son comparadas con las que se extraen de la imagen introducida, ya sea por PCA(Principal Component Analysis) o por Gabor y se da un porcentaje de acierto, que será lo que se devuelva a través del interfaz CORBA.

Detección de la cara

El objetivo de este modulo inicial es encontrar y encuadrar la cara (o las posibles caras) que aparecen en la imagen. El método desarrollado barre la imagen buscando aquellos pixels con una textura correspondiente a la de la piel, determinando cuales de ellos constituyen una hipótesis aceptable de rostro.

Método PCA

La idea principal es la de reducir las grandes dimensiones de estas regiones de imagen, e intentar perder el mínimo posible de información. Esto se hace con un cambio de base, pasando de un espacio a otro de menor dimensión.

No es necesaria mucha información para representar una cara, y con esta reducción conseguimos que ya sea viable la comparación directa de las características faciales almacenadas con las extraídas de la imagen.

Filtro de Gabor

Gabor se centra en la extracción de puntos para luego usar el filtro de Wavelet. Las técnicas de análisis wavelet emplean regiones de tamaño variable, para el análisis de imágenes nos permite utilizar regiones grandes donde se necesita información que precisa poca frecuencia (regiones más o menos homogéneas) y pequeñas regiones donde la información necesita altas frecuencias (regiones vértices, aristas o cambios bruscos de color). El análisis wavelet es capaz de mostrar aspectos de la señal que otras técnicas no logran encontrar. El cálculo de la transformada wavelet para todas las posibles escalas supone una gran cantidad de información. Escoger sólo aquellas escalas y posiciones que resulten interesantes para ciertos estudios es una tarea difícil.

El objetivo del proceso es encontrar 12 puntos de control sobre el rostro del sujeto para ajustar a continuación una máscara. Esta máscara se compone de 31 puntos sobre los que se aplicará la transformada Wavelet con los que se entrenará la Red Neuronal (ver figura Figura 6). El proceso para encontrar los puntos de control es el siguiente:

Figura 6. Máscara. En rojo los puntos de control

Encontrar ojos y boca

Un pequeño cuadro, con tamaño suficiente para abarcar un ojo o una boca recorrerá la imagen para encontrar un ojo o boca. Este cuadro será la entrada para una red neuronal entrenada con ojos y bocas que nos indicará si el cuadro contiene alguno de estos elementos (ver figura Figura 7).

Figura 7. Ejemplo de cuadro de un ojo

Transformaciones sobre la imagen

Una vez que tenemos localizado un ojo o una boca se procederá a aplicarles filtros sucesivos, a fin de extraer la información que nos facilitará la extracción de los puntos de control.

  1. Detección de bordes. Se hace una detección de bordes con varios grados diferentes de inclinación (Horizontal, vertical, 45 y 315) y se funden en una sola para tener toda la información posible de los bordes.

  2. Binarizado. Se pasa la imagen resultante de la detección de bordes, que se encontraba en niveles de gris a blanco y negro para trabajar solo con valores de 1 o 0.

  3. Thinning. Se hace un adelgazamiento para sacar unas líneas claras sin grosor. Esto facilitará enormemente la deducción de características.

  4. Deducción de puntos. Según sea una boca o un ojo derecho o un izquierdo, al tener muy poco ruido y líneas sin grosor, ya se puede deducir cuales son los puntos del ojo.

Figura 8. Filtros sobre un ojo

 

Una vez obtenidos los puntos de control se pasa al proceso de ajuste y deformación de la máscara. De esta manera cada sujeto tendrá su propia máscara diferente a la de cualquier otro sujeto. Las transformaciones son las siguientes:

  1. Rotación. Se calcula la diferencia de inclinación los puntos de los ojos, tanto de los de control como de la máscara, y se rota la máscara adecuadamente.

  2. Translación. Se calcula la diferencia de coordenadas de los puntos de control y sus homólogos en la máscara y se mueve la máscara.

  3. Deformación. Se deforma la máscara para que los puntos que estén más cerca de los de control son más atraidos hacia ellos.

Una vez terminado este proceso obtendremos 31 puntos en 2D propios y únicos de ese sujeto, que serán usados como características faciales para entrenar la Red Neuronal, una vez aplicada la tranformada Wavelet.

Redes Neuronales

Las redes neuronales forman parte de un importante sector dentro de la Inteligencia Artificial. Son ampliamente usadas para el reconocimiento de formas en la Visión computacional.

Las redes neuronales y otros métodos estadísticos avanzados son teorías muy útiles para hallar la solución a problemas de clasificación y predicción. Las redes neuronales proporcionan una herramienta muy potente para la resolución de problemas complejos en los ámbitos científico, tecnológico y empresarial. La característica principal de este tipo de programas es su capacidad de tratar problemas de clasificación y predicción mediante un aprendizaje realizado sobre ejemplos.