Presentacion Redes Neuronales

19
Reconocimiento Facial usando Redes Neuronales Artificiales Implementado con un Perceptrón Multicapa que utiliza el algoritmo de Back-Propagation Cusco 11 de diciembre de 2013 Hecho por: Javier Quispe Alcca

description

perfil de proyecto para reconocmiento facial

Transcript of Presentacion Redes Neuronales

Reconocimiento Facial usando Redes Neuronales

Artificiales Implementado con un Perceptrón Multicapa que utiliza el algoritmo de Back-Propagation Cusco 11 de diciembre de 2013 Hecho por: Javier Quispe Alcca

1 Objetivos y metas

1.1 Objetivo general planteado

Investigar e implementar un prototipo de reconocimiento facial utilizando redes

neuronales artificiales.

1.2 Objetivos específicos desarrollados

Investigar los distintos modelos matemáticos para reconocimiento facial.

Investigar el funcionamiento de las redes para aplicar al reconocimiento facial.

Implementar un prototipo de reconocimiento facial haciendo uso de perceptrón

multicapa que utilice el algoritmo de retro-propagación.

Seleccionar los parámetros de la Red Neuronal para el reconocimiento efectivo.

Realizar el entrenamiento dirigido con imágenes de rostros con una asertividad

confiable.

Realización de pruebas con cierta cantidad de patrones.

1.3 Metas

Disponer de un prototipo que permita reconocer rostros de personas.

2 Justificación Se presentan las siguientes razones:

La seguridad es un tema critico en las organizaciones, por eso se requieren de

sistemas sofisticados que brinden soluciones efectivas.

Promover la investigación en esta área de la Informática.

Promover la innovación tecnológica en la ciudad del Cusco.

3 Marco teórico Lo presentamos de forma general.

3.1 El reconocimiento facial

La cara, es el rasgo biométrico por excelencia, ya que es el más utilizado por todos nosotros para poder reconocer a nuestros semejantes.

Si bien el rostro es un rasgo cuya unicidad es menor que el de las huellas digitales o el iris, tiene una gran aceptabilidad y universalidad, características que lo hicieron popular en la investigación y desarrollo de algoritmos dedicado a su procesamiento.

El software que se utiliza para el reconocimiento facial, es un software de procesamiento de imágenes que identifica la geometría facial, es decir, se analiza la imagen de la cara obtenida y se mide la distancia entre puntos que separan la parte

interior y exterior de los ojos, nariz y boca principalmente, algunos sistemas utilizan una proyección de imagen térmica a los fines de crear correspondencias con los vasos sanguíneos subcutáneos, logrando con esto, identificar patrones sobre seres vivos.

Las técnicas aplicadas, son implementadas en dos ámbitos, tanto en aquellos donde se efectúa un reconocimiento sobre un rostro estático, en los que las condiciones son controladas, como en aquellos ambientes en donde el reconocimiento facial se efectúa sobre rostros en movimientos, extrayéndose la cara de la escena y en donde las condiciones no son controladas.

Existen ciertas condiciones variables en el proceso de adquisición, que aparecen en el reconocimiento facial de imágenes estáticas, son: el fondo de la imagen, la distancia individuo-cámara, la expresión facial, el gesto, el habla, la aparición de artefactos naturales (barba, bigote, etc.) y artificiales (maquillaje, gafas, etc.), la iluminación, la edad, etc. En general, el reconocimiento de cara con estas imágenes es más eficiente que el reconocimiento con imágenes en movimiento: el proceso de segmentación de la cara y el fondo suele ser más sencillo y la variabilidad entre clases es menor.

El proceso de reconocimiento facial consta de dos partes, la primera es la detección, donde se localiza un rostro humano en una imagen y aislándolo de los objetos que lo rodean, la segunda, es el reconocimiento, en donde se compara el rostro capturado con los almacenados en una base de datos con el objetivo de encontrar su correspondencia.

El reconocimiento funciona según principios tales como "eigenfaces" o "eigenfeatures". (El eigen alemán se refiere en este caso a las matemáticas usadas para analizar características faciales únicas.) Un sistema eigenface-based considera cada imagen facial como conjunto en dos dimensiones de las áreas claras y oscuras (eigenfaces) dispuestas en un modelo determinado. El algoritmo del reconocimiento salva cada imagen como una combinación de eigenfaces y después compara las características del eigenface de la cara actual con ésas en la base de datos.

Un sistema eigenfeature-based se centra en características específicas tales como la nariz, ojos, boca, cejas, y curvaturas del hueso, y las distancias relativas entre ellas. El sistema analiza la cara actualmente explorada y extrae eigenfeatures determinados, entonces compara éstos con los de la base de datos. Los sistemas de Eigenfeature trabajan típicamente en conjunto con sistemas del eigenface para producir la identificación más exacta posible.

En general, los sistemas del eigenfeature son más exactos en identificar caras a pesar de variaciones substanciales tales como barbas y anteojos.

El mayor reto que deben enfrentar los sistemas de reconocimiento facial es el cambio de rostro que sufre el ser humano a través del tiempo. En este aspecto el sistema debe considerar estos cambios para poder llevar adelante un correcto reconocimiento, actualizando regularmente los modelos salvados en su respectiva base de datos.

Estos cambios a los que nos referimos, pueden ser del tipo endógenos como exógenos. Los endógenos se refieren al cuerpo, por ejemplo, la presencia o no de barba, cicatrices, flequillo, patillas, etc., en cambio, los exógenos se refieren a todo elemento externo al cuerpo, por ejemplo, la presencia o no de anteojos, gorro, auriculares, piercing, etc.

Los sistemas de reconocimiento facial, en su totalidad, almacenan varias imágenes de caras de cada usuario, y dependen de un conjunto de reglas para determinar la identidad de un individuo, tomando para ello, datos relevantes. Algunos productos, utilizan para tal fin, inteligencia artificial y tecnología de redes neuronales, en estos sistemas la efectividad del reconocimiento aumenta con la experiencia y el auto aprendizaje del propio sistema. En los sistemas de reconocimiento facial este proceso de aprendizaje permite al sistema disminuir el rango de tipos faciales que debe almacenar en su base de datos a los efectos de la comparación.

3.2 Funcionamiento

3.2.1 Detección de la cara

Detecta que hay una cara en la imagen, sin identificarla. Si se trata de un video, también podemos hacer un seguimiento de la cara. Proporciona la localización y la escala a la que encontramos la cara.

3.2.2 Alineación de la cara

Localiza las componentes de la cara y, mediante transformaciones geométricas, la

normaliza respecto propiedades geométricas, como el tamaño y la pose, y

fotométricas, como la iluminación. Para normalizar las imágenes de caras, se pueden

seguir diferentes reglas, como la distancia entre las pupilas, la posición de la nariz, o

la distancia entre las comisuras de los labios. También se debe definir el tamaño de

las imágenes y la gama de colores. Normalmente, para disminuir la carga

computacional del sistema, se acostumbra a utilizar imágenes pequeñas en escala

de grises. A veces también se realiza una ecualización del histograma.

3.2.3 Extracción de características

Proporciona información para distinguir entre las caras de diferentes personas

según variaciones geométricas o fotométricas

3.2.4 Reconocimiento

El vector de características extraído se compara con los vectores de características

extraídos de las caras de la base de datos. Si encuentra uno con un porcentaje

elevado de similitud, nos devuelve la identidad de la cara; si no, nos indica que es

una cara desconocida.

Los resultados obtenidos dependen de las características extraídas para representar el

patrón de la cara y de los métodos de clasificación utilizados para distinguir los rostros,

pero para extraer estas características apropiadamente, hace falta localizar y normalizar

la cara adecuadamente.

Funcionamiento de un sistema de reconocimiento facial

3.3 Técnicas y algoritmos

3.3.1 Técnicas tradicionales

Los métodos de reconocimiento facial tradicional se pueden dividir en dos grandes

grupos.

3.3.1.1 Holísticos

Reconocen según toda la imagen facial. Son métodos basados en correlación. El

esquema de clasificación más simple, donde se utilizan modelos de comparación

para el reconocimiento, es el template matching. El problema del template matching

es que ha de comparar muchas características (para él, un pixel es una

característica), y si tenemos en cuenta que en la base de datos encontramos M

personas, con N imágenes por persona, observamos que este método no se puede

implementar en tiempo real. Por lo tanto, se trabaja con otros métodos que

decorrelacionan las características entre sí para conseguir reducir el espacio facial en

un número menor de coeficientes, que tengan un alto poder discriminatorio entre

las personas. Es lo que se denomina sub-espacio facial. Ejemplos de métodos que

trabajan a partir de subespacios son el Análisis de Componentes Principales (PCA -

Principal Component Analysis) a partir de eigenfaces, el Análisis Linear Discriminant

(LDA - Linear Discriminant Analysis) o el Discriminante Linear de Fisher (FLD - Fisher

Linear Discriminant) a partir de fisherfaces.

Los primeros 10 a) Eigenfaces, b) Fisherfaces, y c) Laplacianfaces calculados a partir de imágenes de caras de la base de datos de YALE

La técnica PCA se considera una de las que proporciona un mayor rendimiento.

Funciona proyectando las imágenes faciales sobre un espacio de facciones que

engloba las variaciones significativas entre las imágenes faciales conocidas. Las

facciones significativas se llaman eigenfaces, ya que son los eigenvectors, o

componentes principales, del conjunto de caras. La proyección caracteriza la imagen

facial de un individuo como la suma de los diferentes pesos de todas las facciones y,

de la misma manera, para reconocer una imagen facial determinada sólo hará falta

comparar estos pesos con aquellos de los individuos conocidos previamente. No

tiene en cuenta la información de qué imágenes pertenecen a un mismo individuo.

Es muy sensible a cambios en las condiciones de iluminación en diferentes imágenes

de una misma persona.

El método LDA permite utilizar la información entre miembros de la misma clase

(imágenes de la misma persona) para desarrollar un conjunto de vectores de

características donde las variaciones entre las diferentes caras se enfatizan mientras

que los cambios debidos a la iluminación, expresión facial y orientación de la cara

no. Es decir, maximiza la varianza de las muestras entre clases, y la minimiza entre

muestras de la misma clase.

La técnica FLD es equivalente al LDA. Los resultados obtenidos con FLD son bastante

mejores que los que podemos obtener con PCA, sobretodo cuando las condiciones

lumínicas varían entre el conjunto de imágenes de entrenamiento y de test, y

también con cambios de expresión facial, dando más peso a zonas como los ojos, la

nariz o las mejillas que a la boca, porque son zonas más invariables en las diferentes

expresiones que puede tener una persona.

Otros métodos, en vez de utilizar sub-espacios faciales, siguen una clasificación por

redes neuronales y plantillas deformables, como EGM - Elastic graph matching.

3.3.1.2 Locales o geométricos

Se comparan diferentes características geométricas de las caras. Existen dos

divisiones, la basada en los vectores característicos extraídos del perfil, y la basada

en los extraídos a partir de una vista frontal. Se utilizaba mucho anteriormente pero

sus resultados no son óptimos.

3.3.2 Técnicas 3D

Últimamente ha incrementado la tendencia del reconocimiento facial

tridimensional, donde se utilizan imágenes 3D tanto en el entrenamiento como en el

reconocimiento. Esta técnica utiliza sensores en 3D para captar información sobre la

forma de la cara. Esta información se utiliza posteriormente para identificar rasgos

característicos del rostro como por ejemplo la barbilla, el contorno de los ojos, la

nariz o los pómulos, y reteniendo información espacial, a parte de la textura y la

profundidad. Una ventaja del reconocimiento facial en 3D es que no les afectan los

cambios de iluminación, como pasa en el caso de otras técnicas. Además, otro punto

a favor es que pueden reconocer una cara en diferentes ángulos, incluso de perfil. El

problema es que es difícil obtener imágenes 3D fidedignas en la fase de

reconocimiento, ya que los sensores 3D tienen que estar muy bien calibrados y

sincronizados para adquirir la información correctamente. Es por eso que se utiliza

el método de Anàlisi de Components Principals Parcial (P2CA - Partial Principal

Component Analysis), derivado del PCA, donde se utilizan imágenes en 3D en la fase

de entrenamiento y en la base de datos, pero en la fase de test puede utilizar tanto

imágenes en 2D como en 3D. La técnica intenta reconstruir modelos faciales en 3D a

partir de múltiples imágenes de la misma persona adquiridas mediante un sistema

multicámara o a partir de aparatos 3D. Las imágenes 3D son imágenes de 180º en

coordenadas cilíndricas. Otros ejemplos de técnicas 3D son 3-D Morphable Model i

3-D Face Recognition.

3.3.3 Técnicas de análisis de la textura de la piel

Esta tendencia utiliza los detalles visuales de la piel. Analiza las líneas únicas, patrones

y detalles evidentes como manchas y/o cicatrices del rostro del sujeto. Al utilizar este

algoritmo nos ahorramos tener que recorrer toda la base de datos ya que podemos

descartar imágenes fácilmente. Hay estudios que demuestran que utilizando esta

técnica, juntamente con el reconocimiento facial, el rendimiento puede aumentar

hasta un 25 por ciento.

3.4 Proceso de enseñanza de redes neuronales multicapa que emplea el

algoritmo Backpropagation.

Para este proceso la red neural consta de tres capas con dos de entrada y una de

salida, que se muestra en la siguiente figura:

Cada neurona está compuesta de dos unidades. La primera unidad añade productos

de los coeficientes de pesos y las señales de entrada. La segunda unidad realiza la

función no lineal, denominada función de activación de la neurona. La señal e es la

suma de la señal de salida, y y=f(e) es la señal de salida del elemento no lineal. La

señal y es también señal de salida de la neurona.

Para enseñar a la red necesitamos de un conjunto de datos. El conjunto de datos de

entrenamiento se compone de señales de entrada ( x1 y x2 ) asignados con el destino

correspondiente (salida deseada) z. el entrenamiento de la red es un proceso

iterativo. En cada iteración los pesos o coeficientes de cada nodo se modifican al

usar nuevos conjuntos de datos de entrenamiento. Después de esta etapa se puede

determinar los valores de las señales de salida para cada neurona en cada capa de la

red. Las imagines de abajo ilustran como la señal se propaga a través dela red, los

símbolos w (xm) n representan los pesos de las conexiones entre la red de entrada x m

y neurona n en la capa de entrada. Los símbolos yn representan la señal de salida de

la neurona n.

La propagación de señales a través de la capa oculta. Los símbolos wmn representan

los pesos de las conexiones entre la salida de la neurona m y de entrada de la

neurona n en la siguiente capa.

La propagación de señales a través de la capa de salida.

En el siguiente paso del algoritmo, la señal de salida de la red y se compara con el

valor de salida deseado (el objetivo), que se encuentra en el conjunto de

entrenamiento. La diferencia se llama señal de error de la neurona en la capa de

salida.

Es imposible calcular directamente la señal de error para las neuronas internas,

porque los valores de salida de estas neuronas son desconocidos. Durante muchos

años el método eficaz para la formación de redes multicapas ha sido desconocida.

Solo a mediados de los años ochenta el algoritmo Backpropagation se ha elaborado.

La idea es la de propagar la señal de error (calculado en la etapa de aprendizaje)

de nuevo a todas las neuronas.

Los coeficientes de peso wmn usados para propagar errores hacia atrás son iguales a

este usado durante el computo del valor de salida. Solo la dirección del flujo de

datos ha cambiado (las señales son propagadas desde las salidas hacia las entradas

una después de otra). Esta técnica es usada para todas las capas de la red. Si los

errores propagados vino de pocas neuronas ellas se adicionan. La ilustración está

abajo:

Cuando la señal de error para cada neurona es computada, los coeficientes de peso

de la entrada de cada neurona pueden ser modificados. En las fórmulas a

continuación df(e)/de representa la derivada de la función de activación de la

neurona ( cuyos pesos son modificados).

El coeficiente afecta la velocidad de enseñanza de la red. Hay unas pocas técnicas

para seleccionar este parámetro. Mientras los coeficientes de peso están siendo

establecidos el parámetro es decrementado gradualmente. El segundo método, más

complicado, comienza la enseñanza con un pequeño valor del parámetro. Durante el

proceso de enseñanza el parámetro es incrementado cuando la enseñanza se avanza,

y decrementado otra vez en la etapa final. Comenzar el proceso de enseñanza con

valores del parámetro bajos, permite determinar el signo de los coeficientes de peso.

4 Bibliografía 1. De Abajo, N. Gómez, A. (2001). Introducción a la inteligencia artificial: Sistemas

expertos, redes neuronales artificiales y computación evolutiva, Universidad de

Oviedo.

2. Grau, M. Noguera, M. (2001). Cálculo numérico: Teoría y Práctica, Edicions UPC.

3. Pérez, M. Caparrini, F. (2003). Máquinas moleculares basadas en ADN, Universidad

de Sevilla.

4. Serrano, R. (2003). Introducción al análisis de datos experimentales: Tratamiento

de datos en Bioensayos, Universitat Jaume I.

5. Viñuela, P. Galván, I. (2004). Redes de Neuronas Artificiales, Un Enfoque Práctico,

España, Pearson Prentice Hall.

6. Gordon, A. (2005). Fundamentos de inversiones. Teoría y práctica. 3b0 edición,

Pearson Educación.

7. Guisande, C. (2006). Tratamiento de datos, Ediciones Díaz de Santos.

8. Hernández, L. (2006). Predicción y optimización de emisores y consumo mediante

redes neuronales en motores diesel, Reverte.

9. Vásquez, M. Ramfrez, G. (2006). Aspectos Teóricos del Algebra Matricial con

Aplicaciones Estadísticas, CDCH UCV.

5 Institución interesada El motivo principal por el cual se construyen este tipo de sistemas es la seguridad. Son

usados en muchos tipos de ambientes, con el fin de dar seguridad a personas, a bienes

o a información. A continuación se mencionan algunos lugares, que se podrían

beneficiar con estos sistemas.

Terminales aéreas: un sistema de reconocimiento facial, en un aeropuerto, es de

mucha utilidad, puesto que en él hay que asegurarse, de que sólo las personas

autorizadas entren a zonas restringidas.

Oficinas: en estos lugares, los sistemas de reconocimiento facial pueden ayudar

a la constitución de un control de acceso, para evitar el ingreso de intrusos y

para evitar que empleados sin permiso ingresen a ciertas áreas.

Fábricas: con un sistema de reconocimiento facial en una fábrica, se puede

monitorear la asistencia de los empleados y sus horarios trabajados, con lo que

se reduce la posibilidad de fraudes.

Escuelas: las escuelas pueden usar estos sistemas para aumentar la seguridad de

estudiantes, maestros y trabajadores. De la misma manera, se pueden crear

controles de acceso, para que los alumnos sólo ingresen a lugares a los que han

sido autorizados.

Hoteles: con el uso de sistemas de reconocimiento facial en hoteles, se puede

hacer un control de acceso para aéreas de personal y en el caso de los visitantes;

para que éstos puedan ingresar a sus habitaciones. Con esto se elimina el uso de

códigos de seguridad o de tarjetas de ingreso.

Instituciones penitenciarias: las prisiones pueden usar los sistemas de

reconocimiento facial, de forma en que si los guardias son atacados y sus llaves

son tomadas por los prisioneros, los presos no podrán salir de sus celdas.

Obras de construcción: estos lugares casi siempre son blanco de criminales,

puesto que existen en ellos materiales contundentes. Al implementar un control

de acceso, sólo las personas que deben estar en la obra, contarán con acceso a

ella.

Lugares que necesitan proteger información sensible: algunos lugares, como

agencias del gobierno o grandes corporaciones, pueden acceder a sistemas de

seguridad biométrica, para mantener sus datos confidenciales protegidos.

Bancos: las instituciones financieras pueden usar controles de acceso

biométrico, además de sistemas para asegurarse de que una persona sea quién

dice ser, mediante el uso del reconocimiento facial.

6 Contacto Teléfono fijo: 243727

Núm. Celular: 958- 670868