1 / 51

ARToolkit

Introdução a Multimídia. Bruno D’Ambrosio - bgda Cyrus Dias – cds Diego César – dcfq Diogo Severo – dss2

alaric
Download Presentation

ARToolkit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation 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 ARToolkit

  2. 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

  3. Introdução • 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.

  4. 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

  5. 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.

  6. Realidade Aumentada • 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ópico porque ele se depara com vários problemas. • Principais 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.

  7. 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.

  8. 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/

  9. 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

  10. Exemplos de aplicações RA • LIRA • Livro Interativo com Realidade Aumentada

  11. Exemplo de aplicações em RA • Tinmith Project • Projeto cujo objetivo é desenvolver aplicações outdoor Fonte: http://www.tinmith.net/

  12. 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 videosee-through • Apresentação baseada em opticalsee-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.

  13. 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/

  14. 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/

  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 • Os objetos virtuais são mesclados às imagens do mundo • real por meio de processos ópticos

  17. ARToolKit

  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 - OneStepCalibration Approach • Esta utiliza apenas o mesmo processo mostrado em “calib_dist”, porém usando o executável “calib_camera2”. • calib_cparam2 • Input the length between each markers: 40 • Mouse Button Left : • Grab image. Right : Quit

  39. 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 utilizandoARToolkit • LevelHead • で初音ミク(その6):LIVE • Mario • PS3 - The Eye Of Judgment - Colisão

  47. 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

More Related