presentacion redes neuronales
Post on 11-Dec-2015
13 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
top related