reconhecimento de faces_diver
TRANSCRIPT
-
8/4/2019 Reconhecimento de Faces_DIver
1/63
UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA
DEPARTAMENTO ACADEMICO DE INFORMATICA
CURSO DE BACHARELADO EM SISTEMAS DE INFORMACAO
LUCAS DE ALMEIDA CRUZ
TATIANE GOMES GUIMARAES
ESTUDO COMPARATIVO DE TECNICAS PARA
RECONHECIMENTO FACIAL
PROJETO DE PESQUISA
CURITIBA
2011
-
8/4/2019 Reconhecimento de Faces_DIver
2/63
LUCAS DE ALMEIDA CRUZ
TATIANE GOMES GUIMARAES
ESTUDO COMPARATIVO DE TECNICAS PARA
RECONHECIMENTO FACIAL
Monografia apresentada para a disciplina de Me-
todologia de Pesquisa, do Curso de Bachare-
lado em Sistemas de Informacao do Departamento
Academico de Informatica da Universidade Tec-
nologica Federal do Parana.
Orientadora: Profa Leyza Baldo Dorini
CURITIBA
2011
-
8/4/2019 Reconhecimento de Faces_DIver
3/63
AGRADECIMENTOS
Cremos que escrever os agradecimentos e uma tarefa difcil, pois muitas vezes cometemos
injusticas e por esquecimento nao mencionamos nomes de pessoas que tambem contriburam
para o trabalho.
Gostaramos de expressar nossa gratidao a todos que nos deram uma oportunidade de apren-
der e explorar novas dimensoes da pesquisa academica.
Somos extremamente gratos, especialmente, a Profa. Dra. Leyza Baldo Dorini, nossa ori-
entadora, que sempre demonstrou acreditar no nosso potencial, e que nos ensinou, ajudou e
orientou na direcao correta para completar este trabalho.
Ao Prof MSc. Chidambaram Chidambaram pelas conversas e valiosas sugestoes.
A todos que leram e revisaram o trabalho, sendo ou nao da area, nossos sinceros agradeci-
mentos.
Aproveitamos tambem a oportunidade para agradecer as nossas famlias e amigos, que
demonstraram apoio e confianca incondicional em nos durante todo o processo de realizacao
desta pesquisa.
Pro fim, agradecemos a Deus por sempre nos iluminar e guiar.
-
8/4/2019 Reconhecimento de Faces_DIver
4/63
Um sonho que se sonha so, e so um sonho que se sonha so, mas um
sonho que se sonha junto e realidade.Raul Seixas
-
8/4/2019 Reconhecimento de Faces_DIver
5/63
Licenciamento: A obra Estudo Comparativo de Tecnicas para Reconhe-
cimento Facial de autoria de CRUZ, Lucas de Almeida; GUIMARAES,
Tatiane Gomes foi licenciada com uma Licenca Creative Commons -
Atribuicao 3.0 Brasil.
-
8/4/2019 Reconhecimento de Faces_DIver
6/63
RESUMO
CRUZ, Lucas de Almeida; GUIMARAES, Tatiane Gomes. Estudo Comparativo de Tecnicas
para Reconhecimento Facial. 61 f. Projeto de Pesquisa Curso de Bacharelado em Sistemas de
Informacao, Universidade Tecnologica Federal do Parana. Curitiba, 2011.
O reconhecimento facial por computadores e um tema estudado dentro da area de processa-
mento a analise de imagens que tem potencial para aplicacoes tanto comerciais quanto de
reforco da lei - como, por exemplo, para a seguranca de informacao e controle de acesso ou
reconhecimento de criminosos. Esta monografia apresenta um estudo comparativo entre doisalgoritmos de reconhecimento facial: Eigenfaces e Elastic Bunch Graph Matching (EBGM),
implementados pela Colorado State University (CSU) (COLORADO STATE UNIVERSITY
(CSU), 2011). Os algoritmos de reconhecimento de faces encontram muitas dificuldades tais
como a ma qualidade das imagens, variacao de iluminacao e fundo heterogeneo. A sua esco-
lha e, portanto, fundamental para a construcao de um sistema de reconhecimento facial. Os
objetivos deste projeto de pesquisa sao desenvolver um material textual que permita compreen-
der com maior facilidade o funcionamento dos algoritmos acima mencionados, comparar seu
desempenho em diferentes situacoes e desenvolver um guia pratico para o uso da ferramenta
desenvolvida pela CSU.
Palavras-chave: Reconhecimento Facial, EBGM, Eigenfaces, Comparacao de Algoritmos
-
8/4/2019 Reconhecimento de Faces_DIver
7/63
LISTA DE FIGURAS
FIGURA 1 ETAPAS DE UM SISTEMA DE RECONHECIMENTO. . . . . . . . . . . . . . . 15
FIGURA 2 ETAPAS DO ALGORITMO AUTOFACES . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
FIGURA 3 CONJUNTO DE IMAGENS DE TREINO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
FIGURA 4 IMAGEM DE UMA FACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
FIGURA 5 VETOR I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
FIGURA 6 FACE MEDIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
FIGURA 7 MATRIZ DE A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
FIGURA 8 MATRIZ DE A
T
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25FIGURA 9 EXEMPLO FICTICIO DA UTILIZACAO DO PCA EM UMA UNICA
FACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
FIGURA 10 EXEMPLO DE EIGENFACES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
FIGURA 11 FLUXOGRAMA DO ALGORITMO EBGM . . . . . . . . . . . . . . . . . . . . . . . . . 30
FIGURA 12 PARAMETROS DA TRANSFORMADA WAVELET . . . . . . . . . . . . . . . . . . 3 1
FIGURA 13 DA IMAGEM ORIGINAL AO GRAFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
FIGURA 14 FACE BUNCH GRAPH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
FIGURA 15 POSICOES DE IMAGENS DA BASE FERET . . . . . . . . . . . . . . . . . . . . . . . . 37
FIGURA 16 GRAFICO DE RANK DA LISTA DE IMAGENS DUP1 . . . . . . . . . . . . . . 40
FIGURA 17 GRAFICO DE RANK DA LISTA DE IMAGENS DUP2 . . . . . . . . . . . . . . 41
FIGURA 18 GRAFICO DE RANK DA LISTA DE IMAGENS FAFB . . . . . . . . . . . . . . . 41FIGURA 19 GRAFICO DE RANK DA LISTA DE IMAGENS FAFC . . . . . . . . . . . . . . . 42
FIGURA 20 GRAFICO DE COUNT DA LISTA DE IMAGENS DUP1 . . . . . . . . . . . . . 42
FIGURA 21 GRAFICO DE COUNT DA LISTA DE IMAGENS DUP2 . . . . . . . . . . . . . 43
FIGURA 22 GRAFICO DE COUNT DA LISTA DE IMAGENS FAFB . . . . . . . . . . . . . 43
FIGURA 23 GRAFICO DE COUNT DA LISTA DE IMAGENS FAFC . . . . . . . . . . . . . 44
FIGURA 24 GRAFICO DE RATE DA LISTA DE IMAGENS DUP1 . . . . . . . . . . . . . . . 44
FIGURA 25 GRAFICO DE RATE DA LISTA DE IMAGENS DUP2 . . . . . . . . . . . . . . . 45
FIGURA 26 GRAFICO DE RATE DA LISTA DE IMAGENS FAFB . . . . . . . . . . . . . . . . 45
FIGURA 27 GRAFICO DE RATE DA LISTA DE IMAGENS FAFC . . . . . . . . . . . . . . . 46
FIGURA 28 BURN DOWN CHART: PRIMEIRA PARTE . . . . . . . . . . . . . . . . . . . . . . . . . . 48FIGURA 29 BURN DOWN CHART: SEGUNDA PARTE . . . . . . . . . . . . . . . . . . . . . . . . . . 48
FIGURA 30 COMANDO MAKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
FIGURA 31 RESULTADO DO COMANDO MAKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
FIGURA 32 RODANDO SCRIPT RUNALLTESTS SCRAPS . . . . . . . . . . . . . . . . . . . . . . . 53
FIGURA 33 NORMALIZACAO DAS IMAGENS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
FIGURA 34 CALCULO DAS DISTANCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
FIGURA 35 RESULTADO DO SCRIPT TUNALLTESTS SCRAPS.SH . . . . . . . . . . . . . . 54
FIGURA 36 RODANDO O SCRIPT PROCESS FERET DVD.SH . . . . . . . . . . . . . . . . . . 55
FIGURA 37 RESULTADO DO SCRIPT PROCESS FERET DVD.SH . . . . . . . . . . . . . . . 5 5
FIGURA 38 REALIZANDO O DOWNLOAD DO PACOTE IMAGEMAGICK . . . . . . . 56
FIGURA 39 CONVERTENDO IMAGEM .TIF PARA .PGM . . . . . . . . . . . . . . . . . . . . . . 56
FIGURA 40 RODANDO O SCRIPT RUNPREPROCESSING FERET.SH . . . . . . . . . . . 57
FIGURA 41 RESULTADO DO SCRIPT RUNPREPROCESSING FERET.SH . . . . . . . . 57
-
8/4/2019 Reconhecimento de Faces_DIver
8/63
FIGURA 42 RODANDO O SCRIPT EBGMPREPROCESSING.SH . . . . . . . . . . . . . . . . . 5 8
FIGURA 43 RESULTADO DO SCRIPT EBGMPREPROCESSING.SH . . . . . . . . . . . . . 58
FIGURA 44 RODANDO O SCRIPT RUNPCA FERET.SH . . . . . . . . . . . . . . . . . . . . . . . . . 5 8
FIGURA 45 RESULTADO DO SCRIPT RUNPCA FERET.SH . . . . . . . . . . . . . . . . . . . . . 59
FIGURA 46 RODANDO O SCRIPT EBGM STANDARD.SH . . . . . . . . . . . . . . . . . . . . . . 59
FIGURA 47 EXTRAINDO OS JETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
FIGURA 48 RESULTADO DO SCRIPT EBGM STANDARD.SH . . . . . . . . . . . . . . . . . . . 6 0
FIGURA 49 RODANDO O SCRIPT GENERATEFERETRESULTS.SH . . . . . . . . . . . . . . 6 1
-
8/4/2019 Reconhecimento de Faces_DIver
9/63
LISTA DE TABELAS
TABELA 1 CRONOGRAMA DAS ATIVIDADES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
TABELA 2 LISTA DE IMAGENS UTILIZADAS NOS EXPERIMETOS . . . . . . . . . . . . 3 7
TABELA 3 AS 10 PRIMEIRAS LINHAS DO ARQUIVO DUP1 IMAGES.TXT (MO-
DIFICADO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
TABELA 4 AS 10 PRIMEIRAS LINHAS DO ARQUIVO DUP1 CURVE.TXT (MO-
DIFICADO) APRESENTANDO O RECOGNITION COUNT . . . . . . . . . . . . 39
TABELA 5 AS 10 PRIMEIRAS LINHAS DO ARQUIVO DUP1 CURVE.TXT (MO-
DIFICADO) APRESENTANDO O RECOGNITION RATE . . . . . . . . . . . . . . 39TABELA 6 AS TAXAS DE RECONHECIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
TABELA 7 MEDIA DE RANK POR TESTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
-
8/4/2019 Reconhecimento de Faces_DIver
10/63
LISTA DE SIGLAS
EBGM Elastic Bunch Graph Matching
CSU Colorado State University
PCA Principal Components Analysis
AFGR International Conference on Automatic Face and Gesture Recognition
AVBPA International Conference on Audio and Video-Based Person Authentication
FERET Face Recognition Technology
LDA Linear Discriminant Analysis
FBG Face Bunch Graph
MS Magnitude Similarity
PS Phase Similarity
DS Displacement Similarity
PGM Portable Gray Map
SFI Single Float Image
-
8/4/2019 Reconhecimento de Faces_DIver
11/63
SUMARIO
1 INTRODUC AO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.2 Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 CRONOGRAMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 ESTRUTURA DO TRABALHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 RECONHECIMENTO FACIAL: UMA INTRODUC AO . . . . . . . . . . . . . . . . . . . . . . . 152.1 RECONHECIMENTO DE PADROES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 RECONHECIMENTO FACIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1 Reconhecimento Facial por Humanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Reconhecimento Facial por Computadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 DELINEAMENTO DO ESTUDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1 EIGENFACES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1 Passo 1: Obter um Conjunto de Faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.2 Passo 2: Encontrar a Face Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.3 Passo 3: Calcular a Matriz de Covariancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.4 Passo 4: Reduzir a dimensionalidade da Matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.5 Passo 5: Comparacao das distancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 ELASTIC BUNCH GRAPH MATCHING (EBGM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 Wavelets de Gabor (Gabor Wavelets) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.2 Jets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.3 Comparacao de Jets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.4 Grafos de Face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.5 Face Bunch Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4 EXPERIMENTOS E ANALISE DOS RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1 EXPERIMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1 Ferramenta de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.1.2 Base de Imagens Facial Recognition Technology (FERET) . . . . . . . . . . . . . . . . . . . . . . 364.2 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.1 Graficos de Rank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.2 Graficos de Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2.3 Graficos de Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.4 Desempenho Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5 ANALISE DO PROCESSO E TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . 47
5.1 ANALISE DO PROCESSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.1 Burn Down Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2 TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
REFERENCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50APENDICE A -- MANUAL DA FERRAMENTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.1 1o PASSO: INSTALACAO DO SOFTWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
-
8/4/2019 Reconhecimento de Faces_DIver
12/63
A.2 2o PASSO: ADICAO DA BASE FERET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
A.3 3o PASSO: PREPARACAO DAS IMAGENS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
A.3.1 Convertendo as imagens .tif para .pgm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
A.3.2 Normalizacao das imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.4 4o PASSO: REALIZACAO DOS TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A.5 5o PASSO: GERACAO DE RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
-
8/4/2019 Reconhecimento de Faces_DIver
13/63
11
1 INTRODUC AO
O desenvolvimento de sistemas autonomos capazes de reproduzir a habilidade humana de
captar, processar e interpretar imagens e reagir a est mulos visuais ainda e um grande desa-
fio. A visao computacional busca auxiliar a resolucao de problemas neste contexto, tal comoo reconhecimento facial. Uma tarefa fundamental de um sistema de visao computacional e
obter uma descricao que contenha informacao suficiente para distinguir entre diferentes obje-
tos de interesse, de forma confiavel requerendo o mnimo de intervencao humana (PEDRINI;
SCHWARTZ, 2008).
O reconhecimento facial, foco deste trabalho, tem recebido muita atencao nos ultimos anos.
Ha varias razoes para explicar o grande numero de trabalhos cientficos neste tema. Uma delas
e o seu potencial para aplicacoes comerciais e de reforco da lei - como, por exemplo, para a
seguranca de informacao e controle de acesso ou reconhecimento de criminosos. O aumento da
disponibilidade e o barateamento de tecnologias e outra razao que contribui de forma significa-
tiva (ZHAO; CHELLAPPA; ROSENFELD, 2003).
O rosto humano e um objeto dinamico e tem alta variabilidade de aparencia, o que torna
a sua deteccao e reconhecimento automaticos difceis. Contraste, direcao e intensidade da luz,
variacao metrica, rotacao em profundidade e no plano, mudancas fsicas, machucados e man-
chas sao exemplos de dificuldades encontradas durante o processo. Mais especificamente, e
possvel levar em conta nao somente as caractersticas internas (da face propriamente dita),
mas tambem as caractersticas externas (como o cabelo, cachecol, entre outras). Outro fator a
ser considerado e que faces com caratersticas especficas sao melhor e mais facilmente reco-
nhecidas do que as faces comuns (ZHAO; CHELLAPPA; ROSENFELD, 2003). Com isso, ao
trabalhar no contexto computacional, e preciso levar em consideracao tecnicas que permitam
discriminar faces similares.
Como mencionado anteriormente, existem muitas dificuldades no processo de reconheci-
mento facial devido a alguns fatores como, por exemplo, a ma qualidade de imagem, iluminacao
e fundo heterogeneo (KINUTA DENNIS MOLINA; JUNIOR, ). Normalmente, os algoritmos
-
8/4/2019 Reconhecimento de Faces_DIver
14/63
12
que se propoem a reconhecer faces automaticamente, tem seu foco em diminuir o impacto de
apenas um destes fatores durante o reconhecimento.
Por ser uma area de tamanha relevancia e com tecnicas ainda nao consolidadas, torna-semuito importante o estudo comparativo das mesmas, para que se possa: (i) escolher o melhor
algoritmo de reconhecimento facial em um dado domnio de aplicacao (sendo essa escolha
um passo fundamental na elaboracao de um sistema) e (ii) direcionar estudos futuros sobre o
assunto.
Este trabalho visa a analisar e avaliar dois algoritmos de reconhecimento facial - Eigenfa-
ces e Elastic Bunch Graph Matching ( EBGM), incluindo (1) testes computacionais que levem
em conta parametros tais como restricoes, aplicabilidade e eficiencia e (2) elaboracao de ma-
terial textual que possibilite o entendimento adequado dos mesmos. A analise de tecnologias
que sao (e serao) utilizadas em aplicacoes do dia-a-dia, que permite futuras melhorias na sua
implementacao e a principal motivacao para a realizacao deste trabalho.
A seguir serao descritos os objetivos, metodologia, cronograma e estrutura do trabalho.
1.1 OBJETIVOS
1.1.1 Objetivo Geral
Desenvolver um material textual que permita compreender e comparar o desempenho dos
algoritmos de reconhecimento facial EBGM e Eigenfaces.
1.1.2 Objetivos Especficos
Este trabalho possui como objetivos especficos:
Desenvolver material textual de facil entendimento sobre reconhecimento facial e sobre
o processo e as fases dos algoritmos Eigenfaces e EBGM;
Realizar um estudo comparativo entre os metodos de reconhecimento facial Eigenfaces e
EBGM, considerando caractersticas inerentes de cada metodo e o desempenho quando
utilizados em bases de imagens de faces com diferentes caractersticas.
Desenvolver um manual da ferramenta utilizada para o estudo comparativo, (desenvolvida
pela Universidade do Estado do Colorado; Colorado State University - CSU).
-
8/4/2019 Reconhecimento de Faces_DIver
15/63
13
1.2 METODOLOGIA
A pesquisa foi desenvolvida baseada nas seguintes atividades:
1. Estudo dos conceitos basicos de processamento de imagens necessarios ao desenvolvi-
mento do trabalho
1.1 Pesquisar sobre conceitos basicos de processamento e analise de imagens: transformacoes,
filtros e aplicacoes.
2. Estudo das principais tecnicas e aplicacoes de reconhecimento de faces.
2.1 Levantamento do estado da arte (reconhecimento facial).
2.2 Pesquisa sobre os principais algoritmos da literatura, visando ao aprofundamento
teorico na area de pesquisa.
3. Analise de algoritmos selecionados e realizacao de testes experimentais.
3.1 Estudo dos algoritmos Eigenfaces e EBGM.
3.2 Avaliacao dos algoritmos, em termos de criterios identificados em outros trabalhos
da literatura, tal como variacoes de iluminacao;
3.3 Realizacao de testes experimentais utilizando o codigo disponibilizado pelo projeto
CSU Face Identification Evaluation System (COLORADO STATE UNIVERSITY
(CSU), 2011), implementado utilizando C e OpenCV.
3.4 Analise dos resultados utilizando metricas adequadas para comparacao entre tecnicas
de reconhecimento facial;
4. Escrita da monografia.
1.3 CRONOGRAMA
A Tabela 1 contem o cronograma das atividades listadas anteriormente.
1.4 ESTRUTURA DO TRABALHO
Para melhor compreensao de como foi realizada cada atividade durante o desenvolvimento
deste trabalho, assim como dos diferentes conceitos relacionados ao tema durante a execucao do
mesmo, o trabalho foi dividido da forma discutida a seguir. O Captulo 2 aborda a fundamentacao
-
8/4/2019 Reconhecimento de Faces_DIver
16/63
14
Tabela 1: Cronograma das atividades
MARCO ABRIL MAIO
ITENS \SEMANAS 1a 2a 3a 4a 1a 2a 3a 4a 1a 2a 3a 4a
1 1.1 1.1
2 2.1 2.1 2.2
3 3.1 3.1 3.2 3.2 3.3 3.3 3.4
4 4 4 4 4 4 4 4 4 4 4 4 4
teorica relacionada a area de reconhecimento facial. As dificuldades da resolucao deste pro-blema de maneira automatica e um breve historico dos algoritmos desenvolvidos para este fim
sao discutidas.
O Captulo 3 visa descrever o funcionamento dos metodos de reconhecimento facial esco-
lhidos para a comparacao.
No quarto captulo sao apresentados os resultados e experimentos obtidos com os algo-
ritmos em bases de dados com diferentes caractersticas. O manual da ferramenta utilizada
encontra-se no Apendice A.
No quinto e ultimo captulo e realizada a analise dos resultados, comparando-se o desem-
penho dos algoritmos em diferentes cenarios e do processo de realizacao deste trabalho. Alem
disso, estao presentes nesse captulo as consideracoes finais e sugestoes de trabalhos futuros.
-
8/4/2019 Reconhecimento de Faces_DIver
17/63
15
2 RECONHECIMENTO FACIAL: UMA INTRODUC AO
Este captulo apresenta os principais conceitos relacionados a reconhecimento facial e um
breve levantamento do estado da arte.
2.1 RECONHECIMENTO DE PADROES
Segundo o dicionario Aurelio (FERREIRA, 2005), padrao e uma metrologia grandeza-
tipo que serve para definir uma unidade. Reconhecimento de padroes e o estudo de como
computadores podem analisar uma cena e aprender e distinguir padroes de interesse do que esta
sendo visto, bem como verificar e justificar decisoes sobre as categorias dos padroes.
Apesar de anos de pesquisa nesta area, problemas comuns de reconhecimento de padroes
(envolvendo orientacao, localizacao e escala arbitrarios) ainda nao possuem solucao. Aplicacoes
novas e emergentes, tais como mineracao de dados, reconhecimento de faces e reconhecimento
de letras escritas a mao, exigem tecnicas robustas e eficientes (MARIN, 2001).
Alguns sistemas de reconhecimento incluem as etapas de aquisicao e/ou normalizacao de
imagens; porem, tradicionalmente, um sistema de reconhecimento e constitudo de duas etapas
principais: treinamento (aprendizagem) e classificacao (teste). A Figura 1 mostra um fluxo-
grama destas etapas.
Figura 1: Etapas de um sistema de reconhecimento.
Fonte: (MARIN, 2001)
-
8/4/2019 Reconhecimento de Faces_DIver
18/63
16
Na etapa de aprendizagem, os descritores (caractersticas/medidas especficas que variam
dependendo da aplicacao) de cada padrao considerado sao utilizados para treinamento do al-
goritmo de classificacao. Na etapa de teste, tal algoritmo classifica as entradas com base nos
descritores extrados das mesmas. Exemplos de algoritmos de classificacao incluem k-vizinhos
mais proximos e agrupamento (clustering) (PEDRINI; SCHWARTZ, 2008).
Tipicamente, a grande dificuldade esta na otimizacao do classificador, de forma que este
consiga distinguir futuras entradas (que serao provavelmente diferentes dos exemplos utiliza-
dos no treinamento). Portanto, quanto menos informacoes disponveis maior a dificuldade de
classificacao. Para evitar a necessidade de muitos conjuntos de testes independentes, normal-
mente as bases de dados sao divididas, para que uma parte seja utilizada para treinamento e
outra para os testes.
2.2 RECONHECIMENTO FACIAL
O reconhecimento facial e um sistema biometrico que, por sua vez, e um sistema de re-
conhecimento de padroes que estabelece a autenticidade de uma caracterstica fisiologica ou
comportamental possuda por um usuario. Sao exemplos de tecnicas biometricas analise de
impressoes digitais e de informacoes sobre a ris. Estas, no entanto, possuem carater invasivo,
por precisarem da cooperacao dos participantes. As tecnicas de reconhecimento facial tem a
vantagem de nao exigir a cooperacao dos participantes, ou nem mesmo seu conhecimento (AL-
BERGARIA; SANTOS; JUNIOR, 2006).
Os primeiros algoritmos de reconhecimento da face utilizavam modelos geometricos sim-
ples, mas este processo ja atingiu um nvel de maturidade que, hoje em dia, utiliza representacoes
matematicas e processos de comparacao sofisticados (ALMEIDA; BENT, 2008).
O reconhecimento automatizado da face e um conceito relativamente novo. No seu berco(decada de 1960 e 1970), os sistemas eram semi-automatizados, e precisavam da colaboracao
do seu administrador para localizar caractersticas nas fotografias antes que o sistema pudesse
calcular distancias para um ponto de referencia comum (ALMEIDA; BENT, 2008).
Em 1987, Kirby e Sirovich aplicaram o princpio da analise de componentes principais
(Principal Components Analysis - PCA), uma tecnica de calculo, ao problema do reconheci-
mento de face, o que foi considerado uma especie de marco na area. O PCA mostrou que eram
necessarios menos de uma centena de valores para codificar com exatidao uma imagem da face.
As imagens da base de dados, no entanto, precisam ser previamente normalizadas (em termos
de orientacao, por exemplo) e devem possuir as mesmas dimensoes (ALMEIDA; BENT, 2008).
-
8/4/2019 Reconhecimento de Faces_DIver
19/63
17
Em 1991, Turk e Pentland, motivados pela tecnica PCA, descobriram que o erro residual
podia ser utilizado para detectar faces em imagens, dando origem ao amplamente conhecido
algoritmo Eigenfaces. Esta abordagem acabou por motivar o interesse para o desenvolvimento
futuro de tecnologias de reconhecimento automatizado da face em tempo real (ALMEIDA;
BENT, 2008).
Atualmente, o crescimento das pesquisas na area de reconhecimento facial e evidenciado
pelo surgimento de conferencias na area (tais como International Conference on Automatic
Face and Gesture Recognition - AFGR e International Conference on Audio and Video-Based
Person Authentication - AVBPA), e de tecnicas para avaliacoes empricas sistematicas (como,
por exemplo, a base Face Recognition Technology - FERET)(ZHAO; CHELLAPPA; ROSEN-
FELD, 2003).
2.2.1 Reconhecimento Facial por Humanos
Um ponto de partida interessante para se construir tecnicas de reconhecimento eficientes e
compreender como funciona o sistema humano de reconhecimento de faces (ALBERGARIA;
SANTOS; JUNIOR, 2006).
Seres humanos utilizam todos os sentidos e conhecimento contextual para reconhecer alguem,o que constitui uma limitacao para os computadores. Por utilizarem apenas imagens como en-
trada, os algoritmos sao forcados a serem apenas visuais. Em compensacao, as pessoas tem
um limite de memoria (numero de faces das quais lembramos) e os computadores tem a vanta-
gem de poder lembrar de mais faces e expandir seu conhecimento (ZHAO; CHELLAPPA;
ROSENFELD, 2003).
A capacidade de reconhecer faces e entender as emocoes que elas transmitem e uma das
primeiras habilidades que adquirimos. Segundo estudos (MARIN, 2001), bebes podem identifi-
car a face de suas maes dentro de meia hora de nascimento. Devido ao contato com este tipo de
treinamento desde cedo, humanos tem a tendencia de lembrar mais facilmente de faces que de
outros objetos. Na maioria dos casos, os melhores reconhecedores de padrao sao os humanos,
porem, ainda nao se sabe exatamente como os humanos reconhecem padroes (ALBERGARIA;
SANTOS; JUNIOR, 2006) (STERGIOU, 2003).
Existem fatores que dificultam o reconhecimento de faces para humanos. Por exemplo,
quando a iluminacao esta de baixo para cima, o reconhecimento torna-se mais difcil. Ou-
tra consideracao sobre este processo e que rostos familiares sao mais facilmente reconhecidos
em movimento do que em fotos estaticas. Alem disso, caractersticas especficas de uma face
-
8/4/2019 Reconhecimento de Faces_DIver
20/63
18
tambem facilitam o reconhecimento (ZHAO; CHELLAPPA; ROSENFELD, 2003)(ALBER-
GARIA; SANTOS; JUNIOR, 2006).
Estudos apontam que o processo de reconhecimento de faces e separado do de um objetoqualquer e independente do reconhecimento de expressoes (faciais) (ZHAO; CHELLAPPA;
ROSENFELD, 2003)(ALBERGARIA; SANTOS; JUNIOR, 2006).
2.2.2 Reconhecimento Facial por Computadores
O problema de reconhecimento facial automatico, realizado por computadores, pode ser
enunciado da seguinte maneira: a partir de imagens estaticas ou de um vdeo, identificar ou
verificar uma ou mais pessoas da cena usando um banco de faces (base de dados) (ZHAO;
CHELLAPPA; ROSENFELD, 2003).
Pode-se entao dividir os desafios e tecnicas em dois grandes grupos: os que utilizam ima-
gens estaticas e os que utilizam imagens em movimento como entrada. Cada um destes grupos
possui suas proprias caractersticas, tais como qualidade da imagem, posicao, fundo e quanti-
dade de entradas.
O foco deste trabalho esta voltado para tecnicas que utilizam imagens estaticas.A solucao
para este problema, envolve tres etapas: (1) deteccao / segmentacao da face (2) extracao de
caractersticas e (3) reconhecimento / verificacao de faces. Estas etapas serao discutidas em
mais detalhes a seguir.
A fim de replicar o processo de reconhecimento por humanos, foram propostas duas aborda-
gens principais: a holstica e a baseada em caractersticas. A abordagem holstica compreende
metodos baseados na aparencia da face como um todo. Por outro lado, a abordagem baseada
em caractersticas leva em conta a analise de sub-regioes de interesse da face (ALBERGARIA;
SANTOS; JUNIOR, 2006).
As duas abordagens sao cruciais para a percepcao e reconhecimento de faces. Este trabalho
visa ao estudo das tecnicas Eigenfaces e EBGM, as quais pertencem a abordagem holstica
e baseada em caractersticas, respectivamente. Atraves deste estudo, objetiva-se identificar as
vantagens (e desvantagens) de cada metodo, possibilitando que trabalhos futuros possam utilizar
tais informacoes para, por exemplo, determinar a tecnica mais adequada ao caso especfico
considerado.
ETAPAS A seguir, sao discutidas brevemente as principais etapas do reconhecimento de
faces (ALBERGARIA; SANTOS; JUNIOR, 2006).
-
8/4/2019 Reconhecimento de Faces_DIver
21/63
19
Deteccao/Segmentacao de Faces: a abordagem holstica apresenta melhores resultados
nesta etapa (ALBERGARIA; SANTOS; JUNIOR, 2006), a qual apresenta varias difi-
culdades com relacao aos dados de entrada. Apesar de ter avancado muito nos ultimos
anos, ainda existem muitas dificuldades relacionadas a qualidade da imagem como, por
exemplo, a presenca de diferentes tipos de rudo, iluminacao, resolucao, pose (rotacao no
plano e em profundidade), fundos heterogeneos e diferentes tamanhos de face (relacio-
nada a proximidade).
Para fins de pesquisa, foram criadas bases publicas de imagens pre-formatadas com as
mesmas dimensoes. Essas bases tem diferentes caractersticas, por exemplo: podem con-
ter varias imagens de uma mesma pessoa ou nao, as imagens podem ser coloridas ou nao,
o fundo dessas imagens pode ter sido tratado (esta homogeneo) ou nao.
Extracao de caractersticas: Ate mesmo os metodos holsticos precisam da localizacao
precisa de caractersticas da face. Esta etapa e a chave tanto para a segmentacao quanto
para o reconhecimento de faces (ZHAO; CHELLAPPA; ROSENFELD, 2003). Seus
metodos podem ser divididos da seguinte forma: (a) geometricos - baseados em arestas
e curvas, (b) baseados em modelos - utilizando caractersticas da face, tais como olhos e
boca e (c) baseados em casamentos de estruturas - que levam em consideracao restricoes
geometricas das caractersticas (ALBERGARIA; SANTOS; JUNIOR, 2006).
Reconhecimento/Verificacao: pode ser dividido em tres grupos de metodos (ALBERGA-
RIA; SANTOS; JUNIOR, 2006):
Metodos holsticos: a primeira demonstracao realmente de sucesso de reconheci-
mento de faces por computadores foi apresentada por Turk e Pentland (TURK;
PENTLAND, 1991), usando Eigenfaces para deteccao e identificacao. Este metodo
sera discutido detalhadamente no Captulo 3. Posteriormente, foram obtidos muitos
avancos nos metodos holsticos, a ponto de se obter uma taxa de acerto superior a
95% para visao frontal de faces (ALBERGARIA; SANTOS; JUNIOR, 2006).
Metodos baseados em caractersticas: diversos metodos baseados em caractersticas
ja foram propostos. Os mais satisfatorios sao baseados na abordagem EBGM (WIS-
KOTT et al., ). Eles tem sido aplicados a deteccao e extracao de faces, estimacao
de pose, classificacao de sexo e reconhecimento de objetos em geral. O sucesso
desta tecnica parece estar relacionado a sua semelhanca como sistema visual hu-
mano (ZHAO; CHELLAPPA; ROSENFELD, 2003).
Metodos hbridos: utilizam tanto caractersticas holsticas quanto locais (atraves de
algoritmos geneticos por exemplo). Trabalhos como o de Albergaria e colaboradores
-
8/4/2019 Reconhecimento de Faces_DIver
22/63
20
(ALBERGARIA; SANTOS; JUNIOR, 2006) mostram que esta abordagem pode
aumentar a taxa de acerto, sugerindo que sua utilizacao e promissora. Porem, ao
mesmo tempo, os autores apontam a necessidade de realizar mais experimentos e de
forma mais rgida, para que sejam obtidas conclusoes definitivas.
Utilizando o banco de faces FERET, experimentos (ZHAO; CHELLAPPA; ROSENFELD,
2003) apontam os metodos baseados em EBGM, em subspacos de Analise de Discriminante
Linear (Linear Discriminant Analysis - LDA) e em Eigenfaces como tres dos mais eficientes
para reconhecimento de faces (ALBERGARIA; SANTOS; JUNIOR, 2006). Por esta razao,
EBGM e Eigenfaces foram escolhidos como objeto do estudo comparativo a ser realizado neste
trabalho.
QUEST OES EM ABERTO .
Apesar das diversas pesquisas na area, bem como das taxas elevadas de reconhecimento em
algumas delas, ainda existem varias questoes em aberto:
Muitas vezes, nao se tem uma base de dados com varias imagens de um mesmo indivduo
disponveis. E preciso entao realizar transformadas de imagens, que alteram a forma
de representar a imagem, de forma que estas fornecam informacoes que permitam uma
analise mais precisa dos dados (PEDRINI; SCHWARTZ, 2008), ou seja, outras imagens
sao geradas, a fim de aumentar o numero de imagens de referencia;
Apesar de diversas tecnicas terem sido propostas pela literatura, ainda nao existe uma
abordagem que seja superior em todos os cenarios, pois elas sempre consideram uma
serie de condicoes e limitacoes, sendo focadas em resolver um ou outro problema (STER-
GIOU, 2003);
Como reportar nao somente a presenca de uma face, mas tambem a sua localizacao pre-
cisa e suas caractersticas sob diferentes condicoes (ALBERGARIA; SANTOS; JUNIOR,
2006);
Como modelar variacoes de faces sob condicoes realistas, tais como fundos heterogeneos
e envelhecimento, por exemplo.
O proximo captulo contem a descricao do funcionamento dos algoritmos Eigenfaces e EBGM,escolhidos para este estudo comparativo.
-
8/4/2019 Reconhecimento de Faces_DIver
23/63
21
3 DELINEAMENTO DO ESTUDO
Este trabalho tem como objetivo a comparacao de dois metodos de reconhecimento fa-
cial, sendo um deles baseado em caractersticas globais (que utilizam toda a regiao do rosto
para obter uma representacao da imagem (SILVA, 2009)) e outro baseado na localizacao decaractersticas tais como nariz, boca e olhos. Para isso foram utilizados, respectivamente, os
algoritmos Eigenfaces e EBGM. Este captulo trata do funcionamento de cada um, visando
compreende-los para depois realizar experimentos direcionados e analisa-los corretamente.
3.1 EIGENFACES
O reconhecimento de imagens utilizando Eigenfaces foi proposto por Turk e Pentland
(TURK; PENTLAND, 1991) em 1991. Segundo eles, a ideia partiu do desenvolvimento das
tecnicas de Sirovich e Kirby (1987) com a representacao eficiente de fotos de faces utilizando
Principal Component Analysis (PCA), tambem conhecido como analise de componentes prin-
cipais. A Figura 2 mostra o diagrama que representa os passos do algoritmo.
Figura 2: Etapas do algoritmo Autofaces
-
8/4/2019 Reconhecimento de Faces_DIver
24/63
22
Inicialmente, e necessario que o conjunto de faces utilizado seja processado de tal forma
que todas as imagens tenham o mesmo tamanho e que a posicao do rosto esteja alinhada, por
exemplo. E esta etapa (Passo 1) constroi a denominada base de treinamento. O proximo passo
consiste no calculo da face media desta base, a qual sera subtraida de cada imagem da base
(Passo 2). Estes resultados, os quais representam a diferenca de cada imagem com relacao a
media, sao utilizados para construir uma matriz de covariancia (Passo 3).
Em seguida e feita a reducao da dimensionalidade da matriz atraves da analise de compo-
nentes principais, que basicamente forma uma matriz nova com os autovalores e autovetores
mais significativos da matriz de covariancia (Passo 4). Atraves da matriz encontrada, e feita a
comparacao das distancias de cada imagem em relacao a uma imagem de entrada. Nesta etapa,
podem ser utilizadas, duas formas para calculo da distancia: a Euclidiana e a de Mahalanobis.
Essa comparacao vai determinar qual imagem da base e mais similar a de entrada (Passo 5).
Estes passos sao brevemente descritos a seguir.
3.1.1 Passo 1: Obter um Conjunto de Faces
Neste passo, um conjunto de imagens formado por faces diferentes e difinido. Para o cor-
reto funcionamento do algoritmo, e preciso que estas possuam o mesmo tamanho, as mesmas
condicoes de iluminacao e elementos faciais alinhados. Este conjunto, formado por imagens
em nveis de cinza, e denominado conjunto de treinamento. A Figura 3 ilustra um exemplo.
Figura 3: Conjunto de Imagens de Treino.
Fonte: (ALBERGARIA; SANTOS; JUNIOR, 2006)
-
8/4/2019 Reconhecimento de Faces_DIver
25/63
23
Como esse algoritmo utiliza uma abordagem holstica, cada face deve ser analisada como
um todo. Com isso cada imagem e transformada em um vetor de pixels (BORDINI; KOTO-
VICZ, 2010). Na Figura 4 e apresentada uma imagem de face com sua largura (n) e sua altura
(m).
Figura 4: Imagem de uma face.
Fonte: modificado da (BORDINI; KOTOVICZ, 2010)
Incialmente, e encontrada a dimensao da imagem atraves do calculo: N = nm. Em seguida
e criado um vetor i, de tamanho N, que representa uma imagem da base. Onde i e o numero
da imagem.Na Figura 5 e ilustrado um vetor da imagem.
Figura 5: Vetor i .
Fonte: modificado da (BORDINI; KOTOVICZ, 2010)
A partir disso e criado um conjunto chamado R , que contem M imagens. Portanto:
R = {1,2,3, . . . ,M}
3.1.2 Passo 2: Encontrar a Face Media
A existencia de semelhancas faciais entre indivduos diferentes possibilita a criacao de
um padrao facial. Com o intuito de encontrar tal padrao no conjunto R, e calculada a media
aritmetica do somatorio dos vetores das faces. Cada posicao desse novo vetor criado repre-senta as caractersticas das imagens originais (BORDINI; KOTOVICZ, 2010). Este novo vetor
e definido na Equacao 1.
-
8/4/2019 Reconhecimento de Faces_DIver
26/63
24
=1
M
i
i (1)
Portanto, considerando R um conjunto com M faces, pode-se estimar esses espacos de
faces a partir da face media . Um exemplo e ilustrado na Figura 6).
Figura 6: Face Media.
Fonte: (ALBERGARIA; SANTOS; JUNIOR, 2006)
A partir da face media encontrada, e realizada a sua subtracao de cada face do conjunto R.
Dessa modo pode-se identificar as caractersticas de cada face que diferem da face media ou,
em outras palavras, pode identificar as caractersticas discriminativas de cada face. A Equacao
2 representa esta operacao.
i = i (2)
3.1.3 Passo 3: Calcular a Matriz de Covariancia
Calcula-se a matriz de covariancia a partir das faces subtradas, encontradas no passo ante-
rior (VASCONCELOS, 2007). A matriz A e formada da seguinte forma:
A = (i...M)
Agora observe a mesma matriz de uma outra perpectiva, Figura 7.
A Figura 8 ilustra a transposta de A, denotada por AT.
A partir disso pode-se calcular a matriz de covariancia, assim como especificado na Equacao
3. Note que este procedimento resulta na media do produto de cada subtracao, realizada anteri-
-
8/4/2019 Reconhecimento de Faces_DIver
27/63
25
Figura 7: Matriz de A.Fonte: modificado de (BORDINI; KOTOVICZ, 2010)
Figura 8: Matriz de AT.
Fonte: modificado de (BORDINI; KOTOVICZ, 2010)
-
8/4/2019 Reconhecimento de Faces_DIver
28/63
26
ormente, por ela mesma (VASCONCELOS, 2007). A matriz resultante sera NxN.
C=
1
MAAT
(3)
3.1.4 Passo 4: Reduzir a dimensionalidade da Matriz
Neste passo e realizada a reducao da dimensionalidade da matriz A a partir da utilizacao do
metodo de analise de componentes principais (PCA). Este metodo requer a utilizacao da matriz
de covariancia que foi encontrada no passo anterior. Abaixo sera explicado como e realizado
o metodo PCA, sem o uso de equacoes, para que uma imagem da face possa ser representada
dentro de um determinado espaco de faces.
Em um espaco linear, para realizar um reconhecimento estatstico, as imagens podem ser
tratadas como padroes segundo o metodo PCA (VASCONCELOS, 2007). O PCA e um dos
mais conhecidos metodos de analise multivariada, que estuda quais sao os componentes prin-
cipais dentro de um grande numero de dados e e fundamentado na reducao e simplificacao
desses dados. Mesmo havendo perda de informacao, e assegurado que as mais relevantes
nao sao perdidas/descartadas (ALMEIDA, 2006). Em reconhecimento de padroes, no caso
especfico o de faces, e sempre desejavel dispor de uma representacao compacta da imagem daface.(VASCONCELOS, 2007)
Figura 9: Exemplo fictcio da utilizacao do PCA em uma unica face.
Para a utilizacao do metodo PCA e criada uma matriz P, composta pelos maiores autove-tores ligados aos maiores autovalores da matriz de covariancia (TOMEI, 2004). Na Figura 9 e
ilustrado um exemplo fictcio desse metodo em uma face, onde grafico abaixo da face original
-
8/4/2019 Reconhecimento de Faces_DIver
29/63
27
representa todos os autovalores da mesma, e o grafico abaixo da Eigenface representa a reducao
destes valores para apenas os mais significativos, apos a realizacao do PCA. A finalidade desse
processo e a reducao dimensional da matriz, que passa a ter um tamanho de MxM. Na Equacao
4 e criada a matriz E, que contem as Eigenfaces, que representam as caractersticas de uma
face comum e as principais caractersticas de cada uma das faces do conjunto de treinamento,
a partir do produto da A e P, onde P e a matriz encontrada pelo PCA.(BORDINI; KOTOVICZ,
2010) Na Figura 10 sao ilustradas as Eigenfaces resultantes do processo quando considerada a
base mostrada na Figura 3.
ENxM = ANxMPMxM (4)
Figura 10: Exemplo de Eigenfaces.Fonte: (BORDINI; KOTOVICZ, 2010)
Nas Eigenfaces encontradas e aplicada a Equacao 5 que mostra como uma imagem da
face pode ser representada no espaco de faces. Dado j , como a projecao da imagem de j
(JARDIM, 2008). Podemos ter a projecao de no espaco de faces atraves de:
= +K
j=1jj (5)
Os coeficientes de no espaco de faces representado por =| 1...k | (JARDIM, 2008).
-
8/4/2019 Reconhecimento de Faces_DIver
30/63
28
3.1.5 Passo 5: Comparacao das distancias
Neste ultimo passo do algoritmo, e realizada a comparacao das imagens do conjunto de
treinamento com uma imagem de teste. Para esse calculo, pode-se utilizar duas formas de
encontrar a distancias entre as imagens. Uma e a Euclidiana, que utliza um calculo simples de
distancia entre dois pontos dentro de um espaco (JARDIM, 2008), e a outra e de Mahalanobis,
que se utiliza das variancias e covariancias da face para calcular a distancia (CASTRO, 2005).
Dada uma face qualquer com um conjunto de coeficientes (JARDIM, 2008). Podemos
definir a distancia intrnseca, que e a Euclidiana, entre duas faces de acordo com a Equacao 6.
di(,j) =j 2 (6)
Uma das formas de decidir se uma determinada face e ou nao uma face da base de dados
e utilizar a norma de Mahalanobis. Pode-se determinar os autovalores (encontrado atraves do
PCA) como definido na Equacao 7.
j 2=
K
i=1
1
i(i
ji )
2 (7)
3.2 ELASTIC BUNCH GRAPH MATCHING (EBGM)
Como descrito anteriormente, o EBGM e um metodo de reconhecimento facial baseado
em caractersticas. Esse sistema tem como cerne uma estrutura que considera que os objetos
tendem a girar; mudar de escala, posicao e iluminacao; e se deformar no plano da imagem
(ALMEIDA; BENT, 2008)(WISKOTT et al., ).
Leva-se em conta, portanto, que as faces dos seres humanos tem uma mesma topologia. O
algoritmo pressupoe que as posicoes de certos pontos (fiducial points) sao conhecidas e arquiva
informacoes sobre as faces atraves da convolucao dos pixels ao redor de um certo ponto (que
representa uma caracterstica) com Wavelets de Gabor (Gabor wavelets) de tamanhos variaveis.
Na etapa de treinamento, as coordenadas desses pontos sao conhecidas (informadas manual-
mente para as imagens de treinamento). Os resultados dessas convolucoes formam o jet deste
ponto.
Atraves deste metodo, a face e retratada por meio de um grafo (Grafo de Face), no qual osnos (caractersticas) sao rotulados por jets e as arestas sao rotuladas pelas distancias entre os
jets.
-
8/4/2019 Reconhecimento de Faces_DIver
31/63
29
As imagens de treinamento sao agrupadas numa estrutura chamada Grafo Agrupado de
Face (Face Bunch Graph - FBG), que e o modelo usado para a identificacao ou seja, o
modelo de todos os indivduos que o sistema pode reconhecer. Para cada imagem de teste,
primeiramente e estimada a posicao de cada fiducial point (baseada nas posicoes dos pontos
no FBG). Entao, os jets sao extrados desses pontos e um Grafo de Face e formado. Essa
capacidade de localizar automaticamente as caractersticas e uma das maiores vantagens do
EBGM. Depois do Grafo de Face ter sido construdo, ele e entao comparado com todos os
membros do FBG, usando medidas de similaridade para detrminar a identidade da pessoa na
imagem de teste (STERGIOU, 2003).
A Figura 11 mostra um fluxograma que ilustra a implementacao deste algoritmo. A partir
de um conjunto de imagens normalizadas e da selecao manual dos fiducial points, o algoritmo
passa pela fase de treinamento, na qual aprendea localizar os pontos de referencia e a clas-
sificar as faces que fazem parte deste conjunto de dados (cujas informacoes sao armazenadas
no FBG). Na fase seguinte (fase de teste), ao receber uma imagem normalizada, o algoritmo e
capaz de localizar os fiducial points automaticamente. Com os fiducial points e a nova imagem,
o algoritmo gera o Grafo de Face da imagem dada, que e entao comparado com os outros Grafos
de Face contidos no FBG.
3.2.1 Wavelets de Gabor (Gabor Wavelets)
O EBGM utiliza Gabor Wavelets para processar a imagem. Cada wavelet consiste de um
conjunto de coeficientes de convolucao de um pixel da imagem. Para obter uma descricao apu-
rada e abrangente de uma caracterstica numa imagem, e necessaria a convolucao do respectivo
fiducial pointcom uma serie de wavelets. Estas possuem parametros controlam sua orientacao,
frequencia, fase, tamanho e razao de aparencia (aspect ratio, que indica se a wavelet mais re-
donda ou mais achatada) (STERGIOU, 2003).
Essa serie de convolucoes forma os jets, que serao descritos no item 3.2.2 . Alem disso,
elas permitem que, ao comparar jets que representem a mesma caracterstica (ponta do nariz,
por exemplo) em duas imagens diferentes, seja considerada a rotacao do ponto, permitindo que
o Grafo de Face possa ser deformado (rotacionado, esticado). Deste modo, pode-se obter um
reconhecimento mais preciso.
Na Figura 12 estao representados os parametros da Transformada Wavelet. As Figuras
12(a)-(e) mostram, respectivamente: diferentes orientacoes de uma wavelet, diferentes frequencias,diferentes fases, diferentes tamanhos e diferentes aspect ratios.
-
8/4/2019 Reconhecimento de Faces_DIver
32/63
30
Figura 11: Fluxograma do Algoritmo EBGM(Adaptado).
Fonte: (STERGIOU, 2003)
3.2.2 Jets
O algoritmo EBGM usa jets para representar informacoes de uma caracterstica facial. Um
jet e o conjunto de coeficientes obtidos atraves da transformada (utilizando wavelets de Gabor)
aplicada na vizinhanca de um dado fiducial point. Deste modo, e possvel determinar carac-
tersticas que discriminam tal regiao.
3.2.3 Comparacao de Jets
Para comparar dois jets, e calculada a sua similaridade e o deslocamento estimado para
os jets que correspondem aos mesmos fiducial points em outra imagem. Aqui, a distorcao da
imagem tambem e levada em conta, permitindo que as imagens apresentem faces com diferentes
poses (rotacoes no plano e em profundidade) (STERGIOU, 2003).
Tipicamente, sao utilizadas tres funcoes de similaridade: Similaridade de Magnitude, Simi-
-
8/4/2019 Reconhecimento de Faces_DIver
33/63
31
Figura 12: Parametros da transformada wavelet de Gabor.
Fonte: (STERGIOU, 2003)
laridade de Fase e Similaridade de Deslocamento (STERGIOU, 2003) (BOLME, 2003).
Similaridade de Magnitude (Magnitude Similarity MS): essa medida utiliza informacoes
sobre as frequencias. O resultado e uma similaridade baseada nas magnitudes, represen-
tada pela Equacao 8:
Sa(J,J) =
Nj=1 aja
j
Nj=1 a
2j
Nj=1 a
2j
(8)
em que N e o numero de coeficientes wavelet constituintes de um Jet; J e J sao os
jets comparados. Esse metodo tolera pequenos deslocamentos entre os pontos sendo
comparados, mas nao leva em conta a fase.
Similaridade de Fase (Phase Similarity - PS): varia de -1 a 1. E baseada na similaridade
de magnitudes, porem a similaridade dos angulos das fases e levada em consideracao.
-
8/4/2019 Reconhecimento de Faces_DIver
34/63
32
Portanto, so atinge valores altos quando tanto a magnitude quanto os angulos das fases
sao similares. Esta similaridade e calculada pela Equacao 9, na qual a fase e representada
por .
S(J,J) =
Nj=1 ajajcos(j j)
Nj=1 a
2j
Nj=1 a
2j
(9)
Similaridade de Deslocamento (Displacement Similarity - DS): procura corrigir peque-
nos deslocamentos na PS. Estima a similaridade como se um Jet J tivesse sido extrado a
um deslocamento d da sua localizacao atual. Esta medida de similaridade e baseada nas
outras duas (portanto contem as informacoes de fase) e calculada pela Equacao 10.
SD(J,J, d) =
Nj=0 ajajcos(j (j + d.kj))
Nj=0 a
2j
Nj=0 a
2j
(10)
em que o vetor de deslocamento d (Equacao 11) ek(Equacao 12).
d =
dx
dy
(11)
k= 2.cos
2.sin
(12)
3.2.4 Grafos de Face
Um Grafo de Face e a estrutura utilizada internamente pelo EBGM para representar uma
face (tanto na etapa de treinamento quanto na de teste). Ele e essencial por dois motivos.
Primeiro, contem todas as informacoes uteis de uma imagem para o reconhecimento. Segundo,
uma vez montado, a imagem original pode ser descartada. Isso implica na reducao do espaco
de armazenamento e aumento da rapidez no reconhecimento.
A Figura 13 mostra os passos necessarios para a transformacao da imagem original no seu
Grafo de Face. A partir da imagem original, sao gerados os coeficientes a partir da transformada
wavelet. A segunda imagem representa o resultado da transformada wavelet de um fiducial
point. Depois, tem-se uma representacao de jet que, no caso do exemplo representado na ima-
gem, posui um conjunto de 12 wavelets. As caractersticas mais facilmente percebidas sao os 3
diferentes tamanhos, e as 4 diferentes orientacoes das wavelets. Por ultimo, esta representado o
Grafo de Face, considerando-se 9 fiducial points.
-
8/4/2019 Reconhecimento de Faces_DIver
35/63
33
Figura 13: Da imagem original ao grafo.
Fonte: (STERGIOU, 2003)
3.2.5 Face Bunch Graph
O Face Bunch Graph (FBG) e o modelo principal do algoritmo, tanto para a estimacao
dos pontos de interesse, quanto para a identificacao das imagens de teste. Apos a etapa de
treinamento, todos os Grafos de Face das imagens da base de dados sao combinados no FBG
(representado na Figura 14). Portanto ele contem toda a informacao da base de dados.
Figura 14: Face Bunch Graph.
Fonte: (STERGIOU, 2003)
-
8/4/2019 Reconhecimento de Faces_DIver
36/63
34
Ao comparar uma face, o algoritmo pode misturar e combinar olhos, bocas e narizes de
forma que cada ponto tenha a melhor localizacao. Portanto, quanto mais estados da face de
uma pessoa estiverem contidos na base de dados, melhor a precis ao do algoritmo (STERGIOU,
2003).
-
8/4/2019 Reconhecimento de Faces_DIver
37/63
35
4 EXPERIMENTOS E ANALISE DOS RESULTADOS
Este captulo tem como finalidade apresentar a ferramenta utilizada nos experimentos.
Alem disso, serao discutidos os experimentos e analisados os resultados alcancados.
4.1 EXPERIMENTOS
Os experimentos sao divididos em tres etapas, sendo elas:
1. Normalizacao das imagens (conversao para o formato adequado);
2. Execucao dos algoritmos;
3. Geracao dos resultados.
Para a normalizacao, as imagens devem estar no formato Portable Gray Map ( PGM), que
tem o menor tamanho para imagens em tons de cinza. A partir destas imagens, sao criados
dois arquivos. Um de formato Single Float Image ( SFI), que armazena os pontos flutuantes
da imagem PGM; e outro de formato PGM, porem modificado, no qual se destaca a face da
imagem original para que seja testada.
Utilizando-se essas imagens, os algoritmos discutidos na secao anterior (Eigenfaces e EBGM)sao aplicados. Para tal, foi utilizado o codigo fonte disponvel em (COLORADO STATE UNI-
VERSITY (CSU), 2011), assim como discutido na sequencia.
Por fim, sao gerados os resultados, a partir da execucao dos algoritmos. Estes resultados
estao em formato .txte armazenam as informacoes que serao explicadas no item 4.2 e utilizadas
para a comparacao dos algoritmos.
Para servir de apoio ao entendimento da ferramenta, foi desenvolvido um manual que ensina
passo a passo como realizar os experimentos descritos acima. Ele esta presente no apendice,e sua elaboracao foi motivada pela dificuldade em encontrar tais informacoes diretamente na
pagina da ferramenta. Abaixo esta a descricao da ferramenta utilizada nos experimentos. Alem
-
8/4/2019 Reconhecimento de Faces_DIver
38/63
36
disso, uma explicacao sobre base de imagens, grupos de imagens a ser analisados e como foram
testadas.
4.1.1 Ferramenta de Testes
A ferramenta The CSU Face Identification Evaluation System, utilizada para a realizacao
dos experimentos, foi desenvolvida pela Universidade do Colorado, dos Estados Unidos, e tem
como objetivo testar os algoritmos mais conhecidos de reconhecimento de faces; entre eles
estao o Eigenfaces e o EBGM. (COLORADO STATE UNIVERSITY (CSU), 2011)
Como ja mencionado, um guia pratico da sua instalacao, insercao da base de imagens uti-
lizada (descrita no item seguinte), preparacao das imagens, realizacao dos testes e geracao de
resultados encontra-se no Apendice A.
4.1.2 Base de Imagens Facial Recognition Technology (FERET)
A base de imagens utilizada provem de um programa mantido pelo Departamento de De-
fesa dos Estados Unidos, chamado FERET (NATIONAL INSTITUTE OF STANDARDS AND
TECHNOLOGY (NIST), 2011). O seu primeiro objetivo era desenvover tecnologias para re-
conhecimento facial automatizado, que poderiam ser empregadas na seguranca, inteligencia e
reforco da lei.
O corpus de imagens foi projetado para apoiar testes de governo e avaliacao de algoritmos
de reconhecimento facial, utilizando um protocolo de testes e procedimentos. Ela possui cerca
de 14 mil imagens, que estao sob diferentes angulos, iluminacao, pose, etc. As imagens foram
capturadas de forma sequencial, sendo que sao 13 imagens de cada pessoa. Na Figura 15 estao
representados os diferentes angulos utilizados pela base.
As imagens utilizadas pelos testes sao dos seguintes grupos:
FA: Imagens frontais, com expressao facial regular.
FB: Imagens frontais, com expressao facial alternativa.
BA: Serie frontal B.
BJ: Expressao alternativa em relacao a BA.
BK: Diferente iluminacao em relacao a BA.
-
8/4/2019 Reconhecimento de Faces_DIver
39/63
37
Figura 15: Posicoes de imagens da base FERET.
Fonte: (NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY (NIST), 2011)
A escolha dessas imagens para os teste foi feita por parte dos desenvolvedores da ferra-
menta; uma vez que esta nao possibilita a troca das mesmas, impedindo utilizacao de outras
series nos testes sem modificacao do codigo.
A partir das series, ou grupos, de imagens e montada uma lista de imagens que vao ser uti-
lizadas nos testes. Como nao foi possvel a criacao de uma nova lista de imagens, foi utilizada
a fornecida pela ferramenta. As lista de imagens utilizadas sao: DUP1 que e formada por ima-
gens duplicadas das series FA, FB, BA, BJ e BK; DUP2 que e formada por imagens duplicadas
das mesmas series da DUP1 ,com a diferenca na quantidade de imagens; FAFB que e formado
pelas imagens das series FB e BJ; FAFC que e formada pelas imagens da serie BK. A Tabela 2
descreve quais as series de imagens estao presentes nas listas.
Tabela 2: Lista de Imagens utilizadas nos experimetos
Lista de Imagens Series de imagens
DUP1 FA - FB - BA - BJ - BK
DUP2 FA - FB - BA - BJ - BK
FAFB FB - BJFAFC BK
-
8/4/2019 Reconhecimento de Faces_DIver
40/63
38
4.2 RESULTADOS
Os resultados gerados pelos experimentos descritos acima sao armazenados em arquivos
.txt, que sao codificados em ASCII tabular, dando possibilidade de se copiar seu conteudo para
um programa de planilha eletronica. Para cada lista de imagens sao gerados dois arquivos.
Um correspondente a taxa de comparacao Recognition Rank, que significa a quantidade de
comparacoes realizadas ate que a imagem fosse encontrada. Para melhor compreensao observar
a Tabela 3, que apresenta as 10 primeiras linhas do arquivo DUP1 images.txt.
O outro arquivo corresponde a duas taxas de comparacao. A primeiro e a Recoginition
Count, que significa a quantidade de imagens corretamente reconhecidas usando um numero
limitado de comparacoes (ou seja, e estabelecido um Recognition Rankmaximo para conside-
rar a imagem corretamente classificada). O segundo e o Recognition Rate, que e o Recognition
Count dividido pelo numero total de imagens na lista testada, ou seja, a porcentagem de ima-
gens reconhecidas dentro de um conjunto de imagens considerando um numero maximo de
comparacoes. Para melhor compreensao observar observar a Tabela 4 e Tabela 5, que apresenta
as 10 primeiras linhas do arquivo DUP1 Curve.txtde maneira dividida o Recognition Count e
o Recognition Rate, respectivamente.
Tabela 3: As 10 primeiras linhas do arquivo DUP1 images.txt (modificado)
Imagem de Prova EBGM Eigenfaces Eucli. Eigenfaces Maha.
00002fa001d 931230.sfi 272 264 68
00002fa010 940128.sfi 587 355 997
00002fa010 940422.sfi 885 513 453
00002fa010 940928.sfi 267 224 13
00002fb001d 931230.sfi 650 378 673
00002fb010 940128.sfi 655 423 796
00002fb010 940422.sfi 845 542 260
00002fb010 940928.sfi 167 200 19
00003fa010 940307.sfi 15 12 0
00003fa010 941121.sfi 788 529 185
Com o intuito de relembrar os principais pontos abordados anteriormente, na Tabela 6 sao
descritas as taxas de reconhecimento.
-
8/4/2019 Reconhecimento de Faces_DIver
41/63
39
Tabela 4: As 10 primeiras linhas do arquivo DUP1 Curve.txt (modificado) apresentando o Recognition
Count
Rank EBGM Eigenfaces Eucli. Eigenfaces Maha.
0 396 244 320
1 440 279 354
2 459 294 372
3 472 311 385
4 481 330 395
5 490 345 404
6 501 351 411
7 506 364 416
8 513 371 426
9 518 377 430
Tabela 5: As 10 primeiras linhas do arquivo DUP1 Curve.txt (modificado) apresentando o Recognition
Rate
Rank EBGM Eigenfaces Eucli. Eigenfaces Maha.
0 0,548476 0,33795 0,443213
1 0,609418 0,386427 0,490305
2 0,635734 0,407202 0,515235
3 0,65374 0,430748 0,533241
4 0,666205 0,457064 0,547091
5 0,67867 0,477839 0,559557
6 0,693906 0,48615 0,569252
7 0,700831 0,504155 0,576177
8 0,710526 0,51385 0,590028
9 0,717452 0,522161 0,595568
Os resultados apresentados a seguir foram divididos nao por experimentos (grupos de ima-
gens) diferentes, mas por tipo de avaliacao dos seus resultados, ou seja, estao separados osresultados de Recognition Rank, Recognition Counte Recognition Rate. Em cada grupo (Rank,
Count e Rate) estao os resultados das listas de imagens DUP1, DUP2, FAFB e FAFC.
-
8/4/2019 Reconhecimento de Faces_DIver
42/63
40
Tabela 6: As Taxas de Reconhecimento
Taxa de Reconhecimento Descricao
Recognition Rank e a quantidade de vezes que foi realizado, a comparacao
das distancias entre a imagem procurada e o conjunto de imagens
Recognition Count e o numero de imagens de prova corretamente reconhecidas
em um dado numero maximo de comparacoes (rank)
Recognition Rate e a porcentagem de imagens reconhecidas
dentro de um conjunto de imagens
Rank e o numero que define quanto o Recognition Rank
precisa ter ou ser inferior
4.2.1 Graficos de Rank
O grafico de Rank(Figuras 16, 17, 18 e 19) e formado pelas taxas Recognition Rankde cada
um dos algoritmos estudados, para cada imagem de prova. Na legenda ao lado e apresentado o
smbolo e a cor que representa cada algoritmo.
Figura 16: Grafico de Rank da lista de imagens DUP1.
Atraves dos graficos e possvel notar que o conjunto com melhores resultados por parte
dos tres algoritmos analisados foi o FAFB. Os algoritmos EBGM e Eigenfaces Mahalanobis
obtiveram resultados relativamente proximos em todos os testes. No entanto, o Eigenfaces
Euclideano obteve desempenho inferior (maior numero de comparacoes para reconhecer uma
-
8/4/2019 Reconhecimento de Faces_DIver
43/63
41
Figura 17: Grafico de Rank da lista de imagens DUP2 .
Figura 18: Grafico de Rank da lista de imagens FAFB.
imagem), especialmente no teste envolvendo variacoes de iluminacao nas imagens (FAFC).
A Tabela 7 contem a media dos valores de Rank obtidos em cada teste. A moda de todos
os algoritmos em todos os testes foi 0.
4.2.2 Graficos de Count
O grafico de Count (Figuras 20, 21, 22 e 23) e formado pelas taxas de Recognition Count
de cada um dos algoritmos estudados, em um dado rank. Na legenda ao lado e apresentado o
-
8/4/2019 Reconhecimento de Faces_DIver
44/63
42
Figura 19: Grafico de Rank da lista de imagens FAFC .
Tabela 7: M edia de Rank por teste
Algoritmo DUP1 DUP2 FAFB FAFC
EBGM 68,37 59.98 1,56 7,8
Eigenfaces Euclideano 114,53 138,51 6,62 157,77
Eigenfaces Mahalanobis 67,85 104,97 4,92 15,91
smbolo e a cor que representa cada algoritmo estudado.
Figura 20: Grafico de Count da lista de imagens DUP1.
Para este grupo, e importante ressaltar que os resultados mais relevantes sao os mais a es-
-
8/4/2019 Reconhecimento de Faces_DIver
45/63
43
Figura 21: Grafico de Count da lista de imagens DUP2.
Figura 22: Grafico de Count da lista de imagens FAFB.
querda no grafico, uma vez que representam o numero de imagens reconhecidas com os menores
ranks.
O algoritmo EBGM apresentou os melhores resultados em todos os grupos de imagens,
destacando-se no experimento DUP2, que contem um terco do numero de imagens de DUP1, e
no qual os outros dois algoritmos apresentaram dificuldades.
O experimento no qual os algoritmos obtiveram desempenho mais semelhante foi o FAFB.
No experimento envolvendo mudancas de iluminacao nas imagens (FAFC), o algoritmo
-
8/4/2019 Reconhecimento de Faces_DIver
46/63
44
Figura 23: Grafico de Count da lista de imagens FAFC.
Eigenfaces Euclidiano apresentou maiores dificuldades para reconhecer os indivduos.
4.2.3 Graficos de Rate
O grafico de Rate (Figuras 24, 25, 26 e 27) e formado pelas taxas de Recognition Rate decada um dos algoritmos estudados, em um dado rankde um Recognition Count. Na legenda ao
lado e apresentado o smbolo e a cor que representa cada algoritmo estudado.
Figura 24: Grafico de Rate da lista de imagens DUP1.
Estes resultados apresentam a porcentagem de imagens reconhecidas corretamente no con-
-
8/4/2019 Reconhecimento de Faces_DIver
47/63
45
Figura 25: Grafico de Rate da lista de imagens DUP2.
Figura 26: Grafico de Rate da lista de imagens FAFB.
junto testado. O EBGM apresentou melhores resultados, como era esperado (tendo em vista os
resultados anteriores). Se sobressai no experimento DUP2, que contem um numero de imagens
reduzido em relacao a DUP1. O Eigenfaces Euclideano apresentou resultados significativa-
mente mais baixos na lista de imagens FAFC.
4.2.4 Desempenho Geral
A partir dos resultados apresentados acima pode-se dizer que de modo geral o algoritmo
EBGM e Eigenfaces Mahalanobis tem um desempenho similar e superior ao do Eigenfaces
-
8/4/2019 Reconhecimento de Faces_DIver
48/63
46
Figura 27: Grafico de Rate da lista de imagens FAFC.
Euclideano.
Para aplicacoes em que se ha muitas imagens disponveis dos indivduos (FAFB), as tres
tecnicas apresentaram um bom desempenho. Nas que possuem um numero reduzido e um pouco
mais variado de imagens (DUP2), o EBGM e recomendado; e se o numero de imagens for maior
(DUP1), pode-se optar pelo Eigenfaces Mahalanobis, que obteve um resultado bem proximo.
Para um banco de imagens com variacao de iluminacao (FAFC), o Eigenfaces Euclideano nao
e recomendado, visto que seu desempenho e significantemente menor.
-
8/4/2019 Reconhecimento de Faces_DIver
49/63
47
5 ANALISE DO PROCESSO E TRABALHOS FUTUROS
Este captulo visa a analise do processo de realizacao deste trabalho e a sugestao de traba-
lhos futuros.
5.1 ANALISE DO PROCESSO
Para desenvolver este trabalho, o primeiro passo foi a definicao da area que seria tema do
estudo. Quando o tema e orientadora foram escolhidos, atraves de consenso, comecou-se a
revisao bibliografica.
A revisao permitiu uma visao geral da area de analise de imagens e, mais especificamente
de reconhecimento facial. Tambem permitiu o contato dos autores com uma literatura cientfica,
especfica da area, como livros e artigos de periodicos da area de processamento de imagens.
Tendo em vista que nenhum dos autores havia tido contato com esta area de estudo, no incio foi
difcil direcionar a leitura. Com isso, foi necessario um tempo adicional no comeco da pesquisa.
Apos a revisao bibliografica e definicao dos algoritmos a serem comparados no estudo, as
pesquisas foram direcionadas aos algoritmos Eigenfaces e EBGM, a fim de buscar a compre-
ensao dos seus funcionamentos para que fosse possvel escrever um texto de facil entendimento.
A fase de testes demorou mais do que o esperado, pois houve dificuldade na instalacao do
software e na adicao da base FERET. Com os resultados em maos, foi decidido que iramos
comparar nao so EBGM e Eigenfaces Euclidiano (proposta inicial), mas tambem o Eigenfaces
Mahalanobis. Outra necessidade percebida nesta etapa, foi a do desenvolvimento de um manual
pratico da ferramenta.
Com o constante direcionamento e refinamento das pesquisas e do texto desenvolvido pela
equipe e com a orientacao da Profa. Dra. Leyza Baldo Dorini, foi possvel escrever e desenvol-
ver este trabalho.
-
8/4/2019 Reconhecimento de Faces_DIver
50/63
48
5.1.1 Burn Down Charts
As Figuras 28 e 29 representam os Burn Down Charts, ferramenta de metodos ageis uti-
lizada no desenvolvimento do trabalho, sendo a primeira ate a entrega do documento para a
qualificacao, e a segunda dali em diante.
Figura 28: Burn Down Chart: primeira parte
Nesta primeira parte do trabalho e possvel perceber um grande atraso no tempo no cum-
primento do tempo proposto com um esforco adicional no fim do perodo a fim de completar
todas as tarefas planejadas.
Figura 29: Burn Down Chart: segunda parte
-
8/4/2019 Reconhecimento de Faces_DIver
51/63
49
Nesta segunda parte do trabalho, houve grande atraso para realizar os testes, que demoraram
mais que o esperado para serem realizados. Mesmo assim, conseguimos cumprir os outros
objetivos antes do termino do perodo proposto.
5.2 TRABALHOS FUTUROS
Como descrito no decorrer do trabalho ainda existe muito a se fazer na area de reconheci-
mento facial. Aqui estao listadas algumas sugestoes de trabalhos futuros:
Realizar os mesmos testes em outros algoritmos de reconhecimento facial, a fim de com-
parar seu desempenho com o dos algoritmos escolhidos para este estudo comparativo.
Alterar as listas de imagens utilizadas nos testes, a fim de realizar novos testes com os
algoritmos que envolvam outros fatores que influenciam no reconhecimento (alem da
iluminacao e quantidade de imagens de treinamento).
Desenvolver um material textual de facil entendimento da parte matematica e fsica en-
volvida nos algoritmos estudados.
Otimizar o processo de normalizacao, reduzindo seu impacto no funcionamento dos al-goritmos (BOLME, 2003).
-
8/4/2019 Reconhecimento de Faces_DIver
52/63
50
REFERENCIAS
ALBERGARIA, E. T. de; SANTOS, K. C. L.; JUNIOR, M. S. F. A. Reconheci-
mento de faces utilizando programacgenetica. In: . [s.n.], 2006. Disponvel em:
.
Acesso em: 24/03/2011.
ALMEIDA, J. M.; BENT, H. Reconhecimento Facial: um
Pouco de Historia e Principais Abordagens. 2008. Disponvel em:
. Acesso em:
24/03/2011.
ALMEIDA, O. C. P. de. Tecnica de Processamento de Imagens para Localizacao
e Reconhecimento de Faces. Dissertacao (Dissertacao (Mestrado em Ciencias da
Computacao e Matematica Computacional)) Universidade de Sao Paulo, 2006. Disponvel
em: .
Acesso em: 24/03/2011.
BOLME, D. S. Thesis Elastic Bunch Matching. Dissertacao (Mestrado) Colorado State
University, 2003.
BORDINI, C.; KOTOVICZ, G. Reconhecimento Facial com Processamento de Imagens.2010.
CASTRO, A. J. M. de. Classificador de Mahalanobis. Dissertacao (Mestrado) Faculdade
de Engenharia da Universidade do Porto, 2005.
COLORADO STATE UNIVERSITY (CSU). Evaluation of Face Recognition Algorithms.
2011. Disponvel em: . Acesso em:
24/03/2011.
FERREIRA, A. B. de H. Mini Aurelio. [S.l.]: Posigraf, 2005.
JARDIM, E. Autofaces Eigenfaces. In: Instituto Nacional de Matematica Pura e Apli-
cada. [s.n.], 2008. Disponvel em: . Acesso em:
28/04/2011.
KINUTA DENNIS MOLINA, E. G. D. F. S. a. D. G. T. D. J. S. C.; JUNIOR, O. O. F.
Estudo Comparativo de Algoritmos Para Reconhecimento Facial. Disponvel em:
.
Acesso em: 20/03/2011.
MARIN, L. de O. Tecnicas estatsticas para reconhecimento e deteccao de face. In: . [s.n.],
2001. Disponvel em: . Acessoem: 18/04/2011.
-
8/4/2019 Reconhecimento de Faces_DIver
53/63
51
NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY
(NIST). Facial Recognition Technology (FERET). 2011. Disponvel em:
. Acesso
em: 24/03/2011.
PEDRINI, H.; SCHWARTZ, W. R. Analise de Imagens Digitais. [S.l.]: Thomson, 2008.
SILVA, P. M. C. Pesquisas de Imagens de Rosto. Dissertacao (Dissertacao (Mestrado
em Engenharia Informatica)) Universidade Nova de Lisboa, 2009. Disponvel em:
. Acesso em: 20/04/2011.
STERGIOU, A. Elastic Bunch Graph Matching Face Recognition: Per-
formace and Comparison whith Subspace Projection Methods. Dissertacao
(Mestrado) Information Networking Institute, 2003. Disponvel em:
. Acesso em: 28/03/2011.
TOMEI, C. Autovalores e autovetores. 2004. Disponvel em:
. Acesso em: 14/05/2011.
TURK, M.; PENTLAND, A. Eigenfaces for Recognition. 1991. Journal Cognitive Neu-
roscience. Disponvel em: . Acesso em:
14/04/2011.
VASCONCELOS, S. Analise dos Componentes Principais (PCA). 2007. Disponvel em:
. Acesso em: 14/05/2011.
WISKOTT, L. et al. Recognition by Elastic Bunch Graph Matching. Disponvel
em: . Acesso em: 28/03/2011.
ZHAO, W.; CHELLAPPA, R.; ROSENFELD, A. Face Recognition: A Literature Survey.
[S.l.]: ACM Computing Surveys, 2003. 399458 p.
-
8/4/2019 Reconhecimento de Faces_DIver
54/63
52
APENDICE A -- MANUAL DA FERRAMENTA
Este manual tem o intuito de demonstrar os passos basicos para a utilizacao do software
CSU Face Identification Evaluation System. A criacao deste manual manual foi motivada pela
ausencia de informacaoes na pagina do projeto, o que dificultou a utilizacao do codigo dispo-nibilizado. Com isso espera-se auxiliar futuros usuarios a utilizar o sistema. Os testes foram
realizados utilizando o sistema operacional Ubuntu 11, mas as orientacoes tambem sao validas
para versoes mais antigas.
Importante: para realizar os passos deste manual primeiramente baixe o arquivo .tgz dis-
ponvel no link (e necessaria a realizacao
de cadastro para baixar o programa). Os passos a serem explicados por este manual sao:
1.Instalacao do software;
2.Adicao da base FERET;
3.Preparacao das imagens;
4.Realizacao dos testes;
5.Geracao de resultados;
A.1 1o PASSO: INSTALACAO DO SOFTWARE
Primeiramente descompacte o arquivo baixado na pasta /home/seuUser e depois modifique
o nome da pasta para csuFaceIdEval. Abra o terminal e acesse a pasta csuFaceIdEval, digite
make e aperte Enter (Figura 30 e 31).
Depois disso e necessario realizar alguns testes para verificar se o sistema nao apresenta
erro, atestando assim o funcionamento correto do mesmo. Para isso, s ao utilizadas imagens debaixa qualidade e sem validade para avaliacao, que vem junto com o sistema. Dentro da pasta
csuFaceIdEval entre com o seguinte comando ./scripts/runAllTests scraps.sh (Figura 32. Nesse
-
8/4/2019 Reconhecimento de Faces_DIver
55/63
53
Figura 30: Comando make.
Figura 31: Resultado do comando make.
caso todos os scripts do software estao na pasta /csuFaceIdEval/scripts, que dispara varios
scripts ligados a ele. Toda vez que for rodar um script e preciso digitar ./seuscript.sh
Figura 32: Rodando script runAllTests scraps.
Como pode ser observado na execucao deste script (Figuras 33, 34 e 35), apos a normalizacaodas imagens sao calculados as distancias. Nesse teste sao executados todos os algoritmos im-
plementados pela CSU inclusos no programa. Como mencionado anteriormente os resultados
-
8/4/2019 Reconhecimento de Faces_DIver
56/63
54
nao tem validade, por utilizar uma base de imagens de baixa qualidade.
Figura 33: Normalizacao das imagens.
Figura 34: Calculo das distancias.
Figura 35: Resultado do script tunAllTests scraps.sh.
-
8/4/2019 Reconhecimento de Faces_DIver
57/63
55
A.2 2o PASSO: ADICAO DA BASE FERET
Para realizacao de testes experimentais, necessario em uma analise comparativa, e preciso
utilizar uma base de imagens de faces valida. Neste trabalho foi utilizado a base FERET, que
deve ser requerida atraves do site . Este contem um endereco
eletronico para o qual deve ser mandado um email para requisicao da base. A resposta leva em
torno de uma a duas semanas, em media. Se o requerimento foi aceito, o download da base,
que tem um tamanho de 8.7 GB, deve ser efetuado atraves de comando no terminal linux que
esta nas instrucoes da resposta do email. E recomendado que se tenha pelo menos 20 GB de
espaco livre no disco rgido. Com o arquivo em maos e descompactado va no terminal e rode o
script Process FERET DVD.sh (Figuras 36 e 37). Para rodar esse script e necessario digitar ocaminho (endereco onde esta a base de dados) a partir da raiz do sistema operacional.
Figura 36: Rodando o script Process FERET DVD.sh.
Figura 37: Resultado do script Process FERET DVD.sh.
-
8/4/2019 Reconhecimento de Faces_DIver
58/63
56
A.3 3o PASSO: PREPARACAO DAS IMAGENS
A preparacao das imagens (normalizacao das mesmas), e feita transformando as imagens
.pgm em .sfi, que nao e uma imagem e sim dados matematicos sobre esta. Um erro provavel e
nao conseguir fazer a normalizacao das imagens, pois o codigo fonte do software esta preparado
para receber um conjunto de imagens .pgm. Contudo, a base FERET contem imagens .tif. A
seguir e explicado como fazer a conversao de todas as imagens para .pgm e depois os passos
para a normalizacao.
A.3.1 Convertendo as imagens .tif para .pgm
Primeiramente e preciso realizar o download do softwareImage Magick, que possui funcoes
para manipulacao das imagens. Atraves do terminal Linux, digite o comando sudo apt-get
install imagemagicke coloque S para realizar a instalacao (Figura 38).
Figura 38: Realizando o download do pacote imagemagick.
Depois que o software estiver instalado, acesse a pasta onde est ao as imagens .tif (que deve
ser a /csuFaceIdEval/data/FERET/source/pgm) e digite o comando mogrify -format pgm *.tif
(Figura 39).
Figura 39: Convertendo imagem .tif para .pgm.
-
8/4/2019 Reconhecimento de Faces_DIver
59/63
57
A.3.2 Normalizacao das imagens
Agora que as imagens estao convertidas, pode ser executado o script de normalizacao das
imagens. No terminal acesse a pasta raiz do programa e execute o seguinte script runPreproces-
sing feret.sh (Figuras 40 e 41), se for realizar testes com o algoritmo EBGM e preciso fazer uma
normalizacao diferente das imagens, para isso rode o script EBGMPreprocessing.sh (Figuras 42
e 43.
Figura 40: Rodando o script runPreprocessing feret.sh.
Figura 41: Resultado do script runPreprocessing feret.sh.
-
8/4/2019 Reconhecimento de Faces_DIver
60/63
58
Figura 42: Rodando o script EBGMPreprocessing.sh.
Figura 43: Resultado do script EBGMPreprocessing.sh.
A.4 4o PASSO: REALIZACAO DOS TESTES
Neste passo, sao realizados testes diferentes para cada algoritmo (no caso deste trabalho,
o Eigenfaces e o EBGM). Inicialmente, sera ilustrado o procedimento para o Eigenfaces, que
pode utilizar dois tipos de calculo de distancia: a Euclidiana e de Mahalanobis. Estas sao
calculadas atraves do mesmo script, denominado runPCA feret.sh (Figuras 44 e 45).
Figura 44: Rodando o script runPCA feret.sh.
-
8/4/2019 Reconhecimento de Faces_DIver
61/63
59
Figura 45: Resultado do script runPCA feret.sh.
Para realizar os testes com o EBGM, e necessario rodar o script EBGM Standard.sh (Figu-
ras 46, 47 e 48).
Figura 46: Rodando o script EBGM Standard.sh.
-
8/4/2019 Reconhecimento de Faces_DIver
62/63
60
Figura 47: Extraindo os jets.
Figura 48: Resultado do script EBGM Standard.sh.
-
8/4/2019 Reconhecimento de Faces_DIver
63/63
61
A.5 5o PASSO: GERACAO DE RESULTADOS
Para obter os resultados para cada um dos testes realizados anteriormente e necessario rodar
o script GenerateFeretResults.sh (Figura 49), que vai gerar arquivos .txt na pasta /csuFaceIdE-
val/results/CSUBaselineResults. Atraves dos dados contidos neles e possvel criar os graficos
de comparacao.
Figura 49: Rodando o script GenerateFeretResults.sh.