Reconhecimento de Faces_DIver

download Reconhecimento de Faces_DIver

of 63

Transcript of Reconhecimento de Faces_DIver

  • 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.