Universidade de Brasília IE – Departamento de Ciência da Computação Reconhecimento Facial Baseado em Eigenfaces e na PCA com Múltiplos Thresholds Por PAULO QUINTILIANO DA SILVA Orientador: Prof. Dr. ANTÔNIO NUNO DE CASTRO SANTA ROSA • Papel do Reconhecimento Facial • O relacionamento entre as pessoas está baseado no Reconhecimento Facial 02 Histórico do Reconhecimento Facial • • Em 1878, Sir Francis Galton escreveu artigo apresentando a sua Composite Portraiture 03 A idéia de comparação de medidas de Galton é utilizada em pesquisas atuais na Ciência da Computação 04 Objetivos deste trabalho • Modelo de Reconhecimento Facial, baseado na PCA e nas eigenfaces • Projeção da face questionada no espaço de faces • O Reconhecimento Facial é determinado pela mínima distância euclideana dentro do threshold de uma classe 05 B I O M E T R I A 06 Biometria • Definição • Histórico • Princípio do Threshold • O corpo é a própria chave • Aplicações • Qual sistema de biometria é o melhor? 07 Reconhec. Facial na Psicologia • Níveis do reconhecimento da face: • Reconhecimento em nível de entrada; e • Reconhecimento do em nível subordinado • O cérebro tem regiões específicas para o Reconhecimento Facial 08 Etapas do Reconhecimento Facial • Representação Facial • Template-based • Feature-based • Appearance-based • Detecção Facial • Reconhecimento Facial 09 Fatores que interferem no desempenho do RF • Expressões Faciais • Iluminação inadequada • Disfarces • Escala • Posição da Face 10 Expressões Faciais Iluminação inadequada 11 Disfarces Escala 12 Posição da Face 13 Técnicas Utilizadas no RFA • Uso das Características Geométricas da Face • Uso de templates • Redes Neurais Artificiais • Hidden Markov Models • Eigenfaces 14 Banco de Dados de Faces utilizado para avaliação • The Yale Face DataBase • 15 classes • 11 imagens p/classe: centerlight, withglasses, happy, leftlight, noglasses, normal, rightlight, sad, sleepy, surprised e wink 15 Banco de Dados de Faces 16 Modelo Proposto para o Reconhecimento Facial Automático • Baseia-se na PCA e nas eigenfaces, autovalores e autovetores. • projeção da face questionada no espaço das eigenfaces. • Encontra a distância euclideana mínima dentro do threshold de uma classe 17 Implementação • Linguagem Matlab, versão 5.0 • 10 mil linhas de fonte • Todas as imagens são submetidas aos algoritmos • Compaq Presario 5170, PII-350 MHz, 128 MB RAM • 30 minutos para a execução 18 Detecção Facial utilizada • Grande intervenção Manual 19 Autovalores e Autovetores Autovalores de W W I 0 Autovetores xi de W W i I xi 0 Para ( xi 0) 20 • As M imagens de faces são convertidas em vetores coluna i,1 ' j ,k (i 1,...,N ; j, k 1,...,N ) 2 • Calcula-se a Face Média 1 M M i 1 i 21 Face Média 22 23 • Novo conjunto de imagens, “O Espaço ”, obtido da diferença entre as imagens originais e a face média. i i (i 1,...,M ) 24 Montagem da matriz A 1 2 3 4 M Ai , j j ;i ,1 ( N 2 xM ) 25 Montagem da matriz C 1 2 3 4 N2 C AA T ( N 2 xN 2 ) 26 Montagem da matriz L 1 2 3 4 M LA A T (MxM ) 27 Montagem da matriz V v1 v2 v3 v4 vM Autovetores da matriz L (MxM ) 28 Montagem da matriz U u1 u2 u3 u4 uM Autovetores da matriz C ( N 2 xM ) 29 Cálculo dos Autovetores de C M ul vlk k , (l 1,...,M ) k 1 U A( N 2 xM ) V( MxM ) 30 Cálculo dos Autovetores de C u1 v1,1 1 v1,2 2 v1,3 3 . . . . . v1,M M u2 v2,1 1 v2,2 2 v2,3 3 . . . . . v2,M M u3 v3,1 1 v3,2 2 v3,3 3 . . . . . v3,M M u4 v4,1 1 v4,2 2 v4,3 3 . . . . . v4,M M u M vM ,1 1 vM ,2 2 vM ,3 3 . . . . vM ,M M 31 Cálculo dos Autovetores de C d1 d 2 T t t ... t Sejam ( MxM ) 1 2 M e D . M d M Será mostrado que TD d i ti é verdadeira. i 1 t11 t 21 TD ... ... t M 1 t12 .... t1M t 22 .... t 2 M ... ...... ... ... ...... ... t M 2 ....t MM d1 t11d1 t12 d 2 .... t1M d M d t d t d .... t d 22 2 MM M 2 21 1 ... ... ... .... ... ... .... ... ... ... d M t M 1d1 t M 2 d 2 .... t MM d M 32 Cálculo dos Autovetores de C Colocando-se em evidência os escalares d, teremos: t11 t12 t t 21 22 TD d1 . d 2 . . . . d M . . t M 1 t M 2 Logo: TD d1 t1 d 2 t2 ... d M t M t1M t 2M . . t MM M d t i 1 i i 33 Treinamento do modelo de RF i U (i ),i 1,...,Nc. T Imagens usadas: withglasses, happy, noglasses e sleepy. 34 Representação das faces a partir das eigenfaces 2, 5, 10, 20, 30 e 50 maiores autovalores. Autovalores de 2, de 5, de 10, de 20, de 30 e de 50 até 128. 35 Reconhecimento de faces a partir das eigenfaces U ( ) T Cálculo da distância euclideana i , (i 1,..., Nc ) 2 i 2 36 Cálculos dos thresholds 1 i max{ i j } (i, j 1,..., Nc ) k • Foram usados fatores k de 1 a 10 • Uso dos autovetores com os maiores autovalores • Corte hard. Usando-se apenas os 5, 10, 20, 30 e 50 maiores autovalores 37 Tabela dos thresholds Fator "k" CLASSES E SEUS RESPECTIVOS THRESHOLDS EM FUNÇÃO DO FATOR "K" 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 1 3.65 4.75 4.24 5.02 4.80 4.95 5.03 4.52 4.37 4.63 4.73 5.01 4.69 4.59 4.49 2 1.82 2.37 2.12 2.51 2.40 2.47 2.51 2.26 2.18 2.31 2.36 2.50 2.34 2.29 2.24 3 1.21 1.58 1.41 1.67 1.60 1.65 1.67 1.50 1.45 1.54 1.57 1.67 1.56 1.53 1.49 4 0.91 1.18 1.06 1.25 1.20 1.23 1.25 1.13 1.09 1.15 1.18 1.25 1.17 1.14 1.12 5 0.73 0.95 0.84 1.00 0.96 0.99 1.00 0.90 0.87 0.92 0.94 1.00 0.93 0.91 0.89 6 0.60 0.79 0.70 0.83 0.80 0.82 0.83 0.75 0.72 0.77 0.78 0.83 0.78 0.76 0.74 7 0.52 0.67 0.60 0.71 0.68 0.70 0.71 0.64 0.62 0.66 0.67 0.71 0.67 0.65 0.64 8 0.45 0.59 0.53 0.62 0.60 0.61 0.62 0.56 0.54 0.57 0.59 0.62 0.58 0.57 0.56 9 0.40 0.52 0.47 0.55 0.53 0.55 0.55 0.50 0.48 0.51 0.52 0.55 0.52 0.51 0.49 10 0.36 0.47 0.42 0.50 0.48 0.49 0.50 0.45 0.43 0.46 0.47 0.50 0.46 0.46 0.44 Ob.: Valores divididos por 1.0e+015 38 Resultados Obtidos Uso das 120 imagens bem iluminadas N. Autovetores Erros 05 Acertos Acertos Acertos 1º lugar 1º e 2º 1º 2º 3º 23,22% 49,17% 64,17% 76,67% 10 11,67% 63,33% 77,50% 88,33% 20 6,67% 81,67% 89,17% 93,33% 30 3,33% 87,50% 92,50% 96,67% 50 1,67% 88,33% 94,17% 98,33% 39 Resultados Obtidos Uso de todas as 165 imagens N. Autovetores Erros 05 46,67% Acertos 1º lugar 33,33% Acertos 1º e 2º 44,85% Acertos 1º 2º 3º 53,33% 10 35,15% 43,64% 57,58% 64,85% 20 25,45% 64,24% 71,52% 74,55% 30 20,61% 68,48% 76,36% 79,39% 50 16,36% 72,12% 76,97% 83,64% 40 Técnicas de Simetrização • Melhora as condições de iluminação e a performance do algoritmo Pode também ser usado em: • Imagens de faces semi-oclusas • Imagens de faces em perfil 41 Técnicas de Simetrização Simples (>=2/3) Média com a inversa (< 2/3) 42 Resultados da aplicação da Simetrização IMA- CLASSES EM QUE FORAM FEITOS OS BATIMENTOS GEM 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 04A 1.26 0.93 1.03 1.26 0.85 1.03 1.35 0.82 0.83 0.84 1.25 0.93 1.18 0.89 0.93 26A 1.73 0.97 1.23 1.23 1.17 1.09 1.10 0.97 1.02 1.00 1.54 0.92 1.01 1.07 1.16 04D 0.42 1.33 1.19 1.51 1.30 1.42 1.71 1.02 1.06 1.30 0.89 1.51 1.37 1.11 1.08 26D 0.95 1.03 0.68 1.15 1.17 1.22 1.38 0.75 0.87 1.02 1.04 1.29 0.77 0.81 0.86 Ob.: Valores divididos por 1.0e+015 43 Resultados Obtidos Uso das 45 imagens com problemas de iluminação Simetrização Erros 1º Lugar 1º e 2º 1º 2º 3º Sem 57,77% 24,44% 31,11% 42,22% Com 40,00% 42,22% 46,66% 60,00% 44 Expansão das Eigenfaces em Eigenmouth e Eigennose 45 Expansão das Eigenfaces em Eigenmouth e Eigennose 46 Expansão das Eigenfaces em Eigeneyes (um olho) 47 Expansão das Eigenfaces em Eigeneyes (dois olhos) 48 Resultados Obtidos Eigenmouth e eigennose (120 imagens) N. Autovetores Erros 05 Acertos Acertos Acertos 1º lugar 1º e 2º 1º 2º 3º 17,50% 50,00% 75,00% 82,50% 10 13,33% 62,50% 83,33% 86,67% 20 14,16% 65,00% 83,33% 85,83% 30 13,33% 66,67% 80,00% 86,67% 50 15,00% 69,17% 80,83% 85,00% 49 Resultados Obtidos Eigeneye esquerdo (120 imagens) N. Autovetores Erros Acertos Acertos Acertos 1º lugar 1º e 2º 1º 2º 3º 35,00% 59,16% 77,33% 05 17,50% 10 13,33% 50,83% 68,33% 84,17% 20 14,16% 66,66% 77,50% 83,33% 30 13,33% 74,17% 80,00% 84,17% 50 15,00% 80,83% 86,66% 87,50% 50 Conclusão • O modelo é robusto no tratamento de imagens de faces bem iluminadas e com expressões faciais diversas • Dispensa considerações da geometria da face e distância entre os órgãos faciais • É sensível no tratamento de imagens obtidas em condições não controladas • Simetrização e Eigenfeatures 51 Publicações em Congressos e Periódicos Internacionais • “Pratical Procedures to Improve Face Recognition Based on Eigenfaces and Principal Component Analysis” (5 páginas) Proceedings of 5th PRIA - Rússia, 2000 • “Face Recognition Based on Eigenfaces and Symmetryzation” (17 páginas) - Periódico internacional PATTERN RECOGNITION AND IMAGE ANALYSIS - Rússia, 2001 52 Apresentação de Artigos em Congressos Internacionais • “Face Recognition Based on Eigenfaces with Multiple Thresholds” (8 páginas) SPIE, San Jose/EUA, janeiro/2001 • “Face Recognition Based on Eigeneyes, Eigennose, Eigenmouth and Eigenfaces” (9 páginas) - EVOIASP2001, Milan/Itália, abril/2001 53 Apresentação de Artigos em Congressos Internacionais • “Face Recognition Working with HalfOccluded Face Images Based on Eigenmouth, Eigennose and Eigeneyes with Multiple Thresholds” - Boston/EUA, outubro/2001 54