Descrição Semântica de Componentes em Ambiente Virtual 3D Léo Manoel Lopes da Silva Garcia Mestrando Universidade Estadual Paulista Julio de Mesquita Filho netogarcia19@gmail.com Diego Colombo Dias Mestrando Universidade Estadual Paulista Julio de Mesquita Filho diegocolombo.dias@gmail.com José Remo Ferreira Brega LSTR, Universidade Estadual Paulista Julio de Mesquita Filho remo@fc.unesp.br Resumo Este artigo investiga a utilização de conceitos e ferramentas da Web 3.0, na construção de ambientes Tridimensionais na Web anotada semanticamente. Esta linguagem padrão, proposta pela WEB3D Web 3D Consortium, para representação de informação tridimensional o X3D extensible 3D, permite a integração da linguagem de marcação XML extensible Markup Language em seu código. Procuramos explanar as vantagens dessa integração e a construção de um modelo virtual 3D, com objetivo de evidenciar a viabilidade da anotação semântica de componentes 3D. 1. Introdução Ambientes tridimensionais têm despertado um interesse crescente na comunidade de visualização científica, proporcionando o desenvolvimento de diversas aplicações que facilitam a visualização e análise de informações [11]. Tais aplicações são baseadas em diversas ferramentas e técnicas, gerando uma grande variedade de formatos, o que dificulta o processo de recuperação, manipulação e integração de informações tridimensionais. Desde sua definição a linguagem VRML (Virtual Reality Modeling Language), é um padrão para a representação de informações tridimensionais na Internet [3]. Contudo, a sintaxe da linguagem não permite que sejam incorporados significados aos elementos modelados em Realidade Virtual (RV). Desta forma, o modelo computacional proporcionado por um documento VRML representa somente a geometria e aparência dos objetos, sendo útil apenas para sua visualização. No entanto, o consórcio WEB3D (Web 3D Consortium) responsável pelo desenvolvimento do VRML, propõe uma nova especificação para a linguagem, o padrão X3D(eXtensible 3D). Este formato é capaz de expressar a geometria e comportamento dos modelos no formato VRML utilizando a sintaxe XML (extensible Markup Language)[1], amplamente utilizado em aplicações voltadas a integrarem o novo cenário para qual caminha a Web, denominado como Web 3.0 ou Web Semântica. Nesse sentido, apresentamos neste trabalho um proposta de uso de um modelo virtual 3D que integre as tecnologias X3D e XML afim de se utilizar um mecanismo que defina e descreva os dados desse modelo, o que proporcionará novas possibilidades na manipulação de informação 3D na Web, e a interoperabilidade exigida. Nas seções seguintes abordaremos inicialmente uma definição de Ambiente 3D para RV, suas aplicações e vantagens. Em seguida discorremos sobre o paradigma de anotação semântica de dados e sua relevância para o presente trabalho. Posteriormente, são discutidos as tecnologias e ferramentas relativas à anotação semântica, ambientes tridimensionais e confrontaremos duas metodologias de manipulação de
informação tridimensional na Web. Por fim, apresentamos o desenvolvimento de um Sistema de RV, baseado em X3D e utilizando XML e RDF(Resource Description Framework) para descrevê-lo semanticamente, e relatamos os resultados obtidos na construção deste protótipo. 2. Ambiente 3D Ambiente 3D, ou ambiente tridimensional, provém de técnicas de Realidade Virtual (RV), surge com o objetivo de possibilitar uma representação mais próxima do mundo real do que em uma imagem com 2 dimensões. Significa que o ambiente que cerca o usuário é representado em três dimensões (3D) e, além disso, que existem recursos que dão a idéia de que o ambiente possui profundidade e que o usuário pode mover-se através dele [7]. Com sua utilização sendo difundida em diversas áreas de aplicação nos últimos anos, intensificaram-se as pesquisas e os investimentos, surgindo uma miríade de possibilidades e otimização de técnicas, diminuindo o custo das ferramentas envolvidas no processo de construção e utilização de ambiente 3D. Conforme os ambientes tridimensionais e virtuais se popularizam na Internet muitas aplicações necessitam que o ambiente seja colaborativo, ou seja, um ambiente de RV em rede em que usuários participantes compartilham um mesmo espaço 3D com o objetivo de trabalhar em cooperação [2]. Assim, muitos trabalhos se voltaram ao problema de armazenamento e recuperação de objetos tridimensionais, dando a esses componentes uma nova notação de não só imagens 3D em um ambiente mas como informação ou recurso, que pode ser indexado, recuperado e talvez integrado a um novo ambiente. 3. Anotação Semântica de Dados A idéia de se agregar semântica a informação computacional, surge com o advento da evolução da Web que conhecemos (Web 2.0) para o que esta sendo chamado de Web Semântica ou Web 3.0. Definida por [12] como uma extensão da Web atual na qual a informação recebe um significado bem definido possibilitando computadores e pessoas a trabalharem em cooperação. Neste sentido, a Web Semântica é uma visão: a idéia de ter dados na Web definidos e ligados para serem usados por máquinas não apenas para apresentação, mas para automação, integração e reuso entre aplicações. Para isto, os dados devem ser descritos de forma que a máquina entenda seu significado, sendo necessário que alguns instrumentos/ferramentas sejam utilizados em conjunto[6]. Já existem vários padrões e linguagens recomendadas pela W3C (World Web Wide Consortium), e que já podem ser utilizadas para indexar e inferir semântica em algumas aplicações. Nesse trabalho são abordados técnicas e linguagens que possibilitam a descrição de recursos existentes na Web. 4. XML extensible Markup Language O padrão XML (extensible Markup Language) codifica o conteúdo de um documento, ou descreve dados, e não sua apresentação. A forma como os dados descritos são interpretados e apresentados é função da aplicação que os usará[6]. Ela permite a definição da linguagem para o intercâmbio de documentos estruturados na Internet. Esta linguagem não se baseia em um conjunto restrito de marcadores que definem o significado de trechos dos documentos, como acontece com o HTML (Hypertext Markup Language) [10]; pelo contrário, elas permitem e encorajam que as diversas comunidades existentes na Internet definam seus próprios elementos, através da criação de DTD s (Document Type Definition) específicas. O caráter extensível da linguagem XML estimula sua utilização nas mais diversas aplicações. Ao contrário da linguagem HTML, que restringe-se a descrever a estrutura do documento do ponto de vista da forma como o mesmo deve ser apresentado ao usuário [10]. Integração baseada em páginas XML vai direto ao problema de manter o sistema mais simples, assim mais pessoas podem desenvolver páginas web, tanto em conteúdo como implementações. Usando um conjunto de ferramentas disponíveis, como stylesheets, os usuários podem trabalhar em qualquer formato nativo XML que queiram, e ver que uma representação 3D é tão trivial quanto um processo de transformação. 5. RDF - Resource Description Framework O Resource Description Framework (RDF)[4] é uma aplicação XML que permite a definição dos mecanismos para a representação de metadados. Segundo [10] O RDF é a base para o processamento de metadados; ele permite interoperabilidade entre aplicações que trocam informações interpretadas por máquinas na Web. O RDF define mecanismos para se associar propriedades a determinados recursos. Um recurso em RDF consiste em qualquer objeto que pode ser identificado a partir de uma URI (Uniform Resource
Identifier) como, por exemplo, um documento contendo um projeto disponível no endereço http://wwwp.fc.unesp.br/~fermarar/projeto.wrl A esse recurso pode ser associada uma propriedade Autor contendo o nome do autor do documento. Considerando que o nome do autor seja Roberto, este será o valor da propriedade Autor. Cada valor de propriedade atribuída a um recurso é transformada em uma tríade Recurso-Propriedade Valor: tríade(http://wwwp.fc.unesp.br/~fermarar/projeto. wrl,autor,roberto) A tríade Recurso-Propriedade-Valor é a base que estabelece um modelo de dados em RDF. Tal modelo pode ser compreendido tanto por seres humanos, na medida em que este pode ser lido como: O Autor do http://wwwp.fc.unesp.br/~fermarar/projeto.wrl é Roberto, como por máquinas que tem acesso a uma representação formal deste modelo. Quando se trata de associar a determinados dados algum significado, verifica-se que existem múltiplas descrições possíveis para um mesmo conteúdo, de acordo com o contexto em que este é descrito[11]. Desse modo a utilização de metadados para a descrição de um documento exige geralmente a aplicação de múltiplos vocabulários provenientes de comunidades distintas. Por este motivo, o RDF provê, através de um recurso da linguagem XML chamado namespace [3], um mecanismo para permitir o uso de múltiplos vocabulários dentro de um mesmo documento, Considerando-se que cada um dos vocabulários citados esteja disponível em documentos localizados em URIs diferentes, pode-se, através do namespace se associar um prefixo para cada vocabulário contido em uma URI. Anexando-se a cada elemento o prefixo do respectivo vocabulário, é possível identificar inequivocamente os significados e possíveis valores destes elementos. Em RDF a declaração "O autor do http://wwwp.fc.unesp.br/~fermarar/projeto.wrl é Roberto cujo e-mail é roberto@fc.unesp.br" seria escrita da seguinte maneira: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=http://www.w3.org/rdf/rdf/# xmlns:dc= http://purl.oclc.org/dc/# > <rdf:description about = "http://wwwp.fc.unesp.br/~fermarar/projeto.wrl "> <dc:creator>roberto</dc:creator> <dc:e-mail>roberto@fc.unesp.br</dc:e-mail> </rdf:description> </rdf:rdf> Graficamente a relação pode ser representada pelo diagrama na figura 1. Roberto dc:creator dc:email http://wwwp.fc.unesp.br/~fermarar/projeto.wrl roberto@fc.unesp.br Figura 1 Grafo representando relação de atributos RDF utilizando namespace e vocabulário Dublin Core 1 Cada vocabulário em RDF recebe o nome de Schema. O Schema RDF fornece informações para a interpretação das declarações do modelo de dados RDF. Como foi apresentado, para se descrever um determinado recurso (um modelo tridimensional, por exemplo), são utilizadas propriedades descritivas de acordo com o domínio. A declaração destas propriedades (atributos) e da sua semântica correspondente é definida no contexto do RDF nos schemas correspondentes[4]. As tríades Recurso- Propriedade-Valor geradas a partir das declarações RDF são confrontadas, através de um parser, com os diversos schemas utilizados, de maneira a se verificar a consistência do documento. Um documento é considerado consistente se todas as propriedades utilizadas na descrição do recurso estão definidas em um schema e se aplicam ao tipo de recurso descrito. 6. Modelagem 3D para Web suportada pelas tecnologias VRML e X3D Arquivos que simulam ambientes tridimensionais para Web(utilizando VRML ou X3D) são, na verdade, uma descrição textual na forma de textos ASCII. Por meio de qualquer processador de textos, o desenvolvedor pode conceber tais arquivos, salvá-los e visualizar os resultados no navegador de Internet associado a um plug-in interpretador da linguagem[1]. A linguagem VRML[3] é o padrão ISO para a representação de informações tridimensionais na Web. A linguagem consiste basicamente de uma série de nós ou "blocos de construção" que permitem a representação de um ambiente virtual. Uma vez definido o ambiente em VRML, o usuário é capaz de visualizar e interagir com este ambiente, "passear" através dos elementos que o compõe e ativar
hiperligações com outros documentos ou ambientes virtuais. Um ambiente modelado em VRML é essencialmente uma coleção de objetos organizados em uma estrutura hierárquica[13]. Como na vida real, um objeto é representado pela sua geometria, algumas características da sua superfície (cor, textura, etc.) e uma posição e orientação no espaço. Contudo, a sintaxe da linguagem VRML não permite que seja associada nenhuma informação adicional ao objeto modelado. Desta forma, um componente ou qualquer outro objeto não passa de um conjunto de informações que definem unicamente a sua geometria, aparência e posição no espaço. O significado de cada objeto só pode eventualmente ser conhecido pela aplicação que gerou sua representação. O X3D (extensible 3D) é uma revisão da especificação ISO VRML97, incorporando os avanços dos recursos disponíveis nos últimos dispositivos gráficos comerciais tanto quanto melhoras na sua arquitetura baseado nos anos de retorno da comunidade de desenvolvimento do VRML97[8]. Ele combina tanto dados geométricos como descrições de comportamentos instantâneos em um simples arquivo que tem inúmeros formatos de transmissão, sendo que o padrão de codificação ideal é o XML. O XML foi adotado como sintaxe para o X3D para resolver um grande número de problemas reais, A sintaxe do VRML 97 é estranha para todos com exceção da comunidade do VRML.[1]. Existe uma Document Type Definition (DTD) para X3D, definida como parte do padrão. A URL do DTD é: http://www.web3d.org/specifications/x3d-3.0.dtd. Também existe um Schema para X3D aceito. Ele é definido como parte do padrão. A URL do Schema é: http://www.web3d.org/specifications/x3d-3.0.xsd. 7. Manipulação de informação 3D na Web Diversas abordagens têm sido propostas para a representação e distribuição de informações tridimensionais, permitindo não somente a visualização da geometria dos objetos mas também agindo como uma verdadeira interface tridimensional para a Web[9]. Relatamos aqui duas abordagens, já confrontadas em [11], utilizadas para a distribuição de informações tridimensionais na Web. No primeiro caso, toda a inteligência do sistema está implementada do lado do servidor. Nele estão armazenadas todas as informações do modelo computacional e as aplicações responsáveis pela conversão dos dados do modelo computacional para o formato VRML. Nesta abordagem, o cliente não passa de um mero visualizador das informações geradas pelo servidor. Toda manipulação do modelo tridimensional tem que ser feita através de uma solicitação ao servidor que fica responsável pelo processamento da solicitação e envio para o cliente de um novo documento que atenda suas expectativas. Esta abordagem apresenta uma série de inconvenientes. Em primeiro lugar, qualquer interação do usuário com o modelo computacional tem que ser submetida ao servidor, o que contribui com o aumento do tráfego na rede. Em segundo lugar, o servidor pode ficar sobrecarregado com o processamento de inúmeras solicitações, que podem ser realizadas por diversos clientes. Finalmente, nesta abordagem verifica-se uma subutilização dos recursos computacionais existentes no cliente; este representa apenas um terminal de visualização das informações tridimensionais geradas no servidor. Em uma segunda abordagem, o servidor, em atenção a uma solicitação do cliente, extrai da base de dados dos modelos computacionais as informações requisitadas e repassa para o cliente, no formato original do modelo, um subconjunto da base original. Uma aplicação no lado cliente, um plug-in embutido em um browser HTML, converte os dados para o formato VRML permitindo a realização de algumas simulações, sem a necessidade de constantes requisições ao servidor. Esta abordagem, embora reduza sensivelmente o tráfego de informações entre o cliente e o servidor e explore os recursos computacionais existentes no cliente, continua fortemente dependente do formato dos modelos computacionais e necessita de um esforço adicional para a manutenção dos plug-ins instalados em todos os clientes. A solução adequada para a distribuição de informações tridimensionais na Web deve levar em consideração as limitações de tráfego e uma padronização dos dados que trafegam na rede, buscando ainda um equilíbrio no esforço computacional exigido dos clientes e servidores. A utilização do mecanismo para a codificação de metadados e descrição de recursos na Web (RDF) pode agora descrever os elementos de realidade virtual escritos no padrão X3D, possibilitando uma solução genérica e extensível para a integração e distribuição de informações tridimensionais. 8. Desenvolvimento de um Modelo 3D Descrito Semanticamente Apresentamos o desenvolvimento de um Modelo Virtual 3D no formato X3D e baseado na semântica introduzida através do RDF.
O XML e RDF estabelecem um padrão em termos do formato de como os dados são registrados em um documento. Estes padrões definem, no entanto, uma convenção de como as aplicações devem acessar e manipular tais dados contidos no modelo. Como exemplo para aplicação foi utilizado um modelo de Estrutura Dentária em RV utilizando a sintaxe X3D. Relacionamos características mais relevantes para a descrição de uma Estrutura Dentária para a construção do vocabulário schema e em seguida foi codificado em RDF. Vale salientar que o schema apresentado não tem a pretensão de ser uma referência na representação de metadados para as aplicações da odontologia, sendo nossa intenção apenas simular os metadados necessários à descrição dos elementos tridimensionais. Para manipulação do arquivo XML/RDF foi utilizada a API Java JDOM(Document Object Model). Com a utilização do DOM podemos alterar, criar e navegar pela estrutura do documento XML. Utilizando o vocabulário definido no schema, é possível identificar e atribuir significado aos diversos elementos do modelo, por exemplo um schema criado para descrever a estrutura dentária pode identificar elementos como tipos dentes, gengiva, arcada,etc., uma vez que estes elementos estejam organizados dentro de classes. Após conversão do modelo 3D em VRML para o formato X3D, foi realizado anotações de alguns objetos do modelo Estrutura Dentária em 3D. Segue, como exemplo, o código X3D para descrição semântica do objeto incisivo central superior. </Shape> <MetadataSet name="incisivo central superior"> <MetadataString name="tipo" value = "permanente"/> <MetadataString/> <MetadataString name="status" values = "bom"/> <MetadataString/> </MetadataSet> </Transform> <Transform DEF="obj11" translation="0 0 0"> <Shape> <Appearance> <Material diffusecolor="0.8824 0.3412 0.5608"/> </Appearance> Para criar a interface de manipulação do modelo 3D, foi utilizado a API XJ3D, que possui um browser próprio para visualização de arquivos VRML e X3D. A aplicação possibilita carregar o modelo X3D em um frame dentro do Java. A representação em X3D pode ser manipulada pelo usuário, uma vez que a API DOM não apenas possibilita a recuperação dos dados mas também possui métodos para manipulá-los, permitindo, por exemplo, quando seja necessário obter visualização seletiva de qualquer informação contida no modelo 3D. A visualização seletiva pode ser evidenciada na Figura 2, onde o usuário solicitou que fossem representados os dentes incisivos centrais. Uma vez identificado os elementos, o método de consulta, utilizando a API DOM, extrai a descrição dos elementos referidos do modelo X3D e os envia para o Browser de visualização. Figura 2 Visualização de informação solicitada pelo usuário, Dentes Incisivos Centrais A aplicação também permite que o usuário tome conhecimento dos metadados utilizados na definição dos elementos tridimensionais. 9. Considerações Finais O desenvolvimento do presente trabalho proporcionou a investigação de ferramentas e conceitos de Realidade Virtual e da Web Semântica. A integração dessas duas áreas permite a incorporação de semântica a modelos tridimensionais, acompanhando a uma nova tendência em relação ao tratamento de informações na Web. Diferente dos métodos de apresentação e manipulação de modelos tridimensionais apresentados na seção 7, a abordagem utilizando X3D e XML/RDF, possibilita que o processo de manipulação e extração de dados tridimensionais na Web seja dividido entre o cliente e o servidor. Além disso, estando os recursos 3D descritos semanticamente, é permitida a manipulação, o compartilhamento, a integração e as inferências por sistemas ou agentes. A plataforma Java se mostrou apropriada para a manipulação de XML com o uso da API JDOM, como também para manipulação dos recursos X3D. Com o desenvolvimento do modelo 3D protótipo, verificou-se que a integração de semântica aos recursos 3D é viável e não compromete o desempenho na utilização de um AV3D.
A presente proposta é genérica e pode ser utilizada por qualquer comunidade que utilize a representação tridimensional, sendo facilmente estendível e aberta à integração com vocabulários voltados a outros aspectos, ou que agregam uma semântica específica de uma comunidade. 10. Referências [1] A. CARDOSO, J. G PAIVA, SOARES, L. P.. VRML e X3D. In: Alexandre Cardoso; Claudio Kirner; Edgard Lamounier; Judith Kelner. (Org.). Tecnologias para o Desenvolvimento de Sistema de Realidade Virtual e Aumentada. 1 ed. Recife: Ed. Universitária da UFPE, 2007, v. 1, p. 51-74. [2] Ch. Bouras, A. Panagopoulos, Th. Tsiatsos. Advances in X3D multi-user virtual environments. Seventh IEEE International Symposium on Multimedia. Irvine, Califórnia. 2005, p. 136 142. [3] D. Ames, D. Nadeau and J. Moreland,, VRML 2.0, Sourcebook, 2nd. Edition, Wiley John &Sons, Inc., 1997. [4] D. Brickley and R.V. Guha,, Resource Description Framework (RDF) Schema Specification - W3C Proposed Recommendation. [Online] http://www.w3.org/tr/prrdfschema/. 03 March 1999. [5] K. Claudio, S. Robson- editores. Livro do présimpósio, IX Symposium on Virtual and Augmented Reality Petrópolis RJ, Editora SBC Sociedade Brasileira de Computação, Porto Alegre, 2007. http://www.w3.org/tr/recrdf- syntax/. W3C Recommendation 22 February 1999. [11] P. C. Jorge, C. A. C. TEIXEIRA, A. SANTANCHÈ. Visualização de Modelos Tridimensionais de Sistemas de Informações Geográficas Distribuídos Baseados na WEB. In: I Brazilian Workshop on GeoInformatics - GEOINFO 99, 1999, Campinas. Proceedings of the I Brazilian Workshop on GeoInformatics (GEOINFO 99), 1999. p. 50-59. [12] T. Berners-Lee, J. Handler, O. Lassila, "The Future of the Web "<http://www.scientificamerican.com/2001/050 1issue/050 1berners-lee.html>. 2001. [13] The Dublin Core: A Simple Content Description Model for Electronic Resources, [Online] http://purl.oclc.org/metadata/dublin_core [14] VRML97 - Virtual Reality Modeling Language Specification, [Online] http://www.vrml.org /specification/vrml97. ISO/IEC 14772-1:1997. [15] WEB3D Virtual Reality Modeling Language Consortium [Online] http://www.web3d.org. 1 Dublin Core é um esquema de metadados descritos em XML e RDF que visa descrever objetos digitais, tais como, videos, sons, imagens, textos e sites na web. [6] L. Paulo, C. Gilberto e Q. Gilberto. GeoBR: Intercâmbio Sintático e Semântico de Dados Espaciais. IV Simpósio Brasileiro de Geoinformática. Caxambu MG. 2002. p. 139 146. [7] L.R. Altieres, Projeto de um Ambiente 3D de Visualização e Reprodução de Eventos Capturados e Interpretados a Partir de Ambientes Físicos Cientes de Contexto para Aplicações de Preparação para Emergência, Dissertação(mestrado), Universidade Federal de São Carlos, São Carlos - SP, 2006, 96 p. [8] L. P. SOARES. RV suportada pelas tecnologias VRML e X3D. In: Alexandre Cardoso, Edgard Lamounier. (Org.). Realidade virtual: Uma abordagem prática. São Paulo: Mania de Livro, 2004, v. 1, p. 25-70. [9] M. Jern, 3D Date Visualization on the Web, Proceedings of the 1998 Mulmedia Modeling, Lausanne, Switzerland, October 12-15, 1998. [10] O. Lassila, e R.R. Swick, Resource Description Framework (RDF) Model and Syntax Specification. W3C - World Wide Web Consortium, [Online]