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
LA 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
Download

Eigenfaces