Anais WRA2005-páginas 37-68 - arq. zipado

Transcrição

Anais WRA2005-páginas 37-68 - arq. zipado
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

Documentos relacionados