• Nenhum resultado encontrado

Sistema Interactivo de Realidade Aumentada de Alta Fidelidade

N/A
N/A
Protected

Academic year: 2023

Share "Sistema Interactivo de Realidade Aumentada de Alta Fidelidade "

Copied!
4
0
0

Texto

(1)

Sistema Interactivo de Realidade Aumentada de Alta Fidelidade

Projecto Integrado

Mestrado em Informática – UCE em Computação Gráfica Fevereiro, 2008

Descrição Geral

Pretende-se desenvolver um sistema interactivo de Realidade Aumentada que, com recurso a dispositivos comuns, permita a composição de elementos sintéticos com imagens reais e a respectiva visualização em tempo real. O resultado pretende-se de alta fidelidade relativamente ao transporte de luz, isto é, os objectos sintéticos e reais devem afectar mutuamente a distribuição da luz na cena aumentada. Em particular, pretende-se que:

• os objectos sintéticos sejam iluminados pelas condições de iluminação verificadas no cenário real;

• os objectos sintéticos projectem e recebam sombras de qualquer outro objecto, real ou virtual, presentes na cena;

• os objectos reais recebam sombras dos objectos virtuais – presume-se que as sombras causadas por outros objectos reais sejam capturadas naturalmente pelo dispositivo de aquisição de imagem.

Do ponto de vista geométrico espera-se que objectos mais próximos do observador ocludam objectos mais distantes que se encontrem ao longo da mesma linha projectante e que os objectos virtuais não interpenetrem outros objectos, exigindo alguma forma de detecção de colisões.

A interactividade entende-se neste contexto como a imposição de critérios de tempo real, nomeadamente a garantia de tempos de resposta máximos (ex., 100 ms), significando que entre a detecção de um estímulo e a visualização da resposta do sistema não deverá decorrer um período superior a este limite crítico.

A instalação do equipamento obedecerá a algo semelhante ao que se apresenta na figura seguinte. Pretende-se, nesta fase, utilizar este sistema para demonstrações públicas das potencialidades da Realidade Aumentada. O sistema deverá funcionar em cenários interiores e exteriores, cuidadosamente seleccionados e poderá, nesta fase de prototipagem e demonstração do conceito, passar por uma fase de afinação orientada a cada cenário de utilização específico.

A aplicação lógica que usa as potencialidades do sistema a desenvolver deverá ter um carácter lúdico, para captar a atenção de audiências leigas nestas matérias. Posteriormente, poderão

(2)

ser pensadas aplicações “sérias” que potencializem a utilização do sistema em diferentes cenários.

Descrição do Equipamento

O sistema a desenvolver deverá recorrer apenas a equipamentos comuns. Propõe-se nesta fase que seja baseado em uma ou duas câmaras, um computador de gama média e um dispositivo de visualização, por exemplo, um projector e um ecrã de projecção.

A opção por apenas uma câmara poderá limitar/inviabilizar o reconhecimento da geometria (ou profundidade) do cenário real. Pretende-se que esta seja a abordagem inicial, sendo a descrição da geometria fornecida pelo utilizador usando um interface adequado.

Posteriormente, o sistema será aumentado com mais uma câmara para que o reconhecimento da geometria seja (semi)automático.

Da mesma forma, a utilização de apenas um computador de gama média poderá limitar o débito do sistema, mantendo-se em aberto a possibilidade de recorrer a mais do que uma máquina, tirando partido de oportunidades de paralelismo nos dados ou funcional.

Passos Lógicos

O sistema proposto exige:

1. A calibração do sistema de aquisição de imagem;

2. O reconhecimento da geometria a partir da imagem, ou sequência de imagens. A precisão deste reconhecimento e respectiva representação poderá ser ajustada em função das exigências da aplicação e das capacidades do sistema de computação;

Cenário Estático Êcran de projecção

Objectos no cenário estático Objectos móveis Câmaras

(3)

3. O reconhecimento das condições de iluminação da cena real, eventualmente representados sob a forma de um mapa HDR;

4. O posicionamento de objectos virtuais neste modelo; esta tarefa deverá ser da responsabilidade da aplicação, que comunicará com o sistema através de alguma API;

5. O rendering dos objectos virtuais e composição com a imagem real;

6. A visualização da imagem resultante.

Delimitação do Problema

Tratando-se aqui de um protótipo preliminar de demonstração da viabilidade do conceito, impõe-se delimitar o problema para que este seja exequível dentro dos prazos propostos.

Propõe-se então a seguinte abordagem para cada um dos passos identificados na secção anterior:

1. Calibração do sistema de aquisição de imagem – caso se revele necessário, os parâmetros intrínsecos das câmaras terão que ser obtidos automaticamente através de um passo de calibração a desenvolver;

2. A detecção da geometria é dividida em 3 fases:

i. A geometria é, numa fase inicial, identificada pelo utilizador através da colocação de grelhas no plano da imagem e da etiquetagem destas grelhas com valores que as posicionam no espaço 3D; esta abordagem restringe a aplicação do sistema a cenários fixos com um ponto de vista fixo;

ii. Além da geometria previamente identificada pelo utilizador, e aqui designada por cenário estático, suporta-se a detecção, por frame, de alguns elementos móveis, recorrendo a técnicas de Visão por Computador, para um leque reduzido de situações previamente identificadas, por exemplo, detectando indivíduos que se movem e registando a sua posição no cenário estático identificado previamente;

iii. O próprio cenário estático é reconhecido automaticamente, recorrendo a 2 câmaras e, eventualmente, à colocação de marcas na cena ou à projecção de luz estruturada;

3. As condições de iluminação são identificadas pelo utilizador, indicando a posição, potência e orientação das fontes de luz relevantes; esta opção restringe o problema a condições de iluminação fixas;

4. O posicionamento de objectos virtuais no mundo é realizado através de um conjunto simples de regras, adiando-se o desenvolvimento de uma API para uma fase posterior;

5. O rendering dos objectos é dividido em 2 fases distintas, listadas abaixo. Em qualquer dos casos, qualquer objecto deve ser ocludido por objectos mais próximos do observador que se situem na mesma linha projectante.

i. Iluminação directa dos objectos virtuais – estes são receptores de sombras de todos os outros objectos da cena, mas não projectam sombras nos objectos reais;

ii. Alteração da iluminação directa dos objectos reais, de forma a que recebam sombras dos objectos virtuais

6. Visualização da imagem resultante.

(4)

Recursos a utilizar

Orientadores

• Luís Paulo Santos (psantos@di.uminho.pt) Dep. de Informática

Universidade do Minho

• Fernando Silva (fsilva@isec.pt) ISEC

Bibliografia

1) http://homepages.inf.ed.ac.uk/rbf/CVonline/; “CVonline: The Evolving, Distributed, Non- Proprietary, On-Line Compendium of Computer Vision”.

2) http://www.intel.com/technology/computing/opencv/; “Open Source Computer Vision Library; Intel Corporation.

3) Clarke, T.A. & Fryer, J.F.; “The development of camera calibration methods and models”;

Photogrammetric Record, 16(91): pp 51-66. 1998.

4) Michael Brown, Aditi Majumder, Ruigang Yang; “Camera-Based Calibration Techniques for Seamless Multi-Projector Displays”; IEEE Transactions on Visualization and Computer Graphics, ??, 2005.

5) Oliver Bimber, Ramesh Raskar; “Modern Approaches to Augmented Reality”; Siggraph 2005.

6) Oliver Bimber, Ramesh Raskar; “Spatial Augmented Reality: Merging Real and Virtual Worlds”; A.K.Peters; 2005

7) H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle; “Surface reconstruction from unorganized points”; Computer Graphics (SIGGRAPH ’92 Proceedings); 1992.

8) Watt, F. Policarpo; “Advanced Game Development with Programmable Graphics Hardware”; A.K.Peters; 2005.

9) Reinhard et al.; “High Dynamic Range Imaging”; Morgan Kaufmann, 2006

10) Pharr and Humphreys; “Physically Based Rendering: From Theory to Implementation”;

Morgan Kaufmann, 2004

Ambiente de Desenvolvimento

A aplicação final deverá ser feita em C/C++, usando OpenGL e eventuais bibliotecas orientadas para aspectos específicos da aplicação (ex., GUI). Sugere-se a utilização do

“OpenCV” para os aspectos ligados à Visão por Computador. Para teste de algumas soluções, pode ser conveniente usar módulos em Matlab. Sistema operativo Windows.

Os alunos devem averiguar se as ferramentas Virtools (http://www.virtools.com/), recentemente adquiridas pela Universidade do Minho, são adequadas para a implementação do protótipo. Em caso afirmativo, recomenda-se a sua utilização.

Referências

Documentos relacionados

A transferência não radiativa apresenta, justamente, ao contrário da radiativa, uma interação entre as moléculas doadoras e aceitadoras, onde o tempo de decaimento das