350 likes | 456 Views
Realidade Aumentada Profª Marta Becker Villamil. Outubro de 2011. Realidade Aumentada. O que é? É uma variação da Realidade Virtual convencional Combina objetos do mundo real com objetos do mundo virtual Implica em interatividade em tempo real
E N D
Realidade Aumentada Profª Marta Becker Villamil Outubro de 2011
Realidade Aumentada • O que é? • É uma variação da Realidade Virtual convencional • Combina objetos do mundo real com objetos do mundo virtual • Implica em interatividade em tempo real • Meio termo entre Telepresença e Ambientes Colaborativos
Realidade Aumentada • Para que serve? • Amplia a percepção do usuário • Pode mostrar ao usuário informações que não estão presentes no mundo real • Ex.: “sixt-sense” – informação adicional sobre um produto • Auxilia usuários a fazer tarefas reais • Ex.: dirigir
Realidade Aumentada • Como funciona? Três componentes básicos são necessários para a existência da Realidade Aumentada: • Objeto real com algum tipo de marca de referência, que possibilite a interpretação e criação do objeto virtual; • Câmera ou dispositivo capaz de transmitir a imagem do objeto real; • Software capaz de interpretar o sinal transmitido pela câmera ou dispositivo.
O que é ARToolkit ? • É uma biblioteca de programação para o desenvolvimento de aplicações de realidade aumentada • Utiliza técnicas de visão computacional para calcular precisamente a posição e orientação da câmera relativa a um marcador em tempo-real
Características • Open Source • C/C++ • Suporte à OpenGL e VRML
Aplicações • Objetos virtuais aparecem sobre os marcadores
Aplicações • Interação entre objetos: colocando-se dois marcadores próximos um do outro, na ordem correta, eles serão juntados.
Aplicações • Interação usando propriedades dos marcadores. Quando ele é pressionado, aciona-se o scroll.
Aplicações • Sobreposição de informações
Como funciona ? • PASSO 1: A imagem real de vídeo é transformada em imagem binária. Imagem Real (Input Video) Imagem Binária Capturada
Como funciona ? • PASSO 2: Encontra-se todos os quadrados da imagem binária e compara-os com os gabaritos pré-treinados. Essas regiões são chamados de marcadores. Suas posições são calculadas em relação à câmera e são armazenadas numa matriz 3x4. • PASSO 3: Os símbolos contidos nos marcadores são mapeados como templates na memória. • PASSO 4: Modelos gráficos são desenhados precisamente sobre os marcadores
Como Funciona ? • PASSO 4: A posição dos marcadores é usada para alinhar os objetos 3D • PASSO 5: Os objetos virtuais serão desenhados no video frame
Desenvolvendo... • Library C++ • http://www.hitl.washington.edu/artoolkit/ • http://www.hitl.washington.edu/artoolkit/documentation/devstartup.htmhttp://www.hitl.washington.edu/artoolkit/documentation/devmulti.htm
Desenvolvendo... • Pacote Core • Núcleo da lib • detectMarker() • Pacote Util • Classes que encapsulam patterns • Pacote VideoInput • Responsável pela “imageSource” • Responsável pelo Buffer
Desenvolvendo... • Pacote videoInput.videoCapturing • Classes responsáveis pela captura de vídeo usando DirectX no windows
Calibração de Câmera • Propriedades default ARToolKit estão contidas no arquivo de parâmetros da câmera, "camera_para.dat“", que é lido sempre que a aplicação é iniciada. • Contudo, usando uma técnica de calibração de câmera é possível gerar um arquivo de parâmetros para câmeras específicas.
Calibração de Câmera • Processo: • Impressão dos arquivos de padrões de calibração: "calib_cpara.pdf" e "calib_dist.pdf". • Eles deverão ser colados separadamente em algum material plano e rígido, tais como dois pedaços de papelão
Calibração de Câmera As figuras (a) e (b) mostram estes padrões como vistos pelas lentes das câmeras.
Calibração de Câmera • 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
Framework • Biblioteca escrita em C/C++ • Plataformas Linux, Windows e Mac OS • Usa técnicas de visão computacional • Suporta VRML • Open Source (licença GPL)
Framework • Arquitetura:
Framework • Estrutura interna: • Módulo de Realidade Aumentada: módulo principal com rotinas para rastreamento de marcadores e calibração. • Módulo de Vídeo: uma coleção de rotinas de vídeos para capturar os frames do vídeo de entrada. • Módulo Gsub: uma 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, independente do sistema de janelas.
Framework • Estrutura interna: Estrutura interna com Gsub Estrutura interna com Gsub_Lite
Desenvolvendo uma aplicação Uma aplicação em artoolkit deve seguir os seguintes passos: • Passo Um: • Inicializar o caminho dos parâmetros de vídeo; • Ler os arquivos de padrões de marcadores; • Ler os parâmetros de câmera; • Passo Dois: • Capturar uma quadro da entrada de vídeo;
Desenvolvendo uma aplicação • Passo Três: • Detectar os marcadores e reconhecer os padrões no quadro capturado da entrada de vídeo; • Passo Quatro: • Calcular a transformação da câmera em relação aos padrões detectados; • Passo Cinco: • Desenhar os objetos virtuais nos padrões detectados; • Passo Seis: • Fechar a entrada de vídeo.
Bibliotecas Baseadas no ARToolkit • Irrlicht - http://sourceforge.net/projects/irrar/ • OGRE3D - http://www.ogre3d.org/forums/viewtopic.php?t=22584 • OSGart - http://www.osgart.org/ • Flash/AS3 - http://space.geocities.jp/flashr0d/artoolkit.html http://www.libspark.org/wiki/saqoosha/FLARToolKit/en • Java - http://sourceforge.net/projects/jartoolkit • NyARToolkit (Java, C#, Android, SilverLight4) - http://nyatla.jp/nyartoolkit/wiki/index.php?FrontPage.en
OSGART • A biblioteca OSGART facilita o desenvolvimento de aplicações de Realidade Aumentada, ela combina as funções de detecção e rastreamento de marcadores do ARToolKit com as funções para construção de modelos virtuais da biblioteca OpenSceneGraph. • A OSGART apresenta alta qualidade na renderização dos objetos virtuais e permite a importação e exportação de arquivos gerados pelo 3D Studio Max e Maya.
OSGART • Dentre as características da OSGART, as que mais se destacam são: a facilidade de integração com vídeos; suporte a várias entradas de vídeo; suporte a técnicas de renderização de sombras; suporte a diferentes tecnologias de tracking (artoolkit, artoolkit++, arttag, bazar, etc.) suporte a múltiplos marcadores; orientado a objeto e possui suporte a várias linguagens de programação. • http://www.osgart.org • http://www.artoolworks.com
Avisos!!! • Grau B • A Proposta • Uma aplicação interativa usando RA • Mais de um marcador • Interação com os marcadores • Diferentes disposições, ou diferentes marcadores disparam eventos, como: • Animações (md2) • Novos modelos • Modelos incrementados
Avisos!!! • Grau B • O Relatório • O que escrever no artigo? (Seções) • Introduzir o problema (que jogo, idéia geral) • Explicar o modelo (etapas de como se resolve o problema) • Detalhes relevantes sobre a implementação do modelo (protótipo) e gameplay • Mostrar os resultados (screenshots, algum dado coletado) • Considerações finais (ressaltar os pontos fortes, relatar problemas encontrados) e trabalhos futuros (como poderia ser melhorado)