fabíola alvares rodrigues de souza maffra detecção de...

66
Fabíola Alvares Rodrigues de Souza Maffra Detecção de características faciais utilizando FERNS Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre pelo Programa de Pós- Graduação em Informática da PUC-Rio. Orientador: Marcelo Gattass Rio de Janeiro, 20 de agosto de 2009

Upload: doanliem

Post on 08-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

Fabíola Alvares Rodrigues de Souza Maffra

Detecção de características faciais utilizando FERNS

Dissertação de Mestrado

Dissertação apresentada como requisito parcial para obtenção do título de Mestre pelo Programa de Pós-Graduação em Informática da PUC-Rio.

Orientador: Marcelo Gattass

Rio de Janeiro, 20 de agosto de 2009

Page 2: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

2

Fabíola Alvares Rodrigues de Souza Maffra

Detecção de características faciais utilizando FERNS

Dissertação apresentada como requisito parcial para obtenção do título de Mestre pelo Programa de Pós-Graduação em Informática da PUC-Rio. Aprovada pela Comissão Examinadora abaixo assinada.

Marcelo Gattass Orientador

PUC-Rio

Prof. Alberto Barbosa Raposo PUC-Rio

Dra. Cristina Nader Vasconcelos PUC-Rio

Prof. Raul Queiroz Feitosa PUC-Rio

Prof. Waldemar Celes Filho PUC-Rio

Prof. José Eugenio Leal Coordenador(a) Setorial do Centro Técnico Científico - PUC-Rio

Rio de Janeiro, 20 de agosto de 2009

Page 3: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

3

Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, da autora e do orientador.

Fabíola Alvares Rodrigues de Souza Maffra

Graduou-se em Engenharia de Computação na Pontifícia Universidade Católica do Rio de Janeiro, onde deu continuidade a seus estudos no curso de mestrado do departamento de Informática.

Ficha Catalográfica

Maffra, Fabíola Alvares Rodrigues de Souza Maffra

Detecção de características faciais utilizando FERNS/Fabíola Alvares Rodrigues de Souza Maffra; orientador: Marcelo Gattass. – Rio de Janeiro : PUC, Departamento de Informática, 2009.

66 f; 29,7cm.

Dissertação (mestrado) – Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática.

Incluí referências bibliográficas.

1. Informática – Teses. 2. Detecção de características faciais. 3. Ferns. 4. Treinamento. 5. Detecção e reconhecimento de pontos característicos. 6. Rastreamento. 7. Clusterização.

Page 4: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

4

Para os meus pais.

Page 5: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

5

Agradecimentos

Ao meu orientador, pelo apoio, pelos conselhos e pela confiança em mim

depositada.

Ao CNPq e à PUC-Rio, pelo apoio financeiro, sem o qual este trabalho não seria

possível.

Aos amigos, companheiros desde o começo da graduação. Os momentos de

diversão e estudo jamais serão esquecidos.

Às amigas Fernanda Iacia, Luana Padilha e Paula Leite por estarem sempre

comigo, prontas para me ouvir e ajudar.

Ao Lucas, pela compreensão, incentivo, ajuda e amor em todos os momentos.

Aos meus irmãos, Sérgio e Rebeca, por estarem sempre presentes, me ajudando

em todos os momentos.

Aos meus pais, pelo carinho, amor e apoio incondicional em tudo.

Page 6: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

6

Resumo

Maffra, Fabíola Alvares Rodrigues de Souza Maffra. Detecção de características faciais utilizando FERNS. Rio de Janeiro, 2009. 66p. Dissertação de Mestrado - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro.

Nas últimas décadas, a área de detecção da face e suas características tem

recebido bastante atenção da comunidade cientifica dada sua importância em

diversas aplicações, tais como, reconhecimento de faces, interação humano-

computador, reconhecimento de expressões faciais, segurança, etc. Esta

dissertação propõe a utilização de um classificador baseado em ferns no

treinamento e reconhecimento de pontos característicos a fim de possibilitar a

detecção das características da face. São revistas, brevemente, as principais

abordagens utilizadas na detecção de características faciais e a teoria de

reconhecimento de pontos característicos utilizando os ferns. Também é

apresentada uma implementação de um detector de características da face baseado

nos ferns e os resultados obtidos. O método proposto conta com uma fase de

treinamento offline durante a qual diversas vistas dos pontos característicos

extraídos de uma imagem de treinamento são sintetizadas e utilizadas no

treinamento dos ferns. A detecção das características da face é realizada nas

imagens obtidas, em tempo real, de diversos pontos de vista e sob diferentes

condições de iluminação.

Palavras-chave

Detecção de características faciais; ferns; treinamento; detecção e

reconhecimento de pontos característicos; segmentação; rastreamento;

clusterização;

Page 7: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

7

Abstract

Alvares Rodrigues de Souza Maffra, Fabíola; Gattass, Marcelo. Facial features detection based on FERNS. Rio de Janeiro, 2009. 66p. MSc. Dissertation - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro.

Over the last decades, face detection and facial features detection have

received a great deal of attention from the scientific community, since these

tasks are essential for a number of important applications, such as face

recognition, face tracking, human-computer interaction, face expression

recognition, security, etc. This work proposes the use of a classifier based on

FERNS to recognize interest points across images and then detect and track the

facial features. We begin with a brief review of the most common approaches

used in facial features detection and also the theory around the FERNS. In

addition, an implementation of the facial features detection based on FERNS is

present to provide results and conclusions. The method proposed here relies on

an offline training phase during which multiple views of the keypoints to be

matched are synthesized and used to train the FERNS. The facial features

detection is performed on images acquired in real-time from many different

viewpoints and under different lighting conditions.

Keywords

Facial features detection, FERNS, training, keypoints detection and

recognition, segmentation, tracking, clustering.

Page 8: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

8

Sumário

1 Introdução 13

2 Trabalhos relacionados 16

2.1. Detecção de características faciais 16

2.1.1. Método baseado na geometria das características 17

2.1.2. Métodos Baseados em Templates 18

2.1.3. Métodos baseados na segmentação por cor 19

2.1.4. Métodos baseados na aparência 19

3 FERNS 21

3.1. O problema de matching visto como um problema de classificação 22

3.2. Classificação Naïve Bayesian 23

3.3. Fase de Treinamento 25

3.4. Construindo o conjunto de vistas 26

3.5. Detecção de pontos característicos 27

3.6. Selecionando os keypoints 29

4 Método Proposto 31

4.1. Descrição geral do método 31

4.2. Fase de Treinamento 31

4.3. Segmentação da face 34

4.4. Reconhecimento de keypoints 37

4.5. Clusterização e detecção das regiões das características faciais 37

4.6. Rastreamento baseado nos clusters e reinicialização do sistema 39

4.7. Detecção das características faciais 40

4.7.1. Detecção das narinas 40

4.7.2. Detecção das pupilas 41

5 Análise Experimental 43

Page 9: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

9

5.1. Base de dados para testes 43

5.2. Análise do FERNS original 44

5.2.1. Influência da textura na detecção pelo FERNS 44

5.2.2. Influência do tamanho da região de interesse na detecção pelo

FERNS 47

5.2.3. Testando a planaridade para faces 50

5.3. Clusterização dos keypoints reconhecidos 52

5.4. Rastreamento 56

5.5. Testes com pessoas diferentes 58

5.6. Desempenho 61

6 Conclusão 62

7 Referências 64

Page 10: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

10

Lista de figuras

Figura 1: Matching de um objeto planar utilizando FERNS. Imagem

retirada de Özuysal et al. [18]. 21

Figura 2: (a) Problema de classificação de um patch adquirido em tempo

real. (b) Conjunto de possíveis aparências de uma classe. 22

Figura 3: (a) Princípio da detecção de keypoints: se Im, Im + dR, Im-dR

são semelhantes, m não é um keypoint. (b) Como lidamos com

imagens discretizadas, é necessário comparar os pixels opostos

diametralmente e seus vizinhos para evitar respostas positivas

próximas de arestas. Imagem retirada de Lepetit e Fua 2004 [16]. 29

Figura 4: Linhas de cima: A imagem da esquerda corresponde a um

keypoint extraído da imagem de treinamento. As próximas três

imagens mostram o mesmo keypoint em diferentes vistas geradas

com escalas diferentes e sob o efeito de blur. O mesmo para a linha

de baixo. Imagem retirada de Lepetit e Fua [17]. 30

Figura 5: Correspondência de imagens de faces usando FERNS. Apesar

da não planaridade das faces, o FERNS continua apresentando bons

resultados. Imagem retirada de Özuysal et al. [18]. 32

Figura 6: (a) Imagem de treinamento. (b) Seleção das áreas de interesse.

(c) Pontos característicos extraídos da imagem de treinamento. 33

Figura 7: (a) Imagem de treinamento. (b) imagem segmentada pela cor da

pele. (c) Contornos detectados. (d) Extração do maior contorno e

detecção da face. 35

Figura 8: Região do olho se une ao fundo e não pode ser detectada

corretamente. 36

Figura 9: (a) Face segmentada pela cor de pele. (b) Fecho convexo da

face segmentada. (c) Face segmentada usando o fecho convexo. 36

Figura 10: Processo de classificação de um keypoint. 37

Figura 11: Representação do olho mostrando que a maior quantidade de

pixels por coluna passa pelo centro da pupila. 41

Figura 12: Ângulos de Tait-Bryan (Fonte: www.pittpatt.com). 44

Page 11: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

11

Figura 13: (a) Imagem da face. (b) Imagem da face com adição de

texturas. 45

Figura 14: Movimentos simulados nos vídeos sintéticos: (a) escala, (b)

rotação em relação ao eixo longitudinal (roll), (c) rotação em relação

ao eixo vertical (yaw) e (d) translação. 45

Figura 15: Imagem da face com textura sobre as características faciais. 46

Figura 16: Áreas de interesse do exemplo 1. 48

Figura 17: Áreas de interesse do exemplo 2. 49

Figura 18: Exemplo 1 - Imagem de treinamento e exemplos de quadros

detectados: a primeira coluna representa os quadros detectados no

vídeo da face projetada no plano e a segunda coluna representa

quadros detectados no vídeo da face. 51

Figura 19: Imagem de treinamento utilizada no exemplo 2. 52

Figura 20: Imagem de treinamento dos vídeos: (a) escala, (b) translação,

(c) rotação em torno do eixo vetical e (d) rotação em torno do eixo

longitudinal. 53

Figura 21: Valores de erro encontrados. A imagem superior apresenta

erros iguais a: ND = 1.0, ND = 2.0, OD = 4.2 e OE = 2.2. A imagem

inferior apresenta erros iguais a: ND = 1.0, NE = 2.0, OD = 5.0 e OE =

5.0. 55

Figura 22: Gráfico de erro do olho direito com e sem rastreamento para o

vídeo de escala. 57

Figura 23: Gráfico de erro do olho direito com e sem rastreamento para o

vídeo de rotação sobre o eixo do pescoço. 58

Figura 24: Imagem de treinamento utilizada no exemplo 1. 59

Figura 25: Imagem de treinamento utilizada no exemplo 2. 60

Page 12: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

12

Lista de tabelas

Tabela 1: Taxas de detecções corretas 47

Tabela 2: Taxas de detecção obtidas para cada Roi. 48

Tabela 3: Taxas de detecção obtidas para cada ROI. 49

Tabela 4: Taxas de detecção corretas obtidas para cada vídeo, utilizando

o FERNS original. 52

Tabela 5: Taxas de detecções corretas. 54

Tabela 6: Taxas de detecção com e sem rastreamento. 56

Tabela 7: Taxas de detecção com erro < 6 pixels. 59

Tabela 8: Erro médio em pixels 59

Tabela 9: Taxas de detecção com erro < 6 pixels. 60

Tabela 10: Erro médio em pixels para cada característica facial. 60

Tabela 11: Tempo médio necessário para o processamento de cada

quadro. 61

Page 13: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

13

1 Introdução

Para uma pessoa, a detecção de faces e suas características, assim como o

seu reconhecimento, é uma tarefa trivial. Desde muito cedo o ser humano é capaz

de identificar e reconhecer outras pessoas ao seu redor. Ao olhar para uma

imagem, uma pessoa é capaz de identificar, quase instantaneamente, se nela tem

ou não uma face e onde estão suas características, e isto sob as mais adversas

condições. No entanto, uma tarefa tão simples e rápida para o ser humano mostra-

se bastante complexa para ser resolvida por um computador. A grande variedade

de formas e cores das características faciais acaba dificultando o procedimento e a

maior parte dos algoritmos de detecção de características da face não consegue

lidar nem com um simples movimento da cabeça. Além disso, a grande maioria

dos algoritmos é computacionalmente cara, o que torna inviáveis aplicações em

tempo real.

A localização das características faciais desempenha um papel importante

em diversas aplicações que vêm ganhando cada vez mais destaque na área de

Visão Computacional. Um exemplo da utilização das características faciais é o

reconhecimento de faces, onde uma fase de extração das características da face é

necessária antes de se realizar o reconhecimento. Características faciais como

olhos, boca e nariz ocupam uma posição fundamental nesse processo, uma vez

que são peças fundamentais para o reconhecimento de uma pessoa. Esse

procedimento é muito utilizado em sistemas de segurança, que ganham cada vez

mais espaço no mundo atual e com isso ajudam a impulsionar as pesquisas na

área.

Além do ramo de reconhecimento de faces, a análise de expressões faciais

em vídeos e imagens também apresenta grande crescimento na área de Visão

Computacional. Através das expressões da face podemos saber o estado de ânimo

de uma pessoa e a reação dela às nossas palavras, por exemplo. Mais uma vez,

esse processo conta com uma fase de pré-processamento para detecção das

Page 14: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

14

características da face a fim de tornar possível a análise das expressões faciais de

uma pessoa.

Outra área importante que vem se destacando é a de interação humano-

computador. Através da detecção de características faciais é possível criar

interfaces onde, com ajuda de webcams, o usuário consiga interagir com algum

modelo 3D na tela do computador, por exemplo. Interfaces desse tipo fornecem ao

usuário uma imersão ao ambiente ou objeto virtual mostrado na tela do

computador, o que contribui para aumentar o grau de realismo da cena. Outra

aplicação importante se dá no caso de deficientes físicos, onde esses podem

utilizar movimentos da face para interagir com o computador, possibilitando uma

melhor qualidade de vida.

Esta dissertação apresenta um estudo sobre detecção de características da

face utilizando um método de aprendizado de máquina para reconhecimento de

retalhos de uma imagem. O objetivo do trabalho consiste em avaliar a utilização

desse método na extração de características da face. Para isso, propõe-se uma

nova abordagem para a detecção de características faciais. A escolha do método

de aprendizado de máquina utilizado se deve ao fato dele ser desenvolvido para

aplicações que exijam o tempo real. Esse método é apresentado em detalhes no

capítulo 3 e nas seções de testes e conclusões é feita uma avaliação do seu

potencial para a detecção de características da face. Neste trabalho são avaliados,

para a abordagem proposta, tanto a qualidade da detecção quanto a rapidez com

que isso é realizado. Dentre os principais componentes que constituem as faces

temos olhos, sobrancelhas, nariz, lábios e queixo. Este trabalho se concentra na

detecção dos olhos e das narinas em uma seqüência de imagens obtidas através de

um vídeo adquirido de uma webcam comum.

O restante desta dissertação está organizando da seguinte maneira. No

capítulo 2 são apresentados, brevemente, alguns trabalhos relacionados que

servem de base tanto para esta dissertação, como também para futuras pesquisas

na área. Passamos então, no capítulo 3, para uma explicação detalhada da técnica

de classificação de patches baseada na utilização dos FERNS, a fim de facilitar o

entendimento do trabalho desenvolvido nesta dissertação. O capítulo 4 apresenta

uma descrição do método proposto para detecção de características faciais e

detalhes do programa implementado, seguidos, no capítulo 5, dos experimentos

realizados e os resultados obtidos. No capítulo 5 também é apresentada a base de

Page 15: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

15

dados utilizada para os testes. Finalizando, no capítulo 6, são apresentadas as

conclusões obtidas ao longo desta dissertação e algumas sugestões para trabalhos

futuros.

Page 16: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

16

2 Trabalhos relacionados

2.1. Detecção de características faciais

A localização das características faciais desempenha um papel importante

em diversas aplicações, tais como, reconhecimento de faces, sistemas de

segurança, análise de expressões faciais, interação humano-computador,

rastreamento de faces, etc. Um dos trabalhos pioneiros nessa área foi publicado

em 1977 por Kanade [21] e nas últimas três décadas houve grandes avanços na

detecção de faces e suas características. Como descrito no artigo de Ding, L. e

Martinez, A. [11], muitos algoritmos mostram-se bastante confiáveis na detecção

de faces em imagens com grande quantidade de pessoas e apresentando

desempenho em tempo real ou perto disso. No entanto, muito ainda precisa ser

feito para fornecer uma detecção precisa e detalhada da face e de suas

características. Embora existam muitos métodos para localização de

características faciais, a maior parte deles é computacionalmente cara, tornando

inviáveis aplicações em tempo real [12].

A extração de características da face apresenta diversos desafios devido à

grande variação na fisionomia das faces de um indivíduo para outro. Como

descrito em [13] e [14], dentre os principais desafios podemos citar:

- Pose: A imagem da face depende da posição da face em relação à

câmera (frontal, inclinada, perfil, cabeça pra baixo, etc.).

- Presença ou não de componentes estruturais: Características faciais tais

como barba, bigode, cabelo e óculos podem ou não estar presentes.

Além disso, a variedade entre esses componentes é bem grande,

podendo ter formas, cores e tamanhos diferentes.

- Expressões faciais: A aparência da face é diretamente afetada pelas

expressões faciais e emoções presentes na face da pessoa.

- Oclusão: As faces podem estar parcialmente oclusas por objetos ou por

outra face.

Page 17: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

17

- Condições da imagem: As condições de aquisição da imagem podem

provocar problemas com a iluminação, podem fornecer imagens

tremidas, com pouca resolução, etc.

Duas abordagens podem ser utilizadas para detecção das características

faciais [2]:

- Na primeira abordagem, uma etapa de detecção da face é realizada

anteriormente a detecção das características faciais a fim de determinar a

região na qual a detecção das características será realizada. Diversos

trabalhos apresentam uma revisão sobre as principais técnicas de

detecção de faces em imagens. Em vídeos a detecção da face pode ser

obtida através da detecção do movimento, facilitando o processo.

- Na segunda abordagem, a procura pelas características faciais é

realizada na imagem inteira. Nesse caso, a geometria da face e o

tamanho das características da face são normalmente levados em

consideração, o que torna esse tipo de método mais propenso a erros e

limita sua aplicação a imagens dentro de certo limite de tamanho.

As técnicas de detecção de características faciais são normalmente

relacionadas à detecção dos olhos, boca, nariz, sobrancelha e alguma outra

componente facial importante. As características faciais podem ser de três tipos

diferentes: região, contorno ou ponto chave. Várias técnicas foram propostas com

esse propósito e podem ser classificadas em quatro grupos de acordo com [10]:

métodos baseados na geometria das características (geometric feature-based),

métodos baseados em templates (template-based), métodos baseados na

segmentação de cor (color segmentation techniques) e métodos baseados na

aparência (appearence based approaches). Diversos trabalhos utilizam mais de um

dos métodos a fim de melhorar a detecção das características faciais [4, 22].

2.1.1. Método baseado na geometria das características

Os métodos baseados na geometria das características utilizam o tamanho e

a posição dos componentes da face e a relação entre eles para detecção das

características faciais. Esses métodos normalmente utilizam um banco de dados

com um modelo para cada face e têm como objetivo fazer a correspondência entre

Page 18: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

18

a face a ser detectada e alguma face presente no banco de dados. Para cada face

presente no banco de dados, um vetor de características é calculado e a detecção é

feita utilizando-se um classificador baseado no vizinho mais próximo.

Nesse tipo de abordagem, filtros de detecção de vales e análise horizontal e

vertical das integrais de borda são muito utilizados. O gradiente vertical mostra-se

bastante útil na detecção do topo da cabeça, olho, base do nariz e boca, enquanto o

gradiente horizontal é utilizado na detecção das bordas esquerda e direita da face e

do nariz.

Um exemplo dessa técnica pode ser encontrado em [6], onde Brunelli, R. e

Poggio T. fazem uma comparação desse método com o método baseado em

templates.

2.1.2. Métodos Baseados em Templates

Esses métodos têm como objetivo encontrar a melhor correspondência, dada

por uma função de energia, entre um objeto da imagem e um modelo previamente

determinado [5]. No caso da detecção de características faciais o objeto em

questão poderia ser um olho, a boca ou alguma outra característica desejada.

Existem diversos trabalhos que utilizam métodos baseados em templates

para detectar tanto a face como suas características [7]. Nesses casos, a

abordagem mais simples é utilizar um modelo que representa a face como um

todo e compará-lo a imagem utilizando uma métrica adequada (normalmente

distância euclidiana) [6]. Normalmente, os modelos utilizados são frontais e a face

é tida como sendo uma elipse. Como explicado em [9] o problema dessa

abordagem é que ela não lida efetivamente com variações na escala, pose e forma.

Em trabalhos que consideram apenas as características da face esses problemas

também estão presentes. Como podemos ver em [6] diversas técnicas foram

propostas para contornar esses problemas, dentre elas: sub-templates (ou

templates baseados em componentes), multi-resolução, multi-escala e templates

deformáveis [1].

Page 19: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

19

2.1.3. Métodos baseados na segmentação por cor

A técnica de segmentação por cor leva em consideração o tom da pele para

isolar a face. Qualquer região, no domínio da face localizada, que não é pele, é

vista como uma possível candidata a alguma característica facial, tal como,

narinas, olhos, sobrancelhas e boca. Nesse tipo de abordagem, há uma grande

utilização de diversos espaços de cor para se construir um modelo da pele e tornar

possível a sua localização. Para a segmentação de pele muitos trabalhos utilizam

algum threshlod. Após encontrar regiões candidatas, características locais são

utilizadas para verificar essas regiões. Normalmente, faz-se um agrupamento dos

pixels de uma região utilizando uma análise de componentes conectados ou

algoritmos de agrupamento e após isso, a forma ou outras características locais

são utilizadas para verificação da característica.

A eficiência desse tipo de técnica em bancos de dados de imagens é bastante

limitada devido à grande diferença existente entre as etnias. No entanto, é possível

detectar faces não frontais e parcialmente oclusas com barba, óculos, etc.

Um exemplo desse tipo de abordagem pode ser encontrado em [22], onde

Hongliang et al. Utilizam a segmentação por cor para encontrar regiões de pele e

após isso são realizados outros processamentos para decidir se a região encontrada

é ou não uma face.

2.1.4. Métodos baseados na aparência

Os métodos baseados na aparência não necessitam de nenhum

conhecimento prévio sobre o objeto ou característica a ser detectada. Geralmente,

as técnicas que pertencem a este grupo necessitam de várias imagens para fazer o

aprendizado. Esses métodos são normalmente baseados em técnicas de análise

estatística e aprendizado de máquina. Exemplos dessa abordagem são as redes

neurais, análise de componentes principais (PCA), Eigenfaces, Support Vector

Machines (SVM), Linear discriminant analysis (LDA) e modelos de Markov

ocultos.

Neste trabalho é feito uma mistura de duas abordagens apresentadas acima.

A face é detectada usando o método baseado na segmentação por cor. Para

Page 20: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

20

reconhecimento das características faciais é utilizado um método baseado em

aparência, onde certas características são extraídas de uma imagem de treinamento

e são usados no treinamento de um classificador baseado em um algoritmo

conhecido como ferns. O método proposto é apresentado no capítulo 4.

Page 21: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

21

3 FERNS

Os FERNS são estruturas não-hierárquicas usadas na classificação de

patches. Os patches são pequenos pedaços da imagem. Cada fern se baseia em um

pequeno conjunto de testes binários para calcular a probabilidade de um patch

pertencer a cada uma das classes existentes. Özuysal et al descrevem no artigo

[18] um classificador baseado nos FERNS com o objetivo de fazer a

correspondência (matching) entre os pontos característicos (keypoints) extraídos

de uma imagem de treinamento e aqueles extraídos a partir de imagens obtidas,

em tempo real, de diversos pontos de vista e sob diferentes condições de

iluminação. A abordagem descrita no artigo [18] conta com uma fase de

treinamento offline. Um exemplo, utilizando FERNS, da correspondência entre

keypoints extraídos de duas imagens diferentes pode ser visto na figura 1. Este

capítulo foi baseado principalmente nos trabalhos [17] e [18].

Figura 1: Matching de um objeto planar utilizando FERNS. Imagem retirada

de Özuysal et al. [18].

Como mostrado em [17], modelar o problema de matching como um

problema de classificação Naïve Bayesian produz algoritmos simples, robustos e

com uma demanda computacional muito menor do que métodos estudados

anteriormente. Uma descrição do problema de matching modelado como um

Page 22: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

22

problema de classificação é apresentado nas seções 3.1 e 3.2. O restante do

capítulo é organizado da seguinte maneira: a seção 3.3 apresenta uma explicação

geral da fase de treinamento do processo, enquanto as seções seguintes

apresentam detalhes da implementação desenvolvida por Lepetit e Fua [17]. Na

seção 3.4 é descrito o processo de obtenção do conjunto de treinamento, seguido,

na seção 3.5, pela detecção dos pontos característicos e finalizando, na seção 3.6,

com o método de seleção desses keypoints.

3.1. O problema de matching visto como um problema de classificação

Essa abordagem conta com uma fase de treinamento offline durante a qual,

diversas vistas dos “image patches” centrados nos keypoints, extraídos de uma

imagem de treinamento, são sintetizadas e utilizadas no treinamento do

classificador. Considera-se o conjunto de todas as possíveis aparências de um

patch centrado em um keypoint como uma classe. Dessa forma, o objetivo é: dado

um patch associado a um keypoint, detectado em uma imagem em tempo real,

deve-se definir a classe mais provável a qual esse keypoint pertence. Com isso, é

possível fazer o matching entre os keypoints extraídos da imagem de treinamento

e os keypoints detectados nas imagens obtidas em tempo real baseando-se na

classificação de patches. As figuras 2 (a) e 2 (b) ilustram, respectivamente, o

problema descrito acima e o conjunto de possíveis aparências de uma classe.

Detalhes do método utilizado para construção das vistas de um patch centrado em

um keypoint é descrito na seção 3.4

Figura 2: (a) Problema de classificação de um patch adquirido em tempo

real. (b) Conjunto de possíveis aparências de uma classe.

Page 23: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

23

Para a classificação dos patches são utilizadas estruturas não-hierárquicas

denominadas FERNS. Cada fern é formado por um conjunto de testes binários e

retorna a probabilidade de um patch pertencer a cada uma das classes aprendidas

durante o treinamento. Na prática, um fern sozinho não é suficiente para fazer essa

discriminação quando há um grande número de classes envolvido. No entanto,

usando-se diversos FERNS e combinando suas respostas é possível obter bons

resultados na classificação. O conjunto desses FERNS treinados gera um

classificador rápido e robusto, como mostrado em [18].

3.2. Classificação Naïve Bayesian

Como mencionado anteriormente, considera-se o conjunto de todas as

possíveis aparências de um patch centrado em um keypoint como uma classe.

Dado o patch associado a um keypoint detectado em uma imagem, deseja-se

definir a classe mais provável a qual esse keypoint pertence. Considerando ci, i =

1, ... , H o conjunto de classes, deseja-se encontrar

ĉ� =�� ����� ��� = ��|����ℎ�,

onde C é uma variável aleatória que representa a classe.

Sendo fj, j = 1, ... , N o conjunto de características binárias que serão

calculadas sobre o patch a ser classificado, temos:

ĉ� =�� ����� ��� = �����,� , … , �"#. (1)

O teorema de Bayes fornece

��� = �����,� , … , �"# = ����,� , … , �"|� = ��)�(� = ��)�(��,� , … , �") .

Page 24: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

24

Uma vez que o denominador pode ser visto como sendo simplesmente um

fator de escala, pois independe da classe e assumindo a probabilidade a priori

P(C) como sendo uniforme, o problema se reduz a encontrar

ĉ� =�� ����� �(��,� , … , �"|� = ��).

O valor de cada característica binária fj depende apenas das intensidades das

posições dj,1 e dj,2 de dois pixels localizados no patch a ser classificado. Isto é,

�% = &1()*�+%,�# < *(+%, )0��(.�./��á�1. ,

onde I representa o patch. Uma vez que essas características são

extremamente simples, é necessário uma grande quantidade destas para uma

classificação correta. Por conseguinte, torna-se inviável a representação completa

da probabilidade conjunta dada pela equação (1), pois seria necessário calcular e

armazenar 2N entradas para cada classe. Uma maneira de comprimir essa

representação seria assumir completa independência entre as características, isto é,

�(��,� , … , �"|� = ��) = 2���%�� = �� #."

%3�

No entanto, essa representação ignora completamente a relação entre as

características. Para tornar o problema tratável levando em conta essas

dependências, o conjunto de características é particionado em M grupos de

tamanho 4 = 5 67 . Esses grupos são denominados FERNS e para cada fern

calcula-se a probabilidade conjunta para as características. Dessa forma, a

probabilidade condicional pode ser escrita por

�(��,� , … , �"|� = ��) = 2�(89|� = ��),:

93�

Page 25: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

25

onde F< = =f?(<,�), f?(<, ), … , f?(<,@)A, k = 1, ..., M representa O k-éssimo

fern e σ(k, j) é uma função de permutação aleatória variando de 1 a N. Desta

forma, segue-se uma abordagem Semi-Naïve Bayesian para modelar apenas

algumas das dependências entre as caracterticas [19]. Desta maneira, o problema

pode ser facilmente tratável, uma vez que o número de parametros é M x 2S e uma

boa taxa de reconhecimento é alcançada com M entre 30 e 50 e S em torno de 10,

como mostrado em [18].

3.3. Fase de Treinamento

O processo de treinamento começa pela construção de um conjunto de H

keypoints extraídos da imagem de treinamento (veja seções 3.5 e 3.6). Cada ponto

característico detectado nessa imagem corresponde a uma classe diferente. As

características dos FERNS, dadas pelas posições dj,1 e dj,2 de dois pixels

localizados no patch são escolhidas aleatoriamente.

Os termos

�(89|� = ���, B = 1,… ,6

são estimados calculando-se as features binárias usando diversos exemplos

para cada classe. Para ter um grande conjunto de treinamento, diversas vistas são

sintetizadas a partir de uma única imagem usando técnicas de renderização como

transformações afins e extraindo patches de treinamento para cada uma das

classes. Nas imagens geradas automaticamente também são adicionados ruídos e

filtros de suavizaçao de maneira a obter um maior realismo. Para cada keypoint da

imagem de treinamento, esse processo fornece um bom conjunto de amostras das

possíveis aparências tomadas de diversos pontos de vista.

No entanto, apesar de ��89|� = ��� ser apenas uma parte da probabilidade

conjunta dada pela equação (1), o seu cálculo continua envolvendo um grande

número de parâmetros e a probabilidade empírica não pode ser estimada

confiavelmente como acontece na prática.

Page 26: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

26

A fim de explicar como é calculado ��89|� = �� � considere o evento θ(Fk)

que significa “A probabilidade empírica para Fk é confiável”. Dessa forma,

��89|� = ��� pode ser expressa da seguite maneira:

��89�� = ��, C�89�#��C�89�# + ��89�� = ��, C�89�DDDDDDD#��C�89�DDDDDDD#.

��89�� = ��, C�89�# nada mais é do que a probabilidade empírica de

��89|� = ���, e ��89�� = ��, C�89�DDDDDDD# pode ser tomada como uma constante e é

portanto igual a �E.

Considere ��C�89�# sendo:

��C�89�# = ∑ /9,��∑ �/9,� + G��

.

onde /9,� representa o número de amostras do treinamento que verificam o

conjunto de características Fk. Quando o conjunto de treinamento é realmente

representativo das variações que existem dentro de cada classe, esse modelo faz

sentido uma vez que tende a 1 quando o número de amostras de treinamento

cresce e fornece uma maneira simples de estimar ��89�� = ��, C�89�# . É fácil

verificar que temos então:

��89|� = ��� = /9,�∑ �/9,� + G#9

.

Na prática, o valor de u não influência nos resultados logo que u é maior que

zero. Em [18] usa-se u = 1. Esse fator é interpretado pelos autores como Dirichlet

prior, uma vez que as probabilidades condicionais das classes são modeladas

como multinomiais.

3.4. Construindo o conjunto de vistas

Uma abordagem simples para a construção do conjunto de vistas é extrair

keypoints da imagem de treinamento e processar cada keypoint

Page 27: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

27

independentemente de forma a encontrar as possíveis aparências desse keypoint.

No entanto, uma abordagem mais efetiva foi usada em [17], onde, primeiramente,

são geradas vistas do objeto inteiro e os keypoints são extraídos dessas vistas.

Dessa forma, é mais fácil selecionar keypoints mais estáveis na presença de ruídos

e sob mudanças de perspectivas, tornando o método mais robusto sem acréscimo

de custo computacional. Isso é possível, pois apenas os keypoints identificados

nas diferentes imagens geradas serão considerados e aqueles que aparecem poucas

vezes são descartados.

As vistas são sintetizadas utilizando-se transformações afins. Uma

transformação afim pode ser decomposta em H = IJI∅L�4I∅, onde IJe I∅ são

matrizes de rotação parametrizadas pelos ângulos θ e ∅, respectivamente e

4 = +1� [N�, N ] é a matriz de escala. θ e ∅ pertencem ao intervalo [−Q, +Q] e N�

e N pertencem ao intervalo [0.6; 1.5]. De acordo com Lepetit e Fua [17] , essa

faixa de valores é suficiente para tratar variações dentro de uma octave, enquanto

variações maiores de escala são tratadas tomando-se pontos característicos

detectados em diversas escalas (mais de uma octave), como mostrado na próxima

seção.

3.5. Detecção de pontos característicos

Como definido em [15], uma característica local nada mais é do que uma

amostra da imagem que difere da sua vizinhança imediata. Essa característica

local está normalmente associada com a variação de uma ou mais propriedades da

imagem simultaneamente. As propriedades da imagem que são normalmente

consideradas são intensidade, cor e textura. Características locais podem ser

pontos, mas também podem ser arestas ou pequenos pedaços da imagem (image

patches). Tipicamente, medições são tomadas em uma região centrada em uma

característica local e convertidas em descritores. Esses descritores são então

utilizados em diversas aplicações como base para o reconhecimento.

Diversos métodos eficientes já foram propostos para detecção de pontos

característicos em uma imagem. Com foco em aplicações em tempo real, Lepetit e

Fua [16] propuseram um método rápido e estável para realização dessa tarefa.

Como os próprios autores afirmam, apesar de métodos mais robustos já terem sido

Page 28: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

28

propostos, a baixa complexidade dessa abordagem a torna uma alternativa atrativa

quando se deseja trabalhar com aplicações em tempo real. Esse método será

brevemente descrito nesta seção.

Como mostrado na figura 3 (a), a idéia básica do método consiste em

considerar as intensidades ao longo de um círculo centrado em cada candidato à

keypoint. Inicialmente, todos os pixels são candidatos à pontos característicos. Se

dois pixels diametralmente opostos nesse círculo tiverem aproximadamente a

mesma intensidade que o candidato à keypoint do centro, esse ponto não é

considerado um ponto característico. Em áreas uniformes ou ao longo de arestas,

sempre é possível encontrar um par de pontos diametralmente opostos com

intensidades semelhantes ao ponto candidato à keypoint. Por esse motivo, o

círculo é examinado realizando-se testes do tipo:

4)�*R��� − *R�� + +IS�� ≤ +U e

4)�*R��� − *R�� − +IS�� ≤ +U então m não é um keypoint,

onde +IS = �I�.(V; I(1/V�, I sendo o raio escolhido e V variando entre [0;

π]. Na prática, como as imagens são discretizadas, é necessário comparar não

apenas os pixels diametralmente oposto, mas também seus vizinhos, de modo a

evitar respostas próximas de arestas, como mostrado na figura 3 (b). Geralmente,

pontos que não são característicos são rejeitados rapidamente, sem necessidade de

percorrer o círculo completo. Para os pontos em que se atribui uma resposta

posistiva, isto é, foram considerados como sendo pontos característicos, calcula-se

um score e são selecionados como keypoints os ótimos locais. O laplaciano da

gaussiana é utilizado para cálculo do score e é aproximado por um fator de escala

da seguinte maneira:

X.Y��� ≈ [ *R�� − +IS� −S∈[];^]

*R��� + *R�� + +IS�.

Essa expressão pode ser calculada à medida que o círculo é percorrido e

usando apenas um número limitado de pixels, tornado o método mais rápido e

mantendo sua eficácia.

Page 29: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

29

Uma orientação é também atribuída ao keypoints. A orientação αm é dada

por:

V_ = |*R��� − *R�� + +IS�|S∈[]; ^]`ab_`c .

De acordo com os autores, essa orientação é estável o suficiente para

normalizar a vizinhança do keypoint no que diz respeito às rotações 2D. O cálculo

da orientação também pode ser feito à medida que o círculo é percorrido.

(a) (b)

Figura 3: (a) Princípio da detecção de keypoints: se de�f�, de�f + gh�, de�f − gh� são semelhantes, m não é um keypoint. (b) Como lidamos com

imagens discretizadas, é necessário comparar os pixels opostos

diametralmente e seus vizinhos para evitar respostas positivas próximas de

arestas. Imagem retirada de Lepetit e Fua 2004 [16].

O algoritmo é aplicado nas primeiras octaves da imagem e os pontos

característicos detectados em cada uma das octaves são utilizados para treinar o

classificador. Cada octave representa a imagem em escalas diferentes, o que torna

o algoritmo mais robusto em relação às variações de escala (zoom).

3.6. Selecionando os keypoints

Idealmente, um keypoint Ki em K deve possuir uma alta probabilidade P(Ki)

de ser encontrado quando está visível, mesmo apresentando distorções de

perspectiva e ruídos.

Page 30: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

30

Considere U uma transformação geométrica utilizada para sintetizar uma

nova vista como descrito na seção 3.2.2, e Be um ponto característico extraído

dessa vista usando o procedimento descrito na seção 3.2.1. U é também uma

transformação afim ou projeção e aplicando UL� a Be pode-se encontrar o keypoint

k correspondente no sistema de referência. No entanto, nem todos os keypoints

vão ter um correspondente na nova imagem gerada. Dessa forma, dado um

conjunto de vistas sintetizadas automaticamente, P(k) pode ser estimada

contando-se quantas vezes o keypoint correspondente é encontrado. Dessa forma,

o conjunto K pode ser construído pegando-se os n keypoints com maior

probabilidade P(k). Para cada keypoint ki i K, constrói-se o conjunto de vistas

correspondentes pegando-se a vizinhança correspondente à Be nas imagens

geradas, como mostrado na figura 4. Quando um keypoint é detectado em duas

imagens diferentes, tanto a mudança de perspectiva quanto a existência de ruídos

podem ocasionar pequenos deslocamentos em relação à sua localização exata.

Para resolver esse problema, um ruído branco é atribuído nas vistas sintetizadas

antes de se fazer a extração dos keypoints, o que força o classificador a aprender a

lidar com esses pequenos deslocamentos.

Figura 4: Linhas de cima: A imagem da esquerda corresponde a um keypoint

extraído da imagem de treinamento. As próximas três imagens mostram o

mesmo keypoint em diferentes vistas geradas com escalas diferentes e sob o

efeito de blur. O mesmo para a linha de baixo. Imagem retirada de Lepetit e

Fua [17].

Page 31: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

31

4 Método Proposto

4.1. Descrição geral do método

O objetivo do método proposto consiste em avaliar o potencial dos FERNS

para detecção das características faciais, em tempo real, em uma seqüência de

imagens adquiridas a partir de uma webcam comum.

A primeira parte do algoritmo consta de uma fase de treinamento offline, na

qual, primeiramente, são detectados pontos característicos em uma imagem frontal

da face e geradas vistas das possíveis aparências de cada um dos keypoints

extraídos. Os keypoints são detectados dentro das áreas de interesse (olho direito,

olho esquerdo e narinas) delimitadas, manualmente, pelo usuário na imagem de

treinamento. Após isso, é realizado o treinamento dos FERNS de forma a

possibilitar o reconhecimento dos keypoints adquiridos, em tempo real, de

diferentes pontos de vista. Na fase em tempo real, para cada frame do vídeo, o

reconhecimento dos keypoints é realizado utilizando-se o classificador

previamente treinado. Uma etapa de segmentação da face é realizada a fim de

melhorar a fase de reconhecimento desses pontos característicos, reduzindo o

número de outliers provenientes desse processo. Os keypoints reconhecidos são

agrupados, de acordo com a sua proximidade, de forma a possibilitar a detecção

das regiões das características faciais. As regiões estimadas são utilizadas como

espaço de busca para as características da face.

Detalhes do método proposto e da sua implementação são descritos nas

seções abaixo.

4.2. Fase de Treinamento

Como descrito em [17], se o objeto possui uma pequena curvatura uniforme,

os patches ao redor de um keypoint podem ser tratados como localmente planares

e suas distorções em relação às mudanças de perspectivas podem ser vistas como

Page 32: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

32

homografias. A fim de testar os efeitos da não-planaridade, Özuysal et al. [18]

aplicaram os FERNS em imagens de face assumindo sua planaridade para geração

das vistas sintéticas e, de acordo com os autores, bons resultados foram

alcançados, como pode ser visto na figura 5. Dessa forma, uma única imagem

frontal do rosto é suficiente para gerar um conjunto de amostras de possíveis

aparências da face tomadas de diversos pontos de vista.

Figura 5: Correspondência de imagens de faces usando FERNS. Apesar da

não planaridade das faces, o FERNS continua apresentando bons resultados.

Imagem retirada de Özuysal et al. [18].

Como já mencionado no capítulo 3, a fase de treinamento começa pela

detecção de pontos característicos (keypoints) na imagem de treinamento. A

imagem de treinamento consta de uma foto frontal da face. O usuário delimita,

manualmente, as áreas de interesse para o treinamento. As áreas de interesse

utilizadas neste trabalho foram as regiões dos olhos e das narinas. Um exemplo de

imagem de treinamento e algumas regiões delimitadas podem ser vistos na figura

6 (a) e 6 (b), respectivamente. A figura 6 (c) mostra os keypoints detectados nessa

imagem. A detecção dos pontos característicos na imagem de treinamento é feito

calculando-se o laplaciano da gaussiana da mesma maneira como foi explicada na

seção 3.5. O número de keypoints extraídos pode ser escolhido pelo usuário.

Nesta dissertação foram usados 400 keypoints.

Cada ponto característico extraído nessa imagem corresponde a uma classe

diferente. As amostras de cada classe são dadas por um conjunto de pequenos

retalhos da imagem (image patches) que representam as possíveis aparências do

Page 33: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

33

keypoint. Esse conjunto de treinamento é construído como descrito na seção 3.4

do capítulo 3. Essas amostras são utilizada no treinamento dos FERNS que

retornam a probabilidade a posteriori de um patch pertencer a cada uma das

classes aprendidas durante a fase de treinamento. Diferentemente do que acontece

com um objeto planar como o da figura 1, a face possui movimentos de rotação

restritos. Dessa forma, os ângulos utilizados para o cálculo das vistas sintéticas

foram restritos ao intervalo de [−45,+45] e não ao intervalo [−Q,+Q] como

proposto na seção 3.4. Dessa maneira, o conjunto de treinamento criado

automaticamente através de homografias representa melhor as características que

devem ser reconhecidas ao longo do vídeo adquirido em tempo real.

Figura 6: (a) Imagem de treinamento. (b) Seleção das áreas de interesse. (c)

Pontos característicos extraídos da imagem de treinamento.

Como mencionado anteriormente, na seção 3.1, um único fern não é

suficiente para classificar todos os keypoints aprendidos. Dessa forma, diversos

ferns são utilizados com esse propósito. Nesta dissertação foram utilizados 30

ferns com 12 testes binários por fern. Com isso, as respostas de cada ferns são

(a) (b)

(c)

Page 34: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

34

combinadas de forma a possibilitar a classificação. Além disso, são utilizadas

quatro octaves, a fim de aumentar a robustez do classificador. Quanto maior o

número de ferns e de testes binários associados a cada um deles, maior é a

confiabilidade do classificador. No entanto, a fase de treinamento acaba

consumindo muito tempo, prejudicando a aplicabilidade do sistema.

4.3. Segmentação da face

A segmentação de face é uma tarefa importante e essencial em diversas

aplicações, tais como reconhecimento de faces, rastreamento de pessoas e

segurança. Nesse trabalho a segmentação da face é um pré-processamento

necessário para eliminação dos outliers provenientes da fase de reconhecimento

dos keypoints obtidos durante a fase de treinamento das características faciais.

Diversos métodos de detecção de face já foram propostos na literatura e

muitos dos algoritmos desenvolvidos são baseados na cor da pele e exploram essa

informação de forma a localizar e extrair a região da face.

Nesse trabalho a localização e segmentação da face ao longo do vídeo é

feita com base nas amostras de cor da pele extraídas da imagem de treinamento

pelo usuário. Após a delimitação de algumas regiões da pele, calcula-se, para cada

um dos canais R, G e B, a média e o desvio padrão do total de pixels obtidos pelo

usuário. Considere mR, mG, mB as médias e σR, σG, σB os desvios padrões da

amostra de pixels de cada componente R, G e B, respectivamente. Um pixel i da

imagem com componentes RGB iguais a Ri, Gi e Bi é classificado como

pertencente à face se as condições (1), (2) e (3) forem satisfeitas. Caso contrário, o

pixel é classificado como não pertencente à face.

I1 ∈ [�I − lI,�I + lI] (1)

Y1 ∈ [�Y − lY,�Y + lY] (2)

m1 ∈ [�m − lm,�m + lm] (3)

Essa abordagem fornece uma primeira segmentação da região da face. No

entanto, como qualquer algoritmo que leva em consideração a cor da pele, outras

regiões da imagem que possuem a mesma cor também serão classificadas como

Page 35: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

35

pele, gerando detecções erradas. Considerando que a face a ser segmentada

representa a parte mais significativa da imagem, encontra-se os contornos de cada

região detectada como face e atribui a face correta à maior área interna dentre os

contornos obtidos. Um exemplo dessa abordagem pode ser vista na figura 7.

Figura 7: (a) Imagem de treinamento. (b) imagem segmentada pela cor da

pele. (c) Contornos detectados. (d) Extração do maior contorno e detecção da

face.

Um dos problemas da abordagem por cor pode ser vista na figura 8. A

sobrancelha se funde com a região do olho e ambos se unem ao fundo. Dessa

forma, quando o interior do maior contorno é preenchido, a região do olho é

cortada e com isso a detecção do olho não será possível ou será erroneamente

detectada.

Page 36: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

36

Figura 8: Região do olho se une ao fundo e não pode ser detectada

corretamente.

Uma solução para esse problema é encontrar o fecho convexo da região da

face (em branco). No entanto, mais outliers serão provenientes da fase de

reconhecimento, uma vez que parte do fundo está sendo levada em consideração.

Um exemplo da segmentação da face e do fecho convexo correspondente pode ser

visto na figura 9.

Figura 9: (a) Face segmentada pela cor de pele. (b) Fecho convexo da face

segmentada. (c) Face segmentada usando o fecho convexo.

(a) (b)

(c)

Page 37: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

37

4.4. Reconhecimento de keypoints

Uma vez que o classificador tenha sido previamente treinado, é possível

utilizá-lo para o reconhecimento de patches em imagens obtidas em tempo real

por uma webcam. Para cada frame do vídeo é feita a segmentação da face como

descrito na seção 4.2. Após isso, pontos característicos são extraídos da imagem

da face segmentada (em tons de cinza). Para cada keypoint extraído é feito o

seguinte procedimento: pega-se o patch associado ao keypoint e passa por cada

um dos FERNS do classificador. Cada fern retorna a probabilidade desse patch

pertencer a cada uma das classes aprendidas durante a fase de treinamento, como

explicado nas seções 3.2 e 3.3. As respostas de cada fern são combinadas e

retornam o keypoint correspondente na imagem de treinamento. Esse

processamento pode ser visto na figura 10.

Figura 10: Processo de classificação de um keypoint.

4.5. Clusterização e detecção das regiões das características faciais

A simetria da face e a homogeneidade que apresenta em determinadas

regiões pode acabar gerando outliers no processo de reconhecimento dos

keypoints. Um keypoint pertencente à íris, por exemplo, pode ser reconhecido

erradamente como sendo outro ponto na mesma íris. Além disso, um outro erro

bastante comum é um keypoint do olho esquerdo ser reconhecido como estando

Page 38: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

38

no olho direito. Se considerarmos que a maior parte dos keypoints reconhecidos se

encontra mais concentrada nas áreas de interesse em questão (olho direito, olho

esquerdo ou narinas), esses problemas podem ser contornados e não afetam

significativamente o sistema. Dessa maneira, basta agruparmos keypoints

próximos e decidirmos qual dos grupos melhor representa a característica em

questão.

Os keypoints de cada característica facial são agrupados de forma

independente. Isso é possível, pois durante a fase de treinamento atribui-se a cada

keypoint detectado um marcador dizendo se aquela característica pertence ao olho

esquerdo, ao direito ou às narinas. Dessa forma, quando é feito o reconhecimento,

o keypoint carrega esse marcador e é possível saber à qual característica esse

keypoint pertence. Duas abordagens diferentes foram utilizadas nesta dissertação

para detectar as regiões onde estão localizadas as características faciais.

O primeiro método utilizado na detecção das regiões das características da

face baseia-se no fato de que a maior parte dos keypoints reconhecidos deve estar

localizada na região da característica treinada. Dessa forma, basta agrupar os

keypoints próximos e pegar o maior cluster como sendo a região desejada, ou seja,

a região que corresponde à característica em questão. Isso é feito, de maneira

independente, para cada uma das características tratadas, isto é, olho esquerdo,

olho direito e narinas.

A segunda abordagem, além de considerar a organização no espaço, leva em

conta a probabilidade que os FERNS retornam quando um keypoint é

reconhecido. Se a probabilidade retornada pelos FERNS for muito pequena,

provavelmente aquele keypoint foi reconhecido de forma errada. Após realizar o

agrupamento dos keypoints pela sua proximidade, soma-se as probabilidades de

todos os keypoints pertencentes à um cluster (agrupamento). Isso é feito para cada

um dos clusters obtidos e aquele que obtiver a maior soma é considerado o

candidato mais forte, pois possui a maior probabilidade. Isso implica que existe

uma probabilidade maior dos keypoints daquele cluster terem sido reconhecidos

de forma correta. Esse procedimento também é realizado de forma independente

para cada uma das características treinadas.

Page 39: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

39

4.6. Rastreamento baseado nos clusters e reinicialização do sistema

Os dez primeiros frames do vídeo são utilizados para inicializar o processo

de detecção das características faciais. Os FERNS são bastante confiáveis na

detecção das características em imagens frontais, pois essas são muito

semelhantes à imagem utilizada para o treinamento do classificador. Por isso,

considerando que nos primeiros frames do vídeo a face se encontra na posição

frontal, o sistema pode ser inicializado automaticamente. Após o processo de

reconhecimento de keypoints em um frame, para cada uma das características

faciais em questão faz-se: aplica a clusterização e utiliza um dos métodos

descritos na seção anterior para determinar a região onde se encontra uma

determinada característica. Após isso, calcula-se o centro da região detectada e

atribui-se essa posição à característica em questão. Esse procedimento é realizado

nos dez primeiros frames. Com isso é possível calcular a posição média onde a

característica foi detectada. Esse procedimento é realizado para cada uma das

características e os valores obtidos são utilizados para inicialização do sistema.

Para melhorar a eficiência do sistema, um frame pode considerar as

detecções das regiões das características faciais encontradas no frame anterior

para determinação se a detecção foi ou não correta. Assume-se que não existem

mudanças muito grandes entre dois frames consecutivos. Com isso, se a distância

entre o ponto encontrado em dois frames consecutivos for muito grande, então um

erro aconteceu e a posição encontrada no frame anterior é mantida. Caso

contrário, considera-se que a detecção foi correta. No entanto, se a detecção se

mantiver errada por muitos frames consecutivos o sistema se perde e precisa ser

reinicializado. Isso é possível garantindo-se que a inicialização do sistema foi

correta, caso contrário poderia gerar problemas na detecção das regiões das

características faciais.

A reinicialização do sistema é feita da mesma maneira que a inicialização,

isto é, consideram-se os dez frames seguintes e calcula a posição média para cada

uma das características. Para garantir a corretude na reinicialização, o ideal é que

o usuário retorne à posição de frente para a câmera, onde a detecção utilizando os

FERNS é mais confiável. Caso contrário, a reinicialização pode apresentar

resultados errados.

Page 40: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

40

4.7. Detecção das características faciais

4.7.1. Detecção das narinas

A região de busca pelas narinas é realizada no interior da região detectada

anteriormente, como explicado nas seções 4.5 e 4.6. Uma maneira simples de

encontrar as narinas é buscar pelas duas regiões mais escuras dentro da região

onde a busca esta sendo realizada. Para isso é feito um threshold que separa as

partes mais escuras do histograma. Como as narinas se encontram mais ou menos

no centro do rosto, a região ao redor dessa característica é bem homogênea.

Apesar disso, não pode-se considerar que apenas as duas regiões da narina serão

encontradas, pois dependendo do valor do threshold utilizado essas regiões podem

ficar divididas. Além disso, a região de busca pode ter outros resíduos, como por

exemplo, um pedaço do olho, o que pode acontecer dependendo da movimentação

feita pela pessoa. Para solucionar o problema da região da narina estar dividida, é

utilizado um filtro de dilatação com o objetivo de unir regiões disjuntas que se

encontram próximas. No entanto, resíduos que estão longe dessa região e

realmente não fazem parte das narinas não desaparecem com esse processo, muito

pelo contrário, eles ficam mais destacados ainda. Se o número de regiões

detectadas após a dilatação for igual a dois, então encontra-se os contornos dessas

regiões e pega a posição central de cada um para representar o centro das narinas.

No entanto, se o número de regiões detectadas após a operação de dilatação for

maior do que dois, significa que ruídos não pertencentes às narinas foram

detectados. Nesse caso, para localizar as narinas considera-se que essas

representam as duas maiores regiões detectadas. Logo, basta aplicar um filtro de

erosão até que restem apenas duas regiões escuras na imagem. No entanto, o

elemento estuturante utilizado para a operação morfológica de erosão não pode ser

o mesmo utilizado para a dilatação, caso contrário as regiões poderiam acabar

desaparecendo e a detecção não seria possível. Após o processo de erosão, quando

existirem apenas duas regiões, o mesmo procedimento explicado anteriormente é

utilizado para detectar o centro das narinas.

Page 41: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

41

4.7.2. Detecção das pupilas

A detecção das pupilas é um pouco mais complicada do que a detecção das

narinas, pois quando é realizado o threshold grande quantidade de ruído ainda é

encontrada. Além disso, a região dos cílios e sobrancelhas atrapalham a detecção

exata das pupilas. Duas abordagens foram utilizadas com o propósito de detectar

as pupilas da maneira mais correta possível.

A primeira, e mais simples das abordagens, consiste em detectar a região

mais escura dentro da região de busca. Mais uma vez, o procedimento utilizado é

a aplicação de um threshold. Após isso calcula-se a elipse que se ajusta melhor à

região mais escura detectada. Considera-se então, o centro da elipse como sendo o

centro da pupila. Isso é feito para os dois olhos independentemente.

A segunda abordagem, visa melhorar ainda mais a detecção das pupilas. A

primeira parte desse método consta de aplicar o threshold e encontrar a região

mais escura. Após isso, da mesma maneira que na primeira abordagem, é

realizado o ajuste da elipse à região mais escura detectada. No entanto, a diferença

se deve ao processamento realizado no interior da elipse encontrada. Como pode

ser visto na figura 11, a região da pupila tem uma concentração maior de pixels

pretos na vertical depois de realizado o threshold.

Figura 11: Representação do olho mostrando que a maior quantidade de

pixels por coluna passa pelo centro da pupila.

Page 42: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

42

Dessa maneira, percorre-se a região de busca contando quantos pixels pretos

existem em cada uma das colunas. Dessa forma, a posição x é dada pela coluna

que contém a maior concentração de pixels pretos, enquanto a posição y é dada

pela posição y do centro da elipse.

Page 43: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

43

5 Análise Experimental

5.1. Base de dados para testes

Foram gravados diversos vídeos que serviram para realizar os testes

realizados nesta dissertação. Cada um dos vídeos gerados para medir qualidade da

detecção das características da face foi separado em uma seqüencia de imagens e

cada um dos frames teve suas características faciais marcadas manualmente.

Dessa forma, é possível estimar o erro calculando a diferença entre a posição das

características faciais detectadas ao longo do vídeo pelo programa implementado

e sua posição real.

Além disso, foram gerados vídeos sintéticos a fim de realizar testes com a

implementação original do FERNS. Esses vídeos constam de uma imagem de

treinamento projetada no plano e foi implementada uma rotina para gerar,

automaticamente, uma seqüência de movimentos idênticos para cada uma das

imagens utilizadas. Com isso é possível comparar melhor os resultados, uma vez

que a única diferença entre os vídeos é a imagem de treinamento.

Para uma melhor avaliação dos vídeos testados esses foram divididos em

quatro tipos de movimento. Considerando o sistema de coordenadas Tait-Bryan

angles (figura 12) temos os movimentos divididos em: escala, translação, rotação

em torno do eixo longitudinal (roll) e rotação em torno do eixo vertical (yaw). Os

movimentos utilizados representam uma simplificação para os movimentos

normais do rosto.

Os vídeos utilizados nos testes foram gerados utilizando-se uma Quickcam

Pro 9000 da Logitech. Os vídeos foram capturados a uma taxa de 30 frames por

segundo, utilizando uma resolução de 640 x 480.

Page 44: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

44

Figura 12: Ângulos de Tait-Bryan (Fonte: www.pittpatt.com).

5.2. Análise do FERNS original

Com o objetivo de avaliar a utilização dos FERNS em imagens de face, três

tipos de testes foram realizados. O primeiro teste examina a importância da

textura para uma correta detecção usando o FERNS. Além disso, verifica se a

textura das faces é suficiente para se obter bons resultados. O segundo conjunto de

testes estuda a influência dos tamanhos das regiões a serem detectadas.

Finalizando, o terceiro tipo de teste analisa o uso da planaridade para geração das

vistas sintéticas no caso das faces.

5.2.1. Influência da textura na detecção pelo FERNS

Para analisar a influência das texturas na detecção pelo FERNS foram

gerados dois vídeos sintéticos. O primeiro vídeo utiliza a imagem da face sem

modificações, enquanto no segundo vídeo foram adicionados retalhos de textura à

face, como mostrado na figura 13. Nessa figura, o quadrado desenhado ao redor

da face representa a área a ser detectada pelo classificador.

Projetando cada uma das imagens em um plano, foram simulados

movimentos de translação, escala, rotação em torno do eixo longitudinal (roll) e

rotação em torno do eixo vertical (yaw). Exemplos desses movimentos podem ser

visto na figura 14. Os movimentos realizados em ambos os vídeos são idênticos,

de forma a possibilitar uma comparação entre eles.

Page 45: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

45

Figura 13: (a) Imagem da face. (b) Imagem da face com adição de texturas.

Figura 14: Movimentos simulados nos vídeos sintéticos: (a) escala, (b)

rotação em relação ao eixo longitudinal (roll), (c) rotação em relação ao eixo

vertical (yaw) e (d) translação.

Page 46: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

46

O classificador obtido através do treinamento da imagem da face sem

modificações é utilizado para a detecção da face no vídeo construído a partir dessa

imagem. Da mesma forma, o classificador gerado a partir a imagem com retalhos

é utilizado na detecção da face no vídeo construído a partir da imagem com

retalhos de textura. Com isso é possível calcular a taxa de detecção correta em

cada um dos vídeos. Para o vídeo sintético sem textura a taxa de detecção foi de

57,7%, enquanto para o vídeo com textura esse valor é de 97,7%. Isso demonstra

a importância de se ter uma imagem bem texturizada para o bom funcionamento

do FERNS.

Para verificar se a textura das características da face é suficiente para se

obter bons resultados foram colocados retalhos de textura em cima da região dos

olhos e das narinas, como mostrado na figura 15.

Figura 15: Imagem da face com textura sobre as características faciais.

A taxa de reconhecimento obtida com a imagem com retalhos de textura

sobre os olhos e narinas foi de 94.1%. Com isso é possível afirmar que, utilizando

os FERNS, as características faciais não são suficientes para garantir uma alta taxa

de detecção, já que quando essas foram substituídas por texturas melhores houve

um grande aumento na quantidade de quadros reconhecidos corretamente. O que

não aconteceu quando a imagem não possuía as texturas colocadas artificialmente

e obteve apena 57,7% de detecções corretas. Os resultados obtidos nos testes desta

seção estão sintetizados na tabela

Page 47: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

47

Face 57.7%

Face com textura e características faciais 97.7%

Face com textura sobre as características faciais 94.1%

Tabela 1: Taxas de detecções corretas

5.2.2. Influência do tamanho da região de interesse na detecção pelo FERNS

Para analisar a relação do tamanho das regiões a serem detectadas com a

taxa de detecção correta, dois vídeos foram gerados utilizando duas imagens de

treinamento diferentes.

EXEMPLO 1:

As regiões de interesse (ROI) utilizadas para os testes com o primeiro vídeo

podem ser vistas na figura 16. A tabela 1 mostra as taxas de detecção obtidas para

cada região de interesse desse exemplo.

Page 48: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

48

Figura 16: Áreas de interesse do exemplo 1.

Vídeo 1 Tamanho (w x h) Área (pixels) Taxa de detecção (%)

ROI 1 255 x 200 51000 86.6

ROI 2 102 x 136 13872 39.0

ROI 3 122 x 101 12322 26.8

ROI 4 48 x 147 7056 0.0

ROI 5 60 x 43 2580 0.0

ROI 6 35 x 73 255 0.0

Tabela 2: Taxas de detecção obtidas para cada Roi.

EXEMPLO 2:

As regiões de interesse (ROI) utilizadas para os testes com o segundo vídeo

podem ser vistas na figura 17. A tabela 2 mostra as taxas de detecção obtidas para

esse exemplo.

Page 49: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

49

Figura 17: Áreas de interesse do exemplo 2.

Vídeo 1 Tamanho (w x h) Área (pixels) Taxa de detecção (%)

ROI 1 337 x 260 87620 96.8

ROI 2 159 x 96 15264 26.6

ROI 3 82 x 57 4674 0.6

ROI 4 32 x 124 3968 0.0

ROI 5 82 x 35 2870 0.0

ROI 6 46 x 43 1978 0.0

Tabela 3: Taxas de detecção obtidas para cada ROI.

Observando os resultados obtidos nos exemplos 1 e 2 acima, podemos

perceber que quanto menor a área de interesse menor é a taxa de detecção. Isso

acontece mesmo em imagens muito texturizadas, como é o caso da imagem

utilizada no exemplo 2. Com isso podemos concluir que a detecção de

características faciais fica afetada por possuírem uma área de interesse pequena.

Page 50: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

50

5.2.3. Testando a planaridade para faces

Como descrito em [17] e já menciado na seção 4.2, se o objeto possui uma

pequena curvatura uniforme, como no caso da face, é possível assumir que os

keypoints são localmente planares e suas distorções podem ser vistas como

homografias. Özuysal et al. [18] testaram o FERNS em imagens de face

assumindo sua planaridade para geração das vistas sintéticas e, de acordo com os

autores, bons resultados foram encontrados.

Para testar o uso da planaridade para geração das vistas sintéticas no caso de

faces foram criados, primeiramente, dois vídeos. Um dos vídeos consiste da

imagem de treinamento projetada em um plano, onde os movimentos do plano

simulam os movimentos de escala, translação, rotação em torno do eixo

longitudinal e rotação em torno do eixo vertical da mesma forma que explicado na

seção 5.2.2. Dessa maneira, a imagem não sofre deformações mesmo com

mudanças de perspectiva. O segundo vídeo consiste de uma sequência de imagens

da face e com isso ocorrem variaçoes da imagem devido às mudanças de

perspectiva e também devido a oclusões. Neste trabalho considera-se que não

ocorram grandes oclusões, tais como, desaparecimento completo de uma das

características faciais. Utilizando a mesma imagem de treinamento para ambos os

vídeos e a mesma região de interesse, foi realizado o treinamento dos FERNS e

após isso o classificador treinado foi utilizado para detecção da região de interesse

nos demais quadros de cada um dos vídeos. A imagem de treinamento utilizada no

teste e alguns quadros detectados, em cada um dos casos podem ser vistos na

figura 18.

Além dos dois vídeos utilizados no teste acima, mais dois outros vídeos

foram gerados da mesma forma que explicado no parágrafo anterior. Uma nova

imagem de treinamento foi utilizada e foram medidas as taxas de detecção para o

caso do vídeo com o plano e para o vídeo da face. A figura 19 mostra a imagem

de treinamento utilizada. As taxas de detecção para o primeiro e segundo

exemplos podem ser vistos na tabela 3.

Os resultados obtidos nos dois exemplos foram semelhantes tanto para o

vídeo da face quanto para o vídeo da imagem de treinamento projetada no plano.

No entanto, ao contrário do que foi falado no trabalho [18], não foram obtidos

Page 51: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

51

resultados satisfatórios para o caso das faces utilizando-se a implementação

original do FERNS.

Figura 18: Exemplo 1 - Imagem de treinamento e exemplos de quadros

detectados: a primeira coluna representa os quadros detectados no vídeo da

face projetada no plano e a segunda coluna representa quadros detectados no

vídeo da face.

Page 52: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

52

Figura 19: Imagem de treinamento utilizada no exemplo 2.

Vídeo Taxa de detecção (%)

Exemplo 1 – face 15.9

Exemplo 1 – face no plano 14.4

Exemplo 2 – face 35.1

Exemplo 2 – face no plano 27.5

Tabela 4: Taxas de detecção corretas obtidas para cada vídeo, utilizando o

FERNS original.

5.3. Clusterização dos keypoints reconhecidos

Como mostrado na seção 5.2, a face não é suficientemente texturizada de

forma a obter altas taxas de detecção utilizando os FERNS. A solução para

resolver o problema foi utilizar grupos de keypoints próximos. Como explicado

anteriormente (seção 4.5), duas abordagens foram implementadas para encontrar

as regiões das características da face. Na primeira abordagem implementada, para

cada uma das características da face, considera-se o maior grupo como sendo a

região onde essa se encontra. No segundo método considera-se o cluster mais

forte, isto é, o cluster cuja soma das probabilidades é a maior. Nesta seção é

realizada uma comparação entre esses dois métodos. Para isso, quatro vídeos com

imagens de faces foram gerados. Para analisar melhor os resultados esse vídeos

foram separados em movimentos de escala, translação rotação em torno do eixo

longitudinal e rotação em torno do eixo vertical. O primeiro quadro de cada vídeo

foi utilizado como imagem de treinamento e podem ser vistos na figura 20.

Page 53: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

53

Também foi considerada nos testes a distância entre os keypoints de um

cluster (agrupamento). As tolerâncias para as distâncias entre os pontos dos

clusters considerados foram de 10 e 15 pixels.

Figura 20: Imagem de treinamento dos vídeos: (a) escala, (b) translação, (c)

rotação em torno do eixo vetical e (d) rotação em torno do eixo longitudinal.

As características faciais levadas em consideração nos testes foram: narina

direita (ND), narina esquerda (NE), olho direito e esquerdo representados pelo

centro da elipse ajustada à região do olho (ODC e OEC, respectivamente) e olho

direito e esquerdo representados pela coluna de pixels pretos no interior da elipse

ajustada à região do olho (ODM, OEM). Ambos os métodos para detecção da

pupila foram explicados na seção 4.7.2.

A tabela 4 apresenta as taxas de detecções corretas para cada característica

da face, onde primeiramente considera-se correto erros menores que 6 pixels e

após isso, consideram-se a porcentagem de detecções onde o erro é menor do que

10 pixels. A figura 21 mostra exemplos de quadros detectados dentro de cada uma

dessas faixas de valores, deixando claro que erros dessa magnitude ainda são

considerados aceitáveis. Isso se deve também ao fato de que as marcações

Page 54: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

54

manuais para cálculo de erros não tão precisas, podendo apresentar certos

deslocamentos em relação a área exata do centro da pupila.

Cluster

mais forte

Erro < 6 pixels (%) Erro < 10 pixels (%)

Escala Transl. Yaw Roll Escala Transl. Yaw Roll

Tol

erân

cia

= 10

ND 100.0 87.5 100.0 94.0 100.0 88.1 100.0 94.0

NE 100.0 87.5 100.0 94.0 100.0 88.1 100.0 94.0

ODC 57.4 81.9 71.9 76.4 99.2 99.4 90.2 84.7

ODM 14.0 10.0 52.2 42.5 73.4 33.1 72.3 53.5

OEC 89.0 57.5 77.7 76.4 99.0 95.6 79.9 85.7

OEM 8.6 11.3 37.1 22.3 69.6 56.3 70.5 39.2

Tol

erân

cia

= 15

ND 100.0 87.5 99.1 94.0 100.0 88.1 99.1 94.0

NE 100.0 87.5 99.1 94.0 100.0 88.1 99.1 94.0

ODC 56.6 81.9 65.6 77.1 99.4 99.4 83.9 84.7

ODM 12.6 11.9 51.3 46.2 76.4 30.6 71.9 55.8

OEC 90.6 60.0 78.6 79.7 100.0 95.6 80.8 90.4

OEM 12.2 15.0 40.6 23.6 72.6 67.5 70.1 40.5

Maior

Cluster

Erro < 6 pixels (%) Erro < 10 pixels (%)

Escala Transl. Yaw Roll Escala Transl. Yaw Roll

Tol

erân

cia

= 10

ND 100.0 87.5 100.0 91.0 100.0 88.1 100.0 91.0

NE 100.0 87.5 100.0 91.0 100.0 88.1 100.0 91.0

ODC 54.0 83.1 72.8 75.7 97.2 100.0 91.1 83.1

ODM 13.2 10.6 52.7 42.5 75.8 34.4 72.8 52.8

OEC 86.4 58.8 76.3 78.4 96 96.9 77.2 88.4

OEM 7.6 11.3 35.7 22.9 67.2 60.0 68.8 40.5

Tol

erân

cia

= 15

ND 100.0 87.5 99.1 91.7 100.0 88.1 99.1 91.7

NE 100.0 87.5 99.1 91.7 100.0 88.1 99.1 91.7

ODC 55.0 81.9 67.0 77.4 97.2 100.0 85.3 83.7

ODM 12.4 11.9 51.3 44.2 75.8 32.5 71.9 53.8

OEC 90.0 60.6 75.4 80.4 99.0 96.9 76.8 93.0

OEM 12.2 15.0 39.3 24.6 72.2 67.5 67.0 41.7

Tabela 5: Taxas de detecções corretas.

Page 55: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

55

Figura 21: Valores de erro encontrados. A imagem superior apresenta erros

iguais a: ND = 1.0, ND = 2.0, OD = 4.2 e OE = 2.2. A imagem inferior

apresenta erros iguais a: ND = 1.0, NE = 2.0, OD = 5.0 e OE = 5.0.

Page 56: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

56

5.4. Rastreamento

Para testar o rastreamento o programa implementado foi rodado usando,

para comparação, a abordagem de cluster mais forte sem levar em consideração a

detecção do frame e anterior. Em seguida, na execução do programa considerou-

se a detecção obtida nos frame anterior, isto é, foi usado o rastreamento. A

distância utilizada para se ativar o rastreamento foi de 40 pixels, ou seja, se o

centro da região de busca do frame atual se encontrar a uma distância de 40 ou

mais pixels do centro da região de busca do frame anterior, então a região de

busca do quadro anterior é mantida. Os resultados obtidos com e sem o

rastreamento podem ser vistos na tabela 5.

Rastreamento Erro < 6 pixels (%) � Tolerância = 15

Escala Transl. Yaw Roll

ND 100.0 87.5 100.0 100.0

NE 100.0 87.5 100.0 99.7

ODC 55.8 83.1 79.5 88.4

ODM 12.4 12.5 54.5 47.5

OEC 91.0 61.3 86.6 81.4

OEM 12.2 15.0 47.3 25.3

Cluster mais

forte

Erro < 6 pixels (%) � Tolerância = 15

Escala Transl. Yaw Roll

ND 100.0 87.5 99.1 94.0

NE 100.0 87.5 99.1 94.0

ODC 56.6 81.9 65.6 77.1

ODM 12.6 11.9 51.3 46.2

OEC 90.6 60.0 78.6 79.7

OEM 12.2 15.0 40.6 23.6

Tabela 6: Taxas de detecção com e sem rastreamento.

Page 57: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

57

Em alguns casos os resultados com e sem rastreamento não apresentaram

grande diferença, como no caso do vídeo da escala. Isso acontece por que, na

grande maioria dos quadros, a distância entre o centro das regiões de busca de

dois frames consecutivos não foi superior a 40 pixels. O gráfico da figura 22

mostra que no caso do vídeo da escala ocorre apenas um pico de erro e esse pico

desaparece quando o rastreamento está ativo.

Figura 22: Gráfico de erro do olho direito com e sem rastreamento para

o vídeo de escala.

No caso do vídeo da rotação sobre o eixo vertical (yaw), quando o

rastreamento está ativo a melhora na taxa de detecção é visível. Isso acontece por

que sem o rastreamento muitos erros aconteciam, como pode ser visto na figura

23. Com o rastreamento esses picos de erro diminuíram, pois foi mantida a região

de busca do frame anterior. Quando a região de busca é mantida ela ainda se

encontra próxima a característica a ser detectada, pois a diferença entre dois

quadros consecutivos é muito pequena. Dessa maneira, a característica ainda pode

ser reconhecida de forma correta.

0

20

40

60

80

100

1

29

57

85

11

3

14

1

16

9

19

7

22

5

25

3

28

1

30

9

33

7

36

5

39

3

42

1

44

9

47

7

Erro

Frame

Rastreamento OD - Escala

Sem Rastreamento

Com rastreamento

Page 58: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

58

Figura 23: Gráfico de erro do olho direito com e sem rastreamento para o

vídeo de rotação sobre o eixo do pescoço.

5.5. Testes com pessoas diferentes

Com o objetivo de garantir uma melhor qualidade dos resultados obtidos

foram realizados testes com pessoas diferentes, apresentando variação na cor da

pele e dos olhos. Nesses testes foram medidas as taxas de detecção corretas (erros

menores que seis pixels), além da média do erro obtido ao longo dos vídeos para

cada uma das características faciais.

EXEMPLO 1:

No primeiro exemplo foram gerados quatro vídeos, cada um representando

um tipo diferente de movimento (escala. Translação, rotação sobre o eixo

longitudinal e rotação sobre o eixo vertical). A imagem de treinamento utilizada

para os testes do exemplo 1 pode ser vista na figura 24. A tabela 6 apresenta as

taxas de detecção corretas, seguida pela tabela 7 que apresenta o erro médio de

cada característica ao longo de cada vídeo testado.

0

50

100

150

1

15

29

43

57

71

85

99

11

3

12

7

14

1

15

5

16

9

18

3

19

7

21

1

Erro

Frame

Rastreamento OD - Yaw

Sem Rastreamento

Com Rastreamento

Page 59: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

59

Figura 24: Imagem de treinamento utilizada no exemplo 1.

Vídeo 1 Escala Translação Yaw Roll

ND 93.9 98.4 95.2 93.9

NE 93.1 88.0 89.6 91.2

ODC 86.7 82.5 61.0 95.7

ODM 80.1 64.9 80.1 89.0

OEC 85.9 87.3 96.0 98.8

OEM 67.9 76.9 93.6 86.9

Tabela 7: Taxas de detecção com erro < 6 pixels.

Vídeo 1 Escala Translação Yaw Roll

ND 3.6 2.6 3.8 3.8

NE 3.5 3.9 3.8 3.1

ODC 3.9 3.6 4.6 3.6

ODM 5.7 10.0 5.2 4.2

OEC 4.2 3.5 3.3 3.6

OEM 4.5 4.2 3.5 3.6

Tabela 8: Erro médio em pixels

EXEMPLO 2:

Assim como no exemplo 1, no segundo exemplo foram gerados quatro vídeos,

cada um representando um tipo diferente de movimento (escala. Translação,

rotação sobre o eixo longitudinal e rotação sobre o eixo vertical). A imagem de

Page 60: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

60

treinamento utilizada para os testes do exemplo 2 pode ser vista na figura 25. A

tabela 8 apresenta as taxas de detecção corretas, seguida pela tabela 9 que

apresenta o erro médio de cada característica ao longo de cada vídeo testado.

Figura 25: Imagem de treinamento utilizada no exemplo 2.

Vídeo 1 Escala Translação Yaw Roll

ND 100.0 99.4 99.0 100.0

NE 100.0 100.0 100.0 100.0

ODC 93.3 79.6 76.0 83.4

ODM 86.3 56.9 50.3 72.4

OEC 100.0 93.4 99.0 97.8

OEM 82.1 76.8 83.4 77.3

Tabela 9: Taxas de detecção com erro < 6 pixels.

Vídeo 1 Escala Translação Yaw Roll

ND 1.4 1.3 1.4 1.4

NE 0.9 1.1 0.8 0.9

ODC 4.2 3.8 4.6 4.9

ODM 4.5 5.3 5.6 5.2

OEC 1.4 2.8 2.0 3.1

OEM 3.5 4.8 3.7 5.3

Tabela 10: Erro médio em pixels para cada característica facial.

Page 61: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

61

5.6. Desempenho

Para os testes de performance do método proposto, a linguagem de

programação utilizada foi C++. A configuração do computador utilizado nos

testes é: Intel Core 2 Quad CPU Q6600, 2.4GHz com 3 GB de RAM. A resolução

dos vídeos utilizados é 640x480.

O tempo necessário para cada frame foi, em média, de 30 ms. Nesse tempo

está incluso abertura da imagem e a detecção das características faciais. Como o

tempo máximo para considerar uma aplicação tempo real são 33 ms, ou seja, a

uma taxa de 30 fps, podemos considerar que o método proposto funciona em

tempo real. O tempo médio de processamento dos quadros para cada um dos

vídeos da seção anterior pode ser vista na tabela abaixo.

Vídeo ms

Escala 29.14

Translação 28.36

Yaw 29.03

Roll 29.98

Tabela 11: Tempo médio necessário para o processamento de cada quadro.

Page 62: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

62

6 Conclusão

Este trabalho avaliou o potencial de um método de aprendizado de máquina

baseado nos FERNS para a detecção de características faciais. A avaliação

experimental realizada demonstrou que a detecção utilizando a implementação do

FERNS puro apresenta problemas no caso das faces. A falta de textura em uma

imagem pode fazer a taxa de detecções corretas cair drasticamente. O estudo

demonstrou que as características faciais não são suficientes para se obter bons

resultados na detecção. Com isso, pode-se concluir que, no caso de imagens de

faces, os resultados utilizando a implementação original do FERNS não

apresentam bons resultados.

Além do problema da falta de textura das faces, foi observado que o

tamanho das regiões de interesse a serem detectadas influência no resultado final

da classificação. Nos testes foi demonstrado que quanto menor a área a ser

detectada, menor é a taxa de detecções corretas obtida. Desse jeito, o tamanho das

características faciais acaba sendo também um problema quando se utiliza a

implementação do FERNS puro.

Verificou-se também, que assumir a planaridade para geração das vistas

sintéticas no caso da face, que possui uma pequena curvatura, não se mostrou um

problema. Os resultados obtidos com o vídeo da face e com a face projetada no

plano, onde não ocorrem variações na perspectiva, foram equivalentes. No

entanto, os resultados não atenderam às expectativas, pois ambos os vídeos não

apresentavam texturização suficiente.

A abordagem utilizando clusterização para detectar as regiões de interesse

apresentaram resultados superiores à abordagem com o FERNS em seu estado

natural. No entanto, com o uso do rastreamento a taxa de detecções corretas

aumentaram e bons resultados foram encontrados. Os métodos de clusterização

utilizados, cluster mais forte e maior cluster, não apresentaram resultados

semelhantes para as características faciais detectadas.

Page 63: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

63

No método de detecção de pupilas a abordagem que pega o centro da elipse

ajustada ao olho como sendo o centro da pupila apresentou resultados

satisfatórios. O método que pega a pupila utilizando a maior coluna de pixels

pretos apresentou resultados ruins para olho azul, no entanto para olho preto os

resultados melhoram bastante. Os resultados obtidos com olhos escuros

mostraram-se melhores do que os resultados com olhos azuis.

A abordagem utilizada para detecção do centro nas narinas obteve

resultados excelentes, levando a taxas de detecções maiores do que 90% para

quase todos os exemplos testados.

Os testes de desempenho do método proposto mostraram que o programa

apresenta resultados em tempo real.

Futuramente, a posição das características faciais pode ser utilizada para

restringir em que ponto da face cada característica pode ser encontrada, um

exemplo é obrigar que o olho direito seja sempre detectado à direta do olho

esquerdo e não permitir que os olhos sejam trocados.

Page 64: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

64

7 Referências

[1] Yuille, A. L., Hallinan, P. W., and Cohen, D. S. 1992. Feature extraction from

faces using deformable templates. Int. J. Comput. Vision 8, 2 (Aug. 1992),

99-111. DOI= http://dx.doi.org/10.1007/BF00127169.

[2] A steriadis, S., Nikolaidis, N., and Pitas, I. 2009. Facial feature detection using

distance vector fields. Pattern Recogn. 42, 7 (Jul. 2009), 1388-1398. DOI=

http://dx.doi.org/10.1016/j.patcog.2009.01.009.

[3] W ang, J. and Tan, T. 2000. A new face detection method based on shape

information. Pattern Recogn. Lett. 21, 6-7 (Jun. 2000), 463-471. DOI=

http://dx.doi.org/10.1016/S0167-8655(00)00008-8.

[4] J in, Z., Lou, Z., Yang, J., and Sun, Q. 2007. Face detection using template

matching and skin-color information. Neurocomput. 70, 4-6 (Jan. 2007), 794-

800. DOI= http://dx.doi.org/10.1016/j.neucom.2006.10.043.

[5] Bagherian, E., Rahmat, Rahmita Wirza O.K. 2008. Facial feature extraction

for face recognition: a review. Information Technology, 2008. ITSIM 2008.

International Symposium on Volume 2, 26-28 Aug. 2008 Page(s):1 – 9. DOI

10.1109/ITSIM.2008.4631649.

[6] Brunelli, R. and Poggio, T. 1993. Face Recognition: Features Versus

Templates. IEEE Trans. Pattern Anal. Mach. Intell. 15, 10 (Oct. 1993), 1042-

1052. DOI= http://dx.doi.org/10.1109/34.254061.

[7] Alattar, A. M. and Rajala, S. A. 1999. Facial features localization in front

view head and shoulders images. In Proceedings of the Acoustics, Speech, and

Signal Processing, 1999. on 1999 IEEE international Conference - Volume 06

(March 15 - 19, 1999). ICASSP. IEEE Computer Society, Washington, DC,

3557-3560. DOI= http://dx.doi.org/10.1109/ICASSP.1999.757611.

[8] Y uen, C. T., Rizon, M., San, W. S., and Sugisaka, M. 2008. Automatic

detection of face and facial features. In Proceedings of the 7th WSEAS

international Conference on Signal Processing, Robotics and Automation

(Cambridge, UK, February 20 - 22, 2008). L. Kazovsky, P. Borne, N.

Page 65: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

65

Mastorakis, A. Kuri-Morales, and I. Sakellaris, Eds. Mathematics And

Computers In Science And Engineering. World Scientific and Engineering

Academy and Society (WSEAS), Stevens Point, Wisconsin, 230-234.

[9] H eiseley, B., Serre, T., Pontil, M., Poggio, T. 2001. Component-based Face

Detection, cvpr, vol. 1, pp.657, 2001 IEEE Computer Society Conference on

Computer Vision and Pattern Recognition (CVPR'01) - Volume 1, 2001.

[10] G unduz, A., Krim, H. Facial feature extraction using topological methods

Image Processing, 2003. ICIP 2003. Proceedings. 2003 International

Volume 1, 14-17 Sept. 2003 Page(s): I - 673-6 vol.1

DOI = 10.1109/ICIP.2003.1247051.

[11] Liya Ding, Aleix M. Martinez, "Precise detailed detection of faces and

facial features," cvpr, pp.1-7, 2008 IEEE Conference on Computer Vision and

Pattern Recognition, 2008.

[12] Zhihui Jiao, Weize Zhang, Ruofeng Tong, "A Method for Accurate

Localization of Facial Features," etcs, vol. 3, pp.261-264, 2009 First

International Workshop on Education Technology and Computer Science,

2009.

[13] Automatic facial expression analysis: a survey. B. Fasel (a), Juergen

Luettin (b). (a) IDIAP – Dalle Molle Institute for Perceptual Artificial

Intelligence, Switzerland. (b) Ascom SystecAG, Applicable Research and

Technology, Switzerland. 2002.

[14] Ref. Kela, N., Rattani, A., and Gupta, P. 2006. Illumination Invariant

Elastic Bunch Graph Matching for Efficient Face Recognition. In Proceedings

of the 2006 Conference on Computer Vision and Pattern Recognition

Workshop (June 17 - 22, 2006). CVPRW. IEEE Computer Society,

Washington, DC, 42. DOI= http://dx.doi.org/10.1109/CVPRW.2006.97

[15] Tuytelaars, T. and Mikolajczyk, K. 2008. Local invariant feature detectors:

a survey. Found. Trends. Comput. Graph. Vis. 3, 3 (Jan. 2008), 177-280.

DOI= http://dx.doi.org/10.1561/0600000017.

[16] V. Lepetit and P. Fua, “Towards Recognizing Feature Points Using

Classification Trees,” Technical Report IC/2004/74, EPFL, 2004.

[17] V. Lepetit and P. Fua. Keypoint recognition using randomized trees. IEEE

Transactions on Pattern Analysis and Machine Intelligence, 28(9):1465–1479,

Sept. 2006.

Page 66: Fabíola Alvares Rodrigues de Souza Maffra Detecção de ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/... · Orientador: Marcelo Gattass ... Luana Padilha e Paula Leite por estarem

66

[18] M. Ozuysal, P. Fua, and V. Lepetit. Fast Keypoint Recognition in Ten

Lines of Code. In Conference on Computer Vision and Pattern Recognition,

Minneapolis, MI, June 2007.

[19] F. Zheng and G. Webb. A comparative study of seminaive bayes methods

in classification learning. In Proceedings of the Fourth Australasian

DataMining Conference (AusDM05), pages 141–156, Sydney, 2005.

[20] D. Lowe. Distinctive Image Features from scale-invariant keypoints.

International Journal of Computer Vision, 20(2):91-110, 2004.

[21] Kanade, T. 1977. Computer Recognition of Human Faces.

Interdisciplinary Systems Research, Vol. 47 1977, Birkhauser Verlag, Basel,

Switzerland.

[22] H. Li, K.N. Ngan and Q. Liu. FaceSeg: Automatic Face Segmentation for

Real-time Video. IEEE Transactions on Multimedia, U.S.A., vol. 11, no. 1,

January 2009, pp. 77-88.