detecção de faces e características faciais - pucrs

44
Pontifícia Universidade Católica do Rio Grande do Sul PUCRS Detecção de Faces e Características Faciais Eduardo Costa Lopes Trabalho Individual II Pós-Graduação em Ciência da Computação Dr. José Carlos Bins Filho. RELATÓRIO TÉCNICO No. 45

Upload: ngotram

Post on 08-Jan-2017

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Detecção de Faces e Características Faciais - PUCRS

Pontifícia Universidade Católica do Rio Grande do Sul

PUCRS

Detecção de Faces e Características Faciais

Eduardo Costa Lopes

Trabalho Individual IIPós-Graduação em Ciência da Computação

Dr. José Carlos Bins Filho.

RELATÓRIO TÉCNICO No. 45

Page 2: Detecção de Faces e Características Faciais - PUCRS

2

Contato:[email protected]@gmail.comhttp://www.inf.pucrs.br/[email protected]://www.inf.pucrs.br/~bins

Eduardo Costa Lopes é aluno do curso de mestrado do Programa de Pós-Graduação em Ciência da Com-putação da Faculdade de Informática (PPGCC/FACIN) da Pontifícia Universidade Católica do Rio Grandedo Sul, PUCRS. Engenheiro de Computação pela Fundação Universidade Federal do Rio Grande (FURG).Desenvolveu trabalhos na área de redes neurais, algoritmos genéticos e otimização de redes neurais. Atu-almente sua pesquisa se concentra nas áreas de Visão Computacional e Processamento de Imagens, para odesenvolvimento de um sistema automático de reconhecimento de faces humanas. Sua bolsa é patrocinadapela CAPES, e dedica-se exclusivamente à pesquisa.

Copyright c© Faculdade de Informática - PUCRSPublished by PPGCC/FACIN, PUCRSAv. Ipiranga, 688190619-900 Porto Alegre, Rio Grande do Sul, Brasil

Page 3: Detecção de Faces e Características Faciais - PUCRS

Sumário

1 Introdução 61.1 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Detecção de Faces 92.1 Métodos Baseados em Conhecimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Métodos Baseados em Características Invariantes . . . . . . . . . . . . . . . . . . . . . . 112.3 Métodos Baseados emTemplates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4 Métodos Baseados na Aparência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4.1 Eigenfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.2 Redes Neurais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4.3 Hidden Markov Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Método de Detecção Utilizando Conhecimento 213.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 TemplatesDeformáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Snake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 Transformada de Gabor 344.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2 Filtros de Gabor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Conclusões 41

3

Page 4: Detecção de Faces e Características Faciais - PUCRS

Lista de Figuras

1.1 Típico sistema de detecção de faces e características. Uma imagem é apresentada ao sis-tema para que o mesmo detecte a face e seus componentes: olhos, boca e nariz. . . . . . . 7

2.1 Figura em várias resoluções. (a) imagem original n=1. (b) n=4. (c) n=8. (d)n=16. Cadapixel de uma célula quadrada de tamanhon x n tem seu valor substituído pela média dovalor da intensidadepixelsda célula [YAN02]. . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Exemplo de uma face em uma determinada resolução utilizadas para detectar faces atravésde regras que utilizam o conhecimento sobre a distribuição de luminosidade da imagem. . 10

2.3 Projeções verticais (embaixo de cada figura) e horizontais (no lado da figura) de figuras embaixa resolução. A detecção da face é feita pela análise dos picos presentes na projeçãohorizontal e os vales presentes na projeção vertical. [YAN02]. . . . . . . . . . . . . . . . 11

2.4 (a) região da face selecionada, (b)clusterde cores no espaço de cores (RGB) e (c)clusterno espaço cromático: “cores puras” [FER00]. . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5 Detecção da face por meio da cor da pele: (a) Imagem face típica. (b) Segmentação da corda pele. (c) Maior região conectada depixelsde pele [BHU03]. . . . . . . . . . . . . . . . 13

2.6 Segmentação da cor da pela aplicada na imagem (a) e o resultado na imagem (b)[WAN99]. 132.7 Exemplo da estruturaparent vector.Os filtros são aplicados em várias resoluções da ima-

gem. O escalamento da imagem é representado pelosgridsacima, formando uma pirâmidede imagens. O segmento de reta representa ospixelsnos quais os valores dos filtros formamum únicoparent vector [RIK99].. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.8 Exemplo de resultado obtido por[RIK99]. Na figura são mostrados apenasclusterscorres-pondentes a determinadas características. Váriosclusters(1447) são tomados para verificara presença ou não da face. Mas há a possibilidade de transformar o detector de face emdetector de características apenas avaliando oclusterassociado a uma característica . . . . 15

2.9 A esquerda temos três imagens originais e a esquerda a projeção delas no espaço deeigen-faces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.10 Funcionamento do algoritmo de detecção de faces baseado em RNA [ROL96]. . . . . . . . 182.11 Descrição gráfica do algortimo de detecção de faces rotacionadas [ROL98]. . . . . . . . . 182.12 HMM utilizado para a detecção e reconhecimento de faces. . . . . . . . . . . . . . . . . . 192.13 Imagem de face dividida em blocos para a extração dos vetores característicos. . . . . . . 19

3.1 Template utilizada por [YUI92] para detectar olhos. . . . . . . . . . . . . . . . . . . . . . 223.2 Template deformável para detectar olhos [HUA92]. . . . . . . . . . . . . . . . . . . . . . 223.3 Modelo utilizado por Allatar [ALA99] para detectar a cabeça. . . . . . . . . . . . . . . . 233.4 Projeções horizontais e verticais dos olhos obtida a partir da região intera a janela dos olhos. 243.5 As duastemplatesde boca utilizada por Zhang [ZHA02]. Os parâmetros deformáveiswm

le wm

r são os cantos da boca,Cmi (i = 1,2,3) e Om

i (i = 1,2,3,4) são os parâmetros da linhade contorno do lábio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.6 Candidatos para parâmetros descritores do contorno do lábio e a determinação se a bocaestá aberta ou fechada. Em (a) temos a boca fechada, em (b) a boca aberta [ZHA02]. . . . 26

3.7 Localização da boca em uma seqüência de vídeo [ZHA02]. . . . . . . . . . . . . . . . . . 27

4

Page 5: Detecção de Faces e Características Faciais - PUCRS

LISTA DE FIGURAS 5

3.8 Nesta figura podemos ver a capacidade dasnakede perceber (detectar) os contornos subje-tivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.9 Mapas horizontais e verticais [RAD95]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.10 Exemplo de Detecção de olhos sobrancelhas e boca. . . . . . . . . . . . . . . . . . . . . . 303.11 Exemplo de Detecção da boca. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.12 (a) performance do modelopressure snakeoriginal e (b) performance do modelomixture

pressure model[ALM02]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.13 Exemplo de rastreamento de olhos utilizandosnakes [ALM02]. . . . . . . . . . . . . . . 323.14 Exemplo de rastreamento de olhos. Asnakeconsegue superar o problema do piscar de

olhos [ALM02]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.15 Gráfico descrevendo o sistema de detecção da boca utilizandotemplatesesnakes. . . . . . 33

4.1 Função de gabor 2D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2 A esquerda temos a imagem original, em seguida temos a reconstrução da mesma a partir

de uma GWN com 16,52,116 e 256waveletsrespectivamente. A imagem mais à direitamostra a posição das primeiras 16waveletsna imagem [KRU02]. . . . . . . . . . . . . . . 36

4.3 As figuras mostram um objeto que foi modelado por uma GWN. À esquerda podemosnotar o tamanho, a posição e a orientação daswaveletsenquanto que a direita temos umarepresentação do objeto onde somente aswaveletsmais importantes foram selecionadas[KRU02]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.4 Exemplo de uma GWN treinada na imagem mais esquerda da Figura 4.2, utilizada para de-tectar características faciais em outras imagens de faces com diferentes orientações [KRU02]. 37

4.5 (Esquerda) Grade log-polar posicionada no olho de uma pessoa. (direita) Exemplo dosmovimentos sacádicos na procura dos olhos. Mesmo com os olhos fechados eles são de-tectados através da informação contida no contorno da órbita. . . . . . . . . . . . . . . . . 38

4.6 Uma câmera “eyeball” montada para detectar olhos imitando os movimentos sacádicos[SME98]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.7 (a) imagem original (b) imagem após a aplicação de filtros (c) pontos característicos sele-cionados [HJE00]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.8 Pontos característicos obtidos em duas imagens de face através dos filtros de gabor. . . . . 394.9 Grafo obtido pelo uso da transformada de gabor para detectar os pontos característicos da

face. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.10 A estruturabunch graphserve como uma representação geral de faces. Os discos repre-

sentam osjets provenientes de vários grafos individuais, que no processo de extração decaracterística somente umjet é selecionado, simbolizado na figura pelos discos escuros[LAU99]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Page 6: Detecção de Faces e Características Faciais - PUCRS

Capítulo 1

Introdução

Nos últimos anos a Inteligência Artificial (IA) tem obtido crescente sucesso no estudo e simulação dainteligência humana. Embora a maioria das pessoas tende a associar as atividades inteligentes com ativida-des intelectuais como raciocínio matemático e linguagem, existem atividades mais intuitivas, como andar,ver, comer, que requerem um certo grau de inteligência e um grande conhecimento sobre o mundo quenos cerca. A Visão Computacional, uma subárea da IA, tem como principal objetivo a construção de umsistema de visão artificial que imite a capacidade do sistema visual humano.

As pesquisas em Visão Computacional visam emular um sentido que muitos autores como Lindaet. al[LIN02] acreditam ser imprescindível para que um dia seja possível, construir uma forma de vida artificiale inteligente, capaz de aprender e imitar os processos mentais, como ocorre nos humanos. Embora a Inteli-gência Artificial ainda não tenha conseguido atingir seu principal objetivo, de acordo com [TEI98], váriasforam as contribuições destas pesquisas em diversas áreas, como por exemplo, os sistemas especialistaspara auxílio e treinamento de médicos, robôs cirurgiões, tradutores de línguas automáticos, sistemas devigilância inteligentes, entre outros.

Com relação a Visão Computacional o desenvolvimento de equipamentos computacionais cada vezmais rápidos, permitiram muitos avanços perceptíveis nesta área nos últimos anos. Atualmente sistemasde reconhecimento de faces a partir de imagem de vídeos ou mesmo imagens estáticas tem se tornado umarealidade. As aplicações dessas pesquisas vão desde o controle de acesso a prédios e bancos até sistemasde reconhecimento de faces acoplados em robôs que, inclusive possuem a capacidade de perceber o estadoemocional do seus operadores.

Um estudo sobre reconhecimento de faces foi feito no Trabalho Individual I [EDU03] onde foramapresentadas as principais técnicas de reconhecimento e representação de características faciais. Alémdisso, um dos objetivos de nossa pesquisa era sempre explorar a viabilidade da utilização de soluçõesbiologicamente inspiradas, devido a proximidade que as mesmas possuem com os objetivos principaisda Inteligência Artificial. Além de continuar o estudo feito no Trabalho Individual I a outra motivaçãodeste trabalho, é a possibilidade de melhorar a técnica proposta por Menget al [MEN02] onde redesneurais RBF eram utilizadas como classificadores. A rede neural RBF, segundo [MEN02] permite construirreconhecedores de faces de elevada precisão e a qualidade da mesma está intimamente ligada ao grau deseparabilidade dos dados. Meng utiliza um algoritmo de aglomeração1 dos dados. No entanto, a imageminteira era utilizada. Diante disto viu-se a possibilidade de melhorar tal técnica, simplesmente utilizandoum algoritmo de aglomeração, mas não sobre a imagem inteira e sim sobre regiões de interesse dentro daimagem. Essas regiões consistem dos olhos, boca e nariz e, utilizando somente essas regiões, o problemada alta dimensionalidade dos dados de entrada da rede neural seria resolvido, pois seria descartada grandeparte da imagem. Diante disto decidiu-se estudar as técnicas de detecção de faces e características faciais.

Os problemas da detecção de características, esbarram nas mesmas dificuldades vistas na detecção deobjetos. Detectar uma característica consiste em: dada uma cena encontrar onde está a face, ou váriasfaces, bem como identificar seus componentes como olhos, boca, nariz. O funcionamento dos sistemas dedetecção de faces e de características podem ser visualizados através da Figura 1.1, na qual é mostrada uma

1do inglêsclustering

6

Page 7: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 1. INTRODUÇÃO 7

imagem. O objetivo do sistema é detectar a face os olhos, o nariz e a boca.

Figura 1.1: Típico sistema de detecção de faces e características. Uma imagem é apresentada ao sistemapara que o mesmo detecte a face e seus componentes: olhos, boca e nariz.

1.1 Estrutura do Trabalho

Seguindo a mesma linha do Trabalho Individual I, as técnicas estudadas foram classificadas, segundo oscritérios apresentados em [YAN02] e [ERI01]. Basicamente o trabalho está divido em detecção de fa-ces e detecção de características faciais. No Segundo capítulo são apresentadas as principais técnicas dereconhecimento de face, subdividas em:

• Métodos Baseados em Conhecimento:representam as técnicas que de alguma maneira codificamalgum conhecimento sobre o que é uma face. Geralmente se baseiam em atributos geométricos daface codificados em forma de regras.

• Métodos Baseados em Características Invariantes:representam as técnicas que identificam ca-racterísticas da face independente de sua orientação. Tais técnicas geralmente utilizam segmentaçãode pele e modelagem estatística da textura da face humana.

• Métodos Baseados emTemplates: é uma técnica geral utilizada para detectar objetos, onde o mesmoé representado por uma família de curvas que modelam suas características geométricas. Tambémpode ser considerada uma técnica baseada em conhecimento, uma vez que, o projeto datemplatenecessita do conhecimento da forma do objeto.

• Métodos Baseados na Aparência:representa as técnicas que não necessitam de conhecimentoprévio sobre a característica a ser detectada. Geralmente as técnicas que pertencem a este grupo,necessitam de várias imagens e, a partir, delas elas aprendem ou codificam somente o que é necessá-rio para realizar a detecção da característica de interesse, sem a necessidade de intervenção humana.Exemplos de tal abordagem são as Redes Neurais,Eigenfacese Modelos Ocultos de Markov.

No Capítulo 3, novamente serão apresentadas técnicas baseadas no conhecimento, mas sob a ótica da de-tecção de características. Naquele capítulo será apresentada, mais uma vez, a técnica detemplates,mas deuma forma bem mais aprofundada do que no Capítulo 2. Como esta técnica é uma ferramenta básica para adetecção de objetos, os mesmos conceitos abordados valem para a detecção de faces, bem como para qual-quer objeto passível de ser expresso através de formas geométricas básicas. Em seguida será apresentadaoutra técnica proposta por Machel Kasset al [KAS87] , mais flexível do que astemplates, denominadaModelos de Contorno Ativo (Active Contour Models)ou comumente conhecida comosnakes. A diferença

Page 8: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 1. INTRODUÇÃO 8

básica entretemplatese snakesé que a primeira utiliza um conhecimento global do objeto, enquanto quea última é guiada por conhecimento local obtido através de características pertinentes a imagem, comopicos, vales e bordas. No entanto, no final do Capítulo 3 será descrita uma técnica interessante, propostapor Holbertet al [HOL95], que utiliza a combinação detemplatese snakespara leitura de lábios a partirde seqüências de vídeo.

Em seguida, no Capítulo 4 será apresentada uma técnica de detecção de características, que vem ga-nhando cada vez mais destaque dentro da Visão Computacional. A técnica denominada Transformada deGabor, ou comumente conhecida como Filtros de Gabor, contribui muito para a concretização do obje-tivo principal da Visão Computacional, descrito no início deste capítulo, pois o conjunto de funções quecompõe os filtros de gabor, segundo Lee [LEE96], modelam os campos receptivos das células do córtexvisual humano localizado no cérebro. E finalmente, no Capítulo 5 serão apresentadas as conclusões destetrabalho.

Page 9: Detecção de Faces e Características Faciais - PUCRS

Capítulo 2

Detecção de Faces

Umas das tarefas que devem ser realizadas na maioria dos Sistema de Reconhecimento de Faces (SRF) édetectar a presença da face em uma determinada imagem. Detectar a face antes de detectar cada caracte-rística em particular poupa muito trabalho, uma vez que a maioria dos algoritmos se baseia na procura portais elementos em toda a imagem. A vantagem de se detectar a face, em um primeiro momento, é que apósesta fase a procura pelas características fica limitada apenas em uma determinada região da imagem.

Como em qualquer problema a ser resolvido, as técnicas de detecção de faces, apresentadas nas seçõesseguintes, apesar de suas diferentes abordagens, esbarram em alguns problemas comuns como[YAN02]:

• Pose:as imagens de face variam de acordo com a posição da câmera que registrou a imagem

• Expressão Facial:a expressão da face influência diretamente na aparência da imagem de face.

• Presença de Elementos Estruturais:a presença de elementos como barba, bigode e óculos quepodem modificar as características em termos de tamanho, luminosidade, etc...

• Ocultação: no caso de imagens feitas em ambientes não controlados as faces podem aparecer, parcialou totalmente sobrepostas, por objetos ou até mesmo por outras faces.

A seguir nas próximas seções serão mostradas as principais abordagens de detecção de faces e algunsexemplos pertencentes a cada uma delas.

2.1 Métodos Baseados em Conhecimento

Os métodos baseados em conhecimento representam as técnicas de detecção de faces que utilizam algumabase de regras estabelecida a partir do conhecimento prévio sobre o problema, ou seja métodos que possuemregras que definem o que é uma face, de acordo com o conhecimento do pesquisador. Por exemplo, sabemosque faces humanas possuem determinadas características válidas para a maioria de suas instâncias, como:todas as faces teoricamente possuem dois olhos, um nariz e uma boca. Além disso, esses elementos seencontram distribuídos de maneira específica sobre a face. Com este conhecimento é possível estabelecerregras que identificam uma face humana.

Este método sofre de algumas desvantagens inerentes a construção do conjunto de regras. Se as regrassão muito gerais, corre-se o risco de que o sistema que as utiliza apresentar uma alta taxa de falsos positivos,ou seja, elementos erroneamente identificados como face. O inverso também é verdadeiro, ou seja, umconjunto de regras muito específico pode ser ineficaz ao tentar detectar faces se estas não satisfizeremtodas as regras, caindo muito a precisão da detecção [YAN02].

Como exemplo de tal abordagem podemos citar a técnica construída por Yang e Huang[YAN02], a qualutiliza um método de detecção de faces baseado no conhecimento, implementado com o uso de conjuntosde regras hierárquicas. O primeiro nível de regras tem como objetivo detectar os possíveis elementoscandidatos a faces, retirados da imagem através de um algoritmo de janela deslizante. Basicamente oprimeiro conjunto de regras descreve de maneira geral o que é uma face. O segundo nível contém descrições

9

Page 10: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 10

dos componentes da face como olhos, boca e nariz, necessário para confirmar a validade dos elementosextraídos no nível anterior. Na figura 2.1 temos um exemplo da detecção de faces, onde imagens emmúltiplas resoluções são formadas através da aplicação da média em uma amostragem depixels, ou seja,toma-se um determinada número depixels n,geralmente contidos em um quadrado (janela depixels) esubstitui-se o valor dos mesmos pelo valor médio dospixelscontidos dentro do quadrado. As regras sãoaplicadas de acordo com a resolução da imagem, por exemplo: em baixa resolução uma determinada regraidentifica a região central do rosto por meio da afirmativa de que as quatro células centrais tem luminosidadeuniforme, conforme mostra a Figura 2.2.

Figura 2.1: Figura em várias resoluções. (a) imagem original n=1. (b) n=4. (c) n=8. (d)n=16. Cadapixelde uma célula quadrada de tamanhon x n tem seu valor substituído pela média do valor da intensidadepixelsda célula [YAN02].

Figura 2.2: Exemplo de uma face em uma determinada resolução utilizadas para detectar faces através deregras que utilizam o conhecimento sobre a distribuição de luminosidade da imagem.

Kotropoulos e Pitas [KOT97] utilizam um sistema baseado em regras onde características faciais sãolocalizadas com o auxílo das projeções verticais e horizontais da imagem de face, definidas como:HI(x) =Σn

y=1I(x,y) e VI(x) = Σmx=1I(x,y), considerando uma imagem de tamanhon x m. As projeções verticais

são utilizadas para localizar determinadas características faciais como os olhos por meio da detecção demínimos locais da projeção. O mesmo tratamento é dado à projeção horizontal,HI , onde dois mínimoslocais obtidos através da detecção de mudanças bruscas na projeção, correspondem ao lado esquerdo edireito da face respectivamente, Figura2.3. Uma desvantagem desta técnica é que a detectação da face bemcomo as características faciais ficam comprometidas quando a imagem possui um fundo complexo.

Page 11: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 11

Figura 2.3: Projeções verticais (embaixo de cada figura) e horizontais (no lado da figura) de figuras embaixa resolução. A detecção da face é feita pela análise dos picos presentes na projeção horizontal e osvales presentes na projeção vertical. [YAN02].

2.2 Métodos Baseados em Características Invariantes

Em contraste com o método visto na seção anterior, os metódos que serão vistos nesta seção incorporamtécnicas que tem por objetivo encontrar características invariantes da face. Particularmente, estes métodossão inspirados na capacidade que os seres humanos possuem de identificar objetos independentes do pontode vista. A principal desvantagem de tal abordagem é que tais características podem ser corrompidasdevido as condições de iluminação ou algum tipo de ruído, comprometendo assim, a eficiência de talabordagem [YAN02]. A cor da pele e a textura da face são as principais características invariantes quepodem ser utilizadas para separar a face de outros objetos presentes em uma cena [YAN02]. No casoda cor, a informação contida somente na escala de cinza se consitui numa representação básica do objeto,enquanto que a utilização de todo o espectro de cores possível dispõe de informações muito mais poderosasquanto a aparência do objeto. Com relação a face humana constatou-se que a cor da pele independentede suas variações (branca, negra, amarela, etc), tende a formar umclusterno espaço de cores, podendoser modelada por um distribuição Gaussiana [WAN99], Figura 2.4. Portanto, esta característica pode serexplorada para detectar a presença de uma face em uma imagem colorida e classificar regiões como face enão-face [SAB98], sendo que esta última é extremamente útil quando se deseja detectar mais de uma faceem uma imagem.

Page 12: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 12

Figura 2.4: (a) região da face selecionada, (b)clusterde cores no espaço de cores (RGB) e (c)clusternoespaço cromático: “cores puras” [FER00].

Em [BHU03] a cor da pele é utilizada para determinar a região da face. As cores relevantes e dominan-tes são extraídas de imagem em RGB. Em seguida a imagem é transformada para o espaço de cores YIQdescrito pelas componentes: matiz (hue), luminosidade e saturação. Este sistema de cores é universalmenteutilizado em transmissões coloridas de televisão e produz uma transformação linear do RGB que gera Yrepresentando a luminosidade e I,Q os dois canais que contém a informações para tratar cores. A matriz detransformação do espaço de cores RGB para YIQ é dada pela seguinte equação: Y

IQ

=

0.299 0.587 0.1140.596 −0.275 −0.3200.212 −0.523 0.311

RGB

Uma vez que a cor da pele tende a se aglomerar numa região do espaço de cores umthresholdé

utilizado para detectar ospixels de pele (skin pixels). Nos experimento de Buhiyanet al [BHU03] oseguintethreshold,determinado empiricamente, é utilizado:

(60< Y < 200)AND (20< I < 50) (2.1)

Logo após a aplicação da Equação 2.1 tem-se apenas ospixelsque possivelmente fazem parte da pelehumana. Para localizar efetivamente a face toma-se a imagem com maior região conectada depixelsdepele. Um exemplo de resultado da aplicação desta técnica pode ser visto na Figura 2.5. Também naFigura 2.6 temos outro exemplo da aplicação da mesma técnica descrita acima, onde a única diferença éque a segmentação das cores foi feita a partir de imagens normalizadas representadas no espaço de cores

Page 13: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 13

r-g. Segundo Wanget al [WAN99] a técnica permitiu atingir resultados com 100% de sucesso quando foitestada em 50 imagens obtidas a partir de câmeras CCD.

Figura 2.5: Detecção da face por meio da cor da pele: (a) Imagem face típica. (b) Segmentação da cor dapele. (c) Maior região conectada depixelsde pele [BHU03].

Figura 2.6: Segmentação da cor da pela aplicada na imagem (a) e o resultado na imagem (b)[WAN99].

Apesar dos bons resultados apresentados acima, o sucesso ou fracasso das técnicas baseadas em seg-mentação da cor da pele está ligada com a maneira que a cor está representada, ou seja, o espaço de cores noqual a imagem está definida influi na precisão da detecção da face. Saber [SAB98] adverte que a utilizaçãodo espaço de cores RGB torna a técnica de segmentação de cores sensível a luminosidade. Devido a estadesvantagem outros espaços de cores foram propostos com intuito de tornar mais robustos os algoritmosque utilizam a cor da pele. Como exemplo podemos citar o YCbCr (luminance-chrominance),utilizado emvárias aplicações de segmentação de pele. Entretanto Saber [SAB98] destaca a utilização do sistema decores YES (definido pelaSociety of Motion and Television Engineers), onde Y representa a luminosidade,E e S representam as componentes de cor. A principal vantagem deste espaço de cor é que ele reduz asvariações na cor (chrominance) e principalmente por que permite calcular as componentes E e S a partirde uma imagem RGB apenas fazendo deslocamentos debits, sem a necessidade de multiplicações, o quereflete de maneira positiva no desempenho dos algoritmos.

Entretanto, independente dos espaço de cores utilizado as técnicas de segmentação de pele permiteimplementar detectores de face suficientemente rápidos para serem utilizados em tarefas de rastreamento

Page 14: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 14

de faces (face tracking)[VEZ03], úteis em áreas como segurança e interfaces inteligentes. Apesar das van-tagens de utilizar a cor para detectar a pele, um problema ocorre quando tem-se objetos com cores seme-lhantes a pele, consequentemente provocando a ocorrência de falsos positivos. Em vista destas limitações,em tarefas como detecção e rastreamento de faces, geralmente a segmentação de pele vem acompanhadapor outras técnicas que utilizam informações inerentes a forma do objeto (no caso a face) e informações domovimento para localizar e rastrear a face [YAN02].

A outra característica invariante utilizada na detecção de objetos, juntamente com cores é a textura.A utilização da textura para detectar objetos se deu com a tentativa de responder perguntas como: comopode o ser humano reconhecer um objeto que ora apresenta uma determinada forma e ora apresenta outraforma completamente diferente como no caso das roupas? Da mesma maneira a face humana muda dras-ticamente dependendo do ponto do vista, pois a face em um ângulo frontal é completamente diferente sefor vista de perfil. Apesar disso, é possível reconhecê-la. Rikert [RIK99] argumenta que a textura, assimcomo a cor, também é independente do ponto de vista. A textura pode ser encarada como uma distribui-ção probabilística, ou seja, ela é gerada a partir de um processo estocástico que fornece algum padrão apartir de permutações aleatórias. O autor utiliza uma transformada dewaveletsguiada (steerable wavelettransform) ou também chamada de transformada de wavelets em pirâmide (steerable wavelet pyramid). Autilização dewaveletspermite analisar a imagem em diferentes escalas e orientações [BUR98]. A hipótesede Rikert é que imagens perceptualmente diferentes possuem distribuições similares em diferentes bandase orientações. A aplicação dewaveletsna imagem resulta em um conjunto de coeficientes independentesentre si, mas não independentes quando a mesma transformada é feita em diferentes escalas da mesma ima-gem. Para capturar esta dependência Rikert utilizou um conjunto de vetores denominadoparent vectors,que nada mais são do que a coleção de respostas de filtros aplicados em diferentes escalas da imagem. NaFigura 2.7 temos um exemplo doparent vector.

Figura 2.7: Exemplo da estruturaparent vector.Os filtros são aplicados em várias resoluções da imagem.O escalamento da imagem é representado pelosgrids acima, formando uma pirâmide de imagens. Osegmento de reta representa ospixels nos quais os valores dos filtros formam um únicoparent vector[RIK99].

Antes de calcular osparent vectors,uma imagem de entrada I é transformada em uma pirâmide deimagens através da utilização de uma função Gaussina Piramidal aplicada sobre a imagem 2.7. Cada nívelda pirâmide é reescalado em um fator de 2 em cada dimensão. Em seguida, em cada nível da pirâmide umasérie de filtrosF j

i = fiN

G j é aplicado em cadapixel, sendofi a derivada do filtro. Portanto para cadapixelo parent vectoré determinado pela seguinte equação:

−→V (x,y) =[F0

0 (x,y),F10 (x,y), ...,FN

0 (x,y),F0

1 (⌊

x2

⌋,⌊ y

2

⌋),F1

1 (⌊

x2

⌋,⌊ y

2

⌋), ...,FN

1 (⌊

x2

⌋,⌊ y

2

⌋), ....

F0M(⌊

x2M

⌋,⌊ y

2M

⌋),F1

M(⌊

x2M

⌋,⌊ y

2M

⌋), ....,

FNM (⌊

x2M

⌋,⌊ y

2M

⌋) ]

Após a obtenção dosparent vectorsestes são agrupados em classes através da aplicação de um al-goritmo de “clusterização” para que posteriormente seja possível construir um modelo gaussianno mistoque generalize a distribuição. A classificação de uma imagem de entrada é feita através do cálculo deprobalibilidadeP(C|v)de um vetorv pertencer a classeC, através da seguinte equação:

Page 15: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 15

P(C|v) =P(v|C)P(C)

P(v|C)P(C)+P(v|C)P(C)

Um resultado prático da aplicação desta técnica pode ser visto na Figura 2.8, onde ocluster a quepertence um determinadoparent vectoré destacado. Nos testes foram usados 1447clusterspara modelara face. Na Figura 2.8 o resultado vem da tentativa de se construir um detector de características modeladasatravés de taisclusters, ou seja, utilizar oclusterpara detectar características da face.

Figura 2.8: Exemplo de resultado obtido por[RIK99]. Na figura são mostrados apenasclusterscorrespon-dentes a determinadas características. Váriosclusters(1447) são tomados para verificar a presença ou nãoda face. Mas há a possibilidade de transformar o detector de face em detector de características apenasavaliando oclusterassociado a uma característica .

Em [LUO00] é apresentado um algoritmo de detecção de faces que utiliza a textura de maneira similarao que foi dito acima, entretanto a geração dos vetores característicos não é feita no domínio depixels,mas sim no domínio DCT (Discrete Cosine Transform), que segundo o autor é mais eficiente em termoscomputacionais que o domínio depixels. Como a técnica é aplicada sobre imagens no formato JPEG eMPEG a transformação do domínio depixelsdeve ser feito em blocos de 8x8, pois tais formatos dividem aimagem em blocos de 8x8. Além disso, qualquer detecção deve ser localizada em blocos e não empixels.O problema da detecção de face é tratada como um problema de classificação de vetores unidimensionaise os vetores característicos da imagem são contruídos diretamente dos blocos 8x8 do domínio DCT e serãocompostos pelosd menores parâmetros DCT definidos por:

d =N

M ∗M,

ondeN é o tamanho do vetor característico desejado obtido a partir de uma imagem de face de tamanhoMxM. Com objetivo de tornar a técnica capaz de tratar imagens com várias resoluções os modelos de facese não-face foram criados em 6 escalas diferentes. Em seguida os vetores característicos são clusterizadosem 6 clustersde distribuição gaussiana, através da aplicação do algoritmoK-means, mas com cálculode distância baseado na distância gaussiana logarítmica no lugar da distância euclidiana. Os testes feitosutilizando somente a textura não foram superiores devido a quantização da imagem em blocos. Diantedisso, a precisão da detecção foi melhorada pela utilização do algoritmo de textura juntamente com umalgoritmo de detecção baseado em cores. Embora Luo [LUO00] admita que mesmo com a combinaçãodo algoritmo de textura com um algoritmo de cores não resultou em uma taxa de detecção melhor do queos algoritmos puramente baseado em cores no domínio depixels, esta técnica é a primeira a trabalhar em

Page 16: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 16

um domínio DCT comprimido e é particularmente útil quando há a necessidade de analisar uma grandequantidade de dados visuais armazenados em formatos comprimidos como JPEG e MPEG comuns emaplicações multimídia.

2.3 Métodos Baseados emTemplates

Uma técnica clássica de detectar objetos é procurar pelo mesmo dentro da imagem e testar se ele corres-ponde a um modelo prévio da sua forma. Uma das formas mais comuns de modelar a forma de um objetoé descrevê-lo através de seus componentes geométricos básicos, como círculos, quadrados ou triângulos,esta técnica é denominadatemplate. A detecção do objeto, portanto, consistirá em achar a melhor corres-pondência, definida através de uma função de energia, entre o objeto presente na imagem e o seu molde(template) . No caso de detecção de faces atemplatemais utilizada é aquela que trata a face como umelipse. Exemplos de utilização desta técnica para detecção de faces em imagens estáticas podem ser encon-trados em [ALA99, LEE01], bem como pode ser aplicada em sequências de imagens [VEZ03]. Geralmentea utilização deste modelo envolve a procura pelo objeto na imagem que pode ser feita através de heurísticasou algoritmos genéticos [WON00, LEE01]. Como tal técnica é extremente flexível podendo ser usada paradetectar qualquer objeto passível de ser representado por formas geométricas (geralmente objetos sólidos).Esta técnica está melhor descrita no próximo capítulo onde será apresentado a utilização detemplatesparadetectar características faciais.

2.4 Métodos Baseados na Aparência

Os métodos que compõe a abordagem baseada na aparência (appearence based methods), recebem estenome devido ao fato de não utilizarem nenhum conhecimentoa priori sobre o objeto ou características aser detectada. Nesta classe de algoritmos surge os conceitos de aprendizado e treinamento, uma vez queas informações necessárias para realizar a tarefa de detecção são retiradas do próprio conjunto de imagenssem intervenção externa. Portanto, veremos nas próximas seções técnicas que capturam as informaçõesde que precisam para detectar ou reconhecer um objeto a partir de um conjunto de imagens criando umarepresentação interna do objeto de interesse.

2.4.1 Eigenfaces

O métodode eigenfacesproposto por Turk e Pentland [TUR91] é baseado na transformada de Karhunen-Loève (KLT), ou PCA (Principal Component Analysis), e é motivada pelo trabalho anterior de Sirovich eKirby [KIR90] devido a sua eficiência na representação de figuras.

Segundo Pentland e Turk [TUR91] as imagens de faces não se encontram distribuídas de forma aleatóriaem um espaço de alta dimensionalidade, portanto elas podem ser descritas de alguma forma em um espaçode dimensão menor. De acordo com esta idéia, faz-se o uso da transformada KLT com o objetivo de acharos vetores que melhor descrevem a distribuição de imagens dentro do espaço de imagens inteiro. Taisvetores são denominadoseigenfacesdevido a semelhança que possuem com as imagens de faces, Figura2.9.

Figura 2.9: A esquerda temos três imagens originais e a esquerda a projeção delas no espaço deeigenfaces.

A determinação da nova base de vetores é feita da seguinta maneira: ConsiderandoI(x,y) uma imagemde duas dimensõesNxN, ou um vetor de dimensãoN2. A partir de um conjunto de imagens de testes

Page 17: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 17

I= {I1, I2, ..., IM}, encontra-se a face médiaf m do conjunto definida por:

f mj = 1M ∑M

i=1 I ji

ondeI ji refere-se ao pixelj da imagemi.

Cada face difere da média por:

φi = Ii − f m

O conjuntoI é submetido ao PCA que acha um conjunto deM vetores ortonormaisuk e seus respecti-voseigenvaluesλk que melhor descrevem a distribuição do conjuntoI . Os vetoresuk e os escalaresλk sãorespectivamente os autovetores e os autovalores da matriz de covariância definida por:

C = 1M ∑M

n=1 φnφTn = AAT

onde a matrizA = φ1,φ2, ...,φM. A dimensão deA é N2, o que torna o cálculo dosN2 eigenvalueseeigenvectorsuma tarefa intratável para imagens de tamanho típico como 128x128 pixels, que neste casonos fornece uma matriz de covariância de 1282x1282. Precisamos de outro método de se calcular oseingenvectorsque não seja tão dispendioso.

Felizmente existe uma maneira de se obter oseigenvectorsatravés da resolução de uma matriz de di-mensãoM e realizar-se combinações lineares dos vetores resultantes [TUR91]. Tal análise permite umagrande redução dos cálculos da ordem deN2 (número de pixels da imagem) para a ordemM (número deimagens no conjunto de treinamento). Como o conjunto de treinamentoM é, geralmente muito pequeno,ou seja,M � N2, teremos um número de cálculos bastante reduzidos. Oseigenvaluesassociados a cadaeigenvectornos permite organizar cadaeigenvectorde acordo com a sua utilidade na caracterização dasvariações entre as imagens. Se aproveitando do fato de que as faces não mudam radicalmente quandoprojetadas no espaço deeigenfaces,mas quando um objeto arbitrário (não-face) é projetado neste mesmoespaço ele muda sua aparência drasticamente, pode-se então utilizar esta técnica para detectar faces ape-nas calculando a distância do objeto projetado em relação ao cluster de face projetadas e através de umthresholdverificar se este é uma face ou não [TUR91].

2.4.2 Redes Neurais

As Redes Neurais Artificiais (RNA’s) são modelos matemáticos biologicamente inspirados, com o intuitode emularem os processo cognitivos do cérebro humano. Em várias tarefas como classificação e reco-nhecimento de padrões estes modelos tem demonstrado grande eficiência. No caso de detecção de faces,geralmente a utilização de RNA consiste em utilizar a rede para difenciar imagens ou regiões da imagemque, possivelmente contenham uma face, daquelas imagens ou regiões que não contém face, ou seja, afunção da rede é apenas classificar as imagens em duas classes possíveis: face e não-face.

Em [ROL96] é apresentado um sistema de detecção de faces beaseados em redes neurais. Neste sistemauma imagem de entrada é percorrida por um filtro que consiste em um janela de 20x20 que extrai regiõesda imagem onde podem existir faces. Logos após a extração da possível região de face, ela é submetida àequalização de histograma e a normalização da luz, devido as várias condições de luminosidade. Se a facefor maior que o tamanho da janela a imagem é subamostrada repetidamente por um fator de 1.2 e o filtro éaplicado em cada subamostragem, Figura 2.10. Cada bloco da imagem depois de extraído e pré-processadoé enviado para uma rede neural que decidirá se nele existe ou não uma face. A rede é composta de váriascamadas com arquiteturas diferentes, Figura 2.10, chamadas campos receptivos. Cada camada avalia umaparte de imagem com a finalidade de detectarem características que podem ser úteis para determinar apresença da face. A rede apresenta como resposta um único valor que determina a existência ou não daface. Um teste realizado por Rowley [ROL96] com uma rede possuindo 78 neurônios intermediários e4357 conexões apresentou um a taxa detecção correta de face na ordem de 92.7%, sendo que as imagensde teste foram coletadas da Internet.

Page 18: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 18

Figura 2.10: Funcionamento do algoritmo de detecção de faces baseado em RNA [ROL96].

A estratégia descrita acima é eficaz apenas na detecção de faces frontais ou com leves variações narotação. Diante desta limitação Rowley extendeu essa técnica de modo que a mesma seja robusta quanto arotações de face. A modificação consiste na utilização de outra rede neural chamada rede roteadora (routernetwork) que é responsável por determinar o ângulo de rotação da face. A arquitetura da rede roteadoraconsiste de uma camada de entrada com 400 unidades, uma camada intermediária com 15 unidades e,finalmente uma camada de saída com 36 unidades. O ângulo da face é expresso como um vetor contendoos valores das 36 saídas, onde cada unidade de saídai representa um ângulo dei ∗10o. Como cada unidadefoi treinada para responder o valorcos(θ− i ∗10◦) quando uma face com ânguloθ é apresentada, entãocada saída é interpretada como um peso para um vetor na direção indicada pela unidadei. A partir daí umasoma ponderada é obtida pela Equação 2.2 e a direção desse vetor médio indica o ângulo da face.(

35

∑i=0

out puti ∗cos(i ∗10◦),35

∑i=0

out puti ∗sin(i ∗10◦)

)(2.2)

Logo após aplicação da rede roteadora sobre uma janela e determinada a direção da possível face, ajanela é rotacionada em sentido contrário de modo a deixar a possível face em uma vista frontal (uprightview).A partir o funcionamento do algoritmo é igual ao algoritmo descrito em [ROL96]. Na Figura temosuma descrição gráfica do funcionamento deste algoritmo.

Figura 2.11: Descrição gráfica do algortimo de detecção de faces rotacionadas [ROL98].

2.4.3 Hidden Markov Models

Historicamente os Modelos Ocultos de Markov(Hidden Markov Models - HMM) tem sido uma ferramentaútil no reconhecimento de fala [RAB89]. Tais modelos possuem como principal característica a capacidadede caracterização de propriedades estatísticas de um sinal. HMM são compostos pelos seguintes elementos:

1. N, número de estados do modelo eS= {S1,S2, ...,SN} o conjunto de estados.

Page 19: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 19

2. M número de símbolos diferentes eV = {v1,v2, ...,vM} o conjunto de diferentes símbolos de obser-vação

3. A, matriz de probabilidade de transição, ondeA = {ai j } e ai j = P[qt = Sj |qti−1 = Si ]1≤ i, j ≤ N,considerando queqt é um estado do modelo no instantet, 0≤ ai, j ≤ 1e∑N

j=1ai j = 1,1≤ i ≤ N

4. B = b j(k), matriz de probabilidades dos símbolos de observação, onde

b j(k) = P[Ot = vk|qt = Sj ] 1≤ j ≤ N≤ k≤M

Ot é o símbolo observado no instantet.

5. Π, distribuição inicial de estados ondeΠ = {πi} onde

πiP[q1 = Si ],1≤ i ≤ N

Entretanto podemos definir um HMM pela triplaλ = (A,B,Π).

Nefian [ARA96, ARA98] utiliza HMM tanto para detecção como para o reconhecimento de faces frontais.Em sua técnica cada estado do HMM está associado a uma região da face (cabelo, testa, olhos, nariz eboca, sempre nesta ordem), Figura 2.12. Cada imagem do conjunto de treinamento possui larguraW ealturaH e são divididas em blocos que se sobrepõe de alturaL e mesma larguraW, Figura 2.13. Todosos blocos extraídos das imagens são arranjados em forma de um vetor-coluna consistindo de todos ospixelsque pertencem ao bloco e, logo após constrói-se uma matriz de covariância que, através do uso datransformada KLT obtem-se uma nova base vetores (KLT basis). Em seguida cada vetor é projetado na novabase, formando-se assim um conjunto devetores de observaçãocom um número de dimensões reduzidas.Portando, a partir do conjunto de imagens de um indivíduo extrai-se um conjunto de vetores de observaçãoe cada um deste é associado a um estado do HMM e usado para obter as estimativas iniciais da matrizB.O restante do treinamento é feito através do uso dos algoritmo de segmentação uniforme e do algoritmode Viterbi. O treinamento é um processo iterativo e pára quando a probabilidade de segmentação Viterbié menor do que um limiar. Os parâmetros finais do HMM são obtidos através do procedimento recursivoBam-Welch.

Figura 2.12: HMM utilizado para a detecção e reconhecimento de faces.

Figura 2.13: Imagem de face dividida em blocos para a extração dos vetores característicos.

Page 20: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 2. DETECÇÃO DE FACES 20

Para que seja possível identificar uma face, independente de sua indentidade o HMM deve ser treinadocom um modelo genérico de face humana obtido a partir de uma grande conjunto de imagens de face.A ocorrência de uma face é determinada quando a probabilidade de saída do HMM estiver acima de umlimiar (threshold). Segundo [ARA98] a utilização de HMM permite construir sistemas de detecção ereconhecimento robustos quanto a diferença de escala e variações na orientação e expressões da face.

Neste capítulo foram vistas as principais técnicas de detecção de faces, que são extremamente úteisem sistemas de reconhecimento de faces, vigilância e interfaces inteligentes homém-máquina. No casodo reconhecimento de face a detecção da mesma permite diminuir muito a dimensão dos dados, pois oprocessamento ficará restrito apenas à região da face. Também em sistemas de detecção de características,como detecção de olhos, saber onde onde está a face é crucial para o desempenho do sistema, pois reduz oespaço de procura por tais elementos não havendo mais a necessidade de analisar a imagem inteira.

Page 21: Detecção de Faces e Características Faciais - PUCRS

Capítulo 3

Método de Detecção UtilizandoConhecimento

3.1 Introdução

Neste capítulo iniciaremos um estudo sobre a detecção das características faciais específicas como olhos,boca e nariz. Os conceitos expostos no capítulo anterior também são válidas para os problemas aquianalisados. Pode-se afirmar sem perda de generalidade que a maioria das técnicas estudadas até agorase constituem em ferramentas úteis tanto para detectar a face como também as características faciais etambém servindo para detectar qualquer objeto. Este capítulo aborda técnicas que se baseiam no conheci-mento que o pesquisador possui sobre um determinado objeto que deseja identificar em uma imagem ouseqüência de imagens. Geralmente este conhecimento se limita às características do objeto. Portanto adescrição do objeto é feita, na maioria das vezes, por representações utilizando formas geométricas básicascomo retângulos, triângulos, círculos, ou a combinação destes. Nas próximas seções serão abordadas duasdas principais técnicas utilizadas atualmente para detectar objetos, que utilizam conhecimento:templatesdeformáveis e modelos de contornos ativos (Active Contour Models).

3.2 TemplatesDeformáveis

A técnica de templates deformáveis proposta por Yuille [YUI92] consiste em descrever um determinadoobjeto através de formas geométricas simples como círculos ou parábolas, servindo para modelar a formade algum objeto, que pode ser descrito através de uma coleção de curvas parametrizadas que juntas descre-vem a forma geométrica do mesmo[SHA91, RAD95].

As templates deformáveis são flexíveis permitindo o ajuste de seu tamanho, largura e outros parâmetrospara se encaixarem com os dados. A template interage dinamicamente com a imagem de acordo com umafunção de energia definida em termos dos parâmetros das curvas e formas utilizadas para construí-la. Afunção de energia é formulada de tela maneira que a energia é baixa quando atemplatese encaixa coma geometria da característica de interesse na imagem [SHA91]. Como foi dito, a energia é uma funçãode todos os parâmetros da template e definidos em termos dos vales, picos e bordas presentes na imagempodendo ser expressos pela seguinte equação:

E = Evales+Ebordas+Epicos (3.1)

Em [SHA91] a equação abaixo é utilizada para minimizar os parâmetros da template utilizada paradetectar os olhos, motrada na Figura 3.1:

E = Ev +Ee+Ei +Ew +Ep +Eint , (3.2)

ondeEv, Ee, Ei , Ew,, Ep e Eint denotam a energia dos vales, bordas, imagem, partes brancas, picos eenergia interna respectivamente. Cada termo é definido pelas equações abaixo:

21

Page 22: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 22

Ev =− C1

Area

Z Ziris−area

Φv(−→x )dA

Ee =− C2

Length

Ziris−edge

Φe(−→x )dS− C3

Length

Zparabola

Φe(−→x )dS

Ei =C4

Area

Z Ziris−area

Φi(−→x )dA

Ew =− C5

Area

Z Zwhites

Φw(−→x )dA

Ep =−C6

{Φp(

−→P 1)+Φp−−→(P2)

}

Eint = K12 (−→X e−

−→X c)2 + K22

(p1− (r+b)

2

)2+ K2

2

(p2− (r+b)

2

)2+

+K32 (b−2r)2 + K4

2 (a−0.8r)2 + K42 (c−0.8r)2 +K5e−βr

Onde os termosΦv,Φe,Φi , ,Φw,Φp, denotam os campos potenciais para o vale, bordas, imagem origi-nal, partes brancas e picos respectivamente. A minimização de cada termo acima provaca a minimizaçãode toda a template e consequentemente a melhor correspondência (matching)entre ela e a imagem.

Figura 3.1: Template utilizada por [YUI92] para detectar olhos.

Um outro exemplo pode ser visto na Figura 3.2, onde fica fácil notar o grau de liberdade que se temquando esta técnica é utilizada para modelar objetos, pois podemos notar que na primeira figura (Figura3.1) tem-se muito mais parâmetros a serem atualizados do que na segunda 3.2.

Figura 3.2: Template deformável para detectar olhos [HUA92].

Independente do número de parâmetros datemplate, este são determinados através de um processointerativo onde cada termo da função de energia, como aqueles que compões a Equação 3.2, é minimizado.Devido a esta característica o processo global de minimização da função de custo acaba sendo computa-cionalmente caro. Para acelerar o processo de detecção de características alguns pesquisadores utilizammétodos de busca como algoritmos genéticos (AGs) e heurísticas para determinar onde possivelmente se

Page 23: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 23

localiza um determinado objeto. Com isto o processo de minimização tende a ser mais rápido se a tem-plate está próxima do objeto. Em [LEE01] é apresentado um algoritmo que utiliza AG’s para otimizaros parâmetros da template que modela a face. O modelo da face é definido através de uma elipse com 5parâmetros:(a,b,rx, ry,θ), ondea e b são os diâmetros da elipes,x e y a localização do centro da elipses eθ a orientação da mesma. Segundo Lee [LEE01] o AG torna o processo de busca pela face numa imagemmais rápido e permite obter a solução global. Uma vez que se tenha obtido a localização da região quecontém a face, as caracteriticas faciais são detectadas dentro deste região por um processo semelhante.Outro exemplo que utiliza esta mesma estratégia pode ser vista em [ALA99] que descreve um algoritmopara localizar características faciais. A cabeça é tratada como uma elipse podendo apresentar rotações emtorno de um eixo vertical. Na Figura 3.3 temos um exemplo do modelo utilizado por Alattar [ALA99].

Figura 3.3: Modelo utilizado por Allatar [ALA99] para detectar a cabeça.

Portanto se a cabeça pode ser descrita como uma elipse, então ela pode ser definida por uma equaçãodo tipo:

h(x,y) = ax2 +2bxy+cy2 +dx+ey−1 = 0, (3.3)

ondea,b,c,d,e são osparâmetros da função da elipse. Logo após encontrar a elipse que melhor des-creve a cabeça os parêmetroshcx ehcy (centro da cabeça),hl ehw (altura e largura da cabeça) são utilizadospara estimar a posição das características faciais segundo relações suas geométricas com a face. Os olhospor exemplo são determinados pela relação:

el =hw

5

ondeel significa o tamanho dos olhos. Os centros são determinados pelas equações:

recx = hcx +el cosθrecy = hcy +el sinθ (3.4)

lecx = hcy−el cosθlecy = hcy−el sinθ (3.5)

onde(recy, recy) e (lecx, lecy) denotam os centros dos olho direito e esquerdo respectivamente. Comoas estimativas se baseiam unicamente em grandezas geométricas tem-se apenas localizações aproximadasdas características. Devido a este fato as estimativas obtidas com as relações descritas acima são submetidasa um processo de refinamento para corrigir eventuais falhas e imprecisões na localização das catacterísticas.No caso dos olhos uma janela retangular de larguraw e altural com a mesma inclinaçãoθ é definida sobre aregião dos olhos. Dentro da janela a posição exata dos olhos é calculada através de um processo semelhanteao utilizado por Brunello e Poggio em [POG93] que utiliza as projeções verticais e horizontais definidascomo:

h(x) =h

∑y=0

f (x,y)

Page 24: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 24

v(y) =w

∑x=0

f (x,y)

onde f (x,y) é o valor do pixel e as coordenadas(x,y) são relativas a janela. Conforme a Figura 3.4a,bos vales presentes no gráfico indicam a localização das órbitas do olho esquerdo e direito respectivamente.Neste mesmo gráfico a linha tracejada mostra os valores das projeções filtradas por umthreshold,quefacilita a identificação dos vales de interesse. A localização destes vales é utilizada para refinar a localizaçãoprecisa dos olhos através das equações:

lecx = hcx−kcosθ+msinθlecy = hcy−ksinθ−mcosθrecx = hcx + lcosθ+msinθrecy = hcy + lsinθ−msinθ

ondem indica o centro da janela dos olhos ek a distância entre o vale esquerdo (Figura 3.4b) e o centrofa janela,l a distância entre o vale direito (Figura 3.4b) e o centro da janela. O processo de localização deoutras características é semelhante ao que foi descrito para os olhos. Resumindo, o algoritmo de Alattarconsiste em primeiro determinar a localização da face e, em seguida, usar os parâmetros da elipse paraestimar a localização das demais características faciais. Uma vez que se tenha a estimativa da localizaçãodas características, um processo de refinamento utilizando janelas e projeções integrais é utilizado paradeterminar de forma precisa a posição de cada característica. Com este algoritmo Alattar afirma ter con-seguido bons resultados com imagens extraídas de seqüências de video contendo pessoas conversando ealgumas utilizando óculos. O teste aplicado em 15 seqüencias de vídeo reportou a performance de 97% deacerto para a detecção dos olhos, mas 76% para a detecção da boca.

Figura 3.4: Projeções horizontais e verticais dos olhos obtida a partir da região intera a janela dos olhos.

Como podemos notar no trabalho de Alattar [ALA99]a boca é uma característica difícil de detectar. Emcontrapartida Zhang [ZHA02] desenvolveu um algoritmo especifico para detectar a boca e em qual estadoela se encontra, ou seja, se está aberta ou fechada com o uso de duas templates utilizadas conforme o estadoda boca, Figura 3.5 . O algoritmo de Zhang após detectar a região da boca determina os parâmetros da linhade contorno do lábios. O cálculo desses parâmetros é feito pela seleção de pontos candidatos dentro docontorno da região da boca obtido através da aplicação de filtro de bordas na componente Y da imagem,uma que está definida no espaço de coresYCbCr .

Page 25: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 25

Figura 3.5: As duastemplatesde boca utilizada por Zhang [ZHA02]. Os parâmetros deformáveiswml ewm

rsão os cantos da boca,Cm

i (i = 1,2,3) e Omi (i = 1,2,3,4) são os parâmetros da linha de contorno do lábio.

Através de uma linhalmperpendicular a linha que conecta os cantos da boca, Figura 3.6 seleciona-sepontos de intersecção que estão acima da mesma partindo delm até 0.3lm denotados porPu

i (i = 1,2,3, ...,Nmu ),

enquanto que os pontos de interseção que estão entrelm e 0.5lm são denotados comoPlj ( j = 1,2, ...,Nm

l ) 1.

1a notaçãou e l referem-se a lábio superior e inferior respectivamente.

Page 26: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 26

Figura 3.6: Candidatos para parâmetros descritores do contorno do lábio e a determinação se a boca estáaberta ou fechada. Em (a) temos a boca fechada, em (b) a boca aberta [ZHA02].

As distâncias dos pontosPui e Pl

j são tomados como candidatas para os parâmetros do contorno doslábios. Para determinar o estado da boca o número de candidatos é utilizado. SeNm

l ≥ 2 e Nmu ≥ 2

considera-se que a boca está aberta, mas seNml = 1 eNm

u ≤ 2 ouNmu = 1 eNm

l ≥ 2 a boca está fechada. Emseguida atemplateadequada é selecionada para determinar corretamente a posição do contorno dos lábios.Devido ao uso de duastemplatesZhang utiliza duas funções de custo diferentes. No caso da boca aberta afunção de custo é a seguinte :

f m0 = (k1 f1 +k2 f2 +k3 f3)→MIN, (3.6)

onde :

f1 =−4

∑i=1

1Lyi

Iyi

Ey(X)dS

f2 =−∣∣mAm

u−mAm

o

∣∣− ∣∣∣mAml−mAm

o

∣∣∣+σAmu

+σAmo

+σAml

f3 =∣∣∣σAm

u−σAm

l

∣∣∣+ ∣∣∣σAmo−σAm

l

∣∣∣+ ∣∣∣σAml−σAm

u

∣∣∣ ,sendoEy a borda extraída da imagem,Lyi (i = 1,2,3,4) o tamanhos das parábolas mostradas na Figura

3.5 b,mAmu,mAm

l,mAm

O,σAm

u,σAm

o,σAm

l, são as médias e as variâncias da componenteCr da imagem na região

Page 27: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 27

do lábio superiorAmu , lábio inferior Am

l , e AmO a região entre os lábios, Figura 3.5b. Os coeficientesk

assumem valor 1 nas duas funções dastemplates. A função f2 que as regiões os lábiosAmu ,Am

l e Amo , tem

valores da componenteCr diferentes, mas dentro de cada região o valor é igual. O termof3 considera quea variância do ruído da câmera é o mesmo em todas as regiões. Os parâmetros do lábio superior (Om

1 ,Om2 )

são selecionados do conjunto de pontosPui comNm

u ≥ 2 e os parâmetros do lábio inferior(Om3 ,Om

4 ) comNm

l ≥ 2. Para cada combinação(Om1 ,Om

2 ,Om3 ,Om

4 ) a funçãof m0 determina o custo da combinação, sendo

que a combinação de menor custo é selecionada para descrever o contorno dos lábios. Para o caso da bocaestar fechada a função de custo da respectivatemplatee igual a Equação 3.6, mas os termos que a compõesão dados por:

f1 =−3

∑i=1

1Lyi

Iyi

Ey(X)dS

f2 =∣∣∣mAm

u−mAm

l

∣∣∣+σAmu

+σAml

f3 =∣∣∣σAm

u−σAm

l

∣∣∣, onde os parâmetros do contorno do lábio(Cm

1 ,Cm2 ,Cm

3 ) são retirados dePui ePl

j , Figura(3.5a). De maneirasemelhante como é feito na template da boca aberta, a combinação(Cm

1 ,Cm2 ,Cm

3 ) de menor custo é seleci-onada como os parâmetros para decrever os lábios da boca fechada. Na Figura 3.7 podemos ver um dosresultados obtidos por Zhang num teste realizado em uma seqüência de video.

Figura 3.7: Localização da boca em uma seqüência de vídeo [ZHA02].

3.3 Snake

Devido a utilização de formas especiais de contorno como elipes e parábolas os componentes da facesegmentados através do uso detemplatesdeformáveis tem um aspecto artificial [RAD95], pois no caso deolhos é muito improvável que se encontre olhos perfeitamente elipsóides.

Uma técnica de segmentação mais flexível foi proposta por Michael Kass,et. al. [KAS87]denomi-nada Modelos de Contorno Ativo(Active Countour Models)ou popularmente conhecidos comosnakes.O modelo básico desnakeconsiste numa linha exposta a influência da força da imagem e forças externasrestritivas. A força interna dasnakefaz com ela adquira um formato curvilíneo suave, enquanto que a forçada imagem a atrai em direção às características da imagem como picos, vales e bordas. É uma técnica inte-rativa, onde o usuário pode adicionar termos de energia para a minimização da energia (forças ou energiaexterna) de forma a “empurar” o modelo para a solução desejada (ponto de energia mínima), conseqüente-mente o mesmo atinge a resposta desejada quando asnakeé posicionada próxima a região a ser detectada[KAS87]. Segundo [Huang,1992] esta técnica é indicada quando se deseja detectar características faciaiscomo sobrancelhas e narinas e a própria face, uma vez que estas características variam muito de acordo

Page 28: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 28

com a pessoa, tornando complicado o uso detemplatesdeformáveis. Representando a posição dasnakeporVS = (x(S),y(S)) podemos escrever a função de energia da seguinte maneira[KAS87]:

Esnake=Z 1

0EinternalV(S)d(S)+

Z 1

0EimageV(S)d(S)+

+Z 1

0EconstraintsV(S)d(S) (3.7)

ondeEinternal representa a energia interna do contorno devido as ”curvaturas” ,Eimagesa energia daimagem, e finalmenteEconstraints representa a energia externa.

A energia interna pode ser escrita da seguinte forma:

Einternal =(α(s)|Vs(S)|2 +βss(S)|V(S)|2)

2(3.8)

onde a energia da linha é composta pelo termoα(s) que faz com quesnakese comporte de formaelástica, enquanto que segundo termoβ(s) tende a acrescentar rigidez ao modelo. A energia da imagem(Eimage) é utilizada de modo para atrair a função de minimização para características pertinentes a própriaimagem como picos, vales e bordas e, a energia total da imagem pode ser definida a soma poderada de trêsenergias funcionais presentes na imagem:

Etotal = wlineEline +wedgeEedge+wtermEterm (3.9)

O ajuste dos pesos da Equação 3.9 definide qual o comportamento dasnake. A forma mais simples dedefinir a enegia da imagem é através da intensidade, de tal forma que podemos considerar a energia daslinhas como:

Eline = I(x,y)

onde o sinal do pesowline definirá se asnakeserá atraída por linhas claras ou escuras. Da mesmamaneira a energia relativa as bordas presentes nas imagens pode ser definida através da intensidade daimagem. Portanto podemos definir o segundo termo da equação 3.9 como:

Eedge=−|∇I(x,y)|2, (3.10)

que permite asnakeser atraída para regiões da imagem onde o gradiente do contorno possui valoresaltos. O terceiro termo da equação 3.9 serve para achar terminações de linhas e cantos na imagem. Kass[KAS87] utiliza uma imagem suavizada pela aplicação de um filtro gaussiano onde as linhas são destacadas.A nova imagem definida porC(x,y) = G0(x,y) ∗ I(x,y) servirá para definir a curvatura em nível de linhada seguinte maneira: definine-seθ = tan−1(Cy/Cx) como o gradiente do ângulo en = (cosθ,sinθ) en⊥ = (−sinθ,cosθ) como os vetores unitários e perpendiculares à direção do gradiente. Então a curvaturado contorno é dada por:

Eterm =∂θ

∂n⊥=

∂2C/∂n2⊥

∂C/∂n=

CyyC2x −2CxyCy +CxxC2

y

(C2x +C2

y)3/2(3.11)

Combinando os termosEedgee Eterm pode-se criar umasnakeque seja atraída por bordas e ao mesmotempo por terminações de curvas. Na Figura 3.8 temos um exemplo do comportamento de umasnakeexposta ao contorno subjetivo.

Page 29: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 29

Figura 3.8: Nesta figura podemos ver a capacidade dasnakede perceber (detectar) os contornos subjetivos.

Com exemplo de aplicação real desta técnica podemos citar Huang [HUA92], que define a funçãosnakeabaixo destinada a detectar sobrancelhas:

∑ni=1(αiEcontinuity+βiEcurvature+ γiEimage)

= ∑ni=1

[αi|dmean−|v′i−vi−1||

Largesticon+βi

(|vi−1−2v′i+vi+1|)Largesticur

+γi(EdgeiMin−EdgeiValue)

EdgeiMax−EdgeiMin,

ondev′i é a iteração seguinte avi , dmean representa a distância média entre pontos,Largesticon repre-senta a maior distância entre 8 distâncias {dmean−‖neigh(vi)−vi−1‖}, Largesticur representa a maior de 8distâncias {‖vi −2neigh(vi)+vi+1‖}, EdgeiValue representa a resposta da borda devi , EdgeiMin/EdgeiMax

representa a menor e a maior resposta de borda em 8 vizinhos devi . Devido a complexidade da equaçãode energia Huang utilizou um algoritmo guloso para minimizar a equação acima. A desvantagem desteprocesso é que ele apenas atinge um mínimo local. Além disso, o autor utiliza um módulo chamado RCER(Rough Countour Estimation Rotine) que serve para estimar a posição inicial dasnakede forma que elafique próxima a característica de interesse, fazendo com que a convergência do processo de minimizaçãoseja acelerado, pois necessitará de poucas iterações.

De acordo com o que foi visto até agora, pode-se notar que asnakenão é restrita a um determinadoformato prévio, ou seja ela descreve uma família de curvas, como por exemplo, olhos geralmente são re-presentadas por elipses. O método clássico de snakes não contém nenhum conhecimento prévio sobre acaracterística a ser detectada e o processo todo consiste somente na atualização dos parâmetros da curva(ajuste interativo). Consequentemente, tal método é computacionalmente caro. Em contrapartida, Radeva[RAD95] apresenta uma variante da técnica desnakesdenominadarubber snakesonde a principal dife-rença para o método clássico é que a primeira inicia a deformação a partir de um modelo particular decaracterística facial e modifica seus parâmetros de acordo com a característica reproduzindo da maneiramais fiél o formato da mesma. Portandorubber snakespodem ser definidas como uma curva contínua quea partir de um estado inicial tentam se ajustar dinamicamente modificando sua posição e forma. Destamaneira arubber snakeinterage direto com as bordas, picos e vales da imagem sem a necessidade de umdeterminação prévia de pesos e parâmetros para explicitar a forma da curva. Os únicos parâmetros quenecessariamente precisam de um conhecimento prévio são os termos de elasticidade e rigidez que valempara todos ospixelsdasnake. Radeva [RAD95] destaca a necessidade de um método de localização dascaracterísticas faciais, pois arubber snakenecessita de um estado inicial [RAD93]. O método utilizadoconsiste em localizar as características através das projeções horizontais e verticais da imagem, analisandoos picos e vales das projeções, da mesma maneira como é feito por Brinelli e Poggio [POG93] . Um exem-plo das projeções vertical e horizontal de uma imagem de face pode ser visto na Figura 3.9. As projeçõessão analisadas com o objetivo de identificar certas seqüências de picos (máximos locais) e vales(mínimoslocais) que geralmente denunciam a presença de uma característica facial. Na Figura 3.9 podemos observar

Page 30: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 30

que na projeção horizontal os dois mínimos globais correspondem aos lados da face, bem como o mínimolocal entre estes dois mínimos globais ocorre na linha do nariz, praticamente em uma linha que divide aface em duas partes simétricas.

Figura 3.9: Mapas horizontais e verticais [RAD95].

Os resultados reportados por Radeva[RAD95] apontam que em 23 imagens os olhos foram segmenta-dos correntamente, havendo 3 erros que ocorreram devido a falhas na detecção da íris por causa do brilhoda imagem. A boca é detectada com auxílio da linha entre os lábios de forma que asnake, após ser norma-lizada em escala e orientação, se deforma até se encaixair com o contorno dos lábios. Alguns problemas,ao detectar a boca ocorrem quando a linha entre os lábios é muito menor que um vale na imagem devido apresença de dobras ou rugas próximo a boca. As imagens utilizadas no teste possuiam 15% de variação en-tre escala, orientação e tranlação com o fundo supostamente homogêneo. Nas Figuras3.10 e 3.11 podemosver um exemplo de detecção de olhos, sobrancelhas e bocas.

Figura 3.10: Exemplo de Detecção de olhos sobrancelhas e boca.

Figura 3.11: Exemplo de Detecção da boca.

Seguindo a mesma idéia de otimizar o modelo de contorno ativo Almageed [ALM02] apresenta umnovo modelo de snake denominadopressure snakes,que utiliza modelagem estatística do objeto e do fundo.A componente da energia da borda é substiuída por um termo de “energia de região” que é uma funçãodas propriedades estatísticas do objeto de interesse. Embora apressure snakeabandona a necessidade dedetectar bordas fortes na imagem possui a desvantagem de ter os parâmetros definidos pelo usuário deforma manual e, estes devem ser bem precisos para se atingir um resultado razoável. Segundo Almageed apressure snake,proposta inicialmente por Ivins e Porril é dada por:

F(S) =(

∂S∂u

)(1− |I(S)−µ|

), (3.12)

ondeSdenota o contorno,µ a média eσ o desvio padrão, enquanto que o parâmetrok é definido pelousuário e representa o espalhamento da população. A Equação 3.12 assume uma distribuição Gaussiana

Page 31: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 31

simples para uma determinada área, onde é aplicada uma pressão positiva quando a distância entre a in-tensidade da imagem e a média está dentro dekσ, caso contrário é aplicada uma pressão negativa. Aperformance dasnakedepende diretamente do paramêtrok, e por este motivo Almageed desenvolveu ométodo a seguir para contornar a necessidade de determinar os paramêtros manualmente:

1. usa-se a mistura de duas distribuições Gaussianas estimando-se uma função de densidade de proba-bilidade (PDF) dos pixels das imagem (em escala de cinza), através do algoritmo EM.

2. Através da teoria da decisão de Bayes o limite ótimo de decisãox∗entre as duas distribuições atravésda equação:

π1√2πσ2

1

exp

(−0.5

(µ1−x∗)2

σ21

)=

π2√2πσ2

2

exp

(−0.5

(µ2−x∗)2

σ22

)(3.13)

3. Com a ajuda de um conhecimentoa priori do objeto sabe-se qual distribuição corresponde ao objeto,onde ok é determinado por:

k =|µ0−x∗|

σ0

O método acima parte da premissa que tanto o objeto como o fundo podem ser representados são homo-gêneos quanto a sua cor e inclusive podem ser modelados por uma distribuição Gaussiana simples. Emsituações reais esta situação é praticamente impossível de ocorrer, uma vez que tanto o fundo como o ob-jeto são entidades multicoloridas. O método proposto por [ALM02], com intuito de superar tal limitaçãoconsiste dos seguintes passos: (a) estima-se os PDF do fundop(x|B), usando o algoritmo EM ; (b) estima-se a PDF do objeto,p(x|O) e, (c) usandop(x|O) e p(x|B) segmenta-se o objeto para obter a região iniciale (d) finalmente itera-se a snake usando usando o modelos de pressão dado por:

F(S) = (p(x|O)− p(x|B))(

∂S∂u

)I

, (3.14)

onde o termo(p(x|O)− p(x|B)) representa a magnitude e direção da pressão, enquanto que o termo(∂S∂u

)Irepresenta as componentes da pressão nas direçõesx e y. Como exemplo da eficiência do modelo

acima descrito podemos ver na Figura 3.12 a performance do método original depressure snakespropostopor Ivins e Porril e logo após a performance atingida pelo método de Almageed utilizando misturas depressão (mixture pressure).

Figura 3.12: (a) performance do modelopressure snakeoriginal e (b) performance do modelomixturepressure model[ALM02].

Page 32: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 32

Em [RAM02] a técnica depressure snakesé utilizada em uma aplicação de rastreamento de olhos(eye tracking). A principal vantagem da abordagem estatística da snake, segundo o autor é a habilidade desnake expandir e contrair quando os olhos piscam. Além disso, caso a snake permaneça contraída, significaque provavelmento os olhos estão fechados e calculando a frequëncia com que os olhos piscam e o tempoque asnakepermanece contraída pode-se deduzir que a pessoa está fadigada ou com algum problema desaúde. O movimentos dos olhos também podem ser analisados, sendo extramamente úteis na construçãode um detector de mentiras, uma vez determinados padrões de movimentos dos olhos denunciam o estadopsicológico de uma pessoa. Na Figura 3.14 temos um exemplo de rastreamento de olhos usando snakes.

Figura 3.13: Exemplo de rastreamento de olhos utilizandosnakes [ALM02].

Figura 3.14: Exemplo de rastreamento de olhos. Asnakeconsegue superar o problema do piscar de olhos[ALM02].

Holbert [HOL95] apresenta uma aplicação de reconhecimento de fala, na qual a performance é me-lhorada com a interpretação de dados visuais através da combinação desnakese templatesdeformáveis.A combinação desnakese templatesé feita por Hobert com o intuito de que cada modelo preencha asfalhas do outro. No caso desnakesa inicialização e a normalização dos parâmetros requerem intervençõesinterativas durante o processo, além disso, ela deve ser posicionada próximo ao objeto de interesse. Outroproblema relacionado com o modelo de contorno ativo é a falta de conhecimento global sobre o objeto aser detectado, ou seja, asnakenão tem conhecimento nenhum sobre a forma do objeto, se baseando apenasem informações locais da imagem.

Em contrapartida astemplatesdeformáveis incorporam um conhecimento global sobre o objeto deinteresse e a detecção do mesmo baseia-se no ajuste de seus parâmetros. Mas uma desvantagem das

Page 33: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 3. MÉTODO DE DETECÇÃO UTILIZANDO CONHECIMENTO 33

templatesé que para cada objeto a ser detectado deve ser definido uma função de custo, bem como as regrasde atualização dos parâmetros da função. Devido a esta inflexibilidade é impossível utilizartemplatesemaplicações onde o objeto a ser detectado muda sua forma dinamicamente como no caso da leitura de lábios.Com a combinação dos dois modelos Holbert [HOL95] conseguiu desenvolver um sistema que rastreia oslábios de uma pessoa falando, se aproveitando da flexibilidade característica dassnakes, bem como utilizauma templatepara codificar o conhecimento global sobre a forma dos lábios além de inicializar, avaliare corrigir os parâmetros dasnake. Os parâmetros iniciais datemplatesão obtidos através da aplicaçãode operadores morfológicos e análise de clusters, posteriormente eles são utilizados para inicializar osparâmetros dasnake. Durante todo o processo de rastreamento de lábios, asnakevai sendo guiada pelatemplate que atua como um usuário interativo até que ela atinja um estado estável. Em seguida, atemplatese deformada até se encaixar com o formato dos lábios para corrigir os parâmetros da snake. Na Figura3.15 temos uma descrição em alto nível do sistema construído por Holbert [HOL95].

Figura 3.15: Gráfico descrevendo o sistema de detecção da boca utilizandotemplatesesnakes.

Neste capítulo apresentamos técnicas que se apoiam no conhecimento que o pesquisador possui sobreo objeto que desejada detectar em uma imagem. Uma das técnicas permite expressar o formato do objetode interesse através de um conjunto de elementos geométricos, os quais podem ser ajustados para se en-caixarem com o contorno do mesmo, sendo que o incoveniente de tal técnica é que para cada objeto deinteresse, um modelo particular deve ser projetado. Além disso, outra técnica mais flexível foi apresentada,cuja eficiência pôde ser vista quando se trata da detecção de contorno complicados como contorno subjeti-vos e o contorno de certas características faciais como os lábios e as sobrancelhas, pois tais característicasse modeladas através de um conjunto de cruvas, resultarão em um modelo muito complexo para ser ajus-tado em fase de detecção. Em contrapartida, no próximo capítulo veremos uma técnica que está ganhandocada vez mais espaço dentro da Visão Computacional que permite detectar características faciais de formaautomática sem a necessidade de se estabelecer um modelo geométrico e suas respectivas regras de ajuste.

Page 34: Detecção de Faces e Características Faciais - PUCRS

Capítulo 4

Transformada de Gabor

4.1 Introdução

As redes neurais são uma conseqüência da necessidade de inserir capacidade de aprendizado em máqui-nas e tal solução só foi viável através dos avanço nas pesquisas de neurologia e psicologia que conseguiramdescrever o funcionamento do neurônio biológico, que posteriormente serviu de bases para criar seu equi-valente artificial.

No campo da computação vários problemas tem solução derivadas de processos biológicos, uma vezque muito desses problemas são semelhantes a outros que, através da evolução, a natureza resolveu. Porexemplo, atualmente uma das principais ferramentas de automatização de processos complexos e auto-programação são os algoritmos genéticos [MIT96]que imitam o próprio processo de evolução partindo deuma solução, muitas vezes, ruim do problema até chegarem, em muitos casos, em uma solução ótima.

Necessidades semelhantes ocorrem dentro da Visão Computacional, pois para melhorar a performancede sistemas de Visão Computacional seria interessante dotá-los de capacidade de imitar algum sistemavisual biológico. Atualmente existem técnicas que imitam a retina [SME02], o movimento de atençãodos olhos (movimentos sacádicos) [SME98, HOT00], e os campos visuais receptivos do cortéx humano,que são modelados através de um conjunto de filtros denominados filtros de Gabor ouGabor Wavelets[FER02, LEE96, HOT00], que será descrito a seguir.

4.2 Filtros de Gabor

Embora a transformada de Fourier tem sido uma ferramenta útil na análise de sinais contínuos, elanão permite uma análise local em termos de freqüência, consequentemente eventos que podem ocorrerem intervalos de tempo distintos e que contribuem de maneira global para a transformada não podem seranalisados[FER02]. Em contrapartida, uma variante da transformada de Fourier denominadaTransformadaJanelada de Fourierpermite analisar o sinal localmente no tempo. Neste caso uma janela é deslocada atéreter a porção do sinal a ser analisada, no domínio do tempo, em seguida a transformada é aplicada nestaporção. Porém essa transformada não é indicada para analisar determinados sinais devido ao tamanhoconstante da janela.

Uma outra alternativa na análise de sinais proposta por Morlet [BUR98], chamadaTransformada deWavelets, a qual permite que tamanho da janela varie com a freqüência, possibilitando a análise de freqüên-cias altas com uma maior resolução temporal e de freqüências baixas com uma maior resolução no domíniode Fourier,ou seja, um evento com baixa freqüencia exige uma janela maior no domínio do tempo.

A transformada dewaveletsde um sinalf(t) 2D pode ser definida pela equação:

F(a,b) =Z

f (t)ψa,b(t)dt (4.1)

onde os parâmetrosa > 0 e b variam continuamente, sendo que as funçõesψa,b(t) são denominadaswaveletse definidas pela seguinte equação:

34

Page 35: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 4. TRANSFORMADA DE GABOR 35

ψa,b =1√a

ψ(

t−ba

)(4.2)

As funções representadas pela equação 4.2 são derivadas a partir de dilatações e translações de umafunção mãeψ denominadawavelet mãe.A equação 4.1 pode ser escrita como o produto interno do sinalf(t) com uma funçãowaveletψa,b, denotada por:F(a,b) =< f ,ψa,b >. Conforme a equação 4.1 podemosafirmar que um sinal ou objeto (funçãof(t)) pode ser expresso como a superposição de uma família dewaveletsψa,b(t), sendo que os coeficientes dessa superposição são obtidos pela transformadawaveletsdef(t). Portanto é possível reconstruirf(t) a partir de sua representação emwavelets[FER00].

Para o caso da Visão Computacional, uma ferramenta de representação de imagens, que vem ganhandobastante destaque é aTransformada de Gabor, também denominadaGabor Wavelets, ou aindaFiltros deGabor, que consiste em aplicar a transformadawaveletsem uma função de Gabor 2D, Figura 4.1, definidacomo:

ψ(x,y) = exp(−12(x2 +y2))sin(x) (4.3)

Figura 4.1: Função de gabor 2D.

E uma família deGabor WaveletsΨ = {ψn1,ψn2, ...,ψnM} é definida a partir de rotações, translações edilatações da função mãe, Equação 4.3, com o seguinte formato:

ψni = exp(−12[sxi (x−cxi )cosθi − (y−cyi )sinθi ]2

+[syi ((x−cxi )sinθi +(y−cyi )cosθi ]2])×sin(sxi ((x−cxi )cosθi − (y−cyi )),

(4.4)

sendo quex,y ∈ R e o vetor de parâmetrosni = (cxi ,cyi ,θi ,sxi ,syi ) ∈ R5, ondecxi ,cyi representam atranslação daGabor Wavelet, sxi ,syi representa a dilatação eθi a orientação.

A aplicação dos Filtros de Gabor na representação de imagens é ampla e diversa. Neste trabalhonão será apresentado o embasamento teórico de tal técnica. Para uma melhor descrição dos filtros deGabor aplicado a imagens o leitor pode consultar [LEE96, GAB46], bem como uma melhor descriçãoda transformadawaveletspode ser encontrada em [BUR98]. Nos próximos parágrafos iremos apresentarexemplos de aplicação dos filtros de Gabor com o intuito de esclarecer melhor a técnica, em um nívelprático sem a necessidade de entrar em detalhes matemáticos mais aprofundados.

Em [FER02, KRU02] uma imagem pode ser representada por uma família degabor wavelets,Ψ asso-ciadas a um pesow. A esta estrutura dá-se o nome deGabor Wavelets Network(GWN), representada por(Ψ,W), onde

Ψ = {ψn1,ψn2, .....,ψnM}

W = {w1,w2, .....,wn}

A GWN tem a propriedade de que cada funçãoψni corresponde a um nodo de uma rede neural eos pesoswi correspondem a conexões sinápticas da rede. A representação da imagemI é obtida pelaminimização da função abaixo:

Page 36: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 4. TRANSFORMADA DE GABOR 36

E = minni ,wi ,∀i =

∥∥∥∥∥I −M

∑i=1

wiψni

∥∥∥∥∥2

(4.5)

que segundo [FER02, KRU02], significa que a diferença entre uma imagemI e sua reconstrução a partirda redewaveletsdeve ser mínima. Isto é atingido através da determinação dos pesoswi e dos coeficientesdasgabor waveletsΨ. De acordo com Féris [FER02] o processo de otimização consiste em aplicar umalgoritmo para cálculo direto dos pesoswi descrito em detalhes em [KRU02]. Tal processo visa determinaros pesos da GWN, de forma que seja possível reconstruir a imagem utilizando a equação abaixo:

I =M

∑i=1

wiψni , (4.6)

ondeI denota a imagem reconstruída, sendo que a precisão da reconstrução é determina pelaM gaborwaveletsutilizadas no processo de construção da representação da imagem. Na Figura 4.2 podemos verum exemplo de uma imagem modelada por uma GWN, onde é possível notar as características faciaisdetectadas. Na Figura 4.3 podemos notar o poder de representação dos filtros de gabor onde é facíl notarque a informação sobre a forma geométrica do objeto é codificada nos parâmetros dasgabor wavelets.

Figura 4.2: A esquerda temos a imagem original, em seguida temos a reconstrução da mesma a partir deuma GWN com 16,52,116 e 256waveletsrespectivamente. A imagem mais à direita mostra a posição dasprimeiras 16waveletsna imagem [KRU02].

Figura 4.3: As figuras mostram um objeto que foi modelado por uma GWN. À esquerda podemos notar otamanho, a posição e a orientação daswaveletsenquanto que a direita temos uma representação do objetoonde somente aswaveletsmais importantes foram selecionadas [KRU02].

Segundo [FER02] uma GWN é equivalente a uma RBF permitindo a generalização dos dados de trei-namento quando um número pequeno wavelets é utilizado. Uma GWN que represente uma imagemI podeser utilizada também sobre uma imagemJ, através da distorção da mesma até que ela se “encaixe” com aimagemJ, ou seja aswaveletsda GWN podem ser reposicionadas nas mesmas características que estavampresentes na imagemI, mas agora sobre a imagemJ. No caso de imagens de face significa dizer que umaGWN que modela uma faceA, pode ser utilizada para detectar as características faciais correspondentesna imagemB, através da deformação dos parâmetros dessa GWM. De fato isto é possível através de umaprocedimento chamado de reparametrização, descrito em [KRU02], que consiste em determinar os parâ-metros afins em uma nova imagem. O processo de reparametrização é feita através da utilização de umasuperwavelet,que basicamente consiste em uma GWN otimizada para uma determinada face, mas comtermos adicionais de rotação, translação e dilatação, sendo definida pela equação abaixo:

Ψn(x) =M

∑i=1

wiψni (SR(x−c)) (4.7)

onde os parâmetros do vetorn dasuperwaveletΨdefinem uma matriz de dilataçãoS e uma matriz derotaçãoR e também um vetor de translaçãoc sendo que:

Page 37: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 4. TRANSFORMADA DE GABOR 37

S=(

sx 00 sy

), R =

(cosθ −sinθsinθ cosθ

), c = (cx,cy)T

Assim dada uma imagem novaJ a superwaveleté deformada até se encaixar com a nova imagem.Este procedimento também consiste em um processo de minimização aplicado sobre e equação abaixo erealizado através do algoritmo Levenberg-Marquard [FER02]apudPresset al [PRE86]:

E = minn = ||J−Ψn||2

Na Figura 4.4 podemos ver um exemplo de como uma GWN, utilizada para modelar uma image deface, pode ser reparametrizada para detectar as mesmas características em outras imagens. Nesta figurapodemos notar que, devido a orientação e as posições das características faciais da imagem de teste, areconstrução da face que a GWM modela também sofre mudanças de orientação. Este fenômeno ocorredevido as mudanças de escala, orientação e posição daswaveletsque compõe a GWN, causadas pelasdeformações ocorridas no processo de reparametrização .

Figura 4.4: Exemplo de uma GWN treinada na imagem mais esquerda da Figura 4.2, utilizada para detectarcaracterísticas faciais em outras imagens de faces com diferentes orientações [KRU02].

A representação de faces através de GWN tem a seguintes vantagens, segundo [KRU02, FER02]:

• a representação é invariante quanto a deformações da face e a mudanças nas condições de iluminação.

• o grau de precisão pode ser ajustado de acordo com o número de funções utilizadas e permite ageneralização dos dados

• filtros de gabor são bons detectores de características sendo atraídos por características locais daimagem codificando a informação geométrica.

• o armazenamento de um GWN é compacta ocupando apenas 1040 bytes.

Outro exemplo da utilidade dos filtros de gabor é mostrado em [SME98, SME02] onde um sistema dedetecção de características faciais inspirado nos movimentos de atenção dos olhos humanos denominadosmovimentos sacádicos. A imitação de tais movimentos é realizada com a utilização de uma grade deamostragem retínica colocada sobre a imagem. A grade possui uma geometria log-polar onde a densidadedos pontos cai exponencialmente quando os mesmo estão afastados do centro. Tal topologia implementa oschamados focos de atenção, que são pontos específicos que os olhos dos mamíferos focam quando olhamuma imagem, pois os olhos deste seres não realizam uma varredura linear em toda a imagem, mas simrepousa em certos pontos de interesse.

Os filtros de gabor são calculados apenas nestes pontos. Nos pontos mais ao centro da grade sãoaplicados filtros de alta freqüência, enquanto que nos pontos mais distantes são utilizados filtros de baixafreqüência. Esta forma de utilização dos filtros tenta imitar a retina dos mamíferos onde a fóvea retém maiorparte de informação local (filtros de alta freqüência no centro da grade) e os filtros de baixa freqüênciaimitam a visão periférica, onde se encontra as informações globais. Como esta técnica é utilizada paradetectar olhos, um vetor referênciavr é construído com as respostas do filtro de gabor aplicados sobre ocentro dos olhos em imagens de treinamento. Posteriormente, no início da procura pelos olhos a gradeé posicionada em um lugar aleatório da imagem e os filtros de gabor são calculados para cada ponto dagrade.

Page 38: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 4. TRANSFORMADA DE GABOR 38

Através do cálculo da distância euclidiana entre cada ponto da grade e o vetor referênciavr determina-se qual o ponto tem distância mínima com relação ao vetor referênciavr . Em seguida este é selecionadocomo o próximo ponto de atenção do movimento sacádico. O processo termina quando o movimento émenor que um limiar. Caso não haja convergência o processo é reinicializado em outro ponto aleatórioda imagem. Na Figura 4.5 podemos ver a grade posicionada sobre a imagem e na Figura 4.5 temos umacâmera que simula os movimentos de atenção dos olhos, a cada 0.5s a orientação da câmera é modificadaatravés de microcontroladores.

Figura 4.5: (Esquerda) Grade log-polar posicionada no olho de uma pessoa. (direita) Exemplo dos mo-vimentos sacádicos na procura dos olhos. Mesmo com os olhos fechados eles são detectados através dainformação contida no contorno da órbita.

Figura 4.6: Uma câmera “eyeball” montada para detectar olhos imitando os movimentos sacádicos[SME98].

Hjelmas em [HJE00] apresenta um sistema de reconhecimento de face que se apoia em característicaslocais, detectadas através do uso de filtros de Gabor. O pré-processamento de uma imagem, é feito atra-vés da aplicação de filtros de Gabor e, logo após aplica-se uma máscara Gaussiana bidimensional, paraposicionar o foco no centro da imagem e evitar a extração de características no contorno da face. A partirda imagem filtrada procura-se por picos, de onde serão extraídos vetores característicos formados peloscoeficientes de Gabor e a posição dessas características. Um exemplo de detecção das caracterísica faciaisé mostrado na Figura 4.7.

Page 39: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 4. TRANSFORMADA DE GABOR 39

Figure 4.7: (a) imagem original (b) imagem após a aplicação de filtros (c) pontos característicos seleciona-dos [HJE00].

Como os coeficientes resultantes da aplicação dos filtros de Gabor são armazenados em um vetor, afase de reconhecimento consiste apenas em utilizar algum cálculo de distância entre o vetor da imagem deteste e os vetores das imagens de treinamento armazendos em um banco de vetores de faces conhecidaspelo sistema [HJE00]. Já em outra aplicação semelhante Manjunath [MAN95] apresenta um sistema dereconhecimento de faces onde grafos são utilizados para codificar as relações topológicas das característicasfaciais. Cada nodoVi do grafo corresponde a uma determinada característica definido por:

Vi = S,q,

ondeVi é o nodoi , S é a localização espacial da característica a que se refere o nodoVi e qi é um vetorcorrespondendo aith característica definido por:

qi = [Qi(x,y,θ1), ...,Qi(x,y,θN)],

ondeQ(x,y,θN) é o valor da transformada de Gabor na posição(x,y) com orientaçãoθN. Na Figura 4.8temos um exemplo dos pontos característicos identificados pela transformada de Gabor que são utilizadospara construir o grafo das características faciais.

Figura 4.8: Pontos característicos obtidos em duas imagens de face através dos filtros de gabor.

Laurenz [LAU99b] apresenta um sistema para reconhecer faces de uma grande base de dados contendouma única imagem de cada pessoa. A face é definida como um conjunto de pontos fiduciais, que são as pu-pilas, os cantos da boca, topo da orelha, etc. Um grafo valoradoG é utilizado para representar a face e cadanodo está associado a umjet que consiste de um conjunto de coeficientes obtidos através da transformadade Gabor (Gabor wavelet coeficients). Além disso, os nodos estão localizados sobre os pontos fiduciais,Figura 4.9. Portanto para cada face existe um grafo que a modela. Com o objetivo de detectar as caracte-rísticas da face e extrair automaticamente grafos de novas imagens de faces havia a necessidade de se terdisponível uma representação mais geral de faces, que permitisse extrair um grafo de uma imagem sem terque compará-la com todos os modelos individuais de faces. Tal representação deve cobrir um intervalo depossíveis variações de face com diferentes características como os vários tipos de olhos, bocas, etc. Comotodos osjets de cada nodo refere-se ao mesmo ponto fiducial (olhos,boca,nariz,etc...) e todos os grafosobedecem a mesma estrutura, Laurenz introduziu uma nova estrutura chamadaface bunch graph(FBG),que é resultado da combinação dosjets associados aos nodos de vários grafos, Figura 4.10. Neste grafogeral um nodo codifica várias instâncias de uma característica, como por exemplo o nodo correspondenteaos olhos possui informações relativas a olhos fechados, abertos, olhos orientais, ocidentais, etc...

Page 40: Detecção de Faces e Características Faciais - PUCRS

CAPÍTULO 4. TRANSFORMADA DE GABOR 40

Figura 4.9: Grafo obtido pelo uso da transformada de gabor para detectar os pontos característicos da face.

Quando uma nova imagem é apresentada para extração de seu grafo modelo, inicialmente o FBG éposicionado sobre os pontos fiduciais e verifica-se em cada um desses pontos qual ojet que melhor odescreve. Posteriormente as características detectadas são utilizadas para realizar o reconhecimento daface através da comparação com grafos que modelam faces conhecidas.

Figura 4.10: A estruturabunch graphserve como uma representação geral de faces. Os discos representamosjetsprovenientes de vários grafos individuais, que no processo de extração de característica somente umjet é selecionado, simbolizado na figura pelos discos escuros [LAU99].

Neste capítulo abordamos uma técnica biologicamente inspirada que, cada vez mais está ganhando aatenção dos pesquisadores de Visão Computacional devido as suas características intrínsecas que permitemconstruir um sistema de visão com capacidade de extrair atributos de uma imagem de forma automática.Além disso, permite a construção de sistemas tolerantes a rotação, translação e iluminação. Um exemplopode visto em [FER02] que implementou um sistema de rastreamento de faces em vídeo1. Tal técnicapermite construir sistemas de reconhecimento e detecção de faces, ou ainda, a detecção de característicasfaciais, sem um custo alto de armazenado, pois a representação de uma face precisa de menos de 1KB paraser armazenada.

1demonstrações do funcionamento de tal sistema pode ser visto emhttp://www.ime.usp.br/~feris/demo.mpg

Page 41: Detecção de Faces e Características Faciais - PUCRS

Capítulo 5

Conclusões

Neste trabalho foram apresentadas as principais técnicas de detecção de face e características faciais. Astécnicas foram classificadas segundo a necessidade de um conhecimento prévio da geometria, cor ou texturada característica. Todas estas técnicas não ficam restritas somente a detecção de faces ou característicasfaciais, pois podem ser aplicadas para detectar qualquer outro tipo de objeto. No caso do reconhecimento defaces, estudado no Trabalho Individual I, algumas técnicas requerem a localização prévia das característicasfaciais. Além disso, este trabalho também foi motivado pela possibilidade de melhorar uma técnica dereconhecimento de faces apresentada por [MEN02], conforme mencionado no Capítulo 1.

Com base no que foi estudado neste trabalho, bem como no Trabalho Individual I, pretendiamos cons-truir um sistema de reconhecimento de faces para controlar o acesso de pessoas em prédios. No entanto,o enfoque desta pesquisa foi modificado para a área de reconhecimento de poses de mãos para ambientesde realidade virtual. Porém, as técnicas de detecção e reconhecimento de faces estudadas ao longo destapesquisa não serão descartadas, uma vez que os problemas da área de detecção e reconhecimento de mãosexigem as mesmas soluções. Portanto as técnicas são as mesmas, mas com aplicações diferentes.

41

Page 42: Detecção de Faces e Características Faciais - PUCRS

Referências Bibliográficas

[ERI01] H.Erick, Face Detection: A Survey, Computer Vision and Image UnderstandingVol.83, pp236-274, 2001 - disponível em http://www.idealibrary.com

[TEI98] J.F. Teixeira,Mentes & Máquinas, 1998, Ed. Artes Médicas.

[LIN02] Linda G. Shapiro and George C. Stockman,Computer Vision.

[MEN02] J.E. Meng, S.Wu, H.L. Toh,Face Recognition With Radial Basis Function(RBF) NeuralNetworks, IEEE Transactions on Neuralç Networks,vol.13,No.3,Maio de 2002

[YAN02] Ming-Hsuan Yang, David J. Kriegman, Narenda Ahuja,Detecting Faces in Images: A Survey,IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.24,No.1,Janeiro 2002.

[FER02] F.S. Rogério,Rastreamento Eficiente de faces em um Subespaço Wavelets, Dissertação deMestrado, Instituto de Matemática e Estatística, USP,Maio de 2001.

[PRE86] W. Press, B. Flannery, S. Teukolsky, W. Vetterling,Numerical Recipes, The Art of ScientificComputing, Cambridge University Press, 1986.

[EDU03] Eduardo Costa Lopes,Estudo de Técnicas Computacionais para o Reconhecimento de Fa-ces. Trabalho Individual I, Programa de Pós-Graduação em Ciência da Computação, PontifíciaUniversidade Católica do Rio Grande do Sul.

[HUA92] C.L Huang e C.W. Chen,Human Facial Features Extraction for Face Interpretation andRecognition.Em Pattern Recognition25(12) pp. 1435-1444.

[KOT97] C. Kotropoulos e I. Pitas,Rule-Based Face Detection In Frontal Views, Em Proc. Int’l Acous-tics, Speech and Signal Processing,vol.4, pp. 2537-2540, 1997.

[KAS87] M.Kass,A.Witkin,D.Terzolpoulos,Snakes: Active Countor Models,International Journal ofComputer Vision,pp 321-331.

[RAD95] P. Radeva e E. Marti,Facial Features Segmentation by Model-Based Snakes,EmInt. Conf. on Comp. Anal. and Image Processing, Praga 1995,[disponível em cite-seer.nj.nec.com/radeva95facial.html]

[RAD93] P. Radeva and J. Serrat,Rubber Snake: Implementation on Signed Distance Poten-tial, Em Vision Conference SWISS’93, pp.187-194, September, 1993,disponível em cite-seer.nj.nec.com/radeva93rubber.html], último acesso: novembro de 2003.

[POG93] R. Brunelli e T. Poggio,Face Recognition Features versus Templates,Em IEEE Transactionson Pattern Recognition and Image Analysis,vol 15,No 10, outubro 1993 pp 1042-1052.

[ALM02] W.A.Almageed, C.E.Smith,Mixture Models for Dynamic Statistical Pressure Snakes,EmIEEE International Conference on Pattern Recognition, Quebec, Canadá, 2002.

42

Page 43: Detecção de Faces e Características Faciais - PUCRS

REFERÊNCIAS BIBLIOGRÁFICAS 43

[RAM02] S.Ramdan, W.A.Amageed, C.E. Smith,Eye Tracking Using Active Deformable Models,EmThe III Indian Conference on Computer Vision, Graphics and Image Processing, India, Dezem-bro, 2002,disponível em citeseer.ist.psu.edu/ramadan02eye.html, último acesso: novembro de2003.

[YUI92] A. Yuille,P.Hallinan e D. Cohen,Feature Extraction from Faces Using Deformable Templa-tes,Em Int. J. Computer Vision,vol.8 No 2, pp. 99-111, 1992.

[SHA91] M.A Schackleton e W.J Welsh,Classification of Facial Features for Recognition,ImageProcessing Research Group, British Telecom Research Labs.

[LEE01] H.W. Lee, S. Kil, Y. Han, S.H. Hong,Automatic Face and Facial Fetures Detection,EmProceedings of Conference on ISIE, 2001,Korea, pp 254-259.

[ALA99] A. Alattar e S.RajalaFacial Features Localization in Front View Head And ShouldersImages,IEEE International Conference on Accoustics, Speech and Signal Processing,1999,pp.3557-3560.

[ZHA02] L.Zhang, Estimation of the Mouth Features Using Deformable Templates, Em In-ternatinal Conference on Image Processing (ICIP’97), 1997, vol.3 disponível em cite-seer.nj.nec.com/zhang97estimation.html, último acesso: novembro de 2003.

[BHU03] Md. A.A. Buhiyan, V.Ampornaramveth,S.Yo H. Ueno,Face Detection and Facial FeatureLocalization for Human-machine Interface, NII Journal No.5(2003.3).

[WAN99] J.G. Wang, E.Sung,Frontal-view Face Detection and Facial Feature extraction Using Colorand Morphological Operations, Pattern Recognition Letters 20, 1999,pp. 1053-1068,Ed.Elsevier.

[SAB98] E. Saber e A.M. Tekalp,Frontal-view Face Detection and Facial Feature Extraction UsingColor, Shape and Symmetry Based Cost Functions,Pattern Recognition Letters 19,1998,pp. 669-680, Ed. Elsevier, disponível em citeseer.nj.nec.com/saber98frontalview.html, últimoacesso: novembro de 2003.

[VEZ03] V.Vezhnevets,Face and Facial Features Tracking for Natural Human-Computer Interface,disponpivel em citeseer.nj.nec.com/vezhnevets02face.html, último acesso: novembro de 2003.

[FER00] R.S.Féris, T.E. de Campos, R.M.C Júnior,Detection and Tracking of Facial Features inVideo Sequences,Lectures Notes in Artificial Intelligence,vol. 1973, pp 197-206, Abril 2000,Springer-Verlag.T. D.

[RIK99] T.D. Rikert Texture-Based Statistical Models for Object Detection in Natural images, ci-tesser.nj.nec.com/riker99/texturebased.html,[ último acesso: novembro de 2003]

[BUR98] C.S Burrus, R.A. Gopinath, H. Guo,Introduction to Wavelets and Wavelets Transforms Aprimer , Prentice Hall, 1998.

[GAB46] D. Gabor,Theory of Communication, Institute of Electrical Engineers,93(26):429-457,1946.

[LUO00] H. Luo, A. Eleftheriadis,On Face Detection in the Compressed Domain,International Mul-timedia Conference, Proceedings of the Eight ACM International Conference on Multimedia,pp 285-294, 2000

[WON00] K.W.Won, K.M. Lam, W.C. Siu,An Efficient Algorithm for Human Face Detection andFacial Feature Extraction under Different Conditions, Pattern Recognition Letters 34,pp1994-2004.

[TUR91] M.A. Turk e A. P. Pentland,Face Recognition Using Eigenfaces,Proceedings of IternationalConference on Pattern Recognition,pp 586-591, 1991.

Page 44: Detecção de Faces e Características Faciais - PUCRS

REFERÊNCIAS BIBLIOGRÁFICAS 44

[MIT96] M. Mitchel, Introduction to Genetic Algorithms , The Mit Press,

[KIR90] M. Kirby e L. Sirovich, Application of Karhunen-Loève Procedure for the Characteriza-tion of Human Faces, IEEE Transactions on Pattern and Machine intelligence,vol. 12, pp103-108, janeiro 1990.

[RAB89] L. R. Rabiner,A Tutorial on Hidden Markov Models and Selected Applications in SpeechRecognition, Proceedings of the IEEE, vol.77, No. 02, 1989.

[ARA96] N. Ara Tese de Phd,Statistical Approachs To Face Recognition, Georgia Institute of Techno-logy,School of Electrical Engineering, dezembro de 1996.

[ARA98] N. Ara, Face Detection and Recognition Using Hidden Markov Models, International Con-ference on Image Processing, pp 141-145, Outubro 1998.

[ROL96] H.A. Rowley, S.Baluja, T. Kanade.Neural Network-Based Face Detection,Computer Visionand Pattern Recognition,1996.

[ROL98] H.A Rowley, S. Baluja, T. Kanade,Rotation Invariant Neural Network-Based Face Detec-tion, IEEE Proceedings on Computer Vision and Pattern Recognition,1998.

[FER01] R. Feraud, O.J. Bernier, J.E. Viallet, M. Collobert,A Fast and Accurate Face Detector Ba-sed on Neural Networks, IEEE Transactions on Pattern Analysis And Machine Intelligence,vol.23, No.01, Janeiro 2001.

[HOL95] S.Holbert e J.L. Dugelay,Active Countor for Lipreading Combining Snakes and De-formable Templates, Em 15th GRETSI Simposium on Signal and Image Processing, JuanLes Pins, França1995.

[SME02] F.Smeraldi e J. Bigun,Retinal Vision Applied to Facial Features Detection and Face Au-thentication, Patterns Recognition Letter 23, 2002, pp.463-475 Ed. Elsevier.

[SME98] F. Smeraldi e J. Bigun,Facial Feature Detection by Saccadic Exploration of the Gabor De-composition, Proceedings of the 1998 International Conference on Image Processing,Chicago(USA),vol.3, pp. 163-167, outubro 1998.

[LEE96] T.S. Lee,Image Representation Using 2D Gabor Wavelets, IEEE Transactions on PatternAnalysis and Machine Intelligence,vol.18,No.10, Outubro 1996.

[HOT00] K. Hotta,T.Mishima, T.Kurita, S. Umeyama,Face Matching Through Informational Theo-retical Attention Points and Its Applications to Face Detection and Classification, IEEEConference on Automatic Face and Gesture Recognition,Grenoble, França, 2000, disponívelem citeseer.nj.nec.com/hotta00face.html, último acesso em novembro 2003.

[KRU02] V. Kruger, G. Sommer,Gabor Wavelet Networks for Objetc Representation, Technical Re-port 2002, Universidade de Kiel, Alemanha.

[HJE00] E. HjelmasFeature-Based Face Recognition. Em NOBIM Proceedings (Norwegian ImageProcessing and Pattern Recognition Conference), 2000.

[MAN95] B.S.Manjunath.A Feature Based Approach to Face Recognition. In Proceedigns of IEEE,pages 373-377, 1995.

[LAU99] W. Laurenz, J. F. e C. von der Malsburg.Intelligent Biometric Techniques in Fingerprintand Face Recognition, capítulo 11, pages 355-396. Number ISBN 0-8493-2055-0. CRC Press,1999.

[LAU99b] W. Laurenz, J. M. F. N Krüger e C. von der Malsburg.Face recognition by elastic bunchgraph Matching. Em Inteligent Biometric Techniques in Fingerprint and Face Recognition,volume 19 of 7, pages 775-779, July 1999.