You are on page 1of 13

Trabajo Final de Reconocimiento de Patrones: Identiacin utilizando PCA, ICA y LDA.

o
Mauricio Delbracio, Mat Mateu as 8 de marzo de 2006

Resumen En este documento, se presenta los resultados del trabajo con tres algoritmos clsicos de extraccin y seleccin de caracter a o o sticas utilizados para problemas de reconocimiento de caras: Principal Component Analysis (PCA), Independent Component Analysis (ICA) y Linear Discriminant Analysis (LDA). Se evalan estos algoritmos aplicados a la u base de caras creada por nuestro grupo de Proyecto de Fin de Carrera, la IIE Database. Se compara la performance entre estos algoritmos en la identicacin de personas enroladas en la base. o

1.

Introduccin o

Se aborda en este trabajo nal de Reconocimiento de Patrones el problema de la identicacin de caras. En los sistemas de identicacin, o o la identidad es desconocida y por tanto el algorimto deber descifrar a la identidad correspondiente siempre que la imagen contenga una cara (problema de la localizacin) y que la eventual persona haya sido preo viamente enrolada a la base (problema de entrenamiento). En identicacin de caras, como en la mayor de los problemas o a de procesamiento de imgenes, son extra a das ciertas caracter sticas de cada imagen antes de ser clasicadas. Se busca seleccionar aquellas caracter sticas relevantes para poder discriminar de modo de no trabajar con la imagen original. El trabajo con la imagen cruda presenta principalmente dos problemas: alta variabilidad inclusive para una misma persona y muy alta dimensionalidad. Sin embargo, uno no conoce a priori cules son esas caracter a sticas relevantes y discriminantes. De este problema surgen diversas soluciones posibles, cada una inspirada en ideas ms o menos intuitivas acerca de cmo obtener estas caraca o ter sticas. En este trabajo nos enfocamos en tres algoritmos bien conocidos en el mundo de reconocimiento e identicacin de caras: PCA, ICA y LDA, o todos ellos algoritmos de proyeccin en subespacios de menor dimeno sin que a travs de argumentos estad o e sticos obtienen representaciones

de baja dimensionalidad que permiten pasar a la siguiente etapa en el procesamiento, la clasicacin de las imgenes. o a Se estudia entonces la performance de los algoritmos de clasicacin o utilizando el algoritmo de k-NN, con la norma euclideana. Se observa en la bibliograf estudios similares para otras normas como la norma a de Mahalanobis o la norma del Coseno.

2.

Background de los Algoritmos

2.1. Preprocesamiento y Normalizacin de la IIE o Database


Se utiliz dos herramientas que permitieron normalizar la galer o a de imgenes. Por un lado aplicamos la herramienta de preprocesamiena to y normalizacin del paquete CSU [5]. Este paquete es un sistema de o evaluacin de algoritmos de identicacin de caras que trabaja sobre o o la FERET Database [6]. Por otro lado, para poder ingresar las imgenes a al sistema de preprocesamiento se realiz extraccin semiautomtica o o a de las coordenadas de los ojos, dado que esto es un requerimiento de la herramienta CSU. Esta extraccin de coordenadas se realiz primero o o aplicando el algoritmo de deteccin de caras esCARAbajo [7] y luego o corrigiendo manualmente las coordenadas de los ojos. Sintticamente los pasos fueron los siguientes: e Deteccin semiautomtica de coordenadas de los ojos. o a Conversin de entero a otante: lleva los 256 niveles en sus equio valentes de punto otante. Normalizacin geomtrica: alinea las coordenadas de los ojos eso e pecicadas. Enmascaramiento: recorta la imagen usando una mscara el a ptica y los bordes de la imagen de modo tal que sea visible la cara desde la frente al mentn. o Ecualizacin de histograma: aplicado a la parte que no fue enmao sacarada. Normalizacin de p o xeles: escala los valores de los p xeles para obtener una media de cero y una varianza unitaria de estos valores. Los ultimos cinco pasos corresponden a la ejecucin de csuPre o processNormalize del sistema CSU. Luego de este preprocesamiento, obtuvimos la base normalizada pronta para utilizar como galer de a imgenes de nuestro trabajo. a

2.2.

Principal Components Analysis: PCA

PCA es una tcnica tradicional de proyeccin sobre un subespacio e o para reconocimiento de caras, es probablemente la ms utilizada tama bin. Se tiene un set de imgenes de entrenamiento I. Como primer e a

paso se computa la imagen promedio de I y se le resta a cada una de las imgenes de entrenamiento, obteniendo el set de datos: a i1 , i2 , ..., in I I (1)

Luego se compone una matriz X tal que cada columna es una imagen de muestra. XX T es la matriz de covarianza de las muestras de entrenamiento y las componentes principales de la matriz de covarianza se computan resolviendo RT (XX T )R = (2)

donde es la matriz diagonal de valores propios y R es la matriz de vectores propios ortonormales. Se puede ver geomtricamente que R es una matriz de cambio de e base que rota los antiguos ejes a los ejes propios, donde el vector propio con valor propio ms grande se corresponde con el eje de mxima a a varianza, el asociado con el segundo ms grande se corresponde con la a segunda mayor varianza y es ortogonal con el anterior y as sucesiva mente. Finalmente, nos quedamos con los n vectores propios de mayor valor propio asociado. El parmetro de compresin en este caso es prea o cisamente n dado que indica la dimensin del vector de caracter o sticas que va a representar a la imagen original. Cada coeciente de la representacin de la imagen se obtiene proyectndola sobre cada uno de los o a vectores de la base PCA.

2.3.

Independent Components Analysis: ICA

ICA es una herramienta de anlisis cuyo objetivo es descomponer a una seal observada (imagen de una cara) en una combinacin lineal n o de fuentes independientes. Surge de la tcnica conocida por su sigla e BSS, o Blind Sepparation Source, que intenta obtener las fuentes independientes a partir de combinaciones de las mismas. Mientras que PCA decorrelaciona las seales de entrada utilizando n estad sticos de segundo orden (minimizando el error cuadrtico medio a de proyeccin, i.e.: KLT), ICA minimiza mayores ordenes de dependeno cia. El nmero de observaciones N (1 i N ) debe ser mayor o igual u al nmero de fuentes originales M (1 j M ). En general se utiliza u N = M . Asumiendo que cada Xj es una combinacin desconocida y o diferente de los vectores fuentes originales, ICA expande cada seal n Xj en una suma ponderada de vectores fuente. Encontramos aqu una fuerte similitud con PCA.

Sea S la matriz de seales independientes y X la matriz de obsern vacin. Si A es la matriz de combinacin desconocida, el modelo de o o combinacin se puede escribir como: o X = A.S (3)

Asumiendo que las seales fuente son independientes unas de las n otras y que la matriz A es invertible, el algoritmo ICA tratar de ena contrar la matriz de separacin W , tal que: o U = W.X = W.A.S donde U : estimacin de las componentes independientes. o (4)

Figura 1: Esquema Blind Source Separation


La gura 1 muestra un esquema de lo anterior. La esencia de los algoritmos que implementan ICA es la bsqueda u de la matriz W segn cierto mtodo iterativo de optimizacin. Para u e o una matriz U vista como arreglo de vectores, los vectores son estad sticamente independientes cuando fU (U ) =
i

fU i (Ui )

(5)

En esta implementacin de ICA utilizamos el algoritmo FastICA[3], o probablemente uno de los algoritmos ms generales, el cual maximiza: a J(y) C[E{G(y)} E{G(v)}]2 (6)

En donde G : funcin no cuadrtica, v : densidad de probabilidad o a gaussiana y C es una constante mayor a cero. Se puede demostrar que maximizando una funcin de estas caracter o sticas se obtiene un optimo

en el sentido de independencia buscado. FastICA es un algoritmo ampliamente explorado en esta area. Des de el punto de vista de la performance de los algoritmos que implementan ICA se ha demostrado emp ricamente que existen diferencias muy pequeas y que todos obtienen un optimo muy similar de componentes n independientes. En la literatura de esta temtica se argumenta que ICA no tiene a ventajas como algoritmo de clasicacin perse [1], [2]. En la prctica, o a y en nuestro caso, se suele utilizar PCA como preprocesador: se aplica PCA para proyectar las observaciones en un subespacio de dimensin m o (utilizamos m = 100). De esta forma se controla el nmero de compou nentes o dimensin de la base producida por ICA. o En este trabajo utilizamos una implementacin de ICA clsica y o a una alternativa: En la implementacin clsica alimentamos el algoritmo FastICA o a con las primeras m componentes de las imgenes de entrenamiena to proyectadas en la base PCA. A la salida, el algoritmo nos devuelve la matriz de separacin W . Para obtener el representante o de una imagen de prueba entonces primero proyectamos sobre la base PCA y obtenemos los primeros m coecientes y luego proyectamos sobre la matriz entrenada W . Con este representante de la imagen original es que se alimenta el algoritmo de clasicacin. o En la implementacin alternativa se alimenta el algoritmo FastICA o directamente con los primeros m vectores de la base PCA. A la salida se recoge la matriz U que est compuesta en sus columa nas por las coordenadas independientes de la base PCA. Luego las imgenes de prueba se proyectan sobre la matriz U . El vector de a dimensin m resultante es lo que se toma como el representante o de las imgenes originales. a

2.4.

Linear Discriminant Analysis: LDA

LDA o Linear Discriminant Analysis es una tcnica de aprendizaje e supervisado para clasicar datos. La idea central de LDA es obtener una proyeccin de los datos en un espacio de menor (o incluso igual) o dimensin que los datos entrantes, con el n de que la separabilidad de o las clases sea la mayor posible. Es una tcnica supervisada ya que para e poder buscar esa proyeccin se debe entrenar el sistema con patrones o etiquetados. Es importante aclarar que LDA no busca en ningn mou mento minimizar el error de representacin cometido, como s lo hac o a PCA. Existen varias implementaciones de LDA, entre ellas se encuentra Fisher-LDA [8]. Para explicarlo vamos a considerar la versin ms o a simple del problema:

Encontrar el vector w de proyeccin, que proyecte los datos o a un espacio uni-dimensional de manera de obtener la mayor separabilidad entre sus clases. Formalizando, tenemos x1 ..xn patrones d-dimensionales etiquetados en c clases. Cada clase cuenta con Nc patrones. Se busca w, para obtener yi = wT xi proyecciones uni-dimensionales de los patrones. Lo que busca Fisher-LDA es maximizar la siguiente funcin objeo tivo: w T SB w (7) w T SW w donde SB es la matriz de dispersin inter-clase y SW es la matriz o de dispersin intra-clase. Siendo ms precisos: o a J(w) = SB =
c

Nc (c )(c )T (xi c )(xi c )T


c ic

(8) (9)

SW =

Siendo c la media de cada clase, la media de todos los datos, Nc la cantidad de patrones de la clase c. Fisher-LDA busca encontrar el vector w de proyeccin que maxio mice el cociente entre la matriz de dispersin inter-clase y la matriz o de dispersin intra-clase. o Operando se puede ver que el w que maximiza la funcin objetivo o debe cumplir: SB w = SW w (10)

Si SW es no singular podemos resolver el clsico problema de valoa 1 res propios para la matriz SW SB :
1 SW SB w = w

(11)

Si ahora sustituimos la solucin en (7) obtenemos lo siguiente: o J(w) =


T w T SB w w k SB w k = k T = k con k = 1..d TS w w W w k SW w k

(12)

siendo wk vector propio k de valor propio k . En consecuencia, para maximizar la solucin debemos considerar o el vector propio con mayor valor propio asociado. Claro est que este desarrollo vali para el caso en que queremos a o proyectar los datos sobre un espacio uni-dimensional. Se puede ver sin mayor esfuerzo [9] que para el caso de querer proyectar sobre un espacio m-dimensional, se debe resolver el mismo problema y elegir los m

vectores propios con valores propios asociados ms grandes. a En nuestro caso particular en donde se trabaj con imgenes (datos o a de alta dimensin) se aplic, como en el caso de ICA, una primera etapa o o de PCA para reducir la dimensionalidad de los datos. Los datos fueron reducidos a dimensin 100. Cabe acotar que existen formas directas de o aplicar LDA (D-LDA) que no fueron objeto de estudio en este proyecto. Al igual que en los casos anteriores, para la clasicacin se utiliz el o o algoritmo k-nn.

3.

Experimentos - Resultados

Para evaluar los algoritmos propuestos, se utiliz la IIE Database. o La base consta de 24 imgenes por persona y est formada por un toa a tal de 49 individuos. Entre las diferentes imgenes, se encuentran dos a sets obtenidos con una semana de diferencia, imgenes con diferentes a expresiones y en diferentes condiciones de iluminacin. o Realizamos tres tipos de experimentos: - Test I: Entrenamiento: 4 imgenes de frente. Evaluacin: 2 imgea o a nes de frente (tomadas una semana despus). e - Test II: Entrenamiento: 2 imgenes de frente. Evaluacin: 2 a o imgenes de frente (tomadas en el mismo momento). a - Test III: Entrenamiento: 4 imgenes de frente. Evaluacin: 8 a o imgenes de varias expresiones, partes oclu a das o problemas de iluminacin. o Luego de proyectar los datos en los diferentes subespacios, se aplic k-nn o con mtrica euclideana. Se estudi la performance del mismo al aplie o carlo con parmetro k = 1, 3, 5. a A continuacion mostramos algunos de los resultados obtenidos. Test I k=1 PCA ICA LDA Test I k=3 PCA ICA LDA Dimensin o 30 50 86.73 % 88.78 % 86.73 % 91.84 % 95.92 % 95.92 % Dimensin o 30 50 84.69 % 86.73 % 85.71 % 90.81 % 95.91 % 95.91 % max RRmax 88.78 % 91.84 % 96.94 % max RRmax 87.75 % 91.83 % 97.95 %

10 71.43 % 69.39 % 86.73 %

70 88.78 % 91.84 % 92.86 %

dim 40 50 39

10 70.40 % 68.36 % 85.71 %

70 86.73 % 91.83 % 92.85 %

dim 42 70 56

La tabla anterior muestra la performance (RR 1 ) de los algoritmos


1

RR: Recognition Rate - Porcentaje de Reconocimiento

frente al Test I al variar la dimensin del subespacio de proyeccin. La o o primer tabla clasica utilizando el algoritmo k-NN con k = 1 (vecino ms cercano). La segunda utiliza el mismo algoritmo pero con k = 3. a Ambos casos dan resultados muy similares. Observando los resultados vemos que a partir de 40 coecientes stos prcticamente no var e a an. En ambos casos el algoritmo que mejor se desempea es LDA logrando n un alt simo porcentaje de reconocimiento. En la gura 2 se muestra la evolucin de los algoritmos al considerar mayor nmero de componeno u tes.

1 0.9 0.8 0.7 0.6 error 0.5 0.4 0.3 0.2 0.1 0 0 10 20

Error Tipo I k = 1 PCA ICA LDA

30 40 Cantidad de componentes

50

60

70

Figura 2: Evolucin del error cometido al clasicar el Test I en funcin de o o la cantidad de componentes tomados. Clasicacin mediante 1-NN. Test I. o
A continuacin mostramos los resultados obtenidos al realizar el o Test II. Vemos que en este caso, los resultados son mejores que en el caso anterior. En este Test, todos los algoritmos tienen un muy buen desempeo. Cabe acotar que las imgenes utilizadas para el entrenan a miento y para la validacin fueron adquiridas en la misma sesin foo o togrca. a

Test II k=1 PCA ICA LDA

10 86.73 % 88.77 % 78.57 %

Dimensin o 30 50 94.89 % 95.91 % 97.95 % 97.95 % 94.89 % 97.95 %

70 95.91 % 94.89 % 93.87 %

max RRmax 96.93 % 97.95 % 98.97 %

dim 33 29 41

Segn la literatura existen variantes de los mtodos explicados anu e teriormente. Por ejemplo, para el mtodo PCA, hay autores [5] que e sostienen que las primeras componentes no sirven para diferenciar las imgenes de la base. En nuestro caso implementamos la clasicacin sin a o tomar en cuenta los primeros dos componentes (PCA2). Respecto a ICA, se obtuvieron los resultados mediante el mtodo original y su variante e (ICA2). En todos estos casos el algoritmo utilizado fue 1-NN. Para el algoritmo LDA mostramos los resultados de aplicar la clasicacin ko NN, con k = 1, 3, 5. En la gura 3 se muestran algunos resultados. Test I Mtodo e PCA PCA2 ICA ICA2 LDA k1 LDA k2 LDA k3 Dimensin o 30 50 86.73 % 84.69 % 86.73 % 85.71 % 95.92 % 95.91 % 94.89 % 88.78 % 90.82 % 91.84 % 87.75 % 95.92 % 95.91 % 95.91 % Max RRmax dim 88.78 % 90.82 % 91.84 % 87.75 % 96.94 % 97.95 % 97.95 % 40 44 50 24 39 56 49

Aplicando los algoritmos al Test III - el ms dif - los resultados a cil no fueron alentadores como en el resto. La siguiente tabla muestra la codicacin del tipo de foto en una letra. o m: n: o: p: q: r: s: t: sonriente sorprendido enojado guiada n bufanda lentes normales lentes negros iluminacin no uniforme o

A continuacin se presenta un resumen de lo obtenido frente al Test o III. Los resultados mostrados corresponden a representaciones de dimensin 50. o

1 0.8 0.6 0.4 0.2 0

RR Test I :: PCA vs PCA2 :: k = 1

1 0.8 0.6 0.4 0.2 0

RR Test I :: ICA vs ICA2 :: k = 1

acierto

PCA PCA2 0 20 40 60 Cantidad de componentes 80

acierto

ICA ICA2 0 20 40 60 Cantidad de componentes 80

1 0.8 0.6 0.4

RR Test I :: LDA :: k = 1,3,5

1 0.95 0.9 0.85

RR Varios Metodos :: dim = 50

PCA PCA2 ICA ICA2 LDA1 LDA2 LDA3

acierto

LDA k = 1 0.2 0 LDA k = 3 LDA k = 5 0 20 40 60 Cantidad de componentes 80 0.75 1 0.8

Metodo

Figura 3: Resultados varios para el Test I. PCA2: PCA quitando los dos primeros componentes para la clasiacin. ICA2: Arquitectura ICA entrenada o directamente mediante la base PCA. LDA para k = 1, 3, 5. En los tests ICA y PCA se utiliz 1-NN para clasicar. o

Test III Mtodo e PCA PCA2 ICA ICA2 LDA

m 81.6 % 77.5 % 73.4 % 81.6 % 87.7 %

n 67.3 % 61.2 % 73.4 % 67.3 % 81.6 %

o 71.4 % 65.3 % 73.4 % 71.4 % 83.6 %

Tipo de Foto p q 79.5 % 28.5 % 69.3 % 28.5 % 73.4 % 20.4 % 79.5 % 28.5 % 83.6 % 65.3 %

r 59.1 % 61.2 % 57.1 % 61.2 % 81.6 %

s 18.3 % 12.2 % 24.4 % 18.3 % 32.6 %

t 20.4 % 20.4 % 2.0 % 20.4 % 26.5 %

Finalmente, en la gura 4 mostramos un ejemplo de bases de caras utilizadas para proyectar las imgenes originales en espacios de menor a dimensin. o

10

Figura 4: Imgenes generadoras de los diferentes subespacios de dimensin a o 6. En orden descendente: base PCA, ICA, ICA2, LDA.

4.

Conclusiones

Se estudi la performance de tres algoritmos bien conocidos en el o mundo del Reconocimiento de Caras. Se encontr que todos ellos son o fuertemente sensibles a las imgenes con las que fueron entrenados. Su a performance baja signicativamente frente a oclusiones y a problemas de iluminacin. o De manera global podemos concluir que el algoritmo que obtiene mejores resultados al clasicar es LDA, el unico de los algoritmos que se entrena supervisadamente. En el caso de ICA concluimos que mejora

11

visiblemente los resultados que PCA, an estando lejos de la perforu mance de LDA. Vimos que PCA es un buen reductor de dimensin (til o u como compresor), que por s solo no logra obtener buenos resultados de clasicacin. LDA logra obtener un buen RR frente a variaciones de exo presiones, como pueden ser una sonrisa o un enojo.Frente a oclusiones se vio que ninguno de los algoritmos logra una performance aceptable. Esto es debido al caracter hol stico de los algoritmos implementados. Respecto a las variantes de los algoritmos utilizados, se concluye que ICA2 no logra obtener una performance tan buena como la de ICA - clsico - obteniendo valores similares a los de PCA. En cuanto a PCA2 a se obtiene una mejora sensible frente a PCA en la mayor de los casos. a Se observ que la performance de los algoritmos, no tuvo un camo bi signicativo al variar el parmetro k del clasicador por vecino ms o a a cercano.

12

Referencias
[1] C. Havran, L. Hupet, J. Lee, L. Vandendorpe, M. Verleysen,Independent Component Analysis for Face Authentication, Proceedings-Knowledge-based Intelligent Information and Engineering Systems,(Crema, Italy), (2002). [2] A. Draper, K. Baek, M. S. Barlett, J. Ross,Recognizing Faces with PCA and ICA , for Special Issue on Face Recognition,(Colorado State, USA), (2002). [3] FastICA (GPL) package for Matlab, http://www.cis.hut./projects/ica/fastica/, (Laboratory of Computer and Information Science, Neural Network Research Group, University of Helsinki, Finland.) (ult. visita: febrero de 2006). [4] M.S. Barlett, J.R. Movellan and T.J. Sejnowski, Face Recognition by Independent Component Analysis, IEEE Transaction on Neural Networks vol. 13, pp. 1450-1462, 2002., volume 13,(2002): 1450-1462. [5] The CSU Face Identication Evaluation System http://www.cs.colostate.edu/evalfacerec/ Computer Science Departament, Colorado State University. (ult. visita: Febrero de 2006). [6] The Feret Database, http://www.nist.gov/humanid/colorferet/home.html, (ult. visita: Febrero de 2006)(.NIST,USA,2002.) [7] C. Aguerrebere, G Capdehourat, M.Delbracio, M.Mateu, Pgina web del proyecto nal del curso de Tratamiena to de Imgenes, http://iie.ng.edu.uy/investigacion/grupos/gtia /timag/trabajos/2005/caras/index.htm, (ult. visita: Febrero de 2006). [8] M.Welling, Fisher Linear Discriminant Analysis Department of Computer Science, University of Toronto [9] Duda, Hart, Pattern Classication (2nd Edition) Wiley 0471056693 (2000)

13

You might also like