ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr) Roteiro Introdução Realidade Aumentada História Funcionamento Calibração da Câmera Framework Desenvolvendo uma aplicação Exercícios Introdução ARToolkit é uma biblioteca de suporte a aplicações de RA desenvolvidas em C e C++. Objetivo de incluir elementos virtuais no mundo real dentro da perspectiva de algum usuário . Realidade Aumentada É uma tecnologia de sobreposição de elementos gerados pelo computador no mundo real. Objetiva aumentar a quantidade e qualidade das informações do ambiente. Duas tecnologias: Video See Through e Optical See Through. Realidade Aumentada Limitações: Objetos só são exibidos depois que os marcadores forem rastreados, isso limita o tamanho e movimento dos objetos virtuais. Marcadores não podem ser muito inclinados. Marcadores grandes: mais fácil de perceber, porém difícil de enquadrar. Realidade Aumentada Video See Through Realidade Aumentada Optical See Through Realidade Aumentada Aplicações: The Ambient Wood Project Realidade Aumentada Aplicações: DARPA A Agência Americana de Projetos de Pesquisa de Defesa Avançada (DARPA) criou um projeto de vídeo-capacete (HMD) com um visor que pode ser acoplado a um sistema de informação portátil. Sistema fornece informações úteis aos soldados. Realidade Aumentada Aplicações: Quake Pesquisador australiano criou um protótipo de jogo que combina o famoso jogo Quake com realidade aumentada. O jogo o envolve de tal forma que ele se sente como se estivesse caminhando pelo campus sendo, ao mesmo tempo, um personagem do jogo. Realidade Aumentada Aplicações: Ensino de mecânica quântica Problema de se ensinar Mecânica Quântica pois envolvem conceitos 3D. Motivados por estas idéias, está sendo desenvolvido, aplicado e avaliado um programa baseado em realidade aumentada para ajudar no estudos dessa matéria. Realidade Aumentada Aplicações: LIRA (Livro Interativo de RA) Realidade Aumentada Aplicações: Engenharia Biomédica História Desenvolvido inicialmente pelo Dr. Hirokazu Kato da Universidade de Osala, Japão. Hoje em dia é mantido pelo Human Interface Technology Laboratory, na University of Washington e pelo HIT Lab NZ, na universidade de Canterbury, Nova Zelândia Funcionamento Captura da imagem real do vídeo e transformação para imagem binária Funcionamento 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. Modelos gráficos são desenhados precisamente sobre os marcadores Funcionamento Resumo: 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 especificas. 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 Executar um vídeo avi contendo os marcadores hiro e adicionar objetos gráficos ao vídeo em tempo de execução. 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; Desenvolvendo uma aplicação Passo Seis: - Fechar a entrada de vídeo. Exercício Modificar o código SimpleTest.c para que ele passe a ler os marcadores hiro e kanji, ao mesmo tempo, e exibam sob os marcadores um cone e um quadrado, respectivamente.