30
ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin .ufpe.br

ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

Embed Size (px)

Citation preview

Page 1: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

ARToolkit

Ademir José de Carvalho Junior

Danilo Cavalcanti Torres David Lucena Aragão

Ronaldo Ribeiro Marques

{ajcj,dct,dllaa,rrm}@cin.ufpe.br

Page 2: 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

Page 3: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

RealidadeAumentada

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

Page 4: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

RealidadeAumentada

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.

Page 5: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

RealidadeAumentada

Page 6: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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

Page 7: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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

Page 8: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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

Page 9: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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

Page 10: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

ARToolkitFuncionamento

Captura da imagem de entrada Sequência de imagens da câmera de video

Busca pelos marcadores 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

Page 11: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

ARToolkitFuncionamento

Identificação de marcadores Verifica se o símbolo dos marcador casa com

algum padrão na memória. Inserção de imagens virtuais

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

Page 12: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

ARToolkitFuncionamento

Page 13: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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)

ARToolkitFramework

Page 14: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

Arquitetura:

ARToolkitFramework

Page 15: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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

ARToolkitFramework

Page 16: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

Estrutura interna:

ARToolkitFramework

Page 17: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

Gsub_Lite Module: substitui o Gsub Module com rotinas gráficas mais eficientes e independentes do sistema de janelas

ARToolkitFramework

Gsub Module... Deprecated!

Page 18: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

Metáfora de pipeline: Video -> Tracking -> Display Permite fácil troca de módulos

ARToolkitFramework

Page 19: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

ARToolkitFramework

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

Page 20: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

ARToolkitFramework

Loop principal (cont.) Desenha os objetos

virtuais nos marcadores Finalização

Encerra a captura dos frames

Page 21: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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

ARToolkitFramework

Page 22: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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.

ARToolkitLimitações

Page 23: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

Condições de iluminação Deve-se evitar reflexões da luz no marcador

Complexidade do marcador Figuras simples e não simétricas

ARToolkitLimitações

Page 24: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

Projetos que o utilizam: The Black Magic kiosk: Um livro “virtual” AR Groove: interface musical 3D-Live: interface de colaboração

Publicações

ARToolkitTrabalhos

Page 25: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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)

Page 26: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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

Page 27: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

Dúvidas

Page 28: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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

Page 29: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

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.

Page 30: ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres David Lucena Aragão Ronaldo Ribeiro Marques {ajcj,dct,dllaa,rrm}@cin.ufpe.br

ARToolkit

Ademir José de Carvalho Junior

Danilo Cavalcanti Torres David Lucena Aragão

Ronaldo Ribeiro Marques

{ajcj,dct,dllaa,rrm}@cin.ufpe.br