Professional Documents
Culture Documents
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.
2.2.
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.
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)
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.
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
(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)
(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 %
dim 40 50 39
dim 42 70 56
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
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
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
acierto
acierto
acierto
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
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 %
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