Você está na página 1de 79

Licena Creative AtribuioUso NoComercialVedada a Criao de Obras Derivadas 2.

5 Brasil Commons

Fundao Universidade Federal do Rio Grande Engenharia de Computao

Um Sistema Computacional para Extrao de Caractersticas Faciais


Felipe Castro da Silva Rodrigo Mendes Costa

Rio Grande, 7 de Maio de 2007

Fundao Universidade Federal do Rio Grande Engenharia de Computao

Um Sistema Computacional para Extrao de Caractersticas Faciais


Felipe Castro da Silva Rodrigo Mendes Costa
Trabalho de Concluso do Curso de Graduao em Engenharia de Computao submetido avaliao, como requisito parcial obteno do ttulo de Engenheiro de Computao.

Orientador(a): Prof. Ms. Alessandro de Lima Bicho Co-orientador(a): Prof . Dra. Silvia Silva da Costa Botelho

Rio Grande, 7 de Maio de 2007

Este trabalho foi analisado e julgado adequado para a obteno do ttulo de Engenheiro de Computao e aprovado em sua forma nal pelos orientadores.

 Prof. Ms. Alessandro de Lima Bicho

Banca Examinadora: Prof. Ms. Alessandro de Lima Bicho


DMAT  FURG (Orientador)

Prof. Ms. Glauber Acunha Gonalves


DFIS  FURG

Eng. Ms. Rogrio Schmidt Feris


Department of Computer Science  University of California, Santa Barbara

A todos que amo F.C.S. queles que amo demais R.M.C.

Agradecimentos
minha me, por ter me educado durante toda vida com muito amor. Ao meu pai, que sempre foi um exemplo de inteligncia, dedicao e sucesso prossional. s minhas irms, pelo grande apoio dado. minha namorada Thiana, pelo seu carinho, amizade, companheirismo e compreenso em todos os momentos deste rduo trabalho. Aos meus avs, que sempre vibraram com minhas conquistas pessoais e prossionais. Ao meu orientador Prof. Alessandro de Lima Bicho, por todo seu interesse, exibilidade e competncia para conduzir da melhor maneira este trabalho. Ao meu amigo Rodrigo Mendes Costa, por sua aplicao e brilhantismo durante todos os anos de convivncia.

F.C.S.

Aos meus pais e famlia, por presentear-me com a vida e preench-la com todo amor. minha Anala, pelo seu amor e carinho, na alegria e na tristeza... Ao meu orientador Prof. Alessandro de Lima Bicho, por todo seu interesse, exibilidade e competncia para conduzir da melhor maneira este trabalho. Ao meu amigo Felipe Castro da Silva, por sua determinao e competncia em cada momento necessrio. Ao meu amigo Thales Sehn Krting, por sua dedicao, lealdade e exemplo motivador. Aos meus demais amigos, por estarem em meu corao me impulsionando e engrandecendo.

R.M.C.

Contedo
Lista de Figuras Lista de Abreviaturas Resumo Abstract 1 Introduo
1.1 1.2 1.3 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iv vii viii ix 1
2 2 3

Organizao do Texto

2 Fundamentao Terica
2.1 2.2 Alguns Trabalhos Correlatos . . . . . . . . . . . . . . . . . . . . . . . . . . Etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.3 Aquisio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5
5 6 7 8 11 11 11 11 12 12

Deteco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Localizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Rastreamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normalizao Segmentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Extrao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTEDO

ii

3 Aquisio e Localizao da Face


3.1 Aquisio 3.1.1 3.1.2 3.1.3 3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cmeras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14
14 14 15 16 17 18 22 24 26

Restries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Localizao 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5

Espaos de Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . Localizao pelos espaos de cores

YIQ

YCbCr .

. . . . . . . . . .

Localizao por mdias migratrias . . . . . . . . . . . . . . . . . . Deteco de Objetos . . . . . . . . . . . . . . . . . . . . . . . . . .

Mtodo de ajuste de uma elipse pelos menores quadrados (Ellipse-

Specic)
3.2.6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30 32

Simetria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Normalizao e Segmentao
4.1 Normalizao 4.1.1 4.1.2 4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotao Rudo

36
36 36 38 38 38 40 41 41

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Segmentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 4.2.2 4.2.3 4.2.4 Contornos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mtricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projees Integrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Segmentao de fundo

5 Extrao das Caractersticas Faciais


5.1 5.2 Extrao dos pontos caractersticos em imagens frontais . . . . . . . . . . . Extrao dos pontos caractersticos do perl . . . . . . . . . . . . . . . . .

45
45 47

6 Aspectos de Implementao
6.1 6.2 6.3 Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sntese do Processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linguagem de Programao . . . . . . . . . . . . . . . . . . . . . . . . . .

52
52 53 54

CONTEDO

iii

6.3.1 6.3.2 6.3.3

Histrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (JMF) . . . . . . . . . . . . . . . . . . . .

55 55 57

Java Media FrameWork

7 Consideraes Finais
7.1 7.2 Diculdades Encontradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . Propostas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58
58 59

Bibliograa

60

Lista de Figuras
1.1 Pontos caractersticos considerados nesse trabalho. . . . . . . . . . . . . . . 3

2.1

Caractersticas

faciais

do

padro

MPEG-4.

Figura

adaptada

de 6

[Abrantes and Pereira, 1999] . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8

Cmeras CCD USB utilizadas nas lmagens

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 16 16 19 20 21 22

Ambiente e disposies utilizadas nas lmagens Exemplo de

frames

adquiridos pelas cmeras . . . . . . . . . . . . . . . . . [Figueir, 2003]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Cubo de cores

RGB

Espao de cores

HSV

como um objeto cnico [Wikipedia, 2005d].

Sistema de coordenadas do espao de cores Sistema de coordenadas do espao de cores

YIQ

[Ribeiro, 2004].

YCbCr

[Ribeiro, 2004]. . . . . .

Imagem antes da aplicao do algoritmo de mdias migratrias ( esquerda). Imagem aps a aplicao do algoritmo de mdias migratorias 26

( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Imagem original da face ( esquerda). Os pequenos objetos brancos dentro dos objetos pretos so os rudos gerados pela localizao da cor de pele ( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

3.10 Localizao da cor da pele ( esquerda) e aplicao do fechamento morfolgico imagem ( direita). . . . . . . . . . . . . . . . . . . . . . . . . . Em destaque, o objeto detectado 28 27

3.11 Deteco de cor de pele ( esquerda). como fundo da imagem ( direita).

. . . . . . . . . . . . . . . . . . . . . .

3.12 Deteco de cor de pele ( esquerda). Em destaque, os objetos detectados como buracos da imagem ( direita). . . . . . . . . . . . . . . . . . . . . . 29

iv

LISTA DE FIGURAS

3.13 Imagem original da face ( esquerda).

Objeto detectado como face na 29

imagem ( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.14 Imagem original da face ( esquerda). Elipse aplicada ao contorno externo ( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.15 Imagem original da face ( esquerda). Elipse aplicada aos contornos interno e externo ( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clculo do ngulo de

30

31

3.16 Elipse aplicada ao contorno externo ( esquerda). inclinao da face ( direita).

. . . . . . . . . . . . . . . . . . . . . . . . .

31

3.17 Objeto detectado como face, pela cor de pele, e com a aplicao do algoritmo de deteco de objetos (em cima, esquerda). Objeto criado a partir do contorno da primeira aplicao da elipse (em cima, direita). Objeto resultante da operao de

OR

entre os dois objetos de cima (em baixo,

esquerda). Elipse gerada a partir dos contornos do novo objeto (em baixo, direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valores de 34 32

3.18 Varincia e Acerto para cada eixo de simetria ( esquerda).

Acerto ( direita). Adaptada de [Chen et al., 2005]. . . . . . . . . . . . . . 3.19 Sugesto de angulao no mtodo da Elipse ( esquerda). Eixo de simetria detectado ( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

4.1

Eixo de simetria detectado ( esquerda) e a imagem frontal rotacionada ( direita) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2

Imagem original com rudo ( esquerda) e a imagem aps aplicada a convoluo de mdia ( direita) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 41

4.3 4.4

Exemplo de segmentao utilizando projees integrais

Imagem da face original (cima, esquerda). Deteco dos contornos gerados pelo algoritmo de Canny (cima, direita). Segmentao do fundo

utilizando somente a informao da componente matiz (baixo, esquerda). Segmentao do fundo utilizando a componente matiz e a imagem dos contornos (baixo, direita). 4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Imagem com o fundo em branco ( esquerda). Linha de perl gerada pelo algortimo Canny ( direita). . . . . . . . . . . . . . . . . . . . . . . . . . . 44

LISTA DE FIGURAS

vi

5.1

Imagem original da face ( esquerda). Linhas que restringem as regies de busca ( direita) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 47 48 50

5.2 5.3 5.4

Pontos de perl (vermelho e verde) [Shan et al., 2000].

. . . . . . . . . . .

Imagem original da face ( esquerda). Ponta do nariz extrada ( direita). . Exemplos de extrao dos pontos caractersticos de perl. . . . . . . . . . .

6.1 6.2

ScreenShot

da tela da aplicao que valida nosso trabalho.

. . . . . . . . .

53 54

Etapas do processo de extrao de caractersticas proposto. . . . . . . . . .

Lista de Abreviaturas
API CCD FPS FTP HSV IHC JVM RGB
Application Programming Interface

Charge-Coupled Device

CODEC

Codicador-Decodicador

Frames Per Second

File Transfer Protocol

GLDH HTTP

Gray Level Dierence Histogram

Hue, Saturation e Value

HyperText Transfer Protocol

Interao Humano-Computador

Java Virtual Machine

Red, Green e Blue

vii

Resumo
Este trabalho prope extrair o maior nmero possvel de caractersticas faciais que possam descrever o movimento da face de forma a possibilitar a criao de um modelo tridimensional a m de simular seus movimentos. Como entrada para o sistema, so aplicadas

tcnicas de viso computacional a imagens ortogonais de uma face humana para a gerao de pontos tridimensionais que a caracterizem. O mtodo utilizado sugere uma abordagem em vrias etapas para alcanar o objetivo, a saber, os pontos caractersticos da face. No primeiro processo, para a imagem frontal, a face localizada com a utilizao de um mtodo no qual a posio da face estimada por sua cor de pele. J na imagem de perl, uma tcnica de extrao de fundo empregada para determinar os contornos da linha da face. A partir da localizao da face, o mtodo de ajuste a uma elipse pelos menores quadrados (Ellipse-Specic) utilizado. Este mtodo tem por objetivo reconstruir, da

melhor maneira possvel, o formato elptico da face, de modo a estimar sua rotao. Um mtodo de simetria rena o ngulo de rotao da face possibilitando sua normalizao. Na segmentao, os limites das caractersticas de interesse da face (sobrancelhas, olhos, nariz e boca) so delimitados. Para tal operao utilizado o mtodo de projees integrais. Estes valores reduzem o espectro de anlise para as etapas seguintes. A extrao busca pelos pontos caractersticos em regies restritas, anteriormente estimadas, tanto na imagem de perl quanto na imagem frontal. Por m, os pontos tridimensionais caractersticos da face so determinados atravs da correlao entre a imagem frontal e a lateral.

viii

Abstract
This work proposes to extract the largest possible number of face features that can describe the face movement to make possible the creation of a tridimensional model to simulate its movements. As a system input, techniques of computational vision for the orthogonal images of a face are applied to the generation of tridimensional points that characterize it. The used method suggests an approach with some stages to achieve the objective, that are the features points of the face. In the rst process, for the frontal image, the face is located with the use of a method where the position of the face is estimated based on its skin-color. In the prole image, a technique of background extration is used to determine the contours of the face. After the localization of the face, the method of adjustment to an ellipse (Ellipse-Specic Direct Least-Square Fitting) is used. This method reconstructs, in the best possible way, the elliptical shape of the face, to estimate its rotation. A

symmetry method renes the rotation angle of the face making possible its normalization. In the segmentation, the limits of interested features of the face (eyebrows, eyes, nose and mouth) are delimited. For such operation the method of integral projections is used. The extraction level searchs

These values reduce the analysis for the following stages.

for the feature points in restricted regions, previously estimated, bothin the prole image as in the frontal image. Finally, tridimensional feature points of the face are determined through the correlation between the frontal and prole image.

ix

Captulo 1 Introduo
Uma breve avaliao do histrico de pesquisas na rea da Viso Computacional e da Computao Grca expe uma grande evoluo e uma eminente preocupao sobre o aperfeioamento das interfaces grcas que interajam com os seres humanos. Dentro deste contexto, uma trajetria bastante interessante a seguir, de modo a propiciar esta melhor comunicao entre homem e mquina, seria dotar o computador com caractersticas humanas. A ideologia de tornar o computador capaz tanto de reconhecer expresses e gestos, como tambm reproduz-los de forma realstica e convincente, tem sido foco de pesquisa em grupos de IHC (Interao Humano-Computador) [IHC, 2005]. Dentre as linhas de

pesquisa existentes, destaca-se o interesse em modelar a face humana e determinar suas caractersticas principais. Seguindo essa losoa, pode-se discriminar duas categorias de modelos faciais

[Garcia et al., 2001]:

Avatars:
de um

modelos em

irreais

que

produzem jogos

representaes ou outros

grcas

simblicas interativos

usurio

realidade

virtual,

ambientes

[Wikipedia, 2005a]. Segundo [Garcia et al., 2001], a categoria que na maioria das vezes pode ser facilmente modelada e animada;

Clones:

modelos

dedignos

que

se

assemelham

com

seres

humanos

[Valente and Dugelay, 2000].

Estes so considerados um dos grandes desaos

para a Computao Grca [Lee et al., 1995].

CAPTULO 1.

INTRODUO

Ambicionando que agentes virtuais interajam com mltiplos usurios em inmeras situaes completamente distintas, inevitvel considerar que eles devam alterar suas expresses faciais diante do contexto na qual se encontram [Yokoyama et al., 1996]. Este apenas um dos propsitos do estudo de tcnicas de extrao de caractersticas faciais que podem ser aplicadas em outros campos de pesquisa, tais como, reconhecimento, acessibilidade, teleconferncia virtual, codicao de vdeo, entre outras.

1.1 Motivao
O advento da Computao Grca e, paralelamente, a rpida emerso de

hardwares

prprios para a execuo de aplicaes tridimensionais, permitiram que novos estudos sobre a modelagem de estruturas complexas fossem realizados. Neste contexto, surgiu a proposta de modelar a face humana de forma a reconhecer e simular seus movimentos em um ambiente virtual, gerando um agente possvel de utilizao em inmeras ferramentas, tornando assim a interao com o computador muito mais amigvel. Para que este objetivo seja alcanado, inicialmente necessria a aquisio de um modelo de face humana. Utilizando tcnicas de viso computacional, o intuito deste

trabalho concentra-se em coletar as caractersticas estticas e dinmicas necessrias de um modelo humano real. Estas caractersticas so representadas atravs de pontos do

espao tridimensional, possibilitando a animao de uma face virtual do modelo humano analisado. Nossa motivao alimenta-se da necessidade de intensicar pesquisas cientcas sobre o processo de extrao de caractersticas faciais, utilizando tcnicas de processamento de sinais (imagens) aliadas viso computacional. Seu resultado pode ser focalizado

em diversos segmentos de pesquisa e desenvolvimento, gerando tanto novos trabalhos cientcos como timas ferramentas que usufruam seus benefcios.

1.2 Objetivos
O propsito deste trabalho visa, a partir de um ambiente sucientemente controlado, extrair o maior nmero possvel de caractersticas faciais que possam descrever o movimento

CAPTULO 1.

INTRODUO

de uma face. Para tal, so utilizadas imagens ortogonais de uma face humana, onde uma conter a vista frontal e a outra conter o perl da face. Deve car claro que apenas

alguns dos pontos mais signicativos da face sero utilizados, ou seja, o projeto no tem inicialmente o intuito de extrair pontos sucientes que permitam modelar geometricamente a face. Os pontos caractersticos que sero considerados ao longo deste trabalho esto especicados na Figura 1.1.

Figura 1.1: Pontos caractersticos considerados nesse trabalho.

Outra questo relevante exposio dos objetivos quanto as possveis restries que algumas tcnicas pesquisadas impem ao modelo analisado, descaracterizando uma postura natural e limitando o funcionamento das tcnicas para apenas alguns casos. Por esse motivo, ambicionou-se superar essas limitaes, escolhendo metodologias que nos permitissem alcanar o resultado sem impor tantas restries ao modelo de face analisado. O conceito de

software

multi-plataforma tambm foi considerado na elaborao desta

proposta de projeto, resultando na deciso da utilizao da linguagem guagem de programao. Alm disso, o projeto props a utilizao de

JAVA

como linno papel

webcams

dos sensores de entrada do sistema, o que representa uma soluo de baixo custo e, ao mesmo tempo, um obstculo a ser transposto devido qualidade da imagem adquirida.

1.3 Organizao do Texto


Aps uma breve introduo sobre o contexto do trabalho, neste momento aproveita-se para orientar sobre a disposio das demais sees inclusas neste documento. Espera-se,

CAPTULO 1.

INTRODUO

por meio desta, favorecer a compreenso do contedo abordado, alm de descrever uma sntese sobre a forma como nosso trabalho foi conduzido ao longo do estudo realizado. A organizao adotada prev uma reviso bibliogrca sobre as etapas necessrias at a extrao de caractersticas faciais no Captulo 2. Neste captulo, uma viso geral juntamente com um histrico cientco sobre o assunto abordada. Vrios conceitos so expostos para o real entendimento do processo. O Captulo 3 inicia a abordagem adotada nesse trabalho para a implementao de um sistema capaz de extrair caractersticas faciais. Todas as tcnicas implementadas Nova descrio realizada Finalizando a

so descritas e avaliadas diante dos resultados alcanados.

no Captulo 4, agora sob o mbito da segmentao de caractersticas.

explicao do processo, o Captulo 5 trata da extrao dos pontos caractersticos dos elementos que constituem a face humana. A partir do Captulo 6, aspectos relacionados implementao do sistema, incluindo todos os recursos utilizados, so apresentados. J o Captulo 7 transparece as concluses alcanadas e descreve as principais diculdades encontradas, nalizando este trabalho com as perspectivas futuras.

Captulo 2 Fundamentao Terica


A inteno deste captulo realizar uma sntese supercial das etapas at a extrao de caractersticas faciais e dessa forma facilitar a compreenso das escolhas e implementaes presentes neste trabalho. Nas sees seguintes, sero apresentados conceitos da rea que se faro importantes para a leitura. Atravs deste captulo, ser exposto o quanto foi

pesquisado para a realizao deste projeto.

2.1 Alguns Trabalhos Correlatos


Neste ponto, prioritrio que se dena exatamente o signicado de caractersticas faciais que deseja-se obter. Caractersticas faciais so os elementos que compem a face, como sobrancelhas, olhos, nariz, lbios, queixo, entre outros. Nossa inteno extrair os pontos caractersticos que denem esses elementos, para dessa forma analisar o movimento e permitir a gerao de um modelo para simulao. Em [Abrantes and Pereira, 1999] podese encontrar a especicao do padro MPEG-4 que dene pontos caractersticos da face que tem relevncia para a denio de movimentos faciais. A Figura 2.1 mostra quais so esses pontos. O trabalho de [Yokoyama et al., 1996] relata que muitos mtodos foram propostos para extrair caractersticas faciais. Dentre eles se destacariam o casamento de padres, projees integrais de contornos e modelos deformveis. O mtodo de casamento de

padres empregado para reconhecer as caractersticas faciais, mas sensvel a presena de transformaes geomtricas, distores e deformaes causadas pelas expresses faci-

CAPTULO 2.

FUNDAMENTAO TERICA

Figura

2.1:

Caractersticas

faciais

do

padro

MPEG-4.

Figura

adaptada

de

[Abrantes and Pereira, 1999]

ais.

Um trabalho dentro dessa linha o de [Lanzarotti et al., 2002].

Outros trabalhos

propem mtodos heursticos aplicados s projees integrais e informaes adicionais sobre a simetria para localizar face e caractersticas, como por exemplo, os trabalhos de [Gu et al., 2003, Shan et al., 2000, Rozinaj and Mistral, 2003]. Mtodos que se baseiam apenas na anlise de nveis de cinza (intensidade) so facilmente inuenciados pela variao da iluminao. como Tcnicas que utilizam modelos deformveis de contornos ativos, Esse

Snakes

[Precioso et al., 2005], detectam ou perseguem contornos evidentes.

ltimo tipo modela uma funo de energia que permite a adaptao da torno.

Snake

ao con-

No entanto, o principal problema desta tcnica se deve a disposio inicial da juntamente com o fato das caractersticas faciais no apresentarem em grande

Snake,

parte das vezes contornos uniformes. Na mesma linha aparecem os padres deformveis [Yuille et al., 1992] que tambm baseiam-se em funes de energia, mas aproximam-se de outras caractersticas alm de contornos, como picos e vales de intensidade.

2.2 Etapas
Aps uma ampla pesquisa sobre trabalhos correlatos extrao de caractersticas faciais, foi identicado alguns conceitos que, apesar de no encontrados explicitamente com essa nomenclatura e especicidade em qualquer um dos trabalhos pesquisados, sintetizam um

CAPTULO 2.

FUNDAMENTAO TERICA

consenso entre os mesmos. Esses conceitos sero apresentados aqui como uma seqncia de etapas ou tarefas que constituem um processo completo de extrao de caractersticas faciais. Essas etapas seriam:

Aquisio

Deteco

Localizao

Rastreamento

Normalizao

Segmentao

Extrao

No entanto, relevante destacar que essas etapas no so necessariamente independentes e absolutas. Tanto algumas delas podem substituir outras, quanto podem estar interligadas de forma a impossibilitar uma distino perfeita [Zhao et al., 2003]. A percepo destas dependncias car mais clara ao longo desse trabalho.

2.2.1

Aquisio

A indispensvel etapa de aquisio uma das mais importante no processo de extrao de caractersticas faciais. Todas as demais fases dependem direta ou indiretamente das decises tomadas para realizar o processo de aquisio. Dentre as variveis pertinentes a esse processo, destacam-se genericamente:

Sensor:

o tipo de sensor utilizado para coletar as informaes pertinentes sobre o

modelo facial analisado;

Disposio dos sensores: Ambiente:

o arranjo adequado dos sensores para o problema pro-

posto, dependente da tcnica utilizada para a sntese da fase;

pr-requisitos necessrios para que a aquisio possa ser realizada;

CAPTULO 2.

FUNDAMENTAO TERICA

Posio: Regra:

a posio adequada do modelo que passar pela anlise;

restries as quais o modelo humano deve se submeter em relao a movi-

mentos, a expresses, a indumentria, entre outros.

Como nossa abordagem sobre o processo de extrao de caractersticas se restringe utilizao de imagens, a aplicao de cmeras como sensores de entrada foi adotada e, por esse motivo, tratar-se- especicamente deste segmento. No entanto, algumas pesquisas na rea utilizam outros tipos de equipamentos especcos como

scanners

laser1

capazes

de gerar, atravs do clculo da distncia de cada ponto do objeto analisado, uma nuvem de pontos no espao tridimensional. Existem na literatura algumas tcnicas que utilizam cmeras para a constituio de um

scanner 3D. Algumas delas, inclusive, vinculam tambm a utilizao de outros dispositivos
para auxiliar a sntese facial, como feixes de

laser

ou luz. Uma anlise dos mtodos mais

difundidos pode ser encontrada em [Chan et al., 2004]. Como explicado no Captulo 1, a tcnica adotada em nosso trabalho baseia-se na utilizao de duas vistas ortogonais da face analisada. Em relao ao que chama-se de ambiente, existe uma grande variedade de propostas que descrevem a estrutura necessria para que a aquisio e futura extrao de caractersticas funcione adequadamente. No que diz respeito iluminao, um dos principais problemas existentes o de como lidar com as sombras, anal elas so muitas vezes indesejveis nas etapas seguintes. Por esse motivo, uma iluminao ineciente pode comprometer todo o processo hierrquico para a extrao de caractersticas. Tanto o posicionamento do modelo quanto as possveis deformaes de sua face podem caracterizar excees a muitos sistemas de extrao de caractersticas. Sendo assim, estes cuidados tambm devem ser considerados durante a etapa de aquisio.

2.2.2

Deteco2

Identicada como a primeira fase de qualquer processo de localizao, extrao ou reconhecimento de caractersticas, a fase de deteco de faces revela os primeiros obstculos a

2 Seo

1 Encontrados

na literatura como laser range baseada no trabalho de [Feris, 2001]

scanners ou apenas range scanners.

CAPTULO 2.

FUNDAMENTAO TERICA

serem transpostos no que diz respeito a viso computacional. Inmeros agentes, externos e internos, afetam a ecincia dos algoritmos responsveis pela constatao da presena ou no de uma face humana na imagem ou seqncia de imagens analisadas. Dentre

os fatores externos, destacam-se rudos na imagem, diferentes condies de iluminao e obstruo total ou parcial da face humana. Determinadas alteraes e deformaes

na aparncia da face, ocasionadas at mesmo por expresses faciais incomuns, so consideradas agentes internos e resultam em uma srie de restries impostas pelos sistemas propostos na literatura.

Imagens estticas
Existem, basicamente, duas classicaes para as tcnicas utilizadas na deteco de faces em imagens estticas: (1) abordagem baseada em caractersticas e (2) abordagem holstica. A primeira, realiza a identicao da presena da face humana buscando por caractersticas facias e possveis relaes mtricas entre elas. J a abordagem holstica analisa a imagem na tentativa de detectar a face em sua integra. Inicialmente, as propostas para deteco de faces basearam-se na busca por caractersticas faciais atravs da anlise de suas formas. Essa tcnica demonstrou-se sensvel a interferncias provenientes de rudos. Tcnicas com casamento de padres tambm se mostraram inecientes, visto que os elementos que constituem a face humana no so rgidos. Em [Yuille et al., 1992], a tcnica de utilizao de padres deformveis

apresenta

bons resultados, mas possui como principal desvantagem o elevado custo computacional envolvido. Alm destas propostas para a abordagem baseada em caractersticas, ainda se destacam mtodos que utilizam modelos de contornos ativos, modelos estatsticos e tcnicas baseadas em correlao. Normalmente, abordagem holsticas realizam uma varredura na imagem por intermdio de uma janela em mltiplas escalas, extraindo pequenas regies que so ento processadas por um mtodo especco. Tcnicas como PCA (Principal

Component Anal-

3 Traduo

utilizada para

deformable templates, tambm conhecida na literatura brasileira como tem-

plates deformveis

CAPTULO 2.

FUNDAMENTAO TERICA

10

ysis),

modelos probabilsticos utilizando

eigenfaces

apresentam resultados positivos, mas

sofrem restries quanto variao da luminosidade e alteraes da face neutra. Redes neurais apresentam resultado satisfatrio na deteco de faces em imagens complexas e rotacionadas. Outras tcnicas conhecidas utilizam as cores para selecionar regies de interesse, diminuindo signicativamente o custo computacional ao varrer toda a imagem para localizar as possveis ocorrncias de uma face. A desvantagem desses mtodos tambm comumente relacionada a diferentes graus de iluminao. Dentre abordagens baseadas

em caractersticas e abordagens holsticas, a segunda tem apresentado maior eccia quando se trata de imagens estticas.

Imagens dinmicas
Quando se trata de seqncias de imagens ou vdeos, geralmente h uma perda em relao qualidade das imagens, em contrapartida, inmeras informaes sobre movimento podem ser utilizadas. Valendo-se desse artifcio, os mtodos de deteco de faces em seqncias de vdeo so divididos em duas etapas: (1) reduo do espao de busca e (2) anlise da ocorrncia de face. A primeira etapa diz respeito a seleo eciente de regies candidatas conterem a face humana, restando segunda vericar as regies selecionadas. Como citado anteriormente, uma das tcnicas de reduo de espaos de busca a utilizao de modelos de cor da pele humana [Feris et al., 2000], pois demandam um esforo computacional muito reduzido e facilitam a deteco da face em diferentes orientaes. Outras propostas interessantes utilizam a tcnica de subtrao de fundo como alternativa, no entanto, s apresentam bom resultados em situaes de cmera imvel e poucas alteraes entre as imagens. No que diz respeito a vericao da ocorrncia ou no da face nas regies candidatas, as principais tcnicas encontradas na literatura baseiam-se basicamente em correlao com padres, simetria, anlise de textura, forma e at mesmo movimentos caractersticos como piscar e movimentao dos olhos.

CAPTULO 2.

FUNDAMENTAO TERICA

11

2.2.3

Localizao

A etapa de localizao muito semelhante a etapa de deteco. Elas s se diferenciam pelo fato da localizao no comprovar a presena da face na regio localizada. Basicamente, a deteco engloba a localizao, mas a recproca no verdadeira. Por esse motivo, as tcnicas s de localizao geralmente utilizam mecanismos de avaliao menos exigentes, como por exemplo, a proposta desse trabalho que utiliza apenas a cor da pele para localizar a regio onde se encontra a face.

2.2.4

Rastreamento
tracking,
responsvel pelo acompa-

A etapa de rastreamento de faces, conhecida como

nhamento da face obtida no incio de uma seqncia de vdeo at o nal da mesma. Isso implica na localizao constante da face em cada quadro que compe o vdeo. Desta

forma, o custo computacional reduzido juntamente com o espao de busca dentro do quadro. Outra vantagem do rastreamento a continua realimentao do sistema da informaes sobre o movimento que podem ser de grande valia dependendo da aplicao qual est sendo utilizada.

2.2.5

Normalizao

A etapa de normalizao tem por nalidade executar as possvel correes que so necessrias nas imagens ou quadros que passaro a etapa de segmentao e extrao de caractersticas. Dentre os principais problemas que uma imagem possa apresentar,

destacam-se a ocorrncia de rudo na captura do sensor de entrada, alm das possveis rotaes naturais, mesmo que pequenas, aplicadas pela face.

2.2.6

Segmentao

O processo de segmentao a etapa onde realizada a subdiviso de uma imagem em suas partes constituintes. interesse tiverem sido isolados. Este processo concludo quando todas os objetos de A segmentao autnoma uma das tarefas mais dif-

ceis em processamento de imagens e determina o eventual sucesso ou fracasso na anlise [Gonzalez and Woods, 2000].

CAPTULO 2.

FUNDAMENTAO TERICA

12

Algoritmos de segmentao de imagens normalmente baseiam-se na anlise de descontinuidades, focados na deteco de mudanas bruscas (pontos, linhas e bordas), e similaridade, dedicados a limiarizao (thresholding) e operaes entre regies distintas. Uma vantagem especca da segmentao aplicada em seqncias de vdeo a utilizao do movimento para determinao das regies a serem diferenciadas. Quanto se trata especicamente da segmentao da face e caractersticas faciais, preciso se considerar que olhos, boca, nariz e demais caractersticas so diferentes de pessoa para pessoa e, mesmo sobre a mesma pessoa, podem ser deformadas conforme a expresso facial [Yokoyama et al., 1996].

2.2.7

Extrao

Por m, a etapa de extrao compreende as tcnicas necessrias para extrair os pontos de controle de cada uma das caractersticas faciais segmentadas. Como os diversos elementos da face possuem caractersticas diferenciadas, geralmente tcnicas distintas so aplicadas a cada segmento para realizar a tarefa de extrao. Segundo [Zhao et al., 2003], os mtodos de extrao de caractersticas podem ser diferenciados em trs tipos:

Mtodos genricos baseados em contornos, linhas e curvas;

Mtodos baseados em padres das caractersticas;

Mtodos de correspondncias estrutural que consideram geometria dos elementos;

2.3 Aplicaes
O trabalho de [Tang and Huang, 1996] acrescenta que em funo da tentativa de alcanar baixas taxas de codicao de vdeo, sistemas de codicao baseada em modelos tm atrado grande interesse na rea de telecomunicaes visual como, por exemplo, vdeofone e teleconferncias onde a face humana apresenta o papel mais relevante. A principal

idia dessa abordagem construir um modelo 3D da face humana. Apenas as partes que caracterizam o movimento so analisadas e os parmetros da movimentao so ento

CAPTULO 2.

FUNDAMENTAO TERICA

13

transmitidos, permitindo que a expresso facial original seja sintetizada pela deformao do modelo facial. A identicao de suspeitos a partir de cmeras de segurana uma aplicao de grande importncia da extrao de caractersticas faciais. Em [Martins, 2005], apresentado um instrumento de utilidade para rgos policiais que aplicam recursiva e manualmente o retrato-falado como ferramenta para busca de suspeitos em arquivos fotogrcos. J em [da Silva and de Castro Santa Rosa, 2003], a busca por pessoas feita com apenas 20% da imagem de uma face, atravs da tcnica de

eigeneyes.

Segundo [Lanzarotti et al., 2002] os modelos tridimensionais gerados por extrao de caractersticas so usados em aplicao voltadas a medicina, video, realidade virtual e computao grca.

Captulo 3 Aquisio e Localizao da Face


Com uma viso mais clara do desao de extrair caractersticas faciais a partir de uma seqncia de imagens, o trabalho se direciona a explicar as caractersticas das principais tcnicas utilizadas. Em um primeiro momento, o processo de aquisio ser discutido, Logo em seguida, os mtodos aplicados

seguindo as questes expostas na Seo 2.2.1.

localizao da face sero descritos, alm da apresentao do contedo necessrio para seus entendimentos.

3.1 Aquisio
Para melhor apresentar as decises tomadas neste projeto em relao aquisio, esta seo comenta separadamente cada uma das escolhas que foram tomadas para denir a trajetria inicial do trabalho.

3.1.1

Cmeras

Desde o perodo de idealizao do projeto, existiu o interesse em implementar uma tcnica que realizasse a extrao de caractersticas com o mnimo de recursos possveis. Dessa

forma, o custo baixo e a facilidade de obter os recursos para a sua execuo tornariam o programa mais acessvel para sua utilizao. Inicialmente, cogitou-se utilizar cmeras de vdeo conectadas a placas de captura de vdeo nos computadores. No entanto, essa alternativa seria to custosa que inviabilizaria a utilizao dessa pesquisa para outras aplicaes.

14

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

15

Seguindo essa trajetria, decidiu-se aceitar o desao de extrair caractersticas faciais de um modelo humano utilizando cmeras CCD

USB. Conhecidas como

webcams,

essas cmeras apresentam uma resoluo muito baixa em comparao com as cmeras tradicionais, alm de serem muito sensveis as variaes de luminosidade. A Figura 3.1 mostra as cmeras utilizadas na aquisio dos vdeo utilizados na extrao de caractersticas faciais. A resoluo adotada foi a de 352 x 288 (taxa de

pixels com um framerate per second).

frames)

varivel em funo da caracterstica CCD da cmera inuenciada pela mdio conseguido se aproximou de 10 fps (frames

iluminao. O

framerate

Figura 3.1: Cmeras CCD USB utilizadas nas lmagens

3.1.2

Ambiente

Dentre as opes pesquisadas para dispor o modelo durante as lmagens, foi adotada a estrutura mostrada na Figura 3.2. Duas cmeras foram dispostas em eixos ortogonais a uma distncia aproximada de 50 centmetros da cabea do modelo. Como fundo foi utilizado uma tecido azul, baseado na tcnica de cromaqui que ser explicada mais detalhadamente no Captulo 4 sobre normalizao e segmentao. A adoo de um fundo simples reduz signicativamente a complexidade da etapa de localizao da face, no entanto, outros trabalhos como o de [Su and Yin, 2004] dedicam-se exclusivamente a detectar a face humana em imagens complexas.

1 CCD

(Charge-Coupled Device) ou Dispositivo de Carga Acoplado um sensor para a gravao de

imagens formado por um circuito integrado contendo um conjunto de capacitores ligados (acoplados). Sob o controle de um circuito externo, cada capacitor pode transferir sua carga eltrica para um outro capacitor vizinho) [Wikipedia, 2005c].

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

16

Figura 3.2: Ambiente e disposies utilizadas nas lmagens

Quanto iluminao, nenhum padro mais rigoroso foi utilizado, apenas tentou-se dispor lmpadas sucientes ao redor do modelo de forma a evitar ao mximo o aparecimento de sombras sobre sua face. Inicialmente, apenas lmpadas uorescentes foram consideradas, no entanto, uma lmpada frontal incandescente fez-se necessria para manter o tom da pele mais perceptvel, j que o mesmo se apresentava muito plido sob a iluminao uorescente. A Figura 3.3 mostra um exemplo de aquisio realizado.

Figura 3.3: Exemplo de

frames

adquiridos pelas cmeras

3.1.3

Restries

Como foi colocado na Seo 1.2, um dos principais objetivos desse trabalho evitar impor restries ao modelo facial analisado. Isso porque o projeto prope acompanhar e reproduzir o movimento facial. No entanto, infelizmente algumas restries tiveram

que ser impostas para que o projeto pudesse ser implementado em tempo. Mesmo assim, como sero descritas nos captulos seguintes, algumas restries encontradas em trabalhos correlatos puderam ser superadas.

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

17

Inevitavelmente, para a tcnica de correlao, entre imagem frontal e imagem de perl, utilizada at o atual estado do projeto, a face no pode realizar rotaes signicativas sobre o eixo das profundidades, pois isso resultar em erros na aproximao da regio segmentada, especicamente a da boca. Essa restrio ser melhor detalhada no Captulo 4 sobre normalizao e segmentao.

3.2 Localizao
A prxima etapa, aps se realizar a aquisio de um vdeo da face, atravs das cmeras frontal e lateral, ser a localizao da face em cada imagem (ou

frame).

Localizar a

face, antes de extrair cada caracterstica facial em particular, facilitar o trabalho, pois a procura por elementos no ser em toda imagem, mas sim em um espao reduzido. Contudo, a maioria das tcnicas utilizadas para localizar faces tem por objetivo tentar suprir alguns problemas comuns como [Yang et al., 2002]:

Pose:

as imagens de face variam de acordo com a posio da cmera. Conseqen-

temente, algumas caractersticas faciais, tais como um olho ou o nariz, podem estar parcialmente ou totalmente oclusos.

Presena ou no de componentes estruturais:

caractersticas faciais tais como

barbas, bigodes e at mesmo adereos, como, por exemplo, culos, podem estar presentes, o que resulta em uma grande variabilidade entre esses componentes incluindo suas formas, cores e tamanhos.

Expresso Facial:
forma da imagem.

a expresso da face inuencia diretamente na aparncia e na

Ocluses:

a face pode estar obstruda parcialmente por outros objetos.

Condies da imagem:

quando uma imagem obtida, fatores como iluminao

e caractersticas da cmera afetam a aparncia da face.

Existem vrias tcnicas utilizadas para localizar a face em uma imagem. Por exemplo, em imagens coloridas, pontos de cor de pele podem ser encontrados pelo mtodo baseado

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

18

em caractersticas invariantes , que um processo interessante para se obter uma nuvem de pontos que represente a face. A utilizao da cor da pele para determinar a localizao da face uma sub-rea dos mtodos baseados em caractersticas invariantes. Dentro desse espectro de pesquisa, foram estudados alguns mtodos, sendo que um deles foi utilizado como uma alternativa para a localizao da face (Seo 3.2.3). A opo pelo mtodo baseado em caractersticas invariantes, deu-se por sua capacidade de localizar a face independentemente de algum conhecimento sobre sua forma e posio na imagem. Os mtodos baseados na cor da pele para localizao de uma face geralmente apresentam rudo devido ou a um fundo complexo ou a objetos (que possuem cor semelhante da pele humana) que estejam na imagem. Para resolver este problema, utilizou-se um algoritmo de deteco de objetos (Seo 3.2.4). Esse algoritmo mantm na imagem apenas o maior objeto. Como o enfoque deste trabalho adquirir imagens de uma face,

considera-se, por denio, que o maior objeto conexo localizado na imagem a face. Todos os mtodos que sero apresentados fazem, em algum momento, referncia a um ou mais espaos de cores. Por esse motivo, ser feita uma breve reviso sobre os espaos de cores necessrios para a idealizao da aplicao.

3.2.1

Espaos de Cores

O propsito de um espao de cores estabelecer um mtodo formal, necessrio para se quanticar as sensaes visuais das cores que podem ser mais precisamente especicadas. Este mtodo explica as propriedades ou o comportamento das cores em um contexto particular. Basicamente, um espao de cor possui uma especicao em um sistema de coordenadas tridimensionais. Neste sistema de coordenadas, cada cor representada por um nico ponto desse espao tridimensional. Os espaos de cores mais frequentemente utilizados no processamento e anlise de imagens so o

RGB, HSV, YIQ

YCbCr.

A seguir, sero apresentados cada um desses

espaos baseado em [Gonzalez and Woods, 2000].

2O

conceito de caractersticas invariantes refere-se premissa na qual a cor da pele de uma pessoa se

mostra homognea ao longo da face em condies ideais de iluminao

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

19

RGB
No espao

RGB, cada cor aparece nos seus componentes espectrais primrios de vermelho, RGB,

verde e azul. Baseado num sistema de coordenadas cartesianas, tem como subespao de cores de interesse um cubo. Na Figura 3.4 est representado o cubo no qual os

valores de vermelho, verde e azul esto nos trs cantos, levando-se em considerao que o preto a origem do sistema de coordenadas cartesianas; ciano, magenta e amarelo esto nos outros trs cantos. A escala de nveis de cinza (componente

V, ver Seo 3.2.1 (HSV))

est na linha que liga o ponto preto ao ponto branco. Essa informao muito utilizada no processamento e anlise de imagens.

Figura 3.4: Cubo de cores

RGB

[Figueir, 2003].

Imagens no espao de cores

RGB consistem em

trs planos de imagem independentes.

Um para cada cor primria. Quando alimentadas em um monitor

RGB, essas trs imagens

combinam-se sobre a tela fosfrea para produzir uma imagem de cores compostas. Assim, o uso do modelo

RGB

para processamento de imagens faz sentido quando as imagens so

naturalmente expressas em termos de planos de trs cores. Alternativamente, a maioria das cmeras coloridas usadas para aquisio de imagens digitais utilizam o formato o que por si s torna este modelo importante em processamento de imagens.

RGB,

HSV
A matiz (componente (componente O espao

H) um atributo que descreve uma cor pura, enquanto a saturao

S)

d uma medida do grau de diluio de uma cor pura por luz branca.

HSV V

de cores deve sua utilidade a dois fatores principais: o componente de

intensidade

desacoplado da informao de cor da imagem e os componentes de matiz Essas carac-

e saturao so intimamente relacionados a percepo humana de cores.

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

20

tersticas tornam o espao de cores

HSV

uma ferramenta ideal para o desenvolvimento

de algoritmos de processamento de imagens baseados em alguma das propriedades do sistema visual humano. Exemplos da utilizao do espao de cores

HSV

tm-se desde sistemas de inspeo

automtica de amadurecimento de frutas a sistemas para correspondncia de amostras de cores ou para inspeo de qualidade de produtos coloridos. Nessas aplicaes, a chave consiste em basear a operao do sistema sobre propriedades de cores na forma em que uma pessoa usaria aquelas propriedades para desempenhar a tarefa em questo. A Figura 3.5 mostra a representao do espao de cores localizao de suas componentes.

HSV

em uma forma cnica,bem como a

Figura 3.5: Espao de cores

HSV

como um objeto cnico [Wikipedia, 2005d].

YIQ
O espao de cores mente,

YIQ

usado na transmisso comercial de televiso colorida. Basica-

YIQ uma recodicao de RGB para ecincia da transmisso e para manuteno

da compatibilidade com os padres monocromticos de televiso. De fato, o componente

Y do sistema YIQ fornece todas as informaes de vdeo necessrias para um aparelho de


televiso monocromtico. O modelo

YIQ

foi projetado para tirar vantagem da maior sensibilidade da viso

humana a mudanas na luminncia do que as mudanas de matiz e saturao. Assim, o padro

YIQ possui uma banda mais larga (ou mais bits no caso de imagens digitais) para Y
e possui uma banda mais estreita (ou menos bits no caso de imagens

a componente

digitais) para as componentes

Q.

Em [Pritchard, 1977, Smith, 1978] podem-se achar

maiores detalhes sobre essa importante propriedade.

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

21

Figura 3.6: Sistema de coordenadas do espao de cores

YIQ

[Ribeiro, 2004].

Alm de ser um padro de aceite geral, a principal vantagem do espao

YIQ Q)

em so

processamento de imagens que a luminncia (Y) e a informao de cores (I e

desacopladas. Sabendo-se que a luminncia proporcional quantidade de luz percebida pelo olho, a importncia desse desacoplamento que pode-se mexer na luminncia sem alterar a cor da imagem.

YCbCr
O

YCbCr

um espao de cores utilizado em sistemas de televiso e vdeo.

componente de luminncia, ou seja, contm as informaes sobre os tons de cinza, no entanto,

Cb e Cr so as componentes cromticas.

A componente

Cb contm a informao

relativa a cor azul, ao passo que a componente [Agostini et al., 2004]. O espao

Cr

contm a informao da cor vermelha

YCbCr,

alm da sua aplicao televiso e ao vdeo, tambm empregado

por alguns formatos digitais de imagem, dos quais o mais importante o formato JFIF (tambm, incorretamente, designado por JPEG) [Ribeiro, 2004]. A vantagem do emprego deste modelo , tal como em televiso, a separao da cor em componentes de luminncia e de crominncia. Como a vista humana muito mais sensvel luminncia do que

crominncia, a informao sobre as componentes de crominncia de uma dada cor no espao

YCbCr no necessita de uma gama de valores (e preciso) igual da sua luminncia. YCbCr
ocuparem originalmente 8 bits cada, possvel ento reduzir

Se as componentes

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

22

Figura 3.7: Sistema de coordenadas do espao de cores

YCbCr

[Ribeiro, 2004].

a representao das componentes de crominncia a apenas 2 bits, ou seja, um quarto do espao inicialmente ocupado e a informao sobre uma cor passa a ocupar apenas 12 bits em vez dos 24 bits iniciais. Uma imagem pode assim ser reduzida a metade do seu tamanho original. Esta tcnica designada por quantizao da cor.

3.2.2

Localizao pelos espaos de cores

YIQ

YCbCr

A localizao de cores, utilizando o espao de cores

YIQ, muita utilizada por sua carac-

terstica de independncia entre suas componentes. Em [Buhiyan et al., 2003], baseado no conceito de que a cor da pele tende a se aglomerar numa regio do espao de cores, um

threshold

sobre o espao

YIQ

utilizado para selecionar, na imagem, quais

pixels
os va-

so ou no cor de pele. lores de cada

Como a imagem adquirida no sistema de cores

RGB,

pixel

devem ser convertidos para o espao

YIQ.

A transformao, segundo

[Gonzalez and Woods, 2000], dada pela Equao 3.1.

Y 0.299 0.587 0.114 R I = 0.596 0.275 0.320 G Q 0.212 0.523 0.311 B

(3.1)

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

23

Com os valores no espao de cores imagem.

YIQ,

segundo a condio abaixo, pode-se binarizar a

SE (0.234 < Y < 0.781) E (0.078 < I < 0.195) EN T AO P RET O SEN AO BRAN CO
Aps a limiarizao binarizada dos

pixels,

tem-se na cor preta as reas da imagem onde

possivelmente seja uma face, e em branco o restante da imagem. O algoritmo de deteco de objetos (Seo 3.2.4) utilizado para manter na imagem somente o maior objeto preto, retirando os buracos contidos neste objeto. Outro espao de cores que apresenta a propriedade de independncia entre suas componentes o

YCbCr.

Sendo conhecido como um mtodo rpido, genrico e robusto para

localizao de faces, as distribuies cromticas de cor de pele, para localizar a face. Pelo espao de cores

Cb

Cr,

so utilizadas

YCbCr,

a distribuio de cor de pele sempre

tem valores que satisfazem o teste lgico abaixo, segundo [Sheng, 2003]. Em seu trabalho,

Sheng diz que esta caracterstica independente de raa humana e cor de pele.
esta propriedade somente pode ser aplicada a cabelos escuros.

Entretanto,

SE (0.301 < Cb < 0.496) E (0.520 < Cr < 0.676) EN T AO P RET O SEN AO BRAN CO
Para a aplicao do mtodo de localizao proposto por [Sheng, 2003], preciso converter a cor do

pixel, do espao de cores RGB, para o espao de cores YCbCr.

Tal transformao

dada pela equao 3.2.

Y 0.301 0.586 0.113 Cb = 0.172 0.340 0.512 Cr 0.512 0.430 0.082


Com o valor de cada

R 0 G + 0.500 0.500 B

(3.2)

pixel

no espao de cores

YCbCr,

pode-se limiarizar o que cor de

pele e o que no cor de pele, atravs da condio denida por [Sheng, 2003]. Valores de

pixel

que estiverem dentro do limiar, passam a ser pretos na imagem. Valores que no

estiverem dentro do limiar, passam a ser brancos na imagem.

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

24

Aps, a limiarizao binarizada dos

pixels,

tem-se na cor preta as reas da imagem O algoritmo de

onde possivelmente estar a face e em branco o restante da imagem.

deteco de objetos (Seo 3.2.4) utilizado para manter na imagem somente o maior objeto preto, bem como retirar os buracos existentes neste objeto. Em nosso trabalho, optou-se por utilizar um mtodo que une os dois espaos de cores (YIQ e

YCbCr).

Para cada

pixel

da imagem, se verica se ele est dentro de algum dos

intervalos denidos. Se estiver, este

pixel localizado como um ponto da face (cor de pele),

caso contrrio descartado. Um mtodo similar foi utilizado em [Singh et al., 2003]. Alm disso, o mtodo de deteco de objetos aplicado para segmentar da regio da face.

3.2.3

Localizao por mdias migratrias

Este mtodo de localizao baseia-se na caracterstica de cromaticidade das cores dos

pixels.

Utiliza a informao de que as componentes

(matiz) de todos os

pixels

per-

tencentes pele humana, do espao de cores

HSV,

so iguais ou muito prximas. Isso

pode ser comprovado pela anlise do cone de cores da Figura 3.5. Se seccionar-se o cone perpendicularmente ao seu eixo, se obter uma circunferncia. Nos pontos que formam esta circunferncia esto representados os valores da componente

H.

Como cada imagem (frame) adquirida pela cmera est representada no espao de cores

RGB,

transforma-se cada pixel do espao de cores

RGB

para o espao de cores

HSV, pelas equaes seguintes:

H = cos

1 2

[(R G) + (R B)]
1

[(R G)2 + (R B)(G B)] 2 3 [min(R, G, B)] R+G+B

(3.3)

S =1

(3.4)

1 V = (R + G + B) 3
Na anlise do cone de cores do espao

(3.5)

HSV, nota-se que medida que se desloca para baixo V),


a circunferncia gerada pela seco, citada

(diminuindo a componente de luminncia

anteriormente, diminui. Por esse fato, conclui-se que, quanto menor for a circunferncia, mais difcil ser a distino das cores. Todavia, se a luminncia muita alta,

i.e.,

se o

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

25

pixel
de

muito claro, a distino entre as cores tambm ca complicada. Portanto, valores com

pixel

muito baixos e muito altos so descartados, visto que, quando o

pequeno, as cores so todas escuras (prximas a preto) e, quando o

grande, as cores

so todas claras (prximas a branco), dicultando a deteco da matiz. O limiar que se utiliza para desconsiderar os valores de valores grandes de

V pequenos foi

de 50 (na escala de 0 a 255). Para

V,

considere-se o limiar de 230 (na escala de 0 a 255).

Outra anlise que deve ser levada em considerao em relao a componente de saturao

S.

Quando se considerar as circunferncias com seus menores raios, nota-se Portanto, valores com

que a saturao impede a distino entre as cores. quenos tambm so descartados, pois quando o

muito pe-

S pequeno, as cores so pouco saturadas

(acinzentadas) e a matiz no poder ser distinguida. O limiar que utiliza-se para desconsiderar os valores de

pequenos foi de 30 (na escala de 0 a 255).

O rudo gerado pelos

pixels

que foram desconsiderados ser tratado quando se aplicar

o mtodo de ajuste por uma elipse e o mtodo de deteco de objeto. A idia de aplicar um mtodo de agrupamento de cores, para a localizao da face, surgiu da anlise sobre imagens de face. Notou-se que as imagens possuam trs grandes grupos de cores (fundo, cabelo e face) e que, a partir dessas caractersticas, pode-se implementar um algoritmo que agrupe os

pixels

por sua semelhana na componente

H.

O algoritmo abaixo mostra o funcionamento deste mtodo:

1. Sorteiam-se trs valores iniciais, que representaro cada uma das mdias dos trs grupos de cor de

pixel.
3
entre seu valor de

2. Para cada

pixel

da imagem, calcula-se a distncia O

e os valores

das mdias de cada um dos trs grupos. distncia for menor.

pixel

far parte do grupo em que a

3. Calcula-se a nova mdia de cada grupo, somando todos os valores de pertencentes ao grupo e dividindo pelo nmero de

H de cada pixel

pixels

pertencentes ao grupo.

4. Se a mdia de todos os grupos no variou com relao ao passo anterior, o processo de iterao pra, seno volta ao passo 2.

3 Como

a representao geomtrica da componente

H no cone uma circunferncia, faz-se necessrio

o clculo da distncia nos dois sentidos; a menor entre elas considerada.

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

26

5. Ao nal do processo, cada grupo ao qual ele faz parte.

pixel

recebe o valor de

correspondente a mdia do

Com esse mtodo conseguiu-se dividir a imagem em trs grandes grupos de cor, como mostra a Figura 3.8. Porm, no se utilizar este mtodo para nossa aplicao, pelo fato de ser um processo lento, apresentando resultados semelhantes ao do mtodo anterior (Seo 3.2.2).

Figura 3.8: Imagem antes da aplicao do algoritmo de mdias migratrias ( esquerda). Imagem aps a aplicao do algoritmo de mdias migratorias ( direita).

3.2.4

Deteco de Objetos

Como o mtodo que gera os pontos pertencentes face (cor de pele) sensvel as condies de iluminao (seo 3.2.2), surge a necessidade de eliminar pontos que foram localizados ocasionalmente, mas que no fazem parte da pele humana. Esse rudo pode ser por um fundo complexo ou por objetos que possuem uma cor semelhante a da face. Para descartar o rudo gerado pela localizao de cor de pele (Figura 3.9), utiliza-se um algoritmo que detecta todos os objetos conexos da imagem. Baseado no trabalho de [Feris et al., 2000], foi aplicada uma operao morfolgica de fechamento sobre a imagem para possibilitar a juno de reas da face que possam estar separadas por algum motivo. Essa tcnica se mostrou interessante para casos em que o modelo possui barba, visto que consegue em alguns casos unicar as duas regies denidas pela barba. A Figura 3.10 mostra um exemplo do efeito resultante do fechamento aplicado a imagem.

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

27

Figura 3.9: Imagem original da face ( esquerda). Os pequenos objetos brancos dentro dos objetos pretos so os rudos gerados pela localizao da cor de pele ( direita).

Figura 3.10:

Localizao da cor da pele ( esquerda) e aplicao do fechamento mor-

folgico imagem ( direita).

Para detectar objetos dentro da imagem, foi desenvolvido um algoritmo que funciona da seguinte maneira:

Para cada

pixel
4
os

[i, j] da imagem de dimenses w x h, faz-se:

Analisa-se

pixels

[i+1, j] ( direita), [i, j+1] (a baixo) e [i+1, j+1] na diagonal

direita para baixo; porm, s considera-se os que possurem a mesma cor do [i, j].

pixel

Se algum desses

pixels

j zer parte de algum objeto, o

pixel

[i, j] far parte desse

mesmo objeto; caso nenhum bero um novo objeto.

pixel

vizinho faa parte de um objeto, todos eles rece-

pixels que esto na borda da imagem deve ser tratada como uma exceo. Caso isso no seja feito, pode-se acessar um pixel que esteja fora da imagem, o que provocar um erro.
4A

anlise dos

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

28

Pode acontecer de quando ocorrer a anlise acima, detectar-se a unio de dois objetos at ento distintos. Quando isso ocorrer, deve-se torn-los um nico objeto.

Este mtodo detecta tanto os objetos pretos (gerados pelos mtodos de localizao de cor de pele), quanto os objetos brancos (formados pelos da pele). A ordem, descrita abaixo, de deteco de tais objetos tem que ser seguida, caso contrrio o resultado nal no ca o esperado.

pixels que no fazem parte da cor

1. Achar os objetos brancos da imagem.

2. Com exceo do maior objeto branco , todos os outros devem sem pintados de preto (retirar os buracos da imagem).

3. Achar os objetos pretos da imagem.

4. Manter na imagem apenas o objeto preto com maior nmero de

pixels conexos.

Este

objeto considerado, por denio, como sendo a melhor representao da face. Em [Sirohey, 1993] esta denio tambm considerada.

Figura 3.11: Deteco de cor de pele ( esquerda). Em destaque, o objeto detectado como fundo da imagem ( direita).

Baseado na heurstica de que o maior objeto branco da imagem o fundo, somente o maior objeto branco mantido na imagem. Todos os outros objetos brancos (buracos) so pintados de preto. A gura 3.11 mostra, em destaque, o que foi detectado como fundo.

5 Como

a aquisio dos vdeos feita em um ambiente controlado, por denio, considera-se o maior

objeto branco da imagem como o fundo.

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

29

J na gura 3.12, esto ressaltados os buracos da imagem. Para o mtodo de ajuste de uma elipse pelos menores quadrados (Seo 3.2.5), a remoo dos buracos da imagem de fundamental importncia para melhores resultados.

Figura 3.12: Deteco de cor de pele ( esquerda). Em destaque, os objetos detectados como buracos da imagem ( direita).

Aps a deteco dos objetos brancos, partiu-se para a localizao dos objetos pretos da imagem. Considera-se que o maior objeto preto encontrado na imagem a face. A gura 3.13 mostra a segmentao do objeto detectado como face na imagem.

Figura 3.13: Imagem original da face ( esquerda). Objeto detectado como face na imagem ( direita).

Uma vez que a face j est localizada, todas as operaes feitas sobre a imagem so limitadas por um retngulo (Figura 3.13) que abrange o objeto detectado pelo mtodo de deteco de objetos.

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

30

3.2.5

Mtodo de ajuste de uma elipse pelos menores quadrados (Ellipse-Specic)

A limiarizao binarizada dos pontos que representam a cor da pele (Sees 3.2.2, e 3.2.3), e a deteco do maior objeto representado por esses pontos (Seo 3.2.4), so mtodos imprecisos, pois podem no identicar com exatido a face, como mostra a Figura 3.13. Segundo [Hadid et al., 2002], todas as faces podem ser aproximadas por

uma forma elptica. Portanto, para minimizar o erro, adotou-se a tcnica de aproximar uma elipse face.

Figura 3.14: Imagem original da face ( esquerda). Elipse aplicada ao contorno externo ( direita).

Para este propsito, usa-se o algoritmo de ajuste de uma elipse pelos menores quadrados (Ellipse-Specic) proposto por [Pilu et al., 1996]. Este algoritmo considera uma nica elipse que se ajusta a uma nuvem de pontos de face. Para a gerao da nuvem de pontos, utiliza-se o maior objeto (Seo 3.2.4) que representa a face. Porm no utiliza-se todo o objeto, mas seus contornos. Os contornos so gerados pelo algoritmo de Canny (Seo 4.2.1). importante ressaltar que s utiliza-se os contornos externos deste objeto (Figura 3.14), pois se considerar-se os contornos internos (contornos dos buracos), a elipse tender a estes pontos (Figura 3.15). E portanto, seus dimetros iro diminuir. Essa diminuio da elipse no satisfatria ao problema que foi posta prova. Outra informao importante que a elipse pode fornecer o quo inclinada est a face. Esse dado pode ser adquirido calculando-se o menor e o maior dimetros da elipse. Com estes dois valores, pode-se calcular o ngulo de inclinao da elipse em relao ao eixo vertical da imagem (Figura 3.16). Tendo o ngulo de inclinao da face, pode-se

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

31

Figura 3.15: Imagem original da face ( esquerda). Elipse aplicada aos contornos interno e externo ( direita).

normaliz-la atravs da rotao de seus

pixels.

Figura 3.16:

Elipse aplicada ao contorno externo ( esquerda).

Clculo do ngulo de

inclinao da face ( direita).

Em [Pilu et al., 1996], apresentado no captulo 3, est demonstrado como funciona o mtodo, e toda sua fundamentao matemtica, bem como, no captulo 4 esto seus testes, que demonstram sua satisfatoriedade para tal aplicao. Contudo, aps a implementao desse mtodo e depois de vrios testes, percebeu-se que a elipse no estava retornando uma informao apropriada para nosso problema, no pelo fato do mtodo em si no ser capaz, mas porque nosso mtodo de localizao da face (Sees 3.2.2), no retorna exatamente todos os o ajuste da elipse. Para resolver o problema da elipse no estar retornando uma forma aproximada da face, optou-se por desenvolver uma tcnica de unio entre o objeto detectado como face e a primeira elipse ajustada a face. Este mtodo faz uma operao de

pixels

da face, o que compromete muito

OR

entre a imagem

que contm o objeto face, e uma imagem criada com uma forma elptica. Aps a unio das

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

32

imagens, recalcula-se os contornos desse novo objeto, a m de gerar uma nuvem de pontos mais dispersa e com uma forma mais semelhante s linhas da face. A idia de se fazer essa operao parte do princpio que com a unio, os contornos desse novo objeto sero mais condizentes com o da face original. A Figura 3.17 mostra o processo de unio, bem como o resultado nal da aplicao do mtodo de ajuste de uma elipse (Ellipse-Specic).

Figura 3.17: Objeto detectado como face, pela cor de pele, e com a aplicao do algoritmo de deteco de objetos (em cima, esquerda). Objeto criado a partir do contorno da

primeira aplicao da elipse (em cima, direita). Objeto resultante da operao de

OR

entre os dois objetos de cima (em baixo, esquerda). Elipse gerada a partir dos contornos do novo objeto (em baixo, direita).

3.2.6

Simetria

At este momento, na etapa de localizao, foi identicada a regio correspondente a face atravs do mtodo de deteco de objetos apresentado na Seo 3.2.4. Essa informao dene a regio onde a face se encontra dentro da imagem. No entanto, para que se possa seguir adiante no processo de segmentao das caractersticas, preciso garantir que esta regio esteja devidamente normalizada. Os resultados obtidos atravs do mtodo de ajuste de elipse descrito na Seo 3.2.5

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

33

deixam explcita a possvel rotao em profundidade que a face pode apresentar. Essa rotao no eixo da profundidade tradicional do comportamento natural humano, inclusive sendo foco de pesquisa sobre o realismo de animaes faciais em [Watt and Watt, 1992] e [Parke and Waters, 1996]. Infelizmente, o clculo apresentado na tcnica da elipse gera apenas uma resposta aproximada e imprecisa do ngulo correspondente rotao da face. A m de superar esse contratempo e garantir a obteno de informaes sucientes para a etapa de normalizao, novas formas de localizao da face e suas caractersticas foram pesquisadas. Considerando a ideologia descrita na Seo 1.2, as tcnicas que mais se aplicavam ao curso que o trabalho se props a seguir foram baseadas em Biometria . O estudo sobre a simetria facial tem sido uma das pesquisas mais ativas em trabalhos sobre processamento de faces humanas [Ming et al., 2000]. Essa alternativa se mostrou muito interessante, visto que nossa etapa de localizao j possua a regio da face, um dos pr-requisitos para a aplicao do mtodo. A avaliao da regio da face realizada em funo da anlise da caracterstica estatstica de dependncia dos nveis de cinza. Na maioria das regies da face, dado um eixo de simetria correto, a diferena entre os nveis de cinza entre a mesma

pixels

eqidistantes bilateralmente do eixo deve se manter aproximadamente [Chen et al., 2005].

pixel

pixel

Nossa abordagem baseia-se no trabalho de [Chen et al., 2005], onde dois indicadores so utilizados para identicar o melhor eixo de simetria. diferena em nveis de cinza (GLDH) Para tal, um histograma da

calculado para as possveis posies do eixo de

simetria dentro da regio da face. A medida que o eixo iterativo se afasta do verdadeiro eixo de simetria, o GLDH exibe uma alta varincia. Desta forma, a varincia que o

primeiro indicador utilizado para deteco do eixo de simetria denida como:

2 i

h j=1 (di,j

di )2 = h1 di

h 2 j=1 (di,j )

hdi

2
(3.6)

h1 i
em questo e

onde

a altura da regio do rosto,

o GLDH do eixo

di

a mdia do

GLDH do eixo.

6 Biometria

o estudo estatstico das caractersticas fsicas ou comportamentais dos seres vivos. Os

sistemas chamados biomtricos podem basear seu funcionamento em caractersticas de diversas partes do corpo humano, por exemplo: os olhos, a palma da mo, as digitais do dedo, a retina ou ris dos olhos. [Wikipedia, 2005b] 7 Sigla de Gray Level

Dierence Histogram

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

34

Figura 3.18:

Varincia e Acerto para cada eixo de simetria ( esquerda).

Valores de

Acerto ( direita). Adaptada de [Chen et al., 2005].

O segundo critrio que [Chen et al., 2005] utiliza para avaliar qual o melhor eixo de simetria denominado MEAN. MEAN um quanticador de acerto para um determinado eixo. Assim, a denio do eixo feita sobre a localizao daquele que possui a maior taxa de acerto, ou seja, o que acumular maior nmero de MEANs. Para isso, utiliza-se um limiar (threshold) para denir o grau de semelhana entre os pares de limiar aplicado sobre a diferena entre os tons de cinza dos dois

pixels.

Esse

pixels

analisados. A

Figura 3.18 apresenta os grcos dos dois indicadores denidos, alm de sua combinao denida como

Yi =
e denominada como

M EANi 2 i

(3.7)

Y score,

que a utilizada em nossa implementao. Quanto maior o

Y,

maior o grau de simetria encontrado.

Figura 3.19: Sugesto de angulao no mtodo da Elipse ( esquerda). Eixo de simetria detectado ( direita).

CAPTULO 3.

AQUISIO E LOCALIZAO DA F ACE

35

Com relao rotao da imagem, o trabalho de [Chen et al., 2005] vincula a soluo de aplicar a busca pela melhor simetria nas diversas rotaes de uma imagem dentro de um

intervalo denido como, por exemplo, [15 ,

15 ].

A abordagem apresentada nesse tra-

balho um pouco diferenciada, uma vez que o intervalo no pr-denido estaticamente. Para tal, faz-se valer a informao adquirida no mtodo da elipse aplicado na Seo 3.2.5. Apesar de impreciso, este mtodo retorna uma boa referncia sobre a angulao da face na imagem. Dessa forma, essa informao pode ser utilizada para especicar um conjunto de ngulos a serem testados dentro de seu entorno. Essa alternativa mostrou-se bastante eciente, uma vez que reduziu signicativamente o espao de busca e por sua vez o custo computacional, alm de ampliar o intervalo de rotaes aceitveis da face. No entanto, um entorno de busca considervel deve ser adotado para superar uma possvel diferena entre a sugesto de angulao passada da elipse e o eixo de simetria real. A Figura 3.19 mostra um exemplo de como a angulao sugerida pela elipse auxilia no clculo da simetria.

Captulo 4 Normalizao e Segmentao das Caractersticas Faciais


At o momento foram apresentadas as etapas responsveis pela localizao de uma face e obteno de algumas informaes atravs de processamento de imagens. Neste captulo sero demonstradas as solues implementadas para resolver duas questes fundamentais dentro do processo de extrao de caractersticas: a normalizao e a segmentao.

4.1 Normalizao
Conforme foi comentado na Seo 2.2.5, o processo de normalizao responsvel pelo realce e restaurao de imagens. Nessa seo, sero apresentados dois problemas, normalizados ao longo da implementao do sistema de extrao de caractersticas. Inicialmente, ser tratado o problema das rotaes naturais da face, seguido da ltragem necessria para a reduo de rudos inerente a captura de quadros de vdeo.

4.1.1

Rotao

Para a maioria das tcnicas de segmentao e extrao de caractersticas faciais, a face analisada deve se encontrar na posio vertical, no podendo apresentar rotao sobre nenhum eixo cartesiano. No entanto, natural que mesmo que involuntariamente o modelo humano analisado realize rotaes sobre o eixo ortogonal a imagem frontal (profundidade). Assim, aps a localizao da regio da imagem que contm a face, preciso

36

CAPTULO 4.

NORMALIZAO E SEGMENTAO

37

buscar informaes para que se possa tentar corrigir possveis rotaes indesejadas que inviabilizem o resto do processo. Pelo fato deste trabalho considerar duas vistas ortogonais da imagem (vista frontal e perl), as nicas rotaes que podem ser compensadas pelo sistema proposto so as realizadas sobre o eixo perpendicular a imagem frontal (profundidade), pois estas no comprometem signicativamente a imagem frontal, podendo ser ento normalizada. Para este trabalho, a vista frontal tem um papel mais relevante extrao de caractersticas do que a vista de perl, podendo as informaes de profundidade serem interpoladas entre cada quadro do vdeo analisado. As rotaes sobre os demais eixos so prejudiciais analise porque podem ocultar caractersticas faciais necessrias da imagem frontal, dicultando ou at mesmo inviabilizando o processo de normalizao. Para que se possa rotacionar as imagens obtidas preciso encontrar alguma informao dentro da regio localizada e/ou detectada como face, permitindo identicar o ngulo de inclinao da mesma. Muitos trabalhos, como o de [Rozinaj and Mistral, 2003], utilizam os olhos como referencial para realizar a normalizao. Isso implica obrigatoriamente na existncia de uma etapa de deteco, onde a localizao especca dos olhos seja obtida, alm de implicitamente impor possveis restries ao modelo analisado.

Figura 4.1: Eixo de simetria detectado ( esquerda) e a imagem frontal rotacionada ( direita)

A utilizao do eixo de simetria calculado na etapa de localizao, para a denio do ngulo de inclinao da face, foi identicada com a melhor opo para este processo de normalizao. A Figura 4.1 expe o resultado da normalizao referente rotao do eixo de simetria.

CAPTULO 4.

NORMALIZAO E SEGMENTAO

38

4.1.2

Rudo

Durante a anlise feita sobre questes relacionadas aquisio das imagens atravs de cmeras de vdeo (Seo 3.1), ca clara a necessidade da realizao de tratamento para a reduo do rudo contido nas imagens adquiridas. A Figura 4.2 expe o resultado da normalizao referente ao rudo encontrado nas imagens. Para corrigir esse problema utilizada uma convoluo cujo

kernel 3x3 aplica a mdia da vizinhana-9 sobre a imagem.

Figura 4.2: Imagem original com rudo ( esquerda) e a imagem aps aplicada a convoluo de mdia ( direita)

4.2 Segmentao
Uma vez normalizada a imagem e localizada a regio que compreende a face, a prxima tarefa a ser realizada a de segmentar as caractersticas faciais internas ela. A complexidade da execuo automtica dessa etapa j foi brevemente discutida na Seo 2.2.6. Neste ponto, deve-se ressaltar que a informao sobre o eixo de simetria da face j conhecida e que pode ser til as tcnicas aqui empregadas para delimitar as regies que contm cada elemento da face. As subsees seguintes relataro as tcnicas empregadas nesta etapa.

4.2.1

Contornos

Segundo [Seara, 1998], desde que uma borda denida por uma mudana no nvel de cinza, quando ocorre uma descontinuidade na intensidade, ou quando o gradiente da imagem tem uma variao abrupta, um operador que sensvel a estas mudanas operar

CAPTULO 4.

NORMALIZAO E SEGMENTAO

39

como um detector de bordas.

Um operador de derivada faz exatamente esta funo.

Uma interpretao de uma derivada seria a taxa de mudana de uma funo, e a taxa de mudana dos nveis de cinza em uma imagem maior perto das bordas e menor em reas constantes. Ao pegarem-se os valores da intensidade da imagem e achar-se os pontos onde a derivada um ponto de mximo, ter-se- marcado suas bordas. Dado que as imagens so em duas dimenses, importante considerar mudanas nos nveis de cinza em muitas direes. Dentre as informaes que podem ser extradas de uma imagem, a deteco de bordas a que mais se destaca na tentativa de extrair caractersticas faciais, apesar de outros indicadores como cor, intensidade, picos e vales, tambm terem sua inegvel utilidade. Na implementao deste trabalho, foram utilizadas duas tcnicas de extrao de contornos, ambas baseadas na anlise dos gradientes da regio localizada como face.

Sobel
Segundo [Gonzalez and Woods, 2000] a maioria das tcnicas de deteco de borda baseiam-se na computao de um operador local diferencial. Os operadores de Sobel

possuem a vantagem de fornecer, a um s tempo, os efeitos de diferenciao e de suavizao. Uma vez que a derivao aumenta o rudo, o efeito de suavizao uma caracterstica particularmente atrativa dos operadores de Sobel. Uma vez que o procedimento tenha sido completado para todas as posies possveis, aplicando-se a convoluo da mscara, o resultado uma imagem gradiente do mesmo tamanho que a original. Abaixo as mscaras freqentemente denominadas operadores de Sobel.

1 2 1 1 0 0 0 e 2 1 2 1 1

0 0 0

2 1

A aplicao da deteco de contorno utilizando os operadores de Sobel foi necessria, dentro deste trabalho, como passo anterior ao mtodo de projeo integral que ser detalhado na Seo 4.2.3.

CAPTULO 4.

NORMALIZAO E SEGMENTAO

40

Algoritmo Canny
Na criao do algoritmo Canny [Canny, 1986], deniu-se um conjunto de requisitos que um detector de bordas deveria satisfazer. So eles:

Taxa de erro: Localizao: Resposta:

o detector de bordas deveria detectar e achar somente bordas,

nenhuma borda deveria faltar;

a distncia entre os pixels de borda encontradas pelo detector de

bordas e a borda atual deveriam ser o menor possvel;

o detector de bordas no deveria identicar mltiplos pixels de borda

onde somente exista um nico pixel. Para a aplicao do algoritmo Canny preciso seguir os seguintes passos: 1. Aplicao de um ltro de suavizao Gaussiano;

2. Clculo do gradiente (magnitude e orientao) sobre a imagem suavizada;

3. Aplicao do mtodo de

Non-maximal Suppression:

percorre o contorno utilizando

sua direo e elimina pontos que no so contornos verdadeiros;

4. Aplicao do mtodo de

Hysterisis Thresholding:

aplica dois nveis de limiarizao,

um superior e outro inferior. A deteco de contorno utilizando o algoritmo Canny foi empregada principalmente para a segmentao do perl. Para isso, este foi executado sobre a extrao do fundo

realizada na etapa que ser descrita na Seo 4.2.4.

4.2.2

Mtricas

Ao longo do processo de segmentao contido neste trabalho, em vrios momentos surgiu a necessidade de adotar mtricas que auxiliassem na restrio do espao de busca pelas caractersticas. No caso dos olhos e sobrancelhas, por exemplo, sua regio de busca foi restringida a parte superior da rea localizada como face. Do mesmo modo, foi utilizado mtricas no auxlio localizao do nariz e extrao dos pontos de perl. Alguns trabalhos encontrados na literatura consideram o uso de mtricas uma ferramenta til para a segmentao da face. O trabalho de [Gu et al., 2003] sugere esta possibilidade.

CAPTULO 4.

NORMALIZAO E SEGMENTAO

41

4.2.3

Projees Integrais
como [Gu et al., 2003, Rozinaj and Mistral, 2003, Lanzarotti et al., 2002,

Trabalhos

Shan et al., 2000] utilizam projees integrais sobre contornos, cores e intensidades da imagem para segmentar cada uma das caractersticas faciais. Essa tcnica mostrou-se

bastante interessante pois no apresenta restries quanto as deformaes causadas pelas expresses faciais. O primeiro passo para aplicao da tcnica de projees integrais escolher qual informao ser integrada e projetada sobre uma determinada direo. No caso especco deste trabalho, foram utilizados operadores de Sobel para calcular os gradientes nos sentidos de interesse para realizar a projeo integral e localizar as caractersticas, como mostra a Figura 4.3.

Figura 4.3: Exemplo de segmentao utilizando projees integrais

4.2.4

Segmentao de fundo

Como o objetivo do trabalho extrair os pontos da face, para que esta seja, possivelmente, animada em um modelo tridimensional, no basta somente encontrar os pontos de uma imagem bidimensional. Surge a necessidade da extrao da informao de profundidade (coordenada

Z)

de cada ponto da face analisada.

Para tal extrao, utiliza-se uma tcnica chamada de cromaqui na imagem de perl. O cromaqui uma tcnica que consiste em lmar uma cena em que o cenrio de fundo totalmente pintado de uma s cor, a qual depois ser removida e substituda por uma

CAPTULO 4.

NORMALIZAO E SEGMENTAO

42

imagem, animao grca ou outro vdeo

[Battaiola et al., 2001]. No caso, no se precisa

colocar outro fundo, mas sim segmentar completamente o fundo azul utilizado. A cor azul foi escolhida pela sua grande diferena com a cor da pele humana. Em [Shan et al., 2000], utilizou-se um fundo azul para segmentao do perl da face. Como abordagem inicial para excluir o fundo azul, utiliza-se a anlise da componente matiz (H) no espao de cores

HSV.

O processo de segmentao d-se sob uma imagem

de perl da face, cujo seu fundo um pano azul. Um

threshold

foi denido, na condio

abaixo, experimentalmente, para separar o fundo azul da face. Esse processo de separao, s feito do lado onde o nariz da face est (o outro lado no serve como informao relevante para nossa aplicao).

(120 < H < 200) Como o equipamento utilizado para a captura das imagens no retorna uma imagem com qualidade, precisa-se, antes de mais nada, aplicar na imagem original uma convoluo, expressa pela matriz 4.1.

2 115 4 115 5 115 4 115 2 115

4 115 9 115 12 115 9 115 4 115

5 115 12 115 15 115 12 115 5 115

4 115 9 115 12 115 9 115 4 115

2 115 4 115 5 115 4 115 2 115

(4.1)

O algorimo abaixo descreve, de maneira resumida, o mtodo de segmentao do fundo azul.

1. Tendo uma imagem auxiliar toda preta.

2. Analisa-se a linha da imagem a procura de um

pixel

que no seja verdadeiro para de branco e incrementa a

o limiar denido. Caso seja verdadeiro, pinta-se o coluna.

pixel

3. Quando encontrar um linha (passo 1).

pixel

diferente de azul o processo pra e pula para a prxima

1 Tradicionalmente,

a tcnica utilizava equipamentos pticos especiais para a eliminao do fundo.

Atualmente, placas grcas permitem a captura do vdeo por um computador e a sua edio atravs de programas especcos que possibilitam tambm a realizao do cromaqui.

CAPTULO 4.

NORMALIZAO E SEGMENTAO

43

4. Ao nal de todas as linhas, ter-se- em branco, o fundo, e o resto da imagem auxiliar em preto.

Porm, ao longo dos testes que se realizou, viu-se que a informao de matiz incerta para baixas e altas luminncia e para baixas saturaes (mesmo problema da Seo 3.2.3). Portando, utiliza-se, como informao adicional, os contornos gerados pelo algoritmo de Canny (Seo 4.2.1). Contudo, a rea que se considera para a interferncia dos contornos somente os limites superior e inferior da regio segmentada como cor de pele da imagem de perl da face. O novo mtodo utiliza o mesmo algoritmo apresentado, porm reformula a condio anterior para usar a informao do contorno. Para isso, aplica-se o algoritmo de Canny na imagem de perl, o que resultar nos contornos da mesma. Agora, alm da informao da matiz, de o

pixel

ser azul, tambm analisa-se a existncia de um contorno na imagem

correspondente aos contornos gerados pelo Canny. Isso resulta em um perl muito mais denido e dedigno da imagem original. mtodos. Aps ressaltar-se o fundo com a cor branca, aplica-se o algoritmo de Canny para gerar a linha do perl da face. A gura 4.5 mostra a linha de perl gerada aps a aplicao do mtodo de segmentao do fundo. Quanto maior for a preciso ao segmentar-se o fundo, maior ser a denio da linha do perl. Para a seo 5.2, a segmentao do fundo fundamental para seu sucesso na extrao dos pontos caractersticos. A gura 4.4 mostra o comparativo dos dois

CAPTULO 4.

NORMALIZAO E SEGMENTAO

44

Figura 4.4: Imagem da face original (cima, esquerda). Deteco dos contornos gerados pelo algoritmo de Canny (cima, direita). Segmentao do fundo utilizando somente a informao da componente matiz (baixo, esquerda). Segmentao do fundo utilizando a componente matiz e a imagem dos contornos (baixo, direita).

Figura 4.5: Imagem com o fundo em branco ( esquerda). Linha de perl gerada pelo algortimo Canny ( direita).

Captulo 5 Extrao das Caractersticas Faciais


5.1 Extrao dos pontos caractersticos em imagens frontais
Uma vez segmentada a regio dos olhos e sombrancelhas atravs das projees integrais dos gradientes, a etapa de extrao destina-se a renar a busca internamente as regies delimitadas. Novas projees podem ser aplicadas, alm de outras tcnicas que utilizem, por exemplo, contornos ativos e padres deformveis. Por uma restrio de tempo durante a implementao, at o momento atual, o projeto apenas dene os limites dessas regies como sendo as coordenadas dos pontos caractersticos da face. Para a extrao da ponta do nariz, percorre-se o eixo de simetria da face, da altura inferior dos olhos para baixo. O ponto mdio da regio (segmento) que tiver a maior

luminncia, dada pela componente

do espao de cores

HSV,

a ponta do nariz. Em

[Shan et al., 2000], este mtodo utilizado, demonstrando bons resultados, pois a regio de maior iluminao utilizado para a aquisio das imagens era frontal face. Como se possu o ponto mdio horizontal dos olhos e a ponta do nariz, pode-se calcular a distncia (como feito na parte de extrao das caractersticas na imagem de perl) entre eles e correlacionar com a distncia calculada para estes mesmos pontos na extrao dos pontos de perl. Com isso, ter-se- um fator de multiplicao entre as duas imagens.

45

CAPTULO 5.

EXTRAO DAS CARACTERSTICAS F ACIAIS

46

Para coloc-las em escala, basta multiplicar uma delas por este fator.

DOp Np = Op Np

DO f N f = O f N f
DOp Np DOf Nf

F AT OR =

Na localizao dos pontos caractersticos da boca, a regio de busca estimada por mtricas. perl. Essas medidas so calculadas a partir dos pontos extrados na imagem de

Uma vez restringidas as regies de busca pelos pontos caractersticos da boca,

pode-se aplicar em cada uma delas o mtodo de integrao.

Figura 5.1: Imagem original da face ( esquerda). Linhas que restringem as regies de busca ( direita)

Contudo, na localizao dos pontos correspondentes aos lbios superior e inferior, utiliza-se o mtodo de interseco entre a linha do eixo de simetria e os contornos gerados (Seo 4.2.1), adaptado de [Zhang, 1997], na regio segmentada pelas mtricas. A estimao dos pontos candidatos a contorno do lbio consiste em duas partes: a deteco dos contornos (utiliza-se o algoritmo de Canny) e a seleo dos candidatos a pontos labiais. Este mtodo no obteve bons resultados at o momento, pois os contornos gerados pelo algoritmo de Canny nem sempre geram informao sobre o eixo de simetria. Outra questo a exibilidade nas expresses faciais permitidas ao modelo analisado. Estas deformaes possibilitam a variao no nmero de contornos sobre o eixo, o que compromete este mtodo de extrao. Por isso, optou-se por mudar a abordagem a ser utilizada na extrao dos pontos caractersticos da boca para o mtodo que ser referenciado como uma proposta futura, na Seo 7.2, deste trabalho.

CAPTULO 5.

EXTRAO DAS CARACTERSTICAS F ACIAIS

47

5.2 Extrao dos pontos caractersticos do perl


Na seo 4.2.4 descreveu-se a tcnica utilizada de segmentao do fundo para extrao da linha do perl da face. O presente mtodo depende integralmente do mtodo de extrao da linha de perl. Quanto mais preciso for, maior ser a taxa de acerto desse mtodo. Segundo [Shan et al., 2000], todos os pontos (pretos e vermelhos), exceto o ponto verde, dados pela gura 5.2, so pontos fundamentais para o perl. Utilizando a imagem de perl, se extrair somente os pontos vermelhos e o ponto verde inserido na nossa aplicao para obter a informao do canto da boca. Em [Harmon and Hunt, 1978], so utilizados, na extrao do perl, nove pontos. Em nosso trabalho extraem-se oito desses pontos e, por necessidade, desloca-se o nono ponto para a regio entre boca e o queixo.

Figura 5.2: Pontos de perl (vermelho e verde) [Shan et al., 2000].

Para a anlise do perl, cria-se um vetor contendo o valor da coluna onde est o primeiro

pixel

de cor branca.

Esse vetor conter os pontos de uma curva que dene o

perl da face. Toda a anlise para a extrao dos pontos caractersticos do perl feita atravs desta curva. Inicialmente, procura-se pela ponta do nariz, considerando que este o mximo global desta curva e, portanto, o ponto mais esquerda, como mostra a Figura 5.3. Aps encontrar-se a ponta do nariz, surge o desao de encontrar os demais pontos do perl que, ao contrrio da ponta do nariz, no so to triviais de identicar. Partindo da hiptese de que os mximos locais e mnimos locais so pontos de picos e vales do perl, respectivamente, criou-se um mtodo que pudesse encontr-los de maneira seqencial. Este mtodo funciona da seguinte maneira:

Do nariz pra baixo, procura-se por trs picos e trs vales, correspondentes ao ponto

CAPTULO 5.

EXTRAO DAS CARACTERSTICAS F ACIAIS

48

Figura 5.3: Imagem original da face ( esquerda). Ponta do nariz extrada ( direita).

abaixo do nariz, ao lbio superior, ao canto da boca, ao lbio inferior, ao ponto entre a boca e ao queixo, e o queixo.

Do nariz pra cima, procura-se por um pico e um vale, correspondentes ao meio dos olhos e sobrancelha.

A busca por picos e vales foi implementada da seguinte maneira, considerando que a face est virada para a esquerda (se a face estiver vira pra direita, troca-se pico por vales e vice-versa, e maior por menor e vice-versa):

Para cada ponto j da curva de perl

Se o ponto anterior [j-1], for menor que o ponto atual [j], se est na iminncia de um vale. Se nesse ponto houver uma eminncia anterior de pico, esta ir se conrmar.

Se o ponto anterior [j-1], for maior que o ponto atual [j], se est na iminncia de um pico. Se nesse ponto houver uma eminncia anterior de vale, esta ir se conrmar.

Se o ponto anterior [j-1], for igual ao ponto atual [j], computa-se a tamanho desta reta.

O problema deste mtodo que, se por uma impreciso do processo de segmentao do fundo, o perl que ruidoso, tendo picos e vales em locais que no deveriam ser ou at poder-se-ia no achar os pontos do perl. Isso tambm pode ocorrer se a imagem estiver com uma qualidade ruim. Para resolver este problema, foi criado um novo mtodo que ordena a busca pelos pontos, baseado na busca do ponto anterior. Portanto, criam-se

CAPTULO 5.

EXTRAO DAS CARACTERSTICAS F ACIAIS

49

regies de busca pelos pontos. porm com uma preciso maior.

A busca pelos picos e vales feita da mesma maneira,

As regies de busca no podem ser impostas a regio da boca, pois esta contm pontos que tem grande mobilidade (movimento de abrir e fechar a boca). O mtodo implementado com uma ordem pr-estabelecida, denida para achar os pontos do perl. 1. Procura-se pela ponta do nariz (ponto riormente.

N ),

da mesma maneira como relatado ante-

2. A partir do ponto

N , para cima, procura-se o primeiro vale (ponto O), considerando

que na regio entre os olhos existe um vale. Calcula-se a distncia entre as linhas dos pontos

(Equao 5.1), sendo usada como uma mtrica para determinar

as demais regies de busca por pontos. Se a remota possibilidade de no se encontrar o vale entre os olhos acontecer, seta-se como tal ponto o meio da maior reta encontrada nessa busca.

DOp Np = Op Np
3. Com o clculo de

(5.1)

DO p N p ,

procura-se pelo primeiro vale abaixo do nariz (ponto

B ).

Essa busca feita dentro do intervalo dado pela equao 5.2. Caso no se encontre um vale nesse intervalo, seta-se como o ponto

o incio (de cima pra baixo) da

maior reta encontrada nessa regio (essa reta tem que ter, no mnimo, 4 a reta for pequena (menos de 4

pixels).

Se

pixels),

o ponto

denido pela equao 5.3. (5.2) (5.3)

N <= B <= (N + 0, 6 DOp Np ) B = N + 0, 4 DOp Np

4. A seguir, parti-se para a busca do pico correspondente a sobrancelha (ponto

S ).

Essa busca feita dentro do intervalo dado pela equao 5.4. Caso no se encontre um pico nesse intervalo, seta-se como o ponto maior reta encontrada nessa regio.

o incio (de baixo para cima) da

O >= S >= (O 0, 5 DOp Np )


1A

(5.4)

maior reta a maior dentre as retas encontradas no item 4 da descrio da busca de picos e vales

feita acima.

CAPTULO 5.

EXTRAO DAS CARACTERSTICAS F ACIAIS

50

5. O ltimo ponto xo a ser buscado o lbio superior (ponto

U ).

A busca do pico

correspondente ao lbio superior feita dentro do intervalo dado pela equao 5.5. Caso no se encontre um pico nesse intervalo, seta-se como o ponto

o m (de

baixo pra cima) da maior reta encontrada nessa regio (essa reta tem que ter no mnimo 3

pixels).

Se a reta for pequena (menos de 3

pixels),

o ponto

denido

pela equao 5.6.

S <= U <= (S + 0, 35 DOp Np ) U = S + 0, 3 DOp Np

(5.5) (5.6)

6. Agora, os pontos abaixo do lbio superior podem ter uma mobilidade que no pode ser estimada por mtricas. Por isso, procura-se, de maneira seqencial, at encontrar dois picos e 2 vales, que correspondem ao canto da boca, lbio inferior, ponto entre a boca e o queixo, e o queixo.

Figura 5.4: Exemplos de extrao dos pontos caractersticos de perl.

As constantes utilizadas nas equaes 5.2, 5.3, 5.2, 5.5 e 5.6, foram estimadas segundo as mtricas denidas por [Alattar and Rajala, 1999] e [Gu et al., 2003]. Em

[Alattar and Rajala, 1999], utilizou-se um modelo elptico de uma face com mtricas baseadas no tamanho do maior dimetro desta elipse. J em [Gu et al., 2003], citado

CAPTULO 5.

EXTRAO DAS CARACTERSTICAS F ACIAIS

51

um mtodo muito comum para extrair as formas dos olhos, nariz, boca e queixo, pela distncia e escala entre estes rgos. No nosso trabalho, todas as mtricas so proporcionais distncia entre a ponta do nariz e os olhos (DOp Np ). Em [Liposcak and Loncaric, 1999], um mtodo semelhante, baseado em escalas, foi utilizado. Para comprovar os bons resultados adquiridos na aplicao desse mtodo, apresenta-se na Figura 5.4 alguns exemplos da extrao dos pontos, em faces distintas, com expresses variadas.

Captulo 6 Aspectos de Implementao


Nesse captulo apresentar-se- nossa aplicao. Aspectos como

interface,

caractersticas,

recursos e linguagem de programao foram pontos desaadores e decisivos ao longo deste processo.

6.1 Caractersticas
Primeiramente, quando se idealizou os aspectos que se gostaria de abordar, e os problemas que se teria que resolver, surgiu o questionamento sobre qual linguagem de programao utilizar. Nesta escolha, no estava-se interessado em optar por uma linguagem que se

dominasse, mas por uma que proporcionasse toda a estrutura e recursos onde se pudesse fazer a aquisio dos vdeos e process-los. A alternativa escolhida foi a linguagem de programao JAVA. Na Seo 6.3 se apresentar a estrutura do interpretador JAVA, bem como todas as caractersticas que a credenciam como uma das linguagens mais aceitas no mbito acadmico. Na presente seo, se discutir as caractersticas da

interface

e do funcionamento da

aplicao como um todo, bem como, apresentar-se- toda a estrutura criada para dar suporte a aquisio e processamento das imagens (ou

frames).
Um

Para se criar um ambiente amigvel, sugeriu-se a estruturao por projetos.

projeto uma abstrao do ambiente restrito a um par de vdeos (frontal e lateral), que funciona, basicamente, como uma chave de acesso a estes vdeos e, por conseqncia a seus

frames.
52

CAPTULO 6.

ASPECTOS DE IMPLEMENTAO

53

Aps a criao do projeto, podem-se importar os vdeos. O processo de importao dos vdeos explicado na Seo 6.3.3. A partir deste momento, pode-se comear a realizar o processamento de cada uma das etapas do mtodo de extrao de caractersticas faciais. Para cada projeto, a execuo da aplicao retornar todas as etapas envolvidas no processo de extrao de caractersticas faciais (vdeos (aquisio), localizao, normalizao, segmentao e extrao). Portanto, pode-se visualizar cada uma das etapas em

separado. Esta uma grande vantagem do ponto de vista didtico do trabalho. Abaixo, na Figura 6.1, apresenta-se a

interface

da aplicao.

Figura 6.1:

ScreenShot

da tela da aplicao que valida nosso trabalho.

Na esquerda, pode-se ter acesso a cada uma das etapas. direita, esto as imagens que comprovam as aplicaes dos mtodos descritos anteriormente.

6.2 Sntese do Processo


Para propiciar um melhor entendimento do sistema para extrao de caractersticas proposto, a Figura 6.2 expe cada etapa do processo.

CAPTULO 6.

ASPECTOS DE IMPLEMENTAO

54

Figura 6.2: Etapas do processo de extrao de caractersticas proposto.

6.3 Linguagem de Programao


O Java uma linguagem de programao orientada a objetos que foi desenvolvida para ser suportada em diferentes plataformas e sistemas operacionais [Java, 2005]. Desenvolvida pela Sun Microsystems Java possui um modelo conforme a linguagem de programao C++ e possui recursos especiais que a tornam ideal para o uso na internet. Com Java possvel colocar grcos interativos e outros efeitos especiais em pginas da Internet utilizando programas especiais em Java chamados Applets, que so executados dentro de um ambiente hospedeiro (o browser) [Bicho et al., 2002].

CAPTULO 6.

ASPECTOS DE IMPLEMENTAO

55

6.3.1

Histrico
chips
de aparelhos domsticos e de

Inicialmente o Java foi desenvolvido para programar uso pessoal como, PDA's, forno de microondas, etc.

A equipe que desenvolvia o projeto na Sun, liderado por James Gosling, tinha inicialmente pensado em utilizar C ou C++, mas descobriu logo cedo que a linguagem no se adequava ao projeto. Como resultado, em 1990, Gosling comeou a projetar uma

nova linguagem que ele batizou de Oak, segundo ele, por causa da rvore que ele via da sua janela. O nome posteriormente teve que ser mudado por que j existia uma outra

linguagem registrada com o mesmo nome. O projeto avanou, mas o mercado decepcionou e a Sun decidiu redirecionar o rumo do projeto investindo no ramo da TV interativa. O programa durou dois anos e consumiu milhes de dlares. Consistia no desenvolvimento de um prottipo de controle para TV interativa, usando uma linguagem desenvolvida especialmente para este m (Oak). Quando o projeto nalmente foi apresentado em 1993, descobriu-se que o mercado de TV interativa no existia, e no havia uma previso para quando iria deslanchar. O nanciamento para o projeto estava para ser cortado e a equipe transferida para outros projetos, quando a Sun decidiu abandonar o hardware do projeto, e focar o seu desenvolvimento na Web. A partir da, a equipe trabalhou em um ritmo alucinante e em segredo at liberar a primeira verso Alfa da linguagem, em maio de 1995.

6.3.2

Caractersticas
antes de tudo

Java uma linguagem de alto nvel, com sintaxe similar a do C++.

uma linguagem simples, fortemente tipada, independente de arquitetura, robusta, segura, extensvel, bem estruturada, distribuda, multithreaded e com garbage collection [Wester, 2003]. Abaixo est uma descrio de cada uma das caractersticas mencionadas:

Simplicidade:
se desenvolver.

Java muito parecida com C++, mas muito mais simples.

Java

no possui varias facilidades que possibilitam uma maior exibilidade na hora de Alguns exemplos disso so: sobrecarga de operadores, structs,

unions, aritmtica de ponteiros, herana mltipla, diretivas de pr-processamento

CAPTULO 6.

ASPECTOS DE IMPLEMENTAO

56

e a memria alocada dinamicamente gerenciada pela prpria linguagem, que usa algoritmos de coleta de lixo (garbage que no esto mais sendo usadas.

collection) para desalocar regies de memrias

Orientao a Objetos:

Com a exceo dos tipos bsicos da linguagem (int, oat, O cdigo ca

double, etc.), a maior parte das estruturas do Java so objetos.

bem organizado na forma de classes, que podem estabelecer relacionamentos de herana simples entre si. Para utilizar os mtodos e atributos de uma classe no

necessariamente ela precisa ser instanciada, outra facilidade encontrada.

Multithreading:

Sistemas mais modernos do suporte multitarefa, ou seja, o

computador capaz e executar diversas tarefas ao mesmo tempo. Cada um desses sistemas tem o seu tipo de multitarefa, preemptiva ou no, com ou sem multiprocessamento. Java tem o suporte a multitarefa embutido na linguagem: um programa Java pode possuir mais de uma linha de execuo (thread).

Excees:

A mquina virtual Java faz uma vericao em tempo de execuo

quanto aos acessos de memria, abertura de arquivos e uma srie de eventos que podem travar em outras linguagens, mas que geram excees em programas Java.

Processamento Distribudo:

Possui vrias API 's que do suporte a acesso re-

moto (sockets) e a protocolos utilizados na internet (HTTP, FTP, Telnet, etc.). Isso facilita demais a elaborao de aplicativos baseados em arquiteturas cliente-servidor.

Independncia de Mquina:

O Java multiplataforma,

i.e., pode ser compilado

em uma mquina e rodar em outra, inclusive com sistemas operacionais distintos. O cdigo-fonte em Java pr-compilado em bytecodes, que so conjuntos de instrues semelhantes ao cdigo de mquina, mas sem serem especcos de qualquer plataforma [Bicho et al., 2002]. O cdigo Java compilado, pode ser executado por um interpretador chamado Mquina Virtual Java (JVM), que um emulador de processador.

1 Application

Programming Interface (API) - conjunto de rotinas e padres estabelecidos por um

software para utilizao de suas funcionalidades

CAPTULO 6.

ASPECTOS DE IMPLEMENTAO

57

Garbage Collector:

Em Java, os programadores no necessitam preocupar-se com o

gerenciamento de memria. Java, ao contrrio, utiliza-se de um conceito de

garbage

collection (coleta de lixo).

Sua funo a de varrer a memria de tempos em tempos,

liberando automaticamente os blocos que no esto sendo utilizados.

6.3.3

Java Media FrameWork

(JMF)

Uma das principais justicativas para a escolha da linguagem JAVA para a implementao do sistema aqui apresentado foi exatamente a existncia de uma API prpria para a manipulao de vdeos. A JMF permitiu que fossem criados CODECs para acessar e

frame

frame

os vdeos selecionados dentro do sistema.

Dessa forma, cada

frame

pde ser

armazenado vinculado ao projeto que o importou. Essa disposio se mostrou bastante til para a nalidade buscada, uma vez que possibilitou o acesso incondicional a cada

frame

salvo. Para que as etapas do processo de extrao de caractersticas fossem processadas em etapas e no necessariamente em tempo real.

Captulo 7 Consideraes Finais


Os objetivos traados na proposta deste trabalho foram parcialmente alcanados. Um grande apanhado de mtodos foi estudado para tornar vivel esta implementao, visto que o prvio conhecimento da linha de pesquisa deste trabalho era muito supercial. A seguir se relatar as diculdades encontradas e as propostas futuras para este trabalho.

7.1 Diculdades Encontradas


Desde o inicio, encontraram-se diculdades na realizao de nosso trabalho. Com o total desconhecimento da rea que se optou por desenvolver nossa pesquisa, comeou-se sempre dos aspectos mais bsicos at propostas mais elaboradas para a resoluo do problema. Esse foi o motivo pelo qual se demorou muito para comear a implementao propriamente dita. Utilizou-se, para a aquisio dos vdeos, recursos simples e com qualidade limitada, sem nenhum tipo de calibrao, o que provocou a insero de diversos rudos em nossas imagens. A iluminao do ambiente de aquisio dos vdeos foi feita de maneira simples e no parametrizada. Ao realizarem-se os primeiros testes com os vdeos que se adquiriu utilizando lmpadas de luz uorescente, os mtodos de localizao de cor de pele no funcionavam. Depois de um tempo, detectou-se que o problema era a luz uorescente. Adicionou-se uma iluminao com lmpadas incandescentes e o mtodo passou a funcionar.

58

CAPTULO 7.

CONSIDERAES FINAIS

59

Na aquisio dos vdeos, utilizaram-se duas es de

webcams independentes.

Porm, por restri-

software,

os vdeos foram adquiridos em computadores distintos, o que acarretou

na no sincronizao de alguns vdeos, agravada pela variao dos cmera. Dessa forma, a sincronizao teve de ser feita manualmente.

framerates

de cada

A linguagem de programao (JAVA) utilizada para o desenvolvimento da aplicao, no era de nosso domnio. Por isso, foi desaante o aprendizado da linguagem ao longo do projeto. Em contra partida, sua escolha foi de total satisfatoriedade para o sucesso de nosso sistema.

7.2 Propostas Futuras


Atualmente, a aquisio dos vdeos feita em um ambiente propcio, mas no totalmente controlado. Nossa perspectiva dar maior exibilidade ao sistema para ser aplicado em ambientes complexos. Para isso, deve-se aprimorar o mtodo de localizao dos pontos de cor de pele. Atualmente, esta localizao feita segundo um limiar nos espaos de cores

YIQ

YCbCr,

porm em [Feris et al., 2000, Wang and Sung, 1999, Saber and Tekalp, 1998] foi utilizado uma distribuio gaussiana para modelar a regio de cor de pele humana. Por se tratar de uma aplicao que visa extrair pontos caractersticos de uma face, para que estes sejam animados em um modelo virtual tridimensional em [Krting, 2005], o aperfeioamento do processo de extrao dos pontos caractersticos da regio da boca de fundamental importncia para dar maior realidade ao processo. A aplicao de

deformable templates proposta em [Yuille

et al., 1992], apresentou grandes resultados para

a estimao dos pontos caractersticos da boca em [Zhang, 1997, Reinders et al., 1993, Rudianto and Ngan, 1996]. Este o mtodo que se gostaria de, futuramente, implementar em nosso trabalho. Nosso objetivo nal integrar completamente nosso sistema ao trabalho a de

[Krting, 2005] que faz a animao dos pontos caractersticas extrados

frame

frame.

Bibliograa
[Abrantes and Pereira, 1999] Abrantes, G. A. and Pereira, F. (1999). Animation Technology: Survey, Implementation and Results. In MPEG-4 Facial

IEEE Transactions

on Circuits and Systems for Video Technology,

volume 9, pages 290305.

[Agostini et al., 2004] Agostini, L. V., Silva, I. S., and Bampi, S. (2004). Parallel color space converters for JPEG image compression. 44(4):697703.

[Alattar and Rajala, 1999] Alattar, A. M. and Rajala, S. A. (1999). Facial features localization in front view head and shoulders images. In

Proceedings of the IEEE Involume 6, pages

ternational Conference on Acoustics, Speech and Signal Processing,


35573560.

[Battaiola et al., 2001] Battaiola, A. L., de G. Domingues, R., Feij, B., Scwarcman, D., Clua, E. W. G., Kosovitz, L. E., Dreux, M., Pessoa, C. A., and Ramalho, G. (2001). Desenvolvimento de Jogos em Computadores e Celulares.

RITA,

VIII(2):746.

[Bicho et al., 2002] Bicho, A. L., da Silveira Jr., L. G., da Cruz, A. J. A., and Raposo, A. B. (2002). Programao Grca 3D com OpenGL, Open Inventor e Java 3D. In

Revista Eletrnica de Iniciao Cientca (REIC).


[Buhiyan et al., 2003] Buhiyan, M. A. A., Ampornaramveth, V., and Ueno, S. Y. H. (2003). Face Detection and Facial Feature Localization for Human-machine Interface.

Nll,

(5).

[Canny, 1986] Canny, J. (1986).

A computational approach to edge detection. 8(6):679698.

IEEE

Trans. Pattern Anal. Mach. Intell.,

60

BIBLIOGRAFIA

61

[Chan et al., 2004] Chan, M., Chia-Yen, C., Barton, G., Delmas, P., Gimel'farb, G., Leclercq, P., and Fischer, T. (2004). techniques. In Evaluation of 3D face analysis and synthesis

ICME '04  IEEE International Conference on Multimedia and Expo,

volume 2, pages 12031206.

[Chen et al., 2005] Chen, X., Flynn, P. J., and Bowyer, K. W. (2005). Fully Automated Facial Symmetry Axis Detection in Frontal Color Images. In

Fourth IEEE Workshop

on Automatic Identication Advanced Technologies,

pages 106111.

[da Silva and de Castro Santa Rosa, 2003] da Silva, P. Q. and de Castro Santa Rosa, A. N. (2003). Face Recognition Based on Eigeneyes. 13(2):419423.

[Feris, 2001] Feris, R. S. (2001).

Rastreamento Eciente de Faces em um Subespao

Wavelet. Master's thesis, IME-USP.

[Feris et al., 2000] Feris, R. S., Campos, T. E., and Cesar-Jr., R. M. (2000). Detection and Tracking of Facial Features in Video Sequences. In

Lecture Notes in Articial

Intelligence,

volume 1973, pages 129137.

[Figueir, 2003] Figueir, T. (2003).

Converso RGB-HSV-GrayScale.

disponvel em

http://www.lapsi.eletro.ufrgs.br/lili/doc/image-processing/conversao. pdf.
acessado em 15/12/2005.

[Garcia et al., 2001] Garcia, E., Dugelay, J.-L., and Delingette, H. (2001). Low cost 3D face acquisition and modeling. In

ITCC 2001, IEEE International Conference on In-

formation Technology: Coding and Computing, April 2-4, 2001, Las Vegas, USA.
[Gonzalez and Woods, 2000] Gonzalez, R. C. and Woods, R. E. (2000).

Processamento

de Imagens Digitais.

Editora Edgard Blcher Ltda.

[Gu et al., 2003] Gu, H., Su, G., and Du, C. (2003). Faces. In China.

Feature Points Extraction from

Image and Vision Computing NZ, Palmerston North, pages 154158, Beijing,

[Hadid et al., 2002] Hadid, A., Pietikainen, M., and Martinkauppi, B. (2002). Color-based face detection using skin locus model and hierarchical ltering. pages IV: 196200.

BIBLIOGRAFIA

62

[Harmon and Hunt, 1978] Harmon, L. D. and Hunt, W. F. (1978). Automatic recognition of human face proles.

Computer Graphics and Image Processing, IHC Brasil.


Disponvel em

6(2):135156.

[IHC, 2005] IHC (2005).

http://www.serg.inf.puc-rio.

br/ihc/.

Acessado em 13/12/2005.

[Java, 2005] Java, P. (2005).

O que Java?

disponvel em

http://www.portaljava.

com.br/.

acessado em 26/12/2005.

[Krting, 2005] Krting, T. S. (2005). Animador Tridimensional de Faces. In

Projeto de

Engenharia de Computao (FURG),

Rio Grande, RS, Brasil.

[Lanzarotti et al., 2002] Lanzarotti, R., Borghese, N. A., and Campadelli, P. (2002). Robust identication and matching of ducial points for the reconstruction of 3D human faces from raw video sequences. In

First International Symposium on 3D Data Propages 690693.

cessing Visualization and Transmission,

[Lee et al., 1995] Lee, Y., Terzopoulos, D., and Walters, K. (1995). for facial animation. In

Realistic modeling

SIGGRAPH '95: Proceedings of the 22nd annual conference


pages 5562, New York, NY, USA.

on Computer graphics and interactive techniques,


ACM Press.

[Liposcak and Loncaric, 1999] Liposcak, Z. and Loncaric, S. (1999). A Scale-Space Approach to Face Recognition from Proles. In

CAIP '99: Proceedings of the 8th Inpages 243250,

ternational Conference on Computer Analysis of Images and Patterns,


London, UK. Springer-Verlag.

[Martins, 2005] Martins, I. (2005).

Pesquisa em bases fotogrcas, a partir do retrato

falado - uma soluo para integrao atravs da antropometria de Bertillon.

[Ming et al., 2000] Ming, Y., Yingchun, G., and Youan, K. (2000). Human face orientation estimation using symmetry and feature points analysis. In

WCCC-ICSP 2000. 5th

International Conference on Signal Processing Proceedings, volume 2, pages 14191422.


[Parke and Waters, 1996] Parke, F. I. and Waters, K. (1996). A. K. Peters, Ltd., Natick, MA, USA.

Computer facial animation.

BIBLIOGRAFIA

63

[Pilu et al., 1996] Pilu, M., Fitzgibbon, A., and Fisher, R. (1996). Ellipse-specic direct least-square tting.

[Precioso et al., 2005] Precioso, F., Barlaud, M., and Blu, T. (2005). Robust Real-Time Segmentation of Images and Videos Using a Smooth-Spline Snake-based algorithm. volume 14.

[Pritchard, 1977] Pritchard, D. H. (1977).

U.S. Color Television Fundamentals.

IEEE

Trans. Consumer Eletronics,

CE-23(4):467478.

[Reinders et al., 1993] Reinders, M., Odijk, F., van der Lubbe, J., and Gerbrands, J. (1993). Tracking of global motion and facial expressions of a human face in image In

sequences.

Visual Communications and Image Processing'93,

volume SPIE Vol.

2904, pages 15161527, Cambridge.

[Ribeiro, 2004] Ribeiro, N. (2004). Informtica.

Multimdia e Tecnologias Interactivas.

Fca - Editora

[Rozinaj and Mistral, 2003] Rozinaj, G. and Mistral, F.-L. (2003). Facial Features Detection For 3D Face Modeling. 954.

4th International Conference on Industrial Tools,

03:951

[Rudianto and Ngan, 1996] Rudianto, R. and Ngan, K. (1996). Automatic 3D wireframe model tting to frontal facial image in model-based video coding. In

Picture Coding

Symposium (PCS'96),

volume SPIE Vol. 2904, pages 585588.

[Saber and Tekalp, 1998] Saber, E. and Tekalp, A. M. (1998).

Frontal-view Face De-

tection and Facial Features extraction Using Color, Shape and Symetry Based Cost Functions. pages 669680. Ed. Elsevier.

[Seara, 1998] Seara, D. M. (1998). Algoritmos para Deteco de Bordas. disponvel em

http://www.inf.ufsc.br/~visao/1998/seara/.
[Shan et al., 2000] Shan, S., Gao, W., Yan, J., Zhang, H., and Chen, X. (2000). Individual 3d face synthesis based on orthogonal photos and speech-driven facial animation. In

ICIP.

BIBLIOGRAFIA

64

[Sheng, 2003] Sheng, Y. (2003). Fast and Automatic Facial Feature Extraction for 3-D Model-Based Video Coding.

Research Excellence Awards Competition 2003.


A

[Singh et al., 2003] Singh, S. K., Chauhan, D. S., Vatsa, M., and Singh, R. (2003). Robust Skin Color Based Face Detection Algorithm. In

Tamkang Journal of Science

and Engineering,,

volume 6, pages 227234.

[Sirohey, 1993] Sirohey, S. A. (1993). Human Face Segmentation and Identication. Technical Report CS-TR-3176.

[Smith, 1978] Smith, A. R. (1978).

Color gamut transform pairs.

In

SIGGRAPH '78:

Proceedings of the 5th annual conference on Computer graphics and interactive techniques,
pages 1219, New York, NY, USA. ACM Press.

[Su and Yin, 2004] Su, S. and Yin, B. (2004). A robust face detection method. In

Third

International Conference on Image and Graphics,

pages 302305.

[Tang and Huang, 1996] Tang, L.-A. and Huang, T. S. (1996). Automatic construction of 3D human face models based on 2D images. In

International Conference on Image

Processing,

volume 3, pages 467470.

[Valente and Dugelay, 2000] Valente, S. and Dugelay, J.-L. (2000). Realistic Animations for Telecommunicant Clones.

Face Tracking and 7(1):3443.

IEEE MultiMedia,

[Wang and Sung, 1999] Wang, J. G. and Sung, E. (1999). Frontal-view Face Detection and Facial Features extraction Using Color and Morphological Operations.

Pattern

Recognition Letters 20,

pages 10531068.

[Watt and Watt, 1992] Watt, A. and Watt, M. (1992).

Advanced animation and rendering

techniques : theory and practic.


[Wester, 2003] Wester, I. (2003).

Addison-Wesley.

Linguagem JAVA.

disponvel em

http://www.

infowester.com/.

acessado em 26/12/2005.

[Wikipedia, 2005a] Wikipedia (2005a). Avatar (Realidade Virtual). disponvel em

http:

//pt.wikipedia.org/wiki/Avatar_(Realidade_Virtual).

acessado em 28/12/2005.

BIBLIOGRAFIA

65

[Wikipedia, 2005b] Wikipedia (2005b). Biometria. disponvel em

http://pt.wikipedia.

org/wiki/Biometria.

acessado em 28/12/2005.

[Wikipedia, 2005c] Wikipedia (2005c). CCD. disponvel em

http://pt.wikipedia.org/

wiki/CCD.

acessado em 31/12/2005.

[Wikipedia, 2005d] Wikipedia (2005d).

HSV Color Spaces.

disponvel em

http://en.

wikipedia.org/wiki/Image:HSV_cone.jpg.

acessado em 14/12/2005.

[Yang et al., 2002] Yang, M.-H., Kriegman, D. J., and Ahuja, N. (2002). Detecting Faces in Images: A Survey.

IEEE Trans. Pattern Anal. Mach. Intell.,

24(1):3458.

[Yokoyama et al., 1996] Yokoyama, T., Wu, H., and Yachida, M. (1996). Automatic detection of facial feature points and contours. In

Robot and Human Communication,

1996., 5th IEEE International Workshop,

pages 335340.

[Yuille et al., 1992] Yuille, A. L., Hallinan, P. W., and Cohen, D. S. (1992). extraction from faces using deformable templates.

Feature

Int. J. Comput. Vision, 8(2):99111.

[Zhang, 1997] Zhang, L. (1997). Estimation of the mouth features using deformable template matching. pages 328335.

[Zhao et al., 2003] Zhao, W., Chellappa, R., Phillips, P. J., and Rosenfeld, A. (2003). Face recognition: A literature survey.

Você também pode gostar