View
4
Download
0
Category
Preview:
Citation preview
23 de outubro de 2012
Animação FacialRossana Baptista Queiroz
Animação Facial2
Assuntos
� Animação Facial
� Introdução
� Breve histórico
� Algumas regras básicas
3
� Algumas regras básicas
� Principais Técnicas� Modelagem
� Animação
Introdução
� Experimento com recém-nascidos [Johnson 91]
4
Introdução
� A face é o centro da comunicação humana
� Exerce atividade intensa
� Emoções
� Percepções
5
� Percepções
� Difícil de modelar/animar
� Superfície irregular
� Movimentos complexos (fala e expressões)
� Relação forte com texturas diferentes (pelo, brilho dos olhos, pele e etc)
Introdução
� Aplicações diversas:
� Filmes
� Jogos
� Simulações
6
� Simulações
� Agentes conversacionais
Breve histórico
� 1972: primeira animação de face computadorizada [Parke 72]
� 1980’s:
� Modelo paramétrico de Parke [Parke 82]
7
� Primeiros modelos com “músculos artificiais” [Platt & Badler 81] [Waters 87]
� “Tony de Peltrie’’, primeira animação de face com fala sincronizada (1985)
[Parke 72]
“Tony de Peltrie”
https://www.youtube.com/watch?v=munTr4vmxYE
Breve histórico
� 1990’s até agora:� Modelos multi-camadas, animação baseada em física [Lee 95]
� Captura por scanners (modelagem) [Lee 95]
� Modelos transformáveis [Blanz 99]
� Reconstrução por imagens [Akimoto 93][Guenter 98]
8
� Reconstrução por imagens [Akimoto 93][Guenter 98]
� Padrão MPEG-4 FA (1999)
� Modelos comportamentais [Cassel 94]
� Speech-driven [Cohen-Massaro 93]
� Performance-driven [Williams 90]
� Híbridos [Sifakis 05]
[Sifakis 05]
Algumas regras básicas
� [Parke & Waters 96]� Quanto mais semelhante a um humano real, maior nossa percepção
crítica (“Uncanny Valley”)
� O potencial do personagem encontra-se na sua animação, e não na sua forma
9
forma
� Algumas características faciais são mais sobressalentes na animação do que outras
� A animação da cabeça é muito importante (sem ela a animação pode parecer muito “robotizada”)
� Simetria não quer dizer realismo na animação (as vezes, podemos ser assimétricos e somos realistas ☺
Uncanny Valley10
Modelagem de Faces
� Métodos para geração automática ou semi-automática
� A modelagem está
Modelagem Facial
ReconstruçãoVariação de
Modelos
Adaptação
11
[Parke 82]
� A modelagem está diretamente ligada à animação
� Topologia
� Estruturas auxiliares
Imagens
Scanner 3DModelagem Paramétrica
Modelagem Antropométrica
Uso de modelos “Transformáveis”
Modelagem Multi-camadas
Modelagem inspirada na
Biologia
Modelagem de umapessoa específica
Geração de pessoas “fictícias” (mas realistas)
Modelagem de Faces
� Principais técnicas
� Paramétrica/Modelos “Transformáveis”
12
[Blanz 99]
Modelagem de Faces
� Principais técnicas
� Reconstrução por imagens/fotos
13
[Blanz 03]
Modelagem de Faces
� Principais Técnicas
� Modelos multi-camadas
14
� Modelo Biológico[Kähler 02]
[Vieira 08]
Modelagem de Faces15
� FaceGen (software)
� Constrói faces� Variação de Modelos
� Reconstrução por foto
Geração de keyframes� Geração de keyframes� Expressões faciais
� Visemashttp://www.facegen.com/modeller.htm
Modelagem de Faces16
� FaceGen
� Oblivion Elder Scrollshttp://cs.elderscrolls.com/constwiki/index.php/Facial_expressions_in_animations
Animação Facial17
� Principais desafios de pesquisaMapeamento
Modelo de Animação
(como obter os
parâmetros)
Parâmetros de Animação
Síntese da Animação
(como gerar a face
animada)
Técnicas de Animação Facial18
� Uma taxonomiaAnimação Facial
“Baixo nível”(implementação dos
movimentos faciais)
“Alto nível”(fontes de controle
dos parâmetros)Controle da Parametrização
(FACS, MPEG-4,...)
Parametrização
Direta
Modelos de Pseudo-
músculos
Modelos de Músculos Script Manual Dirigida pela fala Animação dirigida
por performance
Híbridos...
(FACS, MPEG-4,...)
Interpolação
Parametrização19
Técnicas para Animação Facial
� Padrões para descrição/parametrização
� FACS (Facial Action Coding System)� Relacionar músculos e expressões: codificar cada expressão
facial humanaAction Units (AUs) – contração/relaxamento de conjuntos de
20
� Action Units (AUs) – contração/relaxamento de conjuntos de músculos faciais
� MPEG-4 FA (Facial Animation)� Parametrização padrão para aplicações em diversas mídias
� FAPU, FPs, FDP, FAPs
Técnicas para Animação Facial21
� FACS (Facial Coding System) [Ekman 78]
FAPU (Facial Animation Parameter Units)
� Distances of key face features� They are used to calibrate the animation parameters values
� Together with the FPs, they allow the use of the same animation parameters in different face models
Description FAPU Value
IRISD0 Iris diameter (by denition it is equal to the distance between upper and lower eyelid) in neutral face
IRISD = IRISD0/1024
ES0 Eye separation ES = ES0/1024
ENS0 Eye-nose separation ENS = ENS0/1024
MNS0 Mouth-nose separation MNS = MNS0/1024
MW0 Mouth width MS = MW0/1024
AU Angle Unit 10-5 radian[Pandzic 01]
FP’s (Feature Points)
� 84 control points for the animation parameters
[Pandzic 01]
FAPs (Facial Animation Parameters)
� Dene the motion between two frames of animation
� Each FAP is measured by a FAPU unit.
� They have an intensity (based on one FAPU) and direction of the movement � FAP value
� The first two are a high-level description of facial expressions and visemes
� The remaining deal with specific regions of the face� Each FAP acts over one FP and its
neighborhood (influence zone), producing a deformation in the skin
# FAP Name Description FAPUUni orBi-dir
Positive motion
Group
FAPs 1 and 2 are high-level description of visemes and expressions (dependent of implementation)
3 open_jawVertical jaw displacement (does not affect mouth opening) MNS U down 1
4 lower_t_midlipVertical top middle inner lip displacement MNS B down 2
5 raise_b_midlipVertical bottom middle inner lip displacement MNS B up 2
6 stretch_l_cornerlipHorizontal displacement of left inner lip corner MW B left 2
......
19 close_t_l_eyelid Vertical displacement of top left eyelid IRISD B down 1
...
23 yaw_l_eyeball Horizontal orientation of left eyeball AU B left 3
...
34 raise_r_m_eyebrowVertical displacement of right middle eyebrow ENS B up 4
...
68 pull_r_ear Horizontal displacement of right ear ENS B right 4
[Pandzic 01]
FDP (Face Definition Parameters)
� Each 3D model has its own FAPU and FPs
� The way we deform the mesh acording to the FAP orientation and value is called FAT (Facial Animation Table) Animation Table)
� FAT is optional, dependent of the application implementation – we can deform all 3D models in the same way or define the best way to deform specific FAPs in different models
� It can be a function that defines how the points within the influence zone of a FP will deform � i.e.: a Raised Cosine Function (RCF) , Radial Basis Function
(RBF)
An example on Xface Editor
Distance to displace vertex vp within the influence
27
Raised cosine function
vp within the influence zone
dp = distance of vp to the FP
dmax = distance of the farthest point to the FP
User-defined weight*
[Balci 04]
Deformation Functions
� Each FAP acts over one FP
� It defines the direction of the movement and its intensity (measured in FAPU).
� Each FP influences a set of vertices of its neighborhood (Influence Zone)
� Usually this region is defined manually by the user.
The Deformation Function (DF) defines how the vertices of the influence � The Deformation Function (DF) defines how the vertices of the influence zone of the FP will deform
FP
Influence Zone
FP
Influence Zone
Neutral Face FAP 19 in action, deformed by a RBF
FAP Animation
� One or more FAP streams� Variation of the FAP values through the time (usually per frame)
� Example of a FAP fileGenerated_by_FDL2FAP 25 100
0 0 1 1 1 1 1 1 1 ... 0 1
Frame rate Number of frames
Frame 0
Streams of 68 FAPs
Bit mask: FAPs used in frame
� Each FAP value is scaled by its FAPU to provide thedisplacement of the FP vertex� ∆vFP = FAP_value * FAPU_of_the_FAP
0 0 1 1 1 1 1 1 1 ... 0 1
0 0 -24 10 17 17 -24 -24 ...
0 0 1 1 1 1 1 1 1 ...
1 0 10 10 0 0 10 10 ...
...
0 0 1 1 1 1 1 1 1 ...
99 0 -10 10 0 0 -10 -10 ...
Frame 0
Frame 1
Frame 99
Bit mask: FAPs used in frameUsed FAPs values in frameFrame
number
FAP Animation
� General considerations
� FAP values are independent of the 3D model
� This value is scaled by the FAPU, providing the displacement of the affected FP
� The influence zone of this FP is affected by a deformation function, also acording to the FAP direction
� So, a FAP-based animation can be performed by different face models
31<< Back
[Queiroz 08]
Obtenção dos Parâmetros32
Técnicas para Animação Facial33
� Performance-driven
� Captura de pessoas reais� MOCAP
� Visão Computacional� Com ou sem marcadores
� Uma ou mais câmeras
� Tempo real ou pós-processamento
Com marcação, mapeamento direto34
Sem marcação, combinando dados de MOCAP
Sistema Óptico com Maquiagem
www.mova.com
Técnicas para Animação Facial37
� Performance-driven� Como mapear os dados capturados para os parâmetros de animação?
� Semântica (Expressões faciais, unidades de ação)
� Adaptação ao modelo (retargetting)
Emily Project38
� Etapas em off-line
� Não é tempo real
� Várias imagens
� ... mas é quase perfeito� ... mas é quase perfeito
� Veja!! http://gl.ict.usc.edu/Research/DigitalEmily/
Emily Project39
� Captura em offline de várias performances do ator
� hundreds of images of the actor's face from every lighting direction one at a time� Novas edições exigem menos imagens
Emily Project40
Emily Project41
� “Our most recent process requires only about fifteen photographs of the face under different lighting conditions as seen to the right to capture the geometry and reflectance of a face. The photos are taken from a stereo pair of off-the-photos are taken from a stereo pair of off-the-shelf digital still cameras, and a small enough number of images is required, everything can be captured quickly in "burst mode" in under three seconds before the images even need to be written to the compact flash cards.”
Técnicas para Animação Facial42
� Speech-driven
� Processamento/identificação da fala
� Sincronização Labial� Fonemas ao longo do tempo
AudioFile (.wav)
AuxiliarText
CSLU Toolkit
CommunicationScripts
Facial ActionsScript
Fonemas ao longo do tempo
� Mapeamento fonema-visema
� Uma ferramenta (para fins acadêmicos)
� CSLU Toolkit
Toolkit
Phoneme timelinefile (.phn)
Phoneme-VisemeMapping
Viseme-FAPMapping
Scripts
Lip-syncModule
FAPs
Speech-Driven
� CSLU Toolkit� Ferramenta BaldiSync
� Text-to-speech
� Scripts
� Sincronização .wav e texto � .sob (wav2sob.tcl)
43
� Sincronização .wav e texto � .sob (wav2sob.tcl)
� .sob � fonemas ao longo do tempo (.sob2phn)
Speech-Driven44
� Speech-driven
� Visemas
Visema Exemplo Visema Exemplo
0 . “silence” “nenhum”, “pausa”
8. n,l Lot, not“pausa”
1 . p,b,m put, bed, mill 9 . r red
2 . f,v far, voice 10. A: car
3 . T,D think, that 11 . e bed
4 . t,d Tip, doll 12 . I Tip
5 . k,g call, gas 13 . Q top
6. tS,dZ,S chair, join, she 14 . U book
7 . s,z Sir, zeal
visemes.aviabc-human.avi
Síntese da Animação45
Técnicas para Animação Facial46
� Formas de deformar a face� Interpolação de keyframes
� Pesos associados aos vértices de cada keyframe
� Funções de deformação aplicadas aos pontos de controle e sua zona de influência � Funções de cosseno, funções de base radial
Técnicas para Animação Facial
� Funções de base radial
� Suaves (gaussiana, por exemplo)
47
� Funções de cossenoImplementação de [Körting 07]
Técnicas para Animação Facial
� “Furos” e Saliências [Pasquariello 01]
48
Técnicas para Animação Facial49
� Rugas de Expressão (geométricas) [Bui 03]
� Objetivo:
� Pseudo-músculos de Waters [Waters 87]
Técnicas para Animação Facial50
� Rugas de Expressão (textura)
� Objetivo:
� Técnica deBump Mapping [Blinn 78]
Que função usar para perturbar as normais?� Alternativa: normal map (wrinkle map) [Oat 07]
Técnicas para Animação Facial51
� Rugas de Expressão (textura)
� Wrinkle Maps [Oat 07]� Apenas dois mapas de rugas
� Máscaras por regiões
� Combinados por pesos
Técnicas para Animação Facial
� Animação baseada em pseudo-músculos
� Ao invés de 1 ponto de controle, definem-se vetores
� Pontos que definem o vetor não precisam estar na malha poligonal
52
[Waters 87]Implementação de [Körting 07]
Técnicas para Animação Facial
� Animação Baseada em Física
� Múltiplas camadas
� Sistema massa-mola
53
[Lee 95]
Técnicas para Animação Facial
� Animação Baseada em Física
54
[Kähler 02]
Técnicas para Animação Facial
� Animação Baseada em Física
� Elementos finitos� Divisão em elementos regulares (ex.
tetraedros)
Mais preciso e estável, mas...
55
� Mais preciso e estável, mas...
� 8 min por frame! :P
Um Framework...56
Nosso Framework [Queiroz 2010]57
Speech Synchronization
Facial Expressions Generation
Animation Parameters
Facial Actions Script
Speech file
AnimationParameters
AnimationParameters
DescriptionParameters
Determination ofthe Parameter
Units
3D Parameterized
Face
PolygonalMesh
GenerationParameters
Synchronization
Eye BehaviorGeneration
Script-based Control
Parameters
AnimationParameters
Performance-driven Control
Video
Displacementof the Control
Points
Deformation ofthe Influence
Regions
Units
Rendering
Generation of 3D
Face
Deformations
AnimationParameters
Tracking ofFeature Points
InitializationMapping of
TrackedFeature Points
FAPU dousuário
Mapping of theother Feature
Points
High-levelInformation
UserFAPU
Low-levelInformation
Mesh
Nosso Framework
� Linguagens/recursos utilizados� Faces geradas no software FaceGen
� Implementação: C++
� Linguagem auxiliar (scripts): Lua
� Bibliotecas
58
� Bibliotecas� XFace Core � depois só OpenGL
� Diluculum
� GDL2FAP � FDL2FAP
� Interface adaptada do XFace Player (só para a parte dos scripts)
� CSLU Toolkit
Tracking is Believing (2008)59
FaceRobot60
� Agora integrado ao Autodesk Soft Image
� http://usa.autodesk.com/adsk/servlet/pc/index?siteID=123112&id=13571400
Ogre61
62
Uncanny Valley
<< Voltar
Recommended