2007_svrps

Upload: rafael-reloaded

Post on 20-Jul-2015

93 views

Category:

Documents


0 download

TRANSCRIPT

Claudio Kirner Robson Siscoutto Editores

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Livro do

Pr-SimpsioIX Symposium on Virtual and Augmented Reality Petrpolis RJ, 28 de Maio de 2007.

ApresentaoSomos uma comunidade jovem, multidisciplinar, criativa, aberta a idias e desafios, a qual atrai e acolhe novos talentos, sejam eles estudantes ou profissionais migrando de outras reas. Foi pensando nesses novos e bem-vindos participantes do SVR que criamos o Pr-Simpsio (PS), apresentado pela primeira vez em So Paulo junto ao SVR 2004. O sucesso da iniciativa fez com que a Comisso Especial de Realidade Virtual da SBC, responsvel pela organizao e promoo do SVR, inclusse de forma definitiva o PS na programao de atividades do evento. O principal objetivo do Pr-Simpsio oferecer um curso rpido e abrangente sobre os principais conceitos e tecnologias das reas de RV e RA, de tal forma a estabelecer um repertrio bsico que ajude o participante a melhor aproveitar tudo o que ser exibido e discutido ao longo dos trs dias de atividades principais do SVR. Criado, desenvolvido e apresentado por professores e pesquisadores seniores da comunidade de RV e RA, o PrSimpsio oferece aos participantes, alm das 8 horas-aula, material complementar na forma de um texto abrangente que cobre os principais conceitos e tecnologias da rea, cujo contedo vai muito alm do que apresentado ao vivo. No SVR 2004, o PS deu origem ao livro Realidade Virtual: Conceitos e Tecnologia. Esse livro, j esgotado, tem sido usado como referncia em cursos tcnicos e superiores, no s da rea de computao e informtica, mas tambm de design, comunicao e artes. Aps um processo de reestruturao e reviso da publicao do Pr-Simpsio do SVR 2004, bem como a ampliao e criao de novos captulos, foi publicado, no SVR 2006, o livro denominado Fundamentos e Tecnologia de Realidade Virtual e Aumentada. Esse livro foi fruto do trabalho colaborativo de representantes de uma comunidade jovem e atuante, que est

crescendo em nmero e qualidade, podendo ser constatado em cada nova edio do Symposium on Virtual and Augmented Reality (SVR). Com o intuito de continuar a democratizao e a disseminao do conhecimento sobre RV e RA, o PS do SVR 2007, lana este livro denominado Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes contribuindo para a expanso desta comunidade. assim, com grande prazer, que apresentamos o resultado do trabalho de 34 autores da comunidade brasileira de RV, que no mediram esforos para produzir este texto didtico e de qualidade, e aos quais muito agradecemos. Sem similares em lngua portuguesa, estas obras dos PrSimpsios oferecem uma viso geral e abrangente de conceitos, tecnologias, arquiteturas e aplicaes, constituindo-se em obras de referncia para profissionais e pesquisadores, e til porta de entrada para estudantes, iniciantes e profissionais de outras reas do conhecimento interessados em ingressar no fascinante mundo da tecnologia de realidade virtual e aumentada. Esperamos que voc aprecie e aproveite bastante este trabalho. Divirta-se. Claudio Kirner1 e Robson Siscoutto2 EDITORES1 2

[email protected] [email protected]

Copyright 2007 by editors and authors Todos os direitos reservados pelos respectivos detentores Figuras e citaes referenciadas: direitos reservados aos respectivos detentores Coordenao de Produo e Editorao: Robson Augusto Siscoutto - UNIC Criao da Capa: Emanuel Santana - Faculdade de Comunicao Social UNIAGNCIA - UNIC (65) 8411-4787 Dados Internacionais de Catalogao na Publicao (CIP) (Cmara Brasileira do Livro) Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes Claudio Kirner, Robson Siscoutto - editores. Petrpolis RJ, Editora SBC Sociedade Brasileira de Computao, Porto Alegre, 2007. Livro do pr-simpsio, IX Symposium on Virtual and Augmented Reality Bibliografia. 1. Realidade Virtual, Realidade Aumentada I. Kirner, Claudio II. Siscoutto, Robson. ISBN 85-7669-108-6 ndice para catlogo sistemtico: 1. Realidade Virtual e Aumentada: Cincia da Computao 006 Este livro foi especialmente editado, em tiragem limitada, a partir de contedos desenvolvidos para o curso Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes apresentado no pr-simpsio, em 28 de Maio de 2007, associado ao IX Symposium on Virtual and Augmented Reality, realizado em Petrpolis RJ de 28 a 31 de Maio de 2007, promovido pela Sociedade Brasileira de Computao e organizado pelo Laboratrio Nacional de Computao Cientfica (LNCC). Petrpolis RJ 2007

SumrioApresentao e PrefcioClaudio Kirner e Robson Augusto Siscoutto - editores

Seo A: Conceitos ............................................................................. 01 1. Fundamentos de Realidade Virtual e Aumentada ....................... 02Claudio Kirner e Robson Augusto Siscoutto

2. Rastreamento ptico para Sistemas de Realidade Virtual e Aumentada ..................................................................... 22Lus Augusto Consularo, Regina Clia Coelho e Nivaldi Calonego Jr.

3. Tcnicas de Interao para Ambientes de Realidade Virtual e Aumentada .................................................................... 52Judith Kelner e Veronica Teichrieb

Seo B: Tecnologia e Projeto ........................................................... 71 4. Ambientes de Hardware e Software para Aplicaes de Realidade Virtual e Aumentada ............................................... 72Bruno Barberi Gnecco, Marcelo de Paiva Guimares e Rodrigo Damazio

5. Desenvolvimento de Ambientes Virtuais ..................................... 90Tereza Gonalves Kirner e Valria Farinazzo Martins Salvador

6. Ferramentas para Desenvolvimento de Aplicaes de Realidade Virtual e Aumentada ................................................. 108Marcelo de Paiva Guimares, Bruno Barberi Gnecco e Rodrigo Damazio

7. Sistemas Distribudos de Realidade Virtual e Aumentada ........ 129Ildeberto Aparecido Rodello, Antonio Carlos Sementille, Jos Remo Ferreira Brega e Ftima L. S. Nunes

Seo C: Aplicaes .......................................................................... 151 8. Dispositivos Hpticos para Interfaces de Realidade Virtual e Aumentada ................................................................... 152Liliane dos Santos Machado

9. Ambientes Colaborativos de Realidade Virtual e Aumentada ... 168Denise Filippo, Alberto Raposo, Markus Endler e Hugo Fuks

10. Jogos e Entretenimento com Realidade Virtual e Aumentada . 192Romero Tori, Ricardo Nakamura, Joo Luiz Bernardes Jr, Roberto Cezar Bianchini, Eduardo Costa Jacober, Daniel Calife e Alexandre Nascimento Tomoyose

11. Aplicaes Mdicas usando Realidade Virtual e Realidade Aumentada .............................................................................. 223Ftima L. S. Nunes, Rosa M. E. M. Costa, Ana Cludia M. T. G. Oliveira, Srgio R. Delfino, Larissa Pavarini, Ildeberto A. Rodello, Jos Remo F. Brega e Antnio C. Sementille

12. Visualizao de Informao com Realidade Virtual e Aumentada .............................................................................. 256Ezequiel Roberto Zorzal, Luciano Ferreira Silva, Alexandre Cardoso, Claudio Kirner e Edgard Lamounier Jr.

Seo D: Autores ............................................................................... 276Robson Augusto Siscoutto (Organizador)

SEO

A

CONCEITOS

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Captulo

1Fundamentos de Realidade Virtual e AumentadaClaudio Kirner1,2 e Robson Augusto Siscoutto31

Faculdade de Cincias Exatas e da Natureza Universidade Metodista de Piracicaba (UNIMEP) Rodovia do Acar, Km 156 13400-911 Piracicaba - SP Brasil Centro Universitrio Adventista de So Paulo (UNASP) Est. de Itapecerica, 5859 CEP 05858-001 - So Paulo-SP - Brasil [email protected]

Faculdade de Cincia e Tecnologia Universidade de Cuiab (UNIC) Av. Beira Rio, 3100 78015-480 Jardim Europa - Cuiab - MT Brasil [email protected]

3

Abstract Virtual reality and augmented reality are areas related to new user interface generation, making easy and improving the user interaction with computational applications. This chapter presents the concepts of virtual and augmented reality, showing the aspects of technology, design and application to be addressed in this book.

2

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Resumo Realidade Virtual e Realidade Aumentada so duas reas relacionadas com as novas geraes de interface do usurio, facilitando e potencializando as interaes do usurio com as aplicaes computacionais. Este captulo apresenta os conceitos de realidade virtual e aumentada, mostrando os aspectos de tecnologia, projeto e aplicao a serem abordados neste livro.

1.1. IntroduoAntes do advento do computador eletrnico, com o desenvolvimento do ENIAC em 1945, as pessoas utilizavam interfaces naturais para interagir com o mundo no seu dia-a-dia, usando seus sentidos. Em raras ocasies, elas necessitavam interagir com mquinas, apertando botes ou acionando alavancas. O computador eletrnico trouxe um novo processo sofisticado de interao com as aplicaes, exigindo conhecimento simblico (abstrato) e necessidade de treinamento, uma vez que o conhecimento do mundo real j no era suficiente. Apesar dos benefcios da tecnologia, a sofisticao das interfaces do usurio fez com que as pessoas tivessem que se ajustar s mquinas, durante muitas dcadas. Felizmente, os pesquisadores, desde o incio da era dos computadores, buscaram maneiras de fazer com que as mquinas se ajustassem s pessoas, o que foi se conseguindo com a evoluo das tecnologias de hardware, software e telecomunicaes. Surgiram ento interfaces de voz, interfaces tangveis, interfaces hpticas, etc, possibilitando, aos usurios, acessarem aplicaes como se estivessem atuando no mundo real, falando, pegando, apertando, fazendo gestos, etc. H vrios pontos importantes nessa evoluo, envolvendo invenes como: computador eletrnico vlvula, transistor, 3

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

circuito integrado, monitor de computador, computao grfica, rede, computador pessoal (PC), Internet, Web, software livre, alm de outros inventos tecnolgicos, cuja integrao permitiram o uso transparente da tecnologia, por parte do usurio. O usurio j no precisa perceber a presena da tecnologia, pois ela trabalha para ele de forma invisvel em qualquer lugar, dando origem aos termos: ubquo e pervasivo. Nesse contexto, a realidade virtual [Burdea, 1994] e a realidade aumentada [Azuma, 1997] tm um papel importante, pois so interfaces computacionais avanadas, que ainda no foram implantadas de forma expressiva na sociedade. As primeiras interfaces computacionais, usadas nas dcadas de 40 e 50, eram baseadas em chaves e lmpadas, que permitiam uma comunicao com o computador baseada em linguagem de mquina. Na dcada de 60, surgiram as consoles com vdeo, dando incio s interfaces grficas rudimentares. Com a utilizao de microprocessadores, nas dcadas de 70 e 80, os microcomputadores se popularizaram, usando interface baseada em comando, como o DOS. A evoluo desta interface resultou no Windows, que, explorando tcnicas de multimdia, persiste at hoje. Apesar de interessante e de ter bom potencial de uso, a interface Windows fica restrita limitao da tela do monitor e ao uso de representaes como menus e cones. A realidade virtual surge ento como uma nova gerao de interface, na medida em que, usando representaes tridimensionais mais prximas da realidade do usurio, permite romper a barreira da tela, alm de possibilitar interaes mais naturais. A realidade virtual teve suas origens na dcada de 60, com o desenvolvimento do ScketchPad por Ivan Sutherland [Sutherland, 1963], mas s ganhou fora na dcada de 90, quando o avano tecnolgico propiciou condies para a execuo da computao 4

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

grfica interativa em tempo real. Apesar das vantagens da realidade virtual, ela necessitava de equipamentos especiais como capacete, luva, culos estereoscpicos, mouses 3D, etc, para fazer com que o usurio fosse transportado para o espao da aplicao, onde realiza suas interaes. Alm disso, o transporte do usurio para o ambiente virtual (desconhecido) causava um desconforto inicial e dificuldades de interao, exigindo, muitas vezes, treinamento. Esses problemas inibiram a popularizao da realidade virtual como uma nova interface do usurio. Por outro lado, a evoluo tecnolgica tambm propiciou , na dcada de 90, o aparecimento da realidade aumentada, permitindo a sobreposio de objetos e ambientes virtuais com o ambiente fsico, atravs de algum dispositivo tecnolgico. Essas aplicaes ficaram mais acessveis somente no incio dos anos 2000, com a convergncia de tcnicas de viso computacional, software e dispositivos com melhor ndice de custo-benefcio. Alm disso, o fato dos objetos virtuais serem trazidos para o espao fsico do usurio (por sobreposio) permitiu interaes tangveis mais fceis e naturais, sem o uso de equipamentos especiais. Por isso, a realidade aumentada vem sendo considerada uma possibilidade concreta de vir a ser a prxima gerao de interface popular, a ser usada nas mais variadas aplicaes em espaos internos e externos. Enquanto a realidade virtual depende de equipamentos de visualizao, como monitor, projetor e capacete, normalmente utilizados em ambientes fechados, a realidade aumentada no apresenta esta restrio com dispositivos misturadores, podendo ser usada em qualquer ambiente (fechado ou aberto), sendo, portanto mais abrangente e universal. Por outro lado, tanto a realidade virtual quanto a realidade aumentada podem ser usadas em aplicaes individuais e em aplicaes coletivas locais ou remotas, propiciando experincias colaborativas [Billinghurst, 1999] 5

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

[Benford, 1998; Kirner, 2004]. No entanto, a realidade aumentada apresenta a vantagem de permitir o uso de aes tangveis [Kawashima, 2001] e de operaes multimodais, envolvendo voz, gestos, tato, etc, facilitando o trabalho do usurio sem a necessidade de treinamento. Assim, a convergncia tecnolgica e o desenvolvimento de interfaces esto apontando para a nova gerao de interfaces computacionais baseadas em realidade aumentada para uso nas mais variadas reas, desde entretenimento, como jogos, at experimentos cientficos coletivos, constituindo verdadeiros laboratrios de pesquisa.

1.2. Conceitos e DefiniesEm funo da abundncia de termos e de interesses das reas de realidade virtual e aumentada, em funo de sua multidisciplinaridade, sero abordados em seguida alguns conceitos e definies envolvidos com o assunto. 1.2.1. Multimdia Multimdia consiste na integrao, controlada por computador, de textos grficos, imagens, vdeo, animaes, udio e outras mdias, que possam representar, armazenar, transmitir e processar informaes de forma digital [Marshal, 2001]. Aplicaes multimdia so potentes e simples de usar, mas restringem a visualizao do usurio tela do computador (2D). Esta deficincia pode ser atenuada com o aproveitamento do espao da tela do monitor, atravs de mltiplas janelas sobrepostas ou espalhadas.

6

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

1.2.2. Realidade Virtual A Realidade Virtual (RV) uma interface avanada do usurio para acessar aplicaes executadas no computador, propiciando a visualizao, movimentao e interao do usurio, em tempo real, em ambientes tridimensionais gerados por computador. O sentido da viso costuma ser preponderante em aplicaes de realidade virtual, mas os outros sentidos, como tato, audio, etc. tambm podem ser usados para enriquecer a experincia do usurio. A modelagem dos ambientes virtuais, usando linguagens como VRML (Virtual Reality Modeling Language) [VRML97, 2007] e sua sucessora, X3D [Walsh, 2001; Web3d, 2007], alm de outras linguagens e ferramentas de autoria, permite, ao usurio, visualizar ambientes tridimensionais, movimentar-se dentro deles e manipular seus objetos virtuais. Os objetos virtuais podem ser animados, apresentando comportamentos autnomos ou disparados por eventos. A Figura 1.1 mostra um exemplo de ambiente virtual visto no monitor.

Figura 1.1. Exemplo de aplicao de realidade virtual.

A interao do usurio com o ambiente virtual um dos aspectos importantes da interface e est relacionada com a capacidade do computador detectar e reagir s aes do usurio, promovendo alteraes na aplicao [Bowman, 2005]. O usurio, interagindo com um ambiente virtual tridimensional realista, em 7

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

tempo-real, vendo as cenas serem alteradas como resposta aos seus comandos, como ocorre nos videogames atuais, torna a interao mais rica e natural, gerando mais engajamento e eficincia. Nos ambientes virtuais, a interao mais simples a navegao, decorrente da movimentao do usurio no espao tridimensional, atravs de algum dispositivo, como o mouse 3D, comandos de voz ou de gestos detectados por algum dispositivo de captura, resultando na visualizao de novos pontos de vista do cenrio. Nesse caso, no h mudanas no ambiente virtual, mas somente um passeio exploratrio. Interaes, propriamente ditas, com alteraes no ambiente virtual, ocorrem quando o usurio entra no espao virtual das aplicaes e visualiza, explora, manipula e aciona ou altera os objetos virtuais, usando seus sentidos, incluindo os movimentos tridimensionais de translao e rotao naturais do corpo humano. A interface baseada em realidade virtual permite que habilidades e conhecimento intuitivos do usurio possam ser utilizados para a manipulao dos objetos virtuais. Esse tipo de interao realizado, atravs de dispositivos no convencionais, como capacete de visualizao ou luvas, o prprio corpo, como gestos e comandos de voz, ou at mesmo dispositivos convencionais como mouse, teclado e monitor de vdeo. O usurio deve ter a impresso de estar atuando dentro do ambiente virtual, apontando, pegando, manipulando e executando outras aes sobre os objetos virtuais, em tempo-real. Normalmente, os atrasos admissveis para que o ser humano tenha a sensao de interao em tempo-real esto em torno de 100 milisegundos, tanto para a viso, quanto para as reaes de tato, fora e audio. Isto impe um compromisso do sistema (processadores, software, dispositivos, complexidade do ambiente virtual, tipo de interao, etc) em funcionar com taxas mnimas de 10 quadros por segundo na renderizao das imagens (sendo desejado algo em torno de 20 8

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

quadros por segundo para suportar melhor as cenas animadas) e de 100 milisegundos de atraso nas reaes aos comandos do usurio. Assim, a complexidade do mundo virtual, os dispositivos usados, o software e a configurao do sistema devem ser ajustados para funcionar com as taxas mnimas de renderizao e reao. Existem muitas definies de realidade virtual, envolvendo diversos aspectos [Burdea, 1994; Vince, 1995, 2004; Kirner, 1996; Sherman, 2003]. Uma definio, sintetizando as vrias considerando as discusses apresentadas at agora, a seguinte: Realidade virtual uma interface avanada para aplicaes computacionais, que permite ao usurio navegar e interagir, em tempo real, com um ambiente tridimensional gerado por computador, usando dispositivos multisensoriais. Apesar da realidade virtual tambm usar mltiplas mdias, ela enfatiza a interao do usurio com o ambiente tridimensional e a gerao das imagens em tempo real. Para que isso ocorra, a plataforma computacional deve ser apropriada para aplicaes de realidade virtual, apresentando boa capacidade de processamento grfico para a renderizao de modelos tridimensionais em tempo real, e suportando dispositivos no convencionais de interao para atender demanda multisensorial. A comparao entre multimdia e realidade virtual pode ser vista da seguinte maneira: Multimdia envolve imagens capturadas ou prprocessadas; prioriza a qualidade das imagens; exige alta capacidade de transmisso; usa tcnicas de compresso de dados; atua no espao 2D; e funciona com dispositivos convencionais. Realidade virtual envolve imagens calculadas em tempo real; prioriza a interao com o usurio; exige alta capacidade de 9

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

processamento; usa tcnicas e recursos de renderizao de modelos tridimensionais e funciona com dispositivos especiais. Tanto na multimdia, como na realidade virtual, o usurio tem de ser transportado para o domnio da aplicao (ambiente virtual), podendo causar-lhe desconforto frente ao desconhecido, alm da necessidade de adaptao e treinamento. 1.2.3. Realidade Aumentada A realidade aumentada definida de vrias maneiras: a) o enriquecimento do ambiente real com objetos virtuais, usando algum dispositivo tecnolgico, funcionando em tempo real; b) uma melhoria do mundo real com textos, imagens e objetos virtuais, gerados por computador [Insley, 2003]; c) a mistura de mundos reais e virtuais em algum ponto da realidade/virtualidade contnua, que conecta ambientes completamente reais a ambientes completamente virtuais [Milgran, 1994]; d) um sistema que suplementa o mundo real com objetos virtuais gerados por computador, parecendo coexistir no mesmo espao e apresentando as seguintes propriedades: - combina objetos reais e virtuais no ambiente real; - executa interativamente em tempo real; - alinha objetos reais e virtuais entre si; - aplica-se a todos os sentidos, incluindo audio, tato e fora e cheiro [Azuma, 2001]. A Figura 1.2 apresenta um exemplo de aplicao de realidade aumentada com uma mesa real enriquecida com vaso e carro virtuais. 10

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Figura 1.2. Realidade aumentada com vaso e carro virtuais sobre a mesa.

Essa tecnologia dever ter grande impacto no relacionamento das pessoas, atravs de novas maneiras de realizar visualizao, comunicao e interao com pessoas e informao. A realidade aumentada e a realidade virtual [Bimber, 2004] podem ser comparadas da seguinte forma: - a realidade aumentada enriquece a cena do mundo real com objetos virtuais, enquanto a realidade virtual totalmente gerada por computador; - no ambiente de realidade aumentada, o usurio mantm o sentido de presena no mundo real, enquanto que, na realidade virtual, a sensao visual controlada pelo sistema; - a realidade aumentada precisa de um mecanismo para combinar o real e o virtual, enquanto que a realidade virtual precisa de um mecanismo para integrar o usurio ao mundo virtual. 1.2.4. Hiper-realidade O prximo passo da evoluo das interfaces incrementar a combinao do mundo real com o mundo virtual, atravs de novos

11

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

elementos e comportamentos para facilitar e potencializar a interao do usurio com os recursos que ele necessita no dia a dia. Nesse contexto, surge o conceito de hiper-realidade [Tiffin, 2001], cuja definio a seguinte: hiper-realidade a capacidade tecnolgica de combinar realidade virtual, realidade fsica, inteligncia artificial e inteligncia humana, integrando-as de forma natural para acesso do usurio. Ambientes de hiper-realidade permitiro que habitantes reais interajam com habitantes remotamente localizados, bem como com objetos ou formas de vida imaginrias ou artificiais, gerados por computador, em um mundo misturado. Esse mundo ser formado por pessoas, animais, insetos, plantas, terrenos, construes e objetos virtuais inteligentes, todos integrados. Com a viso do mundo misturado, cada usurio poder enxergar o que lhe interessa, de acordo com seu perfil ou sua necessidade, e interagir com os objetos, de forma a ter suas necessidades satisfeitas. Como exemplo, o usurio, ao caminhar ou dirigir seu automvel por uma cidade (usando um capacete de viso ptica direta), poder fazer solicitaes por comandos de voz e ver legendas virtuais nos prdios e ruas orientando-o ou mostrando opes como: o melhor caminho para chegar a um destino; restaurantes de determinados tipos ou padres; entretenimentos especficos; lojas; supermercados; hospitais; e assim por diante. Muito do que se desenvolveu na Internet para facilitar a vida do usurio, poder ser transportado para o mundo misturado de forma grfica e seletiva. Assim, nesse mundo misturado com hiper-realidade, as pessoas devero satisfazer muitas de suas necessidades, atuando num ambiente integrado inteligente, sendo atendidas de forma explcita ou implcita.

12

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

1.2.5. Rastreamento O rastreamento, em ambientes de realidade virtual e aumentada, tem a funo de identificar a posio da mo, da cabea, do prprio usurio ou de algo atrelado a ele, como uma placa. Com isto, o sistema permite que o usurio exera um controle de posicionamento em ambientes virtuais ou aumentados, podendo, por exemplo, movimentar-se e tocar, agarrar, mover e soltar objetos virtuais. Para uso em aplicaes de realidade virtual, muitos dispositivos de rastreamento foram desenvolvidos, usando princpios mecnicos, magnticos, de ultrasom, etc. Cada tipo apresenta vantagens e desvantagens, mas em geral so caros. Mais recentemente, com a popularizao da webcam e com o avano das tcnicas de viso computacional e do poder de processamento dos microcomputadores, o rastreamento ptico passou a ser uma realidade, em funo da disponibilidade e do baixo custo. A biblioteca ARToolKit [Lamb, 2007], usada em aplicaes de realidade aumentada, utiliza esse tipo de rastreamento. Assim, o captulo 2 deste livro explora, em detalhes, os conceitos, tecnologia e uso de rastreamento ptico para aplicaes de realidade virtual e aumentada. 1.2.6. Interao A interao consiste na capacidade do usurio atuar em ambientes virtuais e aumentados, promovendo alteraes e reaes s suas aes. Esta a principal caracterstica dos jogos por computador, sendo o fator determinante para o envolvimento do usurio e o sucesso da aplicao.

13

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Para que uma interao tenha efeito, necessrio um controle de posicionamento do usurio (rastreamento) e outros atributos do sistema como: apontamento e seleo de objetos, ativao de aes, etc. O captulo 3 deste livro trata dos detalhes da interao em ambientes e realidade virtual e aumentada, mostrando conceitos, implementao e exemplos.

1.3. Tecnologia, Projeto e AplicaesAs reas de realidade virtual e realidade aumentada, assim como outras reas, s se desenvolveram com a convergncia de uma srie de fatores, incluindo as pesquisas, a tecnologia, a disponibilidade de produtos e os custos acessveis. Nesse sentido, tiveram papel fundamental os pesquisadores que disseminaram essas reas com o desenvolvimento de recursos disponibilizados sociedade gratuitamente. A linguagem VRML - Virtual Reality Modeling Language [VRML97, 2007] para uso em realidade virtual e a biblioteca ARToolKit [Lamb, 2007] para realidade aumentada so os exemplos mais marcantes de recursos gratuitos e livres, mas existem vrios outros disponibilizados por pesquisadores e, mais recentemente, por empresas. Em seguida, o leitor dever ter uma viso geral sobre as sees deste livro, envolvendo os aspectos de tecnologia, projeto e aplicaes. 1.3.1. Ambientes de Hardware e Software O hardware de um computador o ncleo de qualquer aplicao, oferecendo os recursos a serem usados. Suas caractersticas, ajustadas s necessidades da aplicao, so responsveis pela obteno do melhor ndice de custo-benefcio.

14

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

O hardware envolve muitos elementos, consistindo de: processador; placas especiais, como placas grficas e sonoras; perifricos, incluindo dispositivos especiais multisensoriais; e infraestrutura de rede. Para fazer o hardware funcionar adequadamente, so usados ambientes de software, denominados ncleos ou sistemas operacionais, que constituem mquinas virtuais poderosas encarregadas de suportar as necessidades de aplicaes especficas de realidade virtual e aumentada. O captulo 4 deste livro aborda as questes de hardware e software bsicos, mostrando suas caractersticas, exemplos e potencial de utilizao. 1.3.2. Desenvolvimento e Avaliao de Sistemas O processo de desenvolvimento de aplicaes de realidade virtual e aumentada requer a utilizao de tcnicas de engenharia de software adaptadas ao contexto dessas reas. Alm das tcnicas de desenvolvimento, importante usar tcnicas de avaliao das aplicaes, no sentido de afer-las sob pontos de vista especficos. O captulo 5 deste livro trata desse assunto para a rea de realidade virtual, servindo como ponto de partida para o processo de desenvolvimento e avaliao de aplicaes de realidade aumentada. 1.3.3. Ferramentas O desenvolvimento de aplicaes de realidade virtual e aumentada pode ser facilitado, quando so usadas ferramentas apropriadas para cada caso, como linguagens, bibliotecas, ambientes visuais de 15

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

desenvolvimento, etc, constituindo ferramentas de autoria das aplicaes. A escolha certa das ferramentas depende de um bom conhecimento do domnio da aplicao e da disponibilidade de recursos de hardware e de software, alm de recursos financeiros, quando se tratar de ferramentas comerciais. O captulo 6 deste livro faz uma anlise de ferramentas para desenvolvimento de aplicaes de realidade virtual e aumentada, citando exemplos e potencialidades de uso. 1.3.4. Sistemas Distribudos Aplicaes simples de realidade virtual e aumentada costumam ser voltadas a um nico usurio. No entanto, a demanda por trabalho colaborativo, envolvendo vrios usurios remotos, vem crescendo e exigindo o desenvolvimento de aplicaes sobre redes de computadores ou constituindo sistemas distribudos. Em funo dos requisitos especficos das aplicaes de realidade virtual e aumentada, importante que os ambientes de rede sejam apropriados para dar-lhes suporte, fornecendo o comportamento esperado pelos usurios. O captulo 7 deste livro trata das questes de sistemas distribudos de realidade virtual e aumentada, considerando seus requisitos e mostrando exemplos, aplicaes e ferramentas. 1.3.5. Dispositivos Hpticos Quando se trabalha com ambientes de realidade virtual e aumentada, manipulando objetos virtuais, sente-se falta da sensao de toque (hptica) que impe mais realismo s aplicaes. Em alguns casos, a sensao hptica, envolvendo tato e fora, pode

16

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

at ser dispensada, mas, em outros, ela essencial, como ocorre em situaes de treinamento. O treinamento mdico um exemplo tpico, no qual o cirurgio deve ter as mesmas sensaes de toque nos tecidos virtuais e nos tecidos reais. Para isto, so usados os dispositivos hpticos e os modelos geomtricos deformveis para se ajustarem s vrias situaes de presso e ruptura. O captulo 8 deste livro discute os aspectos dos dispositivos hpticos e sua utilizao em aplicaes de realidade virtual e aumentada. 1.3.6. Ambientes Colaborativos A evoluo das tecnologias de informtica e de telecomunicaes vem propiciando a computao ubqua ou pervasiva, que faz com que as aplicaes computacionais estejam em vrios lugares ao mesmo tempo. Isto ocorre com telefones celulares, Internet e outras aplicaes. Como resultado dessas facilidades, as aplicaes colaborativas esto tendo um grande desenvolvimento, principalmente em educao, treinamento, projeto e entretenimento, demandando ambientes mais realistas e potencializados como ocorre com realidade virtual e aumentada. O captulo 9 deste livro aborda os conceitos, caractersticas, exemplos e potencialidades de ambientes colaborativos de realidade virtual e aumentada. 1.3.7. Jogos e Entretenimento Jogos e entretenimento sempre tiveram um apelo muito grande nas pessoas. Com o surgimento da realidade virtual e da realidade aumentada, usando cenrios e comportamentos mais realistas, 17

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

recursos dessas reas passaram a ser usados para o desenvolvimento de novas aplicaes ou para a remodelagem de aplicaes j existentes. O captulo 10 deste livro trata do uso de realidade virtual e aumentada em jogos e entretenimento, mostrando suas caractersticas, exemplos e tendncias. 1.3.8. Aplicaes Mdicas A medicina uma das reas que mais demandaram o uso de realidade virtual e aumentada em educao, treinamento, diagnstico, tratamento e simulao de cirurgia. Realidade virtual e realidade aumentada, pelas suas caractersticas de visualizao 3D e de interao em tempo real, permitem a realizao de aplicaes mdicas inovadoras, que antes no podiam ser realizadas. O captulo 11 deste livro discute como a realidade virtual e a realidade aumentada podem ser usadas em aplicaes mdicas, mostrando exemplos e explorando os recurso de visualizao e de sensaes multisensoriais em situaes fsicas e psicolgicas. 1.3.9. Visualizao As imagens sempre foram usadas para melhorar as condies de visualizao de informao das pessoas, atravs de grficos e figuras. Por outro lado, ambientes de realidade virtual e aumentada amplificam as capacidades das pessoas em avaliarem informaes tridimensionais, na medida em que flexibilizam a atuao no espao 3D e permitem o uso de interaes multimodais, possibilitando maior riqueza de detalhes, melhores tcnicas de interao e mais desempenho.

18

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

O captulo 12 deste livro aborda as questes de visualizao apoiada por realidade virtual e aumentada, mostrando exemplos e tendncias.

1.4. ConclusesRealidade virtual e realidade aumentada so reas recentes do conhecimento que vm dando, aos usurios, melhores condies de interao com aplicaes computacionais, propiciando a eles interaes naturais e potencializao de suas capacidades. Para isso, muitos recursos so utilizados, envolvendo hardware, software, perifricos, redes, tecnologias especiais, tcnicas de projeto e avaliao e o desenvolvimento de aplicaes. Este livro agrupa vrias questes envolvidas com o uso de realidade virtual e realidade aumentada para facilitar a vida das pessoas, considerando os conceitos e tendncias, assim como os aspectos de tecnologia, projeto e aplicaes. Este captulo teve como objetivo dar uma viso conceitual de realidade virtual e aumentada, incluindo tendncias, alm de apresentar um resumo do que o leitor ir encontrar na sequncia de leitura.

1.5. Referncias BibliogrficasAzuma, R. (1997) A Survey of Augmented Reality", Presence: Teleoperators and Virtual Environments, v .6, n.4, August, p. 355-385. Azuma, R. et al. (2001) Recent Advances in Augmented Reality. IEEE Computer Graphics and Applications, v .21, n.6, p. 34-47.

19

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Benford, S. et. al. (1998) "Understanding and Constructing Shared Spaces with Mixed Reality Boundaries". ACM ToCHI, v.5, N.3, p. 185-223. Billinghurst, M., Kato, H. (1999) "Collaborative Mixed Reality", Proc. of the International Symposium on Mixed Reality, ISMR'99, Springer -Verlag, p. 261-284. Bimber, O., (2004) "Augmented Reality - Part 1 - Introduction and Overview" Bowman, D., et al. (2005). 3D User Interfaces: Theory and Practice. Boston, MA: Addison-Wesley. Burdea, G., Coiffet,P. (1994) Virtual RealityTechnology", John Wiley & Sons. Insley, S. (2003) "Obstacles to General Purpose Augmented Reality" Kawashima, T. et. al. (2001) "Magic Paddle: A Tangible Augmented Reality Interface for Object Manipulation", Proc. of ISMR2001, p. 194-195. Kirner, C., Pinho, M.S. (1996) Introduo a Realidade Virtual. Mini-Curso, JAI/SBC, Recife, PE. Kirner, C. (2004) Mos Colaborativas em Ambientes de Realidade Misturada Anais do 1o Workshop de Realidade Aumentada, Piracicaba, SP, p. 1-4. Lamb,P. (2007) ArtoolKit Marshall, D. (2001) What is Multimedia? http://www.cs.cf.ac.uk/Dave/Multimedia/node10.html Milgram, P. et. al. (1994) Augmented Reality: A Class of Displays on the Reality-Virtuality Continuum. Telemanipulator and Telepresence Technologies, SPIE, V.2351, p. 282-292. 20

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Sherman, W.R., Craig, A.B. (2003) Understanding Virtual Reality, Morgan Kaufmann. Sutherland, I. E. (1963) SKETCHPAD: A MAN-MACHINE GRAPHICAL COMMUNICATION SYSTEM AFIPS Conference Proceedings, Spring Joint Computer Conference, Detroit Tiffin, J., Terashima, N. ed. (2001) Hyper-reality: Paradigm for the Third Millennium. Routledge. Vince, J. (1995) Virtual Reality Systems, Addison-Wesley. Vince, J. (2004) Introduction to Virtual Reality, Springer-Verlag, 2nd edition. VRML97 (2007). The Virtual Reality Modeling Language. Walsh, A.E., Bourges-Svenier, M. (2001), Core WEB3D, Prentice Hall. Web3D Consortium (2007) X3D Documentation.

21

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Captulo

2Rastreamento ptico para Sistemas de Realidade Virtual e AumentadaLus Augusto Consularo1, Regina Clia Coelho1 e Nivaldi Calonego Jr.2 Universidade Metodista de Piracicaba (UNIMEP) Rodovia do Acar, km 156 13400-911 Piracicaba SP {consularo,rccoelho}@unimep.br2 1

Universidade Estadual do Mato Grosso (UNEMAT) [email protected]

Abstract The camera tracking is particularly useful for Virtual and Augmented Reality systems because tracked objects may serve as interaction devices in 3D scenes. Real object representations are built from the optical tracking of real object projections on photosensor arrays. Cameras as tracking devices have the advantage of not having mechanical contact. However, their effective application requires the knowledge of the main parameters and features involved in the tracking process. This chapter is a very short introduction to the camera tracking problem with an ARToolkit-based example for punctual objects.

22

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Resumo O rastreamento ptico til para sistemas de Realidade Virtual e Aumentada, pois objetos rastreados servem como dispositivos de interao em cenas 3D. Representaes de objetos reais so construdas com o rastreamento de suas projees sobre uma matriz de fotossensores. As cmeras tm a vantagem de no exigir contato mecnico para o rastreamento, porm sua aplicao de maneira efetiva requer o conhecimento dos parmetros e variveis envolvidas em um processo de rastreamento. Este captulo introduz o rastreamento ptico, ilustrando-o com um exemplo de rastreamento de um objeto pontual.

2.1. IntroduoRecuperar a posio 3D em uma cena real, a partir de uma ou vrias imagens, um problema inverso, isto , no possvel resolv-lo sem a construo de um modelo baseado em dados observados [Chalmond, 2003]. No problema deste trabalho, os dados observados so os pixels, de uma ou vrias imagens, capturados com um instrumento, a cmera. A cena real projetada sobre a geometria em que os pixels esto dispostos. Para a grande maioria das cmeras, esta geometria uma superfcie plana (bidimensional) e com os pixels dispostos em uma grade regular. Os pixels nada mais so que os resultados numricos da transduo de um dos muitos fotossensores dispostos naquela superfcie plana. Transduo a transformao de um tipo de energia em outra e a energia que se quer transformar a dos ftons que, depois de interagirem com os objetos da cena real, caem na superfcie fotossensorial da cmera. Esta energia dos ftons , de fato, transformada em energia eltrica, refletindo a quantidade de ftons da cena que colidiram com aquele fotossensor especfico. Portanto, de cada fotossensor resultar um sinal que indica, no tempo, a variao da quantidade de luz (quantidade de ftons) detectada por 23

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

aquele fotossensor. preciso, portanto, determinar de quanto em quanto tempo se deve recuperar essa medida, ou seja, para uma fotografia digital (imagem parada) determina-se qual o tempo de exposio dos fotossensores a uma cena. Para imagens em movimento, este tempo de exposio deve ser suficientemente pequeno para que outra imagem seja obtida, com a sensibilidade desejada. Esta superfcie, geralmente no seria muito til sem um conjunto ptico associado, isto , sem um conjunto de lentes. Estas lentes permitem selecionar quais ftons provenientes da cena real devem cair sobre os fotossensores. As lentes, portanto, funcionam como filtros que selecionam qual parte da cena ser privilegiada na interao com a cmera. A Figura 2.1 ilustra a geometria intrnseca de uma cmera. Todos os parmetros intrnsecos cmera so aqueles relacionados s caractersticas do instrumento. Portanto, somente conhecer tais parmetros no basta. Se quisermos, resolver o problema proposto por este trabalho, esta (ou estas) cmera deve mergulhar (ou flutuar) em uma cena 3D, isto , um plano 2D deve mergulhar em um espao 3D. O posicionamento da cmera no espao 3D gera um outro conjunto de parmetros que, no mais, depende do instrumento, mas sim de uma operao que altere sua posio e sua pose, isto , sua orientao no espao 3D. Considerando ento um espao euclideano, cujos eixos dimensionais chamaremos de xw, yw e zw, possvel estabelecer, pelo menos, dois sistemas de coordenadas: aquele que toma como referncia a cmera e um outro arbitrrio.

24

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

(a)

(b)

Figura 2.1. Parmetros intrnsecos de uma cmera. Em (a) aparecem a distncia focal e as medidas espaciais da superfcie fotossensorial. Em (b) so indicados tambm o nmero de pixels em cada dimenso da altura e largura da superfcie fotossensorial.

Obviamente est faltando o objeto de interesse nisso tudo, pois justamente esta a posio que se quer encontrar. Iniciando-se a partir de um objeto pontual, sua posio na cena 3D representada por uma tripla PO=(xO, yO, zO). Por outro lado, tudo que se tem a projeo da imagem deste objeto na cmera, representada por pI=(xI, yI). O problema inverso a ser resolvido : encontrar PO conhecendo-se pI. Claro que isso no seria possvel se no houvesse mais informaes sobre a geometria do objeto. Da relao entre estes dois pontos (PO e pI) s possvel obter a equao da reta que passa pelos pontos PC (ponto central) e o ponto pI.

Figura 2.2. Geometria da projeo de um objeto pontual sobre uma nica superfcie plana.

25

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

No entanto, se duas cmeras, C1 e C2, forem posicionadas de forma a capturar a projeo do objeto, teremos ento duas retas 1 e 2, respectivamente. Encontrar o ponto em que estas duas retas se encontram resolver o nosso problema.

Figura 2.3. Geometria da projeo de um objeto pontual sobre duas superfcies planas.

Ao longo das sesses a seguir ser relatado um experimento que pode ser reproduzido com dispositivos e artefatos de baixo custo. Este experimento se baseou na biblioteca de realidade aumentada ARToolkit [Lamb, 2007], seja para fazer a aquisio do vdeo, bem como para visualizar a resoluo do problema proposto. A ferramenta para desenvolvimento utilizada foi o MS Visual Studio (verso 6) sobre plataformas PC (Athlon 2600+ com 1GB de memria RAM e Athlon 2400+ com 1GB de memria RAM) com Windows XP Professional. Uma rede local Ethernet de 100 Mbps foi utilizada para conectar os computadores.

2.2. Aquisio e Processamento de VdeoO requisito bsico para se fazer rastreamento ptico a aquisio de vdeo em tempo real. As cmeras, ou seja, os dispositivos para se adquirir vdeo em tempo-real, variam muito suas caractersticas 26

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

e estaria fora do escopo deste captulo detalhar suas configuraes e caractersticas. As opes mais simples so as webcams, conectadas a um PC por meio de interfaces seriais tais como USB ou IEEE-1394. Neste caso, preciso estar atento ao tempo de varredura e ao desempenho do prprio PC. Cmeras mais simples, geralmente, possuem drivers reconhecidos pelos sistemas operacionais por concentradores de drivers, tais como o WDM (Windows Device Manager) [Cant, 2005] ou V4L (Video for Linux) [Dirks, 2003]. H tambm a opo pelas camcorders, que permitem a aquisio de vdeos com maior resoluo de pixels e de cores [Jack, 2005]. Porm preciso reconhecer que um PC nem sempre conseguir processar vdeos da melhor qualidade, pois isto implicaria em acrscimos, muitas vezes drsticos, da quantidade de memria necessria para se armazenar dados temporrios, bem como, de processamento desta grande quantidade de dados. Se conectarmos duas webcams (USB ou IEEE-1394) em um nico PC, dificilmente ser possvel adquirir quadros de cada cmera de maneira satisfatria, pois este mesmo PC teria que conseguir ainda realizar o processamento de cada uma das cmeras. Embora seja possvel, os resultados no so adequados. Uma sada seria utilizar placas de aquisio de vdeo para se conectar as cmeras. As interfaces entre as cmeras e estas placas so normalmente de vdeo analgico (S-Video, Vdeo Composto, RGB+sinais de sincronismo) ou ento digital (DV, IEEE-1394) [Jack, 2005]. Estas placas so capazes de entregar os quadros de maneira rpida. preciso saber se o PC ter capacidade de process-las. Uma outra sada seria estabelecer que cada PC processa uma nica cmera. Neste caso, cada PC estaria conectado a uma rede e sua tarefa seria calcular a reta do objeto projetado em sua imagem. Ao final do clculo da reta, para cada quadro, os coeficientes da reta seriam enviados para um terceiro PC calcular o cruzamento entre as retas. Um problema dessa abordagem que no h a garantia de que os coeficientes de um par de retas gerados 27

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

pelos PCs conectados as suas respectivas cmeras correspondam a quadros gerados no mesmo instante. Por isso, antes, deve ser resolvido o problema de sincronismo: as cmeras devem identificar seus quadros de acordo com o instante da aquisio. H cmeras de baixo custo que fornecem sinais de sincronismo que podem ser enviados a outras cmeras conectadas [Point Grey, 2006]. Ainda assim, preciso que dados sobre este sincronismo (por exemplo, um identificador do quadro) sejam propagados juntamente com os coeficientes da reta correspondente. No experimento deste trabalho no houve a preocupao com o sincronismo, pois um dos objetivos futuros justamente avaliar o impacto da falta do sincronismo em PCs conectados a uma cmera e ligados a uma rede Ethernet de 100 Mbps. A aquisio de vdeo foi suportada pela biblioteca DirectShow (DSVideoLib) [Pintaric, 2003], utilizada pela verso 2.65 do ARToolkit [Lamb, 2007] e que disponibiliza uma interface chamada libARvideo, para controlar a captura dos quadros [Lamb, 2006]. O ARToolkit disponibiliza trs funes para controlar o tempo de vida da aplicao: (i) inicializao (init()); (ii) lao principal (MainLoop()); e (iii) finalizao (cleanup()). Na primeira, dentre outras eventuais inicializaes, a cmera configurada com a chamada da funo arVideoOpen, que toma como parmetro uma cadeia de caracteres. Esta cadeia de caracteres deve abrigar uma sentena cuja sintaxe permite determinar parmetros intrnsecos da cmera tais como: nmero de pixels na largura (videoWidth) e na altura (videoHeight); tipo de cmera e alguns de seus identificadores; a escolha sobre mostrar ou no uma GUI (showDlg) quando a cmera estiver sendo iniciada, entre outros. Nas verses mais atuais do ARToolkit (2.7 em diante [Lamb, 2007]), estes parmetros so configurados em um arquivo XML. Uma vez configurada a cmera, recomendvel que sejam recuperadas as resolues (largura e altura) com que realmente a 28

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

cmera foi configurada. possvel configurar qualquer dimenso em arVideoOpen, porm o hardware da cmera pode no oferecer exatamente a resoluo desejada. A funo arVideoInqSize retorna o nmero de pixels na largura e altura como parmetros passados por referncia. Cmeras so dispositivos que, normalmente, dispem de mecanismos mveis para ajustar a distncia focal, ou aproximando, ou distanciando as lentes da superfcie sensorial. Alm disso, suas caractersticas intrnsecas e extrnsecas devem ser reconhecidas por um processo chamado calibrao, que ser melhor explicado mais adiante, na sesso 2.3.2. Grosso modo, a calibrao determina parmetros da cmera que permitem corrigir distores, bem como determinar como a cmera estava posicionada, ou ainda, como as lentes estavam ajustadas. A funo arParamLoad recupera os parmetros salvos em um processo anterior de calibrao. Para isso, fornecido o caminho e o nome do arquivo contendo estes parmetros e a varivel contendo a estrutura lida desse arquivo. Esta estrutura no abriga todos os dados intrnsecos lidos pela configurao, tais como a largura e altura, que por sua vez, so includos em outra varivel de calibrao juntamente com os parmetros lidos. Este agrupamento realizado pela funo arParamChangeSize e logo aps, a funo arInitCparam carrega estes parmetros em uma varivel alocada em memria, podendo ser exibidos com a funo arParamDisp. A cmera finalmente configurada com estes parmetros, chamando-se a funo argInit, junto do qual so indicados alguns modos de exibio, tais como a magnificao da imagem a ser exibida na tela, opes de tela cheia, entre outras. No lao principal, a primeira instruo executada a de aquisio de um quadro. Esta aquisio ocorre na chamada da funo arVideoGetImage, que retorna um ponteiro de memria para o local onde a imagem adquirida est armazenada. Esta chamada ocorrer neste lao, at que a aplicao termine. O 29

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

ponteiro de memria no define uma estrutura matricial da imagem. Na verdade, preciso utilizar a informao das dimenses de largura e altura recuperadas na configurao para reconhecer esta estrutura. Alm disso, as informaes sobre o nmero de canais de cores devem ser conhecidas antecipadamente. Geralmente as cmeras permitem que se configure estas caractersticas em uma GUI, exibida durante o processo de inicializao. Se a cmera disponibilizar a imagem em 3 canais de cores, com 256 nveis para cada canal, preciso ter em mente que os dados estaro agrupados em pixels, cada um ocupando 3 bytes. Uma imagem que tivesse 320 pixels na largura e 240 pixels na altura, nesse formato de 3 canais de cores, teria ento 320 240 3 = 230.400 bytes ou 225 Kbytes. possvel tambm que, alm dos canais de cores, haja um canal de transparncia, conhecido como canal alfa. Neste caso, a imagem ficaria um pouco maior, ocupando 300 Kbytes. Bem maior que os 75 Kbytes, se a imagem tivesse apenas um canal monocromtico. A ordem em que estas informaes de cores aparecem tambm importante para que se consiga processar a imagem do vdeo. Em formatos de 4 canais, h modos BGRA, para os quais o canal azul (B) o primeiro byte do pixel, o canal verde (G) o segundo, o canal vermelho (R) o terceiro e o canal alfa (A) o quarto. Outro formato comum o RGB, cuja ordem a mesma da sigla. Maiores detalhes sobre espaos de cores podem ser encontrados em [Sharma, 2003; Poynton, 1995; Jack, 2005]. Uma vez obtido o ponteiro para a imagem com a funo arVideoGetImage, o processamento torna-se a tarefa de reconhecer ou identificar os pixels nesta estrutura. Por exemplo, se o objetivo for reconhecer um objeto vermelho na imagem adquirida e, sabendo-se que um quadro de imagem esteja no formato BGRA, tudo o que necessrio fazer percorrer cada um dos pixels, ou seja, grupos de 4 bytes, e verificar se o valor do canal R uma vez e meia maior que os canais B e G, por exemplo. Claro que, 30

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

dependendo das caractersticas do ambiente em que a cmera se encontra, e tambm da intensidade do vermelho do objeto que se quer reconhecer, ao invs de uma vez e meia, talvez seja melhor usar um fator maior ou menor que 1.5. Ao longo das discusses a seguir, apenas para efeito de simplicidade, os objetos de interesse sero vermelhos. Para realizar experimentos, essa restrio pode at ser vlida e til. Contudo, para se conseguir um rastreamento mais robusto recorre-se a imagens formadas por fotossensores de radiao fora do espectro visvel. A mais comum delas o infra-vermelho (IR) e a imagem formada por este tipo de radiao tipicamente monocromtica [Dorfmller, 1999; Sato et al., 2000; Reitinger et al., 2004]. Portanto, para aplicar as abordagens discutidas neste trabalho, troque a deteco de pixels vermelhos pelo processo de limiarizao, que funciona como uma deteco de pixels brancos e, todo o restante continuaria vlido. Existem dois grandes grupos de solues usando IR: (a) um dispositivo que reflete bastante as radiaes produzidas por uma fonte; (b) um dispositivo que emite ativamente a radiao. As fontes de IR so LEDs (Diodos Emissores de Luz), e os materiais IR-reflexivos so pelculas construdas especialmente para esse fim [Dorfmller, 1999]. As cmeras de IR possuem fotossensores mais sensveis a esse tipo de radiao. Embora as cmeras convencionais construdas com tecnologia CMOS tenham sensibilidade radiao IR, elas precisam de filtros para que a luz visvel no participe da formao da imagem a ser rastreada [Johnson, 2007]. O Cdigo 2.1 mostra uma funo que identifica os pixels de um objeto vermelho em uma cena. Neste cdigo, os parmetros so: imPtr, o ponteiro para a imagem adquirida; rsPtr, o ponteiro para um vetor de inteiros com o mesmo nmero de pixels da imagem, para o qual cada elemento ter um valor 255, se o pixel na posio correspondente for reconhecido como vermelho, ou 0 caso

31

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

contrrio; W, o nmero de pixels na largura; H, o nmero de pixels na altura.void redTracking(ARUint8 *imPtr, int *rsPtr, int W, int H) { int i, j; double mx, my, nv; mx = 0; my = 0; nv = 0; for (j=0; j < H; j++) for (i=0; i < 4*W; i+=4) { int sr = (int)(imPtr[i+j*4*W+2]); int sg = (int)(imPtr[i+j*4*W+1]); int sb = (int)(imPtr[i+j*4*W]); if ((sr > 1.6*sg) && (sr > 1.6*sb) && (sr > 100)) rsPtr[i/4+j*W] = 255; else rsPtr[i/4+j*W] = 0; } }

Cdigo 2.1. Cdigo de uma funo para identificar pixels vermelhos na memria do quadro adquirida com a biblioteca DSVideoLib.

Perceba que esta funo pressupe que a imagem ter 4 bytes por pixel e tambm que os bytes esto dispostos na ordem BGRA. O canal A ignorado e o critrio ad hoc para reconhecer um pixel como vermelho que o valor do canal R deve ser maior que 100 (cada canal pode assumir valores entre 0 e 255) e este mesmo valor deve ser 1.6 vezes maior que os canais G e B. O que o Cdigo 2.1 realiza a classificao dos pixels de uma imagem como vermelhos ou no. No entanto, para reconhecer um objeto da cena, que est sendo projetada nesta imagem, conveniente determinar uma representao para este objeto. Se o objetivo for reconhecer um objeto pontual vermelho, a representao mais conveniente um ponto nico, ou seja, 32

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

buscamos aqui a posio de um pixel deste objeto. Mas, qual? A funo do Cdigo 2.1, muito provavelmente, classificar muitos pixels desta imagem como vermelhos e, portanto, como pertencentes ao objeto de interesse. Uma soluo para este problema segmentar a imagem e usar representaes que propiciem a distino entre objetos de interesse e outros que no sejam relevantes para a aplicao. Para isso lana-se mo de tcnicas de anlise de formas para caracterizar os objetos [Costa et. al., 2000].

2.3. Modelos de ProjeoModelo uma abstrao, ou seja, uma idealizao da realidade. A realidade de uma cmera, por exemplo, que o dispositivo fabricado pode distorcer a cena projetada, tanto na disposio dos pixels distribudos espacialmente na imagem, quanto das cores que podem no corresponder ao convencionado. Nesta seo ser apresentado o modelo de projeo em perspectiva. Este um modelo simples e corresponde a uma simplificao da geometria da cmera, chamado modelo pin hole, por no considerar as caractersticas das lentes [Ma et alli, 2004]. Retomando a Figura 2.2, o objetivo encontrar a equao de uma reta que passe pelos pontos pI e PO. Para isso, preciso relacionlos.

33

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Figura 2.4. Modelo de projeo em perspectiva mostrando a geometria da formao da imagem e os 3 pontos de interesse deste trabalho: PO, as coordenadas do objeto pontual na cena; PI, as coordenadas da projeo do objeto na imagem; e PC, o centro de projeo da cmera.

Na Figura 2.4 est ilustrada a geometria deste modelo onde, de um lado esto as coordenadas referentes ao objeto pontual PO e de outro as coordenadas do centro de projeo da cmera PC. Entre estes dois pontos, mas na mesma reta, est o ponto projetado na imagem PI. fcil perceber que h um conjunto de tringulos semelhantes. Em particular, os tringulos APCG e BPCH so semelhantes, assim como os tringulos APCC e BPCD. Portanto direto estabelecer a relao entre os tamanhos de segmentos de retas de acordo com (1). Se PC for adotado como a origem deste espao de coordenadas, ou seja, se PC =(0, 0, 0), obtem-se um relacionamento entre estas coordenadas, no qual o valor de f determina a proporcionalidade entre a posio desse objeto (inclusive seu prprio tamanho) e a posio de sua projeo na imagem. Em outras palavras, f um fator de escala entre o objeto e sua imagem. Desenvolvendo algebricamente estas propores triangulares e reconhecendo nos segmentos de reta destes tringulos as

34

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

respectivas coordenadas de um sistema cuja origem PC, ento o relacionamento pode ser escrito como (1). BH BD BPC x y f = = I = I = xO yO zO AG AC APC Destas propores resultam as duas equaes em (2). (1)

y y xI xO = e I = O f zO f zO

(2)

Este modelo ficaria mais sinttico se fosse representado na forma matricial (3). xI f y = z I C O xO y O C

(3)

A representao do modelo de projeo por coordenadas homogneas particularmente til, pois neste sistema de coordenadas um ponto em um plano representado como uma linha no espao. Qualquer representao em coordenadas cartesianas, para ser transformada em coordenadas homogneas, deve ter uma dimenso a mais que escale as dimenses originais. No exemplo em (4), um ponto como coordenada cartesiana em duas dimenses transformado em um ponto como coordenada homognea, com as dimenses originais acrescidas de um fator de escala w [Schalkoff, 1989]. x / w x x y / w = y y C 1 H w H

(4)

Analogamente, para um ponto de trs dimenses em coordenadas cartesianas, o exemplo (5) mostra a transformao para coordenadas homogneas usando o fator de escala w.

35

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

x / w x x y / w y = y z / w z z C 1 H w H

(5)

Perceba que as coordenadas com fator de escala normalizado (w=1) ou no, representam o mesmo ponto. Voltando ao relacionamento entre pI e PO, observe que (3) poderia ser reescrito em coordenadas homogneas de acordo com (6).f xI y = 0 zO I 1 H 0 0 f 0 x 0 0 O f yO z p = 0 0 0 O I z 0 1 0 O 1 H 0 f 0 0 0 0 0 PO 1 0

(6)

A profundidade do objeto (zO) que multiplica pI pode ser interpretada como um fator de escala, ou seja, uma constante que pudesse ser arbitrariamente definida, pois o que possvel se saber sobre a posio onde est o objeto de interesse que ele reside sobre a linha . O modelo acima pode ainda desmembrar a matriz de projeo (7), isolando o modelo de projeo, representado pela matriz O do parmetro intrnseco envolvido, que por enquanto apenas a distncia focal f e representado pela matriz Kf.

(7)

Tudo o que preciso para calcular a equao de uma reta um par de pontos. No nosso caso, teremos que conhecer PC e PI. Se PC a origem adotada, ento PC=(0, 0, 0). Por sua vez, PI resultante da identificao do rastreamento da projeo do objeto sobre a imagem (veja Seo 2.2), acrescida da coordenada zI=f. As36

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

coordenadas de PI so facilmente reconhecidas no plano da imagem, contudo preciso transformar esta posio de pixels em coordenadas de um sistema que deve incluir o objeto. Alm disso, o modelo deve incorporar as caractersticas da lente da cmera. As retas 1 e 2 da Figura 2.5 devem residir em um nico espao de coordenadas, pois no cruzamento entre elas que estar o objeto. Portanto, necessrio encontrar uma referncia nica para as duas cmeras. sobre isso que trataremos na prxima seo.

Figura 2.5. Modelo de projeo binocular que obedece a restrio epipolar. Observe que o plano 1, contendo a linha base e a reta 1, e o plano 2, contendo a linha base e a reta 2, so coincidentes.

2.3.1. A Restrio Epipolar

Se a cmera estiver apontada para o objeto de interesse, ou melhor, se o objeto de interesse estiver dentro do campo de viso da cmera, ento possvel calcular uma reta que passe pelo centro de projeo (PC) e pela projeo do objeto na imagem (PI), de acordo com a referncia da cmera (origem em PC). O prximo passo colocar outra cmera, cujo campo de viso inclua o objeto de

37

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

interesse. Porm ainda falta: 1) estabelecer a restrio epipolar e tambm 2) encontrar uma referncia nica. A linha que liga os dois centros de projeo das duas cmeras chamada linha-base. Se duas retas residem em um plano, ento fcil perceber que a reta passando pela linha-base e aquela passando pelo centro de projeo (PC) e pelo objeto (PO) residem em um plano, chamado plano epipolar (veja Figura 2.5). A restrio epipolar estabelece que os planos de cada cmera devem ser coincidentes, ou de outra forma, as trs retas: a que passa por PC1 e PO1, a que passa por PC2 e PO2 e a que passa pela linha-base devem pertencer a um mesmo plano. No final das contas, o que esta restrio impe que as linhas dos objetos se cruzem. Veja na Figura 2.5, que os eixos das cmeras devem tambm residir em um mesmo plano.

Figura 2.6. Modelo de projeo binocular que no obedece a restrio epipolar. Observe que o plano 1, contendo a linha base e a reta 1, e o plano 2, contendo a linha base e a reta 2, so distintos.

38

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Para garantir essa restrio, ou pelo menos minimiz-la, preciso criar um mecanismo que possa medir a distncia d12 entre as duas retas (1 e 2) dos objetos de cada cmera, ou ento construir uma montagem suficientemente precisa e acurada, que permita localizar a cmera em ngulos e posies fixas e mensurveis (veja a Figura 2.6). A alternativa proposta neste trabalho usar, como referncia comum, um marcador. Embora o ARToolkit recupere a posio do marcador com pouca preciso, este exerccio permitir que se prescinda de uma estrutura montada em uma trave ou mecanismos que assegurem o posicionamento e a pose das cmeras. O sistema de coordenadas do marcador obtido com o rastreamento desse marcador, do qual identificado, na imagem, aquele objeto mais similar a um quadrado e ento, seus quatro cantos so extrados. Cada um destes quatro cantos so origens de 3 vetores nas direes dos outros 3 cantos. Esta abordagem exposta com mais detalhes em [Kato et. al., 1999]. No ARToolkit a matriz que transforma o sistema de coordenadas, cuja origem o centro de projeo da cmera, no sistema de coordenadas com origem no centro do marcador calculada pela funo arGetTransMat. Para resolver o problema deste trabalho preciso, para cada cmera, encontrar a representao dos pontos correspondentes ao centro de projeo (PC1 e PC2) e projeo do objeto na imagem (PI1 e PI2). Desta maneira, residindo em um sistema de coordenadas nico esto as duas retas cujo cruzamento seria a posio procurada.

39

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Figura 2.7. Modelo de projeo binocular com um ponto de referncia comum calculado a partir de um marcador (PM).

Na verdade, no to simples assim, pois se estivssemos procurando este cruzamento, seria pouco provvel encontr-lo, pois dificilmente conseguiramos um posicionamento de cmeras que obedecesse restrio epipolar. Por isso, o que possvel calcular a distncia d12 (veja Figura 2.6) entre as duas retas. Esta distncia ser tanto melhor quanto menor e, ainda pode ser utilizada como uma indicao de qualidade do rastreamento. Para calcular d12, preciso recorrer a dois pontos da reta 1 e dois de 2, representados aqui como vetores. Um dos vetores em r r 1 pode ser PC1 ( p11 ) e o outro PI1 ( p12 ). Analogamente para 2, PC2 r r ( p21 ) e PI2 ( p22 ) podem ser os vetores utilizados [Goodman et. al., 2004].

40

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

1

r

2Figura 2.8. Distncia entre duas retas que no se cruzam.

Inicialmente representa-se as retas 1 e 2 conforme uma r r reta no espao tridimensional no qual residem p11 , p12 e um ponto r r r r pa qualquer de 1 e p21 , p22 e um ponto pb qualquer de 2. Estas retas tambm so parametrizadas por um coeficiente de inclinao ma e mb, respectivamente para 1 e 2. As equaes para as duas retas podem ser visualizadas em (8).1 : pa = p11 + ma ( p12 p11 ) r r r r 2 : pb = p21 + mb ( p22 p21 )r r r r

(8)

A ilustrao da Figura 2.8 mostra que estas retas no necessariamente se cruzam e, portanto, calcular d12 , de fato, calcular a distncia entre elas. A distncia entre duas retas definida pelos pontos de cada uma destas retas, pelos quais seja possvel construir um segmento de reta perpendicular a ambas, denotada como r.r r r r ( pa pb ) ( p12 p11 ) = 0 r r r r ( pa pb ) ( p22 p21 ) = 0

(9)

r r Na representao apresentada, pa e pb so os dois vetores que, agora, poderiam ser impostos como representantes destes dois pontos. Portanto, tomando-se os vetores resultantes das diferenas r r r r r r r r entre pa e pb ( pa pb ) em r, entre p12 e p11 em 1 ( p12 p11 ) e entre r r r r p22 e p21 em 2 ( p22 p21 ), impe-se as restries da perpendicularidade entre as retas 1 e r; e entre 2 e r. Desta

41

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

maneira, em (9) os produtos escalares entre os vetores diferena que direcionam r e 1 devem ser nulos, assim como os que direcionam r e 2.r11 v21 = ( p11 p21 ) r 22 v21 = ( p22 p21 ) r12 v11 = ( p12 p11 )

(10)

Manipulando algebricamente a expresso resultante da substituio de (8) em (9) e assumindo os trs vetores obtidos pela diferena entre os pontos das retas 1 e 2 em (10), possvel chegar ao valor de ma, conforme (11).r r r r r11 r12 r 22 r 22 (v 11 v 22 )(v 22 v 12 ) (v21 v11 )(v21 v21 ) ma = r21 r21 r21 r11 r 22 r12 r 22 r12 12 12 22 22 (v11 v11 )(v21 v21 ) (v21 v11 )(v21 v11 )

(11)

O valor de mb obtido a partir do valor de ma e tambm dos vetores diferena em (10), como pode ser visto em (12).mb = r11 r 22 r12 r 22 (v21 v21 ) + ma (v11 v21 ) r 22 r 22 (v21 v21 )

(12)

r r Uma vez obtidos ma e mb, para encontrar pa e pb basta apenas substitu-los em (8). O valor de d12 nada mais que o r r tamanho (ou mdulo) do vetor pa pb , como est mostrado em (13).

r r d12 = pa pb

2

r r r r = ( pa pb ) ( pa pb )

(13)

Ao final, as coordenadas do objeto pontual rastreado podem r r ser escolhidas como sendo pa ou pb , ou ainda o ponto mdio.2.3.2. Consideraes sobre Calibrao de Cmeras

Cmeras so dispositivos totalmente dependentes de instrumentos pticos que, por suas caractersticas de fabricao, ou por sua interao com o operador, ou ainda pelas condies ambientais, podem distorcer a projeo sobre a superfcie fotossensorial. Na tentativa de corrigir estas distores, a formao da imagem sobre 42

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

as cmeras idealizada considerando algumas caractersticas que sejam conhecidas e que possam reduzir o erro de suas projees. O modelo de projeo em perspectiva de uma cmera pin hole uma destas idealizaes (veja Seo 2.3), mas como o prprio nome diz, no considera o uso das lentes. Veja bem que em (7) a matriz de projeo foi desmembrada em duas: Kf, a matriz de calibrao e O, a matriz de projeo. Kf considerava, naquela seo, apenas a distncia focal e, portanto, um objeto mais distante apareceria f vezes menor, quando projetada sobre a superfcie fotossensorial. Outras caractersticas, no entanto, podem ser consideradas, tais como o tamanho do pixel, a distoro radial ou qualquer outro parmetro que caracterize a cmera. Claro que, quanto mais parmetros forem considerados, mais complexo o modelo e mais difcil ser tambm calibrar a cmera. Dependendo do parmetro, nem sempre uma matriz Kf 33 ser suficiente para comport-los. Para o propsito deste trabalho, o processo de calibrao de cmeras resume-se em encontrar os parmetros da cmera e displos na forma matricial Kf 33, para que se corrija a posio pI, ainda no sistema de coordenadas cuja referncia o centro de projeo da cmera. Existem muitos processos de calibrao de cmeras, uns muito simples outros nem tanto [Silva, 2003]. Tudo depende dos requisitos de qualidade para a resposta. H aplicaes que so crticas quanto a preciso, outras nem tanto. O ARToolkit disponibiliza um processo de calibrao que salva os parmetros em um arquivo. Este processo se encontra descrito em [Consularo et al, 2004]. um processo simples, porm trabalhoso e sem possibilidade de contorn-lo. Uma vez com a cmera calibrada, possvel confiar melhor nas coordenadas de pI obtidas, porm sempre tendo em mente que a cmera um instrumento e todo e qualquer instrumento apresenta incertezas. 43

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

2.4. Usando o ARToolkit para visualizar o rastreamentoModelo de projeo em perspectiva, calibrao de parmetros intrnsecos e extrnsecos, tudo isso j faz parte da implementao do ARToolkit e est disponvel na forma de bibliotecas. A biblioteca ARToolkit para Realidade Aumentada, ARlib, implementa o modelo de projeo e a prpria calibrao, pois estas tarefas so exigidas para a deteco da posio e da pose de um marcador. O marcador um quadrado preto em fundo branco, que reconhecido na chamada da funo arDetectMarker, cujos parmetros de entrada so: um ponteiro para os pixels da imagem de entrada e um limiar para distinguir o fundo de objetos. A sada ocorre passando-se duas referncias: um ponteiro para uma estrutura, que conter dados sobre o marcador reconhecido, e um outro ponteiro para um valor inteiro que receber o nmero que identifica o marcador reconhecido [Lamb, 2006]. A funo MainLoop, no exemplo exview disponvel nas distribuies do ARToolkit, abriga uma seqncia de tarefas para cada quadro em processamento: 1) os dados da imagem do quadro que foi capturado so apontados por um ponteiro obtido pela chamada da funo arVideoGetImage; 2) deve ser realizado o processamento da imagem deste quadro, tal como aquele do Cdigo 2.1; 3) se este processamento implicar em alterao desta imagem, esta alterao deve ocorrer logo aps o processamento; 4) configuraes sobre o modo como o OpenGL ser utilizado; 5) a imagem aumentada com os objetos 3D exibida chamando-se a funo argDispImage; 6) um marcador buscado na imagem com a chamada de arDetectMarker; 7) se o marcador foi detectado, ento suas posio e pose so recuperadas com a chamada da funo arGetTransMat; 8) uma cena desenhada com o OpenGL, cena esta contendo um objeto sobre o marcador representando os 3 eixos ortogonais de seu espao, uma cmera na posio e na pose

44

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

relativa ao marcador detectado e uma superfcie plana, coplanar superfcie do marcador. Com o propsito de ilustrar este trabalho, o exemplo do exview foi desmembrado em duas aplicaes: uma servindo apenas como rastreador (ARTracker) e outra servindo como um visualizador 3D da geometria do rastreamento (ARViewer). O ARTracker funciona como um servidor em uma arquitetura clienteservidor (veja Figura 2.9), que pode ser requisitado para enviar dois tipos de informao, i) os parmetros de cmera: a matriz de calibrao 33 (Kf), a matriz de projeo 34 (MT) e os fatores de distoro 14 (D); ii) as coordenadas atualizadas da projeo do objeto sobre a imagem (xI, yI). O servio realizado por uma thread iniciada quando a aplicao tambm iniciada. Na linha de comando, se nenhum nmero de porta for informado, assume-se o identificador 1200. Se dois computadores estiverem, cada um com uma cmera conectada, o ARTracker deve ser executado em cada um deles.sx Kf = 0 0 0 sy 0 ox oy 1

(14)

A matriz de calibrao formada por parmetros dispostos de acordo com (14), onde sx e sy so os fatores de magnificao da imagem nas direes x e y, respectivamente e ox e oy so as coordenadas do centro de projeo na imagem. A matriz de projeo MT o operador de rotao e translao que, transforma o sistema de coordenadas da cmera para o sistema de coordenadas cuja origem o centro do marcador. Ela obtida com a chamada da funo arGetTransMat, que toma como entrada as informaes sobre o marcador (tamanho, centro, identificador, entre outras). O fator de distoro D um vetor

45

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

formado por 4 valores: as coordenadas cx e cy do centro de projeo da imagem, a distncia focal (f) e a taxa de aspectos do pixel. O ARViewer (veja Figura 2.9) pode executar em um terceiro computador, ou ainda como uma tarefa de um dos dois computadores executando o ARTracker. Convm salientar que, se a conexo de duas cmeras em um mesmo computador for possvel, os trs processos, ou seja, os dois ARTrackers para as cmeras esquerda e direita, mais o ARViewer podem operar em um nico computador, tomando-se o cuidado de adotar identificadores diferentes para a porta de cada ARTracker. O ARViewer um cliente de dois computadores ligados, cada um a uma cmera que requer, na sua chamada, os endereos IP de cada um dos computadores executando os ARTrackers, acompanhados de suas respectivas portas. Novamente, duas threads executam estas requisies continuamente. Nestas threads podem ser requisitados continuamente os parmetros de cmera e as coordenadas do ponto rastreado na imagem, ou ento apenas as coordenadas do ponto rastreado, se os parmetros da cmera j foram anteriormente requisitados. Uma vez com os dados requisitados, as duas cmeras so desenhadas em uma cena OpenGL que j contm um plano de referncia do marcador, representada por uma superfcie plana quadriculada e um eixo ortogonal sobre a origem. As cmeras so visualizadas em conjunto, com linhas que indicam: o seu eixo ptico, o frustrum, e uma linha passando pelo centro de projeo da cmera e pela coordenada da projeo do objeto pontual na imagem (veja Figura 2.1a). Estas linhas so desenhadas conforme recebem os dados de cada requisio, ficando limitada ao trfego da rede e tambm de suas caractersticas.

46

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Figura 2.9. Execuo do ARTracker mostrando as duas cmeras conectadas, cada uma a um computador (coluna da esquerda). Execuo do ARViewer (coluna da direita) mostrando o eixo ortogonal sobre o plano quadriculado que representa o eixo de coordenadas de referncia do marcador. Os frustrums de cada cmera tambm so exibidos, bem como as retas do eixo ptico de cada cmera, 1 e 2.

Depois de receber os dados de cada instncia do ARTracker, ou seja, de posse dos parmetros da cmera e das coordenadas pI da projeo do objeto sobre a imagem, o problema passa a ser apenas encontrar os pontos PC e PI de cada cmera, de acordo com o sistema de coordenadas do marcador. Para se obter o PC basta recuperar a ltima coluna da matriz de projeo MT. Note que existe uma matriz de projeo para cada cmera. A informao que se tem sobre os pontos pI, no entanto, ainda residem no plano da imagem e, portanto, so bidimensionais com coordenadas (xI, yI). preciso, antes de tudo corrigir sua distoro aplicando-se a matriz de calibrao, ou seja, calcular ( x , y ) de acordo com (15). I I

47

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

x = f I

( xI c x )

x

y = f I

( yI c y )

y

(15)

Uma vez corrigida a distoro, deslocadas as coordenadas do centro, a coordenada z deve ser determinada como f, pois no I sistema de coordenadas da cmera a essa distncia que o plano da imagem se encontra do ponto PC. Portanto, agora as coordenadas do ponto projetado na imagem so ( x , y , f ) . A matriz de projeo I I MT , na verdade, o operador que transforma o sistema de coordenadas da cmera no sistema de coordenadas do marcador. No entanto, o que queremos justamente o inverso, ou seja, obter o ponto PI de acordo com o sistema de coordenadas do marcador. Portanto, invertendo-se MT e aplicando este resultado coordenada homognea de PI (ainda em coordenadas da cmera) obtemos suas coordenadas tendo como referncia o marcador, conforme (16). xI r00 1 PI = M T PI y I = r10 z I r20

r01 r11 r21

r02 r12 r22

x tx I y ty I f tz 1

(16)

A inverso de uma matriz 3x4 no nica e tambm no um processo trivial. O ARToolkit disponibiliza uma funo arUtilMatInv, cuja entrada uma matriz 3x4 e sua sada outra matriz 3x4, ambas como parmetros por referncia. Com PC e PI calculados para cada cmera, encontra-se o cruzamento entre as duas retas de cada cmera, como explicado na Seo 2.3.1.

2.5. Consideraes FinaisNeste trabalho, foram apresentados didaticamente, os passos necessrios para o rastreamento de pontos em um espao real por um arranjo binocular de cmeras, tendo como referncia um marcador detectado pelo ARToolkit.

48

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

O trabalho proposto permite estabelecer uma mtrica de desempenho, que pode ser realimentada para minimizar a distncia d12, na tentativa de satisfazer a restrio epipolar. A construo de dispositivos de rastreamento para realidade virtual e aumentada usando cmeras pode partir das tcnicas simples explicadas neste trabalho. Se, por exemplo, solues algortmicas do problema da correspondncia entre pontos das duas imagens, forem adicionadas, possvel construir dispositivos compostos, possibilitando um rastreamento mais rico. Cmeras menos limitadas podem ser utilizadas, muito provavelmente tornando mais precisas e rpidas as respostas. O uso de redes de alta velocidade para a comunicao das posies e parmetros entre os computadores permitiria garantir dispositivos mais confiveis. A garantia, por exemplo, oferecida pelo sincronismo entre as cmeras fator determinante para uma maior confiabilidade. O espao de interao do dispositivo limitado pela interseco dos frustrums das cmeras. Um dispositivo que permitisse a deteco do volume dessa interseco entre frustrums e, posteriormente, realimentasse dispositivos de movimentao da cmera (vergncia, proximidade e inclinao) poderia resolver este problema, na busca de mais robustez da resposta. Cmeras com campos de viso mais amplos poderiam ser experimentadas para contrapor a construo de um dispositivo para movimentar as cmeras, conforme a soluo do pargrafo anterior. Como se percebe, este tipo de trabalho ponto de partida para a construo de dispositivos de interao baseados em cmera, com aplicaes que tipicamente exijam pouca preciso na interao, como o caso de interfaces com o usurio.

49

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

2.7. Referncias BibliogrficasCant, C. (2005) Writing Windows WDM Device Drivers, Academic Press, 580pp. Chalmond, B. (2003) Modeling and Inverse Problems in Image Analysis, Springer, 328pp. Consularo, L. A.; Coelho, R. C.; Fernandes, M. M. (2004) Tutorial sobre o ARToolKit, http://www.consularo.com/artoolkit, (visitada em 04/03/2007). Costa, L. F.; Cesar Jr., R. M. (2000) Shape Analysis and Classification. Theory and Practice, CRC Press, 659pp. Dirks, R. (2003) Video for Linux Two, http://www.thedirks .org/v4l2/, (visitada em 04/03/2007). Dorfmller, K. (1999) Robust Tracking for Augmented Reality using Retroreflective Markers, Computers and Graphics, v23, p795-800. Goodman, J. E.; ORourke, J. (2004) Handbook of Discrete and Computational Geometry, 2a ed., Chapman and Hall/CRC Press, 1512pp. Jack, K. (2005) Video Demystified. A Handbook for Digital Engineer, Newnes, 927pp. Johnson, G. (2007) How to make a webcam work in infrared, http://www.hoagieshouse.com/IR/, (visitada em 04/03/2007). Kato, H.; B., Mark (1999) Marker Tracking and HMD Calibration for a Video-based Augmented Reality Conferencing System, Proceedings of the 2nd IEEE and ACM International Workshop on Augmented Reality, p85-94. Lamb, P. (2006) ARToolKit Documentation, http://artoolkit. sourceforge.net/apidoc/, (visitada em 04/03/2007).

50

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Lamb, P. (2007) ARToolKit Developer Page, http://source forge.net/projects/artoolkit, (visitada em 04/03/2007). Lamb, P. (2007) ARToolKit Home Page, http://www.hitl. washington.edu/artoolkit, (visitada em 04/03/2007). Ma, Y.; Soatto, S.; Kosecka, J.; Sastry, S. (2004) An Invitation to 3D Vision. From Images to Geometric Models, Springer, 526pp. Pintaric, T. (2003) DSVideoLib, http://sourceforge.net/ projects/dsvideolib, (visitada em 04/03/2007) Point Grey Research (2006) Dragonfly Express, http://www.pt grey.com/products/dx, (visitada em 04/03/2007). Poynton, C. (1995) A Guided Tour of Color Space, Proceedings of the SMPTE Advanced Television and Electronic Imaging Conference, p165-170. Reitinger, B.; Bornik, A.; Beichel, R.; Werkgartner, G.; Sorantin, E. (2004) Augmented Reality based Measurement Tools for Liver Surgery Planning, Bildverarbeitung fr die Medizin (BVM), Springer, p274-278. Sato, Y.; Kobayashi, Y.; Koike, H. (2000) Fast Tracking of Hands and Fingertips in Infrared Images for Augmented Desk Interface, Proceedings of Fourth IEEE International Conference on Automatic Face and Gesture Recognition, p462467. Schalkoff, R. J. (1989) Digital Image Processing and Computer Vision, John Wiley and Sons, 489pp. Sharma, G. (2003) Digital Color Imaging Handbook, CRC Press, 764pp. Silva, L. C. (2003) Mtodo Robusto para a Calibrao de Cmeras em Estereofotogrametria, Tese de Doutorado COPPE UFRJ, 117pp. 51

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Captulo

3Tcnicas de Interao para Ambientes de Realidade Virtual e AumentadaJudith Kelner e Veronica Teichrieb Grupo de Pesquisa em Realidade Virtual e Multimdia, Centro de Informtica Universidade Federal de Pernambuco (GRVM CIn UFPE) Av. Prof. Moraes Rego, S/N Prdio da Positiva 1 Andar Cidade Universitria 50670-901 Recife PE Brasil {jk,vt}@cin.ufpe.br

Abstract Software usability is highly dependent on the supported interaction at the interface level. A number of techniques have been described in the literature, and some of those used in the context of virtual and augmented realities together with implementation aspects are presented in this chapter. Resumo A usabilidade de um software dependente das tcnicas de interao disponveis na sua interface. Vrias dessas tcnicas encontram-se descritas na literatura, e algumas usadas nos ambientes de Realidade Virtual e Aumentada, com uma breve descrio sobre sua implementao, so descritas neste captulo.

52

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

3.1. IntroduoA interao entre pessoas existe desde o surgimento das primeiras civilizaes humanas. Diferentes culturas utilizaram diversas formas para a troca de informaes, numa evoluo contnua que teve incio com os primeiros desenhos rupestres nas cavernas, passando pelos sinais de fumaa, os sons dos tambores, as pinturas nas telas, a imprensa escrita e falada, o telefone, a televiso e, finalmente, o computador e toda parafernlia tecnolgica existentes atualmente. No contexto de interface homem-mquina, interao a maneira com que o usurio se comunica com a aplicao, podendo esta comunicao ocorrer atravs de dispositivos ou de forma simblica [Schneiderman e Plaisant, 2004]. De acordo com Bowman, interao um mtodo que permite a um usurio realizar uma tarefa atravs da interface do usurio. Uma tcnica de interao inclui tanto componentes de hardware (dispositivos de entrada/sada) quanto de software. As tcnicas de interao utilizadas nos componentes de software so responsveis por mapear a informao de um dispositivo de entrada em alguma ao dentro do sistema, e por mapear a sada do sistema de forma que esta possa ser interpretada pelos dispositivos de sada [Bowman et al., 2004]. Existe um dito popular, que no se deve adquirir um livro apenas pela aparncia da sua capa. Isto pode ser vlido no contexto dos livros, mas considerando-se software, a experincia indica que vrios usurios deixam de usar um software sofisticado por causa de uma interface mal projetada e das dificuldades de interagir atravs da mesma. No incio da era computacional, no se deu muita importncia ao processo de interao homem-mquina (HCI). A prioridade era obter um processamento preciso dos dados. Com a evoluo e disseminao dos computadores pessoais cresceu a

53

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

necessidade de serem adotadas metodologias especficas para a HCI. Os usurios no esto dispostos a consumir seu tempo precioso com aplicaes que possuam interfaces que utilizam tcnicas primrias de interao. A busca por estratgias avanadas de interao contempla, atualmente, grande parte do tempo dos projetistas quando se inicia o processo de desenvolvimento de um novo software ou de um novo dispositivo. Inmeros so os benefcios que um bom projeto de interao pode agregar a um software. Entre estes, podem-se citar a usabilidade do sistema, menor curva de aprendizagem, localizao e uso de todas as potencialidades da aplicao, otimizao do tempo do usurio na busca pela informao, entre outros. Nas aplicaes que exploram o espao bidimensional (2D) as tcnicas de HCI j esto consolidadas e incluem as comumente encontradas nas interfaces do tipo WIMP - Windows, Icons, Menus and Pointing Device. Atravs desse tipo de interao os usurios normalmente podem gerenciar os sistemas operacionais, armazenar e gerenciar textos, apresentaes, bitmaps, udios, vdeos, entre outros. A interao via dispositivo de apontamento, ou simplesmente mouse, bastante explorada na maioria das interfaces projetadas para desktops 2D. De acordo com Trevisan, um dos aspectos centrais na HCI consiste em como combinar objetos reais e virtuais dentro de um ambiente real, de tal forma que os usurios possam realizar as suas tarefas e interagirem simultaneamente com os objetos reais e virtuais [Trevisan et al., 2002]. Utilizando os mtodos j consolidados de projetos de interfaces em ambientes 2D, o usurio ser levado a interagir com dois ambientes, um real e outro virtual, o que poder acarretar numa quebra do seu fluxo natural de interao, quando solicitado ora a interagir com o ambiente real ora com o mundo virtual. Como conseqncia destas dificuldades, os mtodos tradicionais no so vlidos para projetar e avaliar interfaces em ambientes tridimensionais (3D).

54

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

Nas aplicaes de Realidade Virtual (VR) tcnicas especiais de interao que lidam com o espao 3D so demandadas. A interao pode ocorrer tanto no sentido usurio-aplicao, quanto no sentido aplicao-usurio. Como exemplos desta ltima, cenrios virtuais utilizados em VR podem dar retorno ao usurio atravs de dispositivos chamados hpticos. Neste caso, o usurio sente a reao do mundo virtual e pode reagir de forma diferente dependendo dos estmulos providos pela VR. Ainda considerando os ambientes de VR, deve ser avaliado se a interao ser no-imersiva, ou imersiva. Para os ambientes imersivos as tcnicas de interao introduzem novos paradigmas para o usurio, estimulando outros sentidos que normalmente no poderiam ser explorados em ambientes no-imersivos, como por exemplo, a viso estereoscpica [Bowman et al., 2004]. Nos ambientes de Realidade Aumentada (AR) a mudana ainda mais drstica, principalmente do ponto de vista do usurio, onde os computadores tradicionais com os seus dispositivos e interfaces j bem definidas praticamente no so mais utilizados. Com a introduo de alguns dispositivos especializados, tais como trackers e luvas de dados, resolvem-se problemas especficos para algumas aplicaes, mas estes dispositivos no podem ser reutilizados ou adaptados em outras reas de aplicao [Broll et al., 2005]. O design de tcnicas de interao visa trs objetivos principais: desempenho, usabilidade e utilidade. Desempenho diz respeito quo bem as atividades esto sendo realizadas pelo usurio e pelo sistema, em cooperao, alm de eficincia, preciso e produtividade. Usabilidade trata da facilidade em informar o sistema sobre as intenes do usurio, bem como a facilidade de uso e de aprendizado, alm do conforto do usurio. Utilidade mostra que a interao ajuda o usurio a atingir os seus objetivos, podendo focalizar na tarefa. A prxima seo descreve as principais tcnicas de 55

Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicaes

interao para interfaces 3D, apresentadas utilizando a classificao definida por Bowman (2004) para tcnicas comumente adotadas em ambientes de VR, alm de uma breve discusso sobre a adaptao destas tcnicas para ambientes de AR.

3.2. Mtodos e Tcnicas de InteraoInterao 3D crucial em sistemas de VR, assim como de AR. Nesta seo so apresentadas algumas tcnicas de interao 3D que foram, originalmente, desenvolvidas para ambientes virtuais. importante res