UNIVERSIDADE FEDERAL DE GOIÁS – CÂMPUS CATALÃO
DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO
Curso de Bacharelado em Ciências da Computação
DETECÇÃO, CARACTERIZAÇÃO E RECUPERAÇÃO DEFACES
Cleriston Aparecido Dantas
CATALÃO – GO
2013
CLERISTON APARECIDO DANTAS
DETECÇÃO, CARACTERIZAÇÃO E RECUPERAÇÃO DE FACES
Monografia apresentada ao Curso de Bacha-relado em Ciências da Computação da Uni-versidade Federal de Goiás – Câmpus Cata-lão, como requisito parcial para a obtenção doGrau de Bacharel em Ciências da Computa-ção.
Orientador:
Marcos Aurélio Batista
Área:
Processamento de Imagens
CATALÃO – GO
2013
Dantas, Cleriston AparecidoDetecção, Caracterização e Recuperação de faces/ Cleriston Aparecido Dantas. –
Catalão – GO, 2013.93 f. ; 30 cm.
Orientador: Marcos Aurélio Batista.
Monografia (Graduação) – Universidade Federal de Goiás – Câmpus Catalão,Departamento de Ciências da Computação, Curso de Ciências da Computação, 2013.
1. Detecção de Faces. 2. Caracterização. 3. Recuperação de faces. I.Batista, Marcos Aurélio. II. Universidade Federal de Goiás – Câmpus Catalão. Cursode Bacharelado em Ciências da Computação. III. Título.
CLERISTON APARECIDO DANTAS
DETECÇÃO, CARACTERIZAÇÃO E RECUPERAÇÃO DE FACES
Monografia apresentada ao Curso de Bacha-relado em Ciências da Computação pela Uni-versidade Federal de Goiás – Câmpus Catalão.
Trabalho aprovado em 16 de abril de 2013.
Área: Processamento de Imagens
Marcos Aurélio BatistaOrientador
Prof. Dr. Sérgio Francisco da SilvaAvaliador
Prof. Dr. Tércio Alberto dos Santos FilhoAvaliador
Catalão – GO
2013
Aos meus pais Cassiano Dantas “in memorian” e Rosangela Coimbra. Aos meus irmãos
Cássia Dantas e Cassiano Jr. e às minhas avós Vó Luzia e Mãinha... que amo muito.
AGRADECIMENTOS
É difícil agradecer todas as pessoas que de alguma forma fizeram parte da minha vida
e que em algum momento colaborou para que tornasse esse sonho possível. Agradeço então,
primeiramente a Deus, por ter colocado todas essas pessoas especiais em meu caminho.
Agradeço ao meu pai Cassiano Dantas “in memorian”, que sempre apoiou todas as
decisões por mim tomadas e que hoje faz muita falta. A minha mãe Rosangela Coimbra, pela
força, luta e determinação em criar e educar a mim e meus irmãos. Aos meus irmãos Cássia
Dantas e Cassiano Jr., pela paciência e confiança. Ao meus avós paternos e maternos, Maki
Dantas (Vó Luzia), Sebastião Dantas “in memorian”, Teresinha Coimbra (Mãinha) e Donato
Coimbra (Vô Donato), pela existência dos meu pais e pelas palavras de incentivo e carinho.
Ao meus tios, tias, primos, padrinho, madrinhas e toda família, que com muito ca-
rinho e apoio, que apesar da distância não mediram esforços para que eu chegasse até esta
etapa de minha vida. À minha família de coração, Família Resende e Família Alves Soares.
Família que encontramos em Goiás.
Ao professor Ms. Fábio Gomes de Assunção, pelas dicas, apoio e paciência na con-
dução final deste trabalho final.
Ao professor Dr. Marcos Aurélio Batista, pela orientação ao longo deste trabalho.
Ao professor e coordenador do curso Dr. Vaston Gonçalves da Costa, pelo convívio,
pelo apoio, pela compreensão e principalmente pela amizade. Um pai no Departamento de
Ciências da Computação.
À todos os professores do curso, que foram tão importantes na minha vida acadêmica
e início da carreira profissional. Aos funcionários da Universidade Federal de Goiás.
Aos amigos e colegas, dentre todos agradeço a Ariane, Elizabeth, Fernanda, Amanda,
Cassiana, Anelisa, Danilo, Lucas, Samuel, Gustavo(s), Vinícius, Adriano, Diego(s), Humberto,
Carla, Davi, pelo incentivo e pelo apoio constantes. Me desculpe se esqueci de algum nome,
são muitas pessoas especiais... Agradeço a todos os voluntários que participaram deste tra-
balho, fiz questão de colocar a foto e nome de cada um no final desta monografia.
Enfim, à todas as pessoas “fodas” que fizeram parte da minha vida.
“Quanto mais aumenta nosso conhecimento, mais evidente fica nossa ignorância.”
(John F. Kennedy)
RESUMO
DANTAS, C. A.. Detecção, Caracterização e Recuperação de faces. 2013. 93 f. Mo-nografia (Graduação) – Departamento de Ciências da Computação, Universidade Fede-ral de Goiás – Câmpus Catalão, Catalão – GO.
Nos últimos anos, com o avanço das pesquisas sobre o reconhecimento facial,muitas aplicações surgiram. Os sistemas de reconhecimento facial são usados prin-cipalmente em aplicações que envolvem segurança, redes sociais, interação homem-computador e em estudos de psicologia. Para aumentar o êxito na identificação de pes-soas por meio de imagens digitais, tem-se criado e modificado diversos modelos clássi-cos de reconhecimento facial, podendo muitos deles serem utilizados de forma combi-nada. Neste trabalho, levou-se em consideração três etapas no reconhecimento facial:detecção, caracterização e recuperação de imagens faciais. Para isto, constituiu-se umbanco de faces e métodos de cada etapa foram implementados e testados. A principalcontribuição deste trabalho é o banco de faces e os métodos que podem ser reaprovei-tados em trabalhos futuros.
Palavras-chaves: Detecção de Faces, Caracterização, Recuperação de faces.
LISTA DE ILUSTRAÇÕES
Figura 1 – Posicionamento dos eixos para representação de imagens digitais. . . . . . 26
Figura 2 – Efeitos da variação de parâmetros. . . . . . . . . . . . . . . . . . . . . . . . . 28
Figura 3 – Tipos de vizinhanças. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 4 – Níveis de Processamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figura 5 – Curva espectral. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figura 6 – Frequências do espectro eletromagnético. . . . . . . . . . . . . . . . . . . . 42
Figura 7 – Diagrama Cromático. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 8 – Subespaço do modelo RGB a partir dos eixos XYZ. . . . . . . . . . . . . . . . 43
Figura 9 – Modelo HSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figura 10 – Figura em várias resoluções. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figura 11 – Exemplo de uma face em uma determinada resolução utilizadas para de-
tectar faces através de regras que utilizam o conhecimento sobre a distri-
buição de luminosidade da imagem. . . . . . . . . . . . . . . . . . . . . . . . 50
Figura 12 – Modelo ilustrativo dos Clusters em uma determinada região selecionada. . 51
Figura 13 – Detecção da região da face por meio de segmentação da pele colorida. . . 52
Figura 14 – Funcionamento do algoritmo de detecção de faces baseado em RNA. . . . 54
Figura 15 – Descrição gráfica do algortimo de detecção de faces rotacionadas. . . . . . 55
Figura 16 – Exemplo de imagem integral. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figura 17 – Haar-like features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figura 18 – Cascata de Classficadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figura 19 – Modelo de separação de fonte a cega. . . . . . . . . . . . . . . . . . . . . . . 60
Figura 20 – Passos do algoritmo EBGM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figura 21 – Passos do algoritmo Eigenface. . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figura 22 – Conjunto de imagens de treino. . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figura 23 – Vetor Γi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figura 24 – Face média. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Figura 25 – Matriz de A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figura 26 – Matriz transposta de A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figura 27 – Eigenfaces resultantes do conjunto. . . . . . . . . . . . . . . . . . . . . . . . 67
Figura 28 – Programa para captura de imagens. . . . . . . . . . . . . . . . . . . . . . . . 70
Figura 29 – Variação frontal, iluminação e uso de óculos. . . . . . . . . . . . . . . . . . . 71
Figura 30 – Variação esquerda, com e sem uso de óculos. . . . . . . . . . . . . . . . . . . 71
Figura 31 – Variação esquerda, com e sem uso de óculos. . . . . . . . . . . . . . . . . . . 71
Figura 32 – Mostrando imagens por tipo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figura 33 – Módulo do gereciador que gera arquivos de teste e treinamento. . . . . . . 73
Figura 34 – Mostrando informações do usuário. . . . . . . . . . . . . . . . . . . . . . . . 74
Figura 35 – Processo de segmentação da pele. . . . . . . . . . . . . . . . . . . . . . . . . 75
Figura 36 – Processo de detecção da face. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Figura 37 – Correção gamma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Figura 38 – Resultados na segmentação de pele. . . . . . . . . . . . . . . . . . . . . . . . 79
Figura 39 – Resultados obtidos pela variação de limiares. . . . . . . . . . . . . . . . . . . 81
Figura 40 – Comparação de um mesmo indivíduo usando técnicas diferentes, êxito
em ambas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Figura 41 – Comparação de um mesmo indivíduo usando medidas de distância dife-
rentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Figura 42 – Comparação de um mesmo indivíduo usando técnicas diferentes, erro no
Mahalanobis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Figura 43 – Um caso onde o indivíduo alvo estaria muito distante da sua imagem cor-
reta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Figura 44 – Voluntários, parte 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Figura 45 – Voluntários, parte 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Figura 46 – Modelo do formulário de autorização. . . . . . . . . . . . . . . . . . . . . . . 93
LISTA DE TABELAS
Tabela 1 – Comparação entre os diferentes limiares testados . . . . . . . . . . . . . . . 80
Tabela 2 – Resultados da identificação dos indivíduos, com uso de dois modelos de
cálculo de distância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
LISTA DE ABREVIATURAS E SIGLAS
BSS — blind source separation
CIE — Commission Internationale de l’Éclairage
DCO — Direita com óculos
DSO — Direita sem óculos
EBGM — Elastic bunch graph matching
ECO — Esquerda com óculos
EEG — eletroencefalograma
ESO — Esquerda sem óculos
FBG — Face Bunch Graph
FCI — Frontal com iluminação
FCO — Frontal com óculos
FSO — Frontal sem óculos
ICA — Independent Component Analysis
LDA — Linear Discriminant Analysis
MEG — magnetoencefalograma
RGB — Red, Green e Blue
LISTA DE CÓDIGOS
Código 1 – Conversão RGB para HSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Código 2 – Estrutura XML usada para o armazenamento dos autovalores . . . . . . . 77
SUMÁRIO
1 Introdução 23
1.1 Objetivos do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2 Organização deste trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2 Processamento de Imagens Digitais 25
2.1 Representação de Imagens Digitais . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.1 Amostragem e Quantização . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Pixels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1 Vizinhança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 Conectividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.3 Caminho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.4 Componente Conexo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.5 Relação Binária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.6 Medidas de Distância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.7 Operadores Ariméticos e Lógicos . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Etapas Fundamentais do Processamento de imagens . . . . . . . . . . . . . . 31
3 Reconhecimento de padrões 35
3.0.1 Análise de Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.0.2 Padrões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.0.3 Métodos de decisão teórica . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.0.3.1 Casamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.0.3.2 Classificadores estatísticos . . . . . . . . . . . . . . . . . . . . 37
3.0.3.3 Redes Neurais . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.0.4 Métodos estruturais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.0.4.1 Casamento de números e formas . . . . . . . . . . . . . . . . 38
3.0.4.2 Casamento de cadeias . . . . . . . . . . . . . . . . . . . . . . 38
3.0.4.3 Métodos sintáticos . . . . . . . . . . . . . . . . . . . . . . . . 39
4 Fundamentos de cor 41
4.1 Cores primárias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Modelo RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3 Modelo CMYK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.4 Modelo HSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 Modelo YIQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.6 Transformações entre espaços de cor . . . . . . . . . . . . . . . . . . . . . . . . 45
4.6.1 de RGB para HSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5 Reconhecimento facial 47
5.1 Métodos de detecção de faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1.1 Abordagens baseadas em conhecimento . . . . . . . . . . . . . . . . . 49
5.1.2 Abordagens baseadas em características invariantes . . . . . . . . . . 51
5.1.3 Abordagens baseadas em templates . . . . . . . . . . . . . . . . . . . . 53
5.1.4 Abordagens baseadas em aparência . . . . . . . . . . . . . . . . . . . . 53
5.1.5 Viola-Jones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.5.1 Adaboost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.2 Métodos de extração de características . . . . . . . . . . . . . . . . . . . . . . . 58
5.2.1 Independent component analysis (ICA) . . . . . . . . . . . . . . . . . . 59
5.2.2 Linear discriminant analysis (LDA) . . . . . . . . . . . . . . . . . . . . . 61
5.2.3 Elastic bunch graph matching (EBGM) . . . . . . . . . . . . . . . . . . 62
5.2.4 Principal components analysis (PCA) . . . . . . . . . . . . . . . . . . . 63
5.2.4.1 Conjunto de faces . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.4.2 Localizar face média . . . . . . . . . . . . . . . . . . . . . . . 64
5.2.4.3 Calculo da matriz de covariância . . . . . . . . . . . . . . . . 65
5.2.4.4 Redução da dimensionalidade da matriz . . . . . . . . . . . 65
5.3 Métodos de comparação de distância . . . . . . . . . . . . . . . . . . . . . . . . 67
6 Metodologia 69
6.1 Criação do Banco de Faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.1.1 Variações de poses nas imagens capturadas . . . . . . . . . . . . . . . 70
6.1.2 Gerenciador das imagens faciais . . . . . . . . . . . . . . . . . . . . . . 70
6.2 Segmentação de pele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.3 Detecção da face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.4 Caracterização das faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.5 Recuperação, identificação dos indivíduos . . . . . . . . . . . . . . . . . . . . . 76
7 Testes e Resultados 79
7.1 Testes de segmentação de peles . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.2 Reconhecimento dos indivíduos . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8 Conclusão 85
8.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Referências 87
APÊNDICE A Voluntários presentes no banco de dados faciais 91
ANEXO A Modelo usado para autorização do uso das imagens 93
23
CA
PÍ
TU
LO 1
INTRODUÇÃO
Uma das áreas que vem crescendo muito ultimamente é a área da visão computaci-
onal, que se resume ao fato de darmos à máquina a capacidade de entender, interpretar e
efetuar ações a partir de imagens. Os sistemas de visão computacional são desenvolvidos
para reconhecer padrões, dos mais simples, como uma bola de tênis, aos mais complexos,
como armas, auxílio de diagnóstico de problemas na visão, reconhecimento de tráfego, mi-
cro tumores, assim como o reconhecimento facial, que é o assunto deste trabalho.
Ao encontrarmos uma pessoa conhecida, a primeira informação que nos leva a lem-
brar desta pessoa são as características de sua face, formato do rosto, dos lábios, nariz, ta-
manho dos olhos, espessura da sobrancelha, enfim, um conjunto de características que nos
distinguem ou nos fazem ser semelhantes a outras pessoas. Existem diversas técnicas e al-
goritmos que tentam dar às máquinas esse “poder”, que para um humano é instantâneo.
O reconhecimento automatizado pode ser útil em diversas aplicações, como: con-
trole de acesso, rastreamento de suspeitos, realidade virtual, passaportes, interação homem-
computador, em aplicações sociais e até mesmo usado como uma ferramenta de auxilio ao
estudo da psicologia.
Existem diversos métodos para a obtenção de informações de pessoas, uns mais in-
trusivos, que contam com consentimento das pessoas, como a extração de DNA, digitais,
assinatura, e outros menos intrusivos, como o reconhecimento de voz, íris, odor. Apesar de
alguns desses métodos terem melhores resultados, eles necessitam de aparelhos específi-
cos e muitas vezes caros. Já que para o reconhecimento facial é necessário somente uma
câmera e um sistema capaz de reconhecer e identificar as pessoas na imagem, o que torna
essa tecnologia mais acessível.
Neste trabalho, um banco de imagens de faciais foi criado, este banco conta com
24 Capítulo 1. Introdução
imagens de 30 voluntários. Todas as imagens passaram pela detecção de pele, com o intuito
de separar a área de interesse do restante da imagem. A partir de então a face é detectada
e são realizado os testes com a extração de características de um determinado conjunto de
imagens. Por fim, um segundo conjunto de imagens é comparado, usando dois métodos de
cálculo de distância. Os resultados obtidos são animadores.
1.1 Objetivos do trabalho
O objetivo deste trabalho é estudar, aplicar e analisar os métodos mais eficientes de
detecção, caracterização e recuperação de faces em imagens digitais.
Os objetivos principais deste trabalho são:
• Constituir um banco de faces, com imagens da face em diferentes posições, ilumina-
ção e com uso ou não de óculos;
• Estudar técnicas de segmentação de pele e aplicar uma das técnicas estudadas;
• Estudar técnicas para a detecção de faces em imagens e aplicar uma delas;
• Estudar os principais métodos para extração de características e implementar um des-
ses métodos;
• Estudar métodos para a comparação de imagens e usar dois no trabalho para fins com-
parativos.
1.2 Organização deste trabalho
O trabalho está organizado da seguinte maneira: no Capítulo 1 é feito uma introdu-
ção ao tema além de expor os objetivos. No Capítulo 2 são discutidos assuntos relacionados
ao processamento de imagens, como a representação de imagens digitais, relacionamentos
básicos entre pixels e as etapas do processamento digital de imagens. No Capítulo 3 são apre-
sentados conceitos iniciais sobre o reconhecimento de padrões. No Capítulo 4 apresenta-se
conceitos relacionados a cores. No Capítulo 5 aborda-se assuntos relacionados ao reconhe-
cimento de faces, como os métodos de detecção, extração e de comparação de faces. No
Capítulo 6 apresenta-se como o trabalho foi desenvolvido e no Capítulo 7 são apresentados
os testes e resultados obtidos. Por fim, as conclusões são apresentadas no Capítulo 8.
25
CA
PÍ
TU
LO 2
PROCESSAMENTO DE IMAGENS DIGITAIS
O interesse no estudo dos métodos de processamento de imagens digitais se baseia
em dois aspectos: a melhoria da informação visual para a interpretação humana e o pro-
cessamento de dados das cenas para a percepção automática através de máquina. Os pri-
meiros experimentos com técnicas de processamento digital se deu na década de 1920, em
que houve uma melhora nas imagens digitalizadas de jornais, que foram enviados por ca-
bos submarinos de Londres para Nova York. Mas somente em meados dos anos 60 que as
técnicas de processamento digital de imagem evoluíram, com a ajuda de computadores de
grande porte e com o programa espacial. Em 1964 quando imagens eram transmitidas de
uma sonda espacial para a terra, estas eram processadas por computadores para corrigir
distorções causadas pela câmera, o resultado foi tão bom que serviu de base para as missões
espaciais posteriores (GONZALEZ; WOODS, 2000).
Daquela época até hoje, o processamento de imagens vem crescendo em um ritmo
bem acelerado, e hoje temos aplicações em diversas áreas, como: na Geologia, como o es-
tudo de superfícies, detecção de minerais e dezenas de outros recursos naturais; agricultura,
na previsão das safras, no auxilio de decisão de qual cultura plantar em determinadas áreas;
na Cartografia, com o mapeamento da superfície da Terra; no planejamento urbano, análise
de clima, contagem de células, restauração de imagens que apresentam oclusões, análise de
imagens médias, reconhecimento de padrões e diversas outras aplicações, que aumentam
à medida que computadores e dispositivos gráficos ficam cada vez mais potentes e baratos
(GONZALEZ; WOODS, 2000).
26 Capítulo 2. Processamento de Imagens Digitais
2.1 Representação de Imagens Digitais
Uma imagem monocromática pode ser definida por uma função de intensidade de
luz bidimensional f (x, y), em que x e y representam coordenadas espaciais e o valor de f em
algum ponto (x, y) representa o nível de cinza (brilho) da imagem naquele ponto. Uma ima-
gem digital é um conjunto f (x, y) de pontos denominados como pixels (picture elements).
Na figura 1, ilustra-se a posição dos eixos x e y em uma imagem (GONZALEZ; WOODS, 2000).
Figura 1 – Posicionamento dos eixos para representação de imagens digitais.
Fonte: O próprio autor.
Dois componentes caracterizam f (x, y), são eles: a quantidade de luz que incide na
cena e a quantidade de luz refletida pelos objetos na cena. Chamamos esses componentes
de iluminação e reflectância, representados respectivamente por i (x, y) e r (x, y). O produto
de i (x, y) e r (x, y) resulta em f (x, y) (GONZALEZ; WOODS, 2000):
f (x, y) = i (x, y)r (x, y) (2.1)
onde
0 < i (x, y) <∞ (2.2)
e
0 < r (x, y) < 1 (2.3)
2.1. Representação de Imagens Digitais 27
A reflectância é limitada entre 0 e 1, sendo que 0 representa a absorção total da luz e
1 representa a reflectância total, respectivamente. A natureza de i (x, y) é determinada pela
fonte de luz, enquanto r (x, y) é determinada pela característica dos objetos que se encon-
tram na cena.
Toda função f (x, y) deve ser digitalizada tanto espacialmente quanto em amplitude,
para que seu processamento computacional seja adequado. Denominamos as coordenadas
espaciais (x, y) como amostragem e a amplitude (valores que f pode assumir) como quanti-
zação.
2.1.1 Amostragem e Quantização
O processo de amostragem, citado acima tem a função de digitalizar as coordenadas
espaciais da imagem, assim como o processo de quantização tem a função de digitalizar os
valores de brilho. Toda imagem pode ser representada por uma matriz N x M , sendo N e
M valores inteiros, como pode ser observado na seguinte equação 2.4 (GONZALEZ; WOODS,
2000):
f(x,y) ≈
f (0,0) f (0,1) . . . f (0, M −1)
f (1,0) f (1,1) . . . f (1, M −1)...
... . . ....
f (N −1,0) f (N −1,1) . . . f (N −1, M −1)
(2.4)
O f (x, y) representa uma imagem digital e cada elemento da matriz representa um
elemento da imagem, ou seja, um pixel. Em uma imagem monocromática, cada elemento
assume um valor no conjunto 0,1, ...,L−1, onde L é a quantidade de níveis de cinza, sendo
que 0 corresponde a cor preta e L−1 corresponde à cor branca.
Ao digitalizar uma imagem, ou seja, obter uma imagem digital aproximada a par-
tir de uma imagem analógica, a qualidade depende diretamente dos valores de N , M e L
usados. Quanto maiores os valores desses parâmetros, maior a qualidade de digitalização
aumenta, assim como o número de bits necessários para codificar a imagem. Que é dado
por: (GONZALEZ; WOODS, 2000):
bi t s = N ×M × l (2.5)
Em que N ×M representa a dimensão da imagem tal que L ≤ 2l . Na variação desses
parâmetros, a qualidade da imagem digital também varia, como observado na Figura 2.
28 Capítulo 2. Processamento de Imagens Digitais
Figura 2 – Efeitos da variação de parâmetros.
(a) 200 x 150 / 256 níveis (b) 12 x 12 / 256 níveis
(c) 200 x 150 / 128 níveis (d) 200 x 150 / 2 níveis
Fonte: O próprio autor.
2.2 Pixels
São os menores elementos de uma imagem digital, cada ponto (x, y) na imagem re-
presenta um pixel. No processamento de imagens, é realizada a manipulação de seus pixels,
e para fazê-la corretamente é necessário conhecer os relacionamentos básicos entre os pi-
xels, que serão apresentados nas próximas subseções (GONZALEZ; WOODS, 2000).
2.2.1 Vizinhança
Nas coordenadas (x, y) de uma imagem digital, um pixel p possui dois vizinhos ho-
rizontais (x +1, y), (x −1, y) e dois verticais (x, y +1), (x, y −1), suas coordenadas são (x +1, y), (x −1, y), (x, y +1), (x, y −1). E formam o conjunto conhecido como vizinhança-de-4 do
pixel p, representado por N4(p), Figura 3a . O pixel p também possui quatro vizinhos nas
diagonais (x +1, y +1), (x +1, y −1), (x −1, y +1), (x −1, y −1), representados por ND (p). A
união de N4(p) e ND (p) compõe a vizinhança-de-8 N8(p) do pixel p. Na Figura 3 ilustra-se
as vizinhanças de p.
É importante ressaltar que em certas posições, como nas bordas das imagens, o pixel
2.2. Pixels 29
p não terá todos os seus vizinhos. Ao trabalhar com algumas técnicas de processamento de
imagens, deve-se fazer alguns ajustes para obter um resultado uniforme (GONZALEZ; WOODS,
2000).
Figura 3 – Tipos de vizinhanças.
(a) Vizinhança-de-4 (b) Vizinhança diagonal (c) Vizinhança-de-8
Fonte: O próprio autor.
2.2.2 Conectividade
A conectividade de pixels permite dizer quais pixels podem ser ditos conectados uns
aos outros, sendo importante na localização de regiões com semelhança na tonalidade de
níveis de cinza. Para dizer que dois pixels p1 e p2 são conectados, eles necessitam satisfazer
os seguintes critérios (GONZALEZ; WOODS, 2000):
1. ser adjacente, ou seja, devem estar em N8(p), e;
2. atender critérios de classificação, seus níveis de cinza devem ser iguais.
tal conceito é importante para estabelecer borda de componentes e objetos.
2.2.3 Caminho
Um caminho entre os pixels p0 = (x0, y0) e pn = (xn , yn) é a sequência de pixels dis-
tintos com as coordenadas (x0, y0), (x1, y1), ..., (xn , yn), em que o comprimento do caminho é
n e, (xi , yi ) e (xi−1, yi−1), com i = 1,2, ...n, adjacentes. Definir o caminho é importante para
determinar componentes conexos na imagem (GONZALEZ; WOODS, 2000).
2.2.4 Componente Conexo
Dados dois pixels p1 e p2 e o subconjunto S de uma imagem, p1 estará conectado a
p2 em S se e somente se existir um caminho entre eles, formado somente por pixels de S.
É importante ressaltar que no componente conexo, quaisquer dois pixels estão conectados
entre si e os componentes conexos distintos são disjuntos.
30 Capítulo 2. Processamento de Imagens Digitais
2.2.5 Relação Binária
Considere um A como sendo uma imagem ou um componente conexo da imagem.
Uma Relação Binária R em A, será um conjunto de pares de elementos contidos em A. Uma
relação binária R sobre A pode ser:
• Reflexiva: Cada a em A, aRa.
• Simétrica: Cada a e b em A, aRb → bRa.
• Transitiva: Cada a, b e c em A, aRb e bRc → aRc.
Se uma relação binária satisfazer estas três propriedades, diz-se que é uma Relação
de Equivalência.
2.2.6 Medidas de Distância
Considere três pixels p1, p2 e p3 e suas coordenadas s (x1, y1), (x2, y2)e(x3, y3), uma
função D será uma função de distância se satisfazer as seguintes condições:
1. D(p1, p2) ≥ 0.
2. D(p1, p2) = D(p2, p1).
3. D(p1, p3) ≤ D(p1, p2)+D(p2, p3).
Por meio destas condições, têm-se algumas medidas de distância. A mais clássica é
a Distância Euclidiana, Equação 2.6. Tem-se também a Distância City Block, Equação 2.7 e
Distância Xadrez, Equação 2.8
De (p1, p2) =√
(x1 −x2)2 + (y1 − y2)2 (2.6)
D4(p1, p2) =| x1 −x2 | + | y1 − y2 | (2.7)
D8(p1, p2) = max(| x1 −x2 |, | y1 − y2 |) (2.8)
Essas medidas de distância são comumente usadas para verificar o quanto uma ima-
gem se parece com outra. Quanto menor a distância entre os pixels, maior a semelhança. É
usado um relacionamento entre pixels usado na etapa de recuperação de faces deste traba-
lho.
2.3. Etapas Fundamentais do Processamento de imagens 31
2.2.7 Operadores Ariméticos e Lógicos
Também comumente utilizado no processamento de imagens, as operações aritmé-
ticas e lógicas são realizadas pixel a pixel ou em uma determinada vizinhança. Anterior-
mente só eram usadas em imagens binárias, mas como o advento da lógica Fuzzy, pode-se
então ser aplicadas em qualquer imagem. As operações lógicas realizadas em dois pixels p1
e p2 são:
• ∧(E): p1 ∧p2
• ∨(OU): p1 ∨p2
• COMPLEMENTO: p1
Já as operações aritméticas são:
• Adição: p1 +p2
• Subtração: p1 −p2
• Multiplicação: p1 ∗p2 ou p1p2
• Divisão p1 ÷p2 oup1
p2, se p2 6= 0
Normalmente, as operações lógicas são empregadas em detecção de características,
análise de formas e máscaras, etc. Enquanto as operações aritméticas são usadas para rea-
lizar média de imagens (Adição), remover informações do fundo de imagens (Subtração) e
corrigir sombras de níveis de cinza (Multiplicação e Divisão) (GONZALEZ; WOODS, 2000).
Estes são os conceitos básicos relacionados aos pixels, a seguir são abordadas as eta-
pas básicas e fundamentais para determinadas aplicações onde uma imagem é processada.
2.3 Etapas Fundamentais do Processamento de imagens
O processamento de imagens digitais pode ser classificado quanto ao seu grau de
abstração em três níveis: baixo, intermediário e alto. Dependendo da aplicação nem todos
os passos descritos na Figura 4 são executados.
O processamento de baixo nível descreve as seguintes fases:
• Aquisição: adquirir uma imagem digital, necessita de um dispositivo para obtenção,
como câmera de vídeo, scanner, satélites, tomógrafo, etc (PEDRINI; SCHWARTZ, 2008).
32 Capítulo 2. Processamento de Imagens Digitais
Figura 4 – Níveis de Processamento.
Fonte: (GONZALEZ; WOODS, 2000)
• Pré-processamento: tem a função de melhorar a imagem, aumentando as chances
de sucessos nos próximos passos (GONZALEZ; WOODS, 2000). As melhorias podem ser
realizadas por meio de atenuação de ruído, correção de contraste, brilho, suavização
de alguns componentes da imagem, etc (PEDRINI; SCHWARTZ, 2008).
Já o nível intermediário é composto por:
• Segmentação: é realizada a extração e identificação de regiões de interesse em uma
imagem. Essa etapa é geralmente baseada na detecção de bordas ou de regiões na
imagem (PEDRINI; SCHWARTZ, 2008).
• Representação e Descrição: É o processo de descrição, também chamado seleção de
características. Tenta extrair características quantitativas de interesse ou que sejam
básicas para discriminação entre classes de objetos (GONZALEZ; WOODS, 2000). Deve-se
utilizar estruturas adequadas, como por exemplo XML, para armazenar e manipular
os dados extraídos da imagem (PEDRINI; SCHWARTZ, 2008).
As atividades que compõe este nível não precisam de intermédio humano, nem uso
de equipamentos e rotinas sofisticadas, pelo fato de ser um processo realizado automatica-
mente pela máquina, uma vez que os passos foram estabelecidos (GONZALEZ; WOODS, 2000).
O nível mais alto desse processamento é o de Reconhecimento e Interpretação, ba-
seado em informações fornecidas por um descritor, atribui um rótulo a um objeto. Aqui a
interpretação envolve atribuir um significado a um ou mais objetos reconhecidos (GONZA-
2.3. Etapas Fundamentais do Processamento de imagens 33
LEZ; WOODS, 2000). A análise de descrições da imagem leva em conta os padrões e regras que
são definidas previamente (STIVANELLO, 2004).
Este capítulo abordou conceitos sobre o processamento de imagens, que é base para
qualquer sistema reconhecedor de padrões. No desenvolvimento deste trabalho, fez-se grande
uso do relacionamento entre pixels, levando em consideração também o emprego das eta-
pas de processamento facial.
35
CA
PÍ
TU
LO 3
RECONHECIMENTO DE PADRÕES
Reconhecer um objeto em uma determinada imagem pode ser trivial para um hu-
mano, mas para um sistema computacional exige um grande esforço e diversas técnicas di-
ferentes.
Essa é uma área que vem sendo muito pesquisada atualmente, devida a grande quan-
tidade de imagens novas que circulam pela Internet e a necessidade de organizá-las e catalogá-
las. Apesar de existirem grandes avanços neste campo, todos os métodos no estado da arte
em análise de imagens são baseados em heurísticas projetadas para resolver problemas es-
pecíficos. Ainda não existe nenhum sistema generalizado (GONZALEZ; WOODS, 2000).
Para um sistema obter a capacidade de generalização, seria necessário o mesmo
apresentar três características básicas: extrair informações corretas em meio às diversas in-
formações irrelevantes; apresentar também a capacidade de aprender com situações passa-
das, generalizando o conhecimento e posteriormente aplicando-o em novos cenários; e por
fim, fazer suposições sobre informações parcialmente escondidas.
Ainda é difícil dotar um sistema computacional com essas características e que che-
guem ao menos próximo às capacidades humanas (GONZALEZ; WOODS, 2000). Nas seções 3.0.1,
3.0.2, 3.0.3 e 3.0.4 serão apresentados alguns métodos usados no reconhecimento de pa-
drões em imagens.
3.0.1 Análise de Imagens
A análise de imagens se divide basicamente em três áreas: O processamento de baixo
nível, de nível intermediário e de alto nível.
Processamento em baixo nível Define-se como processamento de baixo nível a aquisição
36 Capítulo 3. Reconhecimento de padrões
e pré-processamento da imagem, compõem-se este nível: a formação da imagem e
compensações, como a redução de ruido ou do borramento da imagem. Este nível
não é considerado inteligente.
Processamento de nível intermediário Extração e caracterização dos componentes de uma
imagem, incluem segmentação e descrições que devem ser construídas com os méto-
dos flexíveis de segmentação, apresentam certa inteligência.
Processamento de alto nível Etapa que irá reconhecer e interpretar elementos de uma ima-
gem, está relacionado à cognição inteligente.
Apesar de cada uma apresentar características diferentes, elas formam um conjunto
útil no reconhecimento automático de padrões, que é ilustrado na Figura 4 (GONZALEZ; WO-
ODS, 2000).
3.0.2 Padrões
Um padrão é formado por um ou diversos descritores, são esses descritores que irão
determinar características estruturais ou quantitativas de alguma informação buscada na
imagem. Podemos também unir vários padrões que tenham características em comum e
formar uma classe de padrões. Classes de padrões são denotadas como ω1,ω2,ω3, ...,ωM
onde M é a quantidade de classes. Para cada tipo de padrão é usado uma estrutura diferente,
para descrições quantitativas, são usados vetores, já para descrições estruturais, árvores e
cadeias são as mais adequadas.
O reconhecimento e interpretação de objetos pode ser feito de três maneiras: por
métodos de decisão teórica e métodos estruturais, que tratam do reconhecimento em si; e
por interpretação de imagens, que irá dar algum significado a determinados elementos da
imagem (GONZALEZ; WOODS, 2000).
3.0.3 Métodos de decisão teórica
São baseados no uso de discriminantes ou funções de decisão, onde x = x1, x2, ..., xnT
é um vetor de padrões n-dimensional. O problema básico é reconhecer em M classes de pa-
drões ω1,ω2, ...,ωM , M funções de decisão d1(x),d2(x), ...,dM (x), com a propriedade que se
x pertencer à wi , então di (x) > d j (x) j = 1,2, ..., M ; j 6= i . Os empates são decididos arbitrari-
amente. A fronteira de decisão de separação das classes wi e w j é dada por valores de x para
os quais di (x) = d j (x). É identificada também pela função d j i (x) = di (x)−d j (x) = 0. Então,
di j (x) > 0 para os padrões da classe wi e di j (x) < 0 para os padrões da classe w j .
37
3.0.3.1 Casamentos
Na abordagem por casamentos, temos dois tipos de classificadores, por distância
mínima e por correlação. O classificador por distância mínima é dado por uma classe de
padrões representado um vetor médio:
m j = 1
N j
∑xεω j
X j = 1,2, ..., M (3.1)
N j é a quantidade de vetores de padrões da classe ωi , faz-se uma soma sobre esses
vetores.
Uma maneira de definir a pertinência de um vetor x de padrões desconhecido é
atribuí-lo à classe de seu vetor protótipo (ou médio) mais próximo. A distância euclidiana
Equação 3.2, onde x é atribuído à classeωi se Di (x) ter menor distância, pode ser usada para
determinar a proximidade, reduzindo o problema à computação das distâncias,
D j (x) =∥ x −m j ∥ j = 1,2, ..., M (3.2)
O classificador por distância mínima tem bom aproveitamento quando as distâncias
médias são grandes comparando com a dispersão ou aleatoriedade média de cada classe.
Outro método classificador é o chamado casamento por correlação, e é dado na
forma da Equação 3.3:
c(s, t ) =∑x
∑y
f (x, y)w(x − s, y − t ) (3.3)
descreve a correlação entre f (x, y) e w(x, y), onde s = 0,1,2, ...M−1 e t = 0,1,2, ...N−1, e uma
soma é realizada sobre a região da imagem em que f e w se sobrepõe.
A correlação dada pela equação anterior sofre as mudanças de amplitude de f (x, y)
e de w(x, y), pois ao aumentar ou diminuir valores de f (x, y) automaticamente modificará
valores de c(s, t ). O custo computacional para aplicar mudanças em cima disso seria muito
grande (GONZALEZ; WOODS, 2000) .
3.0.3.2 Classificadores estatísticos
Quando é necessário o uso de probabilidade para classificar padrões é usado os clas-
sificadores estatísticos.
38 Capítulo 3. Reconhecimento de padrões
A probabilidade de um determinado padrão x pertencer a uma classe wi é dada por
p(wi | x). Se um certo padrão x pertencer à classe de wi e se for atribuído a uma segunda
classe w j , à qual ele não pertence, ocorre perda denotada por Li j . Com isso é calculada a
perda média descrita na Equação 3.4, onde p(x |ωk ) é a função densidade probabilística dos
padrões da classe ωk e P (ωk ) é a probabilidade de ocorrência da classe ωk .
r j (x) = 1
p(x)
M∑k=1
Lk j p(x/ωk )P (ωk ) (3.4)
3.0.3.3 Redes Neurais
Uma Rede Neural Artificial (RNA) é uma forma de processamento de informações
inspirada na forma biológica do sistema nervoso. Compõe uma RNA, os seguintes elemen-
tos: o neurônio artificial, o algoritmo de aprendizagem, o paradigma de aprendizagem e a
arquitetura do neurônio (GONZALEZ; WOODS, 2000). Um RNA deve ser capaz de aplicar co-
nhecimentos adquiridos anteriormente por meio de padrões, ou um conjunto de elementos
de treinamento(HAYKIN, 2001).
O ponto forte desse paradigma é a estrutura que compõe o sistema de processa-
mento de informações, que é composta por um grande número de elementos interconec-
tados, trabalhando em conjunto para resolver determinados problemas (STERGIOU; SIGANOS,
1996).
3.0.4 Métodos estruturais
Ao contrário dos modelos discutidos na seção anterior 3.0.2, os métodos abordados
agora são baseados no reconhecimento de padrões por meio de estruturas.
3.0.4.1 Casamento de números e formas
Este procedimento é parecido com o classificador por distância mínima, os vetores
podem ser formulados a partir da comparação de fronteiras de regiões descritas em termos
de números e formas.
Considerando duas fronteiras, A e B , pode-se obter a semelhança entre elas por meio
do cálculo de distância. A maior ordem na qual seus números da forma ainda coincidem é
chamada de grau de similaridade k, após este processo é hora de definir a distância entre as
duas fronteiras, que é o inverso de seu grau de similaridade Equação 3.5:
D(A,B) = 1
k(3.5)
39
Assim, quanto menor a distância entre as fronteiras, mais parecidas elas serão. Se
utilizar-se somente do grau de similaridade k, quanto maior ele for, as fronteiras serão mais
parecidas (GONZALEZ; WOODS, 2000).
3.0.4.2 Casamento de cadeias
Considere duas fronteiras A e B , codificadas como cadeias a1, a2...an e b1,b2...bm
respectivamente. M é o número de casamentos entre as duas cadeias, sendo que um casa-
mento ocorre na k-ésima posição se ak = bk . Temos então que o número de símbolos que
não casam dado por Q são:
Q = max(| A |, | B |)−M (3.6)
em que | ar g | é o número de símbolos na representação de cadeia de argumentos. Pode
ser mostrado que Q = 0, se somente se, A e B forem idênticas. Uma medida para obter a
similaridades entre A e B é:
R = M
Q= M
max(| A |, | B |)−M(3.7)
Podemos observar que quando R tem um valor muito grande, o casamento entre as
cadeias será melhor, já com R = 0 não há casamentos entre nenhum símbolo em A e B .
3.0.4.3 Métodos sintáticos
Define-se como sintático o reconhecimento de padrões por meio de um conjunto de
primitivas de padrões, de regras e um reconhecedor. Uma primitiva de padrões é uma es-
trutura onde deve-se descrever a informação desejada. Um conjunto de regras é a gramática
da cadeia, definida por uma tupla do tipo:
G = (N ,Σ,P,S) (3.8)
onde,
N = são os símbolos não-terminais;
Σ = são os símbolos terminais;
P = são as regras e;
S = o estado inicial.
40 Capítulo 3. Reconhecimento de padrões
Aqui, N e Σ são conjuntos distintos.
O reconhecedor de padrões nada mais é do que um autômato que reconhece a lin-
guagem L(G) gerada pela gramática G .
O material introdutório apresentado neste capítulo, é a base para o entendimento
na interpretação e reconhecimento de imagens, sendo assim fundamental para que possa
estudar reconhecimento de faces, abordado a seguir.
41
CA
PÍ
TU
LO 4
FUNDAMENTOS DE COR
As cores vistas em objetos são determinadas pela maneira em que o objeto reflete a
luz. O que é visto como cor é na verdade diferenças do comprimento de onda eletromag-
nética. É possível gerar cores a partir de um único comprimento de onda, como vermelho e
verde puros. Outras cores podem ser geradas a partir de uma combinação de comprimentos
de ondas (AZEVEDO; CONCI, 2003).
É possível descrever um comprimento de onda que contém uma cor através de sua
curva espectral, que nada mais é que um gráfico no qual o eixo vertical representa a intensi-
dade da luz e o eixo horizontal, o comprimento da onda (Figura 5).
Figura 5 – Curva espectral.
Fonte: (AZEVEDO; CONCI, 2003).
42 Capítulo 4. Fundamentos de cor
Um problema encontrado na descrição das cores é o fato de que muitas densidades
espectrais podem ser vistas como a mesma cor pelo olho humano. Assim uma forma melhor
de especificar cada cor é caracterizar os três parâmetros da colorimetria: matiz, saturação e
brilho. O matiz corresponde ao comprimento de luz predominante. A saturação é a quanti-
dade da cor que não se manifesta como uma constante em todos os comprimentos de onda.
O brilho determina o quão brilhante a luz será (AZEVEDO; CONCI, 2003).
Os diferentes espectros luminosos, ou simplesmente cores, que são percebidos pelo
olho humano correspondem a uma pequena faixa de frequência do espectro eletromagné-
tico de aproximadamente 400 a 700 nm, que varia do violeta ao vermelho, Figura 6.
Figura 6 – Frequências do espectro eletromagnético.
Fonte: (AZEVEDO; CONCI, 2003).
4.1 Cores primárias
As cores primárias são cores básicas que são usadas para produzir outras cores. Po-
dem produzir cores a partir da combinação entre si e também a partir da combinação de
suas combinações. Existem três cores primárias RGB escolhidas das extremidades e o cen-
tro do espectro de luz visível que podem produzir qualquer cor.
Um sistema de cores é um modelo que pode explicar as propriedades e comporta-
mentos das cores em um contexto particular. Não existe um sistema de cores que dita todos
os aspectos relacionados à cor, assim sendo, são usados diferentes sistemas para descrever
determinadas características das cores, como por exemplo, RGB, HSV e HLS.
Para quantificar as sensações visuais das cores é necessário um método formal, cha-
mado de espaço de cor, assim elas são mais precisamente especificadas. A introdução desta
representação matemática permite especificar uma cor através de um sistema de coordena-
das.
A Commission Internationale de l’Éclairage (CIE) , definiu três cores primárias (X, Y,
Z), que ao combinadas podem formar qualquer cor. Um gráfico disponibilizado pela CIE
facilita a especificação das cores como na Figura 7.
4.2. Modelo RGB 43
Figura 7 – Diagrama Cromático.
Fonte: (AZEVEDO; CONCI, 2003).
4.2 Modelo RGB
O modelo RGB possui a cor vermelha (R), verde (G) e azul (B) como primárias, base-
ado na sensibilidade do olho e usa um sistema de coordenadas cartesianas R, G, B, onde o
subespaço de interesse é representado pelo cubo unitário ilustrado na Figura 8.
Figura 8 – Subespaço do modelo RGB a partir dos eixos XYZ.
Fonte: (AZEVEDO; CONCI, 2003).
44 Capítulo 4. Fundamentos de cor
4.3 Modelo CMYK
O modelo CMYK é complementar ao modelo RGB, é destinado a dispositivos não
emissores de luz, como impressoras. A composição é similar ao modelo RGB, emprega as
cores complementares Ciano (C), Magenta (M), Amarelo (Y) e preto (K). As cores comple-
mentares podem criar cores equivalentes às produzidas por dispositivos emissores de luz.
Embora equivalentes, não produzem os mesmos resultados visuais, existem cores de um
modelo que não podem ser expressos pelo modelo complementar. Apesar desta limitação,
o RGB e CMYK são os modelos de cores mais populares atualmente, seja usada em telas e
monitores e em impressoras jato de tinta, térmicas ou laser (AZEVEDO; CONCI, 2003).
4.4 Modelo HSV
Modelo desenvolvido em 1978, baseado na maneira que o artista Alvey Ray Smith
descrevia as misturas das cores. O sistema de coordenadas do modelo HSV (Hue, Saturation,
Value) é um cilindro e o subconjunto no qual o modelo é definido é um hexágono, como
pode ser visto na Figura 9.
Figura 9 – Modelo HSV.
Fonte: (AZEVEDO; CONCI, 2003).
4.5 Modelo YIQ
O YIQ é o modelo usado na transmissão de televisão a cores, comum nos Estados
Unidos. Foi desenvolvido para separar a crominância da luminância e como solução para a
transmissão ser compatível com os televisores coloridos e preto e branco. O canal Y contém
4.6. Transformações entre espaços de cor 45
informações de luminância, já os canais I e Q contém informações de cor (AZEVEDO; CONCI,
2003).
4.6 Transformações entre espaços de cor
Existe uma grande variedade de espaços de cor, onde cada uma representa as co-
res e composições de sua maneira. Normalmente, as imagens coloridas são adquiridas por
dispositivos como câmeras e scanners, armazenando em formas de pontos a informação
das cores representadas pelos canais RGB. O RGB é o ponto inicial para transformações em
outros modelos de cores.
A conversão de RGB para outros espaços de cores pode ser linear ou não-linear. A
linearidade permite o retorno ao RGB diretamente (AZEVEDO; CONCI, 2003).
4.6.1 de RGB para HSV
A conversão do espaço de cor RGB para o HSV é feita normalmente de forma não-
linear, porém tem a vantagem de que o processo contrário é de forma fácil.
O seguinte algoritmo pode ser usado (AZEVEDO; CONCI, 2003):
Código 1 – Conversão RGB para HSV.
/ / calcula os valores máximos e mínimosmax = máximo(R, G, B) , min = mínimo(R, G, B)
/ / calcula os valores de saturação e brilhoV = max, S = (max − min) / max
/ / calcula as cores :i f S = 0else
R1 = (max − R) / (max − min)G1 = (max − G) / (max − min)B1 = (max − B) / (max − min)i f R1 = max and G1 = min, H = 5 + B1
else i f R1 = max and G1 not = min, H = 1 − G1else i f G1 = max and B1 = min, H = 1 − R1
else i f G1 = max and B1 = not = min, H = 3 − B1else i f B1 = max and R1 = min, H = 3 + G1
else H = 5 − R1/ / converte H em graus
H = H * 60/ / obtém H variando de 0 a 360 , S e V variando de 0 e 1
47
CA
PÍ
TU
LO 5
RECONHECIMENTO FACIAL
Os primeiros trabalhos que abordam o reconhecimento facial datam da década de
1950 em estudos de psicologia (BRUNER; TAGIURI, 1954) e na engenharia por volta de 1960 (BLED-
SOE, 1966). Alguns trabalhos também incluem estudos iniciais sobre expressão facial e emo-
ções humanas foi escrito por Darwin (DARWIN, 1874) e sobre a biometria a partir do perfil
facial por Galton (GALTON, 1889).
Apesar destes estudos pioneiros, as pesquisas sobre o reconhecimento automático
de faces começou na década de 1970, após o trabalho de Kanade (KANADE, 1977) e Kelly (KELLY,
1970). Durante os anos de 1970 estudou-se tipicamente técnicas para reconhecimento de
padrões e classificação, que usam atributos de medidas, como a distância entre dois pontos
importantes nas faces, como o canto dos olhos, ponta do nariz, etc. (BLEDSOE, 1966) (KELLY,
1970) (KANADE, 1977). Não houve nos anos 80, evolução significativa das técnicas de reco-
nhecimento facial.
Já a partir de 1990, pelo aumento do interesse de empresas procurando aplicações
comerciais, sociais, de vigilância, com o hardware mais potente e mais acessível, as pesqui-
sas sobre o reconhecimento facial cresceram significativamente. Nesses últimos 20 anos as
pesquisas se concentraram em como fazer sistemas de reconhecimento facial totalmente
automáticos, abordando problemas como localização de rostos em imagens, extração de
características, como olhos, boca, nariz, etc. Entre as abordagens heurísticas destacam as
eigenfaces (KIRBY; SIROVICH, 1990) (TURK; PENTLAND, 1991) e fisherfaces (BELHUMEUR; HESPA-
NHA; KRIEGMAN, 1997) (ETEMAD; CHELLAPPA, 1997) (ZHAO; CHELLAPPA; KRISHNASWAMY, 1998),
por serem eficazes quando há uma grande base de dados. Abordagens baseadas em recur-
sos gráficos (WISKOTT et al., 1997) também tem sido bem sucedidas.
Ao comparar abordagens heurísticas e métodos baseados em características, estes
48 Capítulo 5. Reconhecimento facial
são menos sensíveis às variações de iluminação quando se trata em localização de faces. No
entanto, estas técnicas de extração ainda não são suficientemente precisas por muitas vezes
a face estar parcialmente oclusa por conta do sombreamento natural do rosto, ou por não
funcionar corretamente se o olho estiver fechado (COX; GHOSN; YIANILOS, 1996).
Durante os últimos anos, muitas pesquisas têm concentrado em reconhecimento de
face em vídeo. Para aplicações como em aeroportos e vigilância, a localização automática e
segmentação de um rosto pode representar sérios desafios para qualquer algoritmo se ape-
nas uma imagem estática de uma grande área lotada está disponível. Mas se uma sequência
de vídeos estiver disponível, a detecção de uma pessoa e por sua vez sua face, pode ser facil-
mente obtida usando o movimento como base. Além disso, uma sequência de imagem pode
ajudar no desempenho do reconhecimento, por sua vez se a imagem for pequena e de baixa
qualidade, poderá aumentar significativamente a dificuldade no reconhecimento da face.
Os últimos trabalhos significativos foram baseados em reconhecimento 3D da face.
Apesar de ter vantagens sobre o reconhecimento 2D único ou em sequência, poucos esfor-
ços realmente sérios foram feitos. Isto por conta principalmente do custo e complexidade
computacional de aquisição de dados 3D em tempo real.
Os principais estudos sobre o reconhecimento 3D tem sido baseado em imagens 2D,
mas tem apresentado muitos desafios, como por exemplo os problemas de iluminação, que
dificultam a extração dos dados. Uma das propostas que se tem bons resultados é modelar a
face com base nas propriedades de reflectância da mesma e a partir daí sintetizar as imagens
em várias posições e condições de iluminação. Outras aplicações com potencial é realizar a
modelagem incluindo o envelhecimento computadorizado, agrupando parâmetros e carac-
terísticas do modelo para simular o envelhecimento.
O reconhecimento facial é dividido em etapas, essas etapas podem ser distintas ou
agrupadas, dependendo do modelo ou método adotado para reconhecer a face. Nas próxi-
mas seções serão abordadas os principais trabalhos da área de cada etapa.
5.1 Métodos de detecção de faces
Um dos passos mais importantes em um Sistema de Reconhecimento Facial é a etapa
de detecção da face em uma determinada imagem. O processo de localizar a face poupa pro-
cessamento na etapa posterior, pois os métodos de classificação o fazem na imagem inteira.
Com a identificação do rosto este processo é realizado em uma área limitada, aumentando
assim a precisão na extração de características.
Em todas as técnicas de detecção de faces, alguns problemas são frequentemente
encontrados, são elas (YANG; KRIEGMAN; AHUJA, 2002):
• Pose: variação da face de acordo com a posição em que se encontrava no momento da
5.1. Métodos de detecção de faces 49
aquisição da imagem.
• Expressão facial: a expressão influencia, pois muda a aparência da imagem.
• Presença de elementos: as características de tamanho e luminosidade são afetadas
diretamente por conta de elementos como barba, bigode e óculos.
• Oclusão: as faces podem estar parcialmente ou totalmente sobrepostas por objetos e
ou pessoas, o que dificulta a identificação da mesma.
• Orientação: se o rosto estiver pouco ou bastante rotacionado de acordo com o eixo da
câmera.
• Condições da imagem: o tipo de iluminação, características da câmera e resolução
poder interferir na detecção.
As abordagens mais comuns serão discutidas a seguir.
5.1.1 Abordagens baseadas em conhecimento
Abordagens baseadas em conhecimento codificam o conhecimento humano do que
seria uma face. Normalmente são regras que capturam as relações entre as características
faciais com formas geométricas. Um exemplo seria nosso conhecimento de que faces pos-
suem dois olhos, um nariz e boca. São essas regras definidas no sistema automático que o
possibilitarão identificar uma face.
As abordagens desta categoria geralmente sofrem algumas desvantagens, se as regras
forem muito gerais, o sistema pode apresentar um alto índice de falsos positivos, ele irá
identificar face onde não há. Se as regras não forem tão gerais, o sistema de detecção irá
identificar conjuntos específicos, fazendo a precisão cair (YANG; KRIEGMAN; AHUJA, 2002).
Um exemplo do uso deste métodos é o método de Yang e Huang (YANG; HUANG, 1994),
no qual eles utilizam um conjunto de regras hierárquicas para a detecção da face. Primei-
ramente o modelo identifica os possíveis elementos da imagem candidatos a face, é o nível
mais alto, basicamente neste nível são definidos as regras que descrevem um rosto. No se-
gundo nível são descritos os elementos do rosto como os olhos, boca e nariz, a necessidade
desta descrição é atestar a validade dos dados extraídos no nível superior. Um exemplo de
detecção de faces em diferentes resoluções formadas pela média dos pixels a partir de uma
amostra, pode ser visualizado na Figura 10. As regras são impostas de acordo com a reso-
lução da imagem, em uma imagem com baixa resolução podendo afirmar que nas quatro
células centrais a luminosidade é uniforme, caracterizando assim uma face (ver Figura 11).
50 Capítulo 5. Reconhecimento facial
Figura 10 – Figura em várias resoluções.
(a) Imagem original.(b) Imagem com qua-drado de pixels 4.
(c) Imagem com qua-drado de pixels 8.
(d) Imagem com qua-drado de pixels 16.
Fonte: (YANG; HUANG, 1994).
Figura 11 – Exemplo de uma face em uma determinada resolução utilizadas para detectar faces através de
regras que utilizam o conhecimento sobre a distribuição de luminosidade da imagem.
Fonte: (YANG; HUANG, 1994).
Outro trabalho que se enquadra em abordagens baseadas em conhecimento é o de
Kotropoulos e Pitas (KOTROPOULOS; PITAS, 1997), onde as regras para identificar as faces são
baseadas em projeções horizontais e verticais da face, são definidas pelas Equações 5.1 e
5.2, considerando uma imagem de tamanho n x m.
H I (x) =n∑
y=1I (x, y) (5.1)
e
V I (x) =m∑
x=1I (x, y) (5.2)
As projeções verticais V I , são usadas para localizar características como olhos e utiliza de-
tecção de mínimos locais da projeção. Já as projeções horizontais H I usam dois mínimos
locais obtidos a partir da detecção de mudanças bruscas na projeção, isto corresponde ao
lado esquerdo e direito da face. A desvantagem deste modelo é a dificuldade de detectar a
face quando a imagem possui um fundo não controlado.
5.1. Métodos de detecção de faces 51
5.1.2 Abordagens baseadas em características invariantes
Diferente da abordagem vista na subseção anterior, os métodos tem o objetivo de lo-
calizar características invariantes na face, ou seja, estes métodos se inspiram na capacidade
do ser humano identificar objetos independente do ponto de vista. As desvantagens deste
modelo é o fato de determinadas características se corromperem devido a iluminação e a
ruídos na imagem, comprometendo assim sua eficiência.
As principais características invariantes que podem ser utilizadas para separar a face
de outros elementos de uma imagem são a cor da pele e a textura. No caso da cor da pele
quando se tem apenas a imagem em escala de cinza, diz se que a mesma constitui de uma
representação básica do objeto, enquanto que a imagem com todos os espectros de cores as
informações são bem mais precisas quanto a aparência do objeto. Sobre a relação com faces
humanas, verificou-se que a cor, independente de suas variações (branca, parda, amarela),
tende a formar um cluster no espaço de cores, e pode ser modelada por uma distribuição
Gaussiana (FERIS et al., 2000), observe a região na Figura 12a, onde em 12b é gerado um clus-
ter no espaço de cor RGB e em 12c o cluster, gerado em tons de cinza podendo assim ser
utilizada para classificar regiões de face e não-face (WANG; SUNG, 1999).
Figura 12 – Modelo ilustrativo dos Clusters em uma determinada região selecionada.
(a) Região selecio-nada da face.
(b) Cluster nos espaços de co-res . (c) Cluster nos tons de cinza
Fonte: (FERIS et al., 2000).
No trabalho de Bhuiyan (BHUIYAN et al., 2003) é usada a pele para identificar a região
da face. As cores que são dominantes são extraídas da imagem colorida em RGB, transforma-
se a imagem no espaço de cores YIQ descrito por matiz, luminosidade e saturação. Ele pro-
duz uma transformação linear do RGB que gera Y que representa a luminosidade e I, Q,
canais que contam com valores para tratar cores. A matriz de transformação de RGB para
YIQ é dada por:
Y
I
Q
=
0.299 0.587 0.114
0.596 −0.275 −0.320
0.212 −0.523 0.311
R
G
B
52 Capítulo 5. Reconhecimento facial
Uma vez que a cor da pele tende a ficar em uma região do espaço de cores, pode-se
utilizar um threshold para determinar os pixel da pele. Nos teste de Bhuiyan et al (2003) os
seguintes valores foram obtidos:
(60 < Y < 200)
e
(20 < I < 50)
Após esta segmentação a imagem irá possuir somente os pixels que possivelmente
são pele e para localizar a face faz-se uma varredura a procura da região com maior conecção
de pixels de pele, na Figura 13 ilustra-se a aplicação deste modelo.
Figura 13 – Detecção da região da face por meio de segmentação da pele colorida.
(a) Imagem original. (b) Segmentação da pele.(c) Maior área de pixels conec-tados
Fonte: (BHUIYAN et al., 2003).
Apesar de apresentar bons resultados, as abordagens baseadas em segmentação da
cor da pele estão ligadas diretamente em como a cor será representada, ou seja, o espaço de
cores influi na precisão da detecção da face. No trabalho de Iraji e Yavari (IRAJI; YAVARI, 2011),
é advertido que a utilização do espaço de cores RGB torna as técnicas de segmentação de co-
res sensíveis a iluminação. Devido a esta desvantagem foram propostos outros espaços de
cores, como o YCbCr (luminance-chrominance), utilizado em diversos sistema de segmen-
tação. Porém, Saber destaca o uso do sistema de cores YES que foi definido pela Society of
Motion and Television Engineers, onde Y representa a luminosidade, E e S os componentes
de cores. A vantagem é que neste espaço de cor as variações de chrominance são reduzidas,
além do mais, os componentes E e S são obtidos a partir do RGB somente por um desloca-
mento de bits, sem a necessidade de multiplicação de matrizes, que reflete no desempenho
dos algoritmos.
O problema principal destes métodos ocorre quando há objetos com cores seme-
lhantes às da pele, que provocam falsos positivos, assim, geralmente os métodos de seg-
mentação de pele vem acompanhados de outras técnicas para localizar a face.
5.1. Métodos de detecção de faces 53
5.1.3 Abordagens baseadas em templates
Neste tipo de abordagem um padrão de um rosto (geralmente frontal) é manual-
mente pré-definido ou parametrizado por uma função. Ao entrar com uma imagem no sis-
tema, os valores da correlação com os padrões do modelo são calculados individualmente
para o contorno do rosto, olhos, nariz, boca, etc. A existência ou não de uma face é deter-
minada em função dos valores de correlação. A abordagem tem a vantagem de ser fácil de
implementar, no entanto tem algumas limitações na identificação da face, pois não lida com
variações de pose, resolução e formas.
A primeira tentativa de localizar face em imagens é descrito por Sakai et al. (SAKAI;
NAGAO; FUJIBAYASHI, 1969). Eles usaram diversos templates de olhos, nariz, boca e contorno
do rosto. Cada template é definido em termos de segmentos de linha, que são extraídas
da imagem com base no maior gradiente e em seguida comparadas com os modelos pré-
existentes. As correlações entre as sub-imagens e o contorno dos templates são computadas
primeiro, para detectar os locais candidatos a face. Em seguida é feita uma combinação
com outros templates na posição candidata. Em outras palavras, a primeira fase determina
a região de interesse e segunda examina os dados para determinar a existência de um rosto.
5.1.4 Abordagens baseadas em aparência
Os métodos desta categoria recebem este nome por não utilizar nenhum conheci-
mento prévio sobre o objeto ou características a ser detectados. Surge aqui então o conceito
de aprendizagem e treinamento. As informações que são de importância para a finalização
da tarefa são extraídas do próprio conjunto de imagens, não havendo intervenção externa.
A seguir alguns modelos que pertencem a esta abordagem.
Um dos principais métodos baseados em aparência são dadas pelas Redes Neurais
Artificiais (RNAs). As RNAs consistem de um modelo matemático biologicamente inspirado
que simulam o processo cognitivo humano, várias RNAs tem mostrado grande eficiência em
classificação e reconhecimento de padrões. Em detecção de faces, a tarefa de uma RNA con-
siste em distinguir regiões que possivelmente possuem face, de regiões que não possuem,
ou seja, uma classificação binária, face e não-face.
No trabalho de Kanade et al. (KANADE; BALUJA; ROWLEY, 1997) é apresentado um sis-
tema de detecção de faces baseados em redes neurais. O sistema consiste em dada uma
imagem de entrada, percorrer um filtro que é formado por uma janela de 20x20 pixels que
extrai regiões na imagem que podem possuir faces, após isto a região é equalizada e pas-
sada por normalização de iluminação. Caso a região seja maior do que o tamanho do filtro,
a imagem é subamostrada repetidas vezes pelo fator 1.2 e o filtro aplicado a cada subamos-
tragem, Figura 14. Cada região da imagem extraída e pré-processada é enviada a uma rede
neural para decidir se há ou não uma face. A rede é formada por camadas diferentes, cada
54 Capítulo 5. Reconhecimento facial
uma avalia uma parte da imagem procurando características que são úteis para dizer se há
a presença de face.
Figura 14 – Funcionamento do algoritmo de detecção de faces baseado em RNA.
Fonte: (KANADE; BALUJA; ROWLEY, 1997).
Esta estratégia é eficiente em imagens com as faces frontais e com pouca variação de
rotação. Verificando esta limitação Rowley et al. (ROWLEY; BALUJA; KANADE, 1998) modificou
esta técnica deixando-a mais robusta quanto a rotação da face. A modificação feita consiste
em incluir outra rede neural, chamada de rede roteadora (router network), responsável por
determinar o ângulo de rotação do rosto. Para definir o ângulo da face é aplicado a função 5.3
que realiza uma soma ponderada de 36 valores de saída, obtidas através de uma entrada com
400 unidades com outras 15 camadas intermediárias.
(35∑
i=0out puti ∗ cos(i ∗10),
35∑i=0
out puti ∗ si n(i ∗10)
)(5.3)
Após a aplicação da rede roteadora e determinada o ângulo das regiões candidatas
a face, a região é rotacionada em sentido inverso, deixando-a em uma vista frontal (upright
view). A partir deste ponto o funcionamento é exatamente igual ao descrito em (KANADE;
BALUJA; ROWLEY, 1997), a Figura 15 ilustra o funcionamento.
Na subseção 5.1.5 será descrito outro método da abordagem baseada em aparência,
mas com um pouco mais de destaque, por ser utilizado neste trabalho.
5.1.5 Viola-Jones
O método proposto por Viola e Jones (VIOLA; JONES, 2001) introduz um classificador
de objetos com ênfase em detecção de faces. Este processo é aplicado a imagens estáticas e
em escala de cinza, podendo também ser utilizado em aplicações de tempo real. O modelo
5.1. Métodos de detecção de faces 55
Figura 15 – Descrição gráfica do algortimo de detecção de faces rotacionadas.
Fonte: (ROWLEY; BALUJA; KANADE, 1998).
é estruturado em três etapas distintas e complementares: a primeira é a criação da imagem
integral, em seguida vem o uso do algoritmo Adaboost, que usa características Haar-like para
classificação e por último é criado uma estrutura em árvore, comumente denominada como
cascata de classificadores.
A imagem integral corresponde a cada ponto em si que é dado por um somatório
da intensidade de pixel da imagem original. O valor contido em um determinado ponto é a
soma da intensidade dos pixel (soma das linhas e colunas) de todos os outros pixels acima
e a esquerda deste ponto. O processo pode ser visualizado na Figura 16, onde o ponto 1
contém a soma da área do retângulo A, o ponto 2 corresponde a soma dos retângulos A e B,
assim como o ponto 3 corresponde a soma de A e C, já o ponto 4 corresponde a A + B + C +
D - (A + B) - (A + C) + A. A partir da imagem integral, todos processos seguintes são realizado
em sua base.
As características de Haar-like (Haar-like features) são representadas através de re-
tângulos baseados em Haar wavelets, Figura 17. Em Viola-Jones, essas características são
representadas por retângulos que contem regiões, no qual são realizadas somas das áreas
claras, que são subtraídas das regiões escuras. O resultado é o valor encontrado para a ca-
racterísticas de determinada região .
No trabalho de Viola e Jones, inicialmente foi usado quatro tipos de características
apresentadas na Figura 17, (subfiguras 1a, 1b, 2a e 4). Após uma sugestão de Lienhart e
Maydt (LIENHART; MAYDT, 2002), acrescentaram algumas características na Figura 17, (sub-
figuras 1c, 1d, 2b, 2c, 2d, 2e, 2f, 2g, 2h, 3a e 3b) e retiradas a características na Figura 17,
(subfigura 4) substituída pela combinação de Figura 17, (subfiguras 2g e 2e). Pode-se no-
tar algumas características inclinadas à 45°, o que aumenta o desempenho considerando o
número limitado de características da proposta original. A partir de então para incluir es-
sas características inclinadas no processo, calcula-se não só a imagem integral normal, mas
também a imagem integral inclinada (LIENHART; MAYDT, 2002).
56 Capítulo 5. Reconhecimento facial
Figura 16 – Exemplo de imagem integral.
Fonte: (VIOLA; JONES, 2001).
Figura 17 – Haar-like features.
Fonte: (LIENHART; MAYDT, 2002).
No modelo de Viola-Jones é usado um classificador fraco, onde são considerados,
para um conjunto de características, uma paridade e um limiar. Este classificador tenta en-
contrar a característica que tenha o melhor limiar que faz distinção das imagens definidas
como negativas e positivas. Funciona da seguinte maneira, as imagens que forem classifica-
das com o valor abaixo do limiar, é atribuída a hipótese verdadeira em sua paridade.
O classificador é treinado usando o algoritmo Adaboost. para os resultados serem
bons, devem ser submetidos ao treinamento a mesma quantidade de casos positivos e ne-
gativos, todos contendo a mesma escala. Quanto maior for o número de exemplos, melhor
5.1. Métodos de detecção de faces 57
será o desempenho do classificador. Na ordem de milhares de exemplos de treinamento,
geralmente o classificador atinge a precisão máxima.
Após a obtenção do classificador treinado, este passará por um processo de otimi-
zação, tornando a tarefa de classificar mais rápida. Então é classificado um processo que
constrói uma árvore degenerativa de decisão denominada cascata. Na cascata, as classifica-
ções são arranjadas de uma forma que a complexidade de classificação seja crescente. Assim
sendo, em um primeiro estágio são usados classificadores mais genéricos e pouco precisos,
que são sucedidos por classificadores mais específicos nos estágios seguintes. Os casos clas-
sificados como corretos, são analisados nos próximos estágios, até que o classificador do
último estágio tenha feito a classificação correta para um determinado caso. A intenção do
uso destas cascatas é evitar que testes sejam realizados desnecessariamente.
O último passo do método de Viola-Jones é treinar a cascata de classificadores. Aqui
são considerados a taxa mínima de detecção aceitável, a taxa máxima aceitável de falsos po-
sitivos em cada estágio, um conjunto de amostras positivas e negativas e os valores dos falsos
positivos para todas os estágios da cascata, Figura 18. A partir de então a cascata é construída
com a mesma quantidade de estágios que continham na classificação das amostra. A seguir
será abordado o algoritmo de Adaboost.
Figura 18 – Cascata de Classficadores.
Fonte: (MA, 2007).
5.1.5.1 Adaboost
Adaptative Boosting ou simplesmente Adaboost, é um dos melhores algoritmos de
boosting que existe (SUN et al., 2012). Denomina-se Boosting o processo de formar hipóteses
forte (ou classificador forte) a partir de combinação linear de hipóteses fracas (ou classifica-
dor fraco). O motivo de usar vários classificadores fracos e não um único classificador forte,
é que um conjunto de classificadores fracos se tornam no final um classificador forte efetivo,
podendo obter melhores resultados do que se fosse somente um classificador forte. Diz-se
um classificador fraco, aquele que retorna hipóteses com baixo nível de cobertura.
58 Capítulo 5. Reconhecimento facial
A ideia do Adaboost é ponderar a distribuição de pesos no conjunto de exemplos e
modificar esta distribuição no decorrer das iterações do algoritmo. A cada iteração, o pro-
cesso atualiza os índices de distribuição de erros. Quando uma classificação é feita corre-
tamente, recebe um peso menor, quando não, recebe um peso maior. O termo Adaptative,
presente no algoritmo, refere-se a distribuição destes pesos, realizado sobre o desempenho
nos testes de aprendizagem.
A seguir é descrito os passos do algoritmo Adaboost considerando o problema de
classificação binária.
1. Recebe um conjunto de treinamento, onde cada exemplo possui uma classificação
(negativo ou positivo). Ele realiza n iterações, utiliza um classificador fraco em cada
um.
2. O classificador obtém uma hipótese a partir dos exemplos de treinamento a cada ite-
ração, e realiza uma classificação binária (caso positivo, caso negativo)
3. Os erros sobre as hipóteses são calculados tomando por base o conjunto de validação.
Corresponde aos pesos dos falsos positivos e falsos negativos do conjunto de teste.
4. Atribui-se pesos sobre a classificação dos exemplos de treinamento, as classificações
corretas tem seu peso reduzido. No início, todos os exemplos possuem o mesmo peso
(1/n), onde n é o número de exemplos, no final os casos de classificação mais incorre-
tos irão possuir um peso maior.
5. A cada iteração os pesos são normalizados, de forma que a soma de todos os pesos
seja igual a 1.
6. Por fim é criado uma combinação de classificadores fracos que apresentam classifica-
ções positivas, a que apresentaram durante as classificações os menores erros.
5.2 Métodos de extração de características
Após a detecção da face em uma imagem de entrada, esta etapa irá extrair as carac-
terísticas e definirão um rótulo para cada face. Uma face como vimos uma imagem digital
é uma matriz de pixels inicialmente sem nenhum significado. A partir desses dados é possí-
vel extrair algumas informações que possam caracterizar esses dados, dando algum sentido
para a imagem. O termo “caracterizar uma imagem"significa defir alguns atributos ou pro-
priedades que possam a diferenciar (PRATT, 2001).
Diversas técnicas podem ser usadas para caracterizar uma imagem. Normalmente
essas técnicas são divididas em classes genéricas, como cor, forma e textura, e de domínio
específico, extração de impressões digitais, faces humanas (HUANG; RUI; CHANG, 1997).
5.2. Métodos de extração de características 59
Os métodos de extração de características podem ser distinguidos em três catego-
rias: (1) métodos genéricos, baseados em bordas, linhas e curvas; (2) baseado em modelos,
como os métodos usados para detectar características faciais, tais como olhos; (3) métodos
estruturais, que levam em consideração o limite geométrico das características individuais.
As próximas subseções irão tratar das principais técnicas de extração de característi-
cas, focadas na extração de características faciais.
5.2.1 Independent component analysis (ICA)
Análise de componentes independentes é uma técnica para a extração de variáveis
independentes estatisticamente a partir de um determinado modelo de mistura de fon-
tes (BELL; SEJNOWSKI, 1995). O ICA foi aplicado com sucesso em muitos problemas diferen-
tes, tais como em análise de dados de magnetoencefalograma (MEG) e eletroencefalograma
(EEG), encontrando fator oculto em dados financeiros e em reconhecimento de facial (HYVÄ-
RINEN; OJA, 2000).
O ICA tem por objetivo encontrar uma transformação linear para os dados de en-
trada, usando uma base estatisticamente independente possível. Está intimamente relaci-
onado com problemas do tipo blind source separation (BSS), onde o objetivo é decompor
um sinal em uma combinação linear dos sinais desconhecidos independentes. Seja s um
vetor de origem desconhecida e x um vetor de misturas observadas. Se A é uma matriz de
misturas observadas, então temos:
x = As (5.4)
Assume-se que os sinais de fonte são independentes uns dos outros e a matriz de
mistura A é inversível. Com base nessas premissas e as misturas observadas, o algoritmo
ICA tentar encontrar a matriz de mistura A ou matriz de separação W de tal forma que:
u =W x =W As (5.5)
seja uma estimativa dos sinais de fonte independentes (CARDOSO, 1997). Este processo é
ilustrado na Figura 19.
O ICA pode ser considerado uma generalização do Principal Components Analysis
(PCA). O PCA descorrelaciona os dados de treino, de modo que a amostra de covariância dos
dados de treino sejam zero. A brancura é um forte restrição que requer tanto descorrelação
e variância unitária. A transformada de whiteness pode ser determinada como D−12 RT , onde
D é matriz diagonal de autovalores e R é a matriz de autovetores ortogonais da matriz de co-
variância da amostra. Aplicando o branqueamento nas misturas observadas, então, resulta
60 Capítulo 5. Reconhecimento facial
Figura 19 – Modelo de separação de fonte a cega.
Fonte: (CARDOSO, 1997).
no sinal de fonte apenas se há uma transformação ortogonal. ICA vai um passo além para
que ele transforme os dados clareados em um conjunto de sinais estatisticamente indepen-
dentes. Os sinais são estatisticamentes independentes quando (OJA; HYVARINEN; KARHUNEN,
2001):
fu(u) =Πi fui (ui ) (5.6)
onde fu é a função densidade de probabilidade de u, ou seja, os vetores u são uniforme-
mente distribuídos. Infelizmente, pode não haver qualquer matriz W que satisfaça total-
mente a condição de independência, e não existe expressão de forma fechada para encon-
trar W . Em vez disso, existem vários algoritmos que interativamente se aproximam de W ,
de modo a maximizar indiretamente a independência.
Uma vez que é difícil maximizar a condição de independência acima diretamente,
todos os algoritmos comuns ICA reformulam o problema para iterativamente otimizar sua-
vemente uma função cujas globais ótimas ocorre quando os vetores de saída u são indepen-
dentes, então temos alguns algoritmos que tentam o otimizar.
Por exemplo, InfoMax se baseia na observação de que a independência é maximizada
quando a entropia H(u) é maximizada, em que:
H(u) ≡−∫
fu(u)l og fu(u)du (5.7)
InfoMax executa a ascensão de gradiente nos elementos wi j , de modo a maximizar a
H(u). O algoritmo JADE minimiza a curtose de fu(u) por meio de uma diagonalização con-
junta dos cumulantes de quarta ordem, pois minimizando a curtose também irá maximizar
independência estatística.
FastICA é sem dúvida o mais geral, maximizando:
5.2. Métodos de extração de características 61
J (y) ≈ c[E G(y)−E G(v)
]2 (5.8)
onde G é uma função não-quadrático, v é uma variável aleatória gaussiana, e c é qualquer
constante positiva, uma vez que pode-se mostrar que qualquer função maximizada desta
forma também irá maximizar sua independência (HYVÄRINEN, 1999).
Infomax, JADE e FastICA maximizam as funções com as mesmas globais ótimas (CAR-
DOSO, 1997) (HYVÄRINEN, 1999). Como resultado, todos os três algoritmos devem convergir
para a mesma solução para qualquer conjunto de dados. Na prática, as diferentes formu-
lações de restrição de independência são projetadas para permitir técnicas de aproximação
diferentes, e os algoritmos encontram soluções diferentes por causa das diferenças entre es-
sas técnicas. Estudos empíricos limitados sugerem que as diferenças de desempenho entre
os algoritmos são menores e dependem do conjunto de dados. Por exemplo, Zibulevsky e
Pearlmutter testaram todos os três algoritmos sobre um problema de separação simulado
blind-source, e relataram apenas pequenas diferenças na taxa de erro relativo: 7,1% para
Infomax, 8,6% para FastICA, e 8,8% para JADE (ZIBULEVSKY; PEARLMUTTER, 2000).
5.2.2 Linear discriminant analysis (LDA)
Também conhecido com discriminante linear de Fisher ou simplesmente método
Fisherface. O modelo foi desenvolvido na década de 30, mas somente recentemente tem
sido usado para o reconhecimento de objetos. Este método é específico à classe, trabalha
com rótulos, ou seja, ao identificar as faces das pessoas e dizer quem as são, estas são agru-
padas por pessoa, cada agrupamento feito é denominado classe. Este método tenta modelar
uma dispersão dos pontos e visa uma maior precisão para a classificação, ao estimar uma li-
nha em uma determinada superfície que separa satisfatoriamente as classes (BELHUMEUR;
HESPANHA; KRIEGMAN, 1997).
O algoritmo inicia-se obtendo as matrizes de dispersão inter-classes e intra-classes.
É realizado uma projeção, maximizando a dispersão entre classes e minimizando-as dentro
das classes, é formulado pela razão entre as determinantes de cada matriz. A dispersão intra-
classe (within class) é definida como:
SW =c∑
j=1
|T j |∑i=1
(x ji −µ j )T , (5.9)
onde, x ji é o i-ésimo exemplo da classe j , µ j é a média da classe j , c o número de
classes, e∣∣T j
∣∣ o número de exemplos da classe j .
A dispersão inter-classes (between class) é definida como:
62 Capítulo 5. Reconhecimento facial
Sb =c∑
j−1(µ j −µ)∗ (µ j −µ)T , (5.10)
em que µ é a média entre todas as classes.
A maximização da medida inter-classes e a minimização da intra-classes são dadas
ao maximizar a taxa det (Sb)/det (Sx). A projeção é então encontrada ao resolver a equação
Sb = WλSwW , onde W é a matriz de autovetores generalizados e associados com λ, que é
a matriz diagonal de autovalores. As matrizes são limitadas à ordem c −1, c é o número de
classes.
5.2.3 Elastic bunch graph matching (EBGM)
O EBGM é um modelo de reconhecimento facial baseado em características que tem
em sua essência uma estrutura que considera o objetos em diferentes poses, escalas, rotação
e iluminação, além de deformar no plano da imagem. (WISKOTT et al., 1997).
É fato que as faces dos seres humanos possuem a mesma construção, ou seja, como
visto anteriormente, as faces humanas possuem um padrão, dois olhos, uma boca, um nariz.
O algoritmo EBGM pressupõe que a posição de certos pontos (fiducial points) são conheci-
dos e armazena a informação a partir das faces usando convolução de pixels por meio de
Wavelets de Gabor (Gabor wavelets) de tamanhos diferentes. Ao treinar, as coordenadas dos
pontos são informados manualmente. O resultado final destas convoluções são chamadas
de jet do ponto.
A partir deste treinamento, a face é tratada como um grafo, onde os nós rotulados pe-
los jets são as características e as arestas são valoradas pelas distância entre esses jets. Esta
estrutura é chamada de Face Bunch Graph (FBG), este é o modelo usado para identificar
todos os indivíduos neste tipo de abordagem. Após o treinamento, para cada imagem de en-
trada é estimado seus fiducial points, com base no grafo gerado. Os jets são então extraídos
e é gerado o seu grafo de face. Após isto este grafo é comparado com todos os outros grafos
presentes no FBG usando medidas de similaridade para identificar o indivíduo representado
pelo grafo (STERGIOU, 2009). A Figura 20 ilustra os passos do método EBGM.
5.2.4 Principal components analysis (PCA)
Esta é a abordagem para extração de características usada neste trabalho. O PCA é
um modelo matemático que faz uso uma transformação ortogonal a fim de converter um
conjunto de variáveis que podem ser correlacionadas a um conjunto de valores de variáveis
linearmente não-correlacionadas que denomina-se componentes principais. O método ga-
rante que o número de componentes principais será menor ou igual ao número de compo-
nentes originais. A transformação é definida de tal forma que o primeiro componente tenha
5.2. Métodos de extração de características 63
Figura 20 – Passos do algoritmo EBGM.
Fonte: (STERGIOU, 2009).
a maior variância possível, e os componentes seguintes, tenha a máxima variância sobre a
restrição de ser ortogonal aos componentes anteriores (JOLLIFFE, 2005).
Em 1987 Sirovich e Kirby (KIRBY; SIROVICH, 1990) desenvolveram uma abordagem que
utiliza o PCA para representar de forma eficiente as fotos de faces, mas foi por Turk e Pen-
tland (TURK; PENTLAND, 1991) que essa técnica obteve sucesso na tecnologia de reconheci-
mento facial, é conhecido amplamente como Eigenface. O Eigenface é dividido nos seguintes
passos, Figura 21.
Figura 21 – Passos do algoritmo Eigenface.
Fonte: (TURK; PENTLAND, 1991).
Primeiramente é necessário um conjunto de faces para ser processado, essas faces
devem possuir o mesmo tamanho e as faces devem estar alinhadas, é o que denomina-se
base de treinamento (Passo 1). Em seguida é realizado o cálculo da face média desta base
e subtraído de cada imagem da base(Passo 2). O resultado da subtração representa a dife-
rença entre cada imagem da base e a imagem média, e isto é usado para montar a matriz de
covariância (Passo 3). Por fim, é feita a redução de dimensionalidade nesta matriz, através
do PCA, que cria uma nova matriz os autovalores e autovetores mais significativos da matriz
de covariância (Passo 4). Cada passo será descrito a seguir.
5.2.4.1 Conjunto de faces
O primeiro passo é onde se define um conjunto contendo imagens de faces dife-
rentes. É necessário que as imagens tenham as mesmas características, como tamanho
64 Capítulo 5. Reconhecimento facial
H xW pi xel s (onde H é a altura e W a largura), condições de iluminação e elementos fa-
ciais aninhados. Esse conjunto normalmente é formado por imagens em escala de cinza, e
o denominamo como conjunto de treinamento, um exemplo desse conjunto é ilustrado na
Figura 22.
Figura 22 – Conjunto de imagens de treino.
Fonte: O próprio autor.
O Eigenface analisa a imagem como um todo, ou seja, cada imagem é transformada
em um vetor de pixels (BORDINI; KOTOVICZ, 2010). Para isto é determinado a dimensão desta
imagem por meio do cálculo: N = HW . Após a cálculo um vetor Γi de tamanho N é criado,
este vetor representa uma imagem da base. O i coresponde ao número da imagem, ver
Figura 23.
Figura 23 – Vetor Γi .
Fonte: O próprio autor.
Com isso, no final deste passo tem-se um conjunto R, com M imagens, ou seja:
R = Γ1,Γ2,Γ3, ...,ΓM (5.11)
5.2.4.2 Localizar face média
A semelhança facial existente entre um indivíduo e outro, dá a possibilidade de criar
um padrão facial. Para encontrar um padrão no conjunto R acima, é feito uma média arit-
mética do somatório dos vetores das faces. O vetor é definido por:
5.2. Métodos de extração de características 65
Γ= 1
M
∑iΓi (5.12)
Sendo então R um conjunto de M faces, estima-se os espaços faciais por meio da
face média Γ, podemos observar um exemplo na Figura 24.
Figura 24 – Face média.
Fonte: O próprio autor.
Com a localização da face média, a subtração de cada face do conjunto R é realizado,
com isso pode-se identificar cada características que discriminam cada face. A operação é
representada a seguir:
φi = Γi − Γ
5.2.4.3 Calculo da matriz de covariância
É calculado a matriz de covariância a partir das faces subtraídas. A matriz A tem a
seguinte forma:
A = (φi , ...,φM )
As Figuras 25 e 26 ilustram a transposição de A, ou seja, AT , onde na Figura 25 temos
uma matriz A e na Figura 26 temos a matriz transposta de A. Assim podemos calcular a
matriz de covariância, conforme a Equação 5.13, resultando em uma matriz N xN .
C = 1
MA AT (5.13)
5.2.4.4 Redução da dimensionalidade da matriz
Agora é aplicado a redução da dimensionalidade na matriz A, por meio do método
de Análise de Componentes Principais. O PCA também necessita da matriz de covariância C ,
que foi encontrada na etapa anterior. No uso do PCA é gerada uma matriz P , que é formada
66 Capítulo 5. Reconhecimento facial
Figura 25 – Matriz de A.
Fonte: O próprio autor.
Figura 26 – Matriz transposta de A.
Fonte: O próprio autor.
5.3. Métodos de comparação de distância 67
pelos maiores autovetores ligado aos maiores autovalores da matriz C . Na Equação 5.14 é
gerada a matriz de Eigenfaces E , que contém as características que são comuns entre as faces
e as principais características de cada uma das faces da base de treinamento. Na Figura 27
são mostradas as Eigenfaces resultados do final do processo.
EN xM = AN xM ∗PM xM (5.14)
Figura 27 – Eigenfaces resultantes do conjunto.
Fonte: (TURK; PENTLAND, 1991).
É aplicado a Equação 5.15 nas Eigenfaces encontradas, que mostra como uma ima-
gem pode ser representada no espaço de faces. Seja ω j , a projeção de ϕ j , temos a projeção
de Γ no espaço por meio de Γ.
Γ=φ+K∑
j=1ω jϕ j (5.15)
Os coeficientes de Γ no espaço de faces são representados porΩ= |ω1, ...,ωk |.
5.3 Métodos de comparação de distância
Nas imagens processadas com o PCA, normalmente para se comparar uma imagem
com a outra, emprega-se a medição do vizinho mais próximo. aquela imagem de teste que
a distância for menor em relação às de treinamento pode-se dizer que é a imagem mais
semelhante. Para isso é comum utilizar alguns métodos de cálculo de Distância, como a
68 Capítulo 5. Reconhecimento facial
Euclidiana, Mahalanobis, Mahalanobis ponderada e Erro Médio Quadrático, esses métodos
serão descritos a seguir, considerando que m ≤ n, x é uma imagem de teste e y uma imagem
de treinamento, todas projetadas no subespaço gerado pelo PCA (AMARAL; THOMAZ, 2011).
• Distância Euclidiana:
d(x, y) =√
m∑i=1
(xi − yi )2 (5.16)
• Mahalanobis:
d(x, y) = (x − y)C−1(x − y)T (5.17)
• Mahalanobis ponderada:
d(x, y) =−m∑
i=1xi yi
√1/ωi (5.18)
• Erro médio quadrático modificado:
d(x, y) =∑m
i=1
√1/λi (xi − yi )2√∑m
i=1 x2i
∑ni=1 y2
i
(5.19)
69
CA
PÍ
TU
LO 6
METODOLOGIA
Este capítulo apresenta a metodologia usada para o desenvolvimento e teste de al-
gumas etapas do reconhecimento facial. Durante a elaboração do trabalho, constitui-se um
banco de faces próprio, contendo faces de alguns voluntários que autorizaram o uso de suas
imagens neste e possíveis outros trabalhos no âmbito acadêmico.
Neste trabalho usou-se duas etapas no processo de identificação de indivíduos, a
primeira foi a aquisição do banco de faces e a segunda foi a de reconhecimento facial. O re-
conhecimento facial é dividido em quatro etapas básicas e complementares: a segmentação
da pele, que busca eliminar fundos complexos deixando somente a região de pele para que
na próxima etapa, a de detecção de faces, o algoritmo busque a face mais precisamente. Na
caracterização de faces extrai-se as informações relevantes desta área demarcada e, por fim
realiza-se a comparação, recuperação e identificação de indivíduo.
6.1 Criação do Banco de Faces
Optou-se por criar um banco de faces, para testar e treinar este modelo de reconhe-
cimento de faces. As imagens foram adquiridas por meio de uma webcam comum de laptop,
na resolução de 640x480px sob ambiente fechado, com iluminação predominantemente ba-
seada em luz fluorescente. Em algumas imagens foi utilizado iluminação por led incidente
na face.
Um pequeno programa foi criado para capturar estas imagens e as armazená-las em
um banco de dados. O programa foi criado em Adobe Flash, pela facilidade de integração
com o PHP, que por sua vez tem a comunicação com bancos de dados simplificados. Neste
caso optou-se por usar o Sistema de Gerenciamento de Banco de Dados MySQL.
70 Capítulo 6. Metodologia
No ambiente do programa de captura tem 4 áreas, Figura 28. A área 1 corresponde
a imagem da webcam em tempo real, na área 2 apresenta-se a última imagem capturada, já
a área 3, mostra as posições e modos de captura e por fim a área 4 que são alguns campos
para identificar a pessoa presente.
Figura 28 – Programa para captura de imagens.
Fonte: O próprio autor.
6.1.1 Variações de poses nas imagens capturadas
Para testar a eficiência do reconhecimento facial implementado e ter uma gama maior
de poses, iluminação e uso de óculos, fizemos a captura de sete imagens de cada voluntário.
Imagens da face frontal, sem óculos Figura 29a, com óculos Figura 29b e com iluminação
incidente Figura 29c, face levemente girada para a esquerda com uso Figura 30a e não Fi-
gura 30b de óculos e para a face girada para a direita, novamente com uso Figura 31a e não
Figura 31b uso de óculos. O programa de captura permite que se capture cada face indepen-
dentemente, para que não se misture as variações das faces no banco, ver área 3 da Figura 28.
O Banco de faces foi constituído com imagens de 30 voluntários ver Apêndice A, no
total foram capturadas 217 imagens nas diferentes poses, iluminação incidente e uso ou
não de acessório. É importante informar que as imagens das pessoas reproduzidas neste
trabalho, foram autorizadas por seus donos, modelo no Anexo A.
6.1.2 Gerenciador das imagens faciais
Com o intuito de organizar e catalogar as imagens capturadas, um gerenciador foi
desenvolvido, nele há a possibilidade de listar as faces por tipos, Figura 32, FSO, ESO, etc.
6.2. Segmentação de pele 71
Figura 29 – Variação frontal, iluminação e uso de óculos.
(a) Face frontal sem óculos(FSO).
(b) Face frontal com ócu-los (FCO).
(c) Face frontal com ilumi-nação incidente (FCI).
Fonte: O próprio autor.
Figura 30 – Variação esquerda, com e sem uso de óculos.
(a) Face esquerda semóculos (ESO).
(b) Face esquerda comóculos (ECO).
Fonte: O próprio autor.
Figura 31 – Variação esquerda, com e sem uso de óculos.
(a) Face direita sem óculos(DSO).
(b) Face direita com óculos(DCO).
Fonte: O próprio autor.
Também é possível realizar buscas por meio do identificador do indivíduo, visualizar suas
informações Figura 34, face final gerada e também a geração de arquivos para treinamento
e teste Figura 33.
6.2 Segmentação de pele
Com a intenção de diminuir os falsos positivos resultantes de uma detecção de fa-
ces, uma etapa de segmentação de pele foi incluída no processo. Na etapa de detecção, o
72 Capítulo 6. Metodologia
Figura 32 – Mostrando imagens por tipo.
Fonte: O próprio autor.
processamento é feito apenas na região onde há realmente a face. A partir dessa etapa todo
processamento é realizado utilizando a linguagem de programação C++ com uso da biblio-
teca de Visão Computacional OpenCV1.
Dado uma imagem colorida de entrada, no sistema RGB, esta irá ser convertida para
o sistema de cores HSV, e realizado um processamento buscando no canal de cores Hue,
pixels que estejam entre 3 e 55, que foi o melhor limiar encontrado para definir a pele cau-
casiana nas condições de iluminação presentes no local da captura das imagens.
Após realizada a segmentação da pele, tem-se uma espécie de máscara que é suavi-
zada usando o parâmetro de suavização médio de 3, que pode ser aplicada sobre a imagem
original formando uma imagem passível de busca por face, o processo de segmentação pode
1opencv.org/
6.3. Detecção da face 73
Figura 33 – Módulo do gereciador que gera arquivos de teste e treinamento.
Fonte: O próprio autor.
ser visualizado na Figura 38.
6.3 Detecção da face
Na etapa de detecção de faces, é realizado a busca por uma possível face na imagem
de saída da segmentação. Neste trabalho, como dito anteriormente, foi usado o algoritmo
de Viola-Jones. Ao identificar a face a mesma é demarcada e recortada para que na etapa
seguinte seja feito a extração de características somente na região da face. Como no banco
de faces existem diferentes pessoas e as imagens não foram capturadas na mesma distân-
cia, um ajuste é realizado para que a imagem da face sempre encaixe em um quadrado de
150x150pixels Figura 36. Quanto maior a padronização das imagens, maior será a eficiência
do algoritmo.
Com o intuito de corrigir a iluminação presente nas imagem é aplicado uma correção
Gamma (Figura 37), A correção é dada por cor r ecao = i mag em1
g amma . Onde Gamma varia
de 1 à 3, neste caso foi usado o gamma no valor intermediário.
6.4 Caracterização das faces
Com todas as imagens das faces já detectadas, é hora de caracterizá-las. O algoritmo
escolhido foi o Eigenfaces, que foi descrito anteriormente. As imagens são convertidas para
escala de cinza nesta etapa, e tem-se imagens no tamanho 150x150pixels, que dá 22.5 mil
pixels. Essa dimensão não é de total aproveitamento, por isso o uso do PCA, reduzindo aos
componentes que realmente tem algo de importante.
O Eigenface projeta todas as amostras de treinamento em um único subespaço, ou
74 Capítulo 6. Metodologia
Figura 34 – Mostrando informações do usuário.
Fonte: O próprio autor.
seja, no final do processo, terá somente uma imagem média contendo todas as imagens de
treinamento.
O uso do PCA tem um problema ao calcular a matriz de covariância, pois quando
trabalha-se com um banco de imagem grande, por exemplo, com 400 imagem, e todas com
100x100px, tem-se a matriz de covariância de tamanho 10000 x 400, ou seja, no final terá
uma matriz de 10000x10000 que não é viável. Para isto é aplicado uma pequena alteração,
sabe-se que em uma matriz M xN com M > N somente pode ter N −1 não-zero autovalores.
A partir disto, é possível realizar a decomposição S = X T X do tamanho N xN deste autovalor,
6.4. Caracterização das faces 75
Figura 35 – Processo de segmentação da pele.
Fonte: O próprio autor.
Figura 36 – Processo de detecção da face.
Fonte: O próprio autor.
Figura 37 – Correção gamma.
Fonte: O próprio autor.
fazendo:
76 Capítulo 6. Metodologia
X T X vi =λi vi (6.1)
usando o autovetor original S = X X T , pode-se realizar uma multiplicação à esquerda da
matriz:
X X T (X vi ) =λi (X vi ) (6.2)
Ao final do processo a matriz toda é salva em uma estrutura. Neste trabalho a estru-
tura tem as seguintes informações, para cada indivíduo processado:
• Número de Autovalores;
• Número de imagens do indivíduo;
• Identificador do indivíduo;
• A quantidade de linhas e colunas da matriz de autovalores;
• A matriz de autovalores;
• A matriz de projeção do banco de teste.
Esta estrutura é gerada usando XML. Um exemplo desta estrutura pode ser visuali-
zada no Código 2
6.5 Recuperação, identificação dos indivíduos
Após a segmentação, detecção da face e caracterização destas faces encontradas, é
nesta etapa que ao entrar com um novo conjunto de imagens, irá realizar todo o processo
anterior por fim comparar cada nova imagem processada com todo banco de treinamento,
salvo em um arquivo XML. Comparamos duas medidas para o cálculo de distância entre dois
pontos: Mahalanobis e Euclidiana. Quanto menor a distância em um ponto treinado com
um ponto de teste, mais semelhante os indivíduos são.
6.5. Recuperação, identificação dos indivíduos 77
Código 2 – Estrutura XML usada para o armazenamento dos autovalores
<?xml version=" 1.0 " ?><opencv_storage><nEigens>9</nEigens><numeroDeImagens>10</numeroDeImagens><trainPersonNumMat type_id="opencv−matrix ">
<rows>1</rows><cols>10</ cols><dt> i </ dt><data>
5 5 5 5 5 5 5 5 5 5</ data></trainPersonNumMat>
<eigenValMat type_id="opencv−matrix "><rows>1</rows><cols>9</ cols><dt> f </ dt><data>
4.67972517e−001 2.89720386e−001 7.21788034e−002 5.86486608e−0023.64332646e−002 3.12752388e−002 1.86046492e−002 1.65709034e−0028.59555695e−003</ data></eigenValMat>
<projectedTrainFaceMat type_id="opencv−matrix "><rows>10</rows><cols>9</ cols><dt> f </ dt><data>
−4.49698700e+002 −1.56734387e+003 −5.62920685e+001 1.27873975e+003. . .1.39969215e−003 1.43714598e−004 8.14224128e−004 1.56219804e−0031.54928188e−003 8.26015603e−004 1.46922655e−003 3.02715431e−0041.47112727e−003 8.78846680e−004 1.79424082e−004 9.12977441e−004</
data></ eigenVect_8></ opencv_storage>
79
CA
PÍ
TU
LO 7
TESTES E RESULTADOS
Neste capítulo será apresentado como foram realizados os testes e reportado qual a
eficiência de reconhecimento facial da metodologia proposta.
7.1 Testes de segmentação de peles
Os testes realizados para a segmentação de pele, foram basicamente para encontrar
um limiar que fosse bom o suficiente para determinar as principais faixas de tons de pele
sem interferir na detecção da face e a eliminação de falsos positivos. Como dito anterior-
mente, variou-se somente o canal de cores Hue e o limiar l encontrado foi entre 5 e 55, ou
seja, 5 ≤ l ≤ 55. Qualquer pixel encontrado nesta faixa é considerado como tom da cor da
pele. Alguns exemplos de segmentação de pele com diferentes limiares pode ser encontrada
na Figura 38.
Figura 38 – Resultados na segmentação de pele.
Fonte: O próprio autor.
Nesses testes foram consideradas 251 imagens contidas no banco de faces criado. No
80 Capítulo 7. Testes e Resultados
teste variou-se somente o limiar. A Tabela 1 mostra os 15 testes realizados, com a informação
da quantidade de faces encontradas a partir da imagem gerada a partir do limiar da detec-
ção de pele. O total de faces encontradas contém também a quantidade de falsos positivos,
assim, está presente também a quantidade correta de acertos e erros, além da quantidade de
imagens onde não se detectou as faces. Pode-se observar melhor os dados desta tabela na
Figura 39a, onde 39a ilustra a quantidade de faces encontradas por limiar, em 39b, a quanti-
dade de acertos, a quantidade de erros está em 39c e por fim a quantidade de imagens que
não se detectou faces 39d.
Tabela 1 – Comparação entre os diferentes limiares testados
Limiar Faces detectadas Certos Erros (falsos positivos) Não detectadassem limiar 223 191 32 600-30 229 209 20 420-40 236 208 18 430-50 206 201 5 500-60 212 198 14 530-70 231 196 35 555-25 120 108 12 1435-35 204 198 6 535-45 204 198 6 535-55 223 215 8 365-65 226 197 29 5410-40 215 199 16 5210-50 207 194 13 5710-60 221 193 28 5810-70 216 180 36 71
7.2 Reconhecimento dos indivíduos
Após a escolha do limiar melhor que representasse a cor da pele, e localizado as fa-
ces, realizou-se três experimentos de identificação de indivíduos. Somente as faces frontais
foram utilizadas, pois não foi possível usar as faces giradas, pela pouca quantidade de faces
deste tipo de cada pessoa, que totalizava duas, uma da esquerda e outra da direita.
Todos os experimentos continham faces de todas as pessoas no banco, sendo 30 ima-
gens de treinamento e 60 imagens de teste. Como dito anteriormente comparamos cálculos
de distância: Euclidiana e de Mahalanobis.
No primeiro experimento, o sistema foi treinado com as imagens frontais sem ilumi-
nação e sem o uso de óculos, e a busca realizada com as imagens que continham óculos e
iluminação incidente. Neste experimento 67,24% das imagens comparadas com a distância
de Mahalanobis obtiveram sucesso na identificação, enquanto com a distância Euclidiana
obteve uma taxa de acerto com 58,62%.
7.2. Reconhecimento dos indivíduos 81
Figura 39 – Resultados obtidos pela variação de limiares.
(a) Total de faces encontradas. (b) Total de acertos
(c) Total de erros (d) Faces não encontradas
Fonte: O próprio autor.
Já no segundo experimento, treinou-se o sistema com as imagens frontais com o uso
de óculos e a identificação foi realizada com as imagens de face sem e com iluminação inci-
dente. Neste experimento o resultado com o cálculo da distância de Mahalanobis alcançou
uma taxa de acerto de 77,59%, enquanto que o cálculo da distância Euclidiana obteve uma
taxa de acerto um pouco mais baixa, de 74,14%.
O último experimento consistiu em treinar o sistema com as imagens capturadas
com a iluminação incidente no rosto e a busca feita com as imagens sem iluminação e com
o uso de óculos. Os resultados para o cálculo de Mahalanobis alcançou uma taxa de acerto
de 63,80% e o Euclidiano alcançou a taxa de 53,45% de identificação dos indivíduos.
Os resultados dos experimentos são sumarizados pela Tabela 2. Nota-se que com o
cálculo da distância usando o método de Mahalanobis, os resultados foram melhores do que
com o cálculo de distância Euclidiana.
Na Figura 40 ilustra-se o acerto do indivíduo usando os cálculos de distância de Eu-
clides 40a e de Mahalanobis 40b, em ambos os casos o indivíduo 43 foi identificado com
êxito, observe que como são cálculos distintos, as distâncias entre ambas são bem diferen-
tes.
Na Figura 41 mostra um caso onde o mesmo indivíduo 47 não foi identificado com
82 Capítulo 7. Testes e Resultados
Tabela 2 – Resultados da identificação dos indivíduos, com uso de dois modelos de cálculo de distância
Exp. Conj. de Treinamento Conj. de Teste Euclidiana Mahalanobis1 faces com óculos faces com iluminação e sem
iluminação74,14% 77,59%
2 faces com iluminação faces com óculos e sem ilu-minação
53,45% 63,80%
3 sem iluminação faces com óculos e ilumina-ção
58,62% 67,24%
Figura 40 – Comparação de um mesmo indivíduo usando técnicas diferentes, êxito em ambas.
(a) Comparação com uso da distância Euclidiana.
(b) Comparação com uso da distância de Mahalanobis.
Fonte: O próprio autor.
uso da distância Euclidiana 41a. Este indivíduo estava na 5a posição dos indivíduos mais
semelhantes, e foi identificado com Mahalanobis 41b.
Já na Figura 42, em 42a mostra que o indivíduo 39 foi identificado com Euclides,
porém em Mahalanobis seria encontrado só na segunda menor distância 42b.
Há também casos onde a distância entre sua imagem estava muito distante da sua
imagem correta, um caso pode ser visualizado na Figura 43. Nesta existiria 22 indivíduos
mais parecidos com a pessoa 46.
Com isso podemos perceber que os resultados são bons, principalmente no uso do
Mahalanobis, que obteve taxas acima de 60% em todos os testes.
7.2. Reconhecimento dos indivíduos 83
Figura 41 – Comparação de um mesmo indivíduo usando medidas de distância diferentes.
(a) Comparação com uso da distância Euclidiana.
(b) Comparação com uso da distância de Mahalanobis.
Fonte: O próprio autor.
Figura 42 – Comparação de um mesmo indivíduo usando técnicas diferentes, erro no Mahalanobis.
(a) Comparação com uso da distância Euclidiana.
(b) Comparação com uso da distância de Mahalanobis.
Fonte: O próprio autor.
84 Capítulo 7. Testes e Resultados
Figura 43 – Um caso onde o indivíduo alvo estaria muito distante da sua imagem correta.
Fonte: O próprio autor.
85
CA
PÍ
TU
LO 8
CONCLUSÃO
O reconhecimento de faces tem se tornado bastante importante nos últimos anos,
principalmente quando se fala no uso em sistemas de segurança e aplicações sociais, que
auxilia e muito a identificação de pessoas por imagem, tanto para autorizar acesso quanto
na busca de pessoas desaparecidas, criminosos, rotulação fotos de pessoas em redes sociais.
A necessidade de identificar os indivíduos, melhorando e criando técnicas mais eficazes,
tem alavancado as pesquisas em reconhecimento de faces.
Diante de muitas técnicas para o reconhecimento de faces, estudou-se neste traba-
lho métodos nas três principais etapas, na detecção, caracterização e recuperação de face.
Além disso um pré processamento foi realizado, com o intuito de minimizar a taxa de falsos
positivos, o que em um sistema automático de reconhecimento de pessoas, pode aumentar
a taxa de sucesso.
Neste trabalho, apresentou-se um sistema de reconhecimento facial através da seg-
mentação de pele, detecção da face por meio do método de Viola-Jones a extração de ca-
racterísticas usando Análise de Componentes Principais e por fim comparando imagens da
face por meio de dois métodos, distância Euclidiana e de Mahalanobis. Um banco de faces
também foi constituído, por meio de imagens de 30 voluntários.
Realizou-se um experimento para buscar um limiar que fosse bom o suficiente para
destacar a pele no banco de dados criado. Neste experimento, foi verificado que o limiar de
5 à 55 obteve o melhor resultado, destacando a pele e evitando falsos positivos.
Já na identificação de indivíduos realizou-se três experimentos com uso de dois mé-
todos de distância, resultando em seis resultados finais. O melhor resultado, dado pelo ex-
perimento 2, onde o sistema foi treinado com faces com óculos e testado com faces com
iluminação incidente e normal, obteve acerto de 77,59%. No geral os testes que usavam
86 Capítulo 8. Conclusão
Mahalanobis para comparação tiveram maior sucesso.
Apesar de ter tido bons resultados, ainda é necessário: O estudo de mais técnicas
em todas as etapas para aumentar a taxa de reconhecimento, propor soluções que eliminem
a detecção de faces em locais errados, reconhecer as pessoas com imagens em perfil. En-
fim, o reconhecimento de faces é um estudo complexo e existem muitos detalhes a serem
estudados e explorados em trabalhos futuros.
8.1 Trabalhos Futuros
Este trabalho apresentou conceitos sobre o reconhecimento facial, por meio da in-
vestigação de assuntos, métodos e técnicas e pela implementação de um modelo para a
identificação dos indivíduos. Além disso, constitui-se um banco de faces que pode ser usado
posteriormente por outros pesquisadores. Porém, muitos pontos ainda não foram explora-
dos, pela complexidade dessa aplicação. Então, a seguir será levantando alguns pontos que
serão investigados em trabalhos futuros:
• Aumento do banco de faces, incluindo mais usos de acessórios, poses, iluminação e
oclusão de regiões da face;
• Implementar outros métodos de detecção da face;
• Melhorar o sistema de segmentação de pele;
• Implementar outros métodos de classificação de faces;
• Criar um sistema de reconhecimento de faces em tempo real;
• Estimar poses dos indivíduos;
• Estimar gênero dos indivíduos.
87
REFERÊNCIAS
AMARAL, V. do; THOMAZ, C. E. Extração e comparação de características locais e globaispara o reconhecimento automático de imagens de faces. 2011. Citado na página 67.
AZEVEDO, E.; CONCI, A. Computação gráfica: teoria e prática. [S.l.]: Elsevier, 2003. Citado 5vezes nas páginas 41, 42, 43, 44 e 45.
BELHUMEUR, P.; HESPANHA, J.; KRIEGMAN, D. Eigenfaces vs. fisherfaces: Recognitionusing class specific linear projection. Pattern Analysis and Machine Intelligence, IEEE Tran-sactions on, IEEE, v. 19, n. 7, p. 711–720, 1997. Citado 2 vezes nas páginas 47 e 61.
BELL, A. J.; SEJNOWSKI, T. J. An information-maximization approach to blind separationand blind deconvolution. Neural computation, MIT Press, v. 7, n. 6, p. 1129–1159, 1995. Ci-tado na página 59.
BHUIYAN, M. et al. Face detection and facial feature localization for human-machine inter-face. NII Journal, Wiley, v. 5, n. 1, p. 25–39, 2003. Citado 2 vezes nas páginas 51 e 52.
BLEDSOE, W. The model method in facial recognition. Panoramic Research Inc., Palo Alto,CA, Rep. PR1, v. 15, 1966. Citado na página 47.
BORDINI, C.; KOTOVICZ, G. Reconhecimento Facial com Processamento de Imagens. Mono-grafia (Graduação) — Universidade Tecnológica Federal do Paraná, Curitiba, 2010. Citadona página 64.
BRUNER, J.; TAGIURI, R. The perception of people. Handbook of Social Psychology, v. 2, p.634–654, 1954. Citado na página 47.
CARDOSO, J.-F. Infomax and maximum likelihood for blind source separation. Signal Pro-cessing Letters, IEEE, IEEE, v. 4, n. 4, p. 112–114, 1997. Citado 3 vezes nas páginas 59, 60e 61.
COX, I.; GHOSN, J.; YIANILOS, P. Feature-based face recognition using mixture-distance. In:IEEE. Computer Vision and Pattern Recognition, 1996. Proceedings CVPR’96, 1996 IEEE Com-puter Society Conference on. [S.l.], 1996. p. 209–216. Citado na página 47.
DARWIN, C. The expression of the emotions in man and animals. [S.l.]: D. Appleton and com-pany, 1874. Citado na página 47.
ETEMAD, K.; CHELLAPPA, R. Discriminant analysis for recognition of human face images.JOSA A, Optical Society of America, v. 14, n. 8, p. 1724–1733, 1997. Citado na página 47.
FERIS, R. S. et al. Detection and tracking of facial features in video sequences. In: Lecture No-tes in Artificial Intelligence. [S.l.]: Springer-Verlag Press, 2000. p. 129–137. Citado na página51.
88 Referências
GALTON, F. Personal identification and description. Journal of Anthropological Institute ofGreat Britain and Ireland, JSTOR, p. 177–191, 1889. Citado na página 47.
GONZALEZ, R. C.; WOODS, R. E. Processamento de Imagens Digitais. [S.l.]: Blucher, 2000.Citado 11 vezes nas páginas 25, 26, 27, 28, 29, 31, 32, 35, 36, 37 e 38.
HAYKIN, S. Redes Neurais: Prncípios e Práticas. [S.l.]: Editora Bookma, 2001. Citado napágina 38.
HUANG, T.; RUI, Y.; CHANG, S. Image retrieval: Past, present, and future. In: InternationalSymposium on Multimedia Information Processing. [S.l.: s.n.], 1997. v. 108. Citado na página58.
HYVÄRINEN, A. The fixed-point algorithm and maximum likelihood estimation for indepen-dent component analysis. Neural Processing Letters, Springer, v. 10, n. 1, p. 1–5, 1999. Citadona página 61.
HYVÄRINEN, A.; OJA, E. Independent component analysis: algorithms and applications.Neural networks, Elsevier, v. 13, n. 4, p. 411–430, 2000. Citado na página 59.
IRAJI, M. S.; YAVARI, A. Skin color segmentation in fuzzy ycbcr color space with the mamdaniinference. American Journal of Scientific Research, p. 131–137, 2011. Citado na página 52.
JOLLIFFE, I. Principal component analysis. [S.l.]: Wiley Online Library, 2005. Citado na pá-gina 63.
KANADE, T. Computer recognition of human faces. [S.l.]: Birkhäuser, 1977. Citado na página47.
KANADE, T.; BALUJA, S.; ROWLEY, H. Rotation Invariant Neural Network-Based Face De-tection. [S.l.]: CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCI-ENCE, 1997. Citado 2 vezes nas páginas 53 e 54.
KELLY, M. Visual identification of people by computer. [S.l.], 1970. Citado na página 47.
KIRBY, M.; SIROVICH, L. Application of the karhunen-loeve procedure for the characteriza-tion of human faces. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE,v. 12, n. 1, p. 103–108, 1990. Citado 2 vezes nas páginas 47 e 63.
KOTROPOULOS, C.; PITAS, I. Rule-based face detection in frontal views. In: IEEE. Acous-tics, Speech, and Signal Processing, 1997. ICASSP-97., 1997 IEEE International Conference on.[S.l.], 1997. v. 4, p. 2537–2540. Citado na página 50.
LIENHART, R.; MAYDT, J. An extended set of haar-like features for rapid object detection. In:IEEE. Image Processing. 2002. Proceedings. 2002 International Conference on. [S.l.], 2002. v. 1,p. I–900. Citado na página 56.
MA, E. L. H. Avaliação de Características Haar em Um Modelo de Detecção de Face. 70 p. Mo-nografia (Graduação) — Universidade de Brasília, Brasília, 2007. Citado na página 57.
OJA, E.; HYVARINEN, A.; KARHUNEN, J. Independent component analysis. [S.l.]: John Wiley& Sons, 2001. Citado na página 60.
PEDRINI, H.; SCHWARTZ, W. R. Análise de imagens digitais: princípios, algoritmos e aplica-ções. [S.l.]: Thomson Learning, 2008. Citado 2 vezes nas páginas 31 e 32.
Referências 89
PRATT, W. Digital image processing. John Wiley & Sons, Inc., 2001. Citado na página 58.
ROWLEY, H.; BALUJA, S.; KANADE, T. Neural network-based face detection. Pattern Analysisand Machine Intelligence, IEEE Transactions on, IEEE, v. 20, n. 1, p. 23–38, 1998. Citado 2vezes nas páginas 54 e 55.
SAKAI, T.; NAGAO, M.; FUJIBAYASHI, S. Line extraction and pattern detection in a photo-graph. Pattern recognition, Elsevier, v. 1, n. 3, p. 233–248, 1969. Citado na página 53.
STERGIOU, A. Elastic bunch graph matching face recognition: performance and compari-son with subspace projection methods. 2009. Citado na página 62.
STERGIOU, C.; SIGANOS, D. NEURAL NETWORKS. 1996. Acesso em 3 de outubro de2011. Disponível em: <http://www.doc.ic.ac.uk/˜nd/surprise 96/journal/vol4/cs11/report-.html>. Citado na página 38.
STIVANELLO, M. E. Inspeção industrial através de visão computacional. Monografia (Mono-grafia) — Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blu-menau, 2004. Citado na página 33.
SUN, H. et al. Fast face detection based on enhanced adaboost. In: Recent Advances in Com-puter Science and Information Engineering. [S.l.]: Springer, 2012. p. 511–517. Citado na pá-gina 57.
TURK, M.; PENTLAND, A. Eigenfaces for recognition. Journal of cognitive neuroscience, MITPress, v. 3, n. 1, p. 71–86, 1991. Citado 3 vezes nas páginas 47, 63 e 67.
VIOLA, P.; JONES, M. Rapid object detection using a boosted cascade of simple features. In:IEEE. Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001IEEE Computer Society Conference on. [S.l.], 2001. v. 1, p. I–511. Citado 2 vezes nas páginas54 e 55.
WANG, J.; SUNG, E. Frontal-view face detection and facial feature extraction using colorand morphological operations. Pattern recognition letters, Elsevier, v. 20, n. 10, p. 1053–1068,1999. Citado na página 51.
WISKOTT, L. et al. Face recognition by elastic bunch graph matching. Pattern Analysis andMachine Intelligence, IEEE Transactions on, IEEE, v. 19, n. 7, p. 775–779, 1997. Citado 2 vezesnas páginas 47 e 62.
YANG, G.; HUANG, T. Human face detection in a complex background. Pattern recognition,Elsevier, v. 27, n. 1, p. 53–63, 1994. Citado 2 vezes nas páginas 49 e 50.
YANG, M. hsuan; KRIEGMAN, D. J.; AHUJA, N. Detecting faces in images: A survey. IEEETRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, v. 24, n. 1, 2002.Citado 2 vezes nas páginas 48 e 49.
ZHAO, W.; CHELLAPPA, R.; KRISHNASWAMY, A. Discriminant analysis of principal compo-nents for face recognition. In: IEEE. Automatic Face and Gesture Recognition, 1998. Proce-edings. Third IEEE International Conference on. [S.l.], 1998. p. 336–341. Citado na página47.
90 Referências
ZIBULEVSKY, M.; PEARLMUTTER, B. A. Blind separation of sources with sparse represen-tations in a given signal dictionary. In: International Workshop on Independent ComponentAnalysis and Blind Source Separation, Helsinki. [S.l.: s.n.], 2000. Citado na página 61.
91
AP
ÊN
DI
CE
AVOLUNTÁRIOS PRESENTES NO BANCO DE
DADOS FACIAIS
Figura 44 – Voluntários, parte 1.
(a) Amanda. (b) Cassiana. (c) Rafael. (d) Lorrany. (e) Anelisa. (f) Jéssica.
(g) Gustavo. (h) Renan. (i) Yulle. (j) Danilo. (k) Carla. (l) Adriano.
Fonte: O próprio autor.
92 APÊNDICE A. Voluntários presentes no banco de dados faciais
Figura 45 – Voluntários, parte 2.
(a) Vinícius. (b) Ariane. (c) Humberto. (d) Fernanda. (e) Elizabeth. (f) Lorena.
(g) Lucas. (h) Gustavo A. (i) Jeferson. (j) Paulo. (k) Mayara. (l) César.
(m) Thalisson. (n) Ruiter. (o) Bruna. (p) Iohan. (q) Nilton. (r) Welliton.
Fonte: O próprio autor.
93
AN
EX
O AMODELO USADO PARA AUTORIZAÇÃO DO
USO DAS IMAGENS
Figura 46 – Modelo do formulário de autorização.
Fonte: O próprio autor.