primeros pasos para una aplicación móvil offline de...

11
Primeros pasos para una aplicación móvil offline de reconocimiento facial Barraza, Sara Lía Facultad de Ciencias Exactas y Tecnología, Universidad Nacional de Tucumán Thuillier, Etienne Université Technologique de Belfort-Montbéliard, Francia Will, Adrián GITIA, Universidad Tecnológica Nacional, Facultad Regional Tucumán Facultad de Ciencias Exactas y Tecnología, Universidad Nacional de Tucumán Rodriguez, Sebastián Alberto GITIA, Universidad Tecnológica Nacional, Facultad Regional Tucumán Resumen El reconocimiento facial es una herramienta mo- derna con una amplia gama de aplicaciones como vi- gilancia, seguridad, etc. Las necesidades de seguridad y los aumentos en la capacidad de procesamiento y re- solución de las cámaras disponibles, ha hecho que estos sistemas ganen un creciente interés. Sin embargo la ma- yoría de este tipo de programas requieren de conexión a internet para su funcionamiento, debido entre otras razones a la potencia de cálculo requerida y al tamaño de las bases de datos involucradas. El presente trabajo representa un primer paso hacia el desarrollo de un sis- tema de reconocimiento facial de bajo requerimiento en procesamiento, capaz de funcionar apropiadamente en un dispositivo móvil. La posibilidad de funcionamien- to offline en estos casos es crítica, ya que le permitiría funcionar eficientemente incluso dentro de edificios o en lugares sin señal. Palabras Clave Reconocimiento facial; Tensores; SVD; TensorFaces 1 Introducción En los últimos años la utilización del reco- nocimiento facial se ha extendido por todo el mundo y ha sido ampliamente utilizada en nu- merosas aplicaciones como sistemas de segu- ridad, sistemas de control de acceso a equipos o ambientes, identificación de conductas, entre otras ( [1], [2], [3], [4]). Mas aún, debido a las mejoras notables en la tecnología, es posible para una computadora reconocer un rostro rá- pidamente, de manera que resulta práctico uti- lizar un sistema de este tipo para desbloquear un dispositivo móvil o identificarse en el acce- so a una parte de un edificio con mayor nivel de seguridad que el resto. Sin embargo, la gran mayoría de estos sis- temas resultan costosos en precio, instalación y mantenimiento, necesitan un gran poder de cómputo y conexión a internet al momento de

Upload: doliem

Post on 28-Oct-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Primeros pasos para una aplicación móvil offline dereconocimiento facial

Barraza, Sara LíaFacultad de Ciencias Exactas y Tecnología, Universidad Nacional de Tucumán

Thuillier, EtienneUniversité Technologique de Belfort-Montbéliard, Francia

Will, AdriánGITIA, Universidad Tecnológica Nacional, Facultad Regional Tucumán

Facultad de Ciencias Exactas y Tecnología, Universidad Nacional de Tucumán

Rodriguez, Sebastián AlbertoGITIA, Universidad Tecnológica Nacional, Facultad Regional Tucumán

Resumen

El reconocimiento facial es una herramienta mo-derna con una amplia gama de aplicaciones como vi-gilancia, seguridad, etc. Las necesidades de seguridady los aumentos en la capacidad de procesamiento y re-solución de las cámaras disponibles, ha hecho que estossistemas ganen un creciente interés. Sin embargo la ma-yoría de este tipo de programas requieren de conexióna internet para su funcionamiento, debido entre otrasrazones a la potencia de cálculo requerida y al tamañode las bases de datos involucradas. El presente trabajorepresenta un primer paso hacia el desarrollo de un sis-tema de reconocimiento facial de bajo requerimiento enprocesamiento, capaz de funcionar apropiadamente enun dispositivo móvil. La posibilidad de funcionamien-to offline en estos casos es crítica, ya que le permitiríafuncionar eficientemente incluso dentro de edificios o enlugares sin señal.

Palabras Clave Reconocimiento facial; Tensores;

SVD; TensorFaces

1 Introducción

En los últimos años la utilización del reco-nocimiento facial se ha extendido por todo elmundo y ha sido ampliamente utilizada en nu-merosas aplicaciones como sistemas de segu-ridad, sistemas de control de acceso a equiposo ambientes, identificación de conductas, entreotras ( [1], [2], [3], [4]). Mas aún, debido a lasmejoras notables en la tecnología, es posiblepara una computadora reconocer un rostro rá-pidamente, de manera que resulta práctico uti-lizar un sistema de este tipo para desbloquearun dispositivo móvil o identificarse en el acce-so a una parte de un edificio con mayor nivelde seguridad que el resto.

Sin embargo, la gran mayoría de estos sis-temas resultan costosos en precio, instalacióny mantenimiento, necesitan un gran poder decómputo y conexión a internet al momento de

ser utilizados (picasa1 o facebook2). Adicio-nalmente, sistemas como Visidon AppLock3

para el sistema operativo Android tienenseveras limitaciones, tanto en la cantidad derostros a reconocer como en la capacidad parafuncionar.

Para numerosas aplicaciones es suficienteeste tipo de servicios, dado que el dispositivoen que se utilizará el programa está en una ubi-cación fija y sin problemas de acceso a interneto procesamiento (control de acceso a un aero-puerto, o a cuartos específicos de un edificio).Sin embargo en otros casos resulta necesarioutilizar un sistema de este tipo en condicionesespeciales como ”indoors” (en un edificio) oen lugares remotos o subterráneos, lo que ge-neralmente significa sin conexión a internet ocon una conexión de muy mala calidad. Estose complementa con el problema, para el casoespecífico de desbloqueo de dispositivos mó-viles por ejemplo, en que el reconocimientodebe ser realizado en poco tiempo y en un apa-rato con bajo poder de procesamiento.

Entre otras herramientas posibles, existeninvestigaciones anteriores que han abordadoeste problema mediante el uso de tensores deorden superior [1], [4], [5]. Estas herramientasrequieren en general una gran cantidad de pro-cesamiento a la hora de entrenar, dado que sebasan en una descomposición de matrices querequiere procesamiento (HOSVD, Higher Or-der Singular Value Decomposition). Sin em-bargo en tiempo de ejecución sólo es una pro-yección lineal y otros procedimientos de bajorequerimiento, lo que los hace ideales para es-te tipo de aplicaciones. Por otro lado, en mu-chas de estas investigaciones y otras similares,la experimentación, y especialmente el prepro-cesamiento de los datos, resulta difícil de se-guir por falta de claridad y de especificacióndel procedimiento utilizado.

En este trabajo proponemos entonces un sis-tema de reconocimiento facial que dé respues-ta a estos problemas, que esté preparado pa-ra funcionar en dispositivos móviles, con ba-jo requerimiento de memoria y procesamiento,una cámara de relativamente baja resolución,y de manera autosuficiente (sin necesidad de

1http://picasa.google.com/2https://www.facebook.com/3https://play.google.com/store/apps/

details?id=visidon.AppLock&hl=en

conexión a internet). El sistema está basadoen la descomposición HOSVD de una matrizformada por imágenes de 6 sujetos de pruebatomadas con una cámara digital en condicio-nes controladas, y fue validado utilizando fo-tos de los mismos y otros sujetos tomadas enotras condiciones incluyendo cámaras de te-léfono inteligente, otras condiciones de ilumi-nación, y otros incluyendo cambios en peina-do. El procedimiento utilizado está exhausti-vamente descripto en la sección 4.

Como limitaciones de la tecnología desa-rrollada, se encontró la necesidad de que elentrenamiento se realice en una PC o similarcon alto poder de procesamiento (debido a ladescomposición algebraica de matrices nece-saria), que el conjunto de personas a identifi-car debe ser pequeño, y que las imágenes uti-lizadas en el conjunto de entrenamiento debenser de buena calidad y tomadas en las mismascondiciones. Estas limitaciones surgen de losexperimentos realizados, y si bien limitan laaplicabilidad del sistema, entendemos que re-sulta suficientemente práctico y flexible paraser utilizados en aplicaciones reales.

El trabajo está dividido en 4 secciones. En laprimera sección se presenta el estado del arte.En la segunda sección se explica la parte mate-mática de tensores necesaria. La sección 3 pre-senta los datos y el procedimiento y preproce-samiento realizado a los mismos. La sección 4presenta el algoritmo utilizado, y en la sección5 se muestran los resultados obtenidos.

2 Trabajos relacionados

2.1 Sistemas de reconocimiento facial

Durante la década anterior, el reconocimien-to facial ha sido considerado y aplicado en di-versas áreas: detección de rostros en fotogra-fía para evitar somnolencia en transportes4, es-timación de edad y género en una multitud,análisis de clientes, reconocimiento facial paracontrol de acceso, identificación de visitantes,ingreso en aplicaciones online, etc.

Las aplicaciones de seguridad proponen sis-temas con resultados positivos casi inmedia-tos, pero la mayoría de estos sistemas resul-tan costosos tanto en el proceso de desarrollocomo de instalación y mantenimiento. Presen-

4http://www.tcit.com.tw/?language=en

tan resultados adecuados para las aplicacionesa las que están destinadas. Una característicacomún a la mayoría de estos sistemas es lanecesidad de una conexión Internet debido algran volumen de datos involucrado y el proce-samiento requerido.

Luego encontramos los programas que rea-lizan la detección de rostro en imágenes, ycomo se indica, solo permiten detectar la po-sición y límites de un rostro en una imagen,sin permitir identificar a la persona, comúnen cámaras fotográficas modernas ( [6]). Exis-ten también sistemas de reconocimiento facialcomo por ejemplo facebook que adquirió elservicio face.com, Google con el servicio re-kognition5, Apple que compró Polar rose6 quedesarrolló el servicio recognizr7.

Por último, se encuentra el programa Visi-don AppLock de Android que permite al usua-rio desbloquear su teléfono inteligente con unaaplicación de reconocimiento facial. El siste-ma funciona en dispositivos móviles sin uti-lizar la conexión a Internet para su funciona-miento. Se basa en una comparación de unaimagen del usuario, con una o más fotos archi-vadas y una comparación de las característicasfaciales. Si bien presenta problemas al utilizarel programa con bajo nivel de luz, con perso-nas parecidas, o con cambios en el vestuario oel peinado.

2.2 Trabajos anteriores

Se realizaron trabajos que proponen tenso-res para reconocimiento facial. En este traba-jo dos artículos importantes se utilizarán co-mo soporte para nuestro algoritmo. Vasilescuy Terzopoulos [4] han propuesto utilizar tensorSVD para reconocer rostros. Su trabajo inclu-ye una comparación entre PCA y TensorFacesy muestran buenos resultados al utilizar tenso-res. La segunda obra propuesta por Rana [1]desarrolla diferentes enfoques, en los cualestodos utilizan un algoritmo basado en SVD-tensor. En este trabajo, se realizaba un estu-dio de diferentes algoritmos - todos basados

5http://rekognition.com/6http://news.cnet.com/8301-13579_

3-20017018-37.html7http://readwrite.com/2010/02/24/

recognizr_facial_recognition_coming_to_

android_phones

en tensores - y se extraían conclusiones sobrelos algoritmos probados, con la intención deidentificar el que mejores resultados presenta-ra tanto en el reconocimiento como en el tiem-po empleado.

Sin embargo, en los trabajos mencionados,aunque la matemática utilizada no presentarerrores visibles, los experimentos y los resulta-dos mostraron una falta de descripciones me-todológicas, lo que resulta en experimentacio-nes difíciles de reproducir. Ambos trabajos,utilizan bases de datos descargados de inter-net: Weizmann8, PEAL9 y YaleB10, y estasproducen problemas a la hora de intentar uti-lizarlas. Por ejemplo, la base de datos Weiz-mann contiene más de mil imágenes que pre-sentan más o menos cuarenta fotos para cadapersona. Esto implica un proceso complejo pa-ra agregar personas y que las condiciones utili-zadas estarán lejos de las reales de utilización,lo que lo vuelve poco práctico.

3 Álgebra de tensores

Se describen en esta sección los prelimina-res básicos sobre Álgebra de Tensores y la des-composición HOSVD

3.1 Descripción de tensores

Un tensor es considerado una matriz multi-dimensional o matriz de orden N, por ejemplo,un vector es un tensor de orden 1 y una matrizes un tensor de orden 2. Un tensor A de ordentres es una matriz de tres dimensiones, y estádenotado por A∈RI1×I2×I3 donde cada dimen-sión de la matriz es llamada modo del tensor.Este puede ser visualizado como un bloque entres direcciones, como lo muestra la figura 1

Sus elementos están denotados por ai jkdonde 0 < i < I1, 0 < j < I2, 0 < k < I3 y seobtienen fijando los índices i, j y k en cadamodo. Si en una matriz se fijan uno de susíndices se obtiene los vectores filas (primeríndice fijo) y columnas (segundo índice fijo).El análogo en tensores se llaman f iber. En

8http://www.wisdom.weizmann.ac.il/

~vision/FaceBase/9http://www.jdl.ac.cn/peal/

10http://cvc.yale.edu/projects/

yalefacesB/yalefacesB.html

Figura 1: Representación de un tensor de or-den tres.

un tensor de orden tres A ∈ RI1×I2×I3 , lasfiber son llamadas columnas, filas y tubos, lascuales son denotadas por A(:, i2, i3) = a:i2i3 ,A(i1, :, i3) = ai1:i3 y A(i1, i2, :) = ai1i2: respecti-vamente.

Las fiber en un tensor de orden tres se pue-den observar en la figura 2

Figura 2: Vectores Fiber de un tensor de ordentres.

De manera análoga, las matrices de un ten-sor de orden tres son llamadas slices, y estándenotadas por A(i1, :, :) (sección horizontal),A(:, i2, :) (sección lateral) y A(:, :, i3) (secciónfrontal). En la figura 3, se muestran las seccio-nes de un tensor de orden tres.

Figura 3: Matrices slices de un tensor de ordentres.

Se definen ahora, dos conceptos de tensoresimportantes para el desarrollo del algoritmo.

Matrización de un tensor: El concepto dematrización o tensor unfolding se refiere alproceso de transformar un tensor en una ma-triz. Para un tensor de orden tres este procesose muestra en la figura 4

Figura 4: Proceso de matrices unfolding.

Producto n-modo: El producto n-modo deun tensor A ∈ RI1×I2×···×In···×IN y una matrizU ∈ RJn×In denotado por A×n U , es un tensorde dimensión I1× I2×·· ·× Jn×·· ·× IN defi-nido componente a componente por

(A×n U) = ∑in

ai1i2···in···iN u jnin

3.2 Descomposición de tensores

Aquí, se propone describir la descompo-sición en valores singulares para tensores,denotada por HOSVD (Higher Order SingularValue Decomposition) [7] [5] [8] la cual esuna generalización de la descomposición SVDpara matrices. Para facilitar la comparaciónvamos a presentar la SVD matricial en lanotación inducida por el producto n-modoentre un tensor y una matriz.

SVD de matrices:Toda matriz A ∈RI1×I2 puede ser escrita comoel producto

A=USV T = S×1U×2V T = S×1U (1)×2U (2)

DondeU (1) = U es una matriz unitaria de orden

I1× I1U (2) = V T es una matriz unitaria de orden

I2× I2

S es una matriz de orden I1× I2 con las si-guientes propiedades:

S = diag(σ1,σ2, · · · σmin(I1,I2))

σ1 ≥ σ2 ≥ ·· · ≥ σmin(I1,I2)

Los σi son los valores singulares de A.

SVD de tensores (HOSVD):Todo tensor A∈RI1×I2×I3 puede ser escrito co-mo el producto

A = S×1 U (1)×2 U (2)×N U (3)

donde

U (1) ∈ RI1×I1

U (2) ∈ RI2×I2

U (3) ∈ RI3×I3

son matrices ortogonales.S ∈ RI1×I2×I3 llamado tensor core, tiene la

propiedad de ortogonalidad: cualquiera dosslices de S son ortogonales en el sentido delproducto escalar:

〈S(i, :, :),S( j, :, :)〉 = 〈S(:, i, :),S(:, j, :)〉= 〈S(:, :, i),S(:, :, j)〉= 0 para i 6= j

Para el modo-1 se define los valores singu-lares como:

σ(1)i = ‖S(i, :, :)‖f i = 1, · · · I1

Y están ordenados como sigue:

σ(1)1 ≥ σ

(1)2 ≥ ·· · σ

(1)I1

Figura 5: HOSVD de un tensor de orden tres.

Los valores singulares en los otros modos ysu ordenación se definen de manera análoga.Para un tensor de orden tres, un esquema detal descomposición se puede visualizar en lafigura 5.

Esto es claramente una generalización de ladescomposición SVD para matrices, si se res-tringe el teorema a tensores de orden dos.

El algoritmo para calcular la descomposi-ción es:

1) Calcular las matrices Un, mediante elSVD de las matrices Tn, obtenidas pormatrización del tensor en cada modo.

2) Calcula el tensor S como:

S = A×1 U (1)T×2 U (2)T

×3 U (3)T

4 Datos Utilizados

Se describe en esta sección con detalle, elproceso de generación de las imágenes utili-zadas en este trabajo. Se describen tanto lascámaras utilizadas como el tipo y característi-cas de las imágenes utilizadas para el entrena-miento y el proceso utilizado en las imágenesde validación.

4.1 Sesión de fotos

Intentos previos de los autores por utilizaruna base de datos como YaleB, Weizmann yPEAL de manera similar a lo encontrado enlos trabajos citados, resultaron infructuosos ode resultados poco reproducibles, debido prin-cipalmente a que el procesamiento de las imá-genes no está correctamente descripto. Masaún los tensores entrenados con estas bases

de datos y completados con fotografías pro-pias, complican el funcionamiento del algorit-mo, debido a que las imágenes no están toma-das en las mismas condiciones, dando malosresultados. Por esta razón, decidimos formaruna base de datos propia, que nos permite uncontrol sobre el proceso de preprocesamiento.

Para el presente trabajo se tomaron imáge-nes de 6 voluntarios bajo diferentes condicio-nes controladas de iluminación, fondo, y ex-presión, según el siguiente detalle:

Foto A1: con expresión neutra, dos flashfrontalesFoto A2: con expresión sonriente, dosflash frontalesFoto B1: con expresión neutra, flash a laderechaFoto B2: con expresión sonriente, flash ala derechaFoto C1: con expresión neutra, flash a laizquierdaFoto C2: con expresión sonriente, flash ala izquierda

Las fotos fueron tomadas teniendo en cuen-ta lo siguiente:

El fondo de la foto es neutral, sin compo-nentes ruidosos, como formas o sombras.

La distancia de la cámara-persona es fijaen 2 mts

La distancia focal de la cámara es tal queel ángulo formado por las lentes muestrala cara de la persona en toda la superficiede la imagen.

Las imágenes tomadas fueron encuadra-das de manera tal que la parte superior delcabello toca el borde superior de la ima-gen y la parte inferior del menton toca elborde inferior de la imagen.

El objetivo del proceso, es que el rostro ocupamás o menos el 70% de la imagen total. Estaconfiguración se utiliza con el fin de evitar quealgunos factores como el fondo o la ropa de elsujeto afecten el análisis.

Pruebas preliminares demostraron que el or-den de las fotos expuesto no es crítico (puedenintercambiarse poniendo por ejemplo las fotosA2 antes de las A1 con idénticos resultados),pero resulta crítico cambiar en una persona al-gunas de las condiciones descritas.

4.2 Preprocesamiento

Una vez tomada la serie de fotos de la ba-se de entrenamiento, fueron tratadas con el finde poder ser utilizadas por el algoritmo. Seutilizó para ello software de edición de fotos(The Gimp11 y Photoshop12 para el remues-treo). Cada una de las fotos de la serie se trans-formaron a componentes blanco y negro redu-ciendo la dimensión del problema. Luego, ca-da foto se redujo a un tamaño de 200x200 pí-xeles utilizando la función resampling de Pho-toshop. Este paso se realiza para conseguir untotal de 40000 píxeles de cada foto lo que re-sulta en un tensor de tamaño que puede serdescompuesto en una PC de escritorio ordina-ria utilizando Matlab, y al mismo tiempo conla precisión suficiente para efectuar el recono-cimiento. Se obtuvo entonces una base de da-tos formada por seis fotografías de seis perso-nas, un total de 36 imágenes, donde las mismasestán ordenadas según la descripción efectua-da arriba. Se puede ver una muestra de las 6fotos utilizadas para algunos de los sujetos en(figura 6).

Figura 6: Parte de la base de datos utilizada.

El preprocesamiento para las fotos devalidación sigue casi el mismo proceso quepara las imágenes de la base de datos: setoma la foto, se transforma a blanco y negro,y luego se modificaría para que coincida enformato y características con las imágenes dela base de entrenamiento.

Toma de fotos para uso el reconocimiento

1) Tomar una foto retrato de la persona conel dispositivo móvil

11http://www.gimp.org/12http://www.photoshop.com/

2) Redimensionar o ampliar la foto al centroy aproximar el rostro de la persona

3) Establecer la foto a blanco y negro4) Cambiar el tamaño de la foto para una

imagen 200x200px5) Probar esta imagen con el algoritmo

A.3 Especificaciones de cámaras fotográ-ficas utilizadasTodas las fotos de la base de datos fueron to-madas con una cámara Nikon D7000, con len-te 18-105, distancia focal de 70 mm (equiva-lente a 105 mm si fuera una cámara tradicio-nal de rollos de 35 mm), y dos flash colocadosa ambos lados de la cámara, un Nikon SB700y un Nissin Di622. Además se tomaron en for-mato jpg, bajo las mismas condiciones expli-cadas antes.Se tomaron además fotos con la cámara digi-tal incorporada de un teléfono inteligente Sam-sung Galaxy SII (I9100) con una distancia fo-cal de 4,03 mm (equivalente a 30 mm en unacámara tradicional de rollos de 35 mm), unsensor de tamaño 1/3.2” con luz natural y flashincorporado de relleno, para validación del sis-tema.

5 Algoritmo y Experimentación

En esta sección se describe el ordenamientocomo Tensor de las imágenes utilizadas, y elalgoritmo utilizado.

Según lo descripto en la sección anterior,se utilizó una base de datos de 36 imágenes,tomadas a seis personas en dos expresionesdiferentes y tres condiciones de iluminación,tomándose así seis imágenes por persona. Aligual que en [4], se reordenan cada imagencomo un vector 1× 40,000, y se las ordenade manera que las imágenes estén representa-das mediante un tensor T ∈ R6×6×40000 don-de los modos corresponden a modo-persona,modo-exp.ilum y modo-pixel respectivamen-te. O sea, es una matriz 6× 6× 40,000, don-de cada imagen está ordenada como un "tu-bo"(fila y columna constante, ver sección 3),cada slice horizontal del tensor (modo 1 cons-tante) contiene las distintas fotos de una mis-ma persona, y cada slice lateral del tensor (mo-do 2 constante), contiene las imágenes de to-das las personas en una misma condición deiluminación y expresión.

Se decidió considerar en el modo-2 lasseis imágenes de cada persona, ordenadas deacuerdo a la iluminación y expresión, y node manera independiente, para trabajar conun tensor de orden tres, ya que las pruebasrealizadas con tensores de orden superiorseparando este caso, no produjeron mejorasnotables.

Al realizar la descomposición HOSVD seobtiene:

T = S×1 Upersona×2 Uexp.ilum×3 Upixel

donde S ∈ R6×6×40000 es el llamado ten-sor core que interactúa con las matricesUpersona, Uexp.ilum y Upixel , correspondientes alos modos del tensor T , para crear una imagen.

Las columnas de Upersona, Uexp.ilum y Upixeldefinen los subespacios vectoriales persona,exp.ilum y píxel, respectivamente.

Las filas de la matriz Upersona correspondena una persona en particular, es decir, lai−esima fila representa a la i−esima persona,independiente de la expresión e iluminación.Lo mismo ocurre con las filas de Uexpresion,donde cada una ellas corresponden a unaexpresión en particular.

La descomposición HOSVD puede ser con-siderada de diferentes maneras, de acuerdo asu utilidad. Aquí, se utiliza la siguiente expre-sión:

T = B×1 Upersonadonde B = S×2 Uexp.ilum×3 Upixel

Como lo muestra la figura 7

Figura 7: Descomposición HOSVD.

Si se fija una persona p y una expresión e enparticular, se obtiene el vector:

T (p,e, :) =U(p, :)×1 B(:,e, :)

Si llamamos tp = T (p,e, :), up = U(p, :) yBe = B(:,e, :) la ecuación se transforma en:

tp = upBe

Figura 8: Vector imagen.

Esto se puede interpretar como sigue: elvector tp representa la imagen de la personap en la expresión e; las columnas de la matrizBe forman una base para la expresión e yel vector up contiene las coordenadas de laimagen tp, en dicha base.

Por lo tanto, el vector imagen de la personap en la expresión e está dado por:

Ipe = upBe

Así, las coordenadas de la imagen en dichaexpresión, están representadas por el vector:

up = Ipe pinv(Be)

Ahora si se considera la imagen de una per-sona desconocida It , sus coordenadas en unacierta expresión e estarán dadas por

dt = ItPinv(Be)

Luego se compara este vector, con los vec-tores fila up =U(p, :) de la matriz Up, el vectorup que minimiza la expresión

‖dt−up‖

entre todas las expresiones, identifica laimagen desconocida como la persona p.

A continuación, se describe el algoritmo:

Algoritmo: SVD-multilinealInput: Imagen de prueba It

1) Calcular el tensor B

2) Dada la imagen de prueba It , calcular suscoordenadas en una expresión e como:

dt = Pinv(Be)∗ It

3) Evaluar min‖dt−up‖ donde up son las fi-las de la matriz Upersona

4) El vector up que minimiza la expresión‖dt−up‖ identifica a la persona descono-cida como la persona p

Se realizaron pruebas con fotos de personasdesconocidas, y con fotos de personas de la ba-se de datos, en diferentes condiciones, para op-timizar el algoritmo. Los resultados obtenidossuperaron nuestras expectativas y se muestranen la sección 4.

6 Resultados Obtenidos

6.1 Positivos

Las primeras pruebas se realizaron con lasfotos de testeo, y con fotos de personas des-conocidas. En todos los casos, los resultadosfueron óptimos, aún cuando las fotos fuerontomadas en diferentes condiciones de ilumina-ción o con una definición muy baja, como seobserva en la figura 9.

Figura 9: Resultados de reconocimiento conuna foto borrosa. A la izquierda foto de prue-ba, a la derecha foto reconocida por el algorit-mo.

6.2 Parámetros controlados

Luego se consideró, para personas de la ba-se de datos, imágenes tomadas anteriormenteen condiciones muy diferentes, como distan-cia focal, iluminación, condiciones físicas dela persona (barba, cabello, ropa, etc.). En estecaso se pudo observar que dichas condicionesafectan, en algunos casos, al reconocimientomientras que en otros la persona fue reconoci-da.

Considere la figura 10 que representa algu-nos casos donde el reconocimiento se obtienesin controlar los diferente parámetros.

Figura 10: Resultados de reconocimiento confotos que tienen ruido.

En otro caso fue obligatorio modificar laimagen, debido a que ésta abarca caracterís-ticas (hombros, cuello, espacio físico) que ge-neran ruido en el análisis. Para hacer esta mo-dificación, se cambió el parámetro de distanciafocal (es decir, un zoom sobre el rostro sin mo-dificar el tamaño de la foto, ver figura 11)

Después de esta modificación el reconoci-miento llegó a un resultado positivo (figura12).

6.3 Resultados negativos

Al realizar las primeras pruebas, con las fo-tos de testeo de las personas de la base de da-tos, se obtuvo, que para una de ellas, el algo-ritmo falló, dando como resultado una compa-

Figura 11: Modificación digital de la foto tes-teo (zoom).

Figura 12: Resultados de reconocimiento conuna foto modificada.

ración con personas parecidas.(figura 13). Ob-servemos que en la foto, el rostro de la personaestá desviado. En otra imagen similar donde lapersona está correctamente orientada, el reco-nocimiento es positivo.

Figura 13: Resultados de reconocimiento erró-neo.

6.4 Resumen

Las pruebas se realizaron con 28 fotos, delas cuales 21 corresponden a imágenes de per-sonas de la base de datos y 7 a personas desco-nocidas. De estas 28 fotos, 23 de los casos die-

ron resultado positivo (82%). Los resultadosnegativos se obtuvieron de 5 imágenes de per-sonas de la base de datos, de las cuales se mo-dificaron tres de ellas, que luego de una pruebafueron reconocidas. Es decir, que el algoritmoarrojo un resultado positivo en un 93% de loscasos.

Además, de las 21 fotos de las personas co-nocidas, sólo 16 de estas fueron reconocidas,más las 3 imágenes modificadas nos da un90% de resultado positivo con personas de labase de datos.

En el caso de las personas desconocidas, el100% de los casos fueron positivos.

La figura 14 muestra la tabla de resultados.

Figura 14: Resultados de reconocimiento.

7 Conclusiones

En este trabajo presentamos un método pa-ra reconocimiento facial mediante un modelobasado en tensores, diseñado para ser ejecuta-do en dispositivos móviles. Como característi-cas principales, es bastante robusto a cambiosen apariencia, resolución, cambios en la ves-timenta o peinado, etc. El uso de más de unapersona y una cámara de buena calidad en elentrenamiento han producido resultados muysuperiores a los obtenidos entrenando con fo-tos de calidad normal. En las fotos probadascon baja iluminación o menor calidad, el siste-ma funcionó igualmente de manera correcta.

El algoritmo desarrollado evalúa la proximi-dad lineal de una imagen con un conjunto deimágenes presentes en la base de datos, quedan un resultado positivo (el reconocimiento ono) en más de un 93% de los casos. Se encon-tró sin embargo que resulta crítica la forma-ción de un conjunto de fotos de entrenamientode alta calidad y de poses similares. La intro-ducción de fotos de mala calidad, o con varia-ciones en la posición o expresión en el conjun-to de entrenamiento, disminuye sensiblementeel nivel de los resultados obtenidos. También

es sensible al encuadre de la foto, lo que haceimprescindible la incorporación de un sistemapara reconocer el rostro y adecuar el encuadre,como trabajo futuro.

Los trabajos futuros incluyen la aplicaciónde este proceso y algoritmo en dispositivos in-teligentes, así como la mejora del proceso deentrenamiento, que según la experimentaciónrealizada debe ser efectuada en una PC debi-do al alto poder de cómputo requerido. Tam-bién la mejora del reconocimiento en bajo ni-vel de iluminación, problema común en este ti-po de programas, sería un avance importante.Entre las posibilidades del sistema a futuro, esperfectamente posible entrenarlo para recono-cer otras personas, permitiendo que estas (fa-miliares o similar) tengan acceso al sistema, oque personas de características faciales simila-res sean distinguidas. Estas posibilidades soncomplicadas de realizar en otros de los siste-mas actualmente en uso.

Agradecimientos

Agradecemos al Ingeniero Jorge Bustos dela F.A.C.E.T., U.N.T., por su trabajo profesio-nal en la toma y preprocesamiento de las imá-genes

Referencias

[1] Santu Rana, Wanquan Liu, Mihai Lazares-cu, and Svetha Venkatesh. A unified ten-sor framework for face recognition. volu-me 42, pages 2850 – 2862, 2009.

[2] Santu Rana, Wanquan Liu, Mihai Lazares-cu, and Svetha Venkatesh. Efficient tensorbased face recognition. In ICPR, pages 1–4. IEEE, 2008.

[3] Matthew Turk and Alex Pentland. Eigen-faces for recognition. J. Cognitive Neuros-cience, 3(1):71–86, jan 1991.

[4] M.A.O. Vasilescu and D. Terzopoulos.Multilinear image analysis for facial re-cognition. 2:511–514 vol.2, 2002.

[5] Lars Eldén. Matrix Methods in Data Mi-ning and Pattern Recognition. Society forIndustrial and Applied Mathematics, Phi-ladelphia, PA, USA, 2007.

[6] Paul Viola and Michael Jones. Robustreal-time object detection. In Internatio-nal Journal of Computer Vision, 2001.

[7] Lieven De Lathauwer, Bart De Moor, andJoos Vandewalle. A multilinear singu-lar value decomposition. SIAM J. MatrixAnal. Appl, 21:1253–1278, 2000.

[8] Tamara G. Kolda and Brett W. Bader.Tensor decompositions and applications.SIAM REVIEW, 51(3):455–500, 2009.