Animação por Computador Capítulo 6 Captura de movimentos CRAb – Grupo de Computação Gráfica...

60
Animação por Computador Capítulo 6 Captura de movimentos CRAb – Grupo de Computação Gráfica Departamento de Computação UFC

Transcript of Animação por Computador Capítulo 6 Captura de movimentos CRAb – Grupo de Computação Gráfica...

Animação por Computador

Capítulo 6Captura de movimentos

CRAb – Grupo de Computação Gráfica

Departamento de ComputaçãoUFC

2

Sumário do Capítulo 6

6. Introdução6.1 Tecnologias 6.2 Processando as imagens 6.3 Calibração da câmera6.4 Reconstrução de posição tridimensional6.5 Ajustando ao esqueleto6.6 Saída do sistema de captura de

movimento6.7 Manipulando os dados de captura de

movimento

3

6. Introdução

• Criar um movimento fisicamente realístico com keyframe, cinemática direta ou inversa é difícil– Ainda precisam muito do talento do animador

• Existem detalhes mínimos que fazem muita diferença para a animação parecer realística– Para facilitar, grava-se movimentos de objetos

reais e faz o mapeamento dos movimentos na animação

– A gravação e mapeamento é chamado de Captura de Movimento (motion capture - mocap)

4

6. Introdução

• Captura de Movimento envolve:– Sensoriamento– Digitalização– Gravação de movimentos

• Objetos:– Humanos– Animais

•Será o foco do capítulo

– Outras estruturas

5

6. Introdução

• Retirar o movimento do vídeo não adulterado é extremamente difícil– Ainda em estudo

• A figura capturada (talent ) é normalmente equipada – Pontos característicos fáceis de serem

detectados e gravados

6

6. Introdução

• Se as gravações forem imagens 2D– Necessidade de calibração da câmera

para a reconstrução de juntas tridimensionais•São usados figuras sintéticas com

demissões compatíveis ao talento do mocap

•Dados podem ser editados e combinados com outros movimentos antes da animação final

6.1 Tecnologias

8

6.1 Tecnologias

• Instrumentos– Sensores eletromagnéticos

• Também chamados de rastreamento magnético• Sensores nas juntas que transmitem sua posição e

orientação par ao processador central• Teoricamente precisos• Requerem ambientes isentos distorções de campos

magnéticos• Transmissão de dado

– Cabo: o talento tem que ser “amarrado” com os cabos

– Wireless: o talento tem que carregar uma fonte de energia

• Pode-se gravar e mostrar (quase) em tempo real• Desvantagens: Alcance e precisão devido ao campo

magnético e equipamentos

9

6.1 Tecnologias

• Instrumentos– Sensores eletromagnéticos

10

6.1 Tecnologias

• Instrumentos– Marcadores ópticos

•Maior alcance•Necessidade de usar somente uma roupa

com marcadores refletores•Não é em tempo real•Propenso a erros e ruídos•Usa tecnologia de vídeos

– Câmeras com infravermelho

•Por falta de informação da orientação, um numero maior de marcadores é necessário

•Custo mais baixo

11

6.1 Tecnologias

• Instrumentos– Marcadores ópticos

12

6.1 Tecnologias

• Instrumentos– Sistemas mecânicos

• Utiliza próteses que calculam variáveis físicas para medir posição

• Prós– Custa menos que os sistemas magnéticos e ópticos– O sistema é em geral portátil– Captura em tempo real– Os sensores nunca sofrem oclusão

• Contras– Tem uma taxa de amostragem muito baixa– Complexo– Traz limitações ao movimento das juntas humanas– A maior parte dos sistemas não calculam

deslocamentos globais

13

6.1 Tecnologias

• Instrumentos– Sistemas mecânicos

6.2 Processando as imagens

15

6.2 Processando as imagens

• Objetivo do controle de movimento:– Reconstruir o movimento tridimensional

de um objeto para um modelo sintético

• Sistemas ópticos– As imagens bidimensionais tem que ser

processadas para localizar, identificar e correlacionar os marcadores•Processamento de imagens•Lógica simples•Entrada do usuário•E um pouco de sorte...

16

6.2 Processando as imagens

• Sistemas ópticos– Transformação do bidimensional par

ao tridimensional•Calibração de câmera•Cuidado com imprecisões numéricas

– Os pontos tridimensionais devem ser forçados a obedecerem o movimento capturado •Modelo triangularizado do artista•Satisfazer restrições das posições

relativas de marcadores

17

6.2 Processando as imagens

• Marcadores ópticos– Adaptado de uma bola de tênis de mesa– Coberto para conseguir aparecer no

vídeo– Presos com velcro na vestimenta

•Ou outro método conveniente

– Podem ser coloridos– Colocados próximos as juntas

•Estruturas de interesse para a animação

– Complicação: marcador se mover relatico a junta

18

6.2 Processando as imagens

19

6.2 Processando as imagens

• Apos a vídeo digitalizado– Escanear cada imagem do vídeo– Para achar os marcadores ópticos

•Quanto mais marcadores, mais complicado•Os marcadores...

– podem ficar oclusos– se sobrepõem em uma imagem– mudam sua posição relativa ao outros

•Rastrear cada marcador em todas as imagens– Mesmo quando não estão visíveis

– Se o fundo da imagem for estático, pode ser feita uma subtração •Simplificar a imagem

20

6.2 Processando as imagens

• Para achar os marcadores– Conhecimento do domínio

•Movimento: Andado– Os últimos marcadores sempre serão os do

tornozelos (ou dos pés)» Assume-se que sempre estão a uma

pequena distancia do final da imagem

•Usar o frame anterior– Sabendo informações sobre os limites de

velocidade e aceleração» Descobrir o numero máximo de pixels que o

marcador andou

21

6.2 Processando as imagens

• Para achar os marcadores não visíveis– Uso de heuristicas para

•Ficam não visíveis por alguns frames •Tem velocidade quase constante

– Problemas•Troca de caminho dos marcadores no meio

da sequência– Isso ocorre até para marcadores que ficam

sempre visíveis caso passem perto» Erros numéricos

• Introdução de novo marcador quando na verdade o marcador está reaparecendo

22

6.2 Processando as imagens

• Para achar os marcadores não visíveis– Soluções

•Posições tridimensionais dos marcadores• Intervenção do usuário•Uso de marcadores ativos

– São LEDs– Emitem uma luz única que os identifica– Pontos negativos

» Não tem brilho forte» Cada marcador precisa de um tempo para

soltar o próprio identificador» Há um atraso nas medidas dos marcadores por

isso não são gravados no mesmo instante

23

6.2 Processando as imagens

• Problema: Ruído– Movimentos relativos a posição inicial

•Oscilações•Reposicionamento

– Processo de amostragem• Imprecisão no posicionamento

– Ex: Por 0,5 cm» Para algumas animações pode ser um

grande erro

24

6.2 Processando as imagens

• Problema: Ruído– O usuário pode condicionar os dados

antes da reconstrução•Pontos muito inconsistentes podem ser

jogados fora•O resto é filtrado

– Objetivo: suavizar a imagem sem remover características importantes» Uso de média ponderada» Usuário entra com o número de vizinhos a

serem usados

6.3 Calibração da câmera

26

6.3 Calibração da câmera

• É necessário saber informações das câmeras– Posição– Orientações– Distância focal– Centro da imagem– Aspect ratio

27

6.3 Calibração da câmera

• A calibração é feita com um modelo simples de câmera pinhole– Ponto negativo

•Não apresenta efeitos ópticos que estão presentes no mundo real

– Define uma geometria de projeção•Usado para descrever um ponto no

espaço tridimensional•Plano de projeção ao longo do eixo-z

28

6.3 Calibração da câmera

• A calibração é feita com um modelo simples de câmera pinhole– Plano de projeção ao longo do eixo-z

29

6.3 Calibração da câmera

• A calibração é feita com um modelo simples de câmera pinhole– A imagem do ponto é formada onde o

raio passa pelo plano de projeção– Uso de semelhança de triângulos

30

6.3 Calibração da câmera

• A calibração é feita com um modelo simples de câmera pinhole– Gravação de pontos no espaço que são

conhecidos– Cria-se um conjunto de equações

lineares que serão resolvidas por método dos mínimos quadrados (least squares)

– Geralmente é necessário saber a não linearidade das •Lentes•Distancia focal•Outros...

6.4 Reconstrução de posição tridimensional

32

6.4 Reconstrução de posição tridimensional

• É necessário encontrar o marcador em pelo menos duas câmeras– Quanto mais ortogonais, melhor

– A imagem do ponto se encontra em

e

1I 2I

33

6.4 Reconstrução de posição tridimensional

• O usuário pode reconstruir o a posição em coordenadas do mundo

• Igualando as equações– Tem-se três equações e duas

variáveis • e são desconhecido

PCIkC

PCIkC

)(

)(

2222

1111

1k 2k

34

6.4 Reconstrução de posição tridimensional

• Problemas: Ruído – Faz com que essas equações não se

interceptam•Mas normalmente os pontos são próximos

– é perpendicular as outras duas linhas– O ponto entre e pode ser usado

0

0

2212

1112

)()(

)()(

CIPP

CIPP

)( 12 PP

1P 2P

35

6.4 Reconstrução de posição tridimensional

• Casos onde a identificação e o rastreio dos marcadores não foi completa– A distância entre e pode ser

usado para testar a correção de e •Se for muito grande

– Os marcadores são diferentes

1P 2P

1I 2I

36

6.4 Reconstrução de posição tridimensional

• 6.4.1 Múltiplos marcadores– A quantidade e posição dependem do

que se pretende fazer com o movimento capturado

– Em uma configuração normal só é necessário de 14 marcadores•3 por braços ou pernas•2 para cabeça

37

6.4 Reconstrução de posição tridimensional

• 6.4.1 Múltiplos marcadores– Para mais precisão são adicionadas

•Cotovelos• Joelhos•Peito•Mãos•Dedos•Tornozelo•Espinha

38

6.4 Reconstrução de posição tridimensional

39

6.4 Reconstrução de posição tridimensional

• 6.4.2 Múltiplas câmeras– Possibilidades de um marcador não

permanecer visível•Aumenta com a complexidade e o número

de marcadores

– Tipicamente, um sistema deveria ter 8 câmeras simultâneas•Devem ser sincronizadas

– Automaticamente– Manualmente

6.5 Ajustando ao esqueleto

41

6.5 Ajustando ao esqueleto

• Abordagem direta– A posição tridimensional de cada

marcador é sua posição global de uma junta•Problemas devido ao ruído, suavização e

imprecisões– As distâncias das juntas do esqueleto não

ficarão precisas ao longo do tempo» O tamanho do osso pode mudar entre 10 a

20%» Pode causar foot-sliding

42

6.5 Ajustando ao esqueleto

• Abordagem direta– A posição tridimensional de cada

marcador é sua posição global de uma junta•Os marcadores não estão exatamente no

lugar das juntas– Se encontram fora de sua superfície– Solução: Realocação do ponto

» Sem orientação– A falta de orientação pode ser resolvida

colocando marcadores dos dois lados da junta» Não funciona para juntas complexas

(ombros e espinha)» Dobra o numero de marcadores

43

6.5 Ajustando ao esqueleto

• Cálculos geométricos podem ser feitos para descobrir o deslocamento entre o marcador e a junta– É calculada a normal do plano que é feito por 3

juntas consecutivas• Normal usada para deslocar a junta• Exemplo: Cotovelo

– Se existirem 2 marcadores no pulso» A posição da junta do pulso pode ser interpolada

– A normal é calculada com as posições pulso-cotovelo-ombro

– A real posição do cotovelo é calculado acrescentando na direção da normal a medida do artista

– A normal é recalculada a cada frame– Problema: colinearidade

» Pode interpolado

44

6.5 Ajustando ao esqueleto

• Tendo as juntas em posições consistentes– Podem ser usados para controlar o

esqueleto– Uso das posições digitalizadas para

calcular a rotação das juntas

45

6.5 Ajustando ao esqueleto

• Por causa das inpresições algunams restrições podem ser violadas– Ex: Penetração no chão– Os problemas são potencialmente nos

end effectors•Normalmente tem que ser posicionados

independente do resto– As juntas acima na hierarquia devem ser

ajustadas

6.6 Saída do sistema de captura de movimento

47

6.6 Saída do sistema de captura de movimento

• Existem disponíveis softwares de captura de movimento– Permite montar a hierarquia dos

marcadores– Calibração de câmera– Automatizar o máximo possível o

processamento dos marcadores– Tem entrada do usuário para resolver

ambiguidades– Resultado pode ser animado ou salvo

48

6.6 Saída do sistema de captura de movimento

• Vários formatos-padrão de arquivos existem, os mais comuns são:– .asf / .amc (Acclaim)– .bvh (Biovision)

• Organização dos arquivos em duas partes:– Estrutural– Movimentação

• Orientados a:– Juntas (.bvh)– Esqueleto (.asf / .amc)

49

6.6 Saída do sistema de captura de movimento

• Exemplo de hierarquia de juntas root

joint Chest offset 0 5.21 03 DOFs: Zrotation Yrotation, XrotationLimits: (-180,180) (-90,90) (0,270)

joint Neckoffset 0 5.45 03 DOFs: Zrotation Yrotation, Xrotation

...joint Left UpperLeg

offset 3.91 0.0 0.03 DOFs: Xrotation Yrotation, Zrotation

joint LeftLowerLegoffset 3.91 0.0 0.01 DOF: Xrotation

...

50

6.6 Saída do sistema de captura de movimento

• Exemplo da gravação das juntas ao decorrer do tempo

– Cada linha é uma amostra do movimento

– O número de valores por linha é o DOF

-2.4 40.2 3.2 2.8 22.0 -23.0 ... -12.4 40.2 3.2 2.8 ...-2.8 42.1 3.4 2.8 22.1 -23.2 ... -12.2 42.3 3.3 3.8 ... 0.2 48.2 3.5 3.9 30.2 -25.2 ... -14.4 45.8 3.1 3.0 ... 2.4 50.4 3.3 5.0 35.2 -23.3 ... -20.2 44.9 3.3 2.8 ...

6.7 Manipulando os dados

de captura de movimento

52

6.7 Manipulando os dados de captura de movimento

• Os arquivos podem ser usados para animar qualquer objeto cujas dimensões correspondam objeto capturado

• Infelizmente, podem existir erros– Movimento pode ser recapturado– Pode-se manipular os arquivos

53

6.7 Manipulando os dados de captura de movimento

• 6.7.1 Processamento sinais– Cada parâmetro do movimento capturado

(angulo da junta), podem ser tratados como um sinal que varia no tempo

– Sinal pode ser decomposto em • Frequências

– Podem ser extraídas, manipuladas e recolocadas

• Time-warped• Interpolado com outros sinais

– Os sinais originais representam movimentação fisicamente correta

– Entretanto, nada garante a corretude física do movimento após modificação do sinal

54

6.7 Manipulando os dados de captura de movimento

• 6.7.1 Processamento sinais (processamento de sinal do movimento)– Baixa frequência:

• Representa movimentação grosseira, geral

– Alta frequência: • Representa detalhes e sutilezas• É onde a maior parte da ruído se encontra

– Para as modificações• Convolução com um filtro de kernel• Os ganhos de cada banda são ajustadas pelo

usuário• E depois são somados para reconstruir o sinal

55

6.7 Manipulando os dados de captura de movimento

• 6.7.1 Processamento sinais (deformação do movimento)– Cada curva de movimento é

deformada independentemente– Portanto, considera-se apenas uma

curva sem se preocupar com a influência das demais sobre ela

)(t

56

6.7 Manipulando os dados de captura de movimento

• 6.7.1 Processamento sinais (deformação do movimento)– As restrições incluem

•Um conjunto de pares , cada par dando o valor que deve assumir em um dado tempo

•Um conjunto de pares na forma agem como restrições de tempo– Cada par dando tempo para o qual o valor

originalmente associado ao tempo deve ser deslocado

),( ii t

)',( jj tt

jtjt

57

6.7 Manipulando os dados de captura de movimento

• 6.7.1 Processamento sinais (deformação do movimento)– O procedimento de deformação produz o

mapeamento: • Interpola através das restrições de

deformação

– Cria a curva de deformação de movimento:•Transladando e/ou escalando a curva original

para satisfazer as restrições:– Especificado pelo usuário– Funções e podem ser interpoladas no

tempo» Combinadas, estabelecem a função

)'(tgt

)()()()(' tbttat

),()(' tft

)(ta )(tb)'(t

58

6.7 Manipulando os dados de captura de movimento

• 6.7.2 Redirecionamento do movimento (motion retargeting )– Dimensões do objeto não bate com o

capturado•Mapear o movimento•Modificar para que satisfaça restrições

importantes– Evitar

» Penetração dos pés no chão» Auto penetração» Não permitir que o pé deslize

•Recontruida de forma mais semelhante possível da original

59

6.7 Manipulando os dados de captura de movimento

• 6.7.3 Combinando movimentos– A capacidade de combinar os

movimentos faz a captura de movimento mais útil para um animador•Os movimentos são gravados durando

poucos minutos cada•O modo mais simples de se combinar

pequenos movimentos em um maior é ter uma posição em comum– Não, necessariamente, há uma sensação de

continuidade

60

6.7 Manipulando os dados de captura de movimento

• 6.7.3 Combinando movimentos– Combinações mais realistas podem

ser conseguidas através da mistura entre o fim do primeiro e o início do segundo•Essa mistura pode parecer estranha se os

pontos a serem conectados não forem similares

•As técnicas de processamento de sinal podem ser utilizados para a mistura

– Há ainda pesquisa na área