Rastreamento em Realidade Aumentada com Artoolkit e Marcadores Priscila Santarosa Lahr, Paulo César Lourenço, Carlos Alberto Dainese Universidade Metodista de Piracicaba - (UNIMEP) Faculdade de Ciências Matemáticas, da Natureza e Tecnologia da Informação {pslahr, pclouren, cdainese }@unimep.br Abstract The evolution of hardware and software computing resources has allowed the development on visualization techniques. The use of graphics resources with specific input and output devices makes possible to define experiments using Augmented Reality, define procedures to calculate orientation and space information, and frame tracking. This work is a study of Augmented Reality to take the x, y and z space coordinates (translation) and orientation (angle rotation) from the environment by marks. It was utilized the ARToolkit software with a digital camera and Pentium IV microcomputer to perform experiments and get the date. 1. Introdução A Realidade Aumentada é definida como uma área de investigação que pretende desenvolver “mundos” que combinem objetos reais com cenas virtuais geradas por computador, possibilitando adicionar, ao mundo real, informações adicionais[2]. Com a Realidade Aumentada é possível que o usuário possa interagir, em tempo real, com esse mundo “aumentado”, tornando difícil à distinção entre os ambientes real e virtual. A Realidade Aumentada proporciona um aumento da percepção humana através da adição de informação não detectada diretamente pelos sentidos naturais. Nela, objetos virtuais são inseridos e posicionados na cena real em função da posição relativa do observador. Para desenvolver um Sistema de Realidade Aumentada é imprescindível o tracking. O tracking mede a posição e orientação do observador no espaço em relação ao sistema de captura de imagens (câmera). Vários autores têm desenvolvido estudos em Realidade Aumentada com uso de tracking para detecção de movimento das mãos, como Piekarski [5], e Dias [3,4] para reconhecimento de gestos. Para os experimentos deste estudo, foi utilizado o software ARToolkit [1] e marcadores para o reconhecimento de movimentação espacial e orientação. 2. Sistema de Realidade Aumentada e Tracking Um típico sistema de Realidade Aumentada é formado de uma ou mais câmeras, software para construção de objetos virtuais, sistema gráfico e dispositivo de interação para as tarefas de: a) captura da cena real, b) criação de imagens virtuais, c) sobreposição dos objetos reais e virtuais no mesmo cenário, d) rastreamento para posicionamento e orientação espacial do usuário e, e) interação em tempo real. O processo de criar um ambiente de Realidade Aumentada consiste em obter imagens reais, via câmera, e misturá-las com objetos sintetizados por computador dentro do mesmo ambiente. Uma tarefa importante é extrair informações para instruir o sistema gráfico no processo de formação de um ambiente a partir do ponto de vista do usuário. Uma das formas para efetuar esta operação é utilizar marcadores que permitem, ao sistema gráfico, definir coordenadas espacial e orientação dos objetos a partir do ponto de vista do usuário, quanto identificar alterações de posicionamento (tracking) e interação do usuário com os objetos. 37 2.1. O Software ARTOOLKIT ARToolKit [1] é uma biblioteca que permite desenvolver aplicações em Realidade Aumentada utilizando de técnicas de visão computacional para o processo de orientação e calibração de câmera, sobreposição e visualização de imagens reais e virtuais no mesmo cenário, além de detecção de movimentos em tempo real, cujo processo é feito com a utilização de um marcador. Além disso, suporta dispositivos como luva, capacete para visualização 3D, podendo ser utilizado em plataforma SGI IRIX e Windows PC 95/98/NT. O software ARTookit foi projeto por Hirokazu Kato e está disponível na Universidade de Washington. 3. Experimentos Realizados Para os experimentos do estudo foi utilizado um computador Pentium IV, uma câmera digital Sony, os software Artoolkit e Visual C++. Foram construídos marcadores (figura 1) no formato quadrado, de diferentes tamanhos, compostos de bordas pretas e, tendo ao centro, símbolos pretos, que serviram de identificação para as etapas de calibração e posicionamento de objetos virtuais sobre os marcadores. Os objetos utilizados para o estudo foram elaborados através do software VRML com tamanhos, formatos e cores diferenciadas. Figura 1 – Exemplos de marcadores utilizados nos experimentos Definiu-se uma mesa de trabalho na escala de 28,0 X 39,0 cm com a mesma estrutura dos marcadores (figura 2). Com a câmera focalizada a uma distância de 65 cm (figura 3) e centrada com a relação à mesa, foi possível estabelecer um sistema de coordenadas em relação à câmera. 38 Figura 2 – Mesa utilizada como apoio para desenvolver os experimentos Figura 3 – Ambiente com mesa e câmera Utilizando o ARToolKit 2.65 with vrml, foram realizados experimentos para identificação de deslocamento e orientação espacial. Foi utilizado um marcador (figura 4) posicionado obliquamente e deslocado do centro da mesa. Ao reconhecer o marcador, o ARToolKit retorna uma matriz de transformação de ordem 3x4, definida na função arGetTransMat( ). Nessa matriz, a última coluna contém as coordenadas do marcador em relação ao sistema da câmera (figura 5). Na primeira coluna da matriz podemos retornar os ângulos mínimos e máximos de cada eixo. As coordenadas espaciais e orientação são detectadas enquanto o marcador está sendo reconhecido e o objeto está visível. Todos os dados são gravados em um arquivo texto. 39 Figura 4- Marcador para extração de dados de rotação e translação Figura 5- Resultados de rotação e translação 4. Discussão e trabalho futuro Com a realização dos experimentos conseguimos executar uma fase importante e essencial para os sistemas de Realidade Aumentada que é o tracking. Com os resultados é possível identificar que o ARToolkit consegue detectar movimentação de translação e rotação com base em marcadores para aplicações em Realidade Aumentada. A fase seguinte do estudo será o reconhecimento de gestos com o Artoolkit. Referências [1] Augmented and Mixed Reality, “ARToolKit version 2.65” - Human Interface Technology Lab HITLab – disponivel em http://www.hit.washington.edu. [2] Azuma, R. T. - "A Survey of Augmented Reality"; Hughes Reserch Laboratories; Teleoperators and Virtual Environments, 6, 4 (August 1997), 355-385. [3] Dias, J.M.S., Santos, P., Nande, P., Barata, N.,Correia, A. “Image Manipulation throught Gestures”, Portugal, ADETTI/ISCTE – http://www.adetti.iscte.pt. [4] Dias, J.M.S., Santos, P., Nande, P., Barata, N.,Correia, A. “In Your Hand Computing: Tangible In terfaces for Mixed Reality”, Portugal, ADETTI/ISCTE – http://www.adetti.iscte.pt. [5] Piekarski, W., Thomas, B.H.,”Using ARToolKit for 3D Hand Position Tracking in Mobile Outdoor Environments”, University of South Australia, Australia. 40 Acesso via Internet para Máquina Virtual de Medir por Coordenadas Ricardo Zottino, Nivaldi Calonego Junior, Álvaro José Abackerli, Carlos Eduardo Della Coletta Faculdade de Ciências Matemáticas, da Natureza e da Terra UNIMEP - Universidade Metodista de Piracicaba Programa de Pós Graduação em Ciência da Computação Caixa Postal 68 – 13.400-901 – Piracicaba – SP – Brasil [email protected], [email protected], [email protected], [email protected] Abstract This article discusses the Virtual Coordinates Measurement Machine support for Internet application programs. Firstly, a synthesis on related works is present, reviewing different Virtual Distributed Environments models, and its influences on the system architecture. This discussing comprehend in a dedicate communication protocol and portable for multiple platforms, that will be responsible to manage the data exchange in a Collaborative Virtual Environment Distributed. Introdução A evolução das pesquisas no campo da realidade virtual durante a década de 90 propiciaram o surgimento de vários ambientes virtuais, distribuídos e colaborativos, que na sua maior parte está atualmente implementada em C++. Essa opção é devido à limitação dos recursos de hardware e de software existentes que induzem ao uso de plataformas proprietárias, tais como: SUN, HP-UX, IBM RISC, Silicon Graphics. A evolução tecnológica dos computadores pessoais, o barateamento de dispositivos de interface gráfica e o crescimento da rede mundial de computadores criaram as condições necessárias à Realidade Virtual Distribuída (RVD) via Internet. Atualmente, os processadores embutidos nos computadores pessoais oferecem a performance necessária para o processamento gráfico, e os meios de comunicação oferecem largura de banda necessária para garantir taxas de comunicação suficiente para que essas aplicações a Internet. Neste contexto, emerge a criação de uma camada de protocolo portável para múltiplas plataformas que faça uso das tecnologias Java, Shout3D, VRML ou X3D para a implementação de Realidade Virtual Distribuída para a Internet. Trabalhos Correlatos O DIVE (Distributed Interactive Virtual Environment) é um sistema de Realidade Virtual Distribuído Interativo, multi-usuário baseado em Internet, que proporciona navegação e visualização espacial 3D, possibilitando a interação de usuários e aplicações. Desenvolvido na Suécia pela Swedish Institute of Computer Science (SICS), sua primeira versão surgiu em 1991. A interação de um usuário provoca a difusão do evento na rede, com comunicação multi-cast, não possuindo servidor centralizado. O compartilhamento de estado é análogo à memória compartilhada, onde um conjunto de processos interage através de acessos concorrentes a essa “memória compartilhada” [6, 13, 5]. Ele é o precursor de outros ambientes, como o Avango, que oferece é um framework para desenvolvimento de ambientes virtuais distribuídos, que utiliza um modelo de programação análogo ao DIVE. O Avango é desenvolvido em C que distribui as informações através da replicação de uma cena para todos os processos que participam da aplicação distribuída [15]. Noutra linha, aparece o SPIN-3D em que se explora a plataforma CORBA/ORB de sistemas distribuídos para implementar o Ambiente Virtual Colaborativo (AVC). Disponibiliza cenas 3D destinadas à colaboração entre pequenos grupos utilizando VRML. A implementação é linguagem C++, com CORBA e ORBacus, utilizando o framework Open Communication Interface (OCI) para implementar o protocolo Multicast Inter-ORB Protocol (MIOP). O trabalho de colaboração entre os 41 usuários é realizado através da replicação do mundo virtual VRML por um servidor, que faz cópia ou “clone” da cena para cada cliente conectado [10]. O COVEN é uma concepção mais ampla de RVD. Ele se apresenta como derivação do DIVE e do dVS e foi desenvolvido por um consórcio Europeu, no período de 1994 a 1998, objetivando a análise de requisitos e viabilidade de aplicações Computer Supported Cooperative Work (CSCW). Ele utiliza múltiplos servidores para o gerenciamento das comunicações, estes definem espaços de interação diferentes, permitindo comunicação em longas distâncias para a colaboração em ambientes virtuais, e uso de multimídia para reuniões [6, 3]. Outro experimento é o VEOS (Virtual Environment Operation System), implementado em 1993, é uma ambiente de programação C e AutoLISP, desenhado para a prototipação rápida de um Ambiente Virtual Distribuído, em que o estado é armazenado um banco de dados contendo tuplas privadas e publicas. Neste caso, o banco de dados reflete o estado atual do mundo virtual, cujo modelo enfatiza a comunicação assíncrona e a distribuição baseada em entidades [6, 2, 13]. A questão da persistência de um mundo virtual é o foco do NPSNET. Em desenvolvimento desde 1993, sua versão atual é o NPSNET-V, que implementa um componente Java para o desenvolvimento de aplicações cliente-servidor, ponto-a-ponto ou produtos standalone. Seu objetivo é disponibilizar uma plataforma capaz de implementar no “cyberspace” a persistência de um mundo virtual que não necessita ser desativado para manutenção ou upgrade do sistema, buscando qualidades como extensibilidade de conteúdo e aplicações, escalabilidade em mundos complexos e com grande número de participantes e composição heterogênea de conteúdo e aplicações [6, 13, 9]. Os trabalhos citados anteriormente representam concepções diferentes para a implementação de ambientes para o desenvolvimento de aplicações em Realidade Virtual. Projetos como o MASSIVE [8] e WorldToolKit [14] continuam em aprimoramento de novas versões. Mas, muitos dos ambientes virtuais colaborativos, distribuídos e frameworks não tiveram continuidade, devido à forte correlação do software com plataformas específicas ou à falta de um planejamento para continuidade do projeto em futuros projetos de pesquisa, ou mesmo abandono do projeto inicial. A pesquisa bibliográfica revela outras implementações, tais como: ADVICE [12], AVIARY [6, 13, 1], AVIT [7], VIRTUS 13], VUE [6]. Os problemas detectados para a elaboração de ambientes virtuais distribuídos podem ser significativamente reduzidos pela delimitação do problema. Neste caso, o desenvolvimento do suporte de uma “Máquina Virtual de Medir por Coordenadas” para acesso via Internet. Dos modelos anteriormente apresentados, será experimentado o modelo de programação cliente-servidor, implementando os mecanismos de comunicação via RMI e Socket. Arquitetura do Ambiente Para a concepção da proposta considerou-se: a utilização máxima de recursos Open Source; a adoção de padrões da comunidade científica, para que o projeto possa ser reutilizado e aperfeiçoado em trabalhos futuros; possibilitando seu reuso em aplicações de Realidade Virtual Distribuída via Internet. A visão macroscópica apresentada na Figura 1, ilustra a adoção do modelo cliente-servidor em que as modificações do ambiente virtual estão associadas a diferentes serviços (som, imagem, interação, navegação e comandos), conforme ilustra a Figura 2. Esse modelo flexibiliza tanto o desenvolvimento quanto o uso. O desenvolvimento permite o projeto modular, possibilitando a implementação e o teste de cada uma das partes e serviços, facilitando a geração dos casos de teste e a depuração. Mas, introduz problemas com sincronismo necessário a determinadas aplicações, especialmente no que tange ao som e imagem conjugados. Mas, no caso da “Máquina Virtual de Medir por Coordenadas - VCMM” essa questão não é significativa. 42 O módulo “Protocolo de Realidade Virtual” (PRVD), usa o arquivo de configurações, Figura 2, para determinar protocolos de comunicação ponto-a-ponto, multi-cast ou broadcast para cada um dos serviços. Assim, diferentes clientes têm a possibilidade de estarem associados a diferentes servidores, permitindo que a interação e os comandos sejam compartilhados, de acordo as configurações definidas. Os mecanismos de comunicação podem ser configurados por serviço para usar o Transfer Control Protocol ou Datagram Control Protocol sobre o Internet Protocol. Os usuários devem usar o arquivo de configuração para determinar como ocorrerá a execução das atividades tanto no lado dos servidores quanto no lado dos clientes. Essa decisão poder ser útil, por exemplo: (i) para os dispositivos de navegação, dado que a perda de alguns pontos de vista não prejudicará a visualização; (ii) iniciar clientes em máquinas diferentes; (iii) isolar ambientes virtuais diferentes e em execução numa mesma rede. Servidor Cliente Aplicação Interação Navegação Comandos PRVD Socket RMI TCP TCP/UDP IP Rede Figura 1 – Camada dos protocolos. A definição para a utilização de Remote Method Invocation (RMI/JAVA) e Sockets como mecanismos de controle e comunicação, proporcionará ao final do projeto, a realização a análise de desempenho comparativa entre dois modelos citados [4]. Arquivo de Configurações XML Arquivo de Configurações Cliente Interação Navegação Comando XML Servidor msg msg msg PRVD PRVD PRVD end. ip, porta end. ip, porta end. ip, porta PRVD PRVD PRVD msg msg msg Interação Navegação Comando Os fatores considerados críticos para a implementação da VCMM é o número de usuários, número de cenas, objetos e de aplicações ou serviços, e a complexidade dos conhecimentos da Engenharia, necessário à base de transformações que representam a dinâmica do sistema. Figura 2 – Diagrama da lógica de serviços Com o intuito de delimitar o escopo deste trabalho e consequentemente diminuir sua complexidade, estaremos abordando a integração de uma quantidade limitada de usuários em um único mundo virtual, correspondendo à quantidade de alunos de uma sala de aula. Mas, a aplicação oferece a possibilidade de uso via Internet, dados que serão implementadas as cenas no formato Shout3D [11], havendo a possibilidade de uso dos formatos X3D [16]. Considerações finais Essa abordagem apresenta vantagens, por exemplo: (i) o uso de UDP para os dispositivos de navegação, dado que a perda de alguns pontos não necessariamente prejudica a visualização; (ii) iniciar clientes em máquinas diferentes, para explorar recursos específicos, tais como, rastreadores óticos; (iii) isolar ambientes virtuais diferentes em execução na mesma rede. Apesar das possíveis dificuldades de 43 sincronização, decorrentes do modelo, podem ser discutidas da ótica dos requisitos, que não é o foco deste trabalho. Referências [1] AVIARY. http://www.crg.cs.nott.ac.uk/people/Dave.Snowdon/vr/aviary/, 2004. [2] COCO, Geoffrey P. The Virtual Environment Operating System: Derivation, Function and Form. University of Washington, 1993. http://www.hitl.washington.edu/publications/th-93-1/th-93-1.pdf, 2004. [3] COVEN. http://coven.lancs.ac.uk, 2004. [4] Deitel, II. M. Java Como Programar. Bookman, 2001. [5] DIVE. Swedish Institute of Computer Science (SICS). http://www.sics.se/dce/dive/dive.html, 2004. [6] Greenhalgh, Chris. Supporting Complexity in Distributed Virtual Reality Systems. Technical Report NOTTCS-TR-96-6, Department of Computer Science, The University of Nottingham, Nottingham, NG7 2RD, UK. [7] Ipolito, Juliano Ribeiro. AVIT – Ambiente Virtual Interativo Tridimensional, Uma Plataforma Configurável para Desenvolvimento de Ambientes Virtuais Interativos Multi-Usuários. Universidade Federal de São Carlos, 1999. [8] MASSIVE.http://www.crg.cs.nott.ac.uk/research/systems/MASSIVE-3, 2004. [9] NPSNET. http://www.npsnet.org/~npsnet/v/, 2004. [10] Picard, Stéphane Louis Dit, Degrande, Samuel, Gransart, Christophe, Chaillou, Christophe, Saugis, Grégory. Comunication Platform for Synchronous Collaborative Virtual Environmnet, 2001. http://www.lifl.fr/~louisdit/, 2004. [11] Polevoi, Rob. Interactive Web Graphics with Shout3D. Sybex, 2001. [12] Rodrigues, Silviane G., Oliveira, Jauvane C., Peixoto, Marcos V. ADVICE: Um Ambiente VIrtual Colaborativo para o Ensino a Distância, 2003. http://www.lncc.br/~jauvane/papers/WTD_Webmidia_VersaoFinal.pdf, 2004. [13] SAAR, Kurt. VIRTUS: A Collaborative Multi-User Platform. ACM VRML99, Pag. 141-152, Paderborn Germany, 1999. [14] Sense8.http://www.sense8.com, 2004. [15] Tramberend, Henrik. Avango: A Distribuited Virtual Reality Framework. GMD – German National Research Center for Information Technology, 2000. http://www.avango.org, 2004. [16] X3D. Extensible 3D (X3D). International Draft Standards. Disponível na Internet. http://www.web3d.org/fs_specifications.htm, 2003. 44 Visualização de Dados em Ambientes com Realidade Aumentada Claudio Kirner, Nivaldi Calonego Júnior, Carolina V. Buk, Tereza G. Kirner Universidade Metodista de Piracicaba - UNIMEP Faculdade de Ciências Matemáticas da Natureza e Tecnologia da Informação Programa de Pós Graduação em Ciência da Computação {ckirner, ncalonego,tgkirner}@unimep.br, [email protected] Resumo The growing of information demands new techniques to represent and visualize data, so that the user can understand the information set and make decision in a fast way. This paper presents a tool based on augmented reality, that allow graphics to be superimposed over live video of the real world, so that the user can manipulate (put, delete, arrange and configure) graphs in a real environment. 1. Introdução Os avanços tecnológicos vêm permitindo a produção e armazenamento de dados em computadores, de maneira vertiginosa a cada ano. Ao mesmo tempo em que isto pode ser visto como um benéfico para as pessoas, é também um problema, na medida em que dificulta a identificação de informações importantes contidas nos dados. As técnicas de exploração visual dos dados, com a ajuda do computador, exercem um papel importante na solução ou minimização desse problema. No entanto, em função das restrições do ambiente, muitas vezes são disponíveis sistemas de visualização limitados ao plano da tela do monitor, mas a Realidade Virtual veio expandir as possibilidades de visualização, rompendo a barreira da tela. Com realidade virtual, consegue-se um espaço tridimensional (3D) infinito, no qual podem ser dispostos gráficos 3D e por onde pode-se navegar e interagir. Apesar das vantagens, a realidade virtual permite que uma pessoa fique longe de um foco de interesse importante, o que deve ser contornado por soluções como acionamento de alertas. Como a navegação e interação em ambientes de realidade virtual depende de algum treino e familiaridade com dispositivos não convencionais, procurou-se superar um problema com o uso de realidade aumentada, de forma que, adicionando-se os objetos (gráficos) virtuais ao ambiente real, pudesse também usar as mãos para mover e atuar sobre os gráficos dispostos no ambiente. Este trabalho discute a representação de dados em gráficos discretos 3D, buscando soluções para seu uso em ambientes de realidade aumentada. 2. Representação e Visualização de Dados O fato das pessoas terem maior facilidade em analisar representações gráficas do que quantidades de dados repercutiu no impacto da visualização nas questões cognitivas. Assim, a cognição, ligada à aquisição ou uso de conhecimento, tem seu foco orientado mais para o objetivo do que para o significado da visualização [4]. Desta forma, o objetivo da visualização é a percepção e o entendimento do conteúdo representado que levam à descoberta, à tomada de decisão, à explicação e não à figura. 2.1. Visualização de Informação A visualização científica tende a basear-se em dados físicos e, mesmo quando trata de abstrações, elas são atreladas ao espaço físico. Informações não físicas, como dados financeiros, podem beneficiar-se da representação visual, mas não apresentam um mapeamento espacial óbvio. Os benefícios para a cognição decorrem de uma boa representação visual do problema e de sua 45 manipulação interativa, fazendo com que as pessoas usem suas capacidades inerentes de percepção visual. Visualização da informação pode, assim, ser definida como “o uso de representações visuais, interativas de dados abstratos, suportadas por computador, para amplificar a cognição" [4]. O tipo de visualização a ser empregado está relacionado à representação dos dados. Há sete tipos de visualização da informação: unidimensional, bidimensional, tridimensional, multidimensional, temporal, hierárquica e em rede [4, 6]. Os quatro primeiros tipos são espaciais e os outros três tipos são estruturais. A visualização de dados unidimensional é baseada em uma posição, focando um ponto na reta (por exemplo, linha de tempo) ou um elemento no monitor (por exemplo, conjunto de documentos). A visualização de dados bidimensional é baseada na percepção da posição e de outro atributo como altura, largura, área, cor, etc.(por exemplo, diagramas de barras e gráficos de pizza). A visualização de dados tridimensional é baseada em três atributos, incorporando freqüentemente a noção de volume. Aqui se tem a aplicação imediata de realidade virtual. Muitas vezes, pela facilidade da representação de um espaço bastante grande, usa-se realidade virtual para a visualização de dados bidimensionais, dispondo-se gráficos de barras, por exemplo, espalhados pelo cenário do mundo virtual. Por outro lado, a incorporação de quatro ou mais atributos aos dados, que pode usar três atributos espaciais e outros como cor, tonalidade, forma, etc., usando a visualização tridimensional com realidade virtual para navegar pelo cenário e interagir com as representações dos dados. Os outros três tipos de visualização da informação, embora importantes, não serão abordados neste trabalho. 2.2 Representação de Dados A representação de dados visa apresentar a informação ao usuários, de maneira simples e sintética. Uma das formas mais comuns de se fazer isto é através de gráficos discretos tridimensionais com múltiplos atributos, como diagramas de barras dispostos no espaço e incrementados com com elementos de animação, visuais e sonoros. Os elementos visuais incluem: forma, dimensão (largura, profundidade e altura), cor, tonalidade, transparência, pulsação de cor (frequência), etc. Os elementos de animação mostram as variações dos gráficos (ou de parte deles), em um determinado período de tempo e com uma velocidade escolhida (taxa de variação do tempo). Os elementos visuais costumam oferecer uma noção estática da situação dos dados, mas podem também incorporar uma visão da história recente e de tendências, quando estão associados à derivada e outras funções dinâmicas. Os elementos sonoros são mais usados como advertência, ou para chamar a atenção para ocorrências especiais ou atípicas, de forma que o usuário possa perceber o fato, mesmo que esteja focando outra seção do conjunto de gráficos [5]. Os elementos animados permitem a avaliação dos dados de forma dinâmica, visualizando o seu comportamento em períodos de tempo [8]. 2.3. Interação com a Representação dos Dados Embora a maior parte dos sistemas de visualização da informação se preocupem exclusivamente com a visualização em si, única, em janelas ou através de navegação tridimensional, a interação com a representação dos dados vem se tornando foco das atenções, uma vez que pode potencializar as aplicações, incrementando a análise e tomada de decisão por parte do usuário. Assim, gráficos podem ser mapeados em regiões clicáveis, sujeitos à interação com o usuário, fornecendo informações adicionais ou executando ações específicas. Limites visuais com mínimos, máximos, faixas de erro, etc. podem ser inseridos ou alterados graficamente pelo usuário. 46 Essas características de interação podem ser incorporadas a sistemas implementados como aplicações tradicionais (ambientes bidimensionais) ou aplicações avançadas tridimensionais, usadas em realidade virtual e realidade aumentada [2, 3, 7]. 3. Projeto de um Visualizador de Dados com Realidade Virtual O visualizador de dados com realidade virtual consiste num sistema de visualização tridimensional de gráficos de barras, composto por um ambiente virtual interativo, um banco de dados e um módulo de controle/configuração. O ambiente virtual interativo, programado com VRML e JavaScript, é responsável pela renderização dos gráficos de barras, cuja estrutura é definida pelo usuário, através do módulo de controle/configuração, e cujos dados são atualizados através de consulta ao banco de dados. O módulo de controle/configuração é uma interface do usuário com o sistema, responsável pela configuração dos gráficos e pela atualização do banco de dados. O banco de dados mantém os dados atuais, que são renderizados como gráficos, e os últimos dados históricos, utilizados para a obtenção de atributos dinâmicos, como derivada e outras funções, além de servir para alimentar animações históricas, quando solicitadas. O elemento de referência do ambiente virtual interativo é a barra mostrada na Figura 1a que, além de uma série de atributos, apresenta também dois planos sensores ajustáveis par indicar valores máximo e mínimo para o dado. Figura 1a- Elemento de Referência Figura 1b - Ambiente Virtual Simplificado A replicação estruturada do elemento de referência forma o ambiente virtual final, conforme exemplo mostrado na Figura 1b. 4. Uma Experiência de Visualização de Dados com Realidade Aumentada Usando o Visualizador de Dados com Realidade Virtual e o Sistema de Realidade Aumentada ARTOOLKIT [1], foi realizada a experiência de se colocar os gráficos virtuais no mundo real, ou seja, sobre uma placa na mão do usuário. Para isto foi usado um computador com uma webcam e o software ARTOOLKIT, que, através de mecanismos de visão computacional, reconhece marcas previamente cadastradas e sobre elas coloca objetos virtuais associados. Assim, o visualizador com Realidade Virtual foi definido como um objeto e associado com um marcador reconhecido pelo ARTOOLKIT. Ao colocar-se a placa com o marcador no campo de visão da webcam, o sistema coloca o gráfico sobre a placa, que pode ser inspecionada pelo usuário (Figura 2). Além disso, o usuário pode interagir com o gráfico na tela, usando o mouse para movimentar planos de mínimos e máximos. Há um projeto em andamento que vai substituir o cursor controlado pelo mouse pelas mãos do usuário, tornando o sistema 47 mais natural. Figura 2 - Exemplos de uso do Visualizador de Dados com Realidade Aumentada Como o sistema reconhece várias marcas diferentes simultaneamente, o próximo passo do projeto é construir um tabuleiro quadriculado com espaço para várias placas, de forma que cada placa contenha uma parte do gráfico geral. Assim, o usuário poderá ver o conjunto, pegar uma parte do gráfico e movimentá-lo, trocar partes de lugar e mesmo substituir, eliminar ou incluir novas partes do gráfico, além de executar interações. 5. Conclusões A realidade virtual apresenta elevado potencial para visualização de dados, na medida em que não impõe limites de espaço, mas exige algum treinamento e conhecimento para ser manipulada. A colocação da solução com realidade virtual dentro do ambiente real, fazendo sobreposição de imagens capturadas por câmeras de vídeo com imagens geradas por computador, facilita a análise e a interação com os gráficos, potencializando o aspecto cognitivo, relacionado com o entendimento da informação. Este trabalho apresentou uma discussão sobre visualização de dados, e o projeto de um visualizador com realidade virtual e sua inserção em um ambiente de realidade aumentada. Referências [1] [2] [3] [4] [5] [6] [7] [8] ARToolKit - <http://www.hitl.washington.edu/research/shared_space/ > Acesso em 02/04/04 AZUMA.R.et al. Recent Advances in Augmented Reality. IEEE Computer Graphics and Applications, v .21, n.6, 2001, p. 34-47. BELCHER, D. et al. Using Augmented Reality for Visualizing Complex Graphs in Three Dimensions. Proc. of the Second IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR'03), Tokyo, Japan, Oct. 2003, p. 84-92. CARD, S.K.; MACKINLAY, J.D.; SHNEIDERMAN, B. - Readings in Information Visualization: Using Vision to Think. Morgan Kaufmann Pub. 1999. FRANKLIN, K.N.; ROBERTS, J. - Pie Chart Sonification. Proc. of the Seventh International Conference on Information Visualization (IV'03), London, England, July 2003, p. 4-9. KEIM, D.; HAO; M.C.; DAYAL, U. - Hierarchical Pixel Bar Charts. IEEE Trans. On Visualization and Computer Graphics, v.8 N.3, p.255-269, July/Sep. 2002. KIRNER, T.G.; MARTINS, V.F. Development of an Information Visualization Tool Using Virtual Reality. Proc. 15th ACM Symposium on Applyed Computing - SAC'2000, Como, Italy, March 2000, p. 604-607. NAKAKOJI, K.; TAKASHIMA, A.; YAMAMOTO, Y. - Cognitive Effects of Animated Visualization in Exploratory Visual Data Analysis. Proc. of the Fifth International Conference on Infomation Visualization (IV'01), London, England, July 2001, p. 77-84. 48 Ambiente de Visualização e Interação de Simulações Neurais Abstract Galesandro Henrique Capovilla, Regina Célia Coelho, Luís Augusto Consularo Universidade Metodista de Piracicaba - UNIMEP Faculdade de Ciências Matemáticas da Natureza e Tecnologia da Informação Programa de Pós Graduação em Ciência da Computação [email protected], [email protected], [email protected] Modeling neurons and neural structures has provided a powerful tool to examine and better understand the nervous system, especially since experiments with animals are often difficult. In this sense, this paper propose to the generation a virtual reality environment to allow visualizing, navigating and interacting with a simulator of neural cells and structures of friendly and efficient way. 1. Introdução A realidade virtual vem crescendo a cada dia e atuando cada vez mais em diversas áreas relacionadas a ciência; como é o caso das simulações na área de neurociência, que hoje representam um grande avanço em pesquisas relacionadas a esta área, possibilitando estudos mais avançados e eficazes. A melhor forma de visualizar estas simulações é recorrendo à Computação Gráfica, ou mais especificamente, à Realidade Virtual, que permite, além da visualização tridimensional, a interação, imersão e navegação do usuário no sistema. O advento das tecnologias em Realidade Virtual (RV) tem colaborado para a abertura de uma nova dimensão para diversos pesquisadores, que podem “entrar” em simulações eletrônicas, o que permitem a eles ocupar um espaço imaginário. Pelo fato da RV ser uma etapa além da visualização computacional, ela nos permite “andar” de fato em um ambiente visual simulado (“realidade simulada”) e analisar o funcionamento do “mundo” sendo percorrido. Recentemente, este fato tem se tornado um grande aliado para os neurocientistas, uma vez que a RV pode auxiliá-los na interpretação da grande quantidade de dados gerada pelas simulações. O surgimento de novas tecnologias e a melhora na qualidade de tecnologias já existentes (como velocidade computacional e qualidade dos monitores de vídeo) tem tornado a RV muito atrativa tanto para pesquisas quanto para aplicações em neurociência. Várias aplicações da RV e da computação gráfica como um todo em neurociência têm surgido em pesquisa, treinamento e tele-imersão [1,2,3,4]. Em termos de impacto realista nas simulações, estas aplicações podem ser tão boas ou até melhor que realidade física. Esta tecnologia permite criar universos inteiros e, o que é melhor, improvisar "realidades". Além disso, o desenvolvimento de técnicas de realidade virtual e o progresso da computação gráfica permitem agora a implementação de algoritmos extremamente complexos e rápidos para criar, mostrar e manipular modelos de estruturas neurais. A proposta deste artigo é gerar um ambiente de RV para visualizar, navegar e interagir com um simulador neural. Atualmente já existe um simulador neural desenvolvido por COELHO [5,6] cuja uma das funções é gerar células com características morfológicas estatisticamente idênticas às células naturais e para isso utiliza L-Systems estocáticas e modificadas para considerarem medidas morfológicas extraídas de células naturais [5,6]. Se gerarmos um ambiente de RV distribuída, ele dará o suporte necessário ao simulador para que o usuário possa analisar o que ocorre durante o crescimento destas células, podendo, inclusive, interferir no crescimento. 2. O Ambiente de RV Uma das grandes vantagens da construção de um ambiente RV para as simulação neurais é a possibilidade de executar diversas vezes um experimento sem se preocupar em danificar os tecidos neurais naturais ou com sacrifícios de animais, sem contar que não seria possível repetir o experimento com uma mesma estrutura neural, no caso de tecidos naturais. Este é o principal fator para o 49 crescimento nas pesquisas envolvendo realidade virtual e experimentos biológicos. Um exemplo é o trabalho de SUBRAMANIAN e MARSIC [7], que descreve um ambiente de RV chamado ViBE (Virtual Biology Experiments) como sendo um laboratório virtual voltado para pesquisas em biologia. Através do ViBE, é permitido ao aluno executar diversas vezes um mesmo experimento, sem se preocupar com os gastos de materiais, desperdícios. Através do ViBE, o aluno pode interagir com o software verificando, por exemplo, uma divisão celular, uma mitose, uma meiose. Outro trabalho que trouxe uma contribuição muito forte para a realidade virtual ligada à neurociência é o trabalho de COSTA, OLIVEIRA e MINGHIM [8] em que tratam da visualização tridimensional de neurônios e mostra as diferentes formas dos neurônios dependendo da função que cada um executa. Há também o trabalho de TARR e WARREN [9] que demostra algumas aplicações da realidade virtual voltada para a neurociência, psicologia e algumas outras áreas afins. Em seu artigo é descrito o laboratório VENlab (Virtual Environment Navigation Laboratory), que realiza as experiências de imersão possibilitando pesquisas comportamentais. O objetivo principal deste trabalho é a visualização de um simulador neural que promova interatividade e imersão com o usuário, ou seja, permitir que o usuário possa interferir no crescimento de células neurais, analisar o crescimento e formação de uma estrutura neural, analisar alguns aspectos relacionados à neurogênese destas estruturas, como por exemplo, a reorganização neural na presença de campos tróficos (campos de atração ou repulsão neural) e na apoptose (morte neural natural). As estruturas neurais que estão sendo utilizadas no ambiente, são geradas utilizando conceitos matemáticos e de computação, tais como, tipo, conexão e propriedades fisiológicas de cada neurônio. O programa de simulação gera uma quantidade de células neurais sintéticas, que possuem características reais e, além disso, é possível obter dados sobre o campo elétrico gerado em torno de um neurônio [5,6]. Para o ambiente de RV, consideramos uma estrutura neural como sendo nada mais nada menos que dados armazenados na memória do computador que serão utilizados para gerar cilindros que irão representar os neurônios. A representação por cilindros foi escolhido com base no modelo do cabo [10,11], que surgiu com a necessidade de interpretar e modelar os dados obtidos de neurônios individuais por meio de microeletrodos introduzidos no neurônio. Este modelo, em geral utilizado para dendritos, fornece um modelo teórico que nos permite conectar uma estrutura morfológica e elétrica do neurônio à sua função. Nele, as árvores dendríticas são aproximadas por cilindros e são utilizadas equações diferenciais parciais para descrever o fluxo de corrente de uma árvore dendrítica [12]. Os cilindros, por sua vez, apresentam uma renderização simples e rápida devido à pequena quantidade de dados necessários para a sua criação. Os dados de entrada para o ambiente virtual serão capturados da rede (por enquanto são lidos de arquivos), uma vez que a simulação enviará os resultados pela rede. Estes serão enviados obedecendo a seguinte estrutura: Número Neurônio Número Galho Coordenada X1 Coordenada Y1 Coordenada Z1 Coordenada X2 Coordenada Y2 Coordenada Z2 Raio Cada neurônio é identificado por um número para que seja possível identificar a que neurônio pertence o galho que está crescendo a cada momento. Cada galho também recebe um número que o identificará. Desta forma, dado o número do neurônio e o galho é possível controlar a quem pertence cada ponto que está sendo enviado ao ambiente de RV pelo simulador. O simulador envia dois pontos que indicam em que lugar da cena deverá ser criado um cilindro (início e fim do cilindro). O raio deste cilindro é enviado pelo simulador, que indicará a espessura do galho. Sendo assim, os dados são recebidos, interpretados, normalizados (apenas para diminuir o tamanho da cena gerada) e, através de um objeto denominado Pipe1, a visualização é gerada. A cena será criada de acordo com o recebimento dos dados enviados pela simulação. Quando há ramificação para um novo galho (bifurcação), um novo Pipe é 1 Pipe: objeto existente na biblioteca GLScene, que possibilita, através de algumas propriedades, desenhar um cilindro, tendo ainda a possibilidade de definir um raio diferente para cada extremo do cilindro. 50 gerado dinamicamente, que possuirá novas coordenadas, gerando, assim, a visualização da simulação neural. Note que em ramificações, apenas um pipe novo é gerado, uma vez que o segundo pipe (o outro lado da bifurcação) poderá ser a continuação do pipe anterior. O ambiente proposto possibilitará ao usuário executar interações do tipo alterar o ponto de vista, visualizar o crescimento neural através de diferentes ângulos, ampliar a cena utilizando a opção zoom. Possibilitará ainda que o usuário possa eliminar (matar) algumas células e verificar a reorganização neural causada pela morte de determinadas células e pela presença de campos tróficos. Além disso, como será desenvolvido utilizando RV distribuída, poderemos ter usuários em diferentes máquinas interagindo com o ambiente. Para isso utilizaremos o conceito de sockets, que nada mais é que uma interface de comunicação entre os dispositivos encontrados na rede. Através dos sockets conseguiremos fazer com que todos os usuários interajam no mesmo mundo virtual. Na Figura 1 é apresentado um exemplo do crescimento de 3 células neurais tridimensionais. Neste figura são ilustrados três estágios de crescimento das células. Como podemos notar, as três células estão crescendo ao mesmo tempo (em paralelo). Em uma estrutura com mais células, quando o dendrito de uma célula encontrar um axônio de outro ocorrerá uma conexão, permitindo que estes neurônios possam trocar sinais elétricos. Embora neste exemplo esteja ilustrado apenas três células, o ambiente permite que mais células possam ser incluídas, porém as conexões entre elas ainda não está implementada no ambiente de RV gerado. Figura 1 – Visualização de três estágios do crescimento paralelo de três células neurais. O ambiente está sendo desenvolvido utilizando a linguagem orientada a objetos DELPHI juntamente com uma biblioteca gráfica denominada GLScene [13,14], que possui alguns componentes já desenvolvidos que facilitam a elaboração de um ambiente gráfico 3D e é freeware. 3. Conclusão O ambiente proposto será útil não apenas para a análise em tempo real das simulações, como também para a observação e análise de cada etapa de todo processo de crescimento e formação da estrutura neural, incluindo fatores que influenciam no crescimento. Assim, o usuário poderá acompanhar e estudar a plasticidade que ocorre com as células na presença de substâncias químicas. Outro grande atrativo do ambiente é que ele permitirá que algumas células sejam mortas, simulando a apoptose que ocorre naturalmente nos seres vivos. Com isso, as células que estiverem em volta das que morreram se reorganização para tentarem formar novas conexões, suprindo, desta forma, a falta das células mortas. Desta forma, o ambiente gerado poderá contribuir muito para o avanço nos estudos do comportamento de células neurais. É importante ressaltar também que será permitido que mais de um usuário possa visualizar, navegar e interagir com a cena ao mesmo tempo, uma vez que o ambiente será construído de forma distribuída. 51 Futuramente o ambiente poderá ser estendido para um ambiente que suporte realidade aumentada também, não apenas RV. A biblioteca GLScene oferece suporte de captura do mundo real e a mistura deste mundo com o virtual. Desta forma, poderíamos, por exemplo, utilizar um dispositivo de interação simples, como uma barra com uma bolinha vermelha, capturar os movimentos desta barra utilizando uma webcam e reproduzir tais movimentos na cena. Referências [1] LEIGH, J. et al. Virtual Reality in Computational Neuroscience, in: Virtual Reality and Its Applications, eds: R. Earnshaw; H. Jones; J. Vince, Academic Press, London, 1994. [2] ASCOLI, G. A. et al. Computational Neuroanatomy of the Hippocampus, Draft of the poster for SFN98, Los Angeles, 1998, http://www.krasnow.gmu.edu/ascoli/sfn98/index.html (acessado em 07/12/2002). [3] BÜLTHOFF, H. H.; van VEEN, A. H. C. Vision and Action in Virtual Enviroments: Modern Psychophysics In Spatial Cognition Research, Technical Report No. 77, Max-Planck-Institut für Biologische Kybernetik, Germany, 1999. [4] TARR, M. J.; WARREN, W. H. Virtual Reality in Behavioral Neuroscience and Beyond (Review), Nature Neuroscience Supplement, v. 5, 2002, p. 1089 -1092. [5] COELHO, R. C.; COSTA, L. F., Realistic neuromorphic models and their application to neural reorganization simulations, Neurocomputing, n. 48, 2002, p. 555-571. [6] COELHO, R. C. ; JAQUES,O. Generating Three-Dimensional Neural Cells Based On Bayes Rules And Interpolation With Thin Plate Splines, 8th Iberoamerican Congress on Pattern Recognition, Havana, Cuba, in: Progress in Pattern Recognition, Speech and Image Analysis, Lecture Notes in Computer Science, v. 2905, 2003, p. 675-682. [7] SUBRAMANIAN, R.; MARSIC, I., Vibe: Virtual Biology Experiments, Hong Kong, May, 2001, p. 1-5. [8] COSTA, L. F.; OLIVEIRA, M. C.; MINGHIM, R., De olho nos neurônios – As formas virtuais do pensamento, Ciência Hoje, v. 28, n. 167. [9] TARR, M. J.; WARREN, W. H., Virtual reality in behavioral neuroscience and beyond, Nature Neuroscience Supplement, v. 5, November 2002. [10] BOWER, J. M.; BEEMAN, D. The Book of GENESIS, Springer-Verlag New York , Inc. Published by TELOS, 1995. [11] KOCH, C.; SEGEV, I. Methods in Neuronal Modeling, The MIT Press, 1995. [12] NEDEL, L. P., Escola de informática da SBCSul, Passo Fundo, 21 a 25 de maio/2001. [13] GLScene - <http://www.ibrtses.com/opengl/> Acesso em 02/04/04 [14] GLScene - <http://glscene.sourceforge.net/index.php> Acesso em 02/04/04 52 Entrada de Senhas com Realidade Aumentada Ricardo Armengol Silva, Luís Augusto Consularo, Regina Célia Coelho Faculdade de Ciências Matemáticas, da Natureza e da Terra UNIMEP - Universidade Metodista de Piracicaba Programa de Pós Graduação em Ciência da Computação Caixa Postal 68 – 13.400-901 – Piracicaba – SP – Brasil [email protected], {laconsul, rccoelho}@unimep.br Abstract The password authentication has become an ordinary task for all personal computer users. Banks, intranets or service providers has required mouse point-and-click password entry to avoid spywares or snoopy intruders eavesdropping on keyboard typing. This work proposes an alternative solution to password entry with augmented reality. A PC-connected webcam picture frames are segmented to identify a finger tip whose position tracking translates a virtual finger on a virtual numerical keyboard. 1. Introdução A entrada de senhas em computadores pessoais ainda permanece um problema de segurança, especialmente quando o usuário, para usar um serviço em seu computador deve utilizar o teclado para fazê-lo. Já se tornou prática comum o uso do mouse para apontar caracteres que componham uma senha, principalmente em páginas cujas entradas devam ser autenticadas. Este tipo de artifício evita que programas invasores monitorem as entradas do usuário ou cliente pelo teclado. Um dispositivo que vem se tornando bastante popular, a webcam, pode ser aplicada em soluções de entrada de senhas. Este trabalho propõe o uso de webcams como dispositivos de entrada de senhas a partir do rastreamento da posição do dedo indicador em uma superfície planar. Desta maneira, no momento da entrada da senha, uma imagem rastreada do dedo do usuário deverá tocar um teclado virtual sobre a imagem real. 2. Dispositivos e componentes As webcams têm se tornado um dispositivo de baixo custo e bastante comum em computadores pessoais ou mesmo em aplicações corporativas. Contudo, seu uso geral em computadores pessoais restringe-se a videoconferências, captura de instantâneos ou pequenos vídeos ou ainda em vigilância. Componentes ou funções de aquisição de imagens em movimento, permitindo o seu processamento em tempo-real, já são abundantes e variam entre os disponíveis em caráter gratuito e comercial. Neste trabalho utiliza-se um componente gratuito para o ambiente RAID Delphi 5.0, o VideoCap [1]. Este componente permite selecionar o dispositivo de aquisição de vídeo e também, a partir de um ponteiro para a região de memória na qual são colocados os pixels da imagem de cada quadro, processá-la e rastrear um objeto na cena. A idéia, neste caso, é rastrear o dedo indicador do usuário para que sua posição na imagem adquirida seja mapeada sobre um objeto virtual que será mostrado ao usuário na tela. Na verdade, as imagens em movimento são mapeadas como o fundo da cena virtual na qual está inserido o teclado (veja Figura 1). Este teclado ou teclas virtuais compõem uma cena virtual elaborada com uma suíte de componentes que encapsula a API gráfica OpenGL no Delphi, a GLScene [2]. Embora pouco documentada esta suíte de componentes permite que se edite ambientes virtuais hierarquicamente estruturados com elementos de iluminação, objetos, câmeras e efeitos. 53 Figura 1. Um teclado virtual mapeado sobre uma cena real, adquirida por uma webcam (modelo Webcam 3, Creative Labs). 3. Indicando onde está o indicador Os experimentos iniciais consideraram um dispositivo de interação bastante simples, uma vareta com uma pequena esfera vermelha acoplada a sua extremidade. Foi necessário utilizar um filtro de cor de pele [3] para eliminar os ruídos gerados pela limiarização da cor vermelha. Este mesmo filtro deverá ser aplicado na segmentação do dedo indicador, que servirá então como referência do espaço de interação. Para identificar qual dedo é o indicador serão reconhecidos os tamanhos e as posições relativas da mão e de seus dedos [4]. Uma vez identificada a região da imagem que contém o dedo indicador, a parte do contorno do dedo com maior curvatura deverá ser localizada e então mapeada sobre o objeto virtual [5]. Uma alternativa a este processo é a esqueletonização da mão segmentada com algoritmos rápidos de distância, tais como as distâncias Chamfer (veja Figura 2) [6]. A vantagem desta alternativa é que as extremidades podem ser mais facilmente localizadas nos esqueletos. Além disso, as distâncias Chamfer podem ser calculadas com apenas duas convoluções de pequenas máscaras sobre a imagem. Figura 2. Esqueleto de uma mão utilizando algoritmo de distâncias Chamfer d∞. 4. O espaço de interação 54 O local onde a mão poderá ser capturada pela câmera é o espaço de interação. Por ser planar, este espaço de interação pode ser mapeado por uma homografia, restringindo espaços da imagem adquirida como teclas. Uma outra solução é utilizar a matriz de projeção da câmera obtida por um processo de calibração. Este processo requer um padrão de pontos distribuídos no espaço 3D real cujas coordenadas sejam previamente conhecidas. A matriz de projeção conhecida resolve a posição do pixel na imagem correspondente a uma coordenada 3D real. Deste modo, restringindo a posição do teclado à mesma inclinação do objeto usado na calibração é possível inferir a tecla que o usuário quer pressionar e assim, entrar com esta escolha. Esta solução permite que o teclado simulado não seja resultado de uma projeção ortográfica, mas com uma opção de projeção em perspectiva. 5. O objeto tecla ou teclado O teclado é um modelo 3D hierárquico, isto é, um grafo de cena que representa um teclado numérico de 14 teclas (10 numéricas, um ponto decimal, retrocesso, remoção e confirmação). Este modelo é implementado no GLScene como uma árvore com nodos de suporte, teclado, câmera e iluminação. Após invocada, a aplicação lança uma tela para que o usuário acione alguma de suas teclas apenas posicionando os dedos na mesa. O usuário tem como referência uma imagem real com o teclado virtual sobreposto e um toróide envolvendo alguma tecla. A cada movimento do dedo na tela, este toróide virtual se movimenta na cena virtual sobreposta ao quadro da imagem adquirida. A escolha da tecla, isto é, o evento de pressionamento ocorre quando o usuário pressiona a tecla de espaço no teclado real. Deve ser estudada a possibilidade de se usar o movimento do dedo para gerar este evento. 6. Comentários Finais Este trabalho apresentou uma experiência inicial para a solução de entrada de senhas baseada em realidade aumentada. Embora simples, pois a aplicação depende apenas de mapeamentos homográficos, foi mostrado que é possível construir um rastreamento do dedo do usuário para tomar uma ação sobre um objeto virtual, um teclado. Aplicações em segurança vêm tendo crescente interesse e a realidade virtual e aumentada, por se basear em tecnologias de interação com usuário, mostra-se uma importante fonte de soluções. Referências [1] HUEBLER, J. TVideoCap Version 2.2 Help File. email: [email protected], Weingarten, Alemanha. 17 de maio de 2000. [2] GRANGE, E. GLSCene - OpenGL solution for Delphi. http://www.glscene.org, 1º de abril de 2004. Desde 13 de abril de 2000. [3] CHIANG, C-C.; TAI, W-K.; YANG, M-T.; HUANG, Y-T.; HUANG, C-J. A novel method for detecting lips, eyes and faces in real time. Real-Time Imaging, 9(4), p277-287, 2003. [4] LI, W.; HSU, W.; PUNG, H.K. Twins: A Practical Vision-based 3D Mouse. Real-Time Imaging, 4, p389-401, 1998. [5] OKA, K.; SATO, Y.; KOIKE, H. Real-Time Fingertip Tracking and Gesture Recognition. IEEE Computer Graphics and Applications, 6, p64-71, 2002. [6] BORGEFORS, G. Distance Transformations in Digital Images. CVGIP, 34, p344-371, 1986. 55 Visualização de dados da Rede de Computadores utilizando técnicas de Realidade Virtual Eduardo Noboru Sasaki, Nivaldi Calonego Junior, Luis Augusto Consularo Faculdade de Ciências Matemáticas, da Natureza e da Terra UNIMEP - Universidade Metodista de Piracicaba Programa de Pós Graduação em Ciência da Computação Caixa Postal 68 – 13.400-901 – Piracicaba – SP – Brasil [email protected], [email protected], [email protected] Abstract The technological development and the use of new resources of three-dimensional interfaces in virtual environment in network make with that they are available alternatives for the management of architectures, topologies and projects of the network. This work has as objective to study, to project and to implement an interface based on virtual reality for a practical application in computer network, contributing for the visualization of information of management of three-dimensional form and in real time. The proposal of the research is to investigate mechanisms and interfaces in the virtual environment that can be used for the manager of network in the search of better interpretation of the data. 1. Introdução Os equipamentos computacionais, as redes digitais cada vez mais presentes em nosso dia-a-dia e a crescente evolução tecnológica de hardware e software destinados à simulação, navegação, imersão e interação em um espaço virtual, fazem com que o usuário tenha a sensação de estar em outra realidade, a Realidade Virtual (RV). O uso da RV permite a elaboração de modelos de visualização aplicados às redes de computadores, oferecendo recursos para o seu gerenciamento, como: navegação na rede através da conectividade por IP, identificação e localização do host por níveis de detalhes em 3D. Atualmente, a apresentação das informações físicas e lógicas de redes de computadores, na maioria dos casos é bidimensional e está sujeita às limitações desse tipo de interface visual. Tem-se, então, a aplicação da RV como interface de gerência da rede para facilitar a inteligibilidade das topologias e outras informações através da RV em ambiente virtual. A RV permite a manipulação de objetos complexos, através de imersão, navegação e interação em ambientes virtuais tridimensionais gerados por computador. Um experimento dessa natureza está em desenvolvimento no Colégio Notre Dame de Campinas, contando com uma infra-estrutura do parque tecnológico de Informática com 120 computadores distribuídos em rede, conectados por cabos de par trançado e fibra ótica, distribuídos em quatro laboratórios de hardware e de software. A rede utiliza, em sua maioria, equipamentos 3COM de rede com placas de rede, switches e roteadores, incluindo o pacote de gerenciamento de rede 3COM Network Supervisor. Este software fornece uma visualização de rede bidimensional com capacidade para atender as necessidades de empresas de pequeno e médio porte. As operações automatizadas ajudam gerentes de rede para um controle da rede por meio de identificações e ligações de IP na rede em até 1500 dispositivos. Após a identificação, a estrutura da rede é traçada automaticamente para fornecer uma exposição gráfica dos dispositivos e das conexões. O mapa da rede monitora rapidamente o stress, ajusta pontos iniciais e alertas, captura eventos da rede, gera relatórios e lança ferramentas da configuração de dispositivo. Para fornecer notificação dos problemas, os alertas do supervisor da rede anunciam problemas da rede através de alarmes. O evento da rede que relata a capacidade da rede, o inventário e a topologia, bem como os relatórios definidos pelo usuário, facilitam a gerência de rede pro ativa. Essas informações gerenciais podem ser insuficientes quando há a necessidade da apresentação da localização geográfica dos equipamentos no 56 espaço físico da Instituição. 2. Realidade Virtual e Rede de Computadores O termo Realidade Virtual é bastante abrangente e seus adeptos tendem a defini-los com base em suas próprias experiências, ocasionando diversas definições na literatura [1, 4, 6, 7, 10], que conceituam RV como uma técnica avançada de interface que permite ao usuário imergir, navegar e interagir em ambientes virtuais 3D gerados por computador, utilizando canais multisensoriais. A interface de realidade virtual envolve um controle tridimensional altamente interativo de processos computacionais. O usuário entra no espaço virtual das aplicações, visualiza, manipula e explora os dados da aplicação em tempo real, usando seus sentidos, particularmente os movimentos naturais tridimensionais do corpo. A vantagem da interface é que o conhecimento intuitivo do usuário a respeito do mundo físico pode ser transferido para manipular o mundo virtual. Para suportar esse tipo de interação, o usuário utiliza dispositivos não convencionais como capacete de visualização e controle, luva, e outros. Esses dispositivos causam no usuário a impressão de que a aplicação está funcionando no ambiente tridimensional real, permitindo a exploração do ambiente e a manipulação natural dos objetos, por exemplo, com o uso das mãos, ou seja, permitem apontar, pegar, e realizar outras ações [5]. A partir deste cenário histórico, a RV vem despertando um crescente interesse em diferentes áreas de aplicação, incluindo-se as redes de computadores. Cubeta discute um modelo em que o administrador da rede pode interagir intuitivamente e em tempo real com os objetos da rede. O modelo gera imagens tridimensionais resultantes do comportamento da rede, fazendo com que a exibição de suas informações se torne mais próximo da realidade [2]. Deri apresenta um trabalho análogo desenvolvido para o gerenciamento da rede da University of Berne, em que a linguagem VRML é utilizada para a modelagem dos aspectos tridimensionais dos componentes da rede [3]. Numa linha mais abrangente, há a “RV e Análise de dados, utilizando a análise exploratória de dados” [8]. O modelo permite a visualização do espaço físico, no qual os equipamentos operam, as respectivas conexões físicas e configurações desses equipamentos, considerando que as informações devem ser apresentadas em diferentes níveis de detalhes, conforme ilustram os módulos da Figura 1. Os aspectos do comportamento dinâmico da rede são obtidos com o Supervisor 3COM, que informa o IP da estação conectada, o número da porta em que está conectado ao switch e conseqüentemente a sua topologia física e lógica. O sistema de visualização proposto descreve um editor de cenários composto pelo navegador Web, plug-in de visualização de arquivos VRML, applet Java e um banco de dados de objetos. 57 Os dados da rede são configurados no banco de dados pelo administrador da rede, que determina a distância física do entre os equipamentos, configurações individuais, locais em que os respectivos equipamentos estão instalados, cena que representa o equipamento, nome do dispositivo, endereço de acesso ao meio (MAC Address), endereço IP, plataforma instalada, dentre outros. Nesse caso, os atributos dos meta-modelos estáticos descritos em VRML podem ser modificados de acordo com as atualizações do parque tecnológico da empresa, ou das reconfigurações da rede. Os dados fornecidos pelo gerenciador de redes S3Com definem apenas se uma determinada máquina está ou não ativa e, no caso de estar ativa, fornece quais acesso ocorrem. Portanto, a realidade virtual facilita o gerenciamento da rede ao permitir que um leigo possa identificar quais equipamentos reais estão em uso e as suas respectivas localizações físicas. No momento foram projetados e testados os bancos de dados, com acesso em Java, que permitem verificar quais máquinas do conjunto da empresa estão ativas selecionar as suas respectivas configurações, conforme ilustra a figura 2. O módulo S3COM é o gerenciador de rede utilizado para atualizar as informações de conexão, mas essas informações não chegam diretamente na interface do usuário, havendo a necessidade de serem verificadas as conexões ativas. Essa funcionalidade é atribuída ao objeto “VerificarConexão”, que detecta atualizações geradas pelo S3COM e verifica no seu conjunto de endereços a qual máquina real está associada. Esse elo determina a chave de acesso aos atributos da máquina virtual que passa a estar disponível na cena. O controle da cena permite a visualização da empresa toda em diferentes níveis de detalhes, apresentando combinações de cenas que auxiliam na representação do todo num dado instante, isto é, apresenta apenas partes do mundo virtual que são determinadas por escolha do administrador. Um exemplo disso é a visualização de um dos laboratórios em conjunto com uma parte do sistema administrativo. Esse tipo de informação é especialmente interessante quando se deseja detectar tentativas de acesso não autorizado a partir de pontos internos. Neste caso, conhecer o número do IP da máquina é suficiente para que saiba de onde provém o acesso, mas em organizações complexas, encontrar a localização física do equipamento pode ser demandar tempo superior ao esperado. 3. Considerações Finais O uso de VRML facilita ao usuário a carga do software, permitindo que uma página HTML informe ao Browser o arquivo VRML e configure os parâmetros da applet de controle. A applet permite o usuário montar o ambiente virtual de acordo com as informações obtidas pelo S3COM. O mundo virtual é atualizado a cada manipulação (inclusão, remoção, mudança de tamanho ou 58 posição dos objetos) do usuário, que através da consulta do Bando de Dados de IP, será exibido, por meio de Applet, com a opção de um navegador, o arquivo de VRML referente aos dados solicitados pelo gerente da rede. Referências [1] BURDEA, G.; COIFFET, P. Virtual RealityTechnology, John Wiley & Sons, New York, NY, 1994. [2] CUBETA, J, et al. Virtual Environment for Network Monitoring. IEEE Virtual Reality Annual International Symposium (VRAIS '98), 1998.\ [3] DERI, L. VRML: Adding 3D to Network Management University of Berne, http://jake.unipi.it/~deri, 2003. [4] JACOBSON, L. Virtual Reality: A Status Report, AI Expert, pp. 26-33, Agosto, 1991. [5] KIRNER, C. Apostila do Ciclo de Palestras de Realidade Virtual. Atividade do Projeto AVVICCNPQ (Protem – CC – fase III) - DC/UFSCAR, pp.1-10, Outubro, 1996. [6] KRUEGER, M.W. Artificial Reality II. Addison-Wesley, Reading, MA, 1991. [7] LATTA, J. N.; ODEBERG, D.J. A Conceptual Virtual Reality Model. IEEE Computer Graphics & Applications, 1994. [8] LOUREIRO, J. A. Realidade Virtual e Análise de Dados, CIn-UFPE, 2003. [9] TODD, L. CCNA: Cisco Certified Network Associate, 1a. Ed., Ed. Campus, 2003. [10] VON SCHWEBER, L.; VON SCHWEBER,E. Cover Story: Realidade Virtual, PC Magazine Brazil, V. 5, n° 6, Junho, 1995. 59 Uma Ferramenta de Visualização de Redes Neurais Artificiais do tipo Neocognitron Bruno Zanetti 1, José Hiroki Saito2 1 Rua Antônio Fischer dos Santos, 50, Apto 14J, CEP 13564-390 [email protected], Fone: (16) 9103-7412 2 UFSCar - Rod. Washington Luís, Km 235 - CEP: 13565-905 São Carlos – SP – (16) 260-8576 – [email protected] Abstract This article presents a model, and the implementation of it, for the visualization of artificial neural networks based on particle engines. Using an object-oriented language to implement a class library was possible to create a visualization of a Neocognitron network that is insightful and clean as it is easy to use and configure. A software tool that use this library is also presented. It allows the use of the library in a easy to manipulate environment, providing a useful lab to experiment with small Neocognitron networks. Introdução Vivemos na era da informação e portanto, recebemos cada vez mais informações que precisamos analisar e entender em um ritmo cada vez mais rápido. O progresso da velocidade dos processadores não auxiliou em nossa tarefa de entender os dados, muito pelo contrário. Agora possuímos a capacidade de realizar simulações cada vez mais complexas e próximas da realidade que nos geram cada vez mais dados e os computadores ainda não são capazes de interpretá-las em nosso lugar. A visualização surgiu como uma proposta para resolver parte desse problema, aproveitando-se da capacidade cada vez maior dos computadores de processarem dados numéricos. A proposta é simples: modificar a representação dos dados, de forma que possamos enxergá-los não como tabelas gigantescas, mas de forma gráfica, facilitando a compreensão dos dados pelos seres humanos. A idéia é aproveitar os recursos biológicos de reconhecimento de padrões e associação visual[1] para que possamos entender os dados de uma forma global, observando o conjunto como um todo a procura de características que nos escapam quando olhamos para números[2]. Este trabalho traz um modelo de visualização para redes neurais artificiais, mais especificamente as redes do tipo Neocognitron, criada por Fukushima [4], um tipo de rede que tende a gerar um grande número de nós durante seu treinamento, o que torna difícil o estudo da rede de forma global. Este trabalho possui diversos objetivos, sendo o principal o estudo da aplicação da visualização no estudo da rede neural Neocognitron, visando a melhoria do entendimento sobre o comportamento desta rede específica. Como resultado desse estudo, foi criada uma ferramenta que permite manipular essa visualização livremente, de modo a ser utilizada no estudo da rede neural. Para a implementação deste trabalho, transformamos as estruturas das redes neurais em partículas de um sistema hierárquico de partículas [5] [3] de modo a representar cada nível de abstração da rede neural como uma partícula. Utilizando ainda do recurso de separar a simulação da visualização [6] visando flexibilidade de trabalho, foram criados dois sistemas de partículas principais: o primeiro representando o simulador da rede neural e o segundo, se conectando a ele em busca de dados, fazendo a visualização dos dados gerados pelo primeiro. A implementação desses sistemas de partículas é feita orientada a objetos, visando atingir a independência entre as partículas de um mesmo sistema e utilizando sistemas com maior nível de abstração para o controle de grupos de partículas independentes. Usando recursos de especialização é 60 possível expandir ambos os sistemas de partículas ou criar uma grande variedade de redes neurais com visualizações diferentes. Cada elemento da rede neural é representado por um objeto do simulador, que controla seus dados e calcula sua saída, e um que faz a visualização, representando cada elemento como um objeto visual diferente, como esferas (nós), segmentos de reta (conexões) e quadriláteros (planos), entre outros. Exemplos dessa visualização podem ser vistos na Figura 3. Uma interface para a manipulação dos sistemas de partículas foi criada, possibilitando configurar interativamente a rede neural, com grande flexibilidade para aumentar ou diminuir a quantidade de planos, nós, níveis, etc. Essa interface possui menus popup para o comando dos sistemas de partículas e janelas de diálogos para a alteração de dados de partículas específicas. Exemplos das capacidades e características dessa interface podem ser vistos na Figura 4. manipulação permite que leigos tenham um rápido entendimento da estrutura do Neocognitron. Figura 3 - Exemplos de visualização geradas pela ferramenta, em diversos ângulos de visão Para flexibilizar a biblioteca de classes que implementa o simulador e a visualização, não foram efetuadas algumas otimizações, o que faz com que o sistema como um todo seja um pouco lento, ainda mais quando utilizado com a rede do tipo Neocognitron, que cria uma grande quantidade de nós. 61 Portanto, apesar de haver uma interface de manipulação implementada e que possibilita a manipulação interativa da rede criada, ela permite a manipulação apenas de pequenas redes Neocognitron, sob a pena de ter seu tempo de resposta aumentado drasticamente se utilizado com imagens ou quantidade de planos muito grandes. (a) (b) (c) Figura 4 - Capacidades da Interface: (a) Menus Popup com comandos dos objetos (b)Janelas de Diálogo com edição das propriedades dos objetos (c)Trabalho com diversas redes diferentes simultaneamente Apesar disso, a estrutura da biblioteca permite que novas otimizações sejam aplicadas independentemente à simulação ou à visualização, permitindo melhorias futuras da mesma, enquanto que a interface de manipulação permite que leigos tenham um rápido entendimento da estrutura do Neocognitron. Referências [1] BATAIOLA, André Luiz. Análise de conceitos relacionados à implementação de sistemas de visualização tridimensional de dados meteorológicos. Tese de Doutorado, INPE, São José dos Campos, 1992. [2] CARD, S. K.; MACKINLAY, J. D.; SHNEIDERMAN, B. Readings in Information Visualization: Using Vision to Think. Academic Press, 1999. 62 [3] FRANÇON, J.; LIENHARDT, P. Basic Principles of Topology-Based Methods for Simulating Metamorphoses of Natural Objects. In: THALMANN, N. M. (Ed.), THALMANN, D. (Ed.) Artificial Life and Virtual Reality. John Wiley & Sons, 1994. [4] FUKUSHIMA, K. Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position. Biological Cybernetics, 36, pp. 193-202 (April 1980). [5] REEVES, W. T. Particle Systems: A Technique for Modeling a Class of Fuzzy Objects. ACM Computer Graphics – Volume 2 number 2. April 1983. [6] HELBING, R.; RÜGER, M., ILGENSTEIN, U. A Flexible Approach to Modelling Computer Visualization using Simulation Traces. Institut für Simulation und Graphik, Otto-von-GuerickeUniversität Magdeburg, 1997. 63 Realidade Virtual Distribuída para Simulação Neural Regina Célia Coelho e Luís Augusto Consularo Universidade Metodista de Piracicaba - UNIMEP Faculdade de Ciências Matemáticas da Natureza e Tecnologia da Informação Programa de Pós Graduação em Ciência da Computação {rccoelho, laconsul}@unimep.br Abstract This paper proposes a Virtual Reality Distributed environment to the visualization of realistic morphologically neural network simulation, including the growth neural, that is, the simulation of the development and the death (apoptosis) of neural cells. The user will be able to interact with the environment by using virtual reality devices that allow its complete navigation in the environment, including the three-dimensional visualization of the scene using stereoscopic vision. It is also proposed an investigation about critical performance factors of a virtual environment where it is predominated the three-dimensional representation of ramified fractionary structures, not only neurons. 1. Introdução A visualização tem como exemplos de fontes dos dados o sensoriamento de fenômenos naturais ou algum banco de dados armazenando informações transacionais, operacionais ou históricas, ou ainda a simulação computacional. Na simulação, em geral, deseja-se avaliar seu resultado comparando-o com alguma característica ou medida do objeto utilizado para a elaboração do modelo de simulação. Esta avaliação pode ocorrer em momentos determinados pela necessidade da aplicação. A visualização de simulações de objetos naturais, artificiais ou apenas abstrações devem refletir a aplicação de um modelo cujo resultado pode ser colhido com uma dada freqüência ou depender de eventos críticos. De uma forma ou de outra, a visualização dependerá do tipo de resultado que se deseja. Por exemplo, se for necessária uma interação em tempo-real com os objetos virtuais da cena visualizada, é preciso definir uma política de acesso aos resultados da simulação para que haja um compromisso entre a usabilidade e a disponibilidade dos dados. Na visualização de simulações é preciso que seus resultados contribuam para compor um modelo de representação virtual tridimensional. Este modelo é parte de uma cena que pode conter outros objetos que, por sua vez, podem ser interativos ou representar o posicionamento de algum dispositivo de interação. Uma vez construído o modelo é preciso transformá-lo em uma cena 3D. É a vez da renderização, que deve envolver o tratamento de cores, sombreamento, transparência, textura e estereoscopia. A qualidade visual e o desempenho da interação são decorrentes de uma estratégia de disponibilidade destas qualidades visuais em detrimento de um compromisso com o desempenho. A atual disponibilidade e custo de dispositivos de visualização tais como monitores estereoscópicos, projetores, dispositivos HMD (Head Mounted Devices), telas de polarização seletiva, bem como de placas gráficas multiprocessadas e programáveis tem viabilizado aplicações que exigem desempenho e qualidade visual. A necessidade de manipulação dos dados resultantes de simulações é freqüente em Neurociência, já que tipicamente aplicações dessa área geram grande volume de dados e, conseqüentemente, ferramentas poderosas de análise de dados. As potencialidades da Realidade Virtual têm chamado a atenção, tanto de pesquisadores quanto de fornecedores de aplicação em Neurociência [1,2,3,4,5]. Este artigo propõe um ambiente de Realidade Virtual Distribuída para visualização da simulação de Redes Neurais Morfologicamente Realistas. Esta rede é formada por neurônios artificiais obtidos por variações gramáticas L-systems estocásticas que consideram a distribuição de características morfológicas de neurônios reais para elaborarem as estruturas ramificadas dos neurônios 64 [6,7]. Estas características são resultantes de medidas realizadas em traçados de neurônios usando microscópios confocais para a visualização do neurônio real em fatias. Este processo in vitro de visualização confocal permite apenas a visualização de fatias que estejam em uma determinada profundidade de campo. Normalmente, estes traçados são elaborados manualmente ou com algum auxílio computacional. De posse dos traçados, estes podem ser reunidos em um banco de dados, de onde se extrai as distribuições estatísticas dos números de ramificações, tamanhos de segmentos, entre outras medidas. Com o ambiente de Realidade Virtual Distribuída (RVD) o usuário poderá: (1) selecionar neurônios virtuais (ou parte dele) em uma rede simulada ou em crescimento; (2) mudar seu ponto de vista em relação ao neurônio; (3) alterar os parâmetros de simulação a partir da cena; (4) visualizar uma simulação, podendo interferir em seus parâmetros dinamicamente; (5) compartilhar o espaço de visualização com outros usuários também imersos no ambiente, porém em diferentes computadores, para analisar colaborativamente a estrutura neural e seu crescimento. Embora a principal motivação das simulações de crescimento neural em RVD seja a compreensão do processamento neural de uma forma mais realista, o ambiente gerado por este trabalho oferece ainda contribuições para uma melhor compreensão de problemas neurológicos (e consequentemente, auxiliar no seu tratamento) e analisar o desempenho das propriedades de um sistema de Realidade Virtual com estruturas fracionárias ramificadas. Segundo Noser [8], ambientes virtuais devem ser dinâmicos, variáveis e complexos, propriedades estas presentes neste trabalho. O sistema será validado utilizando-se gramáticas (L-systems estocásticas) por sua característica dinâmica e por permitir variar a complexidade das ramificações. Esta complexidade influencia diretamente o desempenho do sistema de RVD, exigindo decisões entre qualidade e desempenho para o renderizador ou para a interação/navegação. 2. Organização do SVRD O “Sistema de Realidade Virtual Distribuída” (SRVD) terá como entrada os resultados do simulador já implementado. O diagrama apresentado na Figura 1 ilustra as funcionalidades pretendidas e as respectivas articulações lógicas. O SVRD proposto deve ser formado por dois tipos de módulos: um módulo Gerador de Dados (GD) e outro Modificador de Cena (MC). Neste caso, é possível a ocorrência de vários Modificadores de Cena e vários Geradores de Dados, contudo só haverá um módulo Simulador (SM). O Modificador de Cena, por sua vez, é composto de seis submódulos: o Controle de Cena (Ccn), o módulo de Interação (Int), o módulo de Crescimento Neural (Cnr), o módulo de Navegação (Nav), o Controle de Colaboração (Ccb) e o Protocolo de Acesso à Rede (Par). O módulo Ccn concentra informações sobre o crescimento, interação e navegação para provocar as alterações no modelo virtual. É importante delimitar cada uma destas partes, isto é, a Navegação (Nav) restringe-se à locomoção do usuário no ambiente virtual, bem como a mudança de seus pontos de vista. A complexidade visual dos neurônios em 3D impõe o uso de visualização estereoscópica, exigindo também que a posição dos olhos do usuário sejam rastreadas para não provocar a diplopia. A navegação pela cena deve dar ao usuário o poder de escolher regiões de interesse ou então de chegar de maneira mais rápida a estas regiões. Já a Interação (Int), comandos do usuário, deve permitir que a cena se modifique a partir de uma ação do usuário. Esta alteração da cena pode ser, por exemplo, a mudança da cor de um neurônio para que este se destaque entre os demais, facilitando sua identificação pelo usuário. 65 " # $ ,!)$ ) ! ) ) ) ! ( ! ( ! ( + ( ! ! ! + ( ! ! % ! (CV) % ! ! & ' % 0% ! ! ! ( ! ! ( ,!)$ ) ! % % ! Modificadores de Cena (MC) - . - . 0% ) * ) ) /% 0% 1 Figura 1 – Módulos de desenvolvimento do SVRD A interação (Int), controle, exigirá um rastreamento da posição do usuário. Este rastreamento será implementado com câmeras que recuperarão a posição de marcadores ou partes do corpo como mãos e cabeça para: (1) tocar algum objeto na cena virtual e selecioná-lo; (2) rotacionar e transladar algum objeto selecionado; (3) remover ou alterar propriedades visuais (como transparência ou cor) para facilitar a visualização; (4) navegar pela cena; (5) mudar o ponto de vista da visualização; (6) alterar parâmetros morfológicos de crescimento e morte neural, que determinarão a sobrevivência da célula e exigindo a reorganização da rede; (7) alterar parâmetros sobre os campos que influirão no crescimento neural, simulando a influência de substâncias que determinam a direção do cone de crescimento. O módulo Crn implementa as funcionalidades necessárias à geração das formas gráficas que representam os componentes dos neurônios. O núcleo de Controle de Colaboração (Ccb) tem a função de decodificar as mensagens transportadas na rede pelo Protocolo de Acesso à Rede (Par), com o intuito de diferenciar os canais de comunicação que determinam a navegação (Nav), a interação (Int) e os dados do simulador (SM). Este particionamento hierárquico possibilita o uso de diferentes dispositivos de interação e navegação e, além disso, minimizam a coesão, o que permitirá que os módulos geradores de dados atuem em diferentes MC, oferecendo uma visão compartilhada do crescimento neural aos usuários. Os módulos do SVRD deverão ser desenvolvidos de forma gradual, considerando suas interdependências. Desta forma, o primeiro passo é a definição do renderizador do grafo de cena representando a rede neural. Uma vez definido o grafo de cena, é a vez de considerar a implementação e testes do protocolo de acesso à rede, o Par, que deve ser capaz de estabelecer comunicação entre os nodos usando uma API Socket em TCP/IP. A implementação do Par deve ser seguida da implementação do núcleo de controle de contribuição, o Ccb. O Ccb consistirá de um protocolo de mensagens que implemente serviços de navegação, interação e criação de nodos de um grafo de cena. Disponíveis os serviços de comunicação, o próximo módulo se refere ao Controle da Visualização (CV), que atenderá aos controles de navegação de avatar (Nav); aos pedidos de inserção, remoção ou alteração de segmentos neurais (Cnr); ou ainda aos comandos de interação (Int), sejam provenientes de dispositivos, seja de uma simples console interpretando comandos textuais. Cada uma destas intervenções será estruturada em XML para que a configuração do CV seja modular e possa crescer sem a necessidade de alteração da arquitetura do sistema. A linguagem C++ e Java oferecem bibliotecas gratuitas para tratamento de XML para este fim. Portanto, o gerenciamento desta configuração, atendendo as requisições dos diversos nodos clientes, é o papel do Controle de Cena (Ccn) 66 O desenvolvimento dos dispositivos de Interação e Navegação exigirá basicamente o rastreamento da cena real para identificação e detecção da posição de objetos reais bem como seu mapeamento no ambiente virtual. 5. Conclusões Muitos desafios têm sido impostos ao entendimento do processamento neural. O SVRD apresenta, entre outros, três benefícios: (1) a abordagem não é invasiva, ou seja, não é preciso manter qualquer animal sob efeito de droga alguma para se obter o processamento neural resultante; (2) não há restrições quanto ao número de hipóteses que podem ser testadas, permitindo que o entendimento seja mais abrangente e que o modelo seja confrontado com dados de modelos biológicos; (3) a escala de tempo do experimento não fica confinada ao tempo biológico, ou seja, é possível acelerar a execução de uma simulação, desde que disponíveis os recursos computacionais. Este ambiente de RVD permitirá que o próprio ciclo-de-vida do desenvolvimento do software do simulador ganhe mais agilidade e flexibilidade, pois os resultados da simulação poderão ser depurados com mais eficácia. Referências [1] LEIGH, J. at al. Virtual Reality in Computational Neuroscience, in: Virtual Reality and Its Applications, eds: R. Earnshaw; H. Jones; J. Vince, Academic Press, London, 1994. [2] ASCOLI, G. A at. al. Computational Neuroanatomy of the Hippocampus, Draft of the poster for SFN98, Los Angeles, 1998, http://www.krasnow.gmu.edu/ascoli/sfn98/index.html (consultado em 07/12/2002). [3] BÜLTHOFF, H. H.; van VEEN, A. H. C. Vision and Action in Virtual Enviroments: Modern Psychophysics In Spatial Cognition Research, Technical Report No. 77, Max-Planck-Institut für Biologische Kybernetik, Germany, 1999. [4] ASCOLI, G. A.; KRICHMAR, J. L. L-neuron: A modeling tool for the efficient generation and parsimonious description of dendritic morphology, Neurocomputing, v. 32-33, 2000, p. 1003-1011. [5] TARR, M. J.; WARREN, W. H. Virtual Reality in Behavioral Neuroscience and Beyond (Review), Nature Neuroscience Supplement, v. 5, 2002, p. 1089 -1092. [6] COELHO, R. C.; COSTA, L. F., Realistic neuromorphic models and their application to neural reorganization simulations, Neurocomputing, n. 48, 2002, p. 555-571. [7] COELHO, R. C. ; JAQUES,O. Generating Three-Dimensional Neural Cells Based On Bayes Rules And Interpolation With Thin Plate Splines, 8th Iberoamerican Congress on Pattern Recognition, Havana, Cuba, in: Progress in Pattern Recognition, Speech and Image Analysis, Lecture Notes in Computer Science, v. 2905, 2003, p. 675-682. [8] NOSER, H.; STERN, C. STUCHI, P. Distributed Virtual Reality Enviroments Based on Rewriting Systems, IEEE Transactions on Visualization and Computer Graphics, 9(2), 213-225, 2003. 67 Lista de Autores Álvaro José Abackerli ........................................................ Analis Michele dos Santos.................................................. Carlos Alberto Dainese....................................................... Bruno Zanetti ..................................................................... Carlos Eduardo Della Coletta ............................................ Carolina V. Buk ………………………………………..... Cláudio Kirner………………………………………......... Daniela Akagui …………………………………………... Ednaldo Brigante Pizzolato …………………………........ Eduardo Sasaki …..……………………………………..... Fabiano Utiyama ...……………………………………..... Galesando Henrique Capovilla .………………………..... João Guilherme Darezzo Martins de França …………….. José Hiroki Saito ……………………………………….... Luís Augusto Consularo …………………………………. Márcia Aparecida de Jesus ………………………………. Marcio Merino Fernandes ……………………………….. Mário Alexandre Gazziro ………………………………... Nivaldi Calonego Junior .................................................... Otto Rössler ........................................................................ Paulo César Lourenço …………………………………… Priscila Santarosa Lahr ………………………………….. Rafael Santin .......………………………………………... Regina Célia Coelho …………………………………….. Réryka Rubia P.C.L. Silva ………………………………. Ricardo Armengol Silva …………………………………. Ricardo Zottino .................................................................. Sandro Canavezzi de Abreu ............................................... Silvia C. Galana …………………………………………. Tânia Rossi Garbin ………………………………………. Tereza Gonçalves Kirner ………………………………… 41 33 33, 37 60 41 45 1, 5, 9, 13,33, 45 5 21 56 9 49 25, 29 25, 29, 60 49, 53, 56, 64 33 21 25, 29 41, 45, 56 29 37 37 13 49, 53, 64 17 53 41 29 17 33 45 68