Outubro de 2011
RealidadeAumentada
Profª Marta Becker Villamil
5
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
6
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
7
Realidade Aumentada Como funciona?
Três componentes básicos são necessários para a existência da Realidade Aumentada:
1. Objeto real com algum tipo de marca de referência, que possibilite a interpretação e criação do objeto virtual;
2.Câmera ou dispositivo capaz de transmitir a imagem do objeto real;
3.Software capaz de interpretar o sinal transmitido pela câmera ou dispositivo.
RA – Como funciona?O processo de formação do objeto virtual
9
RA – Exemplos!!!
10 ARToolkit
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
Como funciona ?
Desenvolvendo... Library C++
http://www.hitl.washington.edu/artoolkit /
http://www.hitl.washington.edu/artoolkit/documentation/devstartup.htm
http://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
37
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
38
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)
É muito importante saber documentar os projetos, vocês precisarão disso a vida inteira!
Top Related