• Nenhum resultado encontrado

Geração de animações faciais personalizadas em avatares

N/A
N/A
Protected

Academic year: 2017

Share "Geração de animações faciais personalizadas em avatares"

Copied!
104
0
0

Texto

(1)

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL

FACULDADE DE INFORMÁTICA

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

GERAÇÃO DE ANIMAÇÕES

FACIAIS PERSONALIZADAS

EM AVATARES

ROSSANA BAPTISTA QUEIROZ

Dissertação de Mestrado apresentada como re-quisito para obtenção do título de Mestre em Ci-ência da Computação pelo Programa de Pós-graduação da Faculdade de Informática. Área de concentração: Ciência da Computação.

Orientadora: Profa. Dra. Soraia Raupp Musse

(2)
(3)

Dados Internacionais de Catalogação na Publicação (CIP)

Q3g Queiroz, Rossana Baptista

Geração de animações faciais personalizadas em avatares / Rossana Baptista Queiroz. – Porto Alegre, 2010.

104 f.

Diss. (Mestrado) – Fac. de Informática, PUCRS. Orientador: Profª. Drª. Soraia Raupp Musse.

1. Informática. 2. Computação Gráfica. 3. Animação por Computador. 4. Avatares. I. Musse, Soraia Raupp. II. Título.

CDD 006.6

Ficha Catalográfica elaborada pelo

(4)

TERMO DE APRESENTAÇÃO DE TESE DE DOUTORADO OU DISSERTACAO DE MESTRADO

(5)
(6)
(7)

“Always in motion is the future.”

(8)
(9)

Agradecimentos

Agradeço, em primeiro lugar, ao grande Artista criador de todos nós, que nos modelou, animou e nos renderizou neste mundo com tanta perfeição.

Agradeço à minha família e meus amigos, pelo apoio e compreensão.

À minha orientadora e ao meu co-orientador (ainda que não oficial), não tenho palavras para agradecer tudo o que aprendi. Também agradeço aos professores das disciplinas, foi muito bom ver e rever os conteúdos.

Aos meus colegas e companheiros de aula e/ou projeto nestes dois anos, um agradeci-mento especial. E aos meus “irmãos Soraísticos”, reforço esse agradeciagradeci-mento. Junto com a nossa chefa, de fato formamos uma “Equipe dos Sonhos”, modéstia a parte. Foi muito bom conhecer, trabalhar e me relacionar com vocês!

Este trabalho foi desenvolvido em colaboração com a HP Brazil R&D, junto com uma equipe de pesquisadores da HP Labs de Palo Alto. Foi muito construtiva essa parceria, e muito legal ter reuniões na Halo. Obrigada!

(10)
(11)

GERAÇÃO DE ANIMAÇÕES FACIAIS PERSONALIZADAS EM

AVATARES

Resumo

Neste trabalho, é apresentado um modelo para a geração de animações faciais personalizadas em avatares. O modelo inclui duas abordagens de controle paramétrico da face do avatar: baseado

emscriptsde ações faciais em alto-nível ou usando a técnica de Animação Dirigida por Performance

(PDA). A abordagem de controle porscript permite a geração de animações com expressões faciais, fala sincronizada e comportamento dos olhos interativamente pela descrição em alto-nível dessas ações faciais. A abordagem de controle por Animação Dirigida por Performance permite refletir as expressões faciais do usuário em seu avatar, considerando como entrada um pequeno conjunto de pontos característicos providos por algoritmos de Visão Computacional. O modelo é baseado no pa-drão MPEG-4 de Animação Facial, estruturado usando uma hierarquia dos parâmetros de animação, proposta para a abordagem de PDA. Essa estratégia permite a geração de animações nas regiões da face onde não houver dados supridos por Visão Computacional. Para deformar a face, usa-se Funções de Base Radial e Funções de Cosseno. Essa abordagem é computacionalmente barata e permite a animação dos avatares em tempo-real. Foi desenvolvido um framework de animação facial extensível capaz de animar facilmente faces parametrizadas de acordo com o padrão MPEG-4 em aplicações interativas. Também foram desenvolvidas algumas aplicações interativas como “es-tudo de caso” das potencialidades do modelo e realizada uma avaliação preliminar com usuários, de maneira a avaliar qualitativamente as abordagens de controle. Os resultados mostram que o modelo proposto pode gerar animações variadas e com resultados visuais satisfatórios.

Palavras-chave: Animação Facial, Controle de Avatares, Conrole porScript, Animação Dirigida por

(12)
(13)

GENERATING PERSONALIZED FACIAL ANIMATIONS FOR AVATARS

Abstract

In this work, we present a model to generate personalized facial animations for avatars. The model includes two approaches of parametric control of the avatar’s face: based on high-level face actions scripts or using Performance-driven Animation (PDA) technique. The script approach allows the generation of animations with facial expressions, lip synchronization and eye behaviors interac-tively by high-level description of these face actions. The Performance-driven approach allows to reflect the user face expressions in his/her avatar, considering as input a small set of feature points provided by Computer Vision tracking algorithms. The model is based on MPEG-4 Facial Animation standard of parameterization, structured using a hierarchy of the animation parameters for the PDA approach. It allows us to provide animation to face regions where lack Computer Vision data. To deform the face, we use Radial Basis Functions and Cosine Functions. This scheme is computati-onally cheap and allow to animate the avatars in real-time. We have developed an extensible facial animation framework capable of easily animating MPEG-4 parameterized faces for interactive appli-cations. We also developed some “case studies” interactive applications and performed a preliminary evaluation with subjects in order to evaluate qualitatively our control approaches. Results show that the proposed model can generate variated and visually satisfactory animations.

(14)
(15)

Lista de Figuras

2.1 Imagens dos experimentos de Parke e sua topologia “ótima” de face (55) . . 25

2.2 Técnicas de animação facial paramétricas (taxonomia de Pandzic (51)). . . . 26

2.3 MPEG-4 Feature Points (FPs) . . . 28

2.4 FAPU . . . 29

2.5 Exemplo de deformação na pálpebra da face 3D, mostrando o ponto de con-trole (FP, em rosa) e a sua zona de influência (pontos azuis), que sofre a deformação. . . 30

2.6 Painel ilustrando algumas das abordagens de geração de deformação de tra-balhos de pesquisa. . . 31

2.7 Exemplo de Animação Dirigida por Performance . . . 33

3.1 Exemplo de resultados obtidos pelo trabalho de animação dirigida por perfor-mance de Buenaposada (10) . . . 38

3.2 Da esquerda para a direita: inicialização do algoritmo de rastreamento, as unidades de ação mapeadas para MPEG-4 FPs, um exemplo rastreamento e sua animação correspondente (77). . . 39

3.3 Uma visão geral das etapas do modelo de Quax (31), mostrando, abaixo, exemplos de resultados visuais obtidos. . . 39

3.4 Exemplo de resultado da tese de Sanchez (74) . . . 40

3.5 Exemplo de resultado do trabalho de Dutreve (26) . . . 40

4.1 Arquitetura geral do modelo, mostrando suas principais etapas e modelos de geração das animações. . . 46

4.2 Etapas do modelo deGeração/Visualização da Animação Facial . . . 47

4.3 Pontos de Controle no Modelo 3D . . . 47

4.4 Zonas de Influência . . . 48

4.5 Os 8 pontos característicos da parte interna dos lábios, seus parâmetros de animação na direção dos eixosxeye seus FAPUs correspondentes. Os pa-râmetros de animação em vermelho correspondem aos que foram incluídos aos parâmetros-padrãodo MPEG-4 (verdes e azuis). . . 48

4.6 Ilustração dos elementos de uma região para a aplicação de uma RCF. O ponto rosa representa o ponto de controle (FP) e o verde é um dos pontos mais distantes do FP (já que a zona é circular nesse exemplo). . . 50 4.7 Ilustração dos elementos de uma região para a aplicação de um RBF,

(16)

4.8 Etapas do modelo deGeração de Comportamento dos Olhos . . . 53

4.9 Arquitetura do modelo deGeração de Expressões Faciais . . . 54

4.10 Arquitetura do modelo deSincronização da Fala . . . 55

4.11 Exemplo de animações geradas através de algumas ações faciais da FDL. . 58

4.12 Diagrama do Modelo PDA . . . 59

4.13 Conjunto de pontos característicos utilizado. . . 60

4.14 Exemplo de FAPU do usuário . . . 61

4.15 Hierarquia de FAPs . . . 62

4.16 Exemplo do uso de informações “alto-nível” para melhorar a animação: à es-queda, a pose de usuário, que foi rotulada (manualmente) para o estado de boca “fazendo bico”. No centro, a animação gerada sem levar em conside-ração o estado de boca (relacionamento entre FAPs padrão). À direita, a animação gerada levando em consideração o estado de boca. . . 64

4.17 Exemplo de resultados da reflexão por PDA . . . 64

5.1 Esquema de um arquivo FAP. . . 67

5.2 Exemplos de animações geradas em tempo-real, capturadas diretamente da webcam, utilizando-se algoritmos de detecção que não exigem marcadores em um protótipo de ambiente colaborativo. . . 68

5.3 Snapshotsdo filmeTracking is Believing . . . 69

5.4 Snapshotsdas aplicações desenvolvidas com o framework . . . 70

5.5 Parâmetros do Espelho Virtual . . . 71

5.6 Resultados da Reflexão . . . 72

5.7 Atores e Avatares utilizados . . . 73

5.8 Exemplo da performance de dois atores . . . 74

5.9 Exemplos de questões da Parte 1 do questionário. . . 75

5.10 Exemplo de questão da Parte 2 do questionário. . . 76

5.11 Exemplos de questões da Parte 3 do questionário. . . 77

5.12 Médias dos acertos dos grupos de voluntários por partes do questionário. . . 79

5.13 Comparação das médias entre os grupos de usuários que são o os que não são da Computação, dos que trabalham ou não com CG ou PI e dos que conhecem ou não os atores, respectivamente. . . 80

(17)

Lista de Tabelas

2.1 Definição da FAPU (51) . . . 29

5.1 Médias e desvios-padrão dos acertos pelos voluntários por partes do questi-onário. . . 78

A.1 Definições dos FAPs. . . 95

A.2 Grupos dos FAPs. . . 99

A.3 Definições dos novos FAPs. . . 100

B.1 Relação Fonema-Visema pelo padrão MPEG-4 (51) . . . 101

(18)
(19)

Lista de Abreviaturas

CG Computação Gráfica RV Realidade Virtual

PDA Performance-driven Animation

CV Computer Vision

AU Action Unit

FP Feature Point

FAP Facial Animation Parameter

FAPU Facial Animation Parameter Units

FDP Face Definition Parameters

(20)
(21)

Sumário

1. Introdução

21

1.1 Objetivos . . . 23

1.1.1 Objetivos Específicos . . . 23

1.1.2 Estrutura da Dissertação . . . 23

2. Fundamentos

25

2.1 Faces 3D Animáveis . . . 25

2.2 Técnicas de Animação Facial . . . 26

2.3 Parametrização . . . 26

2.3.1 O Padrão MPEG-4 de Animação Facial . . . 28

2.4 Modelos para a Deformação da Face . . . 31

2.5 Modelos para Controle dos Parâmetros . . . 32

3. Trabalhos Relacionados

35

3.1 Frameworks de Animação Facial . . . 35

3.2 Animação Facial Dirigida por Performance em Tempo Real . . . 37

3.3 Contextualização do Trabalho no Estado-da-arte . . . 40

3.3.1 Modelo de Parametrização . . . 40

3.3.2 Modelo de Deformação de Faces . . . 41

3.3.3 Técnicas de Controle . . . 41

3.3.4 Framework . . . 41

3.3.5 Avaliação . . . 42

4. Modelo

45

4.1 Geração e Visualização da Animação Facial . . . 45

4.1.1 Parâmetros de Descrição . . . 46

4.1.2 Os Parâmetros de Animação . . . 47

4.1.3 Cálculo da FAPU . . . 49

4.1.4 Deslocamentos dos FPs e Deformação das Regiões . . . 49

4.2 Controle porScript . . . 52

4.2.1 Geração de Comportamento dos Olhos . . . 53

4.2.2 Geração das Expressões Faciais . . . 54

(22)

4.2.4 Sincronização dos Parâmetros de Animação . . . 55 4.2.5 Facial Description Language (FDL) . . . 56 4.3 Controle por Animação Dirigida por Performance . . . 59 4.3.1 Rastreamento dos Pontos . . . 59 4.3.2 Mapeamento pela FAPU . . . 60 4.3.3 Relacionamento entre FAPs . . . 62 4.4 Algumas Considerações . . . 65

5. Resultados

67

5.1 O Protótipo . . . 67 5.2 Controle por Script: Estudos de Caso . . . 68 5.3 Controle por PDA: Avaliação com Sujeitos . . . 71 5.3.1 Metodologia . . . 72 5.3.2 Análise dos Resultados . . . 75

6. Considerações Finais

83

REFERÊNCIAS BIBLIOGRÁFICAS

87

A. Conjunto de Parâmetros de Animação

95

(23)

23

1. Introdução

Hoje em dia, cresce o número de aplicações de Computação Gráfica (CG) e Realidade Virtual (RV) que utilizam humanos virtuais, cuja exigência é de modelos cada vez mais sofisticados e realistas. Entre elas, pode-se citar aplicações de mundos virtuais (como o Second Life1e oPlaystation Home2) e jogos de simulação do cotidiano (como oThe Sims3),

que são povoados por personagens virtuais, autônomos (agentes) ou guiados (avatares). Para o sucesso dessas aplicações, esses personagens virtuais requerem uma identidade visual, o que envolve o desenvolvimento de modelos geométricos e animações diferencia-das, que lhes conferem características próprias.

Em um mundo virtual 3D, o usuário interage através de um avatar, que é um persona-gem virtual que o representa. Através de seus avatares, os usuários podem agir dentro do mundo virtual, interagindo com outras pessoas (avatares e/ou agentes) e compartilhando o mesmo espaço e objetos do mundo, mesmo que todos os usuários estejam em locais físicos muito distantes. Essa proposta de interação pode servir para vários tipos de aplica-ção, como jogos, treinamentos, educação à distância e até reuniões de negócio em uma teleconferência.

No entanto, para que uma aplicação que usa avatares seja atraente, é necessário prover a eles, além da customização da sua aparência (o que é possível ver nas aplicações de hoje em dia), a personalização de sua movimentação, de maneira que o usuário se identifique com o seu personagem e possa expressar-se da forma mais natural possível, incluindo a sua maneira de executar gestos e expressões faciais. Nesse sentido, vê-se que os ava-tares ainda são representações limitadas de pessoas, refletindo de forma muito abstrata e generalizada as ações dos usuários.

Filmes recentes como o AVATAR4 apresentam excelentes resultados visuais em termos

de reflexão da ação de pessoas reais, usando modelos com grande número de polígonos e sofisticadas técnicas de motion capture. Entretanto, esses resultados não são obtidos em tempo real, sendo inviável sua geração em aplicações interativas.

Nesse contexto, o estudo de métodos para a geração de animações variadas e perso-nalizadas em avatares pode ser considerado um relevante tópico de pesquisa. Focando-se na animação facial, encontra-se uma variedade de trabalhos que buscam por modelos re-alistas e exploram a expressividade e comunicação de forma interativa. Muitas dessas pesquisas são focadas em maneiras para prover uma boa parametrização e descrição das

1http://secondlife.com/

2http://www.us.playstation.com/PS3 3www.thesims.ea.com

(24)

24 CAPÍTULO 1. INTRODUÇÃO

ações faciais (60; 14; 70; 1; 12; 13; 49; 4; 79), desde o trabalho pioneiro de Parke (55).

Além disso, existe uma variedade de trabalhos que busca a correspondência dos movi-mentos e o estado interno das pessoas (como o estado emocional, o humor e a persona-lidade). Um exemplo é o trabalho dos pesquisadores canadenses Arya, DiPaola e Zamitto (6; 90), que procura responder a seguinte pergunta: “Que pistas visuais os humanos po-dem usar para passar suas características de personalidade aos personagens animados?”. Em (6) são apresentadas algumas dessas “pistas”, relativas à movimentação da cabeça em conjunto com expressões faciais. Em (90), é fornecida uma visão mais abrangente da me-todologia por eles usada para a associação entre ações faciais e traços de personalidade, no contexto de aplicações de jogos. Ainda nesse contexto comportamental, pode-se citar outros trabalhos que geram animações (faciais e/ou corporais) a partir de modelos de emo-ções e personalidade baseados em estudos de Psicologia, como (42; 34; 76; 62; 68; 3; 33). No entanto, as animações propriamente ditas são em sua maioria pré-definidas ou geradas a partir detemplates, feitos manualmente por artistas, o que é um trabalho dispendioso.

De acordo com Tanget al. (77), existem três diferentes maneiras de se guiar um avatar: dirigida por texto, dirigida por fala e dirigida por performance. Respectivamente, essas abor-dagens estão relacionadas com técnicas de TTS (text-to-speech), que convertem texto em falas animadas através da geração de suas unidades de representação do som (fonemas) e suas de representação visual (visemas); que processam o som da fala e transformam em animação; e que processam vídeos de pessoas reais e geram a animação conforme o movimento delas.

(25)

1.1. OBJETIVOS 25

1.1 Objetivos

Neste contexto, o objetivo deste trabalho é prover um modelo para a geração automática de animações faciais personalizadas para avatares, em tempo real. O modelo permite duas opções de controle para a geração das animações: por scripts de ações faciais descritas em alto-nível ou por Animação Dirigida por Performance, utilizando umaweb cam comum e algoritmos de Visão Computacional, buscando refletir no avatar a expressão do usuário.

1.1.1 Objetivos Específicos

Mais especificamente, são objetivos desse trabalho:

• Fazer um levantamento do Estado-da-arte sobre modelos de animação facial,

parame-trização e controle das animações, sendo este último com maior enfoque em modelos de PDA;

• Fazer um levantamento dosframeworks e/ouenginesdisponíveis (de preferência, de

código aberto) para o desenvolvimento de aplicações com animação facial, e verificar a viabilidade de usar algum para o desenvolvimento do protótipo. Se não houver, implementar uma solução conforme o Estado-da-arte.

• Escolher ou definir um conjunto de parâmetros faciais adequado para o modelo de

animação;

• Definir uma abordagem de controle em alto-nível de ações faciais básicas, como

ex-pressões faciais e visemas viascriptsde animação;

• Para o controle por PDA, definir uma estratégia de mapeamento dos dados de Visão

Computacional e integrar com o modelo de animação;

• Implementar um protótipo para validação do modelo;

• Realizar testes com usuários e avaliar qualitativamente os resultados obtidos.

1.1.2 Estrutura da Dissertação

(26)

26 CAPÍTULO 1. INTRODUÇÃO

(27)

27

2. Fundamentos

A geração de animações (faciais e corporais) personalizadas é um tema de pesquisa que está no topo do estado da arte de animação de humanos. De maneira geral, em softwares de animação, os animadores precisam projetar manualmente o movimento de seus personagens em cada quadro-chave (keyframe). A animação automática de huma-nos virtuais é, portanto, facilmente justificável. Técnicas como a cinemática inversa (que faz o cálculo da posição das juntas de um objeto articulado) e modelos de animação ba-seados em física (dinâmica) podem produzir resultados realistas e simplificar o trabalho do animador. No caso das faces, em que a maioria dos movimentos não depende de articula-ções, é necessário fazer a manipulação da malha tridimensional através de técnicas como a aplicação de funções que deformam um ponto específico e sua vizinhança, ou ainda a modelagem de pseudo-músculos, que conduzem a deformação de regiões da face. Mais recentemente, surgiram técnicas que fazem a captura dos movimentos de pessoas reais e tentam reproduzí-los e/ou adaptá-los nos humanos virtuais.

Esta seção apresenta uma visão geral sobre técnicas de animação facial, de maneira a contextualizar as decisões tomadas para o modelo e os termos utilizados.

2.1 Faces 3D Animáveis

O trabalho considerado pioneiro em modelagem e animação de faces no computador é o de Frederick Parke (55). Parke fez um estudo de faces e expressões faciais em voluntá-rios, que tiveram seu rosto pintado com uma malha poligonal, a fim de determinar um layout “ótimo” dos vértices, como mostrado na Figura 2.1. Satisfeito com a topologia encontrada no experimento, ele utilizou um método fotogramétrico para recriar a malha pintada no rosto em uma malha 3D. Com este estudo, Parke descobriu que a configuração ótima dos vér-tices e arestas é a que segue as linhas dos músculos faciais. Esta pode ser considerada uma heurística básica que continua sendo utilizada até hoje pelos artistas e softwares de modelagem 3D para produzir faces animáveis realistas.

(28)

28 CAPÍTULO 2. FUNDAMENTOS

2.2 Técnicas de Animação Facial

Animação Facial

“Baixo nível” (implementação dos movimentos faciais)

“Alto nível” (fontes de controle

dos parâmetros)

Parametrização Direta (baseada em

observação)

Modelos de Pseudo-músculos (simulam o efeito visual

dos músculos)

Modelos de Músculos (simulação física dos ossos,

músculos e pele, ou alguns

deles) Script (texto) Manual (editores visuais)

Dirigida pela fala (sincronização labial com audio existente)

Animação dirigida por performance (captura de performance

de pessoas reais)

Híbridos... (texto e fala, imagem e fala,

etc)

Controle da Parametrização

(FACS, Parke, MPEG-4,...)

Interpolação (do movimento de vértices com mesma

topologia)

Múltiplas câmeras (usualmente infra-vermelho,

off-line, com marcadores)

Uma câmera

“Pupeteering” (com dispositivos de

Realidade Virtual)

Com marcadores Sem marcadores Interpolação de expressões-chave Interpolação bilinear (N-linear) Interpolação regional (interpretação dos parâmetros diferenciadas por região) Interpolação mista (combinação de múltiplos retultados de interpolação

local)

Figura 2.2: Técnicas de animação facial paramétricas (taxonomia de Pandzic (51)).

O estudo de técnicas de parametrização facial, que produzam resultados realistas em aplicações de animação computacional, é uma área ativa de pesquisa desde o trabalho pioneiro de Parke (56). A Figura 2.2 mostra a taxonomia apresentada por Pandzic et al. (51), que divide as técnicas de parametrização de animação facial em dois ramos:

Baixo-nível, que incluem os modelos computacionais que fazem a mudança da

geo-metria e/ou aparência da face no tempo, baseada no conjunto de parâmetros; e

Alto-nível, que incluem os modelos e métodos que fazem a codificação das ações

faciais desejadas para o conjunto de parâmetros, tentando capturar a essência dos movimentos em termos de intensidades, direções e velocidade.

As próximas seções apresentam alguns modelos de parametrização, com destaque ao padrão MPEG-4, que foi o escolhido para o desenvolvimento deste trabalho. Logo após, é apresentada uma visão geral de modelos para deformação das faces 3D (modelos “baixo-nível”) e das técnicas “alto-nível”, com enfoque na investigada neste trabalho, que é a Ani-mação Dirigida por Performance. Como fontes mais completas sobre técnicas de aniAni-mação facial, recomenda-se a leitura desurveyscomo (36; 23; 30).

2.3 Parametrização

(29)

2.3. PARAMETRIZAÇÃO 29

deve especificar qualquer expressão facial possível através da combinação de valores in-dependentes (89). Na literatura, encontram-se algumas abordagens de parametrização da face, para a descrição dos movimentos faciais, descritas a seguir (51).

O sistema FACS (Facial Action Coding System), proposto por Ekman (29), codifica as expressões faciais humanas através da determinação dos conjuntos de músculos responsá-veis pelas mudanças faciais. Nesse sistema, são definidas Unidades de Ação (Action Units, AUs) , representadas pela contração e relaxamento dos músculos faciais (ou conjunto de músculos). É um sistema inicialmente desenvolvido para estudos psicológicos, para avaliar as expressões faciais humanas. Porém, pela sua abordagem sistemática, fundamentada nas atividades musculares e descrição detalhada dos efeitos visuais de cada AU, o FACS torna-se atrativo para os pesquisadores de animação facial, sendo usado como base da parametrização em vários trabalhos (61; 77).

Outro tipo de parametrização que tem uma grande influência nos trabalhos de anima-ção facial é o desenvolvido por Parke (56). Parke desenvolveu seus parâmetros faciais baseados na observação e análise da face em movimento, e dividiu os parâmetros em pa-râmetros de expressão (para animação) e de conformação (para modelagem). Apesar do seu modesto conjunto de parâmetros, seu modelo consegue gerar uma variedade de faces e expressões. O modelo de Parke é usado por pesquisadores em trabalhos como (17; 24). Magnet-Thalmannet al.(78) propõe uma parametrização baseada em pseudo-músculos, chamada Abstract Muscle Actions (AMA), inspirada no sistema FACS. Os AMAs simulam a ação de um ou mais músculos, não independentes, cuja ordem de execução é impor-tante. O esquema compreende dois controles de alto-nível (para visemas e expressões), compostos por AMAs de baixo-nível.

Kalra et al. (38) introduz uma abordagem para animação facial baseada em camadas de abstração. Os elementos principais de sua parametrização são os chamados Minimal Perceptive Actions (MPAs), que descrevem os efeitos visuais de uma ou mais ações mus-culares, que podem ser combinados em diferentes níveis de abstração. Essas “ações míni-mas” incluem ações como, por exemplo, “levantar da sobrancelha direita” e “boca fazendo bico”, que recebem valores normalizados de0 a1 para MPAs unidirecionais e−1a 1para bidirecionais. Esses valores máximos e mínimos são dependentes da implementação e do modelo 3D em particular, portanto não é um esquema portável de uma face para outra.

Em 1999, foi lançado o padrão MPEG-41 de Animação Facial, que é um esforço de

centenas de pesquisadores e engenheiros de padronizar os pârametros de animação fa-cial para a comunicação e integração de conteúdos de multimídia. No processo de criação do padrão, o grupo inicialmente adotou a proposta dos MPAs de Kalra. No decorrer do processo, foram definidos o conjunto de parâmetros de animação e o esquema de normali-zação que os torna “portáveis” conforme mostra a próxima seção. O MPEG-4 ainda provê

(30)

30 CAPÍTULO 2. FUNDAMENTOS

Figura 2.3: MPEG-4 Feature Points (FPs)

esquemas de codificação e compressão para o envio dos dados pela rede, que não serão abordados nesse trabalho.

2.3.1 O Padrão MPEG-4 de Animação Facial

O padrão MPEG-4 de Animação Facial especifica um conjunto de 84 pontos caracte-rísticos (Feature Points – FPs) localizados na malha da face. A Figura 2.3 mostra esses pontos característicos. Um subconjunto desses pontos atua como pontos de controle para os 68 parâmetros de animação (Facial Animation Parameters, FAPs) , também definidos pelo padrão.

Os dois primeiros FAPs descrevem ações em alto-nível (6 expressões faciais e 14 vise-mas) e os restantes lidam com regiões específicas da face, descrevendo ações mais baixo-nível como “levantar o canto direito dos lábios” e “fechar a pálpebra superior esquerda”. Os FAPs são codificados como valores numéricos, que são normalizados por um conjunto de unidades baseadas nas distâncias entre alguns pontos característicos principais da face, chamadas FAPU (Facial Animation Parameter Units). A Figura 2.4 e a Tabela 2.1 apre-sentam essas distâncias e unidades. Com essa normalização, é possível animar faces com diferentes tamanhos, proporções e número de polígonos. Uma descrição mais completa dos FAPs e suas respectivas FAPUs pode ser vista no Anexo A desta dissertação.

Para a determinação da FAPU, o modelo da face deve estar em estado “neutro”, ou seja:

• olhar na direção do eixoz;

• todos os músculos da face devem estar relaxados;

• as pálpebras devem estar tangentes à iris;

• a pupila deve medir um terço do diâmetro da iris;

(31)

2.3. PARAMETRIZAÇÃO 31

Figura 2.4: FAPU

Tabela 2.1: Definição da FAPU (51)

Diâmetro da íris (por definição, é

IRISD0 igual a distância entre as pálpebras IRISD = IRISD10240

superior e inferior)

ES0 Separação entre os olhos ES = 1024ES0

EN S0 Separação entre o nariz e os olhos ES = EN S10240

M N S0 Separação entre o nariz e a boca M N S= M N S10240

M W0 Largura da boca M W = M W10240

AU Unidade de ângulo 10−5

rad

• a boca deve estar fechada, de maneira que os dentes superiores e inferiores estejam

em contato;

• a língua deve estar plana na horizontal, e com a ponta tocando o limite entre os dentes

superiores e iinferiores.

Gerar uma animação baseada em FAPs consiste em prover, para cada frame de ani-mação, a variação dos valores dos FAPs. Para cada frame, tem-se então uma stream de valores dos FAPs, que é processada pela aplicação para gerar as animações na face, e pode ser enviada pela rede ou salva em arquivos para porterior animação.

(32)

32 CAPÍTULO 2. FUNDAMENTOS

controle FP, e os vértices de sua zona de infuência podem ser deformados pela aplicação de diferentes técnicas (técnicas “Baixo-nível” na Figura 2.2). A Figura 2.5 (à direita) mostra a atuação do FAP close_top_left_eyelid, utilizando-se uma função gaussiana sobre o FP e sua vizinhança.

Figura 2.5: Exemplo de deformação na pálpebra da face 3D, mostrando o ponto de controle (FP, em rosa) e a sua zona de influência (pontos azuis), que sofre a deformação.

A informação sobre a FAPU, FPs e suas zonas de influência de um modelo 3D são os chamados Parâmetros de Deformação Facial (Face Definition Parameters– FDP), , noemal-mente descritos em arquivos de configuração da face. O FDP pode incluir, opcionalnoemal-mente, informações sobre a deformação de cada FAP. O padrão MPEG-4 chama essa informação de FAT (Facial Animation Table) . Cada modelo pode ter sua própria FAT, que pode ser modelada por artistas, como a proposta de Garchery e Thalmann (32). Outra proposta é in-dicar no FDP do modelo a região de influência (índices dos vértices) dos FPs e a indicação de qual função de deformação deve ser aplicada para cada FAP que atua sobre aquele FP (7).

Segundo (51), para um modelo de animação facial ser conforme o padrão, ele deve ser capaz de interpretar todos os FAPs como na sua especificação. Portanto, o modelo de face deve ter um número de vértices pelo menos correspondente aos pontos característi-cos necessários para sua animação. O padrão especifica que o modelo de face deve ter no mínimo 50 vértices. No entanto, recomenda-se que, para alcançar resultados visuais satisfatórios, o modelo tenha pelo menos 500 vértices.

Assim, para construir uma face animada conforme o padrão, é necessário seguir 4 pas-sos (51):

1. Construir um modelo de face e definir a localização dos FPs, de acordo com a Fi-gura 2.3 e as localizações especificadas pelo padrão (51);

2. Para cada FAP, deve ser definido como os FPs devem se mover. Para a maioria dos FPs, o padrão define somente a movimentação em uma dimensão. É deixado a critério do desenvolvedor associar a esses movimentos outras dimensões.

(33)

2.4. MODELOS PARA A DEFORMAÇÃO DA FACE 33

4. Para expressões e visemas, o padrão define apenas dicas qualitativas sobre como eles deveriam ser projetados. Esses FAPs devem ser desenvolvidos com cuidado, porque eles serão geralmente usados para a geração de animações visualmente apa-rentes.

2.4 Modelos para a Deformação da Face

Nos modelos paramétricos de animação facial, os vértices da superfície (“pele”) do mo-delo 3D são governados por um conjunto de parâmetros de controle (como os FPs no MPEG-4). As técnicas “alto-nível” fornecem esses parâmetros, indicando, por exemplo, o

quanto(intensidade) eem que direção eles modificam a face em determinados instantes

de tempo. Tendo esses parâmetros, as técnicas “baixo-nível” especificam como a super-fície poligonal da face vai deformar: como esses parâmetros de controle vão mover os vértices da face. Esse controle pode ser feito através de diferentes métodos de interpola-ção, que atuam diretamente sobre a superfície da face (89; 74; 26), baseada em observa-ções (54), ou ainda em estruturas auxiliares que simulam a ação de músculos na superfície da pele (83; 11), podendo ser baseados em Física, simulando a elasticidade do tecido da pele(16; 88) e interações multi-camadas, simulando ossos, músculos e pele (45; 40; 91).

[Parke72]

[Yano09]

[Kähler01] [Pasquariello 01]

[Sanchez03]

[Zhang06]

[Balci04] [Bui03]

[Waters97]

[Sikafis05]

Figura 2.6: Painel ilustrando algumas das abordagens de geração de deformação de traba-lhos de pesquisa.

(34)

34 CAPÍTULO 2. FUNDAMENTOS

de expressão. Segundo Oat (50), as rugas de expressão ajudam a desambiguar certas expressões. Encontram-se dois tipos de abordagem para a geração das rugas: baseada em geometria, em que as deformações são feitas através da movimentação dos vértices da malha poligonal (58; 11); ebaseada em textura, em que as deformações são geradas atra-vés da perturbação das normais dos vértices (utilizando-se técnicas de bump-mapping e normal mapping(9)), sendo aplicadas somente na textura do modelo (58; 50; 74; 27). Essa abordagem possui como vantagem a geração de resultados visuais adequados mesmo quando o modelo possui poucos vértices.

2.5 Modelos para Controle dos Parâmetros

De acordo com a taxonomia de Pandzic (Figura 2.2), as técnicas “alto-nível” são os modelos que fazem a obtenção e controle dos parâmetros de animação. Essas abordagens vão desde a edição manual em uma ferramenta gráfica de edição, passando por modelos que recebemscripts de ações em alto-nível e as transformam em parâmetros de animação (discutidos no próximo capítulo); animações dirigidas por fala (17; 35; 19; 92; 68), onde há o processamento do som e extração dos parâmetros de animação; animações dirigidas por dispositivos de hardware que atuam como “fantoches” mecânicos, como o Waldo (81; 75); até animações dirigidas por performance, onde são capturados movimentos humanos e transformados em parâmetros de animação.

Na Animação Facial Dirigida por Performance, procura-se mapear os movimentos cap-turados de pontos característicos da face de pessoas reais para modelos 3D (85). É notável o quanto esse tipo de técnica tem sido visada na indústria de entretenimento, sendo ofere-cido atualmente por empresas, como a Image Metrics2, que grava a performance dos

ato-res, sem qualquer marcação no rosto, e produz animações faciais de alta qualidade visual (veja Figura 2.7, primeira figura à esquerda), sendo este serviço utilizado para produção de filmes e animações pré-definidas em jogos.

Filmes recentes, como o AVATAR, também fazem a captura do movimento da face dos atores para gerar as animações, normalmente em ambientes controlados, dispositivos de captura de alta tecnologia e marcações no rosto (como mostra a Figura 2.7, figura do meio3

e à direita4). No entanto, esses processos utilizados na indústria do cinema geralmente não

produzem as animações em tempo real (não há a exigência), e tão pouco com processos automatizados. No caso do filme AVATAR, a tecnologia por eles usada permite uma pré-visualização dos movimentos dos atores em tempo real, de maneira simplificada, mas os dados faciais são gravados para edição posterior por artistas.

Um típico sistema de captura de face é geralmente construido com múltiplas câmeras

2http://www.image-metrics.com

3Fontes: Wikipedia (http://en.wikipedia.org/wiki/Avatar_(2009_film)

(35)

2.5. MODELOS PARA CONTROLE DOS PARÂMETROS 35

Figura 2.7: Exemplo de um quadro da animação produzida pela empresa Image Metrics e imagens da produção do filme AVATAR.

calibradas e marcadores pelo rosto da pessoa, como em (22). É interessante ainda citar o uso de scanners 3D para a captura, como no recente trabalho de Waise et al. (84), que gera animações de qualidade em tempo real. Essas abordagens possuem a vantagem de capturar os dados faciais de forma precisa, porém não utilizam dispositivos de baixo custo que pudessem, atualmente, ser usados em aplicações com avatares.

(36)
(37)

37

3. Trabalhos Relacionados

Este capítulo apresenta o levantamento dos trabalhos relacionados com os objetivos do modelo proposto. Primeiro, são apresentados trabalhos de descrição de frameworks de animação facial, que procuram prover uma plataforma desejável para o desenvolvimento de pesquisas e aplicações. Logo após, são apresentados trabalhos que usam, como fonte de controle dos parâmetros de animação, modelos de Animação Facial Dirigida por Perfor-mance, fazendo a geração das animações em tempo real.

3.1 Frameworksde Animação Facial

Conjuntos de parâmetros como o FACS e o MPEG-4 provêem uma base um tanto abs-trata e “baixo-nível” para os animadores (52). Por isso, existem vários esforços para produzir uma abordagem paramétrica um pouco mais “alto-nível”, de maneira efetiva. Esse tipo de trabalho envolve diferentes níveis de abstração, e são propostas interfaces para o controle da geração das animações, que vão de linguagens de descrição a ferramentas visuais de edição.

Através de uma linguagem de descrição, o usuário pode definir um cenário completo de animação, não manipulando diretamente quadros-chave, mas por descrição textual, onde expressões e ações são os seus blocos de construção básicos (47). Na literatura, encontram-se várias linguagens de descrição, propostas por pesquisadores para descrever ações do corpo e face dos personagens. A maioria delas é baseada em XML (por exemplo, AML, APML, CML, VHML, SMIL e SMIL-Agent (42; 13; 2; 48; 70; 49)) e proveêm diferentes canais de controle e níveis de abstração, como fala, expressões faciais, ou especificação direta de alguns parâmetros de animação.

Outros trabalhos descrevem metodologias e modelos para o desenvolvimento de seus frameworks ou sistemas para a geração de animações faciais, procurando prover uma pla-taforma desejável para o desenvolvimento de pesquisas na área e aplicações.

Perlin (60), em seu sistemaResponsive Face1, apresenta uma abordagem multi-camadas

para a representação de expressões faciais. Primeiro, foram definidos parâmetros “baixo-nível” para a descrição de movimentos, contendo um número discreto de graus de liber-dade. A idéia é que, através da combinação desses parâmetros podem ser construídos movimentos mais “alto-nível”, que por sua vez também podem ser combinados, obtendo camadas mais altas de abstração. O modelo em si é bastante simples, porém expressivo, construído com base em observações. Além disso, por ser um sistema disponível, torna-se uma plataforma de animação que pode ser estendida e usada em outros trabalhos, como

(38)

38 CAPÍTULO 3. TRABALHOS RELACIONADOS

(69; 67).

Casselet al. (14) propõe um sistema chamado BEAT (Behavioral Expression Animation Toolkit), que permite aos animadores entrarem com um texto a ser dito pelo personagem virtual, e obter comportamentos não-verbais sincronizados com a fala (descrição textual) enviada, através de um modelo que faz a análise pragmática do discurso e um conjunto de regras que definem os comportamentos de acordo com essa análise. Esses parâme-tros comportamentais e de síntese da fala são fornecidos em forma de uma linguagem de descrição, que pode ser interpretada por diferentes sistemas de animação.

O trabalho de Wang (82) é mais focado à síntese das animações, descrevendo uma metodologia para a construção de um sistema de animação facial com expressões faciais e sincronização labial usando componentes acessíveis no mercado, como o software Face-Gen Modeller2para a geração das malhas-chave de face (para cada visema) e aMicrosoft

Speech SDK3 para a API de fala.

Outro trabalho que descreve a metodologia de um sistema para a criação de faces ani-máveis é o de Haber et al. (35). O modelo de animação por eles proposto é baseado na simulação física da interação entre estruturas de caveira, músculos e pele. O sistema por eles proposto permite a edição de faces, ajustando as malhas poligonais a essas estrutu-ras auxiliares, e a geração de falas sincronizadas por meio da descrição de fonemas. As animações geradas podem ser renderizadas em tempo-real (interpolação dos keyframes gerados pelo sistema).

Cosi (18) propõe umtoolkit de animação facial implementado em MATLAB4, criado

prin-cipalmente para acelerar o processo de criação do agente conversacional LUCIA (20). Para a determinação das trajetórias dos pontos de controle da animação, é utilizado um equipa-mento especializado de motion capture. A tradução para os parâmetros de animação do padrão MPEG-4 se dá por ajuste manual na interface do programa de rastreamento, e para a síntese das animações de boca, é utilizado um modelo de coarticulação labial descrito pe-los autores em (19). Apesar dessa abordagem parecer promissora, ela é construída sobre um equipamento de hardware específico e software proprietário.

DiPaola e Arya (25) propõem umframework de animação facial, também compatível com o padrão MPEG-4, chamado iFace, cujos binários estão disponíveis naweb5. O iFace

per-mite a criação de expressões não-verbais através de uma linguagem descripting chamada FML (Face Modeling Language) (5), que permite a descrição de ações faciais sequenciais e paralelas. As ações faciais incluem fala, expressões faciais, movimentos de cabeça e os parâmetros MPEG-4 diretamente. Atualmente, o iFace está sendo utilizado para estudos de animação comportamental com o objetivo de alcançar a associação entre as ações faciais

2www.facegen.com/modeller.htm

3http://www.microsoft.com/speech/download/sdk51 4http://www.mathworks.com/

(39)

3.2. ANIMAÇÃO FACIAL DIRIGIDA POR PERFORMANCE EM TEMPO REAL 39

e traços de personalidade, criando um conjunto de parâmetros mais alto-nível (6).

Balci et al. (8) projetaram o Xface6, um conjunto de ferramentas de código aberto para

a criação de talking heads usando MPEG-4 ou animação por keyframes. O controle da animação por key-frames é feito pela linguagem descriptingSMIL-Agent (49). Isso significa que, para usar este modo de animação, é necessário preparar diversas malhas com poses diferentes para cada modelo de face que pretende-se usar, e a biblioteca faz a interpolação dessas malhas-chave. O suporte dado para o modo de animação que segue o padrão MPEG-4 inclui:

• uma biblioteca principal, que inclui as funções principais de animação;

• um editor gráfico, que permite carregar modelos de face neutra e configurar seu FDP

(setar os FPs e vizinhança, FAPU, funções de deformação para cada FAP), salvo como um arquivo XML;

• uma aplicação simples que interpreta arquivos com streams de FAPs e gera

anima-ções em tempo-real (player)

• uma aplicação de programa cliente, que permite o controle doplayer pela rede.

O Xface é usado em outros trabalhos de pesquisa, como (39), (87) e (68), sendo este último estende o editor gráfico, criando uma ferramenta de autoria que permite a geração de expressões faciais baseadas em um modelo emocional e fala sincronizada.

3.2 Animação Facial Dirigida por Performance em Tempo Real

Em modelos de Animação Dirigida por Performance, o mapeamento a ser feito entre os dados obtidos e os parâmetros de animação é um problema complexo, no qual os pesqui-sadores têm proposto diferentes métodos. Uma questão que se impõe é a transformação de movimentos contínuos, na realidade, em dados discretos, nos personagens virtuais.

No trabalho de Chai et al. (15), um pequeno conjunto de parâmetros é extraído de vídeos e combinado com dados de arquivos de motion capture. A principal contribuição desse modelo é o método que faz a associação do movimento, com poucos pontos de controle, associados com as movimentações de alta qualidade extraídas de um banco de dados de arquivos demotion capture.

Buenaposadaet al.(10) estimam parâmetros de animação em alto-nível (contrações de músculos, movimentos de olhos, abertura das pálpebras, movimentação da mandíbula e contrações dos lábios) de uma sequência de imagens de face, sem marcadores, através de

(40)

40 CAPÍTULO 3. TRABALHOS RELACIONADOS

umtracker que utiliza o modelo estatístico de aprendizagem baseado em aparência ( appe-arance based). Para as animações, os autores utilizam uma versão modificada do modelo de Parke e Waters (57) que é feita em tempo real, de acordo com os parâmetros identifi-cados. Eles utilizam animações da face 3D também para o treino do modelo estatístico. Entretanto, a adaptação para um usuário novo é parcialmente manual, pelo fato de que não foi estudado como fazer a correspondência entre as imagens do usuário e as expressões faciais do modelo 3D. A Figura 3.1 mostra alguns resultados desse trabalho.

Figura 3.1: Exemplo de resultados obtidos pelo trabalho de animação dirigida por perfor-mance de Buenaposada (10)

Khanam et. al (39) descrevem um modelo que procura reproduzir expressões faciais detectadas de videos automaticamente. O modelo propõe uma técnica para melhorar a síntese das expressões faciais detectadas, através da identificação do seu contexto. As expressões faciais são modeladas como streamsde parâmetros de animação MPEG-4. O contexto do vídeo é processado por um sistema baseado em lógica difusa, que encontra qual a expressão que precisa ser adicionada aos parâmetros da expressão facial detectada, para melhorar sua “naturalidade”.

No trabalho de Tanget al. (77), os parâmetros de animação (ângulos de rotação, distân-cias de translação da cabeça e um conjunto de pesos de 12 unidades de ação, baseadas do sistema FACS (29)) são estimados de um vídeo usando um algoritmo de rastreamento. Os parâmetros estimados são traduzidos para os parâmetros de animação do padrão MPEG-4 (valores de FAPs) através da resolução de um problema de otimização linear. O mapea-mento é feito através de uma tabela de animação (FAT) para determinar para cada FAP um conjunto de deslocamentos dos FPs. Figura 3.2 mostra algumas etapas do modelo e um exemplo de resultado aplicado a uma face 3D.

(41)

3.2. ANIMAÇÃO FACIAL DIRIGIDA POR PERFORMANCE EM TEMPO REAL 41

Figura 3.2: Da esquerda para a direita: inicialização do algoritmo de rastreamento, as uni-dades de ação mapeadas para MPEG-4 FPs, um exemplo rastreamento e sua animação correspondente (77).

modelagem demanda bastante trabalho manual para o ajuste de cada componente facial como um Modelo Hierárquico de Visualização (Hierarquical Display Model, HDM) e criação de poses extremas em vários pontos de vista. O mapeamento entre a pessoa real e o avatar é feito pela representação das coordenadas como um conjunto de pontos característicos do padrão MPEG-4 e combinando eles com os parâmetros de animação (FAPs). Um processo intermediário é usado para interpolar a informação dos quadros-chave que são enviados entre os usuários.

Figura 3.3: Uma visão geral das etapas do modelo de Quax (31), mostrando, abaixo, exem-plos de resultados visuais obtidos.

(42)

42 CAPÍTULO 3. TRABALHOS RELACIONADOS

Figura 3.4: Exemplo de resultado da tese de Sanchez (74)

Figura 3.5: Exemplo de resultado do trabalho de Dutreve (26)

modelo de expressão correspondente é baseado no movimento espacial de uma “nuvem de pontos” de marcadores. Além disso, eles propõem uma técnica para o mapeamento dos dados de MoCap para a malha facial, através de funções de base radial (71). Eles também propõem métodos de geração de rugas por normal-mapping. Porém este último modelo requer que a captura do “mapa de rugas” de uma pessoa seja feito previamente.

O trabalho de Dutreve (26) (Figura 3.5) apresenta uma metodologia que considera, como entrada para a geração de animações, apenas um pequeno conjunto de pontos caracterís-ticos. Estes pontos característicos são selecionados manualmente na inicialização, e uma rede de funções de base radial (Radial Basis Functions – RBFs) é treinada para fazer a correspondência desses pontos no modelo-fonte (vídeo do usuário) e no modelo-destino (face 3D). As zonas de influência são determinadas considerando as distâncias dos vérti-ces aos pontos de controle, o que nem sempre produz bons resultados e pode requerer ajustes manuais.

3.3 Contextualização do Trabalho no Estado-da-arte

Essa seção apresenta a contextualização desse trabalho com o estado-da-arte levan-tado nesse capítulo e no anterior.

3.3.1 Modelo de Parametrização

(43)

3.3. CONTEXTUALIZAÇÃO DO TRABALHO NO ESTADO-DA-ARTE 43

de alguns parâmetros de animação, seguindo o modelo de definição dos FAPs. Isso faz com que o modelo não seja completamente compatível com o padrão MPEG-4 por definição. No entanto, tecnicamente, esse acréscimo não alterou os parâmetros originais. Portanto, os parâmetros gerados compatíveis como padrão podem ser enviados para outros sistemas compatíveis com o padrão.

3.3.2 Modelo de Deformação de Faces

Considerando as técnicas de “baixo-nível” para a geração das deformações na face do avatar, optou-se em usar interpolações locais baseadas nos trabalhos de (89; 26; 7), sem a necessidade de estruturas auxiliares, como músculos.

3.3.3 Técnicas de Controle

Considerando técnicas de animação facial “alto-nível” para o controle dos avatares, este trabalho focou-se Controle porScript e Animação Dirigida por Performance. Para o controle de animações faciais em alto-nível, foi desenvolvido um modelo que faz a geração dos parâmetros de animação através de uma linguagem de script. Esse modelo foi inspirado principalmente nos trabalhos (25; 8; 68).

Sobre o estado-da-arte em PDA, pode-se notar que os pesquisadores atualmente estão concentrando seus esforços na complexa tarefa do mapeamento entre os dados captura-dos de pessoas reais e os parâmetros de animação. Alguns trabalhos (por exemplo, o de Tang (77)) estão mais focados nas abordagens de rastreamento dos componentes faciais, tentando imitar diretamente a performance do ator. Outros trabalhos lidam com a “tradução” de linguagens de representação, como o de Quax (64), considerando que um avatar pode ser um personagem não realista (cartum).

O modelo proposto neste trabalho utiliza uma abordagem semelhante à de (26) (anima-ção por um conjunto de pontos de controle), porém utilizando a parametriza(anima-ção baseada no padrão MPEG-4 de animação facial no mapeamento e considerando que, dos pontos característicos rastreados podem ser extraídas informações que, utilizando-se um modelo de relacionamento entre os FAPs, seja possível suprir alguns parâmetros que não são for-necidos por CV e deformar de maneira coerente todas as regiões da face.

3.3.4 Framework

(44)

44 CAPÍTULO 3. TRABALHOS RELACIONADOS

trabalhos apresentados tratam-se de trabalhos de pesquisa com diferentes focos, optou-se, inicialmente, em utilizar o Xface apenas como uma engine para a geração de animação facial compatível com o padrão MPEG-4.

O modelo começou a ser desenvolvido utilizando-se as bibliotecas principais de anima-ção do Xface (7), estendendo a sua aplicaanima-çãoplayer. No entanto, apesar do Xface fornecer subsídios para os fins da pesquisa (código aberto e abstração de classes), ele apresenta algumas limitações técnicas, a saber, problemas com suas dependências e estruturação de classes complexa. Essas limitações foram perceptíveis ao longo do desenvolvimento do modelo de geração de animações porscript, porém foi no desenvolvimento do modelo de controle por PDA que surgiu a necessidade de algumas alterações no modelo de animação facial, o que exigiria reestruturações nocoredo Xface. Nessa etapa, surgiu a necessidade do acréscimo dos parâmetros de animação e alterações/melhorias no modelo de deforma-ção do modelo 3D, uma vez que o XFace utiliza a abordagem de apenas um ponto de controle por região, e pesos pré-definidos manualmente para sua função de deformação de cada modelo 3D. Consequentemente, com as limitações técnicas apresentadas, os acrés-cimos ao modelo de animação demandariam um muito tempo, o que tornaria inviável a continuação da pesquisa dentro do cronograma previsto.

Optou-se, então, em construir um protótipo com um modelo de animação facial próprio, que recebe os parâmetros de animação e realiza as deformações na face, conforme apre-senta o Capítulo 4. É importante ressaltar que essa decisão de implementação não teve impacto no modelo de geração dos parâmetros de animação, uma vez que o Xface era usado apenas para as deformações do modelo 3D e visualização das animações. Parte deste trabalho, que já havia sido publicado como umframework em (66), utilizava o Xface, mas o modelo do controle para geração dos parâmetros de animação (no caso, porscript) é independente do Xface. Portanto, se arquivos gerados com os parâmetros de animação forem “rodados” no Xface ou na plataforma de animação posteriormente desenvolvida, ha-verá diferenças apenas na maneira como os parâmetros são interpretados para a geração das deformações.

3.3.5 Avaliação

(45)

3.3. CONTEXTUALIZAÇÃO DO TRABALHO NO ESTADO-DA-ARTE 45

(46)
(47)

47

4. Modelo

Este capítulo apresenta o modelo desenvolvido, cujo objetivo é prover animações de face personalizadas e expressivas para avatares. O modelo permite duas opções de controle das animações:

1. Porscriptsde ações faciais: visando que a aplicação pode oferecer diferentes opções de expressões faciais, audio e/ou chat, foi proposto um modelo que integra técnicas da literatura e gera animações sincronizadas com a fala, expressões faciais e compor-tamento dos olhos;

2. Dirigida por performance: através de dados capturados de uma webcam comum, foi proposto um modelo que gera animações que permitem ao avatar “refletir” a movi-mentação da face do usuário.

A arquitetura geral do modelo é apresentada na Figura 4.1. Ele está dividido em três etapas principais: a etapa deGeração/Visualização da Animação Facial a partir dos parâ-metros de animaçãogerados, e duas correspondentes aos modelos das opções de controle do avatar abordados,Controle por Script eControle por Animação Dirigida por Performance, que são os geradores dos parâmetros de animação. A descrição dessas etapas principais e seus modelos, como mostrados na Figura 4.1, são descritos nas próximas seções.

4.1 Geração e Visualização da Animação Facial

O modelo de Geração das Deformações na Face 3D recebe osparâmetros de anima-ção de um dos modelos de controle e gera as deformações na geometria de uma face 3D parametrizada, que é composta pelamalha poligonal do avatar e pelosparâmetros de des-crição do avatar (apresentados na Seção 4.1.1). A Figura 4.2 apresenta a arquitetura geral do modelo, que inclui:

• Uma etapa de inicialização, em que é feito o cálculo das unidades de medida

utili-zadas para escalar os parâmetros de animação (Cálculo da FAPU, apresentado na Seção 4.1.3);

• ODeslocamento dos FPs(pontos de controle) de acordo com o valor dos parâmetros

de animação, apresentado na Seção 4.1.4;

• ADeformação das Regiões de influência, de acordo com o deslocamento sofrido por

(48)

48 CAPÍTULO 4. MODELO

Geração das Deformações na

Face 3D Sincronização da Fala

Geração de Expressões Faciais Sincronização dos Parâmetros de Animação Script de Ações Faciais Geração de Comportamento dos Olhos

Controle por Script

Speech Files Speech Files Arquivos de Fala Detecção/Rastreamento de Dados Faciais

Mapeamento Real-virtual Parâmetros de Animação Parâmetros de Animação Parâmetros de Animação Parâmetros de Animação

Controle por Animação Dirigida por Performance

Geração/Visualização da Animação Facial Parâmetros de Animação Speech Files Seqüência de Imagens Face 3D Parametrizada

Figura 4.1: Arquitetura geral do modelo, mostrando suas principais etapas e modelos de geração das animações.

• AVisualizaçãoda animação, que inclui as técnicas derendering da cena. No modelo,

utiliza-se o padrão do OpenGL(86).

4.1.1 Parâmetros de Descrição

O modelo gera as deformações a partir dos dados referentes à geometria do avatar (ma-lha poligonal) e dos seus seguintes parâmetros de descrição, via arquivo de configuração:

Pontos de Controle: devem ser informados os índices dos vértices do modelo 3D

correspondentes aos FPs do padrão MPEG-4. O ideal é que sejam fornecidos todos os FPs que possuam um parâmetro de animação associado, caso contrário, não se-rão geradas deformações nos pontos/regiões da face não especificados. O conjunto mínimo de pontos a serem informados são os que são usados para se fazer o cálculo da FAPU do avatar (Seção 4.1.3). O processo de captura dos índices dos FPs é ma-nual. Figura 4.3 apresenta exemplos de faces e a localização dos seus FPs, baseada nas indicações do padrão MPEG-4.

Regiões de Influência: correspondem às áreas (conjunto de vértices) que são

(49)

4.1. GERAÇÃO E VISUALIZAÇÃO DA ANIMAÇÃO FACIAL 49

Deslocamento

dos FPs

Deformação das Regiões Parâmetros de

Descrição

Cálculo da FAPU

Visualização

Malha Poligonal

Geração das Deformações na Face 3D

Parâmetros de Animação

Speech Files Face 3D Parametrizada

Figura 4.2: Etapas do modelo deGeração/Visualização da Animação Facial

Figura 4.3: Exemplos de faces parametrizadas, mostrando a localização dos Pontos de Controle.

4.1.2 Os Parâmetros de Animação

(50)

50 CAPÍTULO 4. MODELO

Figura 4.4: Regiões de controle definidas para as faces 3D.

2.2

2.4 2.5

2.6 2.7

2.9 2.8

2.3

FAPU MW

FAPU MNS FAPU MW

Figura 4.5: Os 8 pontos característicos da parte interna dos lábios, seus parâmetros de animação na direção dos eixos x e y e seus FAPUs correspondentes. Os parâmetros de animação em vermelho correspondem aos que foram incluídos aos parâmetros-padrãodo MPEG-4 (verdes e azuis).

Performance, pode se obter os dados sobre esse movimento, não necessitando de regras de associação. Por essa razão, o conjunto de parâmetros de animação deste trabalho pro-põe a inclusão de novos parâmetros, completando os movimentos nos eixos que não são contemplados pelo padrão MPEG-4. O Anexo A apresenta os parâmetros acrescentados em função do modelo de PDA, sendo que esse conjunto ainda pode ser estendido.

(51)

4.1. GERAÇÃO E VISUALIZAÇÃO DA ANIMAÇÃO FACIAL 51

4.1.3 Cálculo da FAPU

Dada como entrada do modelo a face 3D parametrizada, a primeira etapa é a determi-nação das unidades de medida dos parâmetros de animação, a FAPU, como descrita no padrão MPEG-4. As distânciasF AP U0 ={IRISD0, ES0, EN S0, M N S0, M W0}são

calcula-das usando as posições dos vértices assinalados como FPs (equações 4.1 a 4.5), e depois são normalizadas como sugere o padrão MPEG-4 Tabela 2.1.

IRISD0 =|F P3.1y−F P3.3y| (4.1)

ES0 =|F P3.5x−F P3.6x| (4.2)

EN S0 =|F P3.5y −F P9.15y| (4.3)

M N S0 =|F P9.15y−F P2.2y| (4.4)

M W0 =|F P8.3x−F P8.4x| (4.5)

4.1.4 Deslocamentos dos FPs e Deformação das Regiões

O deslocamento dos pontos de controle (FPs ativos) se dá pelo valor do parâmetro de animaçãoj do conjunto de FAPs (F APj) escalado pela FAPU do avatar (correspondente ao

F APj):

∆F Pj =F APj ·F AP Uavatar(F APj) (4.6)

Após deslocar os pontos de controle, cada vértice da região de influência do FP são deformados de acordo com uma função de deformação. A estratégia adotada para fazer a deformação das regiões de influência foi a seguinte:

• para regiões influenciadas por apenas um FP, aplica-se uma função de cosseno

(ex-plicada a seguir);

• para regiões contornadas por FPs (como os lábios superior e inferior) e a linha das

sobrancelhas, optou-se em usar a função de base radial (explicada a seguir);

• para regiões influenciadas por mais de um FP (mas não contornadas por eles),

optou-se em fazer a média da função de cosoptou-seno aplicada a cada FP.

(52)

52 CAPÍTULO 4. MODELO

Função de Cosseno

Funções de cosseno (Raised Cosine Functions, ou RCFs) são encontradas em alguns trabalhos da literatura (19; 7) como uma maneira suave e rápida de deformar regiões influ-enciadas por um ponto de controle.

SejaVj ={~v1, ~v2, ..., ~vn}o conjunto de vértices doF Pj. A função de cosseno atua sobre

oF Pj e cada vérticep(~vp) de sua zona de influência de acordo com a Equação 4.7 (7),

F(~vp) =

h

1 +cosπ· dp

dmax

i

·w·∆F Pj (4.7)

ondedp é a distância entre o vértice~vp e oF Pj edmax é a distância do vértice mais

dis-tante doF Pj na região de influência. Figura 4.6 mostra a aplicação de uma RCF em uma

zona de influência circular, nos eixos xe y. Neste trabalho,w é uma constante (0,5), que garante que, no FP, o valor deF(~vp)retorne1, fazendo uma normalização do deslocamento

dos outros pontos em relação ao∆F Pj (Equação 4.6). É importante ressaltar que, em

ou-tros trabalhos, como o de Balciet al. (7), este wconstitui um valor que é atribuído manual-mente para cada FAP, durante a configuração dos parâmetros de definição de cada face, de maneira a tornar mais suaves as deformações. Porém, com esses valores, não se garante que no FP haverá o deslocamento desejado conforme o modelo de mapeamento apresen-tado na seção anterior (além de tornarem o processo manual), e consequentemente, isso impacta no comportamento dos outros pontos da região.

Figura 4.6: Ilustração dos elementos de uma região para a aplicação de uma RCF. O ponto rosa representa o ponto de controle (FP) e o verde é um dos pontos mais distantes do FP (já que a zona é circular nesse exemplo).

Função de Base Radial

Funções de Base Radial (Radial Basis Functions, ou RBFs) são bastante usadas em Computação Gráfica para aproximação e interpolação de superfícies. No presente trabalho, é utilizada a abordagem de Nohet al. (89) (que propõe a animação de faces usando RBFs), baseando-se também na explicação do trabalho de Dutreveet al. (26) (que utiliza as RBFs para o mapeamento dos espaços de parâmetros real e virtual). Em ambos os trabalhos, utiliza-se a função RBF multi-quadrática.

(53)

4.1. GERAÇÃO E VISUALIZAÇÃO DA ANIMAÇÃO FACIAL 53

da região de influência. Essas regiões são chamadas de GDEs (Geometry Deformation Elements) como mostra a Figura 4.7 (89). O conjunto de pontos característicos pode ter dois tipos de pontos, conforme Nohet al. (89) :

Figura 4.7: Ilustração dos elementos de uma região para a aplicação de um RBF, chamadas de GDE por (89). O ponto vermelho representa o ponto de controle na sua posição inicial, enquanto o azul representa o ponto de controle após o deslocamento. Os pontos verdes são os pontos-âncora, que delimitam o GDE.

• pontos de controle: um ou mais pontos que sofrerão os deslocamentos;

• pontos-âncora: são das bordas da região, que permanecem estáticos, e são

neces-sários no treino da RBF, para delimitar a região;

A definição dos limites do GDE pode ser feita automaticamente, através da definição de algum critério de distância, como em (89) ou manualmente (pontos das bordas da região manualmente escolhida). Neste trabalho, as GDEs foram definidas com os pontos de con-trole (os FPs da região), uma vez que utilizou-se as RBFs na região dos lábios, onde os FPs delimitam a sua região (como mostrado anteriormente na Figura 4.4).

Seja S = (~s1, ~s2, . . . , ~sN) o conjunto de pontos característicos inicial ou “fonte” (source,

correspondente à face em repouso) de um GDE. O primeiro passo é o treino da RBF a partir desse conjunto. Após esse treino, para cada conjunto de pontos característicos “alvo” ( tar-get, contendo as novas posições dos pontos característicos deslocados)T = (~t1, ~t2, . . . , ~tN),

são calculados o conjunto de pesosW = (w1, w2, . . . , wN)os quais, aplicados à função RBF

multi-quadrática F(~sj) para os outros pontos j da região de inlfuência, determinam sua

nova posição (~tj = F(~sj)). É usada uma RBF para cada eixo. A seguir são apresentados

os cálculos de cada uma das etapas (26):

Treino

(54)

54 CAPÍTULO 4. MODELO

Hij =h(k~sj−~sik) =

q

(k~sj −~sik)2+sc2j (4.8)

Onde sc2

j = minj6=i(k~sj −~sik)e trata-se de um coeficiente de “rigidez” (stiffness)

su-gerido por Eck (28) para suavizar deformações onde os pontos característicos estão muito esparsos e reforçar onde eles estão muito próximos.

Determinação do vetor de pesos

Tendo a matrizHe o conjuntoTx = (tx1, t x 2, . . . , t

x

N)com as novas posições dos pontos

característicos (tx

j é a coordenadaxde~tj), calcula-se o vetor de pesos do sistema no

eixox, como mostrado na Equação 4.9:

Tx=H·Wx∴Wx =H− 1

Tx (4.9)

Determinação das novas posições

Uma vez treinada a RBF para cada eixo, a nova posição para cada ponto~tjde cada um

dos outros pontos~sj da zona de influência é obtido pela funçãoF(~sj)da Equação 4.10,

que representa a RBF propriamente dita:

~tj =F(~sj) = N

X

i=1 ~

wi·h(k~sj−~sik) (4.10)

4.2 Controle porScript

Esta seção apresenta a descrição detalhada o modelo que faz oControle por Script dos avatares (Figura 4.1). A principal entrada para essse modo de geração das animações é um (ou mais) arquivos de script contendo a descrição de uma ou mais ações faciais. A linguagem de descrição desenvolvida é chamada FDL (Face Description Language), por-tanto, seus arquivos serão chamados no decorrer do texto como arquivos FDL. O modelo interpreta as ações faciais descritas nos arquivos FDL e gera animações de acordo com sua especificação. A linguagem compreende seqüências de três tipos de ações faciais: fala,expressões faciais ecomportamentos dos olhos.

(55)

4.2. CONTROLE POR SCRIPT 55

dos Parâmetros de Animação, etapa que recebe os valores dos FAPs e resolve possíveis conflitos entre eles (como a combinação entre expressões faciais e visemas). Essa etapa retorna então asstreams de parâmetros de animação final, que são processadas pelo mo-delo deGeração/Visualização da Animação Facial, podendo ser executadas com diferentes modelos de face 3D.

4.2.1 Geração de Comportamento dos Olhos

O modelo de Geração de Comportamento dos Olhos, cuja arquitetura está ilustrada na Figura 4.8, contém a implementação do modelo de Queiroz et al. (65) para geração automática de animações dos olhos. O modelo provê um conjunto de comportamentos dos olhos que podem ser usados com diferentes estados afetivos. O modelo utiliza um modelo estatístico(de Leeet al. (44)) como o motor de geração dos movimentos sacádicos e cria diferentes olhares (que compõem a Base de Dados Comportamental) através de modificação nos parâmetros do olhar considerados pelo modelo estatístico, como direção, magnitude e intervalo entre os movimentos. Movimentos sacádicos são movimentos rápidos de ambos os olhos de uma posição para outra (44).

Modelo Padrão

Gerador de Olhares Expressivos

Base de Dados Comportamental

Modelo Estatístico

Gerador de Olhares Expressivos Script de Ações

Faciais (para olhos)

Geração de

Comportamento dos Olhos

Parâmetros de Animação

Figura 4.8: Etapas do modelo deGeração de Comportamento dos Olhos

Imagem

Figura 3.1: Exemplo de resultados obtidos pelo trabalho de animação dirigida por perfor- perfor-mance de Buenaposada (10)
Figura 3.3: Uma visão geral das etapas do modelo de Quax (31), mostrando, abaixo, exem- exem-plos de resultados visuais obtidos.
Figura 3.5: Exemplo de resultado do trabalho de Dutreve (26)
Figura 4.1: Arquitetura geral do modelo, mostrando suas principais etapas e modelos de geração das animações.
+7

Referências

Documentos relacionados

Ao desenvolver esta pesquisa conclui-se que sendo a Contabilidade de Custos uma das áreas da Contabilidade, os princípios fundamentais de contabilidade também são válidos para ela

(2013 B) avaliaram a microbiota bucal de oito pacientes submetidos à radioterapia na região de cabeça e pescoço através de pirosequenciamento e observaram alterações na

They answered the Escala Likert de Atitudes Sociais em Relação à Inclusão (Likert Social Attitudes Scale in Relation to Inclusion) (ELASI), and the Motivational Analysis Checklist,

Numa corrida rápida, de velocidade, teria as minhas hipóteses, mas dar cinco voltas ao recinto enlameado da escola era mais apropriado para o Mário e o Xavier, por exemplo,

Jayme Leão, 63 anos, nasceu em Recife, mudou-se para o Rio de Janeiro ainda criança e, passados vinte e cinco anos, chegou a São Paulo, onde permanece até hoje.. Não

Contribuir para o desenvolvimento de produtos finais concretos (metodologias, processos, ferramentas de trabalho, políticas públicas, etc.), que sejam “novas portas

Conforme mencionado anteriormente, os basidiomicetos de podridão branca são mais utilizados em processos de micorremediação mediado pela biodegradação enzimática, mas a

RESUMO: Tendo em vista a Tendo em vista a exploração das ferramentas gráficas disponíveis em softwares de exploração das ferramentas gráficas disponíveis em softwares de