1 / 60

ARToolKit

ARToolKit. Introdução à multimídia. {ajss, agsj, clac, faas, jggxm, lams, mgr}@cin.ufpe.br. Roteiro. Princípios da Realidade Aumentada Limitações/problemas da RA Áreas de aplicação Tecnologias e sistemas de RA O que é ARToolkit? Como surgiu? Processo de desenvolvimento

dawn
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. ARToolKit Introdução à multimídia {ajss, agsj, clac, faas, jggxm, lams, mgr}@cin.ufpe.br

  2. Roteiro • Princípios da Realidade Aumentada • Limitações/problemas da RA • Áreas de aplicação • Tecnologias e sistemas de RA • O que é ARToolkit? • Como surgiu? • Processo de desenvolvimento • Calibragem da Câmera • Arquitetura e pacotes

  3. Introdução • O que é ARToolkit? • Biblioteca open-source para RA com marcadores. • O que é RA? • Realidade Aumentada • Integração de elementos virtuais com o mundo real • O que são marcadores? • Objetos reais (geralmente cartões) que servem para posicionar os elementos virtuais no mundo real

  4. Dois mundos Mundo real Mundo virtual

  5. Diagrama realidade/virtualidade Realidade Misturada Ambiente Real Realidade Aumentada Virtualidade Aumentada Ambiente Virtual

  6. Realidade aumentada (RA) • Inserção de objetos virtuais no mundo real • Aumento de informações • Interação em tempo real

  7. Objetivo utópico • “Tecnologia que objetiva combinar o mundo real com um mundo interativo gerado-por-computador de modo que pareçam um único ambiente” • O usuário, nesta utopia, não consegue distinguir o mundo real do virtualmente aumentado

  8. RA versus RV Realidade aumentada Realidade virtual A imersão no mundo virtual é total Simular a realidade Dependente da imaginação do usuário • A imersão no mundo real é total • Adicionar informações • Aumentar a capacidade de interação

  9. Problemas e limitações • Tamanho e movimento dos objetos virtuais • Posição e tamanho dos marcadores • Defasamento espacial • Defasamento temporal • Tracking (usuário e objetos móveis) • Aparência dos objetos virtuais • Vemos bem demais

  10. Aplicações em RA • Mara (Mobile Augmented Reality Applications) • The Invisible Train • Tinmith project • Lira (Livro Interativo de Realidade Aumentada) • The Ambient Wood Project

  11. Aplicações em RA - (Mara) • Projeto desenvolvido pela Nokia com objetivo de colocar aplicações de realidade aumentada por vídeo see-trough, utilizando a câmera de celulares • O projeto foi acabado, mas hoje em dia, o Visual Computer User Interface group desenvolve pesquisas nesta área

  12. Aplicações em RA - (The Invisible Train) • Aplicação multiusuário que simula a brincadeira de “trenzinho” em palms, utilizando RA através de uma mesa de madeira com marcadores.

  13. Aplicações em RA - (Tinmith Project) • Projeto desenvolvido com objetivo de fazer aplicações de RA para ambientes outdoor • Constituido de um hardware, o tinmith backpack, • e das diversas aplicações

  14. Aplicações em RA - (Lira) • Projeto desenvolvido no Brasil com o objetivo de criar um livro interativo • Utiliza marcadores no livro e uma webcam, podendo sincronizar sons com a aplicação

  15. Aplicações em RA(The Ambient Wood Project) • Projeto desenvolvido com o objetivo de criar uma floresta aumentada, para ajudar no aprendizado de crianças • A RA poderia tanto ser inserida em PDA’s carregados pelas crianças, quanto em monitores espalhados pela floresta

  16. Tecnologias e sistemas de RA • A maioria das tecnologias desenvolvidas em RA é para ambientes fechados • Existem diversos tipos de arquiteturas de sistemas de RA, contudo quatro componentes são comuns a todos: Displays, Sistemas de Tracking, Dispositivos de Interação e Sistemas Gráficos

  17. Sistemas Baseados em Monitor • Os objetos virtuais e reais são misturados e exibidos no monitor • É bastante utilizada em laboratórios para testar sistemas e exibições de baixo custo

  18. Sistemas Baseados em Monitor

  19. Sistemas de RA see-trough • São bem mais complexos e passam para o usuário uma sensação de imersão muito maior • Esses sistemas são envolvidos na maior parte da pesquisa e desenvolvimento em RA

  20. Optical see-trough

  21. Optical see-trough

  22. Optical see-through • O mundo real é processado diretamente pelo olho do usuário • Só o canal virtual é processado, isso torna o controle de defasamento com o mundo real mais complexo • Vem sendo substituído pelo video see-through

  23. Video see-trough

  24. Video see-trough

  25. Video see-trough • Tanto o mundo real quanto o virtual são processados eletronicamente • É mais fácil inserir objetos virtuais na cena real • Existe um pequeno atraso entre o que é observado pelo usuário e o mundo real

  26. Tecnologias de Tracking • “Permite captar a posição, ações e movimentos que o usuário faz no momento da sua interação” • Rastreamento Magnético: • Utiliza transmissores que emitem campos magnéticos de freqüência baixa e pequenos receptores. • A partir dos receptores são determinadas a posição e a orientação relativa do objeto rastreado em relação à fonte magnética. • Objetos condutores (metálicos) não podem estar presentes no espaço de rastreamento

  27. Tecnologias de Tracking

  28. Tecnologias de Tracking • Rastreamento Optico: • É implementado com base em técnicas de visão computacional e no uso de sensores ópticos, como câmeras de vídeo, e emissores ou diodos de luz infravermelha. • Baseia-se na captura pelas câmeras dos emissores de luz que, após a aplicação de técnicas de visão computacional sobre as imagens capturadas, dão como resultado a posição e orientação dos objetos rastreados no espaço 3D.

  29. Tecnologias de Tracking

  30. Tecnologias de Tracking • Outras tecnologias de tracking: • Rastreamento mecânico • Rastreamento acústico • Rastreamento inercial • Rastreamento Híbrido

  31. O que é ARToolkit? • ARToolkit é uma biblioteca de software, escrita em C/C++, utilizada para construção de aplicações de Realidade Aumentada • Realidade Aumentada é basicamente a imagem real com uma camada de sobreposição (gráfica) virtual • Esse modelo de interface tem mostrado potencial para muitas aplicações em pesquisa industrial e acadêmica

  32. Breve Histórico • O ARToolKit Foi desenvolvido inicialmente pelo Dr. Hirokazu Kato da Universidade de Osala, Japão. Hoje em dia é mantido pelo Laboratório de Tecnologia de Interface Humana, na Universidade de Washington • A primeira demonstração de suas funcionalidades foi em 1999, mesmo ano em que foi criado, na conferência da SIGGRAPH • Muitas modificações têm sido feitas nos últimos anos, incluindo propriedades como a do ARToolKit ser multiplataforma e a melhora do seus algoritmos de rastreamento. Tais modificações não têm sido feitas somente pelos seus criadores oficiais, H. Kato e M. Billinghurst, mas por toda uma comunidade de utilizadores

  33. Plataformas suportadas • Atualmente, o ARToolKit executa nas plataformas SGI Irix, PC Linux, PC Windows 95/98/NT/2000/XP e Mac OS X, com versões separadas para cada uma destas plataformas • A funcionalidade de cada versão do kit é a mesma, mas o desempenho pode variar conforme as diferentes configurações de hardware

  34. Dificuldades e Soluções • Uma das partes mais trabalhosas no desenvolvimento de uma aplicação em RA é calcular precisamente o ponto de vista do usuário em tempo-real para que imagens virtuais sejam alinhadas com precisão às imagens dos objetos do mundo real • O ARToolKit usa técnicas de visão computacional para calcular a posição no espaço real da câmera e sua orientação em relação aos cartões marcadores, permitindo ao programador sobrepor objetos virtuais aos cartões • O pacote inclui bibliotecas de rastreamento e disponibiliza o código fonte completo, tornando possível o transporte do código para diversas plataformas ou adaptá-los para resolver as especificidades de suas aplicações

  35. Mais... • Várias aplicações simples são fornecidas com o ARToolKit para que programadores comecem rapidamente a desenvolver suas aplicações • O ARToolKit é livre para uso em aplicações não-comerciais e é distribuído com código aberto

  36. Onde encontrar o ARToolkit... • A biblioteca ARToolkit, que atualmente encontra-se na sua versão 2.72, pode ser baixada no seu site oficial, http://www.hitl.washington.edu/artoolkit • As versões anteriores também podem ser encontradas no site oficial, bem como um FAQ contendo perguntas e respostas valiosas para os desenvolvedores que estão começando a trabalhar com ARToolkit • Foi incluída também após a versão 2.68 o suporte a objetos 3D no formato VRML, utilizando a biblioteca auxiliar openVRML

  37. IDE´s Suportadas • Por se tratar de uma biblioteca desenvolvida em c/c++, qualquer IDE que suporte essa linguagem, e qualquer máquina que possa executá-las, pode servir como ferramenta para a construção de aplicações de ARToolkit • Os requisitos básicos de hardware para desenvolver e executar aplicações do ARToolKit são: uma câmera de vídeo e uma interface ou um dispositivo de aquisição de vídeo com seus respectivos drivers

  38. Funcionamento do ARToolkit • Após ser capturada, a imagem real é convertida numa imagem binária • A busca e a identificação dos marcadores, bem como o posicionamento dos objetos virtuais são feitos levando-se em conta esta imagem binária e sua posição relativa a câmera Imagem binária Objeto virtual sobre o marcador real

  39. Etapas do processo (1/5) • A imagem real é transformada em imagem binária • Busca-se todos os quadrados da imagem e compara-os com os gabaritos • Os marcadores são localizados e demais quadrados, descartados

  40. Etapas do processo (2/5) • As posições dos marcadores são calculadas em relação à câmera

  41. Etapas do processo (3/5) • Os símbolos dentro dos marcadores são comparados com templates na memória – os marcadores são identificados

  42. Etapas do processo (4/5) • As posições dos marcadores são usadas para alinhar os objetos 3D

  43. Etapas do processo (5/5) • Os objetos virtuais são desenhados no video frame • E, finalmente, é feito o stream para o usuário

  44. Calibração de Câmera • As propriedades padronizadas da câmera estão contidas no arquivo “camera_para.dat” , que é lido toda vez que uma aplicação é inicializada. • Os parâmetros devem ser suficientes para um grande número de câmeras. • Portanto, usando uma técnica de calibração de câmera é possível gerar um arquivo de parâmetros para câmeras especificas.

  45. Calibração de Câmera • O ARToolKit dispõem de dois métodos para calibração de câmeras: • “Two Step Calibration Approach” • “One Step Calibration Approach”

  46. Calibração de Câmera - Two Step Calibration Approach • 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. Fig. 1: calib_cpara.pdf impresso Fig. 2: calib_dist.pdf impresso

  47. Calibração de Câmera - Two Step Calibration Approach • 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

  48. 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. Fig. 3: Marcando os pontos

  49. 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: Fig. 4: Dois exemplos de imagens calibradas

  50. 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 vísivel. • Ao clicar com o mouse, uma linha irá aparecer. Devemos marcar todas as linhas. • Depois, repetir o mesmo processo para distância maiores. Fig. 5: Passos dessa etapa

More Related