Вы находитесь на странице: 1из 8

IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID 1

Investigacin / Desarrollo de uso de la


Raspberry Pi para aplicaciones biometricas
de identificacin y seguridad
Misael Fernando Perilla Bentez, Universidad de la Rioja

Abstract Este documento trata sobre los resultados obtenidos durante el trabajo de fn de master (TFM), titulado
Desarrollo/Investigacin de uso de la Raspberry Pi para aplicaciones biomtricas de identificacin y seguridad, En el cual se
plante el estudio de una variedad de algoritmos, que son frecuentemente utilizados para la deteccin de rostros y/o el
reconocimiento facial, comprobando su rendimiento en un dispositivo de computo con recursos limitados y tamao reducido
como lo es la Raspberry Pi, esto con el nimo de determinar cules son los resultados de cada uno, bajo una serie de
circunstancias prestablecidas de operacin y el rendimiento que cada uno de estos algoritmos presenta al ser ejecutado, su
efectividad, consumo y otros factores relevantes, para finalmente determinar cual de estos es el ms eficiente, frente al desarrollo
de soluciones informticas, que cubran las necesidades que se presentan con el auge en la sociedad moderna, sobre los
sistemas de vigilancia y seguridad en espacios cerrados como hogares, oficinas, centros de investigacin y desarrollo, solo por
mencionar algunos. Para el Proyecto se implementaron los diferentes algorimos en lenguaje Python 3.5, especialmente por las
ventajas que este ofrece para ser ejecutado en este tipo de placa, y la abundante cantidad de libreras disponibles, ejecutados
sobre el Sistema operativo Raspbian versin Jessie (4.4 con Pixel).

Index Terms algoritmos de reconocimento facial, biometra, raspberry, seguridad.

1 INTRODUCCIN

E N la actualidad, el uso de sistemas electrnicos para el


apoyo a la seguridad y vigilancia, como cmaras de vi-
gilancia, controles de acceso que implementan lectores bio-
que ofrece con muchos otros dispositivos de hardware (lec-
tores biomtricos entre ellos), conectividad a internet y uso
de un sistema operativo estable y de fcil acceso, hacen de
mtricos, o el uso de tecnologas basadas en la lectura de esta, una plataforma idnea para el desarrollo de software
tarjetas u otros dispositivos equivalentes de identificacin, de seguridad, ofreciendo as la potencia de un PC en la
solo por mensionar a algunos, ha repercutido en las orga- palma de la mano, a un costo reducido.
nizaciones y entidades gubernamentales, aumentando el Una de las mayores tendencias en la automatizacin de
presupuesto que estas deben aplicar en la instalacin y las seguridad, est liderada por software de reconoci-
mantenimiento de estos sistemas, la cantidad y calidad del miento personal mediante biometra, como el reconoci-
personal de seguridad que debe ser capacitado en el uso miento facial, el cual alimentado por una base de datos, y
efectivo de esta tecnologa, as como la manipulacin de los funcionando con un ncleo del sistema basado en un algo-
datos e informacin suministrada por dichos dispositivos ritmo especfico, dependiendo del tipo de entrada de datos
y sistemas, los cuales en mltiples casos, puede que no que tenga este sistema, el cual puede ser en tiempo real (to-
cumplan con todas las necesidades que el usuario final mando fotografas o video), o de tipo esttico (utilizando
desea, junto con las limitaciones a nivel tecnolgico (hard- imgenes previamente capturadas), se desarrolla un soft-
ware y software) que se pueden presentar. ware que est en la capacidad de reconocer las diferentes
Existe una tendencia en los sistemas de informacin, caractersticas de un rostro humano, y asociar estos rasgos
que tiene como base la automatizacin de procesos, estos a los que estn previamente contenidos en la base de datos,
avances van correlacionados con el uso de la inteligencia determinando as, la identidad de la persona, esto sin in-
artificial y sus diferentes ramificaciones, trabajando con- tervencin humana (o por lo menos una intervenson di-
juntamente en cubrir la necesidad de utilizar dispositivos recta sobre el proceso de identificacin), muchos de estos
electrnicos, que sean cada vez ms robustos y a su vez sistemas son usados para la identificacin de personal la-
tengan un menor consumo de recursos, uno de los dispo- boral en la entrada de un edificio, bsqueda de criminales
sitivos que actualmente tiene ms implementaciones para por parte de fuerzas de la ley, o en procesos de investiga-
cubrir estas necesidades especficas es la placa Raspberry ciones judiciales cuando se busca comprobar la inocencia,
Pi, gracias a su tamao compacto y la gran compatibilidad culpabilidad y/o participacin del investigado en un he-
cho delictivo.
Se han realizado variados desarrollos e investigaciones
ligadas a la biometra, pero an no existe una investigacin
M .Perilla. Ingeniero de Sistemas - Universidad de Cundinamarca, Especia- que profundice sobre cul de los mltiples algoritmos y
lista en Docencia Universitaria - Universidad Cooperativa de Colombia, tecnologas existentes, ofrecen un mayor y/o mejor desem-
Master en Seguridad Informtica - Universidad de la Rioja. E-mail: mi-
sael.bigboss@gmail.com.

xxxx-xxxx/0x/$xx.00 200x IEEE Published by the IEEE Computer Society


2 IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID

peo en esta clase de plataformas electrnicas, de funcio- cin de un sistema de extraccin de huellas utilizando Ras-
namiento limitado y reducido tamao, que poseen claras pberry Pi, controlado por una versin modificada de De-
diferencias en su poder de procesamiento y almacena- bian Linux optimizada para arquitectura ARM (Raspbian),
miento al ser comparados con equipos de cmputo actua- y una serie de algoritmos requeridos para el reconoci-
les, con resultados que sean utilizados para futuros desa- miento de imgenes para la medicin de los valores bio-
rrollos de software y hardware orientado a estos apartados mtricos, mediante el uso de OpenCV-2.4.9 (una serie de
de la seguridad basada en sensores biomtricos montados libreras Open Source) implementada sobre CMake, g++,
en Raspberry Pi. Makefile y el algoritmo de extraccin Minutiae para las
huellas dactilares, muchos de los algoritmos en ese pro-
yecto, se encuentran basados en PCA, especialmente el
2 MARCO TERICO usado para la planta de los pies (usando mtodos propios
2.1 Estado del arte de OpenCV), este proyecto guarda mucha relacin con lo
Existen mltiples proyectos relacionados con la imple- propuesto en la investigacin, sin embargo no aborda el
mentacin de Rasbperry Pi y el uso de algoritmos que mi- desgaste del sistema, as como la exixtencia de otros algo-
den variados patrones y/o caractersticas personales (da- ritmos que podra tener un desempeo mejor.
tos biomtricos), para identificar la identidad de personas, En general se puede evidenciar que no se cuenta con un
esto con diferentes propsitos, no exclusivamente ligados estudio que exponga y compare el consumo de recursos de
a la seguridad, en la Internet se pueden encontrar variados computo que un algoritmo puede abarcar al ser ejecutado
proyectos y resultados de proyectos donde se utilizan el directamente sobre una Raspberry Pi 2 Modelo B+ (u otros
reconocimiento facial, por voz, y por huellas dactilares, sin modelos relacionados), para el reconocimiento biomtrico
embargo muchos de estos proyectos en muchos casos fue- mediante los rasgos faciales, as como tampoco se abordan
ron desarrollados sin nimos de obtener informacin de temticas como el rendimiento de varios algoritmos en este
carcter cientfico, por lo cual documentacin se encuentra proceso, su eficiencia y/o eficacia al ser ejecutados directa-
limitada, los siguientes son proyectos que representan un mente sobre un hardware de tipo ARM como la Raspberry,
avance en el desarrollo de aplicaciones de seguridad y una comparativa entre ellos, lo cual es el objetivo final de
usando uno o varios aspectos de los que cubre esta inves- este trabajo.
tigacin.
Uno de los proyectos de reconocimiento personal con 2.2 Objetvos
resultados relevantes a este proyecto, es el desarrollo de un Objetivo General
sistema de reconocimiento de patrones de las venas subcu-
Realizar una investigacin sobre los diferentes algoritmos
tneas del dorso -parte superior - en la palma de la mano
de reconocimiento facial y su desempeo sobre la placa
de una persona en tiempo real usando una clasificacin ba-
Raspberry Pi 2 B+.
sada en representacin colaborativa, desarrollado por Joar-
dar, Chatterjee, & Rakshit [1], el propsito de este proyecto Objetivos Especficos
fue el desarrollo de un sistema en tiempo real para el reco- Verificar el estado del arte sobre desarrollos anterio-
nocimiento de una persona usando el patrn de las venas res de proyectos de reconocimiento utilizando Ras-
sanguneas subcutneas de la parte dorsal en la palma de pberry Pi 2 B+.
la mano humana (Palm Dorsa Subcutaneous Vein Pattern Investigar sobre los diferentes algoritmos existentes
- PDSVP), y verificar la eficacia de este patrn como una para el reconocimiento facial.
caracterstica fsica biomtrica confiable y medible, el sis- Codificar aplicaciones compatibles con Raspberry Pi,
tema ha sido desarrollado sobre una placa de computo basadas en los algoritmos de reconocimiento ante-
considerada como de bajo costo, especficamente la Ras- riormente recolectados.
pberry Pi Model B+, en conjunto con una cmara sensible Ejecutar las aplicaciones previamente desarrolladas
a emisiones infrarrojas (Raspberry Pi NoIR camera), y en una Raspberry Pi 2 B+ y comprobar su correcto
otros componentes electrnicos, la cmara puede identifi- funcionamiento.
car la radiacin infrarroja cercana (Near Infrared Radia- Realizar pruebas comparativas entre los diferentes
tions - NIR), y usando estos datos apropiadamente, se lo- aplicativos de reconocimiento facial en bsqueda de
gra obtener el patrn de la estructura vascular presente en datos relevantes a estos, que permita determinar su
la capa subcutnea de la piel en la palma de la mano hu- rendimiento, eficiencia, eficacia y efectividad.
mana, para posteriormente usar esta informacin con pro- Evaluar los resultados de las pruebas, de los cuales
psitos de identificacin personal. poder generar conclusiones y/o recomendaciones.
La cantidad de proyectos relacionados directamente
con el reconocimiento de personas mediante biometra uti-
lizando casi exclusivamente Raspberry Pi es ms limitada, 3 METODOLOGA
uno de los proyectos que se destaca, es el desarrollo de un La metodologa base de este proyecto es la investigacin
sistema de reconocimiento de los patrones presentes en las aplicada, este tipo de investigacin tambin conocida
huellas dactilares y del pie en recin nacidos, utilizando como Investigacin y Desarrollo (I+D), es el desarrollo tec-
para la extraccin Raspberry Pi, desarrollado por Sivaran- nolgico que se ocupa de la obtencin, desarrollo de cono-
jani & Sumathi [2], en el cual se demuestra la implementa- cimiento y capacidades cuya meta es la solucin de proble-
mas prcticos con ayuda de la tcnica, para ello se sirve de
MISAEL PERILLA.: INVESTIGACIN / DESARROLLO DE USO DE LA RASPBERRY PI PARA APLICACIONES BIOMETRICAS DE IDENTIFICACIN Y SEGU-
RIDAD 3

los resultados de la investigacin de las ciencias bsicas, Una vez que se tiene la informacin y los algoritmos (c-
del conocimiento orientado a la aplicacin y de experien- digo o pseudo-cdigo) necesarios, se realizar la adapta-
cias prcticas. cin de estos a lenguaje Python, de manera que puedan ser
El objetivo es la creacin y/o el cuidado de potenciales implementados en el hardware de la Raspberry. A partir
prestaciones tecnolgicas, o bien de competencia central de lo anterior se proceder a realizar las pruebas corres-
tecnolgica que permiten aplicaciones prcticas directas. pondientes de rendimiento y resultados obtenidos de cada
El trmino del desarrollo tecnolgico es similar al trmino algoritmo, donde se evaluarn los datos obtenidos de cada
investigacin de ciencias aplicadas en las ciencias natura- uno de los mtodos y tcnicas de reconocimiento facial,
les e ingenieras. para ser comparados entre s y validar esta informacin
para ser presentada, y que esta sirva como un estudio de
factibilidad para futuros desarrollos.
Finalmente, al tener los datos de rendimiento y de re-
sultados, se realizar una comparativa de los datos obteni-
dos, como por ejemplo la tasa de falsos positivos de iden-
tificacin (False Positive Identification Rate - FPIR), tasa de
falsos negativos de identificacin (False Negative Identifi-
cation Rate - FNIR), tiempo de ejecucin promedio, entre
otros datos, para llegar a una serie de conclusiones que
permitan y/o sirvan como apoyo a la hora de tomar deci-
siones sobre el uso de uno o varios algoritmos (depen-
diendo de los objetivos fijados y/o resultados esperados),
en proyectos de reconocimiento facial sobre Raspberry Pi
u otros dispositivos de capacidades similares.
Ilustracin 1: Diagrama de flujo de Metodologa. Este trabajo busca crear un estado del arte actualizado a
las tendencias de la informtica y las tecnologas de infor-
Usando este contexto, se pretende iniciar la investiga- macin y comunicacin, donde los algoritmos desarrolla-
cin con una bsqueda en medios digitales e impresos de dos para el reconocimiento de personas mediante los pa-
confianza, sobre los diferentes algoritmos que se utilizan trones del rostro, queson ejecutados sobre dispositivos de
en el desarrollo de aplicaciones de reconocimiento facial, rendimiento limitado o tambin llamados microcompu-
consultando diferentes medios de carcter investigativo tadores, donde ya se tenga una informacin relevante y
como IEEE Xplore, Google Scholar, entre otros que se en- que ayude a determinar cules son los algoritmos ms re-
cuentran disponibles en la Internet, para obtener los algo- comendados segn las necesidades del desarrollo, lo cual
ritmos y en la medida de lo posible, cdigo funcional de permitira que proyectos posteriores ahorren tiempo y es-
cada uno de estos algoritmos, en el caso de que los cdigos fuerzo en la bsqueda de un algoritmo que cumpla con to-
no puedan ser ejecutados por motivos del lenguaje o uso dos sus objetivos.
de libreras que ya no cuentan con soporte, se realizarn las
correcciones y/o adaptaciones necesarias para que este sea
4 ALGORITMOS IMPLEMENTADOS
funcional.
4.1 PCA (Principal Components Analysis)
Posteriormente se configurar un micro computador El algoritmo de reconocimiento PCA est basado en la
Raspberry Pi 2 modelo B+, con todo el hardware y soft- tcnica de anlisis de componentes principales, el cual es
ware requerido, para que los algoritmos puedan ser ejecu- un proceso mediante el cual la cantidad de datos que in-
tados y funcionen de manera correcta, realizando en este gresan, son reducidos a una cantidad mucho menor, a los
dispositivo todo el proceso del reconocimiento facial: que se les llama componentes principales, en el caso de re-
conocimiento de caracteres, se emplea esta tcnica para
identificar patrones dentro de los datos obtenidos por las
imgenes y luego representar los datos en una forma tal
que sus semejanzas y diferencias puedan ser evidenciadas
y comparadas, para as determinar la identidad de una per-
sona [3].

4.2 LDA (Linear Discriminant Analysis)


El Anlisis Discriminante Lineal es uno de los ms usa-
dos como tcnica de reduccin de la dimensin de datos,
en el pre-proceso para la clasificacin de patrones y el
aprendizaje de mquina (machine learning). El objetivo de
esta tcnica es proyectar una base de datos en un espacio
Ilustracin 2: Proceso de Reconocimiento de Rostros. dimensional, de mucho menos espacio con una buena clase
de separabilidad en el orden de evitar el overfitting (sobre-
4 IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID

ajuste o sobre-entrenamiento en un algoritmo de aprendi- forma no lineal del Anlisis de componentes principales,
zaje) y tambin reducir los costos computacionales [4]. mediante el uso de funciones de operadores kernel, que ha-
El funcionamiento de LDA es muy parecido al de PCA, cer ms eficiente el proceso de cmputo para PCA en espa-
pero contrariamente a PCA que es un algoritmo sin su- cios de grandes dimensiones [8], en el cual se presenta al
pervisin, LDA si es supervisado y calcula las direccio- calcular un producto punto de la forma ( (). ()) se usa
nes (discriminaciones lineales), que pueden representar los una representacin de Kernel de la forma (,)=( ()
ejes que maximizan la separacin entre mltiples clases. .()), que permite calcular el valor del producto punto en
F (que es un conjunto de caractersticas de un espacio di-
4.3 ICA (Independent Component Analysis) mensional de gran tamao) sin tener que utilizar el mapa
El anlisis de componentes independientes es una tc- , lo cual disminuye los tiempos de ejecucin y procesa-
nica estadstica muy similar a PCA, usada para descompo- miento.
ner un complejo conjunto de datos en sub-partes indepen- El propsito de estos algoritmos no lineales es reducir
dientes [5]. los inconvenientes que los algoritmos tradicionales po-
Un primer paso en los algoritmos ICA es blanquear seen, disminuyendo el costo de clculo computacional y
(llamado tambin sphere o sphering) los datos, esto signi- hacindolos menos heursticos, adems de establecer un
fica remover cualquier correlacin entre los datos, ya que control mejorado para el sobre-entrenamiento, el cual en
estos datos son forzados a estar sin relacionar, despus del muchos casos representa mayor consumo de recursos y
sphering, los datos separados pueden ser encontrados mayores tiempos de entrenamiento de los algoritmos.
por una transformacin ortogonal de los datos blanquea-
dos (esto es una rotacin de la densidad conjunta). La ro- 4.7 Trace Transform
tacin apropiada se busca mediante la maximizacin de las El Trace Transform (transformacin de rastros), es una
densidades marginales no-normalizadas (mostradas en los generalizacin de la transformacin de Radon, se le suele
bordes del plano de densidad). Esto es causado por el he- considerar como una nueva herramienta para el procesa-
cho de que una mezcla lineal de variables independientes miento de imgenes, que puede ser utilizada para el reco-
aleatorias, es necesariamente ms Gaussiano que las varia- nocimiento de objetos por medio de transformaciones
bles originales, lo que implica que en ICA se deben restrin- como la rotacin, traslacin y escalamiento, para producir
gir el uso de al menos una serie de datos de origen Gaus- la transformacin se calcula un rastro de lneas funcionales
siano. a travs de las lneas de una imagen [9].
La imagen es transformada en una nueva imagen con la
4.4 EBGM (Elastic Bunch Graph Matching) trasformacin de rastros, la cual es una funcin en 2-D de-
EBGM es un algoritmo usado para el reconocimiento de pendiente de los parmetros (, ), diferentes transforma-
objetos o clases de objetos en una imagen, basado en una ciones pueden ser producidas desde una imagen si se uti-
representacin de grafos extrados de otras imgenes. Este lizando diferentes funciones de rastros, una de las ventajas
algoritmo ha sido especialmente utilizado en el reconoci- que se encuentran es en este algoritmo es que posee una
miento y anlisis de rostros, pero tambin para reconocer propiedad clave, y es que puede ser usado para construir
gestos y otras clases de objetos [6]. caractersticas invariantes de la rotacin, translacin y es-
El funcionamiento de este algoritmo consta de 2 formas calado.
para ser implementado, la primera forma es para rostros
en poses idnticas (lo ms similares posible) y el de poses 4.8 Viola-Jones
diferentes. El algoritmo de Viola - Jones es un algoritmo que funciona
en paralelo, utilizando la CPU y GPU de un dispositivo,
4.5 AAM (Active Appearance Models) permitiendo un camino ms rpido y eficiente para detec-
Este algoritmo permite localizar puntos en las imge- tar un rostro en una imagen. Este se basa en las caracters-
nes, para luego hacer uso de las restricciones de los mode- ticas tipo Haar y un clasificador en cascada AdaBoost, y se
los de figuras, para tratar la interpretacin como un pro- le considera el primer framework con capacidad de detec-
blema de optimizacin en el cual se pueden minimizar las cin de rostros en tiempo real, por este motivo muchas de
diferencias entre una nueva imagen y una sintetizada por las aplicaciones de procesamiento de imgenes que imple-
el modelo de apariencia [7]. mentar funciones de reconocimiento facial que requieren
como entrada de datos un rostro, utilizan este algoritmo y
4.6 Metodos Kernel se le considera como el mtodo ms comn que se usa en
Esta clase o categora de algoritmos (ya que son varios deteccin de rostros [10].
los que se consideran como Kernel) se basan en el teorema Este algoritmo consta de tres pasos bsicos, el primer
de Mercer, el cual es una representacin de una funcin si- paso es utilizar un clasificador tipo Haar para usarlo como
mtrica definida como positiva en un cuadrado, como la un modelo a la hora de detectar rostros, luego se procese a
suma de una secuencia convergentede funciones producto, entrenar el clasificador usando miles de imgenes positi-
los cuales, al ser implementados, permiten conseguir ver- vas y negativas que permiten una deteccin de rostros mu-
siones no lineales de los algoritmos lineales como pueden cho ms eficiente durante su ejecucin, finalmente una
ser PCA, LDA e ICA. ventada es desplegada sobre la imagen, donde se muestra
Para este proyecto se tom el algoritmo Kernel PCA, el una versin escalada de la misma para demostrar los dife-
cual es descrito como un mtodo para desarrollar una rentes rostros detectados, su localizacin y tamaos.
MISAEL PERILLA.: INVESTIGACIN / DESARROLLO DE USO DE LA RASPBERRY PI PARA APLICACIONES BIOMETRICAS DE IDENTIFICACIN Y SEGU-
RIDAD 5

centro, con anteojos, feliz, orientado a la izquierda, sin ante-


4.9 Eigenfaces ojos, normal, orientado a la derecha, somnoliento, sorpren-
El algoritmo de Eigen se basa en el PCA para la reduccin dido y haciendo un guio. Existen otras bases de datos tanto
de la cantidad del espacio utilizado, esto con el objetivo de de Yale (Extendida, B y B Extendida), como de otras entida-
tener una cantidad de datos menor que sean ms fcil de des, otra de las ms utilizadas es la de AT&T, pero estas so-
procesar, el mtodo de Eigenfaces desarrolla el reconoci- brepasan en tamao las necesidades de este proyecto, ya que
miento de rostros de la siguiente manera: estn compuestas por un nmero mucho mayor de imgenes
Proyectando todas las muestras en el sub-espacio y con una resolucin mayor, lo cual hace que el sub-espacio
PCA. necesario sea muy amplio, a esto se suma que el tamao que
Proyectar la consulta de la imagen en el sub-espa- ocupa en el dispositivo de almacenamiento, podra ocasionar
cio PCA. una reduccin en la velocidad de funcionamiento de este.
Encontrar el vecino ms cercano entre las imge- Una vez que se tiene el conjunto de imgenes, se toma cada
nes de entrenamiento y la bsqueda realizada. uno de los aplicativos que funcionan en base a uno de los al-
Una vez que la reduccin del espacio es efectuada, el si- goritmos y se ejecutan, validando una serie aleatoria de 15
guiente paso involucra la generacin de eigenfaces, la ma- imgenes (1 por persona), de manera aleatoria, se comprue-
triz de covarianza es evaluada desde la matriz de imagen ban y almacenan los diferentes aspectos mencionados ante-
mediante el concatenado de filas y columnas, esta matriz riormente, sobre el desempeo del algoritmo.
de covarianza evala la cantidad respecto a sus seales ve- Una vez que se han realizado pruebas sobre todos los al-
cinas, y se asume que el promedio es cero (indicando que goritmos, se repite el proceso con otro conjunto de imgenes
la imagen est centrada) y la correlacin es igual a la cova- de la base de datos de Yale, hasta que se haya realizado las
rianza [11]. pruebas con la totalidad de la base de datos, cabe destacar que
El siguiente paso es resolver la matriz de covarianza, la el tiempo de captura de imgenes y entrenamiento de cada
solucin de esta matriz se alcanza mediante el uso de ope- algoritmo no ser evaluado en este proyecto, puesto que esto
raciones de matrices lineales bsicos, los resultados obteni- depende de factores como el ambiente donde se tom las im-
dos son referenciados como los valores propios (eigenva- genes, como la iluminacin natural existente, la hora de la
lues). Para cada valor propio, existe un vector propio (ei- captura y la presencia de fuentes de iluminacin artificiales,
genvector). Estos vectores propios han sido normalizados, finalmente se procede a verificar y comparar los resultados
y cada valor propio genera un rostro, los vectores propios obtenidos de cada algoritmo en los diferentes aspectos que se
son ordenados desde el que contiene mayores valores a evaluaron, generando tablas comparativas.
menores, el vector propio asociado con el valor ms alto es
el cual refleja la varianza ms alta en la imagen. 6 RESULTADOS
6.1 Tasa de aciertos
5 PRUEBAS Los resultados obtenidos al completar las pruebas sobre
Se planearos pruebas de estrs sobre los diferentes algorit- cada algoritmo son los siguientes:
mos al ser ejecutados sobre el hardware de la Raspberry Pi 2
B+, con las cuales se pretende verificar los siguientes aspectos: ALGO- TIEMPO RENDI- ID POSI- FAL- FAL-
RITMO (SEG) MIENTO TIVAS SOS SOS
/TOTAL POSIT. NE-
Tasa de identificacin positiva. GAT.
Tasa de identificacin negativa. PCA 2,34 30% 165/165 0 0
Tasa de falsos positivos de identificacin (False Posi- LDA 2,56 35% 165/165 0 0
tive Identification Rate - FPIR).
ICA 3,43 35% 164/165 0 1
Tasa de falsos negativos de identificacin (False Ne-
gative Identification Rate - FNIR). EGBM 4 95% 163/165 0 0
Tiempo de ejecucin promedio. AAM* 10 90% 165/165 0 0
Rendimiento de algoritmo sobre el hardware de la
KER- 2 40% 165/165 0 0
Raspberry Pi 2. NEL
Cantidad de Kilopixeles analizados por segundo PCA
(Kpps). TRACE 4,67 55% 165/165 0 0
TRANS-
FORM**
El proceso de evaluacin para los diferentes algoritmos y VIOLA 2,74 30% 165/165 0 0
su funcionamiento es el siguiente: JONES
EIGEN 1 30% 154/165 2 0
Se tom la base de datos de rostros de Yale A (The Yale FA-
Face Database A) [12], descargada desde el sitio web de la CES***
Universidad de Yale (http://vision.ucsd.edu/content/yale- Tabla 1: Resultados de Pruebas sobre algoritmos.
face-database), la cual contiene 165 imgenes en formato GIF
de 15 personas, de cada una de ellas hay 11 imgenes. Cada El rendimiento de la Raspberry expuesto en la tabla, es el
una de estas imgenes, se encuentran dispuestas en las si- que el dispositivo muestra en su entorno grfico (barra de
guientes configuraciones o expresiones faciales: orientado al tareas), donde el mismo sistema operativo indica los proce-
sos que est ejecutando y el consumo de cada uno de ello, y
6 IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID

el total acumulado, en este caso, se usa como referencia el neracin de grficos basados en OpenGL, que son amplia-
acumulado (como se aprecia en la Ilustracin 13), para tener mente usados por muchos de los algoritmos en la genera-
claridad sobre el consumo que est ejerciendo el algoritmo cin de imgenes, frames y muchas otras de las libreras usa-
al ser ejecutado, sobre la capacidad de procesamiento de la das (incluyendo OpenCV), y no existe una actualizacin del
Raspberry, entre ms alto el valor (comprendido entre 0 y sistema que habilite este soporte, es por esta razn que se
100), mayor es el gasto energtico y el uso del procesador, debe instalar de manera manual la librera libgl1-mesa-dri
un rendimiento del 36% significa que el procesador an cada vez que el sistema operativo se actualice ya sea de ma-
puede ejecutar ms procesos de manera paralela al algo- nera automtica o mediante el comando sudo apt-get upgrade.
ritmo de reconocimiento, por lo tanto sera posible tener
otros servicios activos sin afectar el progreso y la velocidad 6.2 Rendimiento
de clculo en el sistema de reconocimiento facial, por otra Los datos muestran que el algoritmo cuyo coste de maquina
parte, un consumo cercano o igual al 100%, es un gasto ex- sobre tiempo de ejecucin que resulta ser mucho ms p-
cesivo a las capacidades de la placa Raspberry Pi, lo cual po- timo (eficiente) es el algoritmo Eigenfaces, el algoritmo ms
dra incluso comprometer el funcionamiento del sistema en- eficaz es PCA, el cual no solo detect eficazmente todos los
tero, y sumado a esto, se puede ver afectado el proceso de rostros sino que adems lo hizo en un lapso de tiempo rela-
reconocimiento facial, lo cual podra incluso descartar el uso tivamente corto, pero debido a la existencia de libreras
de un algoritmo que llegara a consumir tantos recursos fsi- como OpenCV, el algoritmo que resulta ms fcil de imple-
mentar es Viola-Jones, el cual es levemente ms tardado que
los anteriormente mencionados, pero aun as sus resultados
son muy positivos, de igual manera estos datos son relativos
a las imgenes utilizadas en el desarrollo de este proyecto,
esto no implica que los dems algoritmos no puedan ser usa-
Ilustracin 3: Rendimiento de Procesamiento en Raspbian.
dos en proyectos, como por ejemplo AAM, el cual posee un
tiempo de ejecucin considerablemente alto, pero este est
cos y energticos. ms enfocado a la captura de datos en video de tiempo real,
Como se puede apreciar en la Tabla 1, los algoritmos con lo que permitira que su uso estuviera ms relacionado en el
el mejor desempeo en ejecucin son PCA y los derivaros campo del anlisis de personal que labora en una organiza-
de este mismo como lo son Eigenfaces y Kernel (que para cin, y tener un control de entrada/salida, por tener un
este proyecto fue usado kPCA), con tiempos que se encuen- ejemplo.
tran por debajo de 2.5 segundos, mientras que los algoritmos En el cuadro anterior, se encuentra la cantidad de Kilopi-
que funcionan mediante la identificacin elstica de grafos xeles por segundo (Kpps) que son procesados por cada uno
y/o puntos de referencia sobre el rostro como AAM y de los algoritmos sobre las imgenes de la base de datos, las
EGBM no solo consumen ms tiempo de ejecucin, sino que cuales cuentan con 75,9375 Kp (Kilopixeles), donde como re-
adems tambin exigen en mucha ms medida al disposi- ferencia se tiene que 1 Kp correspondiente a 1024 pixeles, o
tivo, sin embargo se debe tener en cuenta que estos algo- equivalente al tamao de una imagen usada en los iconos de
ritmo utilizan una matemtica que est diseada mejor para las aplicaciones instaladas en un PC (32x32).
la captura en video que para imgenes estticas, y generan
un nmero N de puntos de referencia y grafos, que deman- KPPS
dan mayor potencia de clculo y procesamiento. 75,94
80,00
Las pruebas fueron aplicadas sobre una Raspberry Pi mo- 70,00
delo B+, con solo 2 dispositivos conectados, el primero fue 60,00
50,00 37,97
una cmara web USB marca Genius, el segundo fue un co- 40,00 32,45 29,66 27,71
30,00 22,14 18,98
nector WiFi, el sistema operativo instalado (Raspbian) se ac- 20,00 7,59
16,26
tualiz a su ltima versin (Jessie con kernel 4.4), adicional- 10,00
0,00
mente a esto, se tuvieron que instalar y actualizar las si-
guientes libreras:

NumPy (python-numpy)
SciPy (python-scipy)
Sphinx (python sphinx) Ilustracin 4: Cantidad de Kilopixeles/segundo procesados por cada
OpenCV 2.4.x (versin para Python) algoritmo.
MatPlotLib (python-matplotlib)
SymPy (python-sympy) Otras pruebas realizadas de manera aleatoria con imge-
Pandas (python-pandas) nes que no corresponden a las de la Base de datos de Yale,
OpenGL Support (libgl1-mesa-dri) mostraron los diferentes retardos que existen al realizar el
proceso de anlisis con imgenes de mayor resolucin, lo
Algo que es importante tener presente, es que el sistema cual implica un sub-espacio superior, dando por ejemplo los
operativo Rasbpian, instalado en el Raspberry Pi 2 B+ usado resultados de la tabla 2, utilizando el algoritmo de Viola-Jo-
para este proyecto, no cuenta con soporte directo para la ge- nes, que fue uno de los que posee los mejores tiempo y con-
sumo de recursos:
MISAEL PERILLA.: INVESTIGACIN / DESARROLLO DE USO DE LA RASPBERRY PI PARA APLICACIONES BIOMETRICAS DE IDENTIFICACIN Y SEGU-
RIDAD 7

posible, este hecho se evidenci al utilizar las imgenes de la


KPPS Tiempo Tamao Cantidad Sub-es- Tabla 2, la imagen Grande (de 1280x960 pixeles, con un sub-
(Seg) de Ros- pacio espacio de 1.228.800), fue reducida a una de 960x720 pixeles,
tros
disminuyendo su sub-espacio a 691.200, y el tiempo de pro-
146,16 8,21 Grande 3 1.228.800
(1280x960) ceso con Viola-Jones se redujo de 8.21 segundo a 2.92 segun-
159,95 4,22 Mediana 2 691.200 dos, de igual manera se redimension la imagen Mediana de
(720x960) 720x960 pixeles a 540x720, reduciendo el sub-espacio a
195,65 4,6 Mediana 1 921.600 388.800, y el tiempo se redujo de 4.22 segundos a 2,02 segun-
(960x960) dos.
27,71 2,74 Pequea 1 77.760
(320x243) 6.4 Acceso
Tabla 2: Resultados para reduccin de sub-espacios. Para poder ejecutar los diferentes algoritmos sobre la
Raspberry en el entorno grafico de Raspbian, sin la necesi-
Como se pueda apreciar, a menor cantidad de sub-espa- dad de tener conectada una pantalla o un televisor con en-
cio de una imagen y aplicar el algoritmo anteriormente men- tradas HDMI, se recurri a la utilizacin de 2 medios de
sionado, se reduce drsticamente el tiempo necesario para comunicacin va intranet diferentes, para as tener acceso
su procesamiento, esto es algo a tener en cuenta si se tiene a un entorno visual remoto, esto con la finalidad de reducir
planeado trabajar con imgenes en tiempo real. el consumo energtico y una baja carga en la cantidad de
Finalmente, al comprobar los valores obtenidos en la can- poder de procesamiento de la placa en la generacin y en-
tidad de Kilopixeles procesados por segundo, se puede de- vo de imgenes mediante cable, uno de los mtodos usa-
finir una mtrica de efectividad para cada una de las imple- dos fue el VNC, y el otro fue RDP, VNC (Virtual Network
mentaciones mostradas anteriormente. Est mtrica vendr Computing Computacin Virtual en Red), es un proto-
dada por el producto de kpps y el nmero de identificacio- colo de cdigo abierto, que permite crear un sistema com-
nes positivas de cada algoritmo. Para este ltimo parmetro, partido de escritorio grafico para controlar remotamente la
el valor ms elevado obtenido es el correspondiente al algo- interfaz de escritorio de una computadora a otra, transmi-
ritmo Eigenfaces, seguido de los algoritmos basados en tiendo los eventos del mouse y teclado desde el equipo
PCA, sin embargo, se debe tener en cuenta que el algoritmo controlador, y estos son recibidos en la pantalla del equipo
de Eigen es el que mayor ndice de falsos negativos obtuvo accedido remotamente. (Raspberry Pi Foundation, 2016),
frente a su mayor velocidad de procesamiento, lo cual lo mientras que RDP (Remote Desktop Protocol Protocolo
hace ideal para proyectos de reconocimiento facial din- de escritorio remoto), es propiedad de Microsoft, y origi-
mico. nalmente est destinada a ser implementado sobre aplica-
ciones Windows que son ejecutadas sobre servidores co-
nectados en red, sin embargo RDP fue diseado para so-
EFECTIVIDAD portar diferentes tipos de topologas de red y protocolos
(KPPS*ACIERTOS) LAN (Microsoft, 2016), al realizar las pruebas sobre estos
11.694,38

Efectividad (Kpps*Aciertos) dos protocolos, se pudo notar un mejor desempeo usando


RDP, as como la instalacin de este protocolo para ser ser-
vido en la Raspberry tambin demostr ser ms sencillo y
6.264,84

14.000,00
5.354,57

4.894,41

4.572,88

12.000,00
3.630,83

rpido.
3.094,45

2.683,02

10.000,00
1.252,97

8.000,00
6.000,00
4.000,00
2.000,00
7 CONCLUSIONES
- Los resultados y conclusiones sobre el desempeo de
una variedad de algoritmos de reconocimiento facial,
obtenidos en este trabajo, pueden ser utilizados como
presedente, ya que a la fecha no se poda determinar
qu tipo de algoritmos son los ms eficientes. Para ello
Ilustracin 5: Efectividad de cada algoritmo.
se han usado mtricas de evaluacin basadas en la exac-
titud del algoritmo, en el desempeo de la implementa-
6.3 Efectividad cin sobre el hardware y se ha propuesto una mtrica
de compromiso que hemos llamado efectividad (Kpps *
Al verificar toda la informacin anterior, se puede llegar a aciertos).
determinar que una imagen de buena calidad, va a acarrear De acuerdo a los resultados encontrados, los mejores
de manera subsecuente un mayor tamao de sub-espacio con
algoritmos para el reconocimiento facial ejecutado con
el cual trabajar, por lo tanto, si se desea implementar uno de
los algoritmos con mejores resultados, es una buena prctica Python directamente en una placa Raspberry Pi 2 B+,
el escalar la imagen haca abajo (aplicar una reduccin) ajus- son PCA y sus derivados optimizados (Kernel PCA y
tndola a una escala corregida para as mantener un valor en Eigenfaces), los cuales presentan tiempos de ejecucin
el sub-espacio que pueda ser manejado en el menor tiempo
8 IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID

cortos y una efectividad bastante alta en el reconoci- [7] T. F. Cootes y C. J. Taylor, Statistical Models of
miento facial sobre el Hadrware de la Raspberry Pi 2 B+, Appearance for Computer Vision, University of
usando el sistema operativo Raspbian. Manchester, Mancheter, 2004.
Se recomienda ampliamente utilizar OpenCV en su [8] B. Schlkopf, A. Smola y K. R. Mller, Nonlinear
versin 2.4.11 para ser implementada, junto con aplica- Component Analysis as a Kernel Eigenvalue
ciones codificadas en lenguaje Python 2.7, como librera Problem, Max-Planck-Institut fr biologische Kybernetik
Arbeitsgruppe Blthoff, pp. 1-18, 1996.
para el apoyo a proyectos de reconocimiento facial, esta
biblioteca cuenta con versiones disponibles para otros [9] S. Srisuk, K. Ratanarangsank, K. Kurutach y W.
Sahatsawat, Face Recognition using a New Texture
lenguajes, ya que en l se pueden encontrar variados al-
Representation of Face Images, [En lnea]. Available:
goritmos ya presentes que pueden ser utilizados (estos http://www.face-
incluyen a PCA y Eigenfaces), sin la necesidad de desa- rec.org/algorithms/Trace/eecon03.pdf. [ltimo
rrollar funciones desde cero, lo que ahora tiempos de acceso: 7 Junio 2016].
ejecucin y produccin de un proyecto. [1 H. Sharma, S. Saurav, S. Singh, A. K. Saini y R. Sa,
Para conexiones remotas en el dispositivo Raspberry 0] Analyzing Impact of Image Scaling Algorithms on
con entorno grfico, se logr una mejor conexin me- Viola-Jones Face Detection Framework, 2015
diante el uso del protocolo RDP que al utilizar conexio- International Conference on Advances in Computing,
nes mediante VCN, especialmente al acceder a la Ras- Communications and Informatics (ICACCI), pp. 1715-
1718, 2015.
pberry desde un equipo con un sistema operativo Win-
dows, aunque desde Ubuntu tambin el desempeo del [1 S. K. Shiji, Biometric Prediction on Face Images using
1] Eigenface Approach, IEEE Conference on Information
escritorio remoto en RDP fue mejor, ms rpido y adi-
and Communication Technologies (ICT 2013), pp. 104-
cionalmente, este maneja unas mejores polticas de se-
109, 2013.
guridad con respecto a otros protocolos.
[1 P. N. Belhumeur, J. P. Hespanha y D. Kriegman,
2] Eigenfaces vs. Fisherfaces: Recognition Using Class
REFERENCIAS Specific Linear Projection., IEEE Transactions on
Pattern Analysis and Machine Intelligence, pp. 711-720,
1997.
[1] S. Joardar, A. Chatterjee y R. Anjan, A Real-Time
Palm Dorsa Subcutaneous Vein Pattern Recognition [1 D. K. Shah, V. A. Bharadi y V. J. Kau, End-to-end
System Using Collaborative Representation-Based 3] Encryption based Biometric SaaS: Using Raspberry Pi
Classification, 4 Abril 2015. [En lnea]. as a Remote Authentication Node, 2015 International
Conference on Computing Communication Control and
[2] S. Sivaranjani y S. Sumathi, Implementation of Automation, 2015.
Fingerprint and Newborn Footprint Feature
Extraction on Raspberry Pi., IEEE Sponsored 2nd
International Conference on Innovations in Information
Embedded and Communication Systems ICIIECS 15,
2015. Misael Fernando Perilla. Ingeniero de Siste-
[3] A. S. Navaz, T. D. Sri y P. Mazumder, FACE mas de la Universidad de Cundinamarca
(2009), Especialista en Docencia Universita-
RECOGNITION USING PRINCIPAL COMPONENT ria de la Universidad Cooperativa de Colom-
ANALYSIS AND NEURAL NETWORKS, bia (2012), Master en Seguridad Informtica
International Journal of Computer Networking, Wireless de la Universidad de la Rioja (2016), Labor
and Mobile Communications, pp. 245-256, 2013. en la Oficina de Virtualidad de la Regional Dis-
trito Capital y la Oficina de Comuniaciones de
[4] S. Raschka, Linear Discriminant Analysis - Bit by direccin general del SENA (Servicio Nacio-
Bit, 3 Agosto 2014. [En lnea]. Available: nal de Aprenizaje), Actualmente como Do-
http://sebastianraschka.com/Articles/2014_python cente Investigador en la Universidad de Cun-
dinamarca, becado entre 2003 y 2008 por la Corporacin Social de
_lda.html#lda-in-5-steps. [ltimo acceso: 1 Julio Cundinamarca por excelencia acadmica.
2016].
[5] A. Hyvrinen, What is Independent Component
Analysis: A Demo, Aalto University, 5 Marzo 2013.
[En lnea]. Available:
http://research.ics.aalto.fi/ica/icademo/. [ltimo
acceso: 3 Julio 2016].
[6] L. Wiskott, R. P. Wrtz y G. Westphal, Elastic Bunch
Graph Matching, Scholarpedia, 10 Febrero 2014. [En
lnea]. Available:
http://www.scholarpedia.org/article/Elastic_Bunch
_Graph_Matching. [ltimo acceso: 5 Julio 2016].

Вам также может понравиться