Base de Datos de Rostros
Base de Datos de Rostros
Base de Datos de Rostros
Software
Ingeniera Industrial Tecnologas de Base de Datos
RESUMEN
En este trabajo de investigacin se presenta informacin sobre el diseo de bases de
datos de caractersticas biomtricas. Una de las tecnologas emergentes que muestra
grandes posibilidades de desarrollo en los prximos aos, es la Biometra, la cual tiene
como propsito la identificacin de personas por medio de sus diversas caractersticas
fsicas (voz, huellas digitales, caractersticas faciales, etc.). A partir de los ataques
terroristas a las dos torres del World Trade Center en New York, el 11 de septiembre de
2001, los sistemas biomtricos cobraron un gran auge.
Sobre todo, los sistemas de reconocimiento de rostros. Dichos sistemas tendrn el objetivo
de detectar posibles sospechosos, a partir de diversas bases de datos con fotografas de
personas consideradas terroristas o delincuentes. Tambin, tiene otros mltiples usos de
identificacin en la vida cotidiana: acceso a cajeros automticos, a estacionamientos,
acceso de personal a oficinas, reconocimiento de personas desaparecidas y fallecidas que
no presenten identificacin, acceso a computadoras (en lugar de utilizar password), etc.
En la actualidad, los dos paquetes de software comercial ms utilizados en el
reconocimiento de rostros, utilizan la tcnica de Anlisis por Componentes Principales o
alguna derivacin de ella. Asimismo, la gran mayora de los paquetes computacionales
realizados en proyectos de investigacin para reconocimiento e identificacin de rostros,
que utilizan otros mtodos estadsticos (regresin, redes neuronales, anlisis cluster,
etc.), comparten algo en comn con el anlisis de componentes principales: todos ellos
utilizan clculos y mtricas que se llevan a cabo en un espacio denominado Euclidiano o
L2.
El software basado en tcnicas que utilizan la mtrica Euclidiana, no ha presentado
resultados completamente satisfactorios en el proceso de reconocimiento de rostros. Se
considera que dichas limitaciones se presentan por dos motivos principales: el primero,
debido al propio algoritmo, en segundo lugar, al tipo de caractersticas estadsticas que
presentan los datos de entrada al sistema (los rostros). Para poder utilizar adecuadamente
mtodos estadsticos en espacios L2, los datos de entrada deben cumplir los supuestos de
linealidad, homoscedasticidad y sobre todo, el de normalidad multivariada.
Actualmente, tenemos bases de datos donde se construyen arreglos de servidores de
almacenamiento disponible en red basado en la plataforma de software libre denominada
Gluster que proporciona un alto grado de escalabilidad y disponibilidad.
En la actualidad ya se realiza el diseo de la base de datos de caractersticas biomtricas
para reconocimiento facial y de la forma de caminar y del manejador para la base de
datos que permite incrementar su tamao en cuanto a nmero de personas y agregar
otras caractersticas biomtricas de manera natural para los usuarios.
CAPITULO I
INTRODUCCIN
En la vida cotidiana rara vez nos maravillamos de nuestra capacidad para reconocer un
rostro. Es sorprendente que podamos memorizar un nmero tan considerable de rostros
en el transcurso de nuestra vida. En general lo hacemos de golpe, de manera holstica, sin
necesidad de una descripcin verbal ni de un anlisis consciente de las diversas
caractersticas faciales. Podemos dejar de ver a una persona por algunos aos y cuando la
encontramos nuevamente, generalmente la reconocemos, a pesar de que haya cambiado
de peinado o tenga barba. Sin embargo, el lograr que una computadora pueda reconocer
un rostro, es un problema muy complejo.
El reconocimiento de rostros por medios computacionales, forma parte del rea
denominada Biometra. La palabra biometra, se deriva del griego (bio y metria): Bio (vida)
y metra (medida).
El propsito de la Biometra, consiste en la elaboracin de mtodos automatizados para la
identificacin o verificacin de personas mediante el uso de caractersticas fsicas o de
comportamiento. Esta tecnologa se basa en la premisa de que cada persona es nica y
posee rasgos distintivos que pueden ser utilizados para identificarla. Algunos ejemplos de
caractersticas fsicas son la cara, las huellas digitales, el iris de los ojos y en los ltimos
aos se ha considerado el ADN. Por su parte, algunos ejemplos de caractersticas de
comportamiento son la voz, la manera de firmar, la forma de caminar.
La informacin es el elemento vital en el procesamiento de datos. La necesidad de
mantener la informacin disponible en todo momento, ha hecho a los sistemas de
almacenamiento un componente central en los sistemas de Tecnologas de Informacin.
La tendencia general, es la de implementar sistemas cada vez ms robustos con
rendimientos y disponibilidad cada vez mejores y, lo ms importante, con costos cada vez
menores. Necesidades como estas, han llevado al mundo tecnolgico de hoy a proponer el
diseo de una base de datos que ser utilizada para el anlisis y reconocimiento de
personas basado en sus caractersticas biomtricas como son el reconocimiento facial,
huellas dactilares y forma de caminar.
Actualmente, una de las tecnologas que representan una de las pocas alternativas
disponibles para poder mostrar grficamente un perfil multivariante es Caras de Chernoff.
Esta tecnologa cuenta con un grfico asigna a las variables de una base de datos (hasta
un mximo de dieciocho) rasgos fsicos de la cara y dibuja una cara por cada individuo de
la tabla.
York,
11 de septiembre de
los
el
2001,
1.2.- BIOINFORMTICA
La Bioinformtica es el campo de la ciencia en donde la biologa, la informtica y la
tecnologa se fusionan en una sola disciplina. ltima meta: descubrimiento de nuevas
penetraciones biolgicas as como crear una perspectiva global que permita analizar los
principios de unificacin en Biologa.
CAPITULO II
RECONOCIMIENTO DE ROSTROS
HUMANOS POR MTODOS
COMPUTACIONALES
El propsito de este captulo, consiste en presentar una revisin de la literatura acerca de
los trabajos de investigacin sobre reconocimiento automatizado de rostros por medio de
computadoras. Se seleccionaron las investigaciones que se consideraron ms relevantes y
que presentan una panormica de los mtodos ms famosos que se han utilizado en el
reconocimiento de rostros.
Es importante sealar, que se tienen dos grandes reas o enfoques acerca del estudio del
reconocimiento de rostros:
El psicolgico y de neurociencias,
El reconocimiento por medio de computadoras.
EN
EL
9
Unicidad de caras.
Investigacin acerca de que si el reconocimiento es holstico o por anlisis de
caractersticas locales.
Anlisis y uso de expresiones faciales para reconocimiento e investigacin acerca
de :
Como los nios perciben las caras.
Organizacin de la memoria para el reconocimiento de rostros.
Desordenes en la habilidad para reconocer en forma precisa rostros.
Investigacin acerca de la existencia de una gran neurona madre para el
Reconocimiento de rostros.
Papel del hemisferio derecho del cerebro en la percepcin de rostros.
10
11
12
13
14
Akamatsu
y
otros
(1991), utilizan el mtodo KL para la extraccin de caractersticas a partir de imgenes
de caras, ste mtodo, se combina con otras dos operaciones para mejorar la
ejecucin de la tcnica de extraccin en la clasificacin de caras con vista frontal. La
aplicacin de la expansin KL directamente sobre una imagen facial sin
estandarizacin, no logra robustez ante variaciones en la adquisicin de la imagen. El
mtodo reportado por Akamatsu, utiliza estandarizacin de la posicin y tamao de la
cara. Los puntos centrales son las regiones correspondientes a los ojos y boca.
Cada imagen objetivo se traslada, escala y rota a travs de transformaciones afines,
tal que, los puntos de referencia de los ojos y boca estn en un arreglo espacial
especfico con una distancia constante. La expansin KL aplicada a la estandarizacin
de imgenes de caras se conoce como la transformada Karhunen-Loeve de patrn de
intensidad en imagen objetivo de transformada afn (KL-IPAT). Golomb y Sejnowski
(1991), utilizan cascadas de dos redes neuronales para clasificacin de gnero. El
primer estado es una red neuronal para comprimir imgenes, cuyos nodos ocultos
sirven como entradas a la segunda red, la cual ejecuta la clasificacin del gnero.
Ambas redes se encuentran totalmente conectadas y redes de tres capas, se
entrenan por un algoritmo estndar back-propagation. Las imgenes utilizadas para
la prueba y entrenamiento fueron adquiridas de tal forma que se evita el pelo facial,
joyera, maquillaje, fueron preprocesadas de tal forma que los ojos estn a nivel, as
como la boca.
15
16
CAPITULO III
ALGORITMOS ACTUALES DE
RECONOCIMIENTO FACIAL
Hay dos familias de tcnicas de reconocimiento facial: tcnicas basadas en la apariencia y
tcnicas basadas en modelos [8]. En cada una de estas familias, se encuentran varios
mtodos para caracterizar la imagen, aunque en este estudio solo se tratarn algunos de
los mtodos basados en la apariencia.
Los sistemas basados en la apariencia se utilizan directamente sobre las imgenes sin
hacer uso de modelos 3D. Estos tipos de sistemas representan un objeto en funcin de
diferentes vistas del mismo. En estos sistemas cada imagen se representa como un punto
en un subespacio vectorial, de forma que la comparacin entre la imagen de test y las
imgenes de referencia se realiza en el subespacio vectorial caras.
El objetivo de estos algoritmos es clasificar las diferentes caras en el nuevo subespacio,
pero para ello ser necesario entrenar previamente el sistema con imgenes de diferentes
caras con diferentes vistas. Estas tcnicas sern explicadas con ms detalles
posteriormente donde se expondrn los mtodos de clasificacin basados en la apariencia
que se han utilizado. Por otro lado estn los sistemas basados en modelos, los cuales
intentan construir un modelo lo ms descriptivo posible de la cara humana capaz de
detectar con precisin las variaciones faciales.
17
Estos sistemas tratan de obtener caractersticas biomtricas de las imgenes para realizar
el reconocimiento (distancia entre ojos, grosor de la nariz). Habitualmente estas tcnicas
requieren de imgenes de gran resolucin. Cuando se utilizan estos sistemas, el algoritmo
sabe con antelacin el objeto que ha de representar y lo que intenta hacer es que
corresponda la cara real con el modelo. El proceso que se suele seguir cuando se usan
estas tcnicas est formado por tres pasos:
Construccin del modelo.
Ajustar el modelo a la imagen de test.
Utilizar los parmetros del modelo ajustado para calcular la similitud entre la
imagen de test y las imgenes de referencia para realizar el reconocimiento.
Ventajas:
o Ms rpidos.
o Requieren de un menor tamao de las imgenes.
o Menor complejidad.
o No requieren de un conocimiento previo de las imgenes.
Inconvenientes:
o Ms afectados por cambios en la orientacin o expresin de la cara.
o Ms dificultades frente a cambios en la iluminacin.
A continuacin se har una pequea descripcin de la literatura que existe sobre algunos
de los mtodos ms relevantes de reconocimiento facial y una pequea explicacin de
cmo se va a realizar el reconocimiento de las imgenes.
18
Para realizar los diferentes experimentos que se realizan en este estudio el sistema hace
uso de los siguientes conjuntos de imgenes:
Imgenes de referencia: son las que estn almacenadas y son conocidas por el
sistema y son utilizadas para saber si una imagen de entrada pertenece o no a
algn sujeto registrado en el sistema.
Los pasos que se llevan a cabo para este reconocimiento, sin tener en cuenta el
preprocesado previo de las imgenes, son los que se detallan a continuacin:
1) El sistema necesita de un set de imgenes de referencia las cuales son
procesadas y proyectadas (y = Wx) en el nuevo subespacio para despus ser
utilizadas para conocer si una imagen pertenece o no a un individuo registrado en
el sistema.
2)
19
condicin:
En concreto para el caso de este estudio, una imagen de test pertenece a otra del
conjunto de imgenes de referencia si es la que cumple distancia mnima de
manera que siempre se tiene que asignar un sujeto a una imagen de entrada.
20
21
Otra de
las
cualidades de PCA, es que realiza una discriminacin entre clases, es decir, todas las
caras correspondientes a un mismo individuo estn cerca entre s, mientras que las
imgenes correspondientes a individuos diferentes estn ms alejadas. Esta
propiedad es ms destacable en las primeras componentes de las imgenes
proyectadas. En la figura 19 se muestra un ejemplo de la proyeccin de tres imgenes
de personas diferentes mostrando diferentes componentes.
22
23
3.2.3.-
LPP
24
Este mtodo presenta algunos inconvenientes. Uno de ellos, aunque para el caso de
este estudio no afecta, es la dificultad de recuperar los datos originales a partir de los
datos proyectados al nuevo subespacio, esto se debe al hecho de hacer uso de bases
no ortogonales.
Otro inconveniente que se puede dar es el de las matrices singulares, que veremos
con ms detalle en el apartado 3.4.1, el cual se produce cuando la dimensionalidad de
los datos es mucho ms elevada que el nmero de muestras (n >> N). Para
solucionar este problema se hace uso de tcnicas de reduccin dimensional de los
datos antes de utilizarlos de manera que n = N o n > N.
Por otro lado, este mtodo es interesante por diferentes perspectivas:
Los mapas estn diseados para minimizar algn criterio objetivo procedente
de las tcnicas lineales clsicas.
Como LPP preserva la estructura local de los datos, el sistema tendr los
mismos vecinos en el espacio de baja dimensionalidad que en el de alta.
LPP es un mtodo lineal, lo que hace que sea rpido y conveniente para
aplicaciones prcticas.
LPP est definida para todos los casos, a diferencia de las tcnicas de
reduccin no lineales que solo estn definidos para el conjunto de datos de
entrenamiento, de manera que al tener un nuevo dato LPP es capaz de
representarlo en el nuevo subespacio sin tener que recalcularse las matrices
de proyeccin.
25
26
De esta manera se puede tratar este algoritmo del mismo modo que PCA o LPP, es
decir, como un sistema que tiene una matriz de proyeccin (en este caso nica para
cada imagen) gracias a la cual se puede proyectar las imgenes a un subespacio de
baja dimensionalidad de igual modo que se hace en PCA (figura 15).
Este sistema hace uso parcial de los sistemas basados en modelos porque requiere
de la localizacin de alguna caracterstica facial. En este caso para el buen
funcionamiento del sistema se necesita que las imgenes estn recortadas y
totalmente alineadas. Por esta razn previamente a aplicar el algoritmo, se debe
detectar la posicin de los ojos y alinear la imagen segn un criterio (figura 25). En
caso de que no se realice esta alineacin previa de las imgenes, el sistema no
27
28
CAPITULO IV
BASE DE DATOS DE ROSTROS
4.1 BASE DE DATOS OLIVETTI (ORL DATABASE)
Se trata de una base de datos formada por 40 individuos, a razn de 10 imgenes por
individuo tomada entre 1992 y 1994 [27]. En esta base de datos se pueden encontrar tanto
imgenes de hombres como de mujeres.
Como es posible observar en la figura, en esta base de datos se pueden encontrar
imgenes con diferentes posiciones y expresiones faciales (ojos abiertos/cerrados,
sonriendo o no,), lo cual ser una dificultad aadida para el sistema. Del mismo modo se
puede observar como en algunos sujetos, se tendrn imgenes con distintos detalles
faciales (gafas o no, bigote o no,).
Por ltimo decir que todas estas fotos han estado tomadas bajo unas condiciones de
iluminacin y de fondo de imagen controladas. El tamao de todas estas imgenes es de
92x112 pxeles, con 256 niveles en la escala de grises para cada pxel.
29
30
31
CAPITULO V
TECNOLOGA DE BASE DE DATOS Y
RECONOCIMIENTO DE ROSTROS CON
SISTEMAS BIOMTRICOS
5.1.- SISTEMAS BIOMTRICOS
Los sistemas biomtricos, los cuales emplean diversas caractersticas fsicas o de
comportamiento aprendido de las personas para su identificacin, han sido un tpico de
activa investigacin durante los ltimos aos, tiempo en el cual se han desarrollado
diversos sistemas tanto para la identificacin de personas como para la verificacin de su
identidad (Jain y col, 2008; Ngugi y col., 2011). Entre los sistemas biomtricos reportados
hasta la fecha existen esquemas basados en caractersticas de la voz, del rostro, las
huellas dactilares, en la firma autgrafa, la cadencia de tecleo, la forma de caminar, etc.
(Gibbs, 2010).
Entre ellos los sistemas basados en el reconocimiento de rostros son de los ms utilizados
debido a su naturaleza no-intrusiva, ya que en stos la adquisicin de los datos se lleva a
cabo simplemente tomando una fotografa.
Adicionalmente, ste es el mecanismo ms frecuentemente usado por las personas para
reconocerse entre s (Zhonghua y col. 2013; Vezzeti y Marcolin, 2012; Fookes y col. 2012).
Durante los ltimos aos diversos esquemas de reconocimiento de rostros se han
incorporado en diversos equipos comerciales, proporcionando porcentajes de
reconocimiento superiores al 95% cuando operan en condiciones controladas. Sin
embargo su funcionamiento se degrada considerablemente cuando operan en ambientes
32
33
34
35
36
a) Etapa de pre-procesamiento
En esta etapa inicial se elimina el ruido aditivo que puede llegar a contaminar
la imagen capturada, se segmenta la imagen y eventualmente, dependiendo
del tamao de la imagen capturada, se realiza una reduccin de la dimensin
de la imagen de entrada mediante una operacin de filtrado pasa bajas,
similar al realizado en la DWT, para facilitar el anlisis de la misma. En caso
de ser necesario, en esta etapa se podra tambin llevar a cabo la
restauracin de la imagen de entrada empleando esquemas de igualacin
del histograma para mejorar su calidad cuando sta ha sido alterada debido
a cambios en la iluminacin (Olivares-Mercado y col., 2007).
38
39
Para llevar a cabo la evaluacin del sistema y tomando en cuenta que no existe, hasta
donde los autores conocen, una base de datos estandarizada para reconocimiento de
rostro usando visin estreo, se construy una usando una cmara Fujifilm FinePix real
3D dual de 10 Mega pixeles. La base construida consiste de 60 personas diferentes con
15 imgenes estreo por cada persona, de las cuales 10 imgenes de cada persona se
usaron para el entrenamiento del sistema y 5 para la realizacin de pruebas de
identificacin y verificacin. As, el nmero total de imgenes contenidas en esta base de
datos es de 1800 imgenes, capturadas en un ambiente con iluminacin y fondo
controlado. La figura 10 muestra algunas de las imgenes que conforman esta base de
datos.
40
CAPITULO VI
BASE DE DATOS DISTRIBUIDA DE
ROSTROS Y FORMA DE CAMINAR EN 3D
Actualmente muchos grupos de investigacin se encuentran desarrollando proyectos en el
rea de Biometra, especialmente en el reconocimiento de personas por su forma de
caminar y reconocimiento facial.
Para llevar a cabo investigaciones es necesario tomar una serie de vdeos de las personas
caminando en ngulos de 45, 60 y 90 grados con respecto a las cmaras. Si tomamos en
cuenta que para el reconocimiento se tiene un Sistema de Visin en Estreo que captura a
la persona, se tienen 2 vdeos para cada ngulo.
Tambin agreguemos a esto que se captura a la persona caminando en trayectorias tanto
de derecha a izquierda como de izquierda a derecha, haciendo todava ms grande el
cmulo de datos adquiridos. En resumen, se tendran: 1) dos cmaras, 2) dos trayectorias
(de izquierda a derecha y derecha a izquierda) y, 3) tres ngulos (45, 60 y 90 grado),
teniendo as para una sola persona un total de 12 vdeos para el anlisis de su forma de
caminar. Aparte del video de otra cmara que captura informacin de frente a la persona
para el reconocimiento facial. Uno de los problemas al adquirir los vdeos, es el tamao en
bytes que estos pueden alcanzar.
Aunque este no es el nico problema, ya que existen tambin otro tipo de elementos
producto del procesamiento llevado a cabo sobre los datos, los cuales pueden ser, los
cuadros de imagen extrados de los vdeos (en promedio 150 por vdeo), imgenes
resultado de operaciones realizadas sobre estos ltimos, como por ejemplo: deteccin de
bordes, segmentacin y otros.
En conjunto toda esta cantidad de informacin llega a alcanzar un tamao de hasta 10
Gigabytes por persona, lo que hace muy difcil la tarea de administracin y
almacenamiento de los archivos, especialmente si se lleva a cabo de manera local, es
41
42
Bajo costo: Debe ser posible construir, configurar y mantener el sistema sin que
esto implique grandes gastos. En lo posible no ser necesario pagar licencias de
software.
Tomando en cuenta los distintos puntos, se seleccion Gluster de entre varias de las
plataformas evaluadas, algunas de ellas como: OpenFiler y FreeNAS.
La seleccin de Gluster se debi en gran medida a su escalabilidad al momento de
agregar servidores, su sencillez al momento de administrar el sistema y habilidad al crear
volmenes de almacenamiento combinando discos localizados, tanto en el mismo servidor,
como en servidores aadidos, teniendo as, una piscina de almacenamiento vista por
cada uno de los nodos de la red. Actualmente solo se cuenta con 2 nodos configurados de
manera que un nodo es el espejo del otro y se asegura as que la informacin est
disponible incluso si falla uno de ellos, aunque el sistema puede escalar de acuerdo a las
necesidades de la aplicacin y a la demanda de almacenamiento. La figura 1 muestra la
configuracin utilizada en nuestro sistema.
43
Gluster es una
plataforma
que
permite
implementar servidores NAS con capacidad y rendimiento que puede escalar de unos
cuantos Tera bytes a mltiples Peta bytes, utilizando solamente productos de bajo costo y
lo ms importante, en una solucin de fcil administracin y configuracin.
La plataforma de almacenamiento de Gluster (Gluster Storage Platform) integra el sistema
de archivos GlusterFS con un sistema operativo y una interfaz de usuario con acceso va
web para administracin del sistema. Nos permite implementar un clster de servidores
NAS de manera muy sencilla.
Un clster implementado mediante Gluster es una coleccin de servidores individuales con
sus recursos de almacenamiento exportados como un protocolo a nivel de archivo que
cumplen con POSIX. Todos los servidores corren sobre la plataforma de almacenamiento
de Gluster, cada servidor en el clster est activo y la informacin se puede acceder desde
cualquier servidor utilizando cualquiera de los protocolos de comunicacin soportados.
44
XMLFile: Esta Clase permite manipular los archivos XML, as como la informacin
contenida en ellos. Realiza operaciones como crear, anexar, borrar, leer y
45
Actualmente se desarrolla un Gestor de Base de Datos que utiliza estas clases el cual
permitir al usuario realizar operaciones sobre los datos, tales como: insertar, eliminar,
modificar y otras, adems de poder visualizar la informacin ya contenida, exceptuando
detalles como la localizacin fsica de los archivos. Todo esto mediante el uso exclusivo de
la informacin contenida en los archivos XML y las clases desarrolladas para su manejo.
Una de las alternativas al manejar objetos de gran tamao, como son los videos e
imgenes, es la de utilizar BLOBs. En nuestro diseo solo se plantea el manejo de los
datos a nivel de archivo, almacenando la direccin fsica de los mismos en los archivos
XML y permitiendo solamente al Gestor de Base de Datos conocer este tipo de
informacin. La decisin del manejo de los datos de esta forma se debe en gran medida
tambin a la utilizacin de Gluster como plataforma de almacenamiento, a sus
caractersticas como un sistema de archivos y al manejo que este hace de los mismos.
La distribucin de los datos en un arreglos de servidores como el que se ha construido
permite mantenerlos siempre disponibles, incluso si hay fallas en alguno de los elementos
que componen el sistema, esto no es posible si la informacin se guarda en una sola
computadora. Se demuestra que a travs de un correcto diseo e integracin de software
libre y hardware convencional, se puede construir una arquitectura distribuida tipo clster
dedicada a solamente al almacenamiento de datos.
CAPITULO VII
APLICACIONES ACTUALES DE
RECONOCIMIENTO FACIAL Y BASE DE
DATOS
La tecnologa para el reconocimiento facial se ha vuelto omnipresente. Desde nuestras
fotos en Facebook hasta las cmaras de seguridad de los aeropuertos, son la
46
47
48
49
50