cristian bonotto silva - biblioteca.unilasalle.edu.br · mozart, débora, gaspare, eurico, lincoln,...
TRANSCRIPT
Curso de Bacharelado em Ciência da Computação
CRISTIAN BONOTTO SILVA
CRIAÇÃO DE UM SISTEMA ÓTICO DE CAPTURA DE MOVIMENTO 3D EM TEMPO REAL
Canoas, 2009.
CRISTIAN BONOTTO SILVA
CRIAÇÃO DE UM SISTEMA ÓTICO DE CAPTURA DE MOVIMENTO
3D EM TEMPO REAL
Trabalho de conclusão apresentado para a banca examinadora do curso de Ciência da Computação do Centro Universitário La Salle, como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação, sob orientação do Prof. Me. Mozart Lemos de Siqueira.
Canoas, 2009.
CRISTIAN BONOTTO SILVA
CRIAÇÃO DE UM SISTEMA ÓTICO DE CAPTURA DE MOVIMENTO
3D EM TEMPO REAL
Trabalho de conclusão aprovado como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação do Curso de Ciência da Computação do Centro Universitário La Salle – UNILASALLE.
Aprovado pela banca examinadora em novembro de 2009.
BANCA EXAMINADORA:
Prof. MSc. Abraham Lincoln Rabelo de Souza.
Unilasalle
Prof. MSc. Neide Pizzolato Ângelo.
Unilasalle
Canoas, Novembro de 2009.
Dedico este trabalho a minha mãe, meu pai,
minha irmã e minha namorada que sempre me
apoiaram e incentivaram meus estudos.
AGRADECIMENTOS
Agradeço a todos que me ajudaram a chegar até aqui, principalmente minha família,
Cleusa Salete Bonotto (mãe), Rogério Antonio Rosa Silva (pai), Gabriele Bonotto Silva
(irmã), Amauri dos Santos (tio) e Marilei Terezinha dos Santos (tia). Devo um agradecimento
especial a minha namorada Michele Melo pelo apoio e compreensão durante meu trabalho de
conclusão.
Não posso esquecer-me de agradecer aos meus professores que me apoiaram durante
toda a graduação. Mozart, Débora, Gaspare, Eurico, Lincoln, Simão e Márcia. Aos meus
amigos e colegas que sem dúvida foram de grande importância, Tatiana Brezezinsk, Ana
Paula Michel, Adriana Severo, Nelson Sonntag (em memória), Rodrigo Reis, Rafaelo
Miranda, Fábio Breyer e Mauro Silva. Aos meus colegas de trabalho que me “aturaram”
divagando sobre as idéias mirabolantes para o TCC, Thiago Veiga, Rafael Lichman, Vinicius
Silveira, Vitor Rosa, Paulo e Anderson Borba.
RESUMO
A partir do estudo dos atuais sistemas de captura de movimento e suas particularidades, o
presente trabalho propõe um modelo de sistema ótico de captura de movimento, que seja
capaz de obter dados tridimensionais em tempo real. Este modelo de sistema disponibilizará
uma opção de captura de movimento para utilização na interação dos sistemas com os
usuários. Utilizar um sistema de captura de movimento para interagir com os usuários pode
contribuir de forma positiva, tornando a interação mais natural, podendo inclusive melhorar
questões ergonômicas entre o usuário e a aplicação. Para validar o modelo proposto foi
desenvolvido um protótipo de sistema que possibilite a captura e a visualização das
coordenadas tridimensionais de um objeto em tempo real.
PALAVRAS-CHAVE: captura de movimento, 3D
7
ABSTRACT
Based on studies about motion capture system and its own features, this study purposes a
model for an optical system of motion capture able to collect three-dimensional data in real
time. A motion capture system used to interact with user contributes in a positive way
creating a more natural interaction. It can also improve ergonomic issues between the user and
the system’s application. In order to check the proposed mode a prototype to enable the
capture and visualization of the object’s three-dimensional coordinates in real time was
developed.
KEYWORDS: motion capture, three-dimensional
LISTA DE ABREVIATURAS E SIGLAS
2D Duas Dimensões
3D Três Dimensões
MoCap Motion Capture, Captura do Movimento
VI Virtual Instruments, Instrumentos Virtuais
Led Light Emitting Diode, Diodo Emissor de Luz
IHC Interação Humano Computador
IR Infrared, Infravermelho
NI National Instruments
USB Universal Serial Bus
CCD Charge-Coupled Device, Dispositivo de Carga Acoplada
FPS Frame Per Second, Quadros Por Segundo
PN Part Number
mm Milímetros
FOV Field of View, Campo de Visão
LISTA DE FIGURAS
Figura 1 – Sistema Mecânico de Captura de Movimento __________________________ 18
Figura 2 – Sistema Magnético de Captura de Movimento__________________________ 19
Figura 3 – Sistema Ótico de Captura de Movimento ______________________________ 20
Figura 4 – Motion Capture Facial Baseado em Aquisição Estereoscópica _____________ 25
Figura 5 – Marionete Virtual 3D _____________________________________________ 26
Figura 6 – EVaRT 4.2 e Animazoo Gypsy _____________________________________ 27
Figura 7 – Sistema Ótico X Sistema Eletromecânico______________________________ 27
Figura 8 – Emissores e Refletores Óticos_______________________________________ 29
Figura 9 – Modelo de Processo de Estereoscopia ________________________________ 31
Figura 10 – Imagem Capturada Utilizando um Filtro de Luz ________________________ 32
Figura 11 – Oclusão ________________________________________________________ 32
Figura 12 – Matriz de Cores Correspondente_____________________________________ 33
Figura 13 – Painel Frontal LabVIEW___________________________________________ 35
Figura 14 – Diagrama de Bloco LabVIEW ______________________________________ 36
Figura 15 – Wizard Vision Acquisition Express __________________________________ 36
Figura 16 – Circuito Polarizador do Emissor Ótico ________________________________ 37
Figura 17 – Suporte para Fixação das Câmeras ___________________________________ 38
Figura 18 – Área comum de Captura ___________________________________________ 39
Figura 19 – Matriz de Cores Capturada _________________________________________ 39
Figura 20 – Análise da Matriz de Cores_________________________________________ 40
Figura 21 – Captura 2D Utilizando 1 Câmera ____________________________________ 41
Figura 22 – Captura 2D Utilizando 2 Câmeras ___________________________________ 42
Figura 23 – Algoritmo em LabVIEW___________________________________________ 43
Figura 24 – Suporte para fixação das câmeras ____________________________________ 44
Figura 25 – Dados capturados e convertidos X dados reais__________________________ 45
Figura 26 – Dependência entre Processos _______________________________________ 45
Figura 27 – Movimento Eixo X _______________________________________________ 46
Figura 28 – Movimento Eixo Y _______________________________________________ 46
Figura 29 – Movimento Eixo Z _______________________________________________ 47
Figura 30 – Simulação do Movimento Capturado _________________________________ 47
LISTA DE QUADROS
Quadro 1 – Características do Sistema Acústico de Captura de Movimento. ____________ 22
Quadro 2 – Características do Sistema Mecânico de Captura de Movimento. ___________ 23
Quadro 3 – Características do Sistema Magnético de Captura de Movimento.___________ 23
Quadro 4 – Características do Sistema Ótico de Captura de Movimento. _______________ 24
Quadro 5 – Sistema Ótico da universidade de Ohio X Sistema Ótico de Baixo Custo de Assaf
________________________________________________________________________ 26
Quadro 6 – Comparativo entre a profundidade calculada e a real _____________________ 44
11
SUMÁRIO
1 INTRODUÇÃO ......................................................................................................... 13
1.1 Dificuldades durante a pesquisa............................................................................... 14
1.2 Objetivos..................................................................................................................... 15
1.3 Organização do Texto ............................................................................................... 15
2 CAPTURA DE MOVIMENTO................................................................................ 17
2.1 Sistemas de Captura de Movimento ........................................................................ 17
2.1.1 Sistemas Acústicos ....................................................................................................... 17
2.1.2 Sistemas Mecânicos...................................................................................................... 18
2.1.3 Sistemas Magnéticos .................................................................................................... 18
2.1.4 Sistemas Óticos ............................................................................................................ 19
2.2 Classificação De Sistemas De Captura De Movimento .......................................... 20
2.2.1 Classificação da Tecnologia ......................................................................................... 20
2.2.2 Classificação de aquisição de dados............................................................................. 20
2.2.3 Classificação segundo a fonte emissora ....................................................................... 21
2.2.3.1 Sistemas Inside-in......................................................................................................... 21
2.2.3.2 Sistemas Inside-out....................................................................................................... 21
2.2.3.3 Sistemas Outside-in ...................................................................................................... 21
2.2.4 Aquisição de Dados...................................................................................................... 22
2.3 Comparativo Entre Os Sistemas De Captura......................................................... 22
3 TRABALHOS RELACIONADOS .......................................................................... 25
4 MODELO................................................................................................................... 28
4.1 Objetivos do modelo .................................................................................................. 28
4.2 Método de Captura e Análise ................................................................................... 28
4.2.1 Aquisição e Análise dos Dados .................................................................................... 28
4.2.2 Conversão das coordenadas.......................................................................................... 29
4.2.2.1 Estereoscopia ................................................................................................................ 30
4.3 Problemas e Soluções ................................................................................................ 31
4.4 Avaliação do Modelo ................................................................................................. 33
5 PROTÓTIPO ............................................................................................................. 34
5.1 LabVIEW ................................................................................................................... 34
5.1.1 Painel Frontal................................................................................................................ 34
12
5.1.2 Diagrama de Bloco ....................................................................................................... 35
5.2 Hardware.................................................................................................................... 37
5.3 Captura e Análise ...................................................................................................... 37
5.3.1 Alinhamento das Câmeras............................................................................................ 37
5.3.2 Aquisição dos dados ..................................................................................................... 38
5.3.3 Teste Preliminar............................................................................................................ 40
5.4 Cálculo 3D .................................................................................................................. 43
5.5 Apresentação Dos Dados Capturados .....................................................................46
5.6 Trabalhos Futuros ..................................................................................................... 47
6 CONCLUSÃO............................................................................................................ 48
REFERÊNCIAS ........................................................................................................ 50
13
1 INTRODUÇÃO
Animação é um conceito antigo, onde cartunistas desenhavam inúmeros quadros em um
papel e os exibiam a uma taxa de amostragem constante, gerando uma ilusão de movimento
contínuo (SILVA, 1997). A utilização de computadores nos processos de animação
automatizou o processo de criação. Modelos tridimensionais foram criados inserindo pontos
gerados a partir da captura de movimentos reais de objetos. Técnicas como o Keyframing e
Cinemática (MAGNENAT-THALMANN & THALMANN, 1990 apud SILVA, 1997)
auxiliam na manipulação dos movimentos capturados. Porém determinados movimentos
realísticos como a dança ou um solo na ginástica olímpica apresentam uma complexidade
muito alta em seus movimentos, impossibilitando a utilização destas técnicas, principalmente
pela quantidade elevada de pontos envolvidos.
Hoje em dia, tanto hardware quanto o software evoluem rapidamente. Segundo a Lei de
Moore (MOORE, 1965), o hardware aumenta o seu desempenho exponencialmente. Na
World Fair de 1939 já se falava em equipamentos com interfaces homem máquina de alta
usabilidade. Algumas idéias apresentadas nesta feira eram ousadas para a época, por exemplo,
eletrodomésticos com câmeras integradas, que poderiam ser controladas por gestos
(FREEMAN, 1999 apud FERNANDES, 2002).
Atualmente existem diversos recursos de hardware, software e de comunicação, onde
em sua maioria utiliza-se o mouse e o teclado para interagir com as aplicações. Apesar de
estarmos acostumados ao uso destes periféricos, eles limitam os movimentos e não nos
proporcionam uma interação de forma natural.
Interação homem computador (SHNEIDERMAN, 1998 apud TURK, 2003) envolve a
concepção e avaliação de sistemas computacionais interativos, onde o usuário deve interagir
da forma mais natural possível, adaptado ao contexto de trabalho ou tarefas em que o usuário
está inserido. Segundo Rocha “a maioria dos sistemas continua não atendendo às necessidades
de seus usuários, que tem que lidar com interfaces que mais parecem inimigas” (p. 14, 2003).
O avanço da tecnologia de hardware e software abre inúmeras possibilidades para IHC, os
desafios e objetivos atuais estão em focar no humano e não na tecnologia (Rocha, 2003). IHC
é aplicada a jogos, ambientes de aprendizagem, segurança, medicina, biologia e muitos outros
cenários. Integrar captura e processamento de imagens e movimentos aos atuais sistemas pode
tornar a interação mais natural.
14
Já existem sistemas que capturam movimentos e os aplicam para interação com o
usuário, um bom exemplo são as mesas ou telas de toque, que permitem ao usuário interagir
com diversos aplicativos tocando a tela. Uma mesa de toque independente da forma como o
movimento é capturado ou analisado, é um sistema de captura de movimento em 2D.
A maioria dos sistemas óticos de captura de movimento 3D, analisam e convertem os
dados off-line, principalmente por necessitar de um grande processamento para análise e
conversão dos dados. A intenção do presente trabalho é desenvolver um sistema de captura de
movimento que consiga obter dados tridimensionais em tempo real disponibilizando-os para
aplicações de interação com o usuário. A partir de estudos na área de Motion Capture, este
trabalho propõe a criação de um sistema ótico de captura de movimento 3D em tempo real,
para servir como base a diversas aplicações que necessitem de interação em tempo real,
utilizando hardware de baixo custo como webcams e leds emissores de infravermelho.
1.1 Dificuldades durante a pesquisa
Ao iniciar o desenvolvimento do presente trabalho, as dificuldades apareceram. Qual
plataforma seria mais eficaz para a resolução do problema? Utilizar marcadores reflexivos ou
diodos emissores de infravermelho? Qual linguagem utilizar? Muitas pesquisas foram
realizadas, analisando os trabalhos relacionados e efetuando alguns testes de acordo com as
opções encontradas. A primeira decisão foi a de utilizar o ambiente Windows para o
desenvolvimento, após foi escolhida a plataforma de software para projeto gráfico de sistemas
LabVIEW da National Instruments. O LabVIEW se tornou um paradoxo para o
desenvolvimento, ao mesmo tempo em que permite uma programação em um ambiente
gráfico voltado para a integração com hardware, é um software proprietário, no qual foi
possível adquirir apenas uma versão de avaliação de trinta dias. Além de quase ou nenhum
conhecimento e poucas fontes para obtê-los. O desenvolvimento em LabVIEW é muito
otimizado, pois os VIs (instrumentos virtuais) existentes disponibilizam inúmeras
funcionalidades como comunicação com câmeras USB e suporte a programação paralela.
Como a versão de avaliação é uma versão express, não possui todas as funcionalidades do
LabVIEW, o que acarretou em um maior esforço para o desenvolvimento.
15
1.2 Objetivos
O objetivo deste trabalho é criar um modelo de sistema ótico de captura de movimento,
a partir do estudo dos atuais sistemas, que seja capaz de obter dados tridimensionais em
tempo real. Este modelo de sistema disponibilizará uma opção de captura de movimento para
utilização na interação dos sistemas com os usuários. Utilizar um sistema de captura de
movimento para interagir com os usuários pode contribuir de forma positiva, tornando a
interação mais natural, podendo inclusive melhorar questões ergonômicas entre o usuário e a
aplicação. Será utilizado hardware de baixo custo, como webcams e leds emissores de
infravermelho para implementação de um protótipo do sistema proposto.
Os objetivos específicos do presente trabalho são:
- Estudo dos sistemas de captura de movimento, visando atender um sistema de captura
em tempo real;
- Criação de um modelo de sistema ótico de captura de movimento 3D em tempo real
- Escolha da fonte emissora, marcadores e emissores
- Definição da forma de análise do movimento
- Criação de um protótipo de sistema ótico para validação do modelo de captura
- Apresentação dos dados capturados em um ambiente computacional 3D
Avaliação do trabalho será executada através de verificações das medidas reais em um
ambiente controlado
1.3 Organização do Texto
No presente capítulo estão descritos quais são os objetivos e desafios a serem cumpridos
e enfrentados neste trabalho. Após, este trabalho está organizado conforme segue: Capítulo 2,
Captura de Movimento, onde é apresentado o estado da arte e os atuais sistemas. Serão
descritas as classificações pertinentes aos sistemas e por fim será apresentado um comparativo
entre os mesmos.
No capítulo 3, Trabalhos Relacionados, três pesquisas são apresentadas, “Motion
Capture Facial Baseado em Aquisição Estereoscópica” de Rodrigo Assaf que expôs a
problemática existente no processo de animação de faces e expressões em tempo real.
“Protótipo De Sistema Óptico De Captura Do Movimento Humano de Fernandes, que propôs
um sistema de ótico de captura sem a utilização de marcações especiais. E por fim Mark D.
Thomas que apresentou em “Cross-Validation of an Infrared Motion Capture System and an
16
Electromechanical Motion Capture Device”, um comparativo entre dois sistemas comerciais
de captura de movimento.
No capítulo 4, é proposto um modelo de captura de movimento baseado no sistema
ótico que possibilite a captura de dados tridimensionais. O capítulo aborda os métodos de
captura e análise de movimento, a técnica para conversão dos dados 2D para 3D estereoscopia
e algumas soluções para problemas encontrados na literatura pesquisada.
No capítulo 5, é apresentado um protótipo que foi desenvolvido para validar o modelo
proposto. Serão abordadas questões práticas como o hardware envolvido e a linguagem
escolhida para o desenvolvimento. O capítulo também apresentará os resultados obtidos nos
testes do protótipo. E por fim, no capítulo 6, é apresentada a conclusão do presente trabalho.
17
2 CAPTURA DE MOVIMENTO
Captura de movimento, motion capture (STURMAN, 1997 apud TURK), Mocap, ou
Performance Animation,consiste na captura da posição de um objeto real em movimento,
utilizando processos magnéticos ou óticos. Os dados capturados são inseridos em modelos 3D
no computador, onde as informações de movimentos são mapeadas. Quando se fala em
captura de movimento, necessariamente deve-se citar quatro sistemas: mecânicos, óticos,
magnéticos (FURNISS, 1999 apud FERNANDES, 2002) e acústicos (TRAGER, 1997 apud
FERNADES, 2002). Sistemas de captura de movimentos podem tornar-se uma importante
ferramenta de interação com o usuário.
2.1 Sistemas de Captura de Movimento
2.1.1 Sistemas Acústicos
Nos sistemas acústicos, emissores sonoros são agregados aos pontos articulados do ator,
posicionam-se três receptores para fazer a captura. Os emissores são acionados
sequenciadamente, produzindo um ruído característico que será captado pelos receptores. Para
calcular suas posições no espaço, utilizam-se as posições dos emissores e receptores, tempo
entre a emissão e recepção, e a velocidade do som propagada no ambiente (SILVA 1997).
Com uma triangulação entre as distâncias dos transmissores e receptores é possível calcular as
posições 3D dos emissores. Este sistema possui diversas desvantagens, como o incomodo
causado pela utilização de cabos que prejudicam a ação do ator limitando seus movimentos,
problemas causados por reflexões do som em objetos ou ruídos externos. Outra desvantagem
encontrada diz respeito ao acionamento sequencial dos emissores que inviabiliza a obtenção
de dados corretos em todos instantes desejados. Como vantagem deste sistema destaca-se
apenas a não vulnerabilidade por oclusão, presente no sistema ótico e a não interferência de
objetos metálicos presente no sistema magnético. Silva (1997) ao analisar as vantagens e
desvantagens do sistema acústico diz que o sistema deve ser considerado a última alternativa
dentre os sistemas de captura de movimento.
18
2.1.2 Sistemas Mecânicos
Sistemas Mecânicos (Figura 1) são os sistemas menos avançados, compostos por
potenciômetros posicionados nos pontos de articulação do ator. Um bom exemplo de sistema
mecânico são as luvas e marionetes articuladas (FERNANDES, 2002). Este sistema trabalha
com uma alta taxa de amostragem para capturar e fornecer suas posições (SILVA, 1997). Sua
vantagem é a baixa interferência, pois não é afetado por campos magnéticos ou reflexões
indesejáveis, diferentemente dos sistemas magnéticos e óticos respectivamente, outra
vantagem é que os sistemas mais recentes precisam de pouca ou nenhuma calibragem
(SILVA, 1997). A desvantagem é o desconforto do ator com os aparatos necessários, em
alguns casos a necessidade de calibragem pode ser uma desvantagem (FURNISS, 1999 apud
FERNANDES, 2002).
Figura 1 – Sistema Mecânico de Captura de Movimento Fonte: SILVA (1997)
2.1.3 Sistemas Magnéticos
Sistemas Magnéticos ou Eletromagnéticos (Figura 2) são caracterizados por sua
velocidade e baixo custo computacional, indicados para captura de movimentos com baixa
complexidade. Os dados capturados são processados em tempo real. Estes sistemas consistem
em um conjunto de receptores, colocados junto aos pontos de articulação onde se deseja
capturar o movimento do ator. Os receptores informam as coordenadas 3D desejadas com
base em uma antena transmissora. O papel da antena é emitir pulsos periódicos para orientar
os receptores. Os receptores são conectados à antena através de cabos, o que dificulta a
mobilidade e impossibilita que movimentos muito rápidos ou complexos sejam expressos
com naturalidade. Existem sistemas magnéticos sem fio, mas além de implicar em um
19
aumento de custos, continuam sujeitos a interferências. São extremamente sensíveis, onde em
ambientes não controlados podem sofrer a interferência de diversos equipamentos (FURNISS,
1999 apud FERNANDES, 2002).
Figura 2 – Sistema Magnético de Captura de Movimento
Fonte: SILVA (1997), KAZUKATA (2006)
2.1.4 Sistemas Óticos
O Sistema Ótico (Figura 3) é caracterizado como o sistema de captura de maior custo,
pois utiliza câmeras e softwares de alta tecnologia. É composto por refletores e emissores
óticos que são captados por câmeras especiais, gerando dados 2D, que posteriormente com o
auxílio de um software são convertidos em coordenadas 3D (SILVA 1997). São empregadas
diversas técnicas para sua implementação. O sistema MultiTrax, da Adaptive Optics
Associates, utiliza refletores implantados nos pontos articulados, para refletir flashes
sincronizados de infra-vermelho. Os pontos refletidos são capturados por uma ou mais
câmeras sensíveis a luz infra-vermelha. Já o Optotrak da Northern Digital, utiliza LEDs
emissores de infravermelho alocados junto aos pontos articulados do ator. Três câmeras são
responsáveis pela captura. Sua desvantagem é a necessidade de bateria e demais conexões.
Por fim o Elite da Bioengineering Tech utiliza LEDs infravermelho adaptados junto às
câmeras CCD que são refletidos em materiais reflexivos, um software com reconhecimento de
formas é integrado a este sistema. Dentre suas vantagens pode-se destacar a elevada taxa de
amostragem e a liberdade de movimentos dada aos atores. Um problema encontrado é a
oclusão de marcadores, impossibilitando a captura de pequenos objetos, ou de objetos em
movimento muito próximos. Para amenizar este problema a solução é aumentar o número de
câmeras (quantidade e qualidade) (FURNISS, 1999 apud FERNANDES, 2002).
20
Figura 3 – Sistema Ótico de Captura de Movimento
Fonte: 3DVF (2008)
2.2 Classificação De Sistemas De Captura De Movimento
Existem diversas classificações pertinentes aos Sistemas de Captura de Movimento.
Dentre elas destacam-se as classificações que se referem à tecnologia, aquisição de dados e
quanto à fonte emissora (SILVA 1997).
2.2.1 Classificação da Tecnologia
A classificação referente à tecnologia é dada pelo método no qual o sistema utiliza para
captura dos movimentos. Como já citado anteriormente, dividem-se em quatro sistemas,
Mecânicos, Óticos, Magnéticos e Acústicos.
2.2.2 Classificação de aquisição de dados
A aquisição de dados refere-se à forma de obtenção dos dados capturados, podendo ser
de duas formas, direta ou indiretamente (SILVA, 1997). Aquisição direta está contida em
sistemas que adquirem imagens diretamente, onde os dados capturados não necessitam de
nenhum tipo de processamento após a captura. Esta forma de aquisição é comum em sistemas
acústicos, magnéticos e mecânicos. O fato de não haver processamento não exclui a aplicação
de um filtro, para diminuir os ruídos e aumentar a qualidade. Aquisição indireta está presente
em sistemas em que após a captura das imagens, os dados capturados são analisados por um
21
software. Sua taxa de amostragem é maior do que a aquisição direta, mas emprega uma alta
tecnologia onerando o processo. Sistemas óticos geralmente adquirem imagens por aquisição
indireta.
2.2.3 Classificação segundo a fonte emissora
Os sistemas de captura dividem-se em três categorias: outside-in, inside-out e inside-in,
nesta categorização, o prefixo significa a posição do marcador ou sensor. O sufixo representa
a localização do emissor (em sistemas óticos refere-se à câmera) em relação ao corpo do ator.
(MULDER, 1994 apud SILVA, 1997).
2.2.3.1 Sistemas Inside-in
Nos sistemas Inside-in tanto a fonte emissora quanto os sensores encontram-se no corpo
do ator. As coordenadas obtidas na maioria dos sistemas não são 3D, mas sim orientações
relativas. O sistema mecânico de captura “Digital Monkey” é um exemplo de sistemas inside-
in.
2.2.3.2 Sistemas Inside-out
Em sistemas Inside-out os sensores são conectados junto ao corpo do ator e respondem
a sinais emitidos por uma fonte externa. As coordenadas obtidas são em sua maioria 3D,
geradas a partir dos sensores e marcadores. Sistemas magnéticos e acústicos são exemplos de
sistemas inside-out.
2.2.3.3 Sistemas Outside-in
Nos sistemas Outside-in a fonte emissora está localizada no corpo do ator, sensores
externos são responsáveis por capturar os sinais provenientes dos emissores. Por exemplo, em
sistemas óticos a fonte emissora corresponde a marcadores que emitem ou refletem luzes. As
luzes são capturadas por sensores, neste caso câmeras. Este tipo de sistema está fortemente
sujeito a problemas de oclusão, porém são minimamente obstrusivos (SILVA, 1997).
22
2.2.4 Aquisição de Dados
A aquisição de dados é de vital importância para os sistemas de captura, pois ela indica
a forma como são obtidos os dados no processo de captura. Esta classificação pode ser direta
ou indireta (SILVA, 1997).
Quando os dados obtidos através dos processos de captura não necessitam de nenhum
processamento posterior, trata-se de um sistema de aquisição direta. Os sistemas mecânicos,
acústicos e magnéticos possuem como característica a aquisição direta. Junto a estas
características geralmente os sistemas que empregam a aquisição direta possuem uma baixa
taxa de amostragem e são obstrusivos. Porém o fato de não existir um processamento
posterior não impede a existência de um filtro com o objetivo de melhorar a qualidade e
eliminar ruídos.
Quando os dados obtidos através dos processos de captura necessitam de um pós-
processamento, trata-se de um sistema de aquisição indireta. Por exemplo, no sistema ótico os
dados obtidos contém apenas informações 2D, logo necessitam de alguns processos de análise
e cálculos para transformá-los em 3D. A aquisição indireta é geralmente indicada para captura
de movimentos complexos e velozes, outra característica é de não ser obstrusiva.
2.3 Comparativo Entre Os Sistemas De Captura
Após conhecer os quatro sistemas de captura de movimento, é possível fazer um
comparativo entre eles. O quadro 1 demonstra as principais características, vantagens e
desvantagens do sistema acústico de captura de movimento.
Quadro 1 – Características do Sistema Acústico de Captura de Movimento. Fonte: SILVA (1997)
23
O quadro 2 corresponde as principais características, vantagens e desvantagens do
sistema mecânico de captura de movimento.
Quadro 2 – Características do Sistema Mecânico de Captura de Movimento. Fonte: SILVA (1997)
O quadro 3 demonstra as principais características, vantagens e desvantagens do
Sistema Magnético de Captura de Movimento.
Quadro 3 – Características do Sistema Magnético de Captura de Movimento. Fonte: SILVA (1997)
O quadro 4 corresponde às principais características, vantagens e desvantagens do
Sistema Ótico de Captura de Movimento.
24
Quadro 4 – Características do Sistema Ótico de Captura de Movimento.
Fonte: SILVA (1997).
Conforme os quadros anteriores é possível verificar que não existe um sistema perfeito.
Todos os sistemas possuem características que os favorecem ou não, em determinadas
situações. Por exemplo, os sistemas magnéticos não são indicados para captura de
movimentos complexos, pois o ator conta com uma baixa liberdade de movimentos. Já os
sistemas mecânicos são indicados a ambientes com alta interferência. Quando necessitarmos
de liberdade para o ator, a melhor opção é o sistema ótico.
25
3 TRABALHOS RELACIONADOS
Ao longo do presente trabalho alguns trabalhos destacaram-se por seus objetivos,
resultados alcançados e métodos utilizados.
Em “Motion Capture Facial Baseado em Aquisição Estereoscópica” Rodrigo Assaf
expôs a problemática existente no processo de animação de faces e expressões em tempo real.
Por exemplo, em jogos a animação facial dos personagens é realizada com baixa quantidade
de polígonos, o que resulta em uma animação facial simplificada já que a face possui um
número elevado de músculos. Assaf utilizou duas câmeras monocromáticas para capturar
movimentos faciais, aproximadamente de 66 pontos foram marcados na face do ator para
mapear os principais músculos responsáveis pelo movimento facial (Figura 4).
Figura 4 – Motion Capture Facial Baseado em Aquisição Estereoscópica Fonte: ASSAF (2006)
Seu objetivo consistia em animar uma face 3D através da captura dos movimentos reais,
aplicando o processo de estereoscopia. Dentre os resultados alcançados, Assaf destacou o
método de estereoscopia, que contribuiu para automatização e facilidade de implementação,
resultando em uma animação facial realista e visivelmente de acordo com a face capturada.
Para cada animação facial Assaf utilizou 3 quadros chave para atingir uma animação
realística. Para finalizar o trabalho, foi apresentado um comparativo entre o sistema proposto
e o sistema óptico de motion capture da Universidade de Ohio (Quadro 5).
26
Quadro 5 – Sistema Ótico da universidade de Ohio X Sistema Ótico de Baixo Custo de Assaf
Fonte: ASSAF (2006)
Fernandes propôs em “Protótipo De Sistema Óptico De Captura Do Movimento
Humano, Sem A Utilização De Marcações Especiais” um sistema ótico de captura de
movimento sem marcadores, utilizando técnicas de visão computacional 3D com o intuito de
animar uma marionete virtual de acordo com os movimentos de um ator em tempo real
(Figura 5).
Figura 5 – Marionete Virtual 3D Fonte: FERNANDES (2002)
Fernandes utilizou uma câmera com resolução de 320X240 pixels para captura das
imagens. Após a captura foi necessário remover o fundo da imagem e detectar os objetos em
movimento, analisar a silhueta dos objetos para identificação de uma figura humana.
Posteriormente a estas etapas, eram identificadas as posições 2D das partes referentes à
silhueta capturada. A última etapa foi reconstituir os movimentos utilizando um marionete
3D. A baixa resolução das câmeras foi um limitador da qualidade dos dados adquiridos.
Mark D. Thomas apresentou em “Cross-Validation of an Infrared Motion Capture
System and an Electromechanical Motion Capture Device” (2007), um comparativo entre dois
sistemas comerciais de captura de movimentos. A comparação foi realizada entre o sistema
óptico “EVa Real-Time Software” (EVaRT 4.2) da MotionAnalysis (Figura 6), composto por
12 câmeras com captura de infravermelho e uma taxa de amostragem de 60 frames por
27
segundo, e o sistema Eletromecânico sem fio da captura de movimento “Animazoo Gypsy” da
Animazoo (Figura 6).
Figura 6 – EVaRT 4.2 e Animazoo Gypsy Fonte: MOTION ANALYSIS (2008); ANIMAZOO (2008)
Mark concluiu com seus estudos, que embora as tendências gerais entre os sistemas
fossem similares, os testes indicaram uma diferença significativa entre o sistema ótico e
sistema eletromecânico. Conforme a figura 7, o sistema eletromecânico, apresenta-se um
tanto quanto impreciso em relação ao sistema ótico, não sendo indicado para validar modelos
humanos digitais. Entretanto, se a aplicação não necessitar uma exatidão absoluta no espaço,
o sistema eletromecânico poderá tornar-se uma opção viável.
Figura 7 – Sistema Ótico X Sistema Eletromecânico Fonte: Mark D. THOMAS (2007)
28
4 MODELO
4.1 Objetivos do modelo
O principal objetivo do modelo proposto é que o mesmo possa servir como base para
diversas aplicações que necessitem interagir com o usuário sem a utilização de periféricos
convencionais, como mouse e teclado. Diversas são as áreas que podem se beneficiar de um
sistema de captura seja ele ótico ou não. Por exemplo, um médico pode efetuar um
procedimento utilizando câmeras de vídeo, e com alguns movimentos, interagir com um
software que grave as imagens e comentários do procedimento na pasta do paciente. Quando
se fala em interação, torna-se indispensável que o sistema de captura, ao contrário da maioria,
consiga capturar e analisar os dados em tempo real. Para viabilizar as funcionalidades de um
sistema de captura em tempo real, uma das principais preocupações do sistema deve ser
quando ao custo computacional. É necessário obter a melhor relação custo benefício
balanceando qualidade, velocidade e custo.
4.2 Método de Captura e Análise
O processo de captura de movimento em um sistema ótico pode ser representado pela
seqüência das seguintes atividades: aquisição dos dados, análise dos dados e conversão das
coordenadas. A partir destes três passos é possível capturar movimentos em 3D que podem
ser utilizados por outras aplicações.
A aquisição de dados deve ser indireta, pois se trata de um sistema ótico, ou seja, os
dados capturados contêm apenas informações 2D, logo necessitarão de um processamento
para transformação em 3D.
4.2.1 Aquisição e Análise dos Dados
Segundo Silva (1997) pode-se capturar movimentos com a utilização marcadores,
podendo ser de duas formas, com refletores acoplados junto ao corpo dos atores, que deverão
refletir flashes infravermelhos, ou com emissores óticos devidamente posicionados nos atores.
Fernandes (2002) adiciona uma opção de captura sem a utilização de marcações especiais
29
(refletores e emissores óticos), porém este método emprega um processamento custoso. A
seqüência de ações a seguir reflete o fluxo das atividades. Captura dos dados, remoção do
fundo da cena e detecção dos objetos em movimento, análise da silhueta dos objetos em
movimento, localização do objeto desejado, segmentação da silhueta para identificação das
posições 2D do objeto e por fim a identificação do posicionamento 3D do objeto.
Justamente por envolver um processamento elevado, neste modelo de captura foi
descartado de início o método proposto por Fernandes. Marcadores óticos serão utilizados,
por envolver um custo computacional muito menor, pois sua seqüência de ações consiste em
capturar os frames, percorrer a imagem e localizar a coordenada correspondente a cor
desejada (com a utilização de emissores óticos a cor procurada é o branco). A figura 8 faz um
comparativo entre os refletores óticos e os emissores óticos.
Figura 8 – Emissores e Refletores Óticos Fonte: Autoria própria (2009)
O retângulo marcado em amarelo corresponde a uma região que contém um refletor
ótico, já o círculo verde corresponde a um emissor ótico. É possível observar claramente que
os emissores óticos apresentam uma definição melhor no que se refere ao ponto capturado.
Isso irá fazer com que o software de análise faça um esforço menor para encontrar a posição
ponto. A desvantagem de utilizar emissores e não refletores óticos é a necessidade de
introduzir um emissor e uma fonte de energia no ator ou objeto, normalmente é utilizada uma
bateria de dimensões reduzidas.
4.2.2 Conversão das coordenadas
Para um sistema ótico capturar dados 3D é necessário que no mínimo duas câmeras
capturem um mesmo ponto, (DAVIS (2000?) e HORPRASERT (2000c?), apud
FERNANDES, 2002). Se a quantidade de câmeras for maior, conseqüentemente aumentará a
30
precisão, disponibilidade e confiabilidade dos dados capturados (SILVA, 1997), porém junto
a isto aumentará o custo computacional inserindo atraso na análise e manipulação dos dados.
Como o objetivo deste trabalho é capturar apenas um ponto no universo, serão
utilizadas duas câmeras, alinhadas de forma paralela, possibilitando o emprego da técnica de
estereoscopia para gerar as coordenadas 3D.
4.2.2.1 Estereoscopia
A estereoscopia é uma técnica baseada no sistema humano de visão (ASSAF, 2006).
Consiste em simular duas imagens de uma cena com pontos de observação diferentes. As
câmeras devem ser alinhadas de forma paralela, a distância horizontal entre as câmeras servirá
de base para o cálculo de profundidade. Diversas áreas fazem uso desta técnica, por exemplo,
é possível confeccionar cartas topográficas utilizando fotografias aéreas. Segundo Siscoutto
(2004), as câmeras devem ser posicionadas a uma distância de 65 milímetros, para a obtenção
de um maior grau de realismo. São necessárias pelo menos duas imagens distintas e um único
ponto ou objeto a ser calculado. Algumas regras se fazem necessárias para calcular a
profundidade do ponto desejado, deve ser assumido que as câmeras estão alinhadas horizontal
e verticalmente, as duas câmeras devem estar posicionadas de forma paralela, a única
diferença deve ser a distância horizontal entre as câmeras. Com isso pode-se dizer que a
profundidade Z do ponto desejado é a mesmo nas duas imagens. A fórmula para calcular a
profundidade é (GONÇALEZ & WINTZ, 1987 apud ASSAF, 2006):
Z= λ - λB .
X2-X1
Onde lambda é igual à distância focal das câmeras e B é a distância entre os centros das
lentes das câmeras, conforme a figura 9.
31
Figura 9 – Modelo de Processo de Estereoscopia Fonte: ASSAF (2006)
4.3 Problemas e Soluções
Um dos problemas que existem durante o processo de captura e análise dos dados é a
similaridade das cores procuradas no ambiente. Por exemplo, quando se utiliza emissores
óticos como marcadores, localiza-se em cada frame a procura da cor branca. Porém a cor
branca pode estar em pontos distintos do ambiente sem que sejam provenientes dos
marcadores. Isto pode causar uma inconsistência nos dados capturados. Dentre as formas
existentes para minimizar este problema, destacam-se as smart-cameras, ou câmeras
inteligentes. Geralmente estas câmeras possuem um processador interno, no qual é possível
incluir instruções e programas embarcados, porém estas câmeras têm um custo elevado. Outra
forma de minimizar este problema é o uso de filtros de luz. É possível agregar filtros junto à
lente da câmera, diminuindo a intensidade da luz do ambiente, sem que este filtro influencie
nas ondas emitidas pelos emissores infravermelhos.
Como um dos objetivos deste trabalho é a utilização de hardware de baixo custo, este
modelo empregará um filtro de luz ambiente. Na figura 10 é possível visualizar o efeito de um
filtro de luz agregado à câmera.
32
Figura 10 – Imagem Capturada Utilizando um Filtro de Luz Fonte: Autoria própria (2009)
Outro problema citado por Silva (1997) é a oclusão dos marcadores, ao capturar
movimentos de objetos pequenos, como os dedos da mão, ou cenas onde existem muitos
atores, podem ocorrer à oclusão de um ponto para uma determinada câmera. Se um ponto não
for capturado por mais de uma câmera, fica inviável a conversão dos dados para 3D. A opção
para minimizar a ocorrência deste problema é o aumento do número de câmeras no ambiente.
A figura 11 ilustra um exemplo de oclusão, onde o ponto é capturado apenas por uma câmera.
Figura 11 – Oclusão Fonte: Autoria própria (2009)
A análise dos dados capturados deve ser realizada em seqüência com o processo de
aquisição da imagem. Os frames de cada câmera devem ser analisados para localizar a
posição correspondente do ponto desejado. Serão utilizadas imagens em escala se cinza
33
(grayscale) para otimizar o processo de análise, pois é necessária uma quantidade menor de
bytes para representação da imagem. A figura 12 demonstra uma matriz que correspondente a
uma imagem em escala de cinza. Onde os tons de cinza são representados utilizando valores
entre 0 e 255.
Figura 12 – Matriz de Cores Correspondente Fonte: Autoria própria (2009)
4.4 Avaliação do Modelo
Para avaliar o modelo proposto neste capítulo, foi desenvolvido um protótipo de
sistema. Como o propósito do modelo é capturar a posição tridimensional de um ponto em
movimento a partir de um sistema ótico, um ambiente controlado foi desenvolvido a partir das
premissas expostas no decorrer deste capítulo. Os requisitos do sistema são os seguintes:
- O sistema deve ser capaz de capturar um ponto em movimento em tempo real
- O sistema deve converter os dados capturados em coordenadas 3D
- O sistema deve apresentar os dados capturados e convertidos em um modelo
computacional 3D
- A aplicação deve possibilitar que o ator mova um objeto na tela do computador de
acordo com seus movimentos reais
- O sistema deve prover apenas o que lhe é explicitado, não havendo funcionalidades
extras
34
5 PROTÓTIPO
Para iniciar o desenvolvimento do protótipo o primeiro passo foi escolher o sistema
operacional. Foi escolhido o ambiente Windows, utilizando a linguagem de programação C++
e OpenGl para apresentação dos dados. Porém ao pesquisar soluções similares encontramos o
LabVIEW que se mostrou uma excelente opção para o desenvolvimento do protótipo.
5.1 LabVIEW
O LabVIEW é um software aplicativo baseado na linguagem G (linguagem de
programação gráfica) que emprega ícones ao invés de textos para criar aplicações (NERY,
2009), ao contrário das linguagens tradicionais que utilizam linhas de comando para
desenvolver os algoritmos. O ambiente de programação do LabVIEW conta com duas janelas,
uma é denominada Painel Frontal, que serve como interface com o usuário, a outra é chamada
Diagrama de Bloco que é onde o programador desenvolve seu código fonte a partir dos ícones
disponíveis (NI, 2009).
5.1.1 Painel Frontal
Como dito anteriormente, o painel de controle corresponde à interface com o usuário,
nele o programador disponibiliza controles, indicadores e demais ferramentas para interação
com o usuário. A figura 13 corresponde ao painel frontal de uma aplicação em LabVIEW.
35
Figura 13 – Painel Frontal LabVIEW Fonte: Autoria própria (2009)
Pode-se visualizar na figura 13 a existência de dispositivos de saída (Imagem Out), de
controle (Stop) e indicativos (Image Number).
5.1.2 Diagrama de Bloco
Diagrama de bloco é onde o programador desenvolve seu código fonte, a partir dos
ícones e conectores que são utilizados para interligá-los. O LabVIEW disponibiliza diversos
recursos ao programador através de um painel de funções (Figura 14). Basta selecionar o VI
desejado e arrastá-lo para o diagrama de bloco. O painel de funções ainda disponibiliza uma
opção de busca para facilitar a programação.
36
Figura 14 – Diagrama de Bloco LabVIEW Fonte: Autoria própria (2009)
Alguns VIs são acompanhados de um wizard para configuração. Por exemplo, se o
programador arrastar para o diagrama de bloco o VI “Vision Acquisition”. Terá a
possibilidade de configurar o VI em poucos passos utilizando o wizard de configuração
correspondente conforme Figura 15.
Figura 15 – Wizard Vision Acquisition Express Fonte: Autoria própria (2009)
37
5.2 Hardware
Para implementação do protótipo foram utilizados os seguintes equipamentos.
- 2 Câmeras com resolução 640X480 (Câmera tipo Web com conexão USB 2.0 até 30
FPS)
- 1 Emissor ótico PN SIR-56ST3F Fabricante ROHM
- 1 Bateria CR1220 EEMB
- 1 Suporte para baterias 12 mm PN BH-12T.1 Fabricante YINSHOW LT,CO
- 1 Resistor PN MCR10EZHJL820 Fabricante ROHM
-1 Notebook (Processador P8600; memória 3Gb; HD 320Gb)
-2 Filtros tipo filme fotográfico
O circuito ilustrado na figura 16 é responsável por polarizar o emissor ótico.
Figura 16 – Circuito Polarizador do Emissor Ótico Fonte: Autoria própria (2009)
5.3 Captura e Análise
5.3.1 Alinhamento das Câmeras
Conforme mencionado anteriormente, foram utilizadas duas câmeras para captura dos
dados. As câmeras devem estar alinhadas tanto no eixo Y quanto no eixo Z. Já no eixo X as
câmeras terão uma distancia de 75 mm entre os centros. Para garantir o posicionamento das
câmeras foi necessário desenvolver uma base de acrílico, com aberturas para as lentes das
38
câmeras, de forma que as duas fiquem a uma distância de 75 mm no eixo X e não tenham
variações nos eixos Y e Z. Para prover uma fixação segura e sem variações, foi necessário
desmontar as câmeras. A figura 17 demonstra como foram fixadas na base.
Figura 17 – Suporte para Fixação das Câmeras Fonte: Autoria própria (2009)
5.3.2 Aquisição dos dados
A biblioteca “Vision and Motion” da National Instruments (NI) foi utilizada para
capturar os frames das duas câmeras. Após iniciar a comunicação com as câmeras é
necessário converter os frames capturados em uma matriz, com valores que representem as
cores dos pixels da imagem. O VI “IMAQ ColorImageToArray“ que está disponível na
biblioteca “Color Utilities” foi utilizado para converter os frames em uma matriz. Para
otimizar o processo de análise dos dados, a matriz de pixels terá sua representação entre os
valores 0 (preto) e 255 (branco). Ao utilizar o VI ColorImageToArray é necessário incluir a
área de interesse, ou seja, região da imagem que deverá ser convertida para a matriz. Foram
utilizadas duas câmeras, com uma distância de 75 mm entre elas. É preciso que o ponto
desejado seja capturado simultaneamente pelas duas câmeras, portanto não é necessário
analisar toda a imagem, mas sim a área da imagem que é comum as duas câmeras. Na figura
18 pode-se visualizar um retângulo verde, que representa a área capturada pela câmera 1, já o
retângulo azul representa a área capturada pela câmera 2. O retângulo em vermelho ilustra a
área comum entre as câmeras.
39
Figura 18 – Área comum de Captura Fonte: Autoria própria (2009)
Após converter as imagens correspondentes à área comum, em uma matriz com
valores entre 0 e 255, basta percorrer a matriz a procura do ponto desejado. Um filtro de luz
foi utilizado para reduzir consideravelmente a luz do ambiente, este filtro não atenua a luz
emitida pelos emissores infravermelhos. A imagem capturada terá uma região predominante
com valores próximos de 0 (preto), onde estiver o emissor IR, os valores estarão próximos de
255 (branco). Na figura 19 pode-se ver uma imagem e sua matriz de cores parcial respectiva.
Figura 19 – Matriz de Cores Capturada Fonte: Autoria própria (2009)
Diversos algoritmos podem ser utilizados para percorrer a matriz a procura da cor
desejada. No algoritmo escolhido, a matriz será percorrida linha e coluna de forma
progressiva e incrementos de 5 em 5 posições até encontrar o valor desejado. Na figura 20 é
40
possível observar como o algoritmo de busca irá proceder. Apenas as posições em vermelho
serão analisadas.
Figura 20 – Análise da Matriz de Cores Fonte: Autoria própria (2009)
5.3.3 Teste Preliminar
Para testar se o algoritmo de busca está funcionando corretamente, foi realizado um
teste utilizando uma câmera. Efetuados os passos anteriores, comunicação com a câmera,
conversão em uma matriz com valores entre 0 e 255. Percorre-se a matriz, a procura do ponto
desejado (branco ou 255). Obtêm-se então as coordenadas 2D correspondentes ao ponto
capturado. Estas coordenadas X e Y são então utilizadas para movimentar um ponto em um
ambiente 2D, os objetivos são:
- Observar nesta janela se o ponto em movimento contém as mesmas posições do ponto
capturado
- Verificar se o sistema consegue executar todos os processos em tempo real
Conforme a figura 21 pode-se observar que o teste obteve um resultado positivo, quanto
à captura e análise com uma câmera. O ponto branco foi capturado e identificado, suas
coordenadas correspondentes foram X= 432 e Y= 228. Verificando o ponto preto colocado na
figura 2D foi possível observar perfeitamente a execução em tempo real dos processos de
aquisição e análise dos frames capturados.
41
Figura 21 – Captura 2D Utilizando 1 Câmera Fonte: Autoria própria (2009)
Após verificar a funcionalidade do sistema com uma câmera, foi realizado o mesmo
processo com duas câmeras. Os objetivos são:
- Observar se o ponto em movimento está sendo capturado pelas duas câmeras
- Verificar se existe consistência entre os pontos capturados e os pontos apresentados
nas imagens 2D.
- Observar se as câmeras estão posicionadas corretamente no eixo ‘Y’ (o ponto
capturado deve possuir o mesmo valor de ‘Y’ tanto para a câmera 1 quanto para a câmera 2)
- Verificar se o sistema está mantendo a característica de tempo real.
Conforme a figura 22 é possível observar que o sistema está de acordo com as
expectativas.
42
Figura 22 – Captura 2D Utilizando 2 Câmeras Fonte: Autoria própria (2009)
Objetivos alcançados:
- O sistema consegue capturar um ponto simultaneamente pelas câmeras
- O ponto capturado é perfeitamente encontrado na matriz de pixels e representado na
imagem 2D
- Como Y1 e Y2 capturados foram iguais, pode-se concluir que as câmeras estão
devidamente alinhadas quanto ao eixo Y
- Mesmo duplicando o processamento ao utilizar duas câmeras, o sistema manteve a
execução em tempo real
Durante a execução do teste, foi observada uma leve falta de sincronismo entre a
captura, análise e apresentação dos dados das duas câmeras. Esse evento deve-se a forma
como o sistema foi desenvolvido no LabVIEW, conforme a figura 23 é possível observar que
existem dois processos distintos, sem nenhuma dependência entre eles. Essa falta de
sincronismo pode implicar em uma inconsistência na posição capturada, principalmente
quando os dados forem submetidos à técnica de estereoscopia.
43
Figura 23 – Algoritmo em LabVIEW Fonte: Autoria própria (2009)
5.4 Cálculo 3D
Para transformar os dados 2D capturados pelas duas câmeras será utilizada a técnica de
estereoscopia. Conforme visto anteriormente a fórmula para calcular a profundidade (Z) é:
Z= λ - λB .
X2-X1
As premissas a seguir devem ser verdadeiras para assegurar a consistência dos dados
gerados.
- As câmeras estão alinhadas no eixo ‘Y’
- As câmeras estão alinhadas no eixo ‘Z’
- A distância entre as câmeras deve ser fixa e conhecida
- A distancia focal das câmeras utilizadas (λ) deve ser conhecida
Conforme os testes efetuados utilizando duas câmeras e as imagens 2D, pode-se garantir
o alinhamento no eixo ‘Y’, pois, ao capturar um ponto por duas câmeras foram obtidos
valores idênticos para ‘Y’. O alinhamento das câmeras no eixo ‘Z’ e a distância entre as
mesmas são garantidos mecanicamente pelo suporte desenvolvido. A distância focal das
câmeras é obtida no manual das mesmas, mas também pode ser calculado substituindo valores
conhecidos de profundidade na fórmula de estereoscopia.
44
Para testar a conversão dos dados de 2D para 3D, 5 pontos estáticos de profundidade
conhecida foram capturados. No quadro 6 pode-se observar que a conversão não funcionou
corretamente. A profundidade calculada diferenciou-se em mais de 150 mm.
Profundidade
Calculada
(mm)
Profundidade
Real (mm)
765 735
550 632
463 546
325 412
640 800
Quadro 6 – Comparativo entre a profundidade calculada e a real Fonte: Autoria própria (2009)
A possível explicação para tal diferença no processo de conversão pode estar no
alinhamento paralelo das câmeras, mas a baixa qualidade das mesmas também pode estar
contribuindo para esta diferença. A solução encontrada foi desenvolver um novo suporte para
fixação das câmeras. A figura 24 corresponde ao desenho do novo suporte desenvolvido,
desta vez ao invés de acrílico, o suporte foi desenvolvido em madeira, contando com
parafusos e espaçadores plásticos.
Figura 24 – Suporte para fixação das câmeras Fonte: Autoria própria (2009)
Para testar novamente a conversão dos dados de 2D para 3D utilizando o novo suporte,
14 pontos estáticos de profundidade conhecida foram capturados. Na figura 25 pode-se
observar que a conversão funcionou corretamente. A profundidade calculada diferenciou-se
em poucos centímetros, com um desvio padrão de 5,4 centímetros.
45
Figura 25 – Dados capturados e convertidos X dados reais Fonte: Autoria própria (2009)
Como para gerar a profundidade do ponto capturado é necessário utilizar as
coordenadas das duas câmeras, foi gerada uma dependência entre os processos de captura da
câmera 1 e 2. Esta dependência eliminou o problema de falta de sincronismo entre os
processos que foram observados durante os testes 2D. Na figura 26 é possível visualizar a
dependência entre os processos no algoritmo.
Figura 26 – Dependência entre Processos Fonte: Autoria própria (2009)
mm
Quadros Selecionados
46
5.5 Apresentação Dos Dados Capturados
Para apresentação dos dados capturados e convertidos, um ambiente 3D foi desenvolvido em LabVIEW utilizando a biblioteca “3D Picture control”. A esfera vermelha se move de acordo com os movimentos do ator, a figura 27 apresenta passo a passo o movimento da esfera no eixo X.
Figura 27 – Movimento Eixo X Fonte: Autoria própria (2009)
Na figura 28 pode-se observar passo a passo o movimento da esfera no eixo Y, de
acordo com os movimentos do ator.
Figura 28 – Movimento Eixo Y Fonte: Autoria própria (2009)
47
Finalmente na figura 29 pode-se observar passo a passo o movimento da esfera no
eixo Z, de acordo com os movimentos do ator.
Figura 29 – Movimento Eixo Z Fonte: Autoria própria (2009)
Na figura 30 é possível observar uma simulação do movimento capturado, onde as curvas coloridas foram obtidas a partir de uma série de movimentos capturados.
Figura 30 – Simulação do Movimento Capturado Fonte: Autoria própria (2009)
5.6 Trabalhos Futuros
Uma opção para trabalhos futuros é desenvolver uma interface que utilize como base
para a interação, o modelo de sistema proposto. A partir do modelo proposto, é possível
permitir ao usuário novas formas de interação com a aplicação, podendo inclusive melhorar
questões ergonômicas.
48
6 CONCLUSÃO
Um protótipo foi desenvolvido com o intuito de avaliar o sistema proposto. O objetivo
do protótipo era capturar a posição 3D de um ponto em movimento. Os seguintes
requisitos do sistema foram alcançados.
- O sistema apresentou-se capaz de capturar um ponto em movimento em tempo real
- O sistema apresentou os dados capturados e convertidos em um modelo computacional
3D.
- O ator, com uso de um emissor ótico, consegue mover um objeto (esfera) na tela do
computador, de acordo com seus movimentos reais
- O sistema é capaz de converter os dados capturados em coordenadas 3D
Conforme visto anteriormente o protótipo desenvolvido apresentou uma precisão
satisfatória. Mesmo utilizando câmeras de baixa qualidade, foi possível obter uma
precisão suficiente para fins de interação. A técnica de estereoscopia se mostrou muito
eficaz para o cálculo da profundidade, pois apresenta um resultado satisfatório quanto à
exatidão dos dados convertidos e necessita de pouco processamento.
Apesar de o protótipo ter alcançado os objetivos proposto, algumas considerações são
necessárias.
- Foi utilizada uma licença de avaliação do LabVIEW. A versão de avaliação (versão
express) não contempla todas as funcionalidades do software. Utilizando o pacote
completo do LabVIEW seria possível alcançar resultados mais desafiadores e com um
esforço menor
- As câmeras utilizadas possuem uma qualidade baixa e uma área de captura pequena
- O alinhamento das câmeras é tido como crítico, pois qualquer eixo que esteja
desalinhado pode impactar em um grande erro nos cálculos
Existem no mercado opções como, por exemplo, a família “Smart Cameras” da
National Instruments, que possui um processador interno onde é possível implementar
uma série de funcionalidades, além de prover uma total integração com os módulos do
LabVIEW. Mas antes de adquirir uma câmera de alta qualidade e valor, é necessário
verificar se a mesma não contém um filtro de IR. Câmeras de qualidade superior
geralmente contam com este filtro, neste caso será preciso substituir a lente por outra sem
filtro IR.
Após terminar os estudos e testes necessários para a confecção do presente trabalho,
pode-se concluir que, como o esperado, é possível utilizar um sistema ótico de captura de
49
movimento para capturar dados tridimensionais em tempo real, aplicando-os a interação
com o usuário. Sistemas de captura de movimento em 2D já são comuns em aplicações do
cotidiano, porém conforme comprovado neste trabalho já dispõe-se de tecnologia para
implementar sistemas tridimensionais em tempo real. O que abre um precedente para a
interação em mais alto nível, empregando captura tridimensional a aplicativos diversos.
50
REFERÊNCIAS
3dvf, 2008. Motion Capture. Disponível em: <www.3dvf.com>. Acesso em: 21 set. 2008. Animazoo.com , 2008. Animazoo Gypsy. Disponível em: <http://www.animazoo.com/>. Acesso em: 12 maio 2008. ASSAF, Rodrigo, 2006. Método para um sistema de animação facial baseado em aquisição estereoscópica. Disponível em: <http://www.cin.ufpe.br/~sbgames/proceedings/files/Motion%20Capture.pdf>. Acesso em: 25 ago. 2008. ASSAF, Rodrigo, 2006. Motion Capture Facial Baseado em Aquisição Estereoscópica. Disponível em: < http://www.sbc.org.br/bibliotecadigital/?module=Public&action=SearchResult>. Acesso em: 8 set. 2008. BEAUDOIN, Philippe.; BEAUDOIN, Philippe.; PANNE, Michiel, 2007. Adapting Wavelet Compression to Human Motion Capture Clips. Disponível em: <http://portal.acm.org/citation.cfm?id=1268568>. Acesso em: 25 ago. 2008. DOBRIAN, Christopher.; BEVILACQUA, Frédéric, 2003. 3D Motion Capture Data: Motion Analysis And Mapping To Music. Disponível em: <www.ics.uci.edu/~jridenou/BevilacquaRidenourSISM02.pdf>. Acesso em: 16 abr. 2008. FERNANDES, Leandro Augusto Frata, 2002. Protótipo de sistemas óptico de captura do movimento humano, sem a utilização de marcações especiais. Disponível em: <www.inf.ufrgs.br/~laffernandes/fernandes_TCC_2002.pdf>. Acesso em: 26 ago. 2008. HUFF, Rafael; SILVA Isabel C.S.; FREITAS, Carla M.D.S.; NEDEL, Luciana P. Seleção de Objetos em Ambientes Virtuais com Mouse 3D, In: SVR 2006 – SBC SYMPOSIUM ON VIRTUAL REALITY, 2006, Belém. SVR 2006 VIII Symposium on Virtual Reality. Belém: CESUPA, 2006. v. 1, p. 349-360. INSTRUMENTS, National, 2009. LabVIEW. Disponível em: < www.ni.com>. Acesso em: 8 ago. 2009. KUHN, Giovane Roslindo, 2005. Animação de um Personagem Virtual Utilizando Captura Óptica de Movimento com Marcações Especiais. Disponível em: <http://www.inf.furb.br/tcc/index.php?cd=8&tcc=695>. Acesso em: 22 fev. 2008. MARK D. Thomas, 2006. Cross-Validation of an Infrared Motion Capture System and an Electromechanical Motion Capture Device. Disponível em: <http://www.cavs.msstate.edu/information.php?eid=91>. Acesso em: 24 jun. 2008. MITOBE, Kazukata et al., 2006. Development of a Motion Capture System for a Hand Using a Magnetic Three Dimensional Position Sensor. Disponível em: <http://portal.acm.org/citation.cfm?id=1179740>. Acesso em: 12 jul. 2008.
51
MOORE, Gordon, 1965. Moore's Law. Disponível em: <http://www.intel.com/technology/mooreslaw/>. Acesso em: MotionAnalysis, 2008. EVaRT 4.2. Disponível em: <http://www.motionanalysis.com/>. Acesso em: 15 maio 2008. NEDEL, Luciana Porcher, MOLET, Tom and THALMANN, Daniel. Animation of Virtual Human Bodies Using Motion Capture Devices, Proc. 2nd Brazilian Workshop on Virtual Reality - WRV'99, p. 139-150, Marilia, SP, Brazil, November, 1999. NERY, Roberta Tamara da Costa, 2009. Introdução ao LabVIEW. Disponível em: <http://www.ufpa.br/gva/>. Acesso em: 23 out. 2009.
ROCHA, Heloísa Vieira da.; BARANAUSKAS, Maria Cecília, 2003. Paradigmas da Comunicação HC e o Design de Interfaces. Disponível em: < http://eurydice.nied.unicamp.br/publicacoes/publicacao_detalhes.php?id=40>. Acesso em: 19 out. 2009. SILVA, Fernando Wagner Serpa Vieira da, 1997. Um sistema de animação baseado em movimento capturado. Disponível em: <http://www.visgraf.impa.br/Projects/meapture/publ/thesis-letter.pdf>. Acesso em: 21 out. 2008. SISCOUTTO, Robson Augusto, et al. Estereoscopia. In: C. Kirner e R. Tori (eds.) , Realidade Virtual: Conceitos e Tendências – Livro do Pré-Simpósio SVR 2004, Cap. 11, p. 179 – 201. Editora Mania de Livro, São Paulo, 2004. TURK, Matthew, KÖLSCH, Mathias, 2000. Perceptual Interfaces. Disponível em: <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.822>. Acesso em: UGHINI, Cleber S.; BLANCO, Fausto R.; PINTO, Francisco M.; FREITAS, Carla M.D.S.; NEDEL, Luciana P. EyeScope: A 3D Interaction Technique for Accurate Object Selection in Immersive Environments, In: SVR 2006 - SBC SYMPOSIUM ON VIRTUAL REALITY, 2006, Belém. SVR 2006 VIII Symposium on Virtual Reality. Belém: CESUPA, 2006. v. 1, p. 77-88. XING Chen, JAMES Davis, 2000. Camera Placement Considering Occlusion for Robust Motion Capture. Disponível em: <http://www-graphics.stanford.edu/papers/OcclusionMetric/>. Acesso em: 14 mar. 2008.