SISTEMA DE RECONOCIMIENTO DE ROSTROS Categoría: Pre-grado - Alumno Área Temátca: Ingenería de Sstemas Procesamento Dgtal de Imágenes Autor Sandra María Vlla Palacos Unversdad Peruana de Cencas Aplcadas (UPC) Escuela de Ingenería Electrónca Asesor Dr. Gullermo Kemper Vásquez RESUMEN El presente proyecto propone un sstema computaconal capaz de reconocer rostros a partr de mágenes facales capturadas a través de una cámara web. El sstema compara paramétrcamente la magen adqurda con aquellas almacenadas en una base de datos (usuaros regstrados). Para ello, se desarrolló una aplcacón en MATLAB, utlzando la nterfaz vsual Gude. En esta aplcacón se pueden controlar los parámetros utlzados para el proceso de reconocmento. El método de reconocmento empleado es basado en el procesamento de mágenes egenfaces. Actualmente el sstema se encuentra en la fase de ajuste y calbracón de parámetros. Los resultados parcales obtendos hasta el momento son presentados al fnal del presente trabajo. ABSTRACT Ths project conssts on the mplementaton of a system that recognses faces usng facal mages that are taken wth a webcam, comparng them wth others that are saved n a database. For that reason, an applcaton n Matlab was developed, usng the Gude nterface, to create vsual applcatons. Wth ths applcaton, the parameters used for recognton process can be controlled, whch defnes the effcency of the processes. Ths paper explans the performance of ths system and the mathematcal fundamentals used to ts development. I.- INTRODUCCIÓN En la actualdad, la segurdad es un tema que tene gran mportanca a nvel mundal. En el Perú, el aumento de la delncuenca ha hecho que muchas empresas y entdades opten por el uso de sstemas de segurdad cada vez mas sofstcados. Es por ello que en los últmos años se ha explotado los sstemas bométrcos como métodos efectvos de segurdad. La bometría es un campo tecnológco que consste en dentfcar personas a través de característcas físcas úncas. Desde la percepcón del ser humano, la forma más senclla de reconocer personas es a través del rostro, ya que este tene característcas úncas como dstanca entre los ojos, anchura de la narz, forma de la barblla, pómulos, forma de la boca, etc. El presente trabajo apunta al desarrollo de un sstema computaconal de segurdad basado en el reconocmento de rostros, que explota las característcas anterormente menconadas.. UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 1
II.- OBJETIVOS Desarrollar un sstema de reconocmento de rostros de gran confabldad Estudar e mplementar técncas de procesamento dgtal de mágenes que permtan mnmzar tasa de error del sstema. Valdar el sstema empleando los métodos convenconales descrtos en la lteratura centífca especalzada. Implementar un sstema de fácl operatvdad con el usuaro. Desarrollar un sstema de bajo costo para ser nstalado en cualquer sstema operatvo Wndows. III.- JUSTIFICACION Se desea desarrollar un sstema que sea capaz de reconocer personas a partr de sus característcas facales y compararlas con una base de datos para dentfcar fnalmente s se trata de una persona regstrada o no. Para esto, es necesaro que el sstema sea lo más confable posble. Esto sgnfca que el margen de error debe ser mínmo, ya que de no ser así podría ocasonar problemas en una stuacón real. As msmo el procesamento debe ser computaconalmente lo mas efcente posble. El hardware estará conformado por una computadora, una cámara web y una plataforma en la cual el ndvduo colocará su rostro para poder capturar la magen. El sstema será desarrollado totalmente en el Perú y tendrá un costo bajo, lo cual permtrá que tenga mayor accesbldad por parte de usuaros y empresas. As msmo se apunta a obtener un producto fnal que sea de fácl operatvdad por parte del usuaro, vsualmente atractvo y capaz de ser nstalado en sstemas operatvos Wndows, los cuales son los mas utlzados por la mayoría de usuaros de computadora. IV.- APLICACIONES El producto fnal podrá ser utlzado en dversas aplcacones relaconadas con segurdad y acceso restrngdo. Una de ellas está relaconado con empresas o áreas en las que se permte el ngreso a un número lmtado de personas. Tambén se puede aplcar en lugares públcos con gran concurrenca de personas. As msmo aeropuertos para la dentfcacón de requstorados o personas sospechosas de algún delto. V.- DESCRIPCION DEL SISTEMA PROPUESTO El sstema está conformado por un programa desarrollado en MATLAB y por una parte de hardware. Esta últma es conformada por una computadora conectada a una cámara web para poder capturar las mágenes de los rostros de dferentes personas. La cámara web estará colocada sobre un soporte, el cual a su vez tendrá una base donde la persona colocará el rostro para que la cámara web pueda capturar la magen respectva. El dseño consste en una caja, donde se encontrará la cámara web en un extremo y en el otro el soporte del rostro. Además se colocará una lámpara fluorescente en la parte superor para asegurar una adecuada lumnacón. El esquema de la base propuesta se muestra en la Fg. 1. En la parte de software, se ha mplementado un algortmo que permte segmentar las mágenes capturadas para obtener úncamente la magen del rostro D esa forma se descarta nformacón de otro tpo que puede ser no relevante para los objetvos del programa. Posterormente, se procede con la descomposcón de las mágenes para luego aplcarles la técnca de Análss de Componentes Prncpales, con lo cual fnalmente se procede a realzar el reconocmento. A contnuacón se explcarán los temas nvolucrados para la realzacón del algortmo y posterormente los pasos que se sgueron para la mplementacón del programa. UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 2
Fg. 1 Base para la captura de mágenes Segmentacón de mágenes: Una vez que la magen es capturada con la cámara web, se procede con el algortmo de segmentacón, el cual está basado en las proyeccones de las dervadas de las flas y columnas de los valores de la magen. Prevamente, se le aplca el fltrado de medana a la magen, para qutar el rudo y suavzar la magen. Luego se procede a recuantzar la magen a dos bts, para que los cambos sean más bruscos y de esta manera las dervadas se detecten mejor. Luego, se obtene el negatvo de la magen recuantzada para que el fondo y todo elemento no pertenecente al rostro sea oscuro y facltar la segmentacón (ver Fg. 2). Fg. 2 (a) Imagen capturada después de aplcar el fltrado de medana. (b) Imagen recuantzada a dos bts. (c) Imagen negatva. De la magen negatva, se obtenen los vectores Pv(n) y Ph(n), que son las proyeccones de las columnas y las flas, respectvamente (ver Fg. 3). Como cada fla y columna tene nformacón de los valores de los píxeles, las proyeccones tenen la nformacón de los píxeles de toda la magen. A estos vectores se les calcula la dervada para poder ver los cambos de estos valores, es decr, cambos de tonaldades en la magen. A partr de de Ph(n) y Pv(n), se obtenen las dervadas Ph (n) y Pv (n) (ver Fg. 4)., donde n es el índce que corresponde a cada elemento que contenen los vectores. UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 3
6 x 14 4 2 5 1 15 2 25 x 1 4 6 4 2 5 1 15 2 25 3 35 Fg. 3 Proyeccones de flas y columnas 3 2 1-1 -2 5 1 15 2 25 4 2-2 -4 5 1 15 2 25 3 35 Fg. 4 Dervada de las proyeccones de flas y columnas, respectvamente Para las columnas, se obtene el valor máxmo, que ndca la prmera varacón de tonaldad. Este valor se va a usar para segmentar la magen en el eje vertcal. El valor máxmo de Pv (n) puede ser expresado como : donde: Pv max = Pv (nmax) (1) Pv (nmax) > Pv (n) para todo n nmax (2) El valor nmax es el índce del valor máxmo del vector. De la msma forma, nmn es el índce del valor mínmo del vector. Luego se procede a calcular el valor : Lp = N nmax (3) UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 4
donde N es el número de columnas de la magen y Lp el valor equvalente al número de columnas posterores al valor máxmo. Luego se procede a calcular el vector Pv1 (n), el cual contendrá los valores de las proyeccones posterores al valor máxmo. De manera smlar, se calcula el vector Pv2 (n). Este vector contene los valores de Pv1 (n) desde la mtad hasta el últmo valor, ya que en este tramo se encuentra el valor mínmo, el cual ndca la segunda varacón de tonaldad. Con estos valores, se procede a segmentar la magen. El procedmento matemátco se puede expresar como : donde: Pv1 (n) = Pv (n + nmax) n =, 1,., Lp - 1 (4) Pv1 (n) = Pv (n + nmax) n =, 1,., Lp - 1 (5) Pv2 (n) = Pv1 (Lp/2 + n) n =, 1,., Lp/2-1 (6) Pv2 mn = Pv2 (nmn) (7) Pv2 (nmn) < Pv2 (n) para todo n nmn (8) Luego se forma el vector con los valores de las proyeccones, desde el índce del valor máxmo hasta el índce del valor mínmo, con lo cual se obtene las proyeccones de la magen segmentada con sus respectvos índces. Estos últmos son utlzados para ndcar las columnas a descartar y fnalmente segmentar la magen en las columnas. Posterormente se procede a segmentar la magen en las flas. A dferenca de las columnas, en las flas no se utlzará la dervada de las proyeccones debdo a que, como se puede observar en la fgura 3, sólo hay un cambo brusco cerca de la fla 5, lo cual ndca que hay cambo de tonaldad. S se observa la fgura 2c, en las prmeras flas tenen valores bajos, lo cual se ve reflejado en las proyeccones, y luego camba a valores altos que corresponden al rostro. Pero en las últmas flas, donde termna el rostro, no hay cambos sgnfcatvos como en el caso de las columnas, por lo que no se podría utlzar el msmo tpo de segmentacón que en las columnas ya que no segmentaría ben, para lo cual se requere que el límte nferor del rostro vaya apoyado en una base y de esta manera descartar la parte del cuello o los hombros. De las flas, se obtene Ph(m), donde m =, 1,., M-1 (M es el número de flas de la magen). Luego se calcula el valor máxmo del vector Ph(m) para segmentar la parte superor de la magen : luego se obtene : Ph(mmax) > Ph(m) para todo m mmax (9) Ph1(m) = Ph(m =, 1,, mmax/2) (1) donde Ph1(m) contendrá los valores de las proyeccones desde la prmera fla hasta aquella cuyo índce es la mtad del mmax (donde mmax es el índce del valor máxmo de las flas). De esta manera se obtene el rango donde se encuentra el cambo brusco que ndca cambo de tonaldad (de fondo a rostro). Para que el cambo sea más evdente, se procede con el submuestreo en factor de 3 de Ph1(m), y a este últmo vector se le calcula la dervada, con lo cual se procede a segmentar la magen en las flas. El procedmento se puede expresar como : Phd(m) = Ph1(3m) Donde m =, 1,, mmax/6 (11) donde m1 es el índce del valor máxmo de Phd (m) Phd (m1) > Phd (m) Para todo m m1 (12) UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 5
x 1 4 1 5 5 1 15 2 25 4 x 14 2 2 4 6 8 1 12 4 x 14 2 5 1 15 2 25 3 35 4 Fg. 5 Proyeccones de las flas, proyeccones de las flas hasta la mtad del vector y las proyeccones submuestreadas en factor de 3 Como el tamaño de las mágenes segmentadas puede varar, se procede a estandarzarlo con pxeles de la magen entera o qutándole pxeles sobrantes, según sea el caso. Luego de esto, se obtene fnalmente la magen segmentada, como se puede aprecar en la Fg. 6. Fg. 6 Imagen segmentada Descomposcón Wavelet: La descomposcón wavelet es una técnca que se utlza para descomponer la magen de entrada en cuatro sub-mágenes. En el programa se utlza la descomposcón wavelet para reducr las dmensones de las mágenes sn perder la nformacón facal necesara. El resultado de la descomposcón esta conformado cuatro sub-mágenes, que contenen detalles prncpales, detalles vertcales, detalles horzontales y detalles dagonales. Para el presente trabajo, se descompuso la magen dos veces, por lo cual se obtenen cuatro submágenes cuyas dmensones son cuatro veces menor que la magen orgnal; sn embargo, los detalles prncpales no se perden. Para el programa, se utlza la sub-magen con los detalles prncpales y se le normalza, a fn de que el rango de grses, se encuentre entre y 255. En la Fg. 7 se observa la descomposcón Wavelet de una magen facal. UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 6
Fg. 7 Imagen facal y sus respectvas submágenes. (wavelets) Análss de Componentes Prncpales (ACP): El ACP es un método matemátco que da orgen al método de egenfaces. El método consste en la recoleccón de mágenes de rostros de varas personas que son luego combnadas y convertdas en una matrz. Los vectores que conforman esta matrz son los denomnado vectores egenfaces. Estos pueden ser combnados adecuadamente para reconstrur cualquer magen facal del conjunto. Para descrbr el método, asúmase en prmer lugar que se tene un conjunto de M mágenes, que prevamente fueron segmentadas (de P flas y Q columnas), que son convertdas a vectores Φ. Con ello se construye una matrz que contene a cada vector como columna. La matrz resultante presenta por tanto PxQ flas y M columnas: [ Φ Φ ] Y =, 1 2,..., Φ M En seguda se calcula el vector promedo de la matrz: M = 1 (13) M 1 ψ = Φ (14) Luego se calcula el vector que ndca la dstanca de cada vector Φ al vector promedo: Γ = Φ ψ (15) Estos vectores se almacenan en una matrz A : [ Γ Γ ] A = 1, 2,..., Γ M (16) Luego se halla la matrz de covaranza para poder hallar sus autovalores y autovectores: M 1 T T C({ Φ }) = Γ Γ = AA (17) M = 1 Como la matrz de covaranza C está conformada por PxQ flas y PxQ columnas, resulta ser demasado grande, por lo que el programa demoraría excesvamente en procesar la nformacón. Para evtar esto, se procede ncalmente a plantear la sguente gualdad: T A Av µ = v (18) donde ì y v son los autovalores y autovectores de A T A, de longtud (MxM). Luego se multplca A por A T A: UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 7
T AA Av Aµ v = µ = Av (19) donde AA T vene a ser la matrz C. Con este artfco se obtenen los autovalores y autovectores de la matrz C. Los autovectores de C se hallan de la sguente manera: u = Av = M = 1 v k Γ k (2) Luego se toman los autovectores de los autovalores de mayor valor (por encma de un umbral), ya que contenen la mayor nformacón respecto a las mágenes del conjunto. Los autovectores escogdos se almacenan en una matrz U k, donde k es el número de autovectores elegdos: U ] T T k = [ u1, u2,..., u (21) k Al ser multplcada la traspuesta de la matrz U k, con la matrz A, resulta la matrz del espaco transformado, la cual contene los datos de las mágenes proyectadas en el nuevo espaco de dmensón k. Ω = U T k k A (22) Tenendo los vectores que representan las proyeccones de cada magen del conjunto sobre el espaco de dmensón k, se procede al reconocmento de datos, utlzando los egenfaces Ω k. Cabe resaltar que medante combnacón lneal de los egenfaces se puede reconstrur cualquera de los M rostros del conjunto. Sn embargo está reconstruccón no es perfecta debdo a que se lmtó las dmensones del espaco para mejorar la efcenca computaconal del sstema. La reconstruccón se realza de la sguente forma: Aˆ = Ω (23) U k k Fnalmente se obtene la magen reconstruda: Programa: Yˆ Aˆ +ψ (24) = Incalmente el programa adquere una magen de rostro en escala de grses. Luego se realza el procedmento ACP y se obtene el vector egenfaces de la magen adqurda. En seguda el vector es comparado con todos los vectores de las mágenes proyectadas almacenadas, calculando la dstanca eucldana normalzada entre ellos. La dstanca mínma obtenda será la que ndque el usuaro regstrado con el cual el rostro de entrada tene mayor semejanza. Sn embargo, esta dstanca mínma puede ser muy grande, lo que ndcaría que nnguno de los usuaros regstrados concde adecuadamente con el usuaro de entrada. Para evtar este tpo de problemas, se procedó a establecer un umbral, a fn de colocar un límte en la dstanca mínma, y rechazar usuaros que no están verdaderamente regstrados. S la dstanca es menor al umbral, entonces el usuaro se consdera como dentfcado, mostrando en pantalla el nombre respectvo y su foto reconstruda. El programa ofrece tambén la opcón de modfcar la dmensón del espaco y de esa forma alterar el tempo de ejecucón del msmo. Así msmo se ofrece la opcón de poder regstrar un nuevo usuaro en cualquer momento. La nterfaz vsual de usuaro del sstema propuesto es mostrada en la Fg. 8. UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 8
Fg. 8 Interfaz vsual del sstema propuesto VI.- RESULTADOS Con estas adcones al programa, se procedó al reconocmento de las mágenes y después de comparar resultados se obtuvo lo sguente: Verdaderos acertos: 92.26% Verdaderos Rechazos: 89.94% Falsos acertos: 7.4 % Falsos Rechazos: 1.6% VII.- CONCLUSIONES Se recomenda aumentar el número de mágenes de más personas en la base de datos para comprobar mejor la efectvdad del programa. A mayor número de mágenes, mayor tempo de procesamento del programa. Por ello se recomenda utlzar un número de autovectores ntermedo. Se establecó un tamaño estándar para las mágenes capturadas ya que estas son convertdas luego a vectores que se almacenan en una matrz. El algortmo de segmentacón ayuda a reducr las dmensones de las matrces y esto hace posble que el tempo de procesamento del programa sea menor. Se recomenda utlzar un fondo blanco para evtar problemas de lumnacón. El recorte de las mágenes ngresadas por la webcam ayuda a qutar detalles sn mportanca (no facales) e guala en tamaño a las demás mágenes regstradas. El proceso de reconocmento devuelve como dato prncpal el nombre del usuaro reconocdo, lo cual faclta la dentfcacón de los msmos. REFERENCIAS BIBLIOGRÁFICAS [1] Turk, Mathew and Pentland, Alex, Vson and Modelng Group, the Meda Laboratory. Massachusetts Insttute of Technology. [2] Pecenovc, Zoran and Crvell, Rocco, Sgnal Processng Mn-project: Face recognton usng egenmages. [3] Bergasa, Lus Mguel, Aplcacones con PCA. UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 9
DATOS PERSONALES Sandra María Vlla Palacos Av. Los Forestales Mz H6 lote 41. Urb. La Rvera de Monterrco. La Molna, Lma. e-mal: u2126@upc.edu.pe, sandravlla445@hotmal.com Teléf.: 1-348857, Cel.: 1-93322949 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS 1