Escolar Documentos
Profissional Documentos
Cultura Documentos
5 Brasil Commons
Orientador(a): Prof. Ms. Alessandro de Lima Bicho Co-orientador(a): Prof . Dra. Silvia Silva da Costa Botelho
Este trabalho foi analisado e julgado adequado para a obteno do ttulo de Engenheiro de Computao e aprovado em sua forma nal pelos orientadores.
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Extrao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONTEDO
ii
14
14 14 15 16 17 18 22 24 26
Restries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
YIQ
YCbCr .
. . . . . . . . . .
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 de fundo
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
55 55 57
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
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15 16 16 19 20 21 22
frames
Cubo de cores
RGB
Espao de cores
HSV
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.12 Deteco de cor de pele ( esquerda). Em destaque, os objetos detectados como buracos da imagem ( direita). . . . . . . . . . . . . . . . . . . . . . 29
iv
LISTA DE FIGURAS
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
. . . . . . . . . . . . . . . . . . . . . . . . .
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
esquerda). Elipse gerada a partir dos contornos do novo objeto (em baixo, direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valores de 34 32
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
4.2
Imagem original com rudo ( esquerda) e a imagem aps aplicada a convoluo de mdia ( direita) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 41
4.3 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). 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
. . . . . . . . . . .
Imagem original da face ( esquerda). Ponta do nariz extrada ( direita). . Exemplos de extrao dos pontos caractersticos de perl. . . . . . . . . . .
6.1 6.2
ScreenShot
. . . . . . . . .
53 54
Lista de Abreviaturas
API CCD FPS FTP HSV IHC JVM RGB
Application Programming Interface
Charge-Coupled Device
CODEC
Codicador-Decodicador
GLDH HTTP
Interao Humano-Computador
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
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
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
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.
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
proposta de projeto, resultando na deciso da utilizao da linguagem guagem de programao. Alm disso, o projeto props a utilizao de
JAVA
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.
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
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.
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
ais.
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
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:
CAPTULO 2.
FUNDAMENTAO TERICA
Posio: Regra:
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
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
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
plates deformveis
CAPTULO 2.
FUNDAMENTAO TERICA
10
ysis),
eigenfaces
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-
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:
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.
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.
15
Seguindo essa trajetria, decidiu-se aceitar o desao de extrair caractersticas faciais de um modelo humano utilizando cmeras CCD
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
frames)
varivel em funo da caracterstica CCD da cmera inuenciada pela mdio conseguido se aproximou de 10 fps (frames
iluminao. O
framerate
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
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.
16
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.
frames
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.
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:
temente, algumas caractersticas faciais, tais como um olho ou o nariz, podem estar parcialmente ou totalmente oclusos.
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.
Ocluses:
Condies da imagem:
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.
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
YCbCr.
2O
conceito de caractersticas invariantes refere-se premissa na qual a cor da pele de uma pessoa se
CAPTULO 3.
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
est na linha que liga o ponto preto ao ponto branco. Essa informao muito utilizada no processamento e anlise de imagens.
RGB
[Figueir, 2003].
RGB consistem em
combinam-se sobre a tela fosfrea para produzir uma imagem de cores compostas. Assim, o uso do modelo
RGB
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
S)
d uma medida do grau de diluio de uma cor pura por luz branca.
HSV V
intensidade
CAPTULO 3.
20
HSV
de algoritmos de processamento de imagens baseados em alguma das propriedades do sistema visual humano. Exemplos da utilizao do espao de cores
HSV
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
HSV
YIQ
O espao de cores mente,
YIQ
YIQ
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
Q.
CAPTULO 3.
21
YIQ
[Ribeiro, 2004].
YIQ Q)
em so
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
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
YCbCr,
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
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.
22
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
YIQ
YCbCr
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
pixels
os va-
RGB,
pixel
YIQ.
A transformao, segundo
(3.1)
CAPTULO 3.
23
YIQ,
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,
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.
localizao de faces, as distribuies cromticas de cor de pele, para localizar a face. Pelo espao de cores
Cb
Cr,
so utilizadas
YCbCr,
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
Tal transformao
R 0 G + 0.500 0.500 B
(3.2)
pixel
no espao de cores
YCbCr,
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
CAPTULO 3.
24
pixels,
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
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
pixels.
(matiz) de todos os
pixels
per-
HSV,
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,
RGB
H = cos
1 2
[(R G) + (R B)]
1
(3.3)
S =1
(3.4)
1 V = (R + G + B) 3
Na anlise do cone de cores do espao
(3.5)
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.
25
pixel
de
muito claro, a distino entre as cores tambm ca complicada. Portanto, valores com
pixel
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
V,
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-
(acinzentadas) e a matiz no poder ser distinguida. O limiar que utiliza-se para desconsiderar os valores de
pixels
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
H.
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
e os valores
pixel
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
CAPTULO 3.
26
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.
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:
Para detectar objetos dentro da imagem, foi desenvolvido um algoritmo que funciona da seguinte maneira:
Para cada
pixel
4
os
Analisa-se
pixels
direita para baixo; porm, s considera-se os que possurem a mesma cor do [i, j].
pixel
Se algum desses
pixels
pixel
pixel
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.
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.
2. Com exceo do maior objeto branco , todos os outros devem sem pintados de preto (retirar os buracos da imagem).
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
CAPTULO 3.
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.
30
3.2.5
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.
31
Figura 3.15: Imagem original da face ( esquerda). Elipse aplicada aos contornos interno e externo ( direita).
pixels.
Figura 3.16:
Clculo do ngulo de
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
OR
entre a imagem
que contm o objeto face, e uma imagem criada com uma forma elptica. Aps a unio das
CAPTULO 3.
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
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.
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
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
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
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
o GLDH do eixo
di
a mdia do
GLDH do eixo.
6 Biometria
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.
34
Figura 3.18:
Valores de
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,
Y,
Figura 3.19: Sugesto de angulao no mtodo da Elipse ( esquerda). Eixo de simetria detectado ( direita).
CAPTULO 3.
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
15 ].
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.
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
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
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:
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;
3. Aplicao do mtodo de
Non-maximal Suppression:
4. Aplicao do mtodo de
Hysterisis Thresholding:
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
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.
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)
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
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.
threshold
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.
(4.1)
pixel
pixel
pixel
1 Tradicionalmente,
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
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).
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.
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
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.
47
Para a anlise do perl, cria-se um vetor contendo o valor da coluna onde est o primeiro
pixel
de cor branca.
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.
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):
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.
49
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 ),
2. A partir do ponto
que na regio entre os olhos existe um vale. Calcula-se a distncia entre as linhas dos pontos
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 ,
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
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
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.
(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.
50
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).
pixels),
o ponto
denido
(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.
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.
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.
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
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
Na esquerda, pode-se ter acesso a cada uma das etapas. direita, esto as imagens que comprovam as aplicaes dos mtodos descritos anteriormente.
CAPTULO 6.
ASPECTOS DE IMPLEMENTAO
54
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
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
no possui varias facilidades que possibilitam uma maior exibilidade na hora de Alguns exemplos disso so: sobrecarga de operadores, structs,
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.
Orientao a Objetos:
Com a exceo dos tipos bsicos da linguagem (int, oat, O cdigo ca
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
Multithreading:
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:
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:
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,
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
CAPTULO 6.
ASPECTOS DE IMPLEMENTAO
57
Garbage Collector:
garbage
6.3.3
(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
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.
58
CAPTULO 7.
CONSIDERAES FINAIS
59
webcams independentes.
software,
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.
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
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
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
[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
[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
Nll,
(5).
IEEE
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
[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
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 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
Intelligence,
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
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.
[Gu et al., 2003] Gu, H., Su, G., and Du, C. (2003). Faces. In China.
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.
6(2):135156.
http://www.serg.inf.puc-rio.
br/ihc/.
Acessado em 13/12/2005.
O que Java?
disponvel em
http://www.portaljava.
com.br/.
acessado em 26/12/2005.
Projeto de
[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
[Lee et al., 1995] Lee, Y., Terzopoulos, D., and Walters, K. (1995). for facial animation. In
Realistic modeling
[Liposcak and Loncaric, 1999] Liposcak, Z. and Loncaric, S. (1999). A Scale-Space Approach to Face Recognition from Proles. In
[Ming et al., 2000] Ming, Y., Yingchun, G., and Youan, K. (2000). Human face orientation estimation using symmetry and feature points analysis. In
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.
IEEE
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.
Fca - Editora
[Rozinaj and Mistral, 2003] Rozinaj, G. and Mistral, F.-L. (2003). Facial Features Detection For 3D Face Modeling. 954.
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),
tection and Facial Features extraction Using Color, Shape and Symetry Based Cost Functions. pages 669680. Ed. Elsevier.
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.
[Singh et al., 2003] Singh, S. K., Chauhan, D. S., Vatsa, M., and Singh, R. (2003). Robust Skin Color Based Face Detection Algorithm. In
and Engineering,,
[Sirohey, 1993] Sirohey, S. A. (1993). Human Face Segmentation and Identication. Technical Report CS-TR-3176.
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
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
Processing,
[Valente and Dugelay, 2000] Valente, S. and Dugelay, J.-L. (2000). Realistic Animations for Telecommunicant Clones.
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
pages 10531068.
Addison-Wesley.
Linguagem JAVA.
disponvel em
http://www.
infowester.com/.
acessado em 26/12/2005.
http:
//pt.wikipedia.org/wiki/Avatar_(Realidade_Virtual).
acessado em 28/12/2005.
BIBLIOGRAFIA
65
http://pt.wikipedia.
org/wiki/Biometria.
acessado em 28/12/2005.
http://pt.wikipedia.org/
wiki/CCD.
acessado em 31/12/2005.
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.
24(1):3458.
[Yokoyama et al., 1996] Yokoyama, T., Wu, H., and Yachida, M. (1996). Automatic detection of facial feature points and contours. In
pages 335340.
[Yuille et al., 1992] Yuille, A. L., Hallinan, P. W., and Cohen, D. S. (1992). extraction from faces using deformable templates.
Feature
[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.