ARToolkit
Ademir José de Carvalho Junior
Danilo Cavalcanti Torres
David Lucena Aragão
Ronaldo Ribeiro Marques
{ajcj,dct,dllaa,rrm}@cin.ufpe.br
Roteiro
Realidade Aumentada
ARToolkit
Funcionamento
Framework
Limitações
Trabalhos
Conclusões
Realidade
Aumentada
Área da computação que trabalha com a
combinação do mundo real com elementos
virtuais gerados por computador.
Mundo real é “aumentado” com a adição de
objetos virtuais.
Realidade
Aumentada
Aplicações de RA:
Saúde: Cirurgias médicas aumentadas
Militar: Informações extras sobre o ambinete
podem ser visualizadas pelo soldado em tempo
real.
Realidade
Aumentada
ARToolkit
Biblioteca para construção de aplicações de
Realidade Aumentada
Promove alto nível de abstração, permitindo
desenvolvedor focar no objetivo da aplicação
ARToolkit
Primeiramente desenvolvido pelo Dr. Hirokazu
Kato da universidade de Osaka, Japão.
Hoje é mantido pelo HITLab(Human Interface
Technology Laboratory) na universidade
Washington e pelo HITLab NZ na universidade
de Catembury, Nova Zelândia
ARToolkit
•
Escrita em C/C++
•
Open-Source
Multi-Plataforma(SGI IRIX, PC Linux, Mac OS X,
e PC Windows (95/98/NT/2000/XP))
•
•
Produz aplicações de tempo real
•
Utiliza algoritmos de Visão Computacional
ARToolkit
Desafio:
Rastreamento exato da visão
do usuário em tempo real
para alinhar objetos virtuais
com os reais
Cálculo da posição e
orientação da câmera
ARToolkit
Funcionamento
Captura da imagem de entrada
Busca pelos marcadores
Sequência de imagens da câmera de video
As imagens capturadas são convertidas para uma
imagem binária para a identificação de padrões
(quadrados pretos)
Cálculo da posição/orientação da câmera
Relativas aos quadrados pretos
ARToolkit
Funcionamento
Identificação de marcadores
Inserção de imagens virtuais
Verifica se o símbolo dos marcador casa com algum
padrão na memória.
Usando transformações 3D, a imagem é orientada e
posicionada para ser posta no marcador.
Renderização da imagem final
A imagem é renderizada em cima do marcador
ARToolkit
Funcionamento
ARToolkit
Framework
API C/C++
Conjunto de funções predefinidas
Portabilidade sem perda de eficiência:
OpenGL
GLUT
Standard API
Biblioteca de Vídeo (Dependente de Hardware)
ARToolkit
Framework
Arquitetura:
ARToolkit
Framework
Estrutura interna:
AR Module: módulo principal com rotinas de
rastreamento de marcadores e calibração.
Video Module: conjunto de rotinas que encapsulam
a captura de frames de vídeo padrão
Gsub Module: conjunto de rotinas gráficas
baseadas nas bibliotecas OpenGL e GLUT
ARToolkit
Framework
Estrutura interna:
ARToolkit
Framework
Gsub_Lite Module: substitui o Gsub Module com
rotinas gráficas mais eficientes e independentes do
sistema de janelas
Gsub Module... Deprecated!
ARToolkit
Framework
Metáfora de pipeline:
Video -> Tracking -> Display
Permite fácil troca de módulos
ARToolkit
Framework
Inicialização
Inicializa a captura de video, lê os marcadores e os
parametros de câmera
Loop principal
Recebe os frames de entrada
Detecta e reconhece os marcadores dos frames
Calcula as transformações de câmera em relação
aos marcadores
ARToolkit
Framework
Loop principal (cont.)
Desenha os objetos virtuais
nos marcadores
Finalização
Encerra a captura dos frames
ARToolkit
Framework
Funcionalidades principais:
Biblioteca multiplataforma
Biblioteca de video multiplataforma
Routina simples de calibração
Suporte à Biblioteca Gáfica GLUT
Renderização ágil em OpenGL
Suporte a 3D VRML
API modularizada em C; suporte à JAVA e Matlab
ARToolkit
Limitações
Marcadores devem estar sempre e totalmente a
mostra, limitando o tamanho e o movimento
dos objetos virtuais
Orientação do marcador relativa a câmera
Quanto mais horizontal o marcador, menos visível é
o centro da imagem.
ARToolkit
Limitações
Condições de iluminação
Deve-se evitar reflexões da luz no marcador
Complexidade do marcador
Figuras simples e não simétricas
ARToolkit
Trabalhos
Projetos que o utilizam:
The Black Magic kiosk: Um livro “virtual”
AR Groove: interface musical
3D-Live: interface de colaboração
Publicações
Conclusões
Desenvolvimento rápido de aplicações de
Realidade Aumentada
O alto nível de abstração permite que o
programador se preocupe mais com o foco da
aplicação
Permite modificações e extensões(Open-Source)
Referências
Site do ARToolkit
http://www.hitl.washington.edu/artoolkit/
Realidade Aumentada – Wikipedia
http://en.wikipedia.org/wiki/Augmented_reality
Disciplina de Introdução à Multimídia
http://www.cin.ufpe.br/~if687
Dúvidas
Exercícios
Abrir o Virtual Camera
Carregar SingleFrame
Abrir o Visual Studio.NET
Abrir o projeto do ARToolkit
Compilar
Rodar o simpleTestd (...\bin)
Rodar o exviewd(...\bin)
Exercícios
Exercício 1
Explique os passos de funcionamento do ARToolkit,
inclusive do ponto de vista de uma aplicação.
Exercício 2
Altere o exemplo simpleTest para que a aplicação
passe a reconhecer os marcadores Hiro e Kanji ao
mesmo tempo, exibindo um cone e um cubo
respectivamente.
ARToolkit
Ademir José de Carvalho Junior
Danilo Cavalcanti Torres
David Lucena Aragão
Ronaldo Ribeiro Marques
{ajcj,dct,dllaa,rrm}@cin.ufpe.br