artoolkit
Post on 19-Mar-2016
33 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
Introdução a Multimídia Bruno D’Ambrosio - bgda Cyrus Dias – cds Diego César – dcfq Diogo Severo – dss2 Flávia Chaves – frcc Thiago Carvalho – tjcps Victor Rocha - vhqr
Roteiro
Introdução História Realidade Aumentada Aplicações em RA Tecnologias de Apresentação ARToolKIT Plataformas Funcionamento O processo de calibragem Arquitetura Exemplos Conclusão Referências
2
Introdução
O que é Realidade Aumentada ?O que é Realidade Aumentada ? A Realidade Aumentada (RA) é uma área de pesquisa
computacional que trata da integração de elementos virtuais gerados por computador com o mundo real, aumentando a cena com informações adicionais com as quais o usuário possa interagir em tempo real.
3
Breve Histórico Quando descrevemos a história da realidade aumentada
também estamos descrevendo os processos que o homem utilizou para melhorar o mundo natural.
15,000 BC: Os desenhos nas cavernas de Lascaux mostram imagens “virtuais” numa caverna escura, que iniciaram a idéia de melhorar o mundo real
1849: Richard Wagner introduz a idéia de experiências imersivas utilizado um teatro escuro e envolvendo a audiência com sons e imagens. 1948: Norbert Wiener cria a ciência da cibernética, transmitindo mensagens entre homem e máquina. 1962: Mortong Heilig, um cinematógrafo, cria um simulador de motocicletas chamado Sensorama, com imagens, sons, vibração e cheiro.
Introdução à Multimídia – ARToolKit 4
Históricocontinuação... 1966: Ivan Sutherland inventa o HMD (Head-Mounted Display) sugerindo que ele fosse uma janela para um mundo virtual. 1975: Myron Krueger cria o Videoplace, que permite usuários interagirem com objetos virtuais pela primeira vez. 1989: Jaron Lanier inventa a expressão “Realidade Virtual” e cria o primeiro negócio comercial em torno de mundos virtuais. 1990: Tom Caudell cria a expressão “Realidade Aumentada” quando trabalhava na Boeing, ajudando trabalhadores na linha de montagem de aviões.
5
Realidade Aumentada
Objetivo Objetivo Criar um sistema onde o usuário não consiga
distinguir o mundo real do virtualmente aumentado. Diz-se que esse objetivo da RA é utópicoporque ele se depara com vários problemas.
Principais ProblemasPrincipais Problemas Defasagem Espacial: diferença de registro entre os objetos virtuais e a cena real.
Registro é o alinhamento dos objetos reais e virtuais para que se tenha a perfeita ilusão da coexistência dos dois ambientes.
6
Realidade Aumentada Defasagem Temporal: Latência entre a resposta do
processamento da cena e a visualização do resultado desse processamento pelo usuário.
Precariedade dos Gráficos: Quando a imagem do objeto virtual na cena é muito rudimentar, a distinção do que é real do virtual se torna evidente.
Oclusão: Refere-se ao ato de ocultar (mascarar) porções de objetos reais ou virtuais na cena 3D tornando a sua coexistência o mais real possível.
7
Exemplos de aplicações em RA Construct3D
Uma Aplicação em Realidade Aumentada para ensino de matemática e geometria.
Fonte: http://www.ims.tuwien.ac.at/research/construct3d/ 8
Exemplos de aplicações em RA LevelHead
Um jogo de memória espacial onde o usuário move o personagem utilizando um cubo que também representa os níveis do jogo.
Fonte: http://julianoliver.com/levelhead 9
Exemplos de aplicações RA LIRA
Livro Interativo com Realidade Aumentada
10
Exemplo de aplicações em RA Tinmith Project
Projeto cujo objetivo é desenvolver aplicações outdoor
Fonte: http://www.tinmith.net/ 11
Tecnologias de apresentação São as formas como o usuário visualizará o
mundo real com os objetos virtuais inseridos nele.
As principais tecnologias de apresentação são: Apresentação baseada em monitor Apresentação baseada em video see-through Apresentação baseada em optical see-through
O ponto em comum entre esses três tipos de tecnologia de apresentação são seus componentes: Displays, sistemas de tracking, dispositivos de
interação e sistemas gráficos.12
Apresentação baseada em monitor A câmera real captura as imagens do ambiente e o
sistema gráfico através da informação do rastreamento (correspondência entre a posição das câmeras real e virtual) sobrepõe a imagem real com os objetos virtuais e joga a saída para o monitor.
Fonte: http://www.cin.ufpe.br/~if687/ 13
Apresentação baseada em video see-through Funciona da mesma forma que realidade aumentada
em monitor, porém pode-se utilizar tracking na cabeça do usuário (Head-Mounted Displays) que dará a impressão que a visualização do ambiente muda quando o indivíduo mexe sua cabeça.
O mundo real observado está sempre atrasado em relação ao mundo real de fato (pelo menos um quadro ou 30 ms)
Fonte: http://www.cin.ufpe.br/~if687/ 14
15
Aparelho de visualização
Na apresentação baseada em optical see-through, e video see-through são utilizados os HMDs (Head Mounted Display) para visualização da cena.
16
Apresentação baseada em optical see-through
17
• Os objetos virtuais são mesclados às imagens do mundoreal por meio de processos ópticos
18
o que é o ARToolkit ?
ARToolKIT é uma biblioteca open-source utilizada para desenvolver aplicações em realidade aumentada baseada em marcadoes!
Marcadores são placas com molduras quadradas que circundam símbolos.
A moldura serve para o cálculo da posição do objeto virtual na cena em função da imagem em perspectiva do quadrado.
19
Ainda sobre o ARToolKIT
Já o símbolo interno funciona como identificador do objeto virtual.
20
Ainda sobre o ARToolKIT
Baseia-se no uso de vídeo para misturar as cenas reais capturadas pela câmera com objetos virtuais gerados por computador.
O ARToolKIT foi desenvolvido pelo pesquisador Hirokazu Kato da Universidade de Osala, Japão.
Atualmente, o ARToolKIT é mantido pelo Laboratório de Tecnologia de Interface Humana, sediado na Universidade de Washington.
21
Plataformas Suportadas
O ARToolKIT executa nas plataformas SGI Irix, PC Linux, PC Windows 95/98/NT/2000/XP e Macintosh OS X.
No Linux, é exigido apenas o OpenVRML-0.14.3
No Windows, as ferramentas exigidas são: Microsoft Visual Studio DSVideoLib-0.0.4-win32 GLUT OpenVRML-0.14.3-win32 (opcional) Microsoft Directx SDK
22
Lista de Features
Sobreposição de objetos virtuais 3D em marcadores reais Biblioteca de vídeo multiplataformas: múltiplas fontes de
entrada e formatos suportados. Inicialização de GUI Detecção planar em tempo real Abordagem de padrões de marcadores extensível Fácil rotina de calibragem de câmera Biblioteca gráfica simples baseada em GLUT Rápida renderização baseada em OpenGL Suporte a VRML 3D Suporte a outras linguagens de programação (Java, Matlab) Conjunto completo de amostras e utilidades OpenSource com licença GNU GPL para uso não-comercial
23
Funcionamento do ARToolKIt O ARToolKIT, com o apoio de cálculos
computacionais, faz a análise do ponto de vista da câmera em relação a um marcador.
A busca e identificação dos marcadores, bem como o posicionamento dos objetos virtuais são feitos levando-se em conta a imagem binária e sua posição relativa à câmera.
A oclusão, grande luminosidade do ambiente, prejudica o processo de captura dos marcadores pela câmera.
24
Funcionamento do ARToolKIT
O funcionamento do ARToolKIT pode ser dividido basicamente em cinco etapas.
Fonte: http://www.hitl.washington.edu/artoolkit/documentation/userarwork.htm 25
Etapas do ARToolKIT
Na primeira etapa, a imagem real capturada pela câmera é transformada em imagem binária (preto e branco).
Buscam-se todos os quadrados da imagem e compara-os com os gabaritos pré-treinados.
Muitos dos quadrados são descartados por não corresponderem aos pré-definidos e quando quadrados se encaixarem com os modelos pré-definidos significa que se encontrou um marcador de referência.
26
Etapas do ARToolKIT
Abaixo estão a imagem real do marcador, a imagem binária e a sobreposição da imagem gráfica no marcador real.
27
Etapas do ARToolKIT
Na segunda etapa, o ARToolKIT se baseia no tamanho e na orientação do quadrado reconhecido para calcular a posição da câmera real em relação à marca física.
Na terceira etapa, os símbolos dentro dos marcadores são comparados com templates na memória – os marcadores são identificados.
Na quarta etapa, as posições dos marcadores são utilizadas para alinhar os objetos 3D.
28
Etapas do ARToolKIT
Na quinta etapa, os objetos virtuais são desenhados (renderizados) no video frame.
Para só então, ser feito o stream para o usuário.
O ARToolKIT usa OpenGL para a renderização, GLUT para controles de janelas e eventos e bibliotecas de vídeo e APIs padrão de cada plataforma (Mac,Windows,Linux,etc).
29
Calibragem da Câmera
Calibração da câmera é um processo pelo qual se estima o posicionamento e a orientação da mesma na cena.
No ARToolkit as propriedades da câmera estão contidas no arquivo “camera_para.dat”, que é lido toda vez que uma aplicação é inicializada.
Utilizando métodos de calibração de câmera é possível gerar um arquivo de parâmetros para câmeras específicas.
30
Calibração de Câmera
O ARToolKit dispõem de dois métodos para calibração de câmeras:
Abordagem de calibração baseada em dois passos
Abordagem de calibração baseada em um passo
31
Calibração de Câmera – Baseada em dois passos
Impressão dos arquivos padronizados “calib_cpara.pdf” e “calib_dist.pdf”.
Depois de serem impressas, as figuras devem ser coladas em algum material plano e rígido.
32
Calibração de Câmera – Baseada em dois passos
Principais propriedades de câmera que devem ser extraídas: O ponto central da imagem da câmera As distorções da lente A distância focal da câmera
Essas propriedades são extraídas com o auxílio de dois programas: calib_dist calib_param
33
Calibração de Câmera – Usando o calib_dist
A distorção da lente da câmera causa um espaçamento desigual entre os pontos capturados por ela.
Ao rodar o programa, será mostrado o vídeo capturado. Devemos posicionar a câmera para visualizarmos todos os pontos e congelar a imagem (clicando no mouse).
Devemos clicar com o botão esquerdo do mouse em cada ponto, começando pelo do topo na esquerda.
Ao clicar, o ponto será marcado com uma cruz vermelha.
34
Calibração de Câmera – Usando o calib_dist
35
Calibração de Câmera – Usando o calib_dist
Depois, devemos realizar mais 5 à 10 vezes o mesmo processo utilizando ângulos e posicionamentos diferentes.
Quanto mais imagens utilizarmos, maior será a precisão.
Após terminar esta parte da calibração, a seguinte imagem será mostrada:
36
Calibração de Câmera – Usando o calib_cparam
Ele é utilizado para encontrar a distância focal da lente e outro parâmetros.
Ao rodar o programa, a imagem capturada pela câmera será mostrada.
A imagem é colocada perpendicularmente em relação à câmera e deve ser totalmente visível.
Ao clicar com o mouse, uma linha irá aparecer. Devemos marcar todas as linhas.
Depois, repetir o mesmo processo para distância maiores.
37
Calibração de Câmera – Usando o calib_cparam
38
Calibração de Câmera - One Step Calibration Approach
Esta utiliza apenas o mesmo processo mostrado em “calib_dist”, porém usando o executável “calib_camera2”.
39
calib_cparam2 Input the length between each markers: 40 Mouse Button Left : Grab image. Right : Quit
Framework do ARToolKIT
40
Framework do ARToolKIT
A estrutura interna do ARToolKIT consiste em quatro módulos: Módulo de Realidade Aumentada: Módulo
principal com rotinas para rastreamento de marcadores e calibração.
Módulo de Vídeo: Coleção de rotinas de vídeo para capturar os frames do vídeo de entrada.
Módulo Gsub: Coleção de rotinas gráficas baseadas em OpenGL e GLUT
Módulo Gsub_Lite: Substitui Gsub com uma coleção de rotinas gráficas mais eficientes.
41
Framework Do ARToolKIT
Arquiteturas com o módulo Gsub e Gsub_Lite.
42
Biblioteca do ARToolKIT
A biblioteca do ARToolKIT consiste de três pacotes: libAR.lib: Biblioteca para rastreamento de
pacotes, calibração e entradas de parâmetros. Contém as funções responsáveis por detectar os marcadores.
libARvideo.lib: Biblioteca para capturar quadros da entrada de vídeo.
libAR.gsub.lib: Contém rotinas gráficas, basedas nas bibliotecas OpenGL e Glut, para mapeamento do vídeo com textura em um ambiente 3D e para o posicionamento dos objetos virtuais sobre o marcador.
43
Extensões da Biblioteca
Na versão 2.43 do ARToolKIT foram adicionadas as bibliotecas de grafo de cena VRML, a libVRML97 que é composta por outras quatro bibliotecas: libARvrml.lib: Esta biblioteca implementa um
visualizador em VRML. VRML é uma linguagem para modelar mundos virtuais em 3D.
Libvrml97core.lib: É a implementação das funções VRML97. Contém todos os comandos para gerar uma cena a partir de um código VRML.
Libvrml97js.lib: É a implementação dos scripts (javascripts). Esses scripts permitem gerar animações 3D.
44
Extensões da Biblioteca
A quarta e última biblioteca do pacote libVRML97 é libvrml97gl.lib que é uma implementação de uma classe OpenGlViewer que renderiza as cenas VRML sobre uma janela OpenGL.
A biblioteca ARToolKIT encontra-se na versão 2.72.1. Ela pode ser baixada no endereço oficial http://www.hitl.washington.edu/artoolkit, bem como as versões anteriores da biblioteca ARToolKit.
45
Pipeline do ARToolKIT
Os módulos do ARToolKIT são dispostos numa sequência de forma que o usuário possa substituir qualquer módulo por outro que ele queira.Por exemplo, o módulo Gsub pelo Gsub_line ou pelo renderizador Open Inventor.
46
Exemplos
Magic: the Gathering utilizando ARToolkit
LevelHead
で初音ミク(その6) : LIVE
Mario
PS3 - The Eye Of Judgment - Colisão47
Conclusão
Através desse trabalho, pudemos conhecer
um pouco mais sobre realidade aumentada bem como sobre a biblioteca necessária para manipulação de objetos 3D em tempo real. Achamos que a interação com modelos virtuais, em cenas reais, passará a fazer parte cada vez mais do nosso dia-a-dia nas mais diversas áreas: medicina, jogos, engenharia, robótica, dentre outras.
48
Referências
http://www.realidadeaumentada.com.br/home/ Acessado em: 02/05/2008
http://www.hitl.washington.edu/artoolkit/ Acessado em: 02/05/2008
http://www.equator.ecs.soton.ac.uk/projects/artoolkit/ Acessado em: 02/05/2008
http://www.criarweb.com/artigos/206.php Acessado em: 02/05/2008
http://www.cin.ufpe.br/~if687 Acessado em: 02/05/2008
49
Referências
http://en.wikipedia.org/wiki/Augmented_reality Acessado em: 03/05/2008
http://technabob.com/blog/2007/10/14/levelhead-trippy-augmented-reality-game/ Acessado em: 03/05/2008
http://www.tinmith.net/ Acessado em: 03/05/2008
http://www.ims.tuwien.ac.at/research/construct3d/ Acessado em:03/05/2008
http://www.hitl.washington.edu/artoolkit/documentation/usercalibration.htm#twostep Acessado em: 03/05/2008
50
Anexos
Fonte: http://www.hitlabnz.org/wiki/Forum 51
...
top related