Académique Documents
Professionnel Documents
Culture Documents
5 Brasil Commons
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
Este trabalho foi analisado e julgado adequado para a obteno do ttulo de Engenheiro de Computao e aprovado em sua forma nal pelo orientador.
Poucos dias atrs percebi que gostei dos computadores graas ao tio Fernando
(in memorian)
Agradecimentos
A Deus, pela compreenso de meu temporrio afastamento e por estar sempre olhando por mim, at mesmo nas interminveis madrugadas em que este texto foi escrito. Ao pesquisador Dr. James D. Edge (University
bilidade e pacincia em dvidas cruciais para o bom andamento do trabalho. Ao professor Alessandro de Lima Bicho, pela ajuda nas decises de projeto e pelas dicas quentes dadas nas madrugadas precedentes entrega deste trabalho. Ao professor Nelson Lopes Duarte Filho, pelas lies, conversas e conselhos que muito me ensinaram durante o andamento do curso. Aos colegas Felipe Castro da Silva e Rodrigo Mendes Costa, que trilharam comigo os caminhos da Engenharia de Computao, em um ambiente saudvel de amizade e companheirismo despretensioso. Aline, pelo seu carinho e amor, compreenso e companheirismo, em todos os momentos envolvidos nesta longa jornada. minha famlia, por tudo que me ensinou neste quase s Irms do Mosteiro So Jos, pelo apoio espiritual. s pessoas que compreenderam que o texto dos agradecimentos est em ordem alfabtica, e que portanto no se sentiram classicadas por qualquer grau de prioridade.
Contedo
Lista de Figuras Lista de Tabelas Lista de Abreviaturas Resumo Abstract 1 Introduo
1.1 Estrutura do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Animao
2.1 2.2 Histrico da Computao Grca Modelagem de Superfcies 2.2.1 2.2.2 2.2.3 2.2.4 2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3 5 6 6 7 9 9
Superfcies Qudricas . . . . . . . . . . . . . . . . . . . . . . . . . .
Tcnicas de Suavizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Animao Facial
3.1 3.2 Trabalhos Correlatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Conferncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
11 13 13
CONTEDO
ii
Agentes Interativos . . . . . . . . . . . . . . . . . . . . . . . . . . .
15 18 19 22 23 23 24
Regras Bsicas da Animao Facial . . . . . . . . . . . . . . . . . . . . . . Emoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 3.4.2 3.4.3 3.4.4 Lbios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sobrancelhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
26 27 36 40 43 43 44
Modelo de Waters . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
Interpolao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Sistema Computacional
5.1 5.2 5.3 5.4 Diagramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonte dos Movimentos Linguagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
45 46 49 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Consideraes Finais
6.1 6.2 6.3 Diculdades Encontradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . Principais Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
55 55 56 56
Bibliograa
58
Lista de Figuras
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Ivan Sutherland(E) e Dave Evans (D), Dezembro de 1969 . . . . . . . . . . Tron: lme pioneiro em efeitos gerados por computador . . . . . . . . . . . Superfcie de Bzier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Superfcie de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Superfcie Catmul-Rom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curva B-Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5 7 8 8 9 10 10
Subdiviso recursiva de uma malha poligonal [DeRose et al., 1998] . . . . . Potencial da tcnica de Suavizao [DeRose et al., 1998] . . . . . . . . . .
Primeira animao 3D de uma face [Parke, 1972] . . . . . . . . . . . . . . . Primeira animao de face com fala sincronizada . . . . . . . . . . . . . . . Exemplo de conferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12 12 15 17 18 21 22 23 24
Woogles
. . . . . . . . . . . . . . . . . . . . .
MAX [Kopp et al., 2003] um exemplo de Interface Multimodal . . . . . . Pontos Caractersticos do MPEG-4 . . . . . . . . . . . . . . . . . . . . . .
Unidades de Parmetros do MPEG-4 . . . . . . . . . . . . . . . . . . . . . Modelos de olho, dentes e lngua [Haber et al., 2001] . . . . . . . . . . . . . Estrutura muscular simulada [Khler et al., 2001] . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
32 33 33 34 35
Malha contrada e pontos de controle [Edge and Maddock, 2003] . . . . . . Pontos de controle em uma malha facial . . . . . . . . . . . . . . . . . . .
Regies de atuao de alguns pontos de controle . . . . . . . . . . . . . . . Face modicada pelas funes de base radial . . . . . . . . . . . . . . . . .
iii
LISTA DE FIGURAS
iv
Movimento de pontos de controle da Boca aplicados vizinhana Modelo baseado em [Waters, 1987]
. . . . .
36 37 38 40 41 42 42 42 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
P I/2
P I/6
. .
4.11 Face modicada pela tcnica de Waters . . . . . . . . . . . . . . . . . . . . 4.12 Sistema massa-mola aplicado Animao Facial . . . . . . . . . . . . . . . 4.13 Modelo multi-camadas para Animao Facial [Lee et al., 1995] . . . . . . . 4.14 Interface do Modelo Facial Fsico . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
46 47 48 49 49 52 53
Fluxograma do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ambiente das lmagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplo de extrao dos pontos de controle da boca . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funcionamento do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lista de Tabelas
3.1 3.2 3.3 Unidades de Medida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 20 20
Principais Unidades de Ao [Noh and Neumann, 1998] . . . . . . . . . . . Composio das emoes [Noh and Neumann, 1998] . . . . . . . . . . . . .
Lista de Abreviaturas
API
AU's
A VI
Audio/Video Interleaved
CG Computao Grca
FACS
Facial Action Coding System Facial Animation Parameters Facial Animation Parameter Units
FAP's
FAPU's
FFD
Free Form Deformation Feature Points Graphical User Interface Integrated Development Environment
FP's
GUI
IDE
RBF's
vi
Resumo
O cenrio atual caracteriza-se por ser altamente dinmico, no qual a comunicao presencial substituda pela virtual, por motivos de praticidade e reduo de custos. Portanto, a pesquisa e o desenvolvimento nesse ramo tm se tornado prticas bastante relevantes. Partindo-se dessa premissa, surge a vontade de se criar um sistema computacional capaz de simular movimentos humanos em uma face virtual, modelada e animada atravs de tcnicas de Computao Grca. Essa face ser representada em computadores atravs de uma malha de polgonos, sendo esta denida por meio de um conjunto de diversos pontos (vrtices) no espao 3D, conectados entre si atravs de arestas. Diversas so as abordagens para realizar a animao facial, sendo classicadas em dois grandes grupos: modelos baseados nas leis da Fsica e modelos paramtricos. As estratgias mais difundidas so discutidas ao longo deste texto, dando particular ateno estratgia utilizando Funes de Base Radial, escolhida e implementada neste trabalho. A idia principal desta estratgia est baseada na insero de pontos de controle na face virtual onde, atravs dos movimentos desses pontos, movimenta os demais pontos ao seu redor, em uma regio de inuncia denida com base em heursticas percebidas na prpria anatomia humana.
vii
Abstract
Nowadays the scenario is highly dynamic, where the communication with physical presence is being changed by the virtual, for some reasons like commodity and cost reduction. So, research and development in this area have become important tasks. With this in
mind, the will of creating a computer system capable of simulate human movements arises, using a virtual face, through Computer Graphics techniques. This face will be
represented in computers by a polygon mesh, being dened through a set of points (vertices) in the 3D space, interconnected by the edges. There are many approaches to facial animation, classied in two groups: the Physics-based and the Parametric models. The most known approaches are discussed in this text, giving special attention to the Radial Basis Functions, that has been chosen and implemented in this work. The main idea in this approach is based upon the insertion of control points in the facial mesh and, through the dynamics of this ones, perform the animation of the other points around this control points, in a inuence region dened using heuristics of the human anatomy.
viii
Captulo 1 Introduo
Uma rea fascinante dentro da Informtica a Computao Grca (CG), tendo aplicao nas mais diversas reas, tais como comunicao, medicina, robtica, aviao, cinema, etc. Nestas reas, a CG utilizada principalmente em simulaes que visam reproduzir situaes reais por meio das caractersticas mais relevantes nestas aplicaes, que so exibidas sem apresentar nenhum impacto verdadeiro, com o intuito de possibilitar uma anlise e estudo do ambiente simulado. Vemos, no cenrio atual altamente dinmico, a comunicao presencial sendo substituda pela virtual, tanto pela praticidade quanto pela reduo de custos na maioria dos casos. A pesquisa e o desenvolvimento nesse ramo tm se tornado prticas bastante relevantes. Sendo assim, surge uma proposta inicial de se implementar um sistema capaz de simular uma face humana, reproduzindo os movimentos e expresses da fala. As inmeras aplicaes de tal iniciativa sero apresentadas nos captulos seguintes, cabendo introduo apenas a descrio bsica das idias que motivaram o autor no desenvolvimento desse projeto.
CAPTULO 1.
INTRODUO
descrio completa do sistema implementado, englobando caractersticas bsicas, decises de projeto, manual de utilizao e exemplos de utilizao. Por m, comentrios sobre as concluses e perspectivas futuras so apresentados, tambm como forma de raticar o conhecimento adquirido durante a tarefa de implementao desse trabalho.
Captulo 2 Animao
Optou-se por criar esse captulo para nele colocar uma viso geral sobre o assunto Animao, dado que o propsito geral desse projeto um sistema de animao utilizando tcnicas de CG. Assim, as sees seguintes tentam traar um panorama dessa rea da computao, visando familiarizar o leitor com o assunto, contemplando desde o histrico at projetos contemporneos e tcnicas para o aumento de realismo.
http://www.es.com/),
uma empresa
cuja principal atividade era a criao de aplicaes grcas para simulao. Alm disso, pessoas reconhecidas atualmente em CG foram descobertas na E&S, tais como Jim Clark (fundador da Silicon Graphics), Ed Catmull (fundador da Pixar) e John Warnock (fundador da Adobe) [Straccia, 2002]. Nesse mesmo perodo, surgem resultados de algumas pesquisas, como o dispositivo de interao denominado
mouse,
CAPTULO 2.
ANIMAO
2D, texturas, etc.) teve seu incio nesta poca. Em 1963, Steve A. Coons apresenta sua teoria de representao de superfcies curvas atravs de retalhos (polgonos) baseados em aproximaes polinomiais. Em 1965, Lawrence G. Roberts cria um algoritmo de remoo de partes invisveis de segmentos de reta e introduz a noo de coordenadas homogneas na representao geomtrica de objetos. Nesse mesmo perodo, Jack E. Bresenham desenvolve algoritmos ecientes para o desenho de primitivas geomtricas 2D. Em 1967, Rod Rougelet cria um simulador interativo de vo para a NASA [Costa, 2001]. Podemos perceber, nesse primeiro momento, que as universidades americanas tm grande importncia na disseminao da CG pelo mundo inteiro, com diversas pesquisas iniciadas e o reconhecimento mundial por seu pioneirismo. No ano de 1976, temos como outro marco histrico a criao do computador pessoal, o Apple I, seguido do Apple II em 1979 e pelo PC da IBM em 1981. Em seguida,
surge o conceito de GUI , institudo pela Macintosh, o qual alavancou tanto o uso de computadores em geral quanto em particular o desenvolvimento da CG. Em seguida,
surgem as empresas Adobe, seguida da Silicon Graphics, que ganharam mercado devido s potencialidades trazidas com o ramo da CG, especialmente para empresas produtoras de vdeo. Com esse arsenal, no incio da dcada de 80 lanado o primeiro lme com
CAPTULO 2.
ANIMAO
Na sntese de imagens por computador, uma cena composta pela disposio de objetos no espao tridimensional. Em geral, estes objetos so descritos por modelos matemticos que descrevem superfcies e/ou slidos. As principais tcnicas para representar superfcies em CG so: polgonos, superfcies qudricas.
patches
animao facial, veremos que os modelos de face so denidos atravs destas superfcies tridimensionais. Como qualquer outra superfcie, uma face composta de uma malha ou nuvem de pontos (vrtices) interconectados atravs de arestas, criando uma malha conexa de polgonos. As diversas estratgias para a gerao de superfcies sero apresentadas
brevemente, uma vez que a gerao da malha poligonal no faz parte da proposta, que leva em considerao um modelo de face previamente denido. De uma maneira geral, as superfcies so uma generalizao das curvas. Uma superfcie, da mesma maneira que uma curva, pode ser gerada por famlias de conjuntos de pontos. Podemos ainda interpolar, ajustar ou aproximar superfcies a partir de pontos. Essa forma de gerao de objetos por seus contornos muito importante na modelagem geomtrica [Azevedo and Conci, 2003].
2 Seo
CAPTULO 2.
ANIMAO
2.2.1
Mtodos Tradicionais
A rotao de uma curva plana em torno de um eixo produz a famlia mais conhecida de superfcies, denindo as superfcies de de
Revoluo.
e eixos de rotaes diferentes produzem diversas formas de superfcies. Existem tambm as superfcies geradas por
Deslocamento,
deslocamentos genricos de curvas produzem diversas formas, sendo tambm conhecidas pela tcnica de
sweeping
(varredura).
presso da curva ou dos pontos que descrevem seus limites. Aps a gerao destes limites, por tcnicas de interpolao, o interior dessa superfcie gerado, geralmente empregando retas que iniciam em pontos pertencentes a outras retas formadas pelos pontos limites, pr-estabelecidos para a formao da superfcie.
2.2.2
Polgonos
Polgono toda superfcie planar com fronteiras denidas por segmentos de reta. Essa forma de representao de superfcies uma das mais conhecidas no contexto da CG, sendo ideal para superfcies planas, tipicamente encontradas em elementos chamados facetados, tais como pirmides e paraleleppedos. Para superfcies curvas, como uma esfera, essa
representao aproximada, porm muito utilizada, devido praticidade e facilidade de entendimento no seu uso. Mais especicamente, polgonos so superfcies cujo contorno dado por uma srie de vrtices ordenados. Cada vrtice conectado com o prximo, sendo que o ltimo vrtice conectado com o primeiro [Fabbro and Martino, 1998]. Na medida em que estamos tentando representar superfcies curvas atravs de pequenas superfcies retas, iremos perceber um erro nesse tipo de aproximao, o qual se reduz na medida em que mais polgonos (cada vez menores) so utilizados para representar determinada superfcie.
CAPTULO 2.
ANIMAO
2.2.3
Patches
Pode-se utilizar uma abordagem de aproximao polinomial por partes, em uma representao paramtrica com polinmios de terceira ordem (cbicos) ou com dois parmetros (bicbicos), o que traz maior exibilidade, particularmente s superfcies curvas. primitiva geomtrica associada a esta representao dado o nome de
patches
Bzier
A superfcie gerada interpolando o primeiro e o ltimo pontos de controle, sendo que mais dois pontos so responsveis pela direo da curva nos pontos extremos. Esta curva prov grande controle sobre sua forma por parte do usurio. Podemos extrapolar seu uso para um maior nmero de pontos, como vemos no exemplo da Figura 2.3. Os pontos
de controle (em azul) esto conectados como em uma malha poligonal e a superfcie de Bzier gerada em funo de tais pontos.
Hermite
A superfcie de Hermite especicada por 4 pontos de interpolao, 8 vetores tangentes e 4 vetores obtidos por derivaes de segunda ordem [Cochran, 2003]. O comprimento destes vetores dene o grau de curvatura nos pontos extremos. Podemos ver um exemplo dessa tcnica na Figura 2.4, sendo os pontos em azul os 4 pontos de interpolao, conectados a 2 vetores tangentes cada qual.
CAPTULO 2.
ANIMAO
Catmull-Rom
Para a superfcie Catmul-Rom, a curva base interpola o segundo e o terceiro pontos de controle. A tangente nestes pontos paralela linha que liga o ponto anterior (ao
segundo ou terceiro ponto) ao ponto seguinte. Uma caracterstica particular o fato de que as superfcies geradas passam sempre por todos os pontos de controle (Figura 2.5) [Dunlop, 2002].
B-Spline
A curva na qual se baseia a superfcie B-Spline mais difcil de ser controlada, uma vez que ela totalmente aproximada (Figura 2.6). No entanto, so utilizadas pelo fato de
oferecerem suavidade e exibilidade, caractersticas difceis de serem obtidas utilizando modelos poligonais convencionais [Noh and Neumann, 1998].
CAPTULO 2.
ANIMAO
2.2.4
Superfcies Qudricas
Utilizada amplamente em ferramentas de modelagem do tipo (CAD), pelo fato de se adaptarem representao denominada
etry (CSG), a qual representa slidos pela combinao de primitivas e operadores de unio,
diferena e interseco. Superfcies Qudricas so construdas por revoluo, atravs da seguinte formulao algbrica:
(2.1)
A, B, . . . K
CAPTULO 2.
ANIMAO
10
nmero arbitrrio de passos de subdiviso, seguidos por outro conjunto de regras que so aplicadas ao limite. regras, denido A suavidade, portanto, depende somente do segundo conjunto de Geralmente, a suavizao conseguida atravs de um processo
a priori.
recursivo, cujas superfcies mais rgidas vo se tornando suavizadas conforme o nmero de iteraes. Um exemplo pode ser visto na Figura 2.7, no qual uma malha de controle mostrada ao longo de diversos nveis de suavizao.
Figura 2.7: Subdiviso recursiva de uma malha poligonal [DeRose et al., 1998]
De uma forma mais prtica, podemos exemplicar o uso dessa tcnica e de seu potencial baseado em pesos tanto para limitar quanto para denir zonas de inuncia de suavizao. Na Figura 2.8 (imagem retirada do curta metragem
Geri's game
Pixar
Animation Studios),
11
CAPTULO 3.
ANIMAO F ACIAL
12
Figura 3.1:
Primeira animao 3D de
scanners
tridimensionais,
a face de cada indivduo modelada utilizando suas prprias caractersticas, e animada por uma simulao de pele dinmica em conjunto com um modelo muscular em forma de uma camada fsica inserida logo abaixo da pele, conectada por vrtices que distribuem as foras aplicadas. J [Edge et al., 2004] realiza a animao facial baseada em fragmentos de fala previamente captados, em uma combinao de deformao, aplicao na malha e mistura entre os estados, gerando estados intermedirios. Isso obtido em um processo dividido em cinco etapas: aquisio dos dados (atravs de microfones e cmeras udio/vdeo), pr-processamento, gerao dos fragmentos de dados, sntese do movimento e a animao, atravs do uso da tcnica de O sistema intitulado
(BID's).
Video Rewrite
vdeos reais contendo personagens falando. O efeito obtido a modicao da fala presente em uma lmagem real, sincronizando os movimentos labiais com a nova fala. Uma das intenes deste projeto a utilizao em dublagem de lmes, recriando os movimentos labiais dos atores, mantendo sua voz, mas alterando as palavras e o idioma. A modelagem e a animao de faces humanas tida atualmente como uma das mais difceis tarefas na Computao Grca [Haber et al., 2001]. A principal meta dar a
iluso de que as expresses e os movimentos so motivados pelo prprio personagem, ao invs de serem manipulados pelo animador. Talvez o maior desao seja a sntese de faces articiais que possam parecer e agir como uma pessoa real. A soluo para isso envolver
CAPTULO 3.
ANIMAO F ACIAL
13
no somente Computao Grca, mas tambm outras reas do conhecimento, tais como Psicologia e Inteligncia Articial (IA).
3.2 Aplicaes
Esta seo apresenta algumas das utilidades nas quais um sistema de Animao Facial pode se enquadrar, tambm com o intuito de justicar a escolha por esta rea de pesquisa. Com o advento de espaos sociais virtuais, onde as pessoas se comunicam facea-face, a demanda por personagens virtuais com caractersticas realistas aumenta
dicina (e.g. cirurgia plstica), entretenimento com a construo de atores virtuais, etc.
3.2.1
Conferncias
Podemos invadir um pouco a seara losca para comentarmos a respeito do novo paradigma de relacionamento interpessoal institudo pela tecnologia. Alm de hoje termos,
por exemplo, as telefonias xa e mvel, com os quais as pessoas podem nos encontrar em qualquer lugar, temos os programas de computador, nos quais as pessoas apenas se comunicam atravs de mensagens de texto, nos famosos programas de
chat.
Diversas so
as tentativas de se expressar emoes por esses programas, algumas representadas por onomatopias e outras por simbologias que lembram algumas expresses (e.g.
:), ;),
:(,
etc.).
sentimentos atravs do texto que podem no estar reetindo o atual sentimento dos participantes, como se tais programas servissem at mesmo como mscara para os usurios. Podemos pensar e certamente lembraremos de diversos exemplos nos quais tal situao ocorre. Assim, uma das propostas a de se capacitar o computador a transmitir a prpria imagem dos comunicantes durante um dilogo (tambm chamado de conferncia). Algumas iniciativas j esto disponveis aos usurios comuns, atravs de sistemas que lmam os usurios utilizando cmeras de baixa resoluo (conhecidas por
webcams).
No entanto, al-
guns fatores ainda so limitantes nesse tipo de abordagem, na medida em que a velocidade de transmisso de informaes ainda no satisfatria, conduzindo a uma representao
CAPTULO 3.
ANIMAO F ACIAL
14
unidade
s f i px pt
pixel
ponto
no condizente com a movimentao a que estamos acostumados a ver ao vivo. Diante do que foi explicado acima, se pode estabelecer a primeira rea de aplicao deste projeto. Utilizando uma
webcam,
cional, a dinmica das principais regies de uma face, que juntas representam alguma expresso ou representaes para os padres visuais de movimentao articulatria observveis na face durante a fala (o que denido por visema) [Martino, 2005]. Conclui-se que uma quantidade muito pequena de pontos (menos de 50) representa um bom conjunto de informaes representativos do estado atual de movimento de uma face, e com este se pode representar a dinmica em um modelo tridimensional. Tambm se percebe que transmitir esse conjunto de pontos a cada estado da face muito mais simples do que transmitir uma imagem de uma face, que no caso exemplicado possui um total de
76800px
(uma
webcam
com resoluo de
320px 240px).
Para deixar clara a questo da diferena do volume de dados, vamos pensar em uma transmisso de um vdeo por um perodo de 1 minuto (t
= 60s),
webcam1 :
exemplo sugere a captao no seu pior caso, desconsiderando estratgias de codicao de vdeo.
CAPTULO 3.
ANIMAO F ACIAL
15
pixel
quanto um ponto,
99, 93%
no nmero de pontos
transmitidos a cada segundo. Assim, sero transmitidas apenas as informaes sobre a dinmica dos comunicantes, deixando para o processamento local a movimentao de um personagem 3D, simulando os movimentos captados pelos participantes da conferncia. Alm disso, em conversas realizadas ao vivo, os participantes desejam conversar olhando nos olhos, caracterstica que no possibilitada por conferncias atravs de lmagens. Como os participantes esto olhando sempre para o dispositivo de exibio (e.g. monitor, telas de projeo, etc.) e no para as cmeras que o esto lmando, os par-
ticipantes, por conseguinte, podero se ver, mas no tero uma conversa focalizada. A Figura 3.3 exemplica tal situao.
3.2.2
Agentes Interativos
Uma rea relativamente recente dentro da computao a chamada Interao HumanoComputador (IHC), na qual se estudam maneiras de aproximar a mquina do ser humano, dotando-a de caractersticas simuladas do comportamento humano, atravs de tcnicas de IA. Dito de outra forma, IHC uma rea de pesquisa dedicada a estudar os fenmenos de comunicao entre pessoas e sistemas computacionais [Baranauskas, 2005]. Uma das maneiras de dotar um computador de tal capacidade atravs da criao de um Agente
CAPTULO 3.
ANIMAO F ACIAL
16
Embodied
Conversational Agent
Um ECA um agente essencialmente comunicativo que imita o ser humano na forma como usa o corpo durante uma conversao, como reage emocionalmente e como mantm um dilogo. Por agente dene-se uma entidade que percebe seu ambiente atravs de H
sensores e responde atravs de algum dispositivo de sada, seja visual, sonoro, etc.
ainda uma subdiviso desses tipos de agentes, nas categorias que esto descritas a seguir [Longhi et al., 2004].
woogles
(Figura 3.4).
CAPTULO 3.
ANIMAO F ACIAL
17
Figura 3.4:
Woogles
Um sistema recente, que est sendo amplamente utilizado por diversos aumento da interatividade, o
sites,
visando o
talking heads
oddcast.com/).
A implementao da fala pode contar com um sintetizador Texto-Fala (TF) , um subsistema que deve ser capaz de ler qualquer texto [Krting et al., 2005a], ou tambm apenas simular os movimentos faciais em um modelo, adicionando sons reais animao. Pelo que j foi citado acima, percebemos que a aplicao proposta pelo sistema ao qual esse trabalho se refere pertence a essa classe de agentes interativos, implementado com uma estratgia de modelagem e de animao de uma face em 3D, aliada voz captada de um usurio real.
Interface Multimodal
O termo multimodal refere-se ao fato da comunicao se dar por diveras maneiras (e.g. modos), resultando em uma simulao natural da comunicao de um humano, tais como voz, expresso, gestos do corpo e mos, etc., gerando resultados prximos realidade, mas atingindo um grau de complexidade alto. Um exemplo dessa aplicao desenvolvido pelo grupo de Inteligncia Articial do Laboratrio de Realidade Virtual da Universidade de Bielefeld, Alemanha. por MAX (Multimodal Conhecido
Assembly eXpert),
2 Termo
Text-To-Speech
(TTS)
CAPTULO 3.
ANIMAO F ACIAL
18
agente. Alm das diversas etapas da CG presentes na implementao de um sistema deste tipo, outras reas esto inseridas para dar ao agente o comportamento completo, como a IA, a Psicologia, a Fsica, entre outras.
continuam valendo para as implementaes contemporneas. Os principais aspectos que devem ser considerados em um animador de faces so [Parke and Waters, 1996]:
quanto mais o modelo facial assemelhar-se a um humano real, maior ser nossa percepo crtica sobre o mesmo;
o potencial de um personagem encontra-se na sua animao e no na sua forma: personagens extremamente convincentes tambm podem ser obtidos atravs de simples primitivas geomtricas;
mais importante preocupar-se com a animao de determinadas caractersticas do que outras para se expressar a emoo:
CAPTULO 3.
ANIMAO F ACIAL
19
caractersticas de alta prioridade so os olhos, a boca, as sobrancelhas e as plpebras; certas vezes, um grau de expresso pode ser alcanado apenas pela dilatao ou contrao das pupilas [Watt and Watt, 1992]; atributos de menor prioridade so nariz, lngua, bochecha, cabelo e orelhas;
a animao da cabea em si algo extremamente importante e no deve ser esquecida, sob pena de a animao parecer muito robotizada;
animar caractersticas faciais simetricamente pode produzir resultados no convincentes em verdade este um princpio bsico da animao, no somente aplicado face: um bom exemplo pode ser a animao do piscar dos olhos: alguns instantes devem separar o incio da piscada de cada olho, a m de gerar uma animao mais real.
3.4 Emoes
De um modo geral, as emoes podem ser representadas como, por exemplo, alegria, surpresa, dvida, medo, raiva, tristeza e assim por diante [Tao and Tan, 2004]. Em
[Ekman et al., 2005], temos a descrio de um modelo representativo que serve de notao para as expresses faciais, denominado
(FACS). Tal
para descrever o controle das aes da face para expressar as emoes. As principais AU's esto mostradas na Tabela 3.2 e as principais emoes supracitadas esto expressas em forma de AU's na Tabela 3.3. Considerando aspectos de validade, a relao entre expresses faciais e emoes baseada apenas em movimentos musculares. Portanto, o desenvolvimento de um mtodo computacional para se medir a emoo de uma expresso pode seguir apenas dois caminhos [Ekman et al., 2005]:
CAPTULO 3.
ANIMAO F ACIAL
20
AU's 1 2 4 5 6 7 9 10 12 14 15 16 20 23 26
FACS
portugus
FACS
(interna) (externa)
ingls
Inner Brow Raiser Outer Brow Raiser Brow Lower Upper Lid Raiser Cheek Raiser Lid Tightener Nose Wrinkler Upper Lid Raiser Lip Corner Puller Dimpler Lip Corner Depressor Lower Lip Depressor Lip Stretcher Lip Tightener Jaw Drop
Levantar Plpebra Superior Levantar a Bochecha Pressionar Plpebra Franzir o Nariz Levantar a Plpebra Inferior Puxar o Canto do Lbio Trazer o Lbio para Trs Abaixar o Canto do Lbio Abaixar o Lbio Inferior Esticar os Lbios Apertar os Lbios Abaixar a mandbula
AU's envolvidas 1, 6, 12, 14 1, 2, 5, 15, 16, 20, 26 2, 6, 7, 14 1, 2, 4, 5, 15, 20, 26 2, 4, 7, 9, 10, 20, 26 1, 4, 15, 23
CAPTULO 3.
ANIMAO F ACIAL
21
2. o de conduzir experimentos de validao mais rduos para mostrar que novas medidas so relacionadas com cada emoo em que se tiver interessado.
O estudo do sistema FACS tambm serve para medir e distinguir todas as diferentes expresses faciais. Todos os msculos faciais foram classicados em 58 AU's, as quais
descrevem todas as possibilidades de movimentos. Essa notao relativamente neutra e se tornou um padro para a calibrao de sistemas de animao facial [Breton et al., 2001]. No entanto, algumas desvantagens da notao FACS devem ser mostradas
AU's so puramente padres locais; no entanto a movimentao facial raramente localizada, e sim, distribuda;
FACS oferece a descrio da dinmica espacial, porm no a temporal; isso acaba trazendo problemas na animao co-articulada dos pontos da face;
mesmo apresentando a descrio espacial, o modelo FACS ainda peca nas deformaes mais perifricas do rosto.
Alm do FACS, um outro esforo para a padronizao dos modelos paramtricos de face, idealizado originalmente para os propsitos de uma codicao eciente de imagens em movimento, resultou no desenvolvimento, pelos desenvolvedores do MPEG, do padro MPEG-4 para Facial
Facial Animation
Feature
CAPTULO 3.
ANIMAO F ACIAL
22
Points (FP's).
tais como
do padro de forma visual, no qual podemos perceber os diversos FP's presentes na face. Uma caracterstica do MPEG-4 que os mesmos valores de FAP's devem produzir um resultado similar em faces diferentes (do contrrio o padro seria intil). Isto alcanado atravs da denio dos FAP's com base nas Unidades de Parmetros da Animao Facial
(FAPU's), denidas pelas distncias entre determiExistem seis FAPU's denidas na especicao
distncia entre olhos e nariz (ENS0), distncia entre nariz e boca (MNS0), largura da boca (MW0)
e
unidade de ngulo
[Beskow, 2003].
A seguir, a relao das principais caractersticas faciais, e as estratgias geralmente adotadas quando da animao de cada uma delas. No Captulo 5 sero abordadas exclusivamente as estratgias escolhidas para a implementao do sistema proposto por esse trabalho.
3.4.1
Lbios
Para movimentar a boca em qualquer abordagem de animao facial, a distino entre os lbios superior e o inferior deve ser feita. No entanto, a maioria das malhas poligonais possui lbios sem a adequada separao. Uma idia poderia ser a de separ-los em duas malhas distintas, mas isso no seria recomendvel. Este procedimento destruiria os cantos
CAPTULO 3.
ANIMAO F ACIAL
23
dos mesmos, produzindo assim um resultado muito articial, pois os lbios no estariam conectados quando a boca estiver aberta [Breton et al., 2001].
3.4.2
Sobrancelhas
As sobrancelhas esto especialmente envolvidas com o realismo das expresses faciais sendo, portanto, foco de parte das atenes na modelagem facial. Assim, modelos que a implementem de forma satisfatria obtero resultados certamente mais dedignos do que outros que no a faam.
3.4.3
Importantes para uma animao facial mais realista, so extremamente difceis de serem modelados, especialmente pela diculdade encontrada em captar sua completa estrutura e movimentao em imagens reais. Sendo assim, diversos sistemas encontrados na literatura utilizam modelos genricos para essas caractersticas, ajustando poucos parmetros de maneira a adapt-los o mais prximo possvel dos personagens reais. Alteraes nos olhos incluem apenas a reduo ou aumento do raio do globo ocular. Nos dentes faz-se geralmente modicaes na angulao, visando encaix-los internamente no modelo. Modelos de lngua so mais empregados quando a simulao contempla representaes da fala, pois sabemos que esta tem um papel bastante importante na produo dos sons em conjunto com os dentes (Figura 3.8).
CAPTULO 3.
ANIMAO F ACIAL
24
3.4.4
Msculos
Nas abordagens que os implementam, cada um dos msculos geralmente construdo como um conjunto de bras individuais ao redor de segmentos lineares, formadores de polgonos de controle (Figura 3.9). Um elipside alinhado a cada segmento, visando prover o
formato e o volume de cada bra muscular [Haber et al., 2001]. Assim, a deformao da malha da pele causada pela simulao da contrao dos msculos faciais.
Basis Functions
ateno Seo 4.1.1 (Funes de Base Radial), abordagem escolhida para a implementao do sistema proposto por esse trabalho. A seguir, na Seo 4.2, um outro modelo bastante citado pela bibliograa exposto, de maneira a situar o leitor com as tcnicas tradicionais na rea da animao facial. Por m, na Seo 4.3, h uma descrio um pouco mais supercial de estratgias alternativas de animao facial, no somente aplicadas a faces tridimensionais, como tambm a animao e adaptao de seqncias de vdeos em duas dimenses. J foi mencionado, em captulos anteriores, de que maneira as faces tridimensionais so representadas e modeladas atravs de computadores, tal como qualquer outra superfcie mais simples. Nesse captulo, as malhas poligonais de faces utilizadas sero apresen-
tadas, cabendo um pequeno comentrio de sua origem. Existem diversos sistemas para modelagem tridimensional, dentre eles 3D Studio (http://www.autodesk.com/), Maya (http://www.alias.com/), etc. No entanto, esses sistemas no se aplicam especica-
mente a faces, mas sim a superfcies poligonais em geral. Um sistema especco para a
25
CAPTULO 4.
26
(http://www.facegen.com/). Com ele possvel a criao de malhas poligonais que se assemelhem a faces de usurios, atravs da extrao de caractersticas a partir de imagens do mesmo e do estabelecimento de pontos de controle. Tal sistema possui a opo de exportar a malha gerada, em um formato conhecido, o qual pode ser interpretado por outros programas, permitindo a utilizao das malhas por ele criadas. As guras apresentadas neste e nos prximos captulos contm malhas que foram geradas por este sistema, sendo deformadas utilizando as tcnicas a seguir apresentadas.
de controle [Beskow, 2003]. Essas transformaes espaciais podem ser entendidas como funes aplicadas sobre cada vrtice
x,
inuncia), podendo ser tanto global quanto local. Uma transformao dita global se
f (x) x.
Do contrrio, se
f (x)
no depende de todos esses pontos, mas apenas dos que esto a a transformao dita local [Wirth, 2000].
x,
A chamada parametrizao de faces permite um controle especco sobre diversas conguraes faciais, sendo utilizada para afetar apenas determinadas regies da face. A combinao desses parmetros proporcionam uma gama considervel de expresses faciais com um custo computacional relativamente baixo [Noh and Neumann, 1998]. No entanto, devemos mostrar tambm que a animao paramtrica apresenta algumas desvantagens. Uma limitao que a escolha dos parmetros depender sempre da topologia da malha de polgonos da face, ou seja, uma parametrizao genrica no possvel; resultando em outra limitao, que a da realizao de ajustes manuais para os valores dos parmetros, a cada nova malha que se desejar animar. estratgias paramtricas descritas na literatura. Existem outras
CAPTULO 4.
27
4.1.1
O uso de funes de base radial, RBF's, proporciona deformaes suavizadas com um comportamento facilmente controlvel. Da sua denio, temos que RBF's so funes suaves e contnuas que realizam interpolaes entre dados fornecidos, produzindo resultados contnuos. Tambm a geometria dos pontos de controle no necessita ter qualquer restrio, implicando em uma distribuio dos mesmos de forma esparsa e irregular. Alm disso, o comportamento facilmente controlvel pode ser empregado para se chegar aos requisitos desejados em uma animao [Wirth, 2000]. De um modo geral, o funcionamento das RBF's aplicado animao facial dado da seguinte maneira: pontos de controle so denidos na superfcie facial em um estado inicial, com a face relaxada. Para se obter a animao de alguma caracterstica (e.g.
movimento do canto esquerdo da boca), atribudo um ponto de controle (muitas vezes chamados
landmark)
para essa regio, e se movimenta tal ponto para uma regio alvo
especca. A seguir, so feitos os clculos das posies de todos os pontos que estiverem na vizinhana desse
landmark,
seo. Assim, temos o estado inicial ou relaxado, e o nal, contendo a movimentao do(s) ponto(s) de controle e da sua regio de inuncia. Com esses dois estados (ou quadros), produz-se a animao atravs de uma tcnica denominada
morphing1 .
O mapeamento realizado entre as posies inicial e nal dos pontos de controle pode ser descrito em termos de um vetor de coecientes [yong Noh et al., 2000]. Esses coecientes devem ser encontrados a cada movimento que se deseja realizar sobre a face. Os demais ns na regio de inuncia desses coecientes tm sua posio modicada com base nesses valores calculados. A seguir sero descritas as equaes que regem o funcionamento das RBF's, atravs de exemplos prticos e de resultados na prpria animao facial.
1 Algoritmos
que lidam com a transio de duas imagens digitais, pela busca de um alinhamento
geomtrico e pela interpolao das cores am de produzir uma transio suavizada e realista.
CAPTULO 4.
28
Realizando Deformaes2
RBF's proporcionam funes de mapeamento para cada ponto de controle em uma imagem, e pontos correspondentes em outra imagem, alm de proporcionar a interpolao desse mapeamento em situaes intermedirias. menses, denotada que Uma transformao espacial em
dital
T (x, y ),
composta de
funes de mapeamento (k
= 1, 2, . . . d)
(4.1)
f2 (x)
a segunda dimenso, e
assim por diante. Nesta abordagem, cada funo pode ser decomposta em dois componentes, um local e outro global, aplicados a cada dimenso, permitindo o surgimento de uma famlia de transformaes a serem denidas na regio de inuncia dos pontos de controle que se deseja. Dados das
Aik g (ri ) m = 1,
(4.2)
Pmk (x)
podendo ou no estar
presente no equacionamento, conforme o grau de inuncia global que se desejar obter. O uso de polinmios de maior grau (m [Wirth, 2000].
> 1)
(4.3)
g (ri ) o somatrio de diversas funes bases, cada qual com seu peso ri
calculada atravs da distncia Euclidiana
x,
xi ,
da seguinte maneira:
ri = ||x xi ||
Portanto, a funo de base radial dialmente simtrica
(4.4)
fk (x)
g (ri )
Pmk (x).
Uma questo que deve surgir quanto ao custo computacional envolvido com a realizao de tantos clculos numricos que devem ser realizados para a simples transio de
2 Seo
CAPTULO 4.
29
um ponto de controle. Porm, a abordagem que ser mostrada representa esses clculos, e de fato realiza-os sob a forma matricial, que alm de visualmente ser mais fcil para o entendimento, possui diversos mtodos numricos j implementados para a resoluo de tais clculos, que na maioria das vezes envolve a resoluo de sistemas lineares. Na Seo 5.3 esto mostradas as linguagens de programao envolvidas no desenvolvimento desse sistema, juntamente com bibliotecas especcas para o trabalho com matrizes e resoluo de sistemas lineares. Para o clculo da transformao RBF em 3D so utilizados dimenso, onde
x = (x, y, z )
f1 (xj ) = uj ,
f2 (xj ) = vj ,
f3 (xj ) = wj
onde
j = 1, . . . n
(4.5)
Aik =
i=1 i=1
Aik xi =
i=1
Aik yi =
i=1
Aik zi = 0
(4.6)
Como foi dito anteriormente, pode ser que o polinmio no esteja presente, assim seus coecientes no precisaro ser calculados, tendo ento um clculo de ou no o polinmio
n coecientes.
Utilizando
Pmk (x)
W = L 1 Y
onde
(4.7)
L=
G PT
e
P 0
(4.8)
com
4 4,
u1
u2 . . .
un 0 0 0 vn wn
(4.9)
Y T = v1 v2 . . . w1 w2 . . .
0 0 0 0 0 0 u1 , . . . un , v1 , . . . vn
e
w1 , . . . wn .
CAPTULO 4.
30
(4.10)
...
x1 x2 . . . T P = y1 y2 . . . z1 z2 . . .
Porm, algumas vezes ocorre que a matriz sultado de uma alta entropia dos dados.
xn yn zn
(4.11)
matrizes, pela gerao de uma matriz singular. Quando isso ocorre, pode-se utilizar como soluo a adio de um pequeno parmetro
na matriz
G,
G = G + I
Esse termo geralmente denido empiricamente, no alterando os resultados, apenas eliminando o problema da impossibilidade de se resolver o sistema para o clculo dos coecientes [yong Noh et al., 2000]. A matriz de coecientes descoberta pela soluo do sistema linear exposto na equao 4.7 estruturada da seguinte forma:
A A21 . . . An1 a01 a11 a21 a31 11 W = A12 A22 . . . An2 a02 a12 a22 a32 A13 A23 . . . An3 a03 a13 a23 a33
T
sendo os ltimos coecientes
(4.12)
a3k (k = 1, 2, 3)
polinmio de primeiro grau j comentado anteriormente. Observe que algumas matrizes esto no formato transposto apenas para melhorar a visualizao; no modicando, portanto, o signicado de seus valores. Podemos tambm notar que o por:
(i, j )-simo
elemento de
G, g (rij ),
(4.13)
CAPTULO 4.
31
Intuitivamente,
g (rij )
mede o efeito do
j -simo
i-simo
g (r),
que adicionado ao termo radial (r ), signica que dado um ponto de controle, os clculos so feitos com base na distncia (raio) desse ponto at os demais da sua vizinhana. Essa funo,
g (r),
prprio comportamento que desejamos atribuir deformao a ser aplicada malha de pontos da face. A seguir, a apresentao de algumas das diversas funes de base mais utilizadas.
Funes de Base
Como j dito, a estratgia das RBF's se utiliza de uma funo, chamada de base, a qual recebe por entrada a distncia crescem a medida em que
entre os pontos de controle da malha. Algumas delas A escolha da funo mais apropriada
realizada por fatores como a dimenso do problema, as condies de interpolao e as propriedades desejadas para a prpria interpolao. As funes aqui descritas podem ser aplicadas a quaisquer dimenses; mas vale salientar que algumas funes so especcas para determinadas dimenses, como algumas para 2D, por exemplo, mas esto fora do escopo deste trabalho e por isso no sero citadas. O comportamento de algumas funes est mostrado na Figura 4.1, e suas descries e denies esto mostradas a seguir:
Multiquadrtica:
g (r) = (r2 + )
com
(4.14)
>0
> 0.
o qual
utilizado para controlar seu comportamento, dando menos peso para a distncia entre os pontos de controle e mais para os da vizinhana prxima.
Multiquadrtica Inversa:
de
< 0.
parmetro
CAPTULO 4.
32
Gaussiana:
g (r) = er
e medida em que o valor de
(4.15)
diminui,
as contribuies da vizinhana prxima aumentam, produzindo aproximaes mais localizadas e, portanto, mais bruscas.
Linear:
Tal funo no apresenta aplicabilidade direta para a animao facial pelo fato
de no contemplar as caractersticas de suavizao e inuncia nas proximidades dos pontos de controle, o que produziria resultados no satisfatrios.
Exemplos
De modo a entendermos de maneira mais clara a funcionalidade das RBF's, podemos mostrar a Figura 4.2, em que se expe uma malha de polgonos com diversos pontos de controle em duas posies: uma inicial, relaxada, e outra nal, com os deslocamentos realizados pelos pontos de controle e aplicados vizinhana. Passando para o domnio facial, podemos mostrar a aplicao das RBF's em malhas de polgonos representando faces, e para isso devemos ter os pontos de controle
CAPTULO 4.
33
Figura 4.2: Malha contrada e pontos de controle [Edge and Maddock, 2003]
Na
Figura 4.3 apresentamos uma malha poligonal de uma face, com os pontos de controle j denidos. Observe que a localizao desses pontos baseada no padro MPEG-4, embora a abordagem atual no implemente a totalidade de pontos desse padro.
Com os pontos de controle j estabelecidos, nos resta saber qual a regio de interesse para cada um deles, em particular, tendo em vista que alguns pontos no podem inuen-
CAPTULO 4.
34
Ciano (Lbio Inferior) Amarelo (Lbio Superior) Magenta (Canto da Boca) Vermelho (Sobrancelha)
ciar toda a regio circunscrita em um determinado raio. Para compreendermos melhor, basta lembrarmos que a dinmica de um ponto estabelecido sobre o lbio superior no pode inuenciar quaisquer pontos presentes no lbio inferior, mesmo que estejam mais prximos do que pontos presentes na parte superior do lbio. inuncia esto mostradas na Figura 4.4 De posse desses pontos de controle, e das regies de atuao de cada um deles, podemos aplicar ento a tcnica de RBF's para realizar a deformao, resultando em uma nova expresso facial. Em um primeiro exemplo (Figura 4.5) aplica-se o deslocamento dos dois cantos da boca para cima, da mesma forma que no exemplo da Figura 4.11, animado pelo modelo de Waters. No segundo exemplo, apresentado na Figura 4.6, temos a aplicao das RBF's para simular o movimento da boca, apenas com o deslocamento de dois pontos de controle, conforme mostrado na imagem. Podemos observar um pequeno orifcio presente nos dois cantos; embora no prejudique consideravelmente a apresentao do resultado nal, devese esclarecer que permaneceu aberto devido utilizao de pontos de controle apenas nas regies perifricas da boca. A inteno disso a de reduzir o clculo para cada quadro, tendo em vista que o custo computacional deve sempre ser levado em considerao. As principais regies de
CAPTULO 4.
35
Outras Aplicaes
Podemos citar tambm algumas outras reas nas quais o uso de RBF's tem resultados satisfatrios, como no processo de
quanto para a gerao de novas formas geomtricas. Alm disso, outra rea de aplicao a interpolao entre camadas planas em volumes tridimensionais, com grande utilidade para a rea mdica. Tambm na medicina, aplicaes com RBF's incluem planejamento de cirurgias atravs da reconstruo de superfcies ausentes, sendo uma alternativa bastante utilizada em solues para o problema de interpolao de superfcies incompletas derivadas de imagens mdicas tridimensionais [Wirth, 2000].
Limitaes
Devem-se expor algumas limitaes do mtodo, tambm como forma de apresentar uma avaliao geral da tcnica que foi adotada para ser utilizada na implementao do sistema exposto neste trabalho. No caso de funces de base RBF's como a MQ, a seleo do parmetro de localidade ( ) fundamental para se conseguir bons resultados, o que pode algumas vezes ser um trabalho demorado, pois os pontos so escolhidos, os clculos so realizados, e devem-se observar manualmente os resultados para sua validao.
CAPTULO 4.
36
A seleo de pontos de controle apropriados tambm crtica para o sucesso do funcionamento das RBF's. Uma das maiores desvantagens do uso de RBF's o aumento
considervel na complexidade computacional quando se aumenta a regio de inuncia de um determinado ponto de controle. Assim, j se antecipa o comentrio a respeito do sistema implementado, que no estado atual, no est capacitado, devido a esta limitao, a realizar a animao em tempo real, apenas aps o clculo das equaes a cada movimento que se deseja realizar sobre um ou mais pontos especcos da face. A soluo adotada na maioria dos casos a aplicao de funes com limites mais localizados, para reduzir a gama de pontos processados e, conseqentemente, o processamento. Os limites aplicados malha facial, particularizados a cada regio, esto ressaltados na Figura 4.2.
4.1.2
Modelo de Waters
Based Animation),
Waters, em 1987 [Waters, 1987]. Esse modelo se baseia na construo de msculos virtuais, interagindo com a malha representativa da face, sendo ainda foco das pesquisas que visam increment-lo na busca de animaes mais dedignas. Nessa estratgia, cada msculo representado como um vetor (presente em algum ponto da face) que, ao ser
CAPTULO 4.
37
aplicado, desloca na sua direo os demais vrtices das regies vizinhas, de acordo com sua zona de inuncia, denida por uma srie de parmetros.
um ponto de controle
um ponto de insero
O msculo ento pode ser considerado como um vetor contrao, os pontos de controle no se movem e o vetor
Esse vetor age como uma atrao magntica sobre os vrtices ao redor de sua zona de inuncia. Tal modelo complementado com os seguintes parmetros:
um ngulo de abertura
V,
com ngulo
E,
Nessa
so propores do vetor
AI .
a ser
somado na posio do referido vrtice. A direo deste deslocamento deve ser oposta
CAPTULO 4.
38
do vetor
AV ,
C,
V = C AV A R, = A
onde:
(4.16)
se
(4.17)
demais casos
A =
(4.18)
R = cos
(4.19)
Podemos ver um exemplo de contrao muscular aplicada a uma malha de pontos genrica, na Figura 4.8. Observemos as zonas de inuncia determinadas pelos parmetros radiais (S e e
E ):
E)
mais el.
CAPTULO 4.
39
Como cada
expresso facial pode ser reduzida a um grupo de contraes musculares, elas geralmente requerem menos parmetros do que outros modelos [Breton et al., 2001]. A elasticidade da pele geralmente modelada pela prpria contrao do msculo e esse um dos maiores ganhos computacionais trazidos por essa estratgia; algoritmos de elasticidade geralmente requerem a resoluo de sistemas de equaes diferenciais. Uma limitao a ser estudada no modelo de contrao muscular se d no momento em que se desejar associar aes musculares. Isso no pode ser feito com a simples adio de vetores deslocamento, pois os resultados podem acabar puxando determinados vrtices alm dos seus limites fsicos. Waters props uma estratgia de se atribuir a cada vrtice um Grau de Liberdade
Degree of Freedom
espao que limita os deslocamentos de cada vrtice fora dos quais resultariam em efeitos desagradveis [Waters, 1987]. Uma outra tentativa para solucionar o problema gerado pela associao de msculos a de agrup-los de acordo com suas funes e orientaes [Breton et al., 2001]: msculos frontais esquerdos e direitos e msculos labiais superiores e inferiores. Assim, quando um movimento de mais de um msculo dos grupos acima for solicitado, somente o de maior mdulo ser efetuado, preservando assim os limites da elasticidade facial. A proposta
inicial de Waters continha uma pequena quantidade de msculos (Figura 4.9), com os quais j se conseguiu atingir objetivos bastante relevantes para a rea de animao facial.
Exemplos
Como a tcnica baseada no modelo de Waters foi implementada, mostram-se agora alguns resultados em uma malha regular quadrada (Figura 4.10) e em malhas de faces (Figura 4.11). J foi dito que esse modelo baseado na insero de alguns pontos de controle, sendo assim, exemplicamos a colocao dos dois pontos
AeI
de duas diferentes angulaes, visando mostrar a adaptao da tcnica para vrios tipos de casos. As duas angulaes aplicadas sobre a malha quadrada esto mostradas na Figura 4.10. Ao ver esses exemplos, podemos extrapolar para o propsito desse projeto: a face
CAPTULO 4.
40
Figura 4.9: Msculos utilizados pela proposta de Waters [Noh and Neumann, 1998]
humana. Para simular a expresso de um sorriso, basicamente realizamos deslocamentos para cima dos cantos da boca em ambos os lados. Pensando no sistema de Waters,
poderemos inserir msculos nas regies indicadas e realizar a contrao desses msculos, baseados nos parmetros estabelecidos. Tanto os pontos de controle quanto o resultado da expresso so mostrados na Figura 4.11.
CAPTULO 4.
41
P I/2
P I/6
4.13.
camadas, na medida em que a ordem dos elementos (i.e. camadas) dever ser preservada na gerao das expresses e movimentos. Assim, quando uma malha de pontos da pele modelada como uma simples membrana, ela pode penetrar as camadas musculares e sseas quando esticada em demasia [Khler et al., 2001]. Sendo assim, mtodos para a preservao volumtrica e limtrofe das camadas devem sempre ser levados em considerao. A teoria que rege as tcnicas baseadas em leis da Fsica integra a manipulao fsica e geomtrica do modelo facial (Figura 4.14) de maneira bastante coerente
[Qin and Terzopoulos, 1996]. O processo de modelagem e animao tambm facilitado pelo uso de energias, foras e heursticas de restries. O algoritmo pode aplicar foras variantes no tempo para modicar a face interativamente. A complexidade computacional e o conhecimento necessrio da anatomia do corpo humano, fundamentais para a simulao baseada em leis da Fsica, so razes para que essa abordagem no fosse utilizada na implementao deste projeto.
CAPTULO 4.
42
Figura 4.13: Modelo multi-camadas para Animao Facial [Lee et al., 1995]
CAPTULO 4.
43
4.3.1
A abordagem
jetos atravs da manipulao de pontos de controle pr-estabelecidos, posicionados em um cubo exterior ao objeto que se deseja deformar [Sederberg and Parry, 1986]. Conceitualmente, um objeto exvel inserido nesse cubo, contendo uma grade tridimensional de
CAPTULO 4.
44
linhas e pontos que, quando modicadas, aplicam o resultado sobre o elemento contido em seu interior. Quando aplicado a faces, um paraleleppedo de controle denido sobre a regio de interesse. As deformaes na pele correspondem s aes de esticar, achatar, expandir
e comprimir o volume pertencente ao controle, atravs do deslocamento dos pontos de controle e modicao dos pesos associados com cada um deles [Noh and Neumann, 1998].
4.3.2
Interpolao
Um dos mtodos mais diretos e provavelmente o mais comum, a interpolao bastante aplicada animao facial em 3D. O princpio bsico ter um conjunto de formas faciais pr-denidas, geralmente correspondendo aos visemas e/ou a determinadas expresses faciais. Para cada uma dessas formas, a posio dos vrtices guardada, mantendo
key-framing
(quadro
a quadro), sendo os quadros intermedirios (i.e. que contm as novas posies dos vrtices) determinados por tcnicas de interpolao [Beskow, 2003].
5.1 Diagramas
Alguns diagramas sero expostos como forma de melhor expor as funcionalidades realizadas pelo sistema. Primeiramente, a gura 5.1 apresenta uma viso geral das atividades necessrias para interagir com o sistema e os impactos causados sobre cada componente. Cabe ressaltar algumas denies j presentes nesta gura, em relao aos termos utilizados. O controle da animao presente no diagrama diz respeito s funcionalidades
presentes em um
player
mao, alm da alterao da velocidade da mesma, com o intuito de se perceber certos detalhes em uma exposio mais lenta ou aumentar a velocidade para uma viso mais supercial do todo. Algumas decises de projeto apontaram para a criao de arquivos contendo diversos parmetros que podem ser alterados pelo usurio como, por exemplo, as Posies dos Pontos de Controle (PPC's), Emoes em Pontos de Controle (EPC's) e as Dinmicas
45
CAPTULO 5.
SISTEMA COMPUTACIONAL
46
dos Pontos de Controle (DPC's), que agem sobre a malha poligonal presente no arquivo que contm a denio de um objeto (por isso a extenso OBJ). Os PPC's representam a congurao da posio tridimensional dos pontos de controle sobre uma determinada face. Os EPC's contm algumas conguraes, no mesmo padro dos DPC's (comentados a seguir), necessrias para a movimentao dos pontos de controle de modo a animar a face com algum tipo pr-denido, em uma abordagem que mistura a construo de emoes pelo sistema FACS, aplicadas a alguns pontos de controle presentes na abordagem MPEG4. Por m, os DPC's so os que possuem a dinmica dos pontos de controle, em cada quadro, para o sistema realizar as deformaes na face padro para esses novos estados, e atravs das tcnicas de
morphing
Na Figura 5.2 apresentado o uxograma que rege o funcionamento do sistema. Sobre esse diagrama, deve-se ressaltar a ocorrncia da deciso intitulada Boto OK, o qual libera o programa para instanciar os objetos relacionados s regies de inuncia de cada um dos pontos de controle, conforme especicado no Captulo 4.
CAPTULO 5.
SISTEMA COMPUTACIONAL
47
A Figura 5.3 mostra esse ambiente, montado em um fundo de cor padro (azul,
para a aplicao da tcnica de cromaqui) para a extrao das caractersticas e de sua dinmica, realizada pelo trabalho de [da Silva and Costa, 2005]. A adoo de um fundo simples reduz signicativamente a complexidade da etapa de localizao da face. Na medida em que a idia a utilizao de dispositivos de baixo custo, foram utilizadas cmeras simples (webcams D-LINK DSBC-110) para a captao das imagens, armazenadas em arquivos do formato x 288 com um
CAPTULO 5.
SISTEMA COMPUTACIONAL
48
inuenciadas pela iluminao. Como j dito, o sistema baseado em arquivos de congurao, contendo as posies dos pontos de controle, alm das dinmicas a serem aplicadas a cada ponto em cada unidade de tempo. Essa dinmica exposta em arquivos no formato DPC's, no seguinte padro:
2 1.0 1.1 ... 0.0 -3.0 3.0 2.0 ... 0.0 -3.0 3.0 2.0 0.0 2.0 0.0 0.0 0.5
no qual a primeira linha indica o total de estados (ou quadros) a serem simulados pelo personagem, e as linhas posteriores representam a movimentao de todos os de controle em cada um dos
pontos
cada ponto de controle expressa com base no estado inicial dos pontos de controle e
CAPTULO 5.
SISTEMA COMPUTACIONAL
49
seu deslocamento relativo a essa posio em cada quadro. Um exemplo da extrao dos pontos de controle, restritos boca para ns de ilustrao, mostrado na Figura 5.4, e o resultado da animao com base na extrao desses pontos de controle est na Figura 5.5
5.3 Linguagens
JAVA [(SDN), 2005] uma linguagem de programao relativamente nova, de alto nvel, com sintaxe similar C++. Apresenta diversos aspectos que a tornam atraente aos
CAPTULO 5.
SISTEMA COMPUTACIONAL
50
Orientao a objetos
Observando cdigos implementados, podemos perceber as grandes vantagens da abordagem orientada a objetos, permitindo o uso de todas as potencialidades desse paradigma de programao para a construo de um cdigo simplicado e reutilizvel.
Excees
JAVA possui a abstrao de mquina virtual, que faz uma vericao em tempo de execuo quanto aos acessos de memria, abertura de arquivos e uma srie de outros eventos, dando a possibilidade ao programador de trat-las em particular, da maneira mais conveniente.
Independncia de plataforma
Talvez a caracterstica decisiva para a escolha dessa linguagem seja essa abordagem multiplataforma, tendo em vista que novos Sistemas Operacionais esto ganhando destaque, especialmente os sistemas de Software Livre, alm de futuramente, em uma proposta mais ousada, vir portar uma verso simplicada do sistema para arquiteturas mveis, como telefones celulares e
handhelds.
site
da
empresa
mantenedora
da
linguagem
(http://java.sun.com/),
encontra-se uma innidade de documentao que contempla grande parte das API's
disponveis para a utilizao dos programadores, alm de ferramentas de frum e listas de discusso que englobam muitos problemas, dvidas e solues propostas por programadores ao redor do mundo (http://forum.java.sun.com/).
CAPTULO 5.
SISTEMA COMPUTACIONAL
51
Garbage Collector
Os programadores no necessitam preocupar-se com o gerenciamento de memria. JAVA, utiliza-se de um conceito de
garbage collection
a memria de tempos em tempos, liberando automaticamente os blocos que no esto sendo utilizados.
applets.
download
gratuitamente.
A linguagem JAVA possui bibliotecas diversas, que servem como apoio para o programador. Dentre elas podemos citar JAVA3D (como citado acima), que uma interface criada para o desenvolvimento de aplicaes grcas tridimensionais em JAVA, executada no topo de bibliotecas grcas de mais baixo nvel, tais como OpenGL e Direct3D [Bicho et al., 2002]. Assim, atravs da percepo das diversas caractersticas encontradas na linguagem JAVA, favorveis ao desenvolvimento de aplicaes deste tipo, optou-se por utiliz-la na criao de um sistema que atenda, na medida do possvel, s necessidades encontradas pela comunidade de usurios.
CAPTULO 5.
SISTEMA COMPUTACIONAL
52
5.4 Manual
Nesta seo apresentado o sistema computacional desenvolvido para realizar a animao facial, baseado nas tcnicas explicadas em captulos anteriores. Sua descrio ser feita atravs de algumas imagens de seu funcionamento (screenshots), seguindo o uxo de execuo mencionado pelos diagramas presentes na Seo 5.1. Na Figura 5.6 apresentada a primeira tela do sistema. Como j mencionado, primeiramente deve-se fazer a importao da malha de polgonos contida em arquivos do formato OBJ, para a seguir proceder com a adaptao dos pontos da face malha que for importada.
Aps a abertura da malha de polgonos, o usurio deve realizar a associao entre os pontos de controle da imagem 2D presente no canto inferior esquerdo da tela com o modelo 3D, e ao nal, pressionando o boto OK. Aps esse momento, pode-se utilizar uma Emoo padro, presente no menu lateral, ou importar uma dinmica de movimento, com arquivos DPC's.
CAPTULO 5.
SISTEMA COMPUTACIONAL
53
Alm do supracitado, percebemos no sistema algumas funcionalidades que servem para congurar o ambiente e permitir um controle maior sobre a animao por parte do usurio. Tais funes incluem a exibio ou no dos pontos de controle, seleo do
wireframe,
ou renderizado), congurao
dos parmetros das RBF's (o tipo de funo utilizada, e o parmetro principal envolvido no clculo) e tambm funes para exportar alguns resultados, tanto no formato JPG (imagem esttica) quanto no formato AVI (animao), alm do prprio arquivo contendo PPC's, para facilitar o usurio ao reutilizar a malha poligonal posteriormente.
54
CAPTULO 6.
CONSIDERAES FINAIS
55
de processamento atual, torna essa aplicao ainda incapaz de ser executada em tempo real.
CAPTULO 6.
CONSIDERAES FINAIS
56
a com outras tambm utilizadas para a sua validao. Com essa experincia adquirida, espera-se disponibilizar as contribuies desta
pesquisa para futuros acadmicos no mbito interno da FURG, construir artigos cientcos para expor os resultados comunidade em geral e, acima de tudo, aumentar a quantidade de material bibliogrco sobre a rea de animao facial na lngua portuguesa, o que ainda bastante escasso. Alm dessas contribuies, tambm se deseja disseminar a imensa gama de aplicaes para as quais esse projeto pode se enquadrar, para que mais pessoas se interessem e possam dar continuidade a esse trabalho, que apresenta caractersticas pioneiras dentre os demais projetos de pesquisa e graduao j realizados dentro do curso de Engenharia de Computao da FURG.
6.3.1
Texto-Fala
Basicamente, um conversor TF composto de dois mdulos principais: o Processador de Linguagem Natural e o Processador de Sinais Digitais. O primeiro o responsvel
pela produo da transcrio fontica do texto a ser lido, juntamente com a entonao e o ritmo mais adequados, atravs da gerao de uma informao simblica. J o se-
gundo componente o responsvel pela transformao da informao gerada pelo mdulo anterior em fala [Krting et al., 2005a]. Tendo esse sistema j implementado, denominado
http:
CAPTULO 6.
CONSIDERAES FINAIS
57
imagem). Espera-se tambm realizar testes com essa abordagem, tanto para o treinamento e construo da base dos visemas, quanto para a validao desse e do mtodo de fala utilizando o prprio sistema TF.
Bibliograa
[Azevedo and Conci, 2003] Azevedo, E. and Conci, A. (2003).
Computao Grca
Teoria e Prtica.
IHC Brasil.
Disponvel em
http://www.
serg.inf.puc-rio.br/ihc/.
Acessado em 13/12/2005.
Talking Heads.
[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
conference on Computer graphics and interactive techniques, pages 353360, New York,
NY, USA. ACM Press/Addison-Wesley Publishing Co.
[Breton et al., 2001] Breton, G., Bouville, C., and Pel, D. (2001). FaceEngine a 3D facial animation engine for real time applications. In
W. O. (2003).
Hermite Surfaces.
Disponvel em
http:
//ezekiel.vancouver.wsu.edu/~cs442/.
[Costa, 2001] Costa, A. C. (2001).
Acessado em 13/12/2005.
Disponvel em
http:
//www.dei.isep.ipp.pt/cg/.
Acessado em 09/12/2005.
58
BIBLIOGRAFIA
59
Um Sistema Com-
[DeRose et al., 1998] DeRose, T., Kass, M., and Truong, T. (1998). Subdivision surfaces in character animation. In
Disponvel em
http://www.mvps.org/directx/articles/catmull/.
Acessado em 13/12/2005.
[Edge et al., 2004] Edge, J. D., Lorenzo, M. A. S., and Maddock, S. (2004). Animating speech from motion fragments. Technical report, Department of Computer Science
[Edge and Maddock, 2003] Edge, J. D. and Maddock, S. (2003). Heads using Radial Basis Functions. In
Image-based Talking
Computer Graphics,
pages 7480.
[Ekman et al., 2005] Ekman, P., Friesen, W. V., and Hager, J. C. (2005).
Face and
Disponvel em
http://face-and-emotion.
com/,
acessado em 28/06/2005.
Imagens
Disponvel em
http://www.dca.
fee.unicamp.br/~martino/.
Acessado em 10/12/2005.
[Haber et al., 2001] Haber, J., Khler, K., Albreecht, I., Yamauchi, H., and Seidel, H.-P. (2001). Face to face: From Real Humans to Realistic Facial Animation. In
In Proc.
[Khler et al., 2001] Khler, K., Haber, J., and Seidel, H.-P. (2001). muscle modeling for facial animation. In
Geometry-based
face 2001,
BIBLIOGRAFIA
60
[Kopp et al., 2003] Kopp, S., Jung, B., Lebmann, N., and Wachsmuth, I. (2003). Max A Multimodal Assistant in Virtual Reality Construction. pages 1117.
[Krting et al., 2005a] Krting, T. S., da Silva, F. C., and Costa, R. M. (2005a). Sistema Texto-Fala Livre. In
Um
[Krting et al., 2005b] Krting, T. S., da Silva, F. C., Costa, R. M., de Lima Bicho, A., and da Costa Botelho, S. S. (2005b). Um estudo sobre a animao tridimensional de faces. In
[Lee et al., 1995] Lee, Y., Terzopoulos, D., and Waters, K. (1995). Realistic Modeling for Facial Animation. pages 5562.
[Longhi et al., 2004] Longhi, M. T., Nedel, L. P., Vicari, R. M., and Axt, M. (2004). Especicao e Interpretao de Gestos Faciais em um Agente Inteligente e Comunicativo. In
PhD thesis, School of Computer Science, Computer Science Department, Carnegie Mellon University, Pittsburg, USA.
[Noh and Neumann, 1998] Noh, J. and Neumann, U. (1998). A survey of Facial Modeling and Animation Techniques.
ACM'72:
Proceedings of the ACM annual conference, pages 451457, New York, NY, USA. ACM
Press.
[Parke and Waters, 1996] Parke, F. I. and Waters, K. (1996). A. K. Peters, Ltd., Natick, MA, USA.
BIBLIOGRAFIA
61
[Platt and Badler, 1981] Platt, S. M. and Badler, N. I. (1981). Animating facial expressions. In
[Qin and Terzopoulos, 1996] Qin, H. and Terzopoulos, D. (1996). D-NURBS: A PhysicsBased Framework for Geometric Design. In
Computer Graphics,
JAVA Technology.
Disponvel em
http://java.
sun.com/.
[Sederberg and Parry, 1986] Sederberg, T. W. and Parry, S. R. (1986). formation of solid geometry models. In 151160. Free-form depages
http://www.xuti.net/.
[Tao and Tan, 2004] Tao, J. and Tan, T. (2004). Emotional Chinese talking head system. In
[Waters, 1987] Waters, K. (1987). A muscle model for animation three-dimensional facial expression. In
Addison-Wesley.
[yong Noh et al., 2000] yong Noh, J., Fidaleo, D., and Neumann, U. (2000). Animated deformations with radial basis functions. In
posium on Virtual reality software and technology, pages 166174, New York, NY. USA.
ACM Press.