Vous êtes sur la page 1sur 74

Licena Creative Atribuio-Vedada a Criao de Obras Derivadas 2.

5 Brasil Commons

Fundao Universidade Federal do Rio Grande Engenharia de Computao

Animador Tridimensional de Faces


Thales Sehn Krting

Rio Grande, 4 de Maio de 2007

Fundao Universidade Federal do Rio Grande Engenharia de Computao

Animador Tridimensional de Faces


Thales Sehn Krting

Trabalho de Concluso do Curso de Graduao em Engenharia de Computao submetido avaliao, como requisito parcial obteno do ttulo de Engenheiro de Computao.

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

Rio Grande, 4 de Maio de 2007

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

 Prof. Ms. Alessandro de Lima Bicho

Banca Examinadora: Prof. Ms. Alessandro de Lima Bicho


DMAT  FURG (Orientador)

Profa . Danbia Bueno Espndola


DMAT  FURG

Prof. Dr. Nelson Lopes Duarte Filho


DMAT  FURG

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

of Sheeld, UK), pela disponi-

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.

1/4 de sculo de vida...

Contedo
Lista de Figuras Lista de Tabelas Lista de Abreviaturas Resumo Abstract 1 Introduo
1.1 Estrutura do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iii v vi vii viii 1


1

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

Mtodos Tradicionais . . . . . . . . . . . . . . . . . . . . . . . . . . Polgonos Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

3.2.2 3.3 3.4

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Olhos, Dentes e Lngua . . . . . . . . . . . . . . . . . . . . . . . . . Msculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Tcnicas de Animao Facial


4.1 Modelos Paramtricos 4.1.1 4.1.2 4.2 4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25
26 27 36 40 43 43 44

Radial Basis Functions

Modelo de Waters . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Modelos Baseados em Leis da Fsica . . . . . . . . . . . . . . . . . . . . . . Outras Abordagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 4.3.2

Free Form Deformation .

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

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

Propostas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Texto-Fala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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] . . . . . . . . . .

3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9

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

do projeto OZ [Loyall, 1997]

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

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] . . . . . . . . . . . . . .

4.1 4.2 4.3 4.4 4.5

Algumas Funes de Base existentes

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

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

4.6 4.7 4.8 4.9

Movimento de pontos de controle da Boca aplicados vizinhana Modelo baseado em [Waters, 1987]

. . . . .

36 37 38 40 41 42 42 42 43

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

Exemplo de malha contrada [Waters, 1987]

Msculos utilizados pela proposta de Waters [Noh and Neumann, 1998] . .

4.10 Malhas quadradas contradas, com ngulos de abertura de

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 . . . . . . . . . . . . . . . . . . . . . . .

5.1 5.2 5.3 5.4 5.5 5.6 5.7

Diagrama de atividades realizadas pelo sistema

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

46 47 48 49 49 52 53

Fluxograma do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ambiente das lmagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplo de extrao dos pontos de controle da boca . . . . . . . . . . . . . . . . . . . . . . .

Resultado da animao dos pontos de controle da boca Tela inicial do sistema

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

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

Application Programming Interface Action Units

AU's

A VI

Audio/Video Interleaved

CG Computao Grca

DPC's Dinmicas dos Pontos de Controle

EPC's Emoes em Pontos de Controle

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

IHC Interao Humano-Computador

PPC's Posies dos Pontos de Controle

RBF's

Radial Basis Functions

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.

1.1 Estrutura do Texto


A estrutura est apresentada da seguinte forma: no Captulo 2, faz-se uma introduo Animao realizada pela CG, para a seguir (Captulo 3), iniciarmos uma discusso detalhada sobre a Animao Facial, objetivo principal deste trabalho. J com o entendimento sobre a animao facial, parte-se para a descrio das tcnicas utilizadas am de

CAPTULO 1.

INTRODUO

alcanarmos as metas dessa proposta (Captulo 4).

Em seguida (Captulo 5), feita a

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.

2.1 Histrico da Computao Grca


Atribui-se aos professores David Evans e Ivan Sutherland (Figura 2.1), da Universidade de Utah (Salt Lake City  Utah, EUA), o pioneirismo nas pesquisas de CG. Suas pesquisas e teorias, na dcada de 60, apontavam para o fato de que computadores poderiam ser utilizados como simuladores. A partir desta motivao, nasceu a idia de utilizar grcos e desenhos para facilitar o trabalho que, at ento, era feito sem o auxlio do computador. Assim nasceu a Evans & Sutherland (E&S 

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,

criado por Douglas C. Engelbart em 1963. Muito do que

conhecemos hoje das teorias de CG (e.g., desenho vetorial, representao 3D em ambiente

CAPTULO 2.

ANIMAO

Figura 2.1: Ivan Sutherland(E) e Dave Evans (D), Dezembro de 1969

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

efeitos especiais gerados por computador: Tron (Figura 2.2), da Disney.

1 Graphical User Interface

(GUI)  Interface Grca com o Usurio

CAPTULO 2.

ANIMAO

Figura 2.2: Tron: lme pioneiro em efeitos gerados por computador

2.2 Modelagem de Superfcies

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

Nas prximas sees estas tcnicas sero apresentadas pois, na

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

baseada em [Fabbro and Martino, 1998] e [Azevedo and Conci, 2003].

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.

Assim, um segmento de reta girando Curvas, ngulos

360 , inclinado em relao ao seu eixo de rotao, produzir um cone.

e eixos de rotaes diferentes produzem diversas formas de superfcies. Existem tambm as superfcies geradas por

Deslocamento,

nas quais translaes e

deslocamentos genricos de curvas produzem diversas formas, sendo tambm conhecidas pela tcnica de

sweeping

(varredura).

Por sua vez, as superfcies geradas por

Interpolao Bilinear so baseadas na ex-

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

patch, sendo os principais

patches

bicbicos Bzier, Hermite, Catmull-Rom e B-Spline.

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.

Figura 2.3: Superfcie de Bzier

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

Figura 2.4: Superfcie de Hermite

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].

Figura 2.5: Superfcie Catmul-Rom

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

Figura 2.6: Curva B-Spline

2.2.4

Superfcies Qudricas

Utilizada amplamente em ferramentas de modelagem do tipo (CAD), pelo fato de se adaptarem representao denominada

Computer Aided Design

Constructive Solid Geom-

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:

Ax2 + By 2 + Cz 2 + Dxy + Eyz + F xz + Gx + Hy + Jz + K = 0


sendo

(2.1)

A, B, . . . K

constantes, sendo cada superfcie qudrica (e.g. cilindro, cone, elipse,

esfera, hiperbolide, parabolide) dependente dos valores dessas constantes.

2.3 Tcnicas de Suavizao


O propsito dos modelos que subdividem superfcies suavizar as pontas (ou vincos), podendo represent-las com intensidades variando de zero (signicando suavidade) innito (pontas) [DeRose et al., 1998]. Muito se pesquisa nessa rea, dando especial enfoque de aplicao para os estdios de animao, responsveis pela criao de lmes utilizando apenas computadores, nos quais mtodos de suavizao se aplicam modelagem de tecidos para simular roupas e a pele dos prprios personagens, dando particular ateno face e s mos. Para suavizar uma malha poligonal, pode-se optar pela estratgia de se criar regras de subdiviso cujos pesos sejam parametrizados pelo nvel de intensidade das pontas

CAPTULO 2.

ANIMAO

10

que se desejar alcanar.

Outra tcnica a de usar um conjunto de regras para um

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),

vemos a suavizao da mo juntamente com vincos bem denidos

nas pontas dos dedos e das unhas.

Figura 2.8: Potencial da tcnica de Suavizao [DeRose et al., 1998]

Captulo 3 Animao Facial


Um captulo sobre esse tema foi introduzido com o intuito de mostrar uma perspectiva histrica desse conceito, aliada ao surgimento de aplicaes que pudessem utilizar tal abordagem. Devemos deixar claro o fato de que o sistema proposto por esse trabalho no implementa tais sugestes de aplicabilidade, porm poder vir a servir como parte de um sistema maior, que o utilize como sub-sistema para prover tal funcionalidade.

3.1 Trabalhos Correlatos


Um dos primeiros trabalhos de representao facial por meio de computadores foi realizado no incio dos anos 70. A primeira animao tridimensional de uma face foi criada por Parke em 1972 [Parke, 1972] (Figura 3.1). Posteriormente, no incio dos anos 80 ocorreu o desenvolvimento do primeiro modelo facial controlado por msculos [Platt and Badler, 1981]. J o primeiro modelo com fala sincronizada foi apresentado em 1985 no curta metragem Tony de Peltrie [Breton et al., 2001] (Figura 3.2). Em [Khler et al., 2001], a animao feita por meio da construo de um modelo facial multi-camadas, onde a geometria do esqueleto e a disposio dos msculos faciais so criados de maneira semi-automtica, baseados na malha facial. A animao alcanada pela simulao de um sistema massa-mola que conecta as trs camadas. Uma outra abordagem [Lee et al., 1995] trata a animao facial particular a cada indivduo, a partir da criao da malha poligonal especca de cada pessoa, automatizando a desaadora tarefa de criar modelos faciais com caractersticas realistas. Atravs da

11

CAPTULO 3.

ANIMAO F ACIAL

12

Figura 3.1:

Primeira animao 3D de

Figura 3.2: Primeira animao de face com fala sincronizada

uma face [Parke, 1972]

aplicao de algoritmos que lidam com dados adquiridos por

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

Bzier triangle Induced Deformations

(BID's).

Video Rewrite

[Bregler et al., 1997] realiza uma modicao em

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

[Haber et al., 2001].

Reconstruo de faces especcas tambm tem aplicaes na me-

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.).

No entanto, sabemos que diversas vezes o que ocorre so representaes de

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

signicado segundo quadro informao

s f i px pt

pixel
ponto

Tabela 3.1: Unidades de Medida

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,

possvel extrair, por tcnicas de viso computa-

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),

a uma taxa de captao

de 15 quadros/segundo. Baseado nas unidades da Tabela 3.1, teremos: Via

webcam1 :

1f = 320px 240px 76800i/f 60s 15f /s = 900f 900f 76800i/f 69120000i


Via captao de pontos:

1f = 50pt 50i/f 60s 15f /s = 900f


1 Esse

exemplo sugere a captao no seu pior caso, desconsiderando estratgias de codicao de vdeo.

CAPTULO 3.

ANIMAO F ACIAL

15

900f 50i/f 45000i


Considerando que uma unidade de informao tanto um chega-se, por cada quadro enviado, a uma reduo de

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.

Figura 3.3: Exemplo de conferncia

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

que consiga comunicar-se com o usurio.

Na literatura, encontra-se o termo

Embodied

Conversational Agent

(ECA) para descrev-los.

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].

Sistemas de Dilogo (Chatterbots)


Tal classe de sistemas tenta imitar a conversa humana, em modo textual. Embora distante do foco de interesse deste trabalho, serve para ilustrar esse ramo da IHC. Ultimamente, vm ganhando um certo interesse por parte do setor comercial, na medida em que uma empresa pode utiliz-lo como estratgia de aproximao com os clientes, pois tal sistema est sempre disponvel, alm de poder manter conversas simultneas com diversos usurios.

Agentes Autnomos Animados


Podemos representar o signicado de agentes autnomos, dentro da IHC, como personagens que integram um mundo dinmico, podendo ou no interagirem com pessoas. Assim, simulam personalidade, emoo e comportamento social em resposta a estmulos exteriores. Tais personagens podem ser das mais diversas formas, desde que consigam representar um personagem e de alguma maneira, transmitir informaes. Um exemplo dessa abordagem foi apresentada pelo projeto OZ [Loyall, 1997], que traz uma implementao de um mundo simulado, e dentro dele diversos personagens (os agentes autnomos) mutuamente interativos, chamados de

woogles

(Figura 3.4).

Avatares Falantes (Talking Heads)


Essa abordagem implementa uma representao facial (2D ou 3D) aliada capacidade de falar, combinando sons e expresses com movimentos condizentes para represent-los.

CAPTULO 3.

ANIMAO F ACIAL

17

Figura 3.4:

Woogles

do projeto OZ [Loyall, 1997]

Um sistema recente, que est sendo amplamente utilizado por diversos aumento da interatividade, o

sites,

visando o

talking heads

da Companhia Oddcast (http://vhost.

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),

o modelo da Figura 3.5 simulado em um

ambiente virtual no qual um determinado usurio inserido de modo a interagir com o

2 Termo

referenciado na bibliograa por

Text-To-Speech

(TTS)

CAPTULO 3.

ANIMAO F ACIAL

18

Figura 3.5: MAX [Kopp et al., 2003]  um exemplo de Interface Multimodal

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.

3.3 Regras Bsicas da Animao Facial


Nesta seo, identicaremos uma srie de regras que devem ser percebidas para realizar uma animao facial. Algumas delas j foram identicadas h bastante tempo, porm

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

Facial Action Coding System Action Units

(FACS). Tal

notao dividida em diversas Unidades de Ao 

(AU's), as quais servem

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]:

1. o de mostrar claramente que as medidas so baseadas em aes musculares;

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

Levantar Sobrancelha Levantar Sobrancelha Abaixar Sobrancelha

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

Tabela 3.2: Principais Unidades de Ao [Noh and Neumann, 1998]

Emoo Bsica Alegria Surpresa Dvida Medo Raiva Tristeza

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

Tabela 3.3: Composio das emoes [Noh and Neumann, 1998]

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

[Noh and Neumann, 1998]:

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.

Figura 3.6: Pontos Caractersticos do MPEG-4

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

(FA). Tal padro dene 68 Parmetros de Animao (FAP's) e 84 Pontos Caractersticos 

Facial Animation Parameters

Feature

CAPTULO 3.

ANIMAO F ACIAL

22

Points (FP's).
tais como

Esses FP's so pontos chamados

landmarks, denidos sobre a face humana,


etc. Na Figura 3.6 temos a descrio

base do queixo, canto esquerdo da boca,

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 

Facial Animation Parameter Units

(FAPU's), denidas pelas distncias entre determiExistem seis FAPU's denidas na especicao

nados FP's do modelo a ser animado. do MPEG-4, a saber (Figura 3.7):

dimetro da iris (IRISD0), distncia dos olhos (ES0),

distncia entre olhos e nariz (ENS0), distncia entre nariz e boca (MNS0), largura da boca (MW0)
e

unidade de ngulo

[Beskow, 2003].

Figura 3.7: Unidades de Parmetros do MPEG-4

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

Olhos, Dentes e Lngua

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).

Figura 3.8: Modelos de olho, dentes e lngua [Haber et al., 2001]

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.

Figura 3.9: Estrutura muscular simulada [Khler et al., 2001]

Captulo 4 Tcnicas de Animao Facial


Destina-se um captulo s tcnicas existentes de animao facial com a nalidade de explanar a pesquisa realizada, apresentando decises de projeto e resultados de testes com diversas tcnicas pesquisadas que no entraram na implementao nal desse trabalho, para que se possa mostrar mais claramente os motivos que levaram o autor a optar por determinadas tcnicas em relao a outras. Na Seo 4.1 so expostos os dois principais modelos que utilizam a abordagem Paramtrica (Radial

Basis Functions

(RBF's) e o modelo de Waters). D-se particular

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.

TCNICAS DE ANIMAO FACIAL

26

modelagem de faces bastante conhecido o

FaceGen Modeller, da Singular Inversions Inc.

(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.

4.1 Modelos Paramtricos


A superfcie facial tipicamente descrita como uma malha de polgonos, geralmente em 3D. Durante a animao, essa superfcie deformada atravs do movimento dos vrtices dessa malha, mantendo sempre sua topologia (i.e. estrutura e conexo dos pontos) constante. O movimento dos vrtices ento governado por um conjunto de parmetros

de controle [Beskow, 2003]. Essas transformaes espaciais podem ser entendidas como funes aplicadas sobre cada vrtice

x,

classicadas com base no seu escopo (regio de

inuncia), podendo ser tanto global quanto local. Uma transformao dita global se

f (x) x.

dependente de todos os pontos de controle, com base em suas distncias ao ponto

Do contrrio, se

f (x)

no depende de todos esses pontos, mas apenas dos que esto a a transformao dita local [Wirth, 2000].

uma certa distncia de

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

Porm, duas delas sero apresentadas

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

27

com maior nvel de detalhamento.

4.1.1

Radial Basis Functions

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,

atravs da aplicao das frmulas a serem apresentadas nesta

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.

TCNICAS DE ANIMAO FACIAL

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)

T (x) = [f1 (x), f2 (x), . . . fd (x)] f1 (x)


representa a funo que mapeia a primeira dimenso,

(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

n pares de pontos de controle (origem e destino), cada uma

funes de mapeamento seguem a forma geral assim denida:

fk (x) = Pmk (x) +


i=1
nas quais

Aik g (ri ) m = 1,

(4.2)

Pmk (x)

(equao 4.3) um polinmio com grau

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)

pode causar um comportamento irregular

P1k (x) = a0k + a1k x + a2k y + a3k z


O ltimo componente

(4.3)

g (ri ) o somatrio de diversas funes bases, cada qual com seu peso ri
calculada atravs da distncia Euclidiana

de inuncia (Aik ) sobre o resultado, onde entre o ponto em questo

x,

e o ponto atual do somatrio

xi ,

da seguinte maneira:

ri = ||x xi ||
Portanto, a funo de base radial dialmente simtrica

(4.4)

fk (x)

uma combinao linear entre uma funo ra-

g (ri )

e um polinmio de baixo grau

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

baseada em [Wirth, 2000]

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

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

n + 4 coecientes em cada fk (x)


so restritos

x = (x, y, z )

[Wirth, 2000]. Os coecientes da funo

pelas seguintes condies de interpolao:

f1 (xj ) = uj ,

f2 (xj ) = vj ,

f3 (xj ) = wj

onde

j = 1, . . . n

(4.5)

juntamente com as denies de compatibilidade, que estabelecem:

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)

todos os coecientes so encontrados atravs da resoluo do

seguinte sistema linear:

W = L 1 Y
onde

(4.7)

L=

G PT
e

P 0


(4.8)

com

sendo uma matriz de tamanho

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

a matriz formada pelos destinos dos pontos de controle

w1 , . . . wn .

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

30

Os elementos componentes da matriz

esto nas matrizes

g (r11 ) g (r12 ) . . . g (r1n ) g (r21 ) g (r22 ) . . . g (r2n ) G= . . . .. . . . . . . . g (rn1 ) g (rn2 ) . . . g (rnn )


e

(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)

apresenta uma caracterstica peculiar, re-

O que interfere na resoluo do sistema por

matrizes, pela gerao de uma matriz singular. Quando isso ocorre, pode-se utilizar como soluo a adio de um pequeno parmetro

na matriz

G,

to logo esta for calculada:

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)

a0k , a1k , a2k

a3k (k = 1, 2, 3)

aqueles utilizados pelo

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 ),

tem o raio calculado

rij = ||xi xj || i.e. rij =

(xi xj )2 + (yi yj )2 + (zi zj )2

(4.13)

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

31

Intuitivamente,

g (rij )

mede o efeito do

j -simo

ponto de controle na transformao do que chamada de funo de base, o

i-simo

ponto. Ainda falta denirmos a funo

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),

aplicada a cada distncia calculada, pode ser de diversos tipos, conforme o

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

r cresce; outras, decrescem.

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:

Abreviada MQ, tem a forma geral

g (r) = (r2 + )
com

(4.14)

>0

> 0.

Essa funo incorpora um parmetro de localidade,

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

Assume a mesma forma da MQ, porm com a condio

< 0.

Seu comportamento torna-se similar ao da funo Gaussiana, com o

parmetro

se aproximando de zero para a resposta se tornar mais localizada, e

aumentando de valor para aumentar a regio de inuncia dos pontos de controle.

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

32

Figura 4.1: Algumas Funes de Base existentes

Gaussiana:

Essa funo dada por


2 /

g (r) = er
e medida em que o valor de

(4.15)

cresce, a contribuio de pontos mais distantes Se

aumenta, produzindo uma aproximao suavizada e mais global.

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.

TCNICAS DE ANIMAO FACIAL

33

Figura 4.2: Malha contrada e pontos de controle [Edge and Maddock, 2003]

pr-estabelecidos para, ao mov-los, aplicar os resultados sobre toda a vizinhana.

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.

Figura 4.3: Pontos de controle em uma malha facial

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.

TCNICAS DE ANIMAO FACIAL

34

Ciano (Lbio Inferior) Amarelo (Lbio Superior) Magenta (Canto da Boca) Vermelho (Sobrancelha)

Figura 4.4: Regies de atuao de alguns pontos de controle

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.

TCNICAS DE ANIMAO FACIAL

35

Figura 4.5: Face modicada pelas funes de base radial

Outras Aplicaes
Podemos citar tambm algumas outras reas nas quais o uso de RBF's tem resultados satisfatrios, como no processo de

morphing, utilizado em 2D e 3D, tanto para a animao

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.

TCNICAS DE ANIMAO FACIAL

36

Figura 4.6: Movimento de pontos de controle da Boca aplicados vizinhana

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

Tambm conhecido por (Muscle

Based Animation),

foi primeiramente implementado por

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.

TCNICAS DE ANIMAO FACIAL

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.

Figura 4.7: Modelo baseado em [Waters, 1987]

Podemos perceber, de acordo com a Figura 4.7, os seguintes pontos:

um ponto de controle

que pode ser entendido como a raiz do msculo  de um

ponto de vista biolgico, como se estivesse conectado ao osso;

um ponto de insero

(ponto de controle tambm) na pele;

O msculo ento pode ser considerado como um vetor contrao, os pontos de controle no se movem e o vetor

AI . Quando simulada a sua AI mantm seu comprimento.

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

, que estabelece um limite angular, de modo que um vrtice

V,

com ngulo

esteja na zona de inuncia do msculo;

duas distncias radiais, implementao,

E,

as quais determinam reas de inuncia.

Nessa

so propores do vetor

AI .

O equacionamento aplicado a cada vrtice

que estiver contido na zona de inuncia

estabelecida por um determinado msculo, gerando um vetor deslocamento

a ser

somado na posio do referido vrtice. A direo deste deslocamento deve ser oposta

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

38

Figura 4.8: Exemplo de malha contrada [Waters, 1987]

do vetor

AV ,

o que conseguimos perceber pela prpria descrio do mtodo; e o mdulo

delimitado pela constante

C,

pr-denida, da seguinte maneira:

V = C AV A R, = A
onde:

(4.16)

se

|AV | > |AS |

(4.17)

demais casos

A =

cos cos 1 cos |S V | |SE | 2

(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 ):

a rea mais externa ao efeito da contrao (setor limitado pelos raios

E)

atenuada com o intuito de suavizar o produto nal, o que torna a implementao

mais el.

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

39

A animao de sistemas musculares interessante por diversas razes.

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

(DOF). Esse DOF seria uma poro do

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

na malha quadrada e a utilizao

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.

TCNICAS DE ANIMAO FACIAL

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.

4.2 Modelos Baseados em Leis da Fsica


Tal tcnica, embora no utilizada na implementao do sistema proposto, merece tambm uma descrio mais detalhada, pelo fato de outras implementaes existentes utilizaremna em sua integridade ou, em alguns casos, de parte de sua teoria, caracterizando os modelos hbridos encontrados na literatura. Os modelos faciais baseados em leis da Fsica tipicamente utilizam um sistema massamola (mass-spring) ou rede de elementos nitos para simular as propriedades da pele. Uma implementao derivada dessa categoria (Figura 4.12) nos mostra um modelo contendo trs camadas (tecido cutneo, adiposo e msculos), todos conectados atravs de molas [Khler et al., 2001]. Uma abordagem semelhante a multi-camadas, simulando as trs camadas bsicas da face (i.e. ossos, msculos e pele) e a interface entre elas, como mostrado na Figura

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

41

Figura 4.10: Malhas quadradas contradas, com ngulos de abertura de

P I/2

P I/6

4.13.

Nessa estratgia h que se levar em conta a impossibilidade da sobreposio de

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.

TCNICAS DE ANIMAO FACIAL

42

Figura 4.11: Face modicada pela tcnica de Waters

Figura 4.12: Sistema massa-mola aplicado Animao Facial

Figura 4.13: Modelo multi-camadas para Animao Facial [Lee et al., 1995]

CAPTULO 4.

TCNICAS DE ANIMAO FACIAL

43

Figura 4.14: Interface do Modelo Facial Fsico

4.3 Outras Abordagens


Existem diversas abordagens j propostas na bibliograa para a animao facial. Nesse momento, algumas das mais utilizadas sero brevemente discutidas, para que se conhea sua existncia, possibilitando buscar maiores referncias no caso de querer implement-las. No entanto, essas tcnicas no foram as escolhidas para a implementao desse projeto, no merecendo tanto destaque, portanto, quanto as demais j citadas. Deve-se lembrar tambm que classicaes exatas de abordagens para a animao facial so complicadas, pela falta de limites claros entre os mtodos, alm do fato de que estratgias mais recentes geralmente integram diversos mtodos na tentativa de produzir melhores resultados.

4.3.1

Free Form Deformation


Free Form Deformation
(FFD) realiza uma deformao volumtrica de ob-

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.

TCNICAS DE ANIMAO FACIAL

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

sempre a topologia constante. A animao feita pela estratgia de

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].

Captulo 5 Sistema Computacional


Cabe a este captulo uma descrio detalhada sobre o sistema desenvolvido durante a execuo deste projeto. Ao longo das prximas sees, sero vistas algumas caractersticas bsicas que regeram as decises de projeto tomadas para sua implementao, tais como linguagens de programao e bibliotecas utilizadas, alm de um breve manual de utilizao do sistema, para que o leitor possa entender os diversos detalhes que regem o funcionamento do sistema como um todo.

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

de mdia, com opes de Iniciar, Pausar e Continuar a ani-

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

animar de maneira suavizada.

Figura 5.1: Diagrama de atividades realizadas pelo sistema

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.

5.2 Fonte dos Movimentos


Para os experimentos realizados e exibidos como exemplo, congurou-se um ambiente propcio para a captao dos movimentos de um personagem real atravs de lmagens

CAPTULO 5.

SISTEMA COMPUTACIONAL

47

Figura 5.2: Fluxograma do sistema

e a extrao de suas caractersticas a serem animadas (e.g. etc.).

olhos, movimentos labiais,

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

Audio/Video Interleaved (AVI).

A resoluo adotada foi a de 352

framerate (taxa de frames) varivel em funo das caractersticas da cmera,

CAPTULO 5.

SISTEMA COMPUTACIONAL

48

Figura 5.3: Ambiente das lmagens

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

# Total de quadros # # Primeiro Quadro # # # # Segundo Quadro # #

0.0 -1.0 3.0

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

quadros para o exemplo em questo. A movimentao de

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

Figura 5.4: Exemplo de extrao dos pontos de controle da boca

Figura 5.5: Resultado da animao dos pontos de controle da boca

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

programadores das mais diversas reas de pesquisa. Podemos citar alguns:

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.

Ampla documentao e fcil acesso


No prprio

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/).

Bibliotecas grcas para animao


D-se particular ateno API chamada JAVA3D, um conjunto de funes especcas para a animao em computao grca, tambm com ampla documentao, atravs de

1 Application Programming Interface

(API)  conjunto de rotinas e padres estabelecidos por um

software para utilizao de suas funcionalidades

CAPTULO 5.

SISTEMA COMPUTACIONAL

51

tutoriais, frums e referncias s API's.

Garbage Collector
Os programadores no necessitam preocupar-se com o gerenciamento de memria. JAVA, utiliza-se de um conceito de

garbage collection

(coleta de lixo), cuja funo a de varrer

a memria de tempos em tempos, liberando automaticamente os blocos que no esto sendo utilizados.

Gerao de aplicaes baseadas na web


JAVA possui um diferencial com relao a outras linguagens de programao no que diz respeito a sua amplitude de utilizao; com ela podem ser implementados sistemas para a Internet, executados sob a forma de

applets.

Livre para ser utilizada


JAVA est disponvel para

download

sem qualquer obrigao de cadastramento ou regis-

tros, sendo tambm disponibilizadas IDE's

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.

2 Integrated Development Environment

(IDE)  ambiente de programao do qual o programador se

utiliza para implementar um programa de computador

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.

Figura 5.6: Tela inicial do sistema

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

Figura 5.7: Funcionamento do sistema

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

modo de exibio (apenas malha de polgonos 

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.

Captulo 6 Consideraes Finais


A animao facial possui uma ampla gama de aplicaes abrangendo, por exemplo, cinema, jogos eletrnicos e educao. Alm disso, constitui-se em uma alternativa promissora para a compresso de dados em ambientes de vdeo conferncia [Martino, 2005]. Essa linha de pesquisa no trivial dentro da Computao Grca. Alm de englobar diversas reas do conhecimento humano (por exemplo, inteligncia articial, matemtica, psicologia e anatomia humana), o estudo dessa rea impulsiona o desenvolvimento cientco e tecnolgico, tanto nas reas computacionais quanto naquelas das quais o seu estudo depende [Krting et al., 2005b]. Um sistema de animao facial no espao 3D foi proposto. Diversas tcnicas para a realizao desse tipo de animao foram expostas, dando particular ateno s paramtricas, que atravs da escolha de pontos de controle e suas respectivas dinmicas (seus parmetros), realizam deformaes sobre uma malha poligonal que representa uma face a ser animada. Dentre as estratgias paramtricas estudadas, a saber, RBF's e Waters, a escolhida para a implementao do sistema foi a RBF's, pela suas caractersticas favorveis, especialmente a facilidade quando da manipulao de pontos de controle e aplicao nas vizinhanas pr-determinadas. O nome Funes de Base Radial deriva do fato de que uma classe particular de funes podem ser aplicadas a um somatrio de elementos multiplicados por pesos individuais, elementos esses gerados pela distncia eucludiana entre os pontos de controle e cada ponto inuenciado por esse mesmo ponto de controle. Tambm foi exposta a principal limitao das RBF's, o fato de que a cada alterao de um ponto de controle, os pesos (ou coecientes) devem ser recalculados o que, com o poder

54

CAPTULO 6.

CONSIDERAES FINAIS

55

de processamento atual, torna essa aplicao ainda incapaz de ser executada em tempo real.

6.1 Diculdades Encontradas


Deve-se sempre pensar nas diculdades como maneiras que nos so apresentadas e que, ao super-las, nos fazem crescer mais do que se as tais diculdades no tivessem surgido. com base nesse pensamento que se devem expor alguns problemas encontrados durante a implementao desse projeto. A maioria das ferramentas e tcnicas mais prticas, envolvidas na construo deste sistema, no foram vistas (e realmente nem deveriam por ser muito especcas) em disciplinas disponveis no curso de Engenharia de Computao, tornando a atividade da construo do projeto de graduao como um todo uma grande experincia de pesquisa. As desvantagens e problemas encontrados nas tcnicas escolhidas esto apresentados diretamente nas sees que as denem. Outro fator que dicultou, mas felizmente no impediu, a implementao foi o fato do contato em mbito acadmico com a disciplina de CG, o qual aconteceu pela primeira vez somente no segundo semestre do ano letivo corrente, poca em que toda a reviso bibliogrca e o primeiro contato com termos tcnicos j havia sido feitos. Por m, deve-se salientar que a ocorrncia dessas diculdades no impediu a construo e o trmino do sistema proposto para o projeto de graduao, mas apenas estimulou o aluno prtica da pesquisa cientca e serviu para o prprio amadurecimento pessoal adquirido ao longo dessa experincia acadmica, que resume de certa forma, tudo o que foi visto durante o curso de Engenharia de Computao da FURG.

6.2 Principais Contribuies


O sistema proposto por este projeto de graduao no tem a inteno de apresentar uma nova estratgia para a animao facial e tampouco mostrar um programa pronto para ser utilizado como base para aplicaes comerciais. Cabe salientar que sua proposta a de mostrar o funcionamento de uma tcnica de animao facial, implementada, comparando-

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 Propostas Futuras


Como j mencionado, a proposta que originou a implementao deste trabalho era mais audaciosa, a de animar uma face aliando esses movimentos fala humana, com base em movimentos reais detectados previamente. No entanto, sistemas com esse nmero de funcionalidades apresentam uma grande carga de implementaes e pesquisas, que fugiriam ao escopo de um trabalho de graduao, tanto que so apenas teses de doutorado encontradas na bibliograa que mostram a implementao de um sistema completo [Beskow, 2003], [Martino, 2005].

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

Free Text-to-Speech System

(FTTSS), disponibilizado para livre utilizao, cpia e alterao no endereo

http:

CAPTULO 6.

CONSIDERAES FINAIS

57

//fttss.sourceforge.net/, espera-se futuramente construir uma base de conhecimento


para aliar a voz aos movimentos faciais, construindo o que j foi denido por visema. Muitas implementaes de animao facial ainda se utilizam de fala no sintetizada, mas gravada previamente, e aplicada animao para produzir o resultado nal (voz

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.

Elsevier, Rio de Janeiro, RJ, Brasil.

[Baranauskas, 2005] Baranauskas, C. (2005).

IHC Brasil.

Disponvel em

http://www.

serg.inf.puc-rio.br/ihc/.

Acessado em 13/12/2005.

[Beskow, 2003] Beskow, J. (2003).

Talking Heads.

PhD thesis, Stockholm.

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

Revista Eletrnica de Iniciao Cientca (REIC).


[Bregler et al., 1997] Bregler, C., Covell, M., and Slaney, M. (1997). driving visual speech with audio. In Video Rewrite:

SIGGRAPH '97: Proceedings of the 24th annual

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

Web3D '01: Proceedings of the sixth


pages 1522, New York, NY, USA.

international conference on 3D Web technology,


ACM Press.

[Cochran, 2003] Cochran,

W. O. (2003).

Hermite Surfaces.

Disponvel em

http:

//ezekiel.vancouver.wsu.edu/~cs442/.
[Costa, 2001] Costa, A. C. (2001).

Acessado em 13/12/2005.

Histria da Computao Grca.

Disponvel em

http:

//www.dei.isep.ipp.pt/cg/.

Acessado em 09/12/2005.

58

BIBLIOGRAFIA

59

[da Silva and Costa, 2005] da Silva, F. C. and Costa, R. M. (2005).

Um Sistema Com-

putacional para Extrao de Caractersticas Faciais.


putao (FURG). Rio Grande, RS, Brasil.

Projeto de Engenharia de Com-

[DeRose et al., 1998] DeRose, T., Kass, M., and Truong, T. (1998). Subdivision surfaces in character animation. In

SIGGRAPH '98: Proceedings of the 25th annual conference


pages 8594, New York, NY, USA.

on Computer graphics and interactive techniques,


ACM Press.

[Dunlop, 2002] Dunlop, R. (2002).

Introduction to Catmull-Rom Splines.

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

Research Memorandum CS - 04 - 02, University of Sheeld.

[Edge and Maddock, 2003] Edge, J. D. and Maddock, S. (2003). Heads using Radial Basis Functions. In

Image-based Talking

Proceedings of IEEE Theory and Practice of

Computer Graphics,

pages 7480.

[Ekman et al., 2005] Ekman, P., Friesen, W. V., and Hager, J. C. (2005).

Face and

Gesture FAQ for Computer Scientists.

Disponvel em

http://face-and-emotion.

com/,

acessado em 28/06/2005.

[Fabbro and Martino, 1998] Fabbro, P. A. D. and Martino, J. M. D. (1998).

Imagens

Demonstrativas de Tcnicas de Sntese de 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.

Israel-Korea Binational Conference on Geometrical Modeling and Computer Graphics,


pages 7382.

[Khler et al., 2001] Khler, K., Haber, J., and Seidel, H.-P. (2001). muscle modeling for facial animation. In

Geometry-based

GRIN'01: No description on Graphics inter-

face 2001,

pages 3746, Toronto, Canada. Canadian Information Processing Society.

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

WSL'05: Workshop sobre Software Livre.

[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

SIBGRAPI '05: Workshop de Iniciao Cientca.

[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

SBC Symposium on Virtual Reality,

pages 243254, So Paulo, SP, Brasil.

[Loyall, 1997] Loyall, A. B. (1997).

Believable Agents: Building Interactive Personalities.

PhD thesis, School of Computer Science, Computer Science Department, Carnegie Mellon University, Pittsburg, USA.

[Martino, 2005] Martino, J. M. D. (2005).

Animao Facial Sincronizada com a Fala:


PhD thesis,

Visemas Dependentes do Contexto Fontico para o Portugus do Brasil.


Universidade Estadual de Campinas, Campinas, SP, Brasil.

[Noh and Neumann, 1998] Noh, J. and Neumann, U. (1998). A survey of Facial Modeling and Animation Techniques.

[Parke, 1972] Parke, F. I. (1972). Computer generated animation of faces. In

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.

Computer facial animation.

BIBLIOGRAFIA

61

[Platt and Badler, 1981] Platt, S. M. and Badler, N. I. (1981). Animating facial expressions. In

SIGGRAPH '81: Proceedings of the 8th annual conference on Computer


pages 245252, New York, NY, USA. ACM Press.

graphics and interactive techniques,

[Qin and Terzopoulos, 1996] Qin, H. and Terzopoulos, D. (1996). D-NURBS: A PhysicsBased Framework for Geometric Design. In

IEEE Transactions on visualization and

Computer Graphics,

volume 2, pages 8596.

[(SDN), 2005] (SDN), S. D. N. (2005).

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

Computer Graphics (SIGGRAPH 86),

[Straccia, 2002] Straccia, A. (2002). Disponvel em

Introduo Histria da Computao Grca.


Acessado em 10/12/2005.

http://www.xuti.net/.

[Tao and Tan, 2004] Tao, J. and Tan, T. (2004). Emotional Chinese talking head system. In

ICMI '04: Proceedings of the 6th international conference on Multimodal interfaces,

pages 273280, New York, NY, USA. ACM Press.

[Waters, 1987] Waters, K. (1987). A muscle model for animation three-dimensional facial expression. In

SIGGRAPH '87: Proceedings of the 14th annual conference on Computer


pages 1724, New York, NY, USA. ACM Press.

graphics and interactive techniques,

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

Advanced animation and rendering

techniques : theory and practic.

Addison-Wesley.

[Wirth, 2000] Wirth, M. A. (2000).

A Nonrigid approach to Medial Image Registration:


PhD thesis, RMIT University, Melbourne, Victory.

Matching Images of the Breast.


Australia.

[yong Noh et al., 2000] yong Noh, J., Fidaleo, D., and Neumann, U. (2000). Animated deformations with radial basis functions. In

VRST '00: Proceedings of the ACM sym-

posium on Virtual reality software and technology, pages 166174, New York, NY. USA.
ACM Press.

Vous aimerez peut-être aussi