ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe...

30
ARToolkit ARToolkit André Braga (ab2) André Braga (ab2) Alysson Feitoza Alysson Feitoza (afs5) (afs5) Danilo Lima (dlv) Danilo Lima (dlv) Felipe Franco Felipe Franco (fanf) (fanf) Felipe Ebert (fe) Felipe Ebert (fe) Igor Goes (igp) Igor Goes (igp) Patrícia Lustosa Patrícia Lustosa (plvr) (plvr)

Transcript of ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe...

Page 1: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

ARToolkitARToolkit

André Braga (ab2)André Braga (ab2)Alysson Feitoza (afs5)Alysson Feitoza (afs5)

Danilo Lima (dlv)Danilo Lima (dlv)Felipe Franco (fanf)Felipe Franco (fanf)

Felipe Ebert (fe)Felipe Ebert (fe)Igor Goes (igp)Igor Goes (igp)

Patrícia Lustosa (plvr)Patrícia Lustosa (plvr)

Page 2: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

RoteiroRoteiro IntroduçãoIntrodução Realidade AumentadaRealidade Aumentada HistóriaHistória FuncionamentoFuncionamento Calibração da CâmeraCalibração da Câmera FrameworkFramework Desenvolvendo uma aplicaçãoDesenvolvendo uma aplicação ExercíciosExercícios

Page 3: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

IntroduçãoIntrodução

ARToolkit é uma biblioteca de suporte a ARToolkit é uma biblioteca de suporte a aplicações de RA desenvolvidas em C e aplicações de RA desenvolvidas em C e C++.C++.

Objetivo de incluir elementos virtuais no Objetivo de incluir elementos virtuais no mundo real dentro da perspectiva de mundo real dentro da perspectiva de algum usuário .algum usuário .

Page 4: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada

É uma tecnologia de sobreposição de É uma tecnologia de sobreposição de elementos gerados pelo computador no elementos gerados pelo computador no mundo real.mundo real.

Objetiva aumentar a quantidade e Objetiva aumentar a quantidade e qualidade das informações do ambiente.qualidade das informações do ambiente.

Duas tecnologias: Duas tecnologias: Video See ThroughVideo See Through e e Optical See ThroughOptical See Through. .

Page 5: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada

Limitações:Limitações: Objetos só são exibidos depois que os Objetos só são exibidos depois que os

marcadores forem rastreados, isso limita o marcadores forem rastreados, isso limita o tamanho e movimento dos objetos virtuais.tamanho e movimento dos objetos virtuais.

Marcadores não podem ser muito inclinados.Marcadores não podem ser muito inclinados. Marcadores grandes: mais fácil de perceber, Marcadores grandes: mais fácil de perceber,

porém difícil de enquadrar.porém difícil de enquadrar.

Page 6: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada Video See ThroughVideo See Through

Page 7: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada Optical See ThroughOptical See Through

Page 8: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada Aplicações:Aplicações:

The Ambient Wood ProjectThe Ambient Wood Project

Page 9: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada Aplicações:Aplicações:

DARPADARPA

A Agência Americana de Projetos de Pesquisa de A Agência Americana de Projetos de Pesquisa de Defesa Avançada (DARPA) criou um projeto de Defesa Avançada (DARPA) criou um projeto de vídeo-capacete (HMD) com um visor que pode ser vídeo-capacete (HMD) com um visor que pode ser acoplado a um sistema de informação portátil.acoplado a um sistema de informação portátil.

Sistema fornece informações úteis aos soldados.Sistema fornece informações úteis aos soldados.

Page 10: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada Aplicações:Aplicações:

QuakeQuake

Pesquisador australiano criou um protótipo de jogo Pesquisador australiano criou um protótipo de jogo que combina o famoso jogo que combina o famoso jogo QuakeQuake com realidade com realidade aumentadaaumentada..

O jogo o envolve de tal forma que ele se sente O jogo o envolve de tal forma que ele se sente como se estivesse caminhando pelo campus sendo, como se estivesse caminhando pelo campus sendo, ao mesmo tempo, um personagem do jogo.ao mesmo tempo, um personagem do jogo.

Page 11: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada Aplicações:Aplicações:

Ensino de mecânica quânticaEnsino de mecânica quântica

Problema de se ensinar Mecânica Quântica pois Problema de se ensinar Mecânica Quântica pois envolvem conceitos 3D.envolvem conceitos 3D.

Motivados por estas idéias, está sendo Motivados por estas idéias, está sendo desenvolvido, aplicado e avaliado um programa desenvolvido, aplicado e avaliado um programa baseado em realidade aumentada para ajudar no baseado em realidade aumentada para ajudar no estudos dessa matéria.estudos dessa matéria.

Page 12: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada Aplicações:Aplicações:

LIRA LIRA (Livro Interativo de RA)(Livro Interativo de RA)

Page 13: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Realidade AumentadaRealidade Aumentada Aplicações:Aplicações:

Engenharia BiomédicaEngenharia Biomédica

Page 14: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

HistóriaHistória

Desenvolvido inicialmente pelo Dr. Desenvolvido inicialmente pelo Dr. Hirokazu Kato da Universidade de Osala, Hirokazu Kato da Universidade de Osala, Japão.Japão.

Hoje em dia é mantido pelo Human Hoje em dia é mantido pelo Human Interface Technology Laboratory, na Interface Technology Laboratory, na University of Washington e pelo HIT Lab University of Washington e pelo HIT Lab NZ, na universidade de Canterbury, Nova NZ, na universidade de Canterbury, Nova Zelândia Zelândia

Page 15: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

FuncionamentoFuncionamento Captura da imagem real do vídeo e Captura da imagem real do vídeo e

transformação para imagem bináriatransformação para imagem binária

Page 16: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

FuncionamentoFuncionamento Encontra-se todos os quadrados da imagem Encontra-se todos os quadrados da imagem

binária e compara-os com os gabaritos pré-binária e compara-os com os gabaritos pré-treinados. Essas regiões são chamados de treinados. Essas regiões são chamados de marcadores.marcadores.

Suas posições são calculadas em relação à Suas posições são calculadas em relação à câmera e são armazenadas numa matriz 3x4.câmera e são armazenadas numa matriz 3x4.

Modelos gráficos são desenhados precisamente Modelos gráficos são desenhados precisamente sobre os marcadoressobre os marcadores

Page 17: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

FuncionamentoFuncionamento Resumo:Resumo:

Page 18: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Calibração de CâmeraCalibração de Câmera Propriedades default ARToolKit estão contidas Propriedades default ARToolKit estão contidas

no arquivo de parâmetros da câmera, no arquivo de parâmetros da câmera, "camera_para.dat“", que é lido sempre que a "camera_para.dat“", que é lido sempre que a aplicação é iniciada.aplicação é iniciada.

Contudo, usando uma técnica de calibração de Contudo, usando uma técnica de calibração de câmera é possível gerar um arquivo de câmera é possível gerar um arquivo de parâmetros para câmeras especificas.parâmetros para câmeras especificas.

Page 19: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Calibração de CâmeraCalibração de Câmera Processo:Processo:

Impressão dos arquivos de padrões de calibração: Impressão dos arquivos de padrões de calibração: "calib_cpara.pdf" e "calib_dist.pdf"."calib_cpara.pdf" e "calib_dist.pdf".

Eles deverão ser colados separadamente em algum Eles deverão ser colados separadamente em algum material plano e rígido, tais como dois pedaços de material plano e rígido, tais como dois pedaços de papelãopapelão

Page 20: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Calibração de CâmeraCalibração de Câmera

As figuras (a) e (b) mostram estes padrões como vistos pelas lentes das câmeras.

Page 21: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Calibração de CâmeraCalibração de Câmera Principais propriedades de câmera que devem Principais propriedades de câmera que devem

ser extraídas:ser extraídas: O ponto central da imagem da câmeraO ponto central da imagem da câmera As distorções da lenteAs distorções da lente A distância focal da câmeraA distância focal da câmera

Essas propriedades são extraídas com o auxílio Essas propriedades são extraídas com o auxílio de dois programas:de dois programas: calib_dist calib_dist calib_paramcalib_param

Page 22: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

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)

Page 23: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

FrameworkFramework Arquitetura:Arquitetura:

Page 24: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

FrameworkFramework Estrutura interna:Estrutura interna:

Módulo de Realidade Aumentada: módulo principal Módulo de Realidade Aumentada: módulo principal com rotinas para rastreamento de marcadores e com rotinas para rastreamento de marcadores e calibração.calibração.

Módulo de Vídeo: uma coleção de rotinas de vídeos Módulo de Vídeo: uma coleção de rotinas de vídeos para capturar os frames do vídeo de entrada.para capturar os frames do vídeo de entrada.

Módulo Gsub: uma coleção de rotinas gráficas Módulo Gsub: uma coleção de rotinas gráficas baseadas em OpenGL e GLUT.baseadas em OpenGL e GLUT.

Módulo Gsub_Lite: substitui Gsub com uma Módulo Gsub_Lite: substitui Gsub com uma coleção de rotinas gráficas mais eficientes, coleção de rotinas gráficas mais eficientes, independente do sistema de janelas.independente do sistema de janelas.

Page 25: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

FrameworkFramework Estrutura interna:Estrutura interna:

Estrutura interna com Gsub

Estrutura interna com Gsub_Lite

Page 26: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

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.

Page 27: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

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;

Page 28: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

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;

Page 29: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

Desenvolvendo uma aplicação

Passo Seis: - Fechar a entrada de vídeo.

Page 30: ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv) Felipe Franco (fanf) Felipe Ebert (fe) Igor Goes (igp) Patrícia Lustosa (plvr)

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.