Você está na página 1de 28

Sistema de Realidade Aumentada Baseado em Padres Rectangulares de Dimenses Desconhecidas

Jos F. Martins
FEUP, ISMAI R. Dr. Roberto Frias 4200-465 Porto jmartins@docentes.ismai.pt

Jorge A. Silva
FEUP, INEB R. Dr. Roberto Frias 4200-465 Porto jsilva@fe.up.pt

A. Augusto de Sousa
FEUP, INESC Porto R. Dr. Roberto Frias 4200-465 Porto augusto.sousa@fe.up.pt

Sumrio Neste artigo apresentado um sistema de realidade aumentada baseado no seguimento de padres rectangulares de dimenses desconhecidas. O contedo do padro a seguir pode ser um qualquer, desde que assimtrico. A partir de uma imagem que contenha o padro, adquirida no incio do processo, possvel calcular a sua razo de forma e gerar vistas frontais do mesmo que so, posteriormente, usadas na fase de seguimento do padro. Apesar de nos testes efectuados terem sido usados apenas padres sintetizados, o sistema desenvolvido tem potencial para vir a ser utilizado com padres naturais. Palavras-Chave Realidade Aumentada, Reconhecimento de Padres, Pontos de Fuga e Viso por Computador.

1. INTRODUO A Realidade Aumentada (RA) um domnio ainda relativamente recente, mas que tem ganho cada vez mais popularidade. Ao longo dos ltimos anos surgiram diversas solues que possibilitam a implementao de ambientes de Realidade Aumentada atravs de vrias tcnicas especficas [Bimber05]. Um dos aspectos cruciais de um sistema de RA a estratgia adoptada para realizar o alinhamento entre o mundo virtual e o mundo real. Actualmente, existem diversas estratgias possveis para resolver este problema que se baseiam num conjunto diversificado de sensores: o GPS, o giroscpio, a cmara de vdeo, o acelermetro e outros [Rolland01]. As solues mais comuns baseiam-se no reconhecimento de um padro colocado na cena, numa sequncia de imagens de vdeo, recorrendo a tcnicas de Viso por Computador. Este padro serve de base ao processo de alinhamento entre os objectos reais e virtuais existentes nos respectivos mundos. Os padres so vulgarmente sintetizados, ou seja, padres artificiais propositadamente concebidos com o intuito de facilitar o processo de reconhecimento e estrategicamente colocados no mundo real. No entanto, existem situaes em que a utilizao deste tipo de padres se torna muito difcil ou mesmo impossvel, nomeadamente em ambientes exteriores. Por exemplo, no caso de se pretender colocar uma chamin virtual sobre um telhado de um edifcio real, seria impraticvel colocar um destes padres no telhado do edifcio, no s pela bvia dificuldade de acesso, como tambm pela dimenso do mesmo.

Nestas situaes, a utilizao de padres naturais (no sintetizados) que existam no mundo real e portanto no propositadamente criados para o efeito, parece ser uma opo mais adequada. No exemplo anterior, um padro natural poderia ser definido com base numa janela ou em outro detalhe do edifcio que possa sobressair visualmente e que possa ser reconhecido como um padro. No entanto, o processo de reconhecimento destes padres geralmente bastante mais complexo, no sendo to facilmente identificados como os padres sintetizados. O processo de alinhamento recorrendo a padres naturais igualmente complexo. Este processo necessita que seja estabelecida a correspondncia entre um conjunto de pontos existentes no padro e as respectivas projeces existentes na imagem adquirida. Para que seja estabelecida a correspondncia, importante conhecer a forma geomtrica do padro e as respectivas dimenses reais ou, pelo menos, a sua razo de forma. Os padres sintetizados possuem formas e dimenses conhecidas, assumindo frequentemente uma forma quadrangular. Por outro lado, os padres naturais possuem potencialmente uma grande diversidade de formas, muitas delas irregulares; alm disso, frequentemente, as respectivas dimenses so desconhecidas. No presente trabalho, com o intuito de limitar a diversidade de formas a serem processadas, s so considerados padres com formas rectangulares. Realmente, o rectngulo uma forma geomtrica muito comum no mundo real, sendo particularmente abundante em edifcios e noutras estruturas criadas pelo ser humano. Na maioria das situaes, difcil obter as dimenses reais destes rectngulos mas, em contrapartida, as respectivas razes

59

de forma podem ser obtidas sem que as dimenses reais sejam conhecidas. Para determinar a razo de forma de um rectngulo, basta conhecer a relao de proporo entre as suas dimenses. A principal dificuldade advm da forma geomtrica que o rectngulo real apresenta aps a sua projeco no plano de imagem. Devido s distores causadas pela perspectiva, no possvel inferir directamente a razo de forma do rectngulo a partir das dimenses do quadriltero resultante de uma projeco na imagem. De acordo com [Alvarez02], possvel recuperar a razo de forma de um objecto rectangular de dimenses desconhecidas, mesmo em situaes em que o eixo ptico da cmara no esteja orientado perpendicularmente em relao superfcie onde assenta o padro. Estas situaes, muito habituais na captura de padres naturais, podem ser causadas por limitaes fsicas impostas por obstculos ou pela prpria configurao do espao envolvente ao padro. Neste artigo prope-se uma soluo para o problema do alinhamento atravs de padres rectangulares de dimenses desconhecidas. O sistema de RA desenvolvido capaz de calcular a razo de forma de um padro rectangular desconhecido a partir da sua projeco numa imagem adquirida no incio do processo. Apesar deste sistema utilizar unicamente padres sintetizados, prev-se que no futuro possa vir a utilizar padres naturais. Para alm da introduo, este documento composto pelas seguintes seces: o Estado da Arte, na qual se faz um resumo de alguns sistemas de RA existentes, com particular incidncia nos que efectuam o processo de alinhamento sem o recurso a padres sintetizados; o Sistema Proposto, onde descrito o sistema de RA e o clculo da razo de forma de um padro rectangular projectado no plano de imagem a partir da determinao dos pontos de fuga dessa imagem; a Implementao que descreve o desenvolvimento do sistema de RA; a Avaliao, onde so apresentados os resultados obtidos e, finalmente, as Consideraes Finais, na qual so retiradas as principais consideraes sobre o trabalho realizado. 2. ESTADO DA ARTE Um dos primeiros sistemas de RA e um dos mais conhecidos e difundidos, na actualidade, o ARToolkit [ARToolkit07] que surgiu inicialmente como uma componente de um sistema de videoconferncia em RA [Kato99]. O ARToolkit um sistema de RA que realiza o alinhamento atravs de padres sintetizados, de forma quadrada, constitudos por uma borda exterior negra que delimita uma representao visual assimtrica de elevado contraste. Apesar de ser incapaz de lidar com padres naturais, este sistema continua a ser uma importante referncia no domnio da RA. No entanto, durante a presente dcada, surgiram algumas solues que realizam o processo de alinhamento atravs

de tcnicas que no envolvem padres artificiais. Destes sistemas salientam-se os seguintes. O sistema de RA apresentado por Ferrari [Ferrari01] baseado em padres naturais que consistem em rectngulos ou elipses pertencentes a superfcies planas no mundo real. Estes padres so inicialmente identificados pelo utilizador e devem corresponder a zonas de um plano real que possuam detalhes visuais que facilitem a sua deteco. O sistema de RA de Simon [Simon02] baseado no seguimento de pontos caractersticos existentes num plano identificado inicialmente pelo utilizador. Neste sistema, o utilizador deve identificar manualmente quatro ou mais pontos na imagem que correspondem a pontos coplanares no mundo real, estes pontos vo delimitar uma rea na qual o sistema vai procurar pontos caractersticos que sejam facilmente detectados ao longo do vdeo capturado. O utilizador deve igualmente alinhar manualmente o sistema de referncia virtual com o plano real identificado anteriormente, atravs da insero de um objecto virtual na imagem adquirida, tem ainda a liberdade de transformar o objecto virtual at que o alinhamento do mesmo com o mundo real seja o pretendido. Em [Comport03] apresentado um sistema de RA baseado no reconhecimento de linhas, crculos, cilindros ou esferas existentes no mundo real. As linhas podem identificar as arestas de objectos 3D, como um cubo ou objectos mais complexos, como por exemplo: uma cadeira. No entanto, este sistema necessita que o utilizador, numa fase inicial, identifique manualmente as entidades reais existentes na imagem que serviro como mecanismo de alinhamento. O sistema de RA de Frahm [Frahm05] permite o alinhamento de objectos virtuais numa cena real sem recorrer a qualquer tipo de padro. A posio e orientao da cmara so estimadas a partir do seguimento de pontos caractersticos existentes nas imagens adquiridas. Este sistema usa uma segunda cmara que utilizada para a determinao da iluminao existente no espao real. Dessa forma, os modelos virtuais so iluminados realisticamente e projectam sombras igualmente realistas. 3. SISTEMA PROPOSTO Descreve-se a seguir o sistema de RA implementado que permite fazer o alinhamento com base em padres sintetizados, rectangulares de contedo e dimenses desconhecidos. O sistema constitudo por trs componentes fundamentais: a Calibrao da Cmara; a Extraco e Identificao do Padro e a Gerao de Imagens Aumentadas. 3.1 Calibrao da Cmara A primeira componente do sistema responsvel pelo clculo dos parmetros intrnsecos da cmara e dos respectivos coeficientes de distoro. Os parmetros intrnsecos so importantes para o clculo da posio e da orientao da cmara que realizado na componente final. Os coeficientes de distoro possibilitam a correc-

60

o da imagem adquirida, removendo a distoro criada pelas lentes da cmara. Doravante, esta correco ser efectuada em todas as imagens adquiridas. O processo de calibrao da cmara, que ser descrito com mais detalhe na seco 4.1, relativamente moroso e geralmente efectuado uma vez para cada cmara (assumindo que os parmetros intrnsecos da mesma se mantm inalterados). 3.2 Extraco e Identificao do Padro O sistema proposto utiliza padres sintetizados rectangulares. Estes padres so constitudos por uma borda negra que delimita uma zona interior que constituda por uma determinada representao visual assimtrica. Nesta componente, o sistema de RA calcula a razo de forma do padro e efectua a captura da zona interior do mesmo. Para efectuar o alinhamento necessrio estabelecer a correspondncia entre os cantos do padro no mundo real e as respectivas projeces na imagem adquirida. As coordenadas dos cantos do padro na imagem so obtidas atravs de algoritmos de processamento e anlise de imagem. Estas coordenadas so expressas em pixels relativamente ao sistema de referncia da imagem. Por outro lado, as coordenadas dos cantos do padro no mundo real so relativas ao sistema de referncia do padro. A origem deste sistema assume-se como estando posicionada no centro geomtrico do padro, sendo o respectivo eixo dos z perpendicular ao plano em que o padro se encontra; os eixos x e y, por uma questo de simplificao, so paralelos aos lados do padro. A unidade utilizada pode ser uma unidade real (milmetros, centmetros, polegadas, etc.) ou pode, em certos casos, ser uma unidade genrica relativa a uma das dimenses do padro: a sua altura ou a sua largura. A principal vantagem da utilizao da unidade genrica que esta no necessita das dimenses reais do padro mas, ainda assim, necessita de conhecer a sua razo de forma. Por exemplo, no caso de um rectngulo com uma razo de 4:3, se a sua altura corresponder unidade genrica ento a sua largura iria corresponder aproximadamente a 1.333 unidades genricas. A razo de forma , assim, imprescindvel para o clculo das coordenadas dos cantos do padro no mundo real relativas ao sistema de referncia do padro. Sem estas coordenadas, no ser possvel estabelecer a correspondncia entre os cantos do padro no mundo real e as respectivas projeces na imagem adquirida que a base do processo de alinhamento. Adicionalmente, a razo de forma igualmente importante para a captura da zona interior do padro existente na imagem adquirida. Um dos problemas que se pe nos sistemas de RA baseados no seguimento de padres a determinao da orientao do padro. Para determinar essa orientao, necessrio comparar a zona interior do padro existente na imagem adquirida com quatro imagens armazenadas previamente, em pose frontal, com

orientaes diferentes. Para isso, a zona interior deve ser assimtrica, para que no existam ambiguidades na determinao dessa orientao. Para obter a zona interior do padro, em pose frontal, necessrio conhecer a respectiva razo de forma. 3.2.1 Recuperao da Razo de Forma O mtodo utilizado para recuperar a razo de forma do padro, a partir de uma nica imagem do mesmo, ainda que o padro surja distorcido pela perspectiva, baseia-se na identificao dos pontos de fuga da imagem [Cipolla99]. O mtodo j foi utilizado com sucesso noutros contextos, nomeadamente para a insero de objectos 3D em fotografias de edifcios [Alvarez02] e para a modelao 3D baseada em imagem [P3D07]. Inicialmente, h que identificar pares de rectas na imagem adquirida, para cada um dos pontos de fuga, que correspondam a rectas paralelas ou perpendiculares ao plano horizontal do mundo real. Cada um dos pontos de fuga (Fx, Fy e Fz) resulta da interseco de um par de rectas e as respectivas coordenadas so expressas em pixels, no sistema de referncia da imagem. Por sua vez, a identificao das rectas pode ser realizada, por uma questo de simplificao, atravs da identificao de seis pontos (V0 a V5) que coincidem com os vrtices que delimitam as trs arestas verticais visveis de um paraleleppedo. Por exemplo; na figura 1, o ponto de fuga Fx resulta da interseco da recta que passa pelos vrtices V0 e V1 com a recta que passa pelos vrtices V2 e V3. Os restantes pontos de fuga so calculados de forma semelhante.

Figura 1: Clculo do ponto de fuga Fx atravs da interseco da recta V0V1 com a recta V2V3.

De acordo com [Cipolla99], a posio do centro ptico (C) pode ser calculada a partir dos pontos de fuga anteriores. O centro ptico o resultado da interseco de trs rectas que passam respectivamente por cada um dos pontos de fuga e que formam um ngulo recto entre si no ponto de interseco (ver figura 2). As coordenadas do centro ptico (cu, cv e cw) so expressas em pixels, no sistema de referncia da imagem, e a coordenada w que representa a distncia deste ponto ao plano da imagem a distncia focal. Adicionalmente, a projeco do centro ptico no plano de imagem (C) o centro ortogonal de um tringulo formado pelos trs pontos de fuga anteriormente calculados. Em seguida, so criados trs vectores (CFx, CFy e CFz) que ligam o centro ptico a cada um dos pontos de fuga. Estes vectores so perpendiculares entre si e constituem,

61

aps a normalizao, um sistema de referncia com a origem no centro ptico. Este considerado o sistema de referncia do mundo e exclusivamente utilizado na recuperao da razo de forma do padro rectangular, no sendo utilizado na gerao de imagens aumentadas.

siste nas componentes dos vectores CFx=(u1,v1,w1), CFy=(u2,v2,w2) e CFz=(u3,v3,w3) dispostos segundo as colunas da matriz.
tu tv t

Cw = 0 0

0 0

Cu 1

u1 v1 w1

u2 v2 w2

u3 v3 w3

X Y Z (1)

Cw Cv

partida, no possvel obter as coordenadas dos cantos do padro no mundo real a partir das respectivas projeces na imagem adquirida, uma vez que existe um nmero infinito de pontos 3D cujas projeces so coincidentes com um mesmo ponto 2D na imagem. Torna-se no entanto possvel, se uma das coordenadas 3D de cada canto for conhecida. O processo passa por, em primeiro lugar, identificar a face do paraleleppedo na qual o padro se encontra. Ao identificar esta face possvel identificar qual o plano ordenado que lhe paralelo. Se, por exemplo, o plano do padro for paralelo ao plano ordenado XZ ento poderemos afirmar que as coordenadas y de todos os pontos existentes no plano do padro so iguais. Um procedimento equivalente pode ser aplicado s restantes faces do paraleleppedo. Visto que, no sistema referencial anterior, as coordenadas y dos cantos do padro so iguais, pode-se, por simplificao, e levando em considerao que no se pretende obter as reais dimenses do padro, mas sim, a sua razo de forma, assumir que os valores das coordenadas y so iguais unidade. Assim sendo, o problema de encontrar um nico ponto 3D que corresponda ao ponto 2D projectado no plano de imagem consideravelmente simplificado, uma vez que uma das coordenadas do ponto 3D conhecida (no exemplo dado, a coordenada y). ento possvel, atravs da inversa da matriz de projeco da cmara, obter as coordenadas dos pontos 3D do mundo real a partir das respectivas projeces existentes na imagem adquirida. Com esta informao pode, em primeiro lugar, verificar-se se a forma geomtrica obtida efectivamente um rectngulo e, em caso afirmativo, efectuar o clculo da respectiva razo de forma. 3.2.2 Extraco do Padro Uma vez que o padro a seguir no suposto ser conhecido priori, torna-se necessrio que, numa fase inicial do funcionamento do sistema, se capture uma imagem que possa vir a ser usada como padro. Na impossibilidade de a captura ser feita em pose frontal, necessrio que a imagem capturada seja processada de forma a eliminar a distoro da perspectiva. Designa-se esta fase por Extraco do Padro. Esta fase comea por isolar a zona interior do padro numa imagem adquirida, identificando os cantos interiores do bordo negro que o delimita; obtm-se assim um rectngulo distorcido pelo efeito de perspectiva. Com base nas coordenadas dos cantos da zona interior do

Figura 2: Clculo do centro ptico (C) a partir dos pontos de fuga.

O sistema de referncia definido tem a particularidade dos respectivos planos ordenados serem paralelos s faces de um paraleleppedo utilizado para o traado dos pares de recta que conduziram aos pontos de fuga. Os planos YZ e XZ so paralelos s faces verticais do paraleleppedo e o plano XY paralelo base e ao topo (faces horizontais) do paraleleppedo. A projeco de um ponto do sistema de referncia do mundo real (X,Y,Z) no sistema de referncia da imagem (u,v) realizada atravs da equao de projeco da cmara (1). Esta equao o produto de duas matrizes: uma matriz de parmetros intrnsecos e uma matriz de parmetros extrnsecos. No entanto, h que referir que ambas as matrizes so incompletas. A matriz de parmetros intrnsecos contm unicamente a distncia focal e o ponto principal da imagem, e a matriz de parmetros extrnsecos resume-se a uma matriz de rotao. A justificao para a no incluso de outros parmetros intrnsecos, como por exemplo, os coeficientes de distoro, explicada pelo facto de esta abordagem simular uma cmara do tipo pin-hole, na qual no considerada a existncia de lentes. Isto implica que os coeficientes de distoro tenham j sido calculados e que a imagem adquirida utilizada para a identificao das linhas de fuga tenha sido previamente corrigida no sentido de cancelar os efeitos da distoro das lentes. Relativamente matriz de parmetros extrnsecos, a no incluso do vector de translao justificada pelo facto de a origem do sistema de referncia do mundo ser coincidente com o centro ptico da cmara. O ponto principal da imagem consiste na projeco do centro ptico no plano de imagem (cu e cv); a distncia focal calcule-se pela distncia do centro ptico ao plano de imagem (cw). Por sua vez, a matriz de parmetros extrnsecos constituda pela matriz de rotao que con-

62

padro na imagem adquirida e na razo de forma anteriormente calculada, possvel determinar os parmetros de uma matriz de homografia 1 que permite transformar a zona interior distorcida numa zona interior em pose frontal (figura 3).

Cada uma destas imagens comparada com as imagens anlogas, armazenadas na componente anterior. Para realizar a sntese grfica dos objectos virtuais de forma a apresentarem um alinhamento visual com o padro existente no mundo real necessrio criar uma cmara virtual que possua os mesmos parmetros intrnsecos e extrnsecos da cmara real. Os parmetros intrnsecos foram calculados na componente de calibrao da cmara e os parmetros extrnsecos so calculados, para cada imagem adquirida, na componente de gerao de imagens aumentadas. Conhecidos ambos os parmetros, possvel determinar a matriz de projeco de perspectiva da cmara. 4. IMPLEMENTAO O sistema de RA apresentado foi implementado, em grande medida, recorrendo a funcionalidades existentes na API OpenCV [OCV07] e na API OpenGL [OGL07] bastante utilizadas no desenvolvimento de aplicaes nos domnios da Viso por Computador e da Computao Grfica. O sistema de RA encontra-se dividido em trs componentes fundamentais: a componente de calibrao da cmara; a componente da extraco e identificao do padro e a componente de gerao de imagens aumentadas. As duas primeiras componentes fazem uso de funcionalidades 2 do OpenCV e correspondem fase inactiva da RA. A ltima componente faz uso de funcionalidades de ambas as APIs e corresponde fase activa da RA. Este sistema foi desenvolvido e testado num PC com um processador Intel Pentium 4 de 2.4 GHz, com 2.5 GB de memria RAM, com uma placa grfica MSI nVidia GeForce4 Ti4800-SE8X com 128 MB de memria RAM e suporte de OpenGL 1.3. A webcam utilizada foi uma Creative Live! Cam Vista IM com uma resoluo mxima de 800x600. 4.1 Calibrao da Cmara Nesta componente realizada a calibrao da cmara. Para isso recorre-se cvCalibrateCamera2. Esta funcionalidade realiza o clculo dos parmetros intrnsecos da cmara. Para isso feita a captura de uma srie de vistas distintas (de diferentes orientaes e distncias) de uma grelha de calibrao, que consiste numa folha de papel A4 com um padro de xadrez composto por 9x7 quadrculas de lado igual a 27 mm (figura 4).
2

Figura 3: Transformao da zona interior do padro numa zona interior em pose frontal.

Posteriormente memorizada uma cpia da zona interior que servir como o padro do sistema. De forma, a melhorar a eficincia do sistema, so memorizadas quatro cpias, com orientaes diferentes (0, 90, 180 e 270). 3.3 Gerao de Imagens Aumentadas A terceira e ltima componente responsvel pela fase activa da RA. Nesta fase, os objectos virtuais so alinhados com os objectos reais atravs do padro existente na cena real. Portanto, o primeiro passo consiste em realizar a deteco do padro na imagem adquirida. Levando em considerao que os padres a serem detectados so padres sintetizados, o processo de deteco ser consideravelmente facilitado relativamente a um processo equivalente relativo a padres naturais. Este processo ser explicado, em detalhe, na seco de Implementao. A deteco do padro vai possibilitar a identificao das coordenadas dos respectivos cantos e a captura da zona interior do mesmo. As coordenadas dos cantos do padro na imagem adquirida conjuntamente com as coordenadas desses mesmos cantos no sistema de referncia do padro vo ser utilizados no clculo de uma matriz de homografia que vai possibilitar o clculo dos parmetros extrnsecos da cmara. Para calcular esta matriz de homografia necessrio determinar a orientao do padro relativamente cmara, para garantir que a correspondncia entre os cantos do padro na imagem com os cantos do mesmo no sistema de referncia do padro seja a correcta. Para tal, necessrio comparar a zona interior do padro existente na imagem adquirida com as quatro imagens criadas na componente anterior. Convm salientar que estas quatros imagens possuem duas razes de forma inversas, as imagens com uma rotao de 0 e 180 possuem uma razo igual razo calculada na etapa anterior, enquanto que as restantes imagens possuem uma razo inversa desta ltima. A zona interior do padro existente em cada imagem adquirida deve ser transformada em duas imagens rectangulares, uma com a razo igual calculada anteriormente e a outra com uma razo inversa desta ltima.
1

Todas as expresses, em itlico, que comecem por cv consistem em funcionalidades da API OpenCV.

Esta matriz permite realizar o mapeamento entre pontos de duas imagens de um mesmo plano 3D, obtidas com duas cmaras em posies diferentes.

63

Figura 4: Calibrao da cmara recorrendo respectiva grelha.

Figura 5: Identificao dos seis vrtices do paraleleppedo.

A deteco dos pontos de calibrao (cantos das quadrculas) realizada automaticamente atravs da cvFindChessboardCorners. Aps a repetio deste processo, para as diversas vistas da grelha de calibrao, ento possvel realizar o clculo dos parmetros intrnsecos atravs da cvCalibrateCamera2. Convm salientar que os coeficientes de distoro da cmara (radiais e tangenciais) so igualmente calculados atravs desta funo. Estes coeficientes so utilizados nas duas componentes seguintes com o intuito de corrigir a distoro induzida pela lente da cmara na imagem adquirida. Esta correco realizada recorrendo cvUndistort2. Os parmetros intrnsecos so armazenados num ficheiro, possibilitando o seu uso futuro, sem necessidade de recalibrao, desde que no sejam feitos ajustes na cmara que impliquem alteraes dos mesmos (por exemplo, o ajuste da distncia focal). 4.2 Extraco e Identificao do Padro Esta componente responsvel pelo clculo da razo de forma do padro e pela captura da respectiva zona interior (a zona delimitada pela borda exterior). Este clculo exige, numa primeira fase, que o utilizador realize a identificao manual de seis vrtices de um paraleleppedo de dimenses desconhecidas, estes seis vrtices vo definir um conjunto de seis rectas que so utilizadas para identificar os trs pontos de fuga que servem de base ao processo descrito na seco 3.2. Na figura 5 possvel visualizar a identificao dos seis vrtices. Ainda nessa figura, o padro assente no topo do paraleleppedo possui a forma geomtrica de um rectngulo com a razo de forma de 4:3 e a zona interior do mesmo constituda por um calendrio de bolso l colocado.

Na eventualidade da inexistncia de um paraleleppedo, esta componente possibilita a identificao de doze pontos que vo formar as seis rectas necessrias. Estes pontos necessitam de pertencer a rectas imaginrias que no mundo real sejam paralelas ou perpendiculares ao plano horizontal. Importa salientar que a imagem adquirida, na qual realizada a identificao dos vrtices, foi corrigida das distores causadas pelas lentes. Em seguida, o utilizador necessita de identificar qual o plano ordenado que paralelo ao plano no qual se encontra o padro (planos: XY, XZ e YZ). ento calculada a razo de forma do padro e, adicionalmente, capturada a zona interior do mesmo. Esta captura poder ser realizada numa outra vista e no necessariamente na mesma que foi utilizada para o clculo anterior. Recorrendo a cvWarpPerspectiveQMatrix criada uma matriz de homografia que utilizada pela cvWarpPerspective para transformar a zona interior do padro distorcido na imagem adquirida numa imagem rectangular com a razo de forma calculada anteriormente e sem as distores causadas pela perspectiva. Em seguida, so criadas quatro cpias desta imagem com diferentes orientaes (ver figura 6).

Figura 6: As quatro cpias do padro capturado, cada uma com a sua respectiva orientao.

Finalmente, guardada em ficheiro diversa informao relativa ao padro capturado, nomeadamente a respectiva razo de forma, a relao de proporo entre o contorno exterior da borda e o respectivo contorno interior e as quatro imagens do padro em pose frontal. 4.3 Gerao de Imagens Aumentadas Esta componente responsvel pela fase activa da RA. Dessa forma, capaz de reconhecer um padro na ima-

64

gem adquirida, calcular os parmetros extrnsecos da cmara e sintetizar os modelos virtuais devidamente alinhados com o padro existente na imagem adquirida do mundo real (ver figura 7).

Contours. Estes contornos so geralmente constitudos por um nmero elevado de vrtices, muitos deles colineares e, dessa forma, redundantes. Para simplificar estes contornos e reduzir o nmero de vrtices ao nmero de cantos do padro utilizada a cvApproxPoly. Do universo de contornos resultantes so filtrados todos os contornos cujo o nmero de vrtices seja diferente de quatro. Dos contornos restantes, so filtrados todos os contornos que no sejam convexos. Finalmente, so filtrados todos os contornos que delimitem uma rea demasiado pequena. O contorno que delimita a maior rea identificado e, caso este ltimo contenha um outro contorno, cuja a relao de proporo entre as respectivas reas delimitadas seja a correcta para o padro em causa, ento o primeiro contorno considerado o contorno externo da borda do padro e o segundo o contorno interno da mesma. Caso contrrio, o contorno com a maior rea considerado o contorno interno da borda. Identificado o contorno interno, a informao visual existente na zona interior do padro transformada em duas imagens rectangulares (uma delas com uma razo de forma igual calculada anteriormente e a outra com uma razo inversa desta ltima). Estas duas imagens rectangulares so ento comparadas com as quatro cpias da zona interior do padro armazenadas anteriormente. Cada uma destas imagens rectangulares ser unicamente comparada com as duas cpias com a mesma razo. Esta comparao realizada atravs da cvMatchTemplate. Com esta comparao possvel identificar cada um dos cantos detectados anteriormente. Se o contorno externo da borda for encontrado, calculada uma matriz de homografia que relaciona os seus vrtices com os cantos do padro no sistema de referncia do prprio. Caso no seja encontrado, os vrtices do contorno interior so utilizados. Neste caso, a matriz de homografia vai relacionar estes ltimos vrtices com os respectivos vrtices do contorno interior da borda no sistema de referncia do padro. A matriz de homografia, assim calculada, serve de base ao clculo dos parmetros extrnsecos da cmara para a actual imagem adquirida. Este clculo realizado atravs da cvFindExtrinsicCameraParams2. Com os parmetros intrnsecos e extrnsecos da cmara conhecidos possvel criar virtualmente a cmara atravs da glFrustum e da glLoadMatrixd. , finalmente, possvel sintetizar objectos virtuais alinhados com o padro existente no mundo real (ver figura 8).

Captura da Imagem

Normalizao e Remoo de Rudo da Imagem

Deteco de Orlas

Identificao dos Contornos Comparao da Zona Interior Clculo da Homografia e Parmetros Extrnsecos

Sntese da Cena Virtual

Figura 7: Fluxograma simplificado do processo de gerao de imagem aumentadas.

A fase activa da RA implica que as imagens sejam processadas em tempo real. A primeira fase deste processamento tem como objectivo detectar os contornos, interno e externo, da borda do padro. Estes contornos possuem algumas caractersticas importantes: so ambos quadrilteros convexos; o contorno externo contm o interno e existe uma relao de proporo entre as reas delimitadas por cada um dos contornos. Inicialmente, a imagem de cor adquirida convertida para nveis de cinzento. Em seguida, a imagem normalizada, com o intuito de tornar o algoritmo de deteco do padro parcialmente invariante ao nvel geral de iluminao. O processo de normalizao comea por identificar o tom de cinzento mais escuro e o mais claro existente na imagem. Seguidamente, o intervalo existente entre estes dois limites ajustado de forma a aproveitar toda a gama de cinzentos, do preto ao branco. Aps o processo de normalizao, o nvel de rudo existente na imagem reduzido pela aplicao de um filtro de mediana, de dimenso 3x3, recorrendo a cvSmooth. O primeiro passo, para a deteco dos contornos internos/externos da borda do padro, consiste na deteco das orlas existentes na imagem. Esta deteco realizada atravs do algoritmo de deteco de orlas de Canny [Canny86] disponibilizado pela cvCanny. A partir das orlas detectadas so identificados os contornos fechados existentes na imagem atravs da cvFind-

65

Usando o sistema de computao anteriormente descrito foi possvel processar imagens com uma frequncia igual a 25 Hz e adquiridas com uma resoluo de 320x240. Para uma resoluo de 640x480, o sistema processa as imagens adquiridas com uma frequncia na ordem dos 10 Hz-15 Hz. 6. CONSIDERAES FINAIS O sistema de RA desenvolvido capaz de realizar o alinhamento atravs de padres rectangulares com dimenses previamente desconhecidas. Esta situao muito comum num ambiente real, no qual a forma rectangular particularmente abundante e no qual as respectivas dimenses reais so frequentemente desconhecidas. A caracterstica mais importante deste sistema a recuperao da razo de forma do padro rectangular a partir de uma s imagem adquirida. Para determinadas condies, esta recuperao realizada com uma exactido aceitvel. A razo assim obtida fundamental para o processo de alinhamento subsequente. Actualmente, o sistema funciona unicamente com padres sintetizados, nos quais a razo de forma poder ser facilmente determinada. No entanto, o futuro objectivo deste sistema a utilizao de padres naturais de forma rectangular, na qual a respectiva razo no seja conhecida de antemo. 7. REFERNCIAS [Alvarez02] B. S. Alvarez, P. C. P. Carvalho e M. Gattass. Insertion of Three-dimensional Objects in Architectural Photos. Journal of WSCG, vol. 10, n. 1-3; 10th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, 2002. [ARToolkit07] Augmented Reality Toolkit Website, Junho de 2007.
<http://www.hitl.washington.edu/artoolkit>

Figura 8: Alinhamento de um cubo virtual com o padro criado anteriormente.

5. AVALIAO A avaliao do sistema de RA desenvolvido incidiu fundamentalmente na recuperao da razo de forma do padro rectangular e no desempenho do sistema durante a fase activa da RA. A determinao correcta da razo de forma um processo importante para o funcionamento do sistema de RA. A avaliao efectuada demonstrou que a resoluo da imagem adquirida e o ngulo entre o eixo ptico da cmara e o plano do padro so os factores que mais influenciam a exactido do resultado. Para imagens adquiridas com uma resoluo de 640x480 e para ngulos inferiores ou iguais a 45, a razo de forma calculada com um erro relativo inferior a 2%. Para ngulos superiores a 45, o erro relativo aumenta progressivamente (ver tabela 1). ngulo 5 15 25 35 45 55 65 75 Erro Relativo Mdio 0,23% 0,44% 0,78% 1,15% 1,73% 5,35% 13,43% 34,01%

[Bimber05] O. Bimber and R. Raskar. Modern Approaches to Augmented Reality. International Conference on Computer Graphics and Interactive Techniques, ACM SIGGRAPH 2005. [Camport03] A. Comport, E. Marchand e F. Chaumette. A Real-Time Tracker for Markerless Augmented Reality. ACM/IEEE Int. Symp. on Mixed and Augmented Reality, ISMAR'03, Tokyo, Japan, 2003. [Canny86] J. Canny. A Computational Approach to Edge Detection. IEEE Trans. Pattern Analysis and Machine Intelligence, 1986. [Cipolla99] R. Cipolla, T. Drummond e D. Robertson. Camera Calibration from Vanishing Points in Images of Architectural Scenes. BMVC, 1999. [Ferrari01] V. Ferrari, T. Tuytelaars e L. Van Gool. Markerless Augmented Reality with a Real-Time Affine Region Tracker. Proc. IEEE and ACM Intl. Symposium on Augmented Reality, volume I, 2001. [Frahm05] J-M. Frahm, K. Kser, D. Grest e R. Koch. Markerless Augmented Reality with Light Source Esti-

Tabela 1: Erro relativo mdio na obteno da razo de forma.

Durante a fase activa da RA, o sistema capaz de realizar o alinhamento de objectos virtuais atravs de padres sintetizados de diversas formas rectangulares. Foram utilizados padres que possuam razes de forma entre 1:1 (quadrado) e 3:1. Com estes padres, o sistema capaz de manter um alinhamento satisfatrio, ou seja o desalinhamento visualmente imperceptvel. Para padres com razes superiores e recorrendo a imagens adquiridas com uma resoluo 320x240, a qualidade do alinhamento comea progressivamente a degradar-se.

66

mation for Direct Illumination. Conference on Visual Media Production, London, 2005. [Kato99] H. Kato e M. Billinghurst. Maker Tracking and HDM Calibration for a Video-Based Augmented Reality Conferencing System. International Workshop on Augmented Reality (IWAR), San Francisco, USA, 1999. [OCV07] Open CV Website, Junho de 2007.
<http://www.opencv.org>

[P3D07] Photo 3D Website, Junho de 2007.


<http://www.photo3d.com>

[Rolland01] J. P. Rolland, L. D. Davis e Y. Baillot. A Survey of Tracking Technology for Virtual Environments. Fundamentals of Wearable Computers and Augmented Reality, LEA Publishers, 2001 [Simon02] G. Simon e M-O. Berger. Reconstructing while Registering: a Novel Approach for Markerless Augmented Reality. ISMAR 02 Conference Proceeding, 2002.

[OGL07] Open GL Website, Junho de 2007.


<http://www.opengl.org>

67

Tecnologias CAVE-HOLLOWSPACE para a Mina do Lousal


Vasco Costa
IST/INESC-ID Lisboa vasco.costa@ist.utl.pt

Joo Madeiras Pereira


IST/INESC-ID Lisboa jap@inesc.pt

Jos Miguel Salles Dias


ADETTI Lisboa miguel.dias@iscte.pt

Abstract In the context of project Cincia Viva da Mina do Lousal, it was decided to construct an immersive virtual reality environment in which a group of people, for example students, can do a virtual visit to a mine. This article discusses and rationalizes the diverse technological choices made to achieve this task. Keywords Distributed/Network Graphics, Graphics Packages, Virtual Reality.

1. INTRODUO A mina do Lousal localizada em pleno Alentejo, no concelho de Grndola, distrito de Setbal. A mina foi explorada entre 1900 e 1988 [Tinoco01]. O seu encerramento conduziu a populao local ao desemprego e esquecimento [Monteiro06]. No sentido de revitalizar o tecido econmico e social da regio, a empresa SAPEC, antiga proprietria das minas, e o municpio de Grndola conceberam um programa integrado de desenvolvimento. O museu mineiro do Lousal insere-se neste programa. Procura preservar a memria das gentes que viveram e trabalharam neste local e servir como plo atractivo e energizador para esta regio. Ainda em desenvolvimento, aberto ao pblico desde 2000, o museu recebeu cerca de 20 mil visitantes no ano de 2005. Este trabalho, uma colaborao entre diversas universidades e instituies (Fundao Fdric Velge; FFCUL; IST, ISCTE; GPCG) com o grupo de trabalho localizado na ADETTI no ISCTE, insere-se na terceira e ltima fase do programa. Uma visita virtual com descida s minas, a ser localizada no edifcio onde ficavam os balnerios e laboratrios da antiga mina. Pretende-se uma visita interactiva mina feita para grupos, conduzidos por um guia. Deseja-se um ambiente que possa simular o interior de uma mina. Ao mesmo tempo o ambiente fsico deve ter flexibilidade de modo a permitir outros usos futuros. Isto pode ser feito via upgrades, patches ou mudanas de software. Para este trabalho foi dado um prazo de 5 meses. Dada a dimenso da tarefa a cumprir, recorreu-se a tecnologia disponvel no mercado sempre que possvel, tentado ir buscar o valor acrescentado integrao de componentes, focando em reas especficas. Este artigo foca-se nos problemas da visualizao, em tempo real, de cenas complexas num ambiente deste tipo.

O captulo 2 descreve o ambiente fsico. De modo a introduzir os conceitos base para visualizao distribuda, o captulo 3 descreve taxionomias para sistemas grficos. No captulo 4 so analisados diversos sistemas grficos de uso corrente, de acordo com a taxionomia. A arquitectura da aplicao descrita no captulo 5, e no captulo 6 dada nfase especial s tcnicas de acelerao e efeitos especiais. 2. AMBIENTE FSICO Existe um largo espectro de tecnologias de visualizao para realidade virtual [Stevens96]. O espectro vai desde as tecnologias de visualizao focadas no indivduo (e.g. culos de realidade virtual), at s focadas em organizaes com dezenas ou centenas de pessoas (e.g. display walls [Arajo05]). Isto levou escolha de uma tecnologia tipo CAVEHOLLOWSPACE [Cruz-Neira93] para o ambiente fsico de visualizao (ver Figura 1).

Figura 1: CAVE-HOLLOWSPACE Lousal

CAVE (Cave Automatic Virtual Environment) um ambiente imerso de realidade virtual em que projectores so dirigidos para quatro, cinco ou seis paredes de um

69

cubo da dimenso de uma sala. O nome tambm uma referncia alegoria da caverna na obra Repblica por Plato em que um filsofo contempla a percepo, realidade e iluso. O ambiente escolhido possui quatro paredes. Frente, lados e cho. A frente e o cho tm projeco estreo. A parede frontal tem 5,6 metros de comprimento, as paredes laterais 3,6 metros. O sistema composto por doze projectores. De modo a dominar a complexidade, optmos por: 1. Utilizar um aglomerado para visualizar os grficos. Por razes de desempenho e balanceamento optou-se por ter um aglomerado de seis ns grficos com duas placas grficas NVIDIA GeForce 8800 GTX cada. Uma placa grfica, a gerar as imagens, por cada projector (ver Figura 2). Reduzir a quantidade de informao a enviar para a placa grfica (e.g. no enviando geometria que no possvel visualizar, ou simplificando a geometria enviada). Fazer o processamento visual na placa grfica, no no CPU, se possvel.
Technical Room Rack Tracking

3.1.1 Mestre escravo Na arquitectura mestre escravo a aplicao executada nos vrios ns do aglomerado. Um n mestre encarregase de receber e distribuir as entradas e sadas de dados (e.g. teclado, rato, tracking) pelos diversos ns e sincronizar as mudanas de estado. A aplicao nos diversos ns tem de ser sincronizada para garantir a consistncia. 3.1.2 Cliente servidor Na arquitectura cliente servidor a aplicao executada num s n do aglomerado. A geometria da cena depois distribuda por ns servidores de visualizao, que simplesmente se encarregam de efectuar o rendering. Pode-se recorrer a diversas tcnicas de visualizao distribuda (ver Captulo 2.2). Existem dois modos de rendering: modo imediato, em que as primitivas so enviadas pela rede a cada imagem, e modo de reteno, em que as primitivas so armazenadas entre imagens. No modo imediato o tempo de arranque da aplicao at ser gerada a primeira imagem reduzido, contudo existe uma perda de desempenho aps o arranque devido ao elevado uso de largura de banda a reenviar primitivas. J no modo de reteno o tempo de arranque da aplicao at primeira imagem superior. Antes do arranque so previamente enviadas e armazenadas as primitivas num grafo de cena. A vantagem do uso do grafo de cena o menor trfego na rede dado que as primitivas apenas so enviadas uma vez. Tendo em conta a largura de banda limitada das redes Ethernet actuais, esta soluo costuma resultar num desempenho superior comparativamente ao modo imediato [Staadt03].

2.

Access Node

KVM

Experiments nodes

Switch Audio Authorized Personel Server usb 2.0 gigabit wireless video firewire audio

Figura 2: Hardware CAVE-HOLLOWSPACE Lousal

3. SISTEMAS GRFICOS Dado que foi decidido utilizar um aglomerado para a visualizao havia a saber que recursos de software j existentes poderiam ser utilizados. Existem diversos sistemas grficos disponveis no mercado para a visualizao de cenas sob a forma de middleware. No se pode escolher uma soluo devidamente sem perceber a sua arquitectura [Staadt03]. De modo a poder perceber quais os seus pontos fortes e fracos e analisar se esta ter um desempenho adequado para o problema em questo. 3.1 Arquitectura da aplicao Pode-se classificar a arquitectura da aplicao de acordo com a localizao da base de dados que contm a geometria da cena: Mestre escravo. Cliente servidor.

3.1.3 Mestre escravo versus Cliente servidor A arquitectura cliente servidor tem como vantagens a facilidade de depurao de erros, uma vez que o estado actual da aplicao est localizado numa s mquina como habitual, e a inexistncia de problemas de falta de coerncia nos dados. Executar a aplicao num s n pode, todavia, degradar o desempenho. Uma vez que as entradas de dados na arquitectura mestre escravo so infrequentes ou requerem pouca largura de banda para transmitir, esta soluo usualmente providencia um desempenho superior arquitectura cliente servidor. Em contraste existem inconvenientes. mais difcil de depurar os erros, visto que cada um dos ns tem o seu prprio estado. Por vezes no bvio para que informao necessrio assegurar a coerncia. A gerao de nmeros aleatrios, o uso de temporizadores, bem como outros dados que influenciem o estado da aplicao, no devem ser esquecidos. 3.2 Tcnicas de visualizao distribuida Existem diversos algoritmos para distribuir o rendering das primitivas da geometria num aglomerado. No entanto podem-se classificar estes algoritmos em trs classes [Pereira96], [Molnar94]:

70

Ordenao no incio. Ordenao no meio. Ordenao no fim. 3.2.1 Ordenao no incio Na ordenao no incio a rea de visualizao subdividida por rectngulos. As primitivas so aleatoriamente distribudas por ns, que efectuam as operaes suficientes para saber que volumes de visualizao intersectam. Depois so redistribudas para os ns dedicados a esses volumes de visualizao. A fase inicial, em que as primitivas so distribudas, usa bastante largura de banda. possvel reduzir esta largura de banda atravs de caches. Em cenas com primitivas grandes, ou que intersectem vrios volumes de visualizao, existe duplicao de trabalho a efectuar a transformao e rasterizao da geometria em diversos ns. 3.2.2 Ordenao no meio Na ordenao no meio as primitivas so aleatriamente distribudas pelos ns, que efectuam as transformaes na geometria. A geometria j transformada redistribuda para rasterizao. Este tipo de ordenao no vulgarmente utilizado em aglomerados de PCs. 3.2.3 Ordenao no fim Na ordenao no fim as primitivas so aleatriamente distribudas pelos ns, que efectuam as transformaes na geometria e a rasterizao. Os fragmentos (e.g. R,G,B,A,Z) rasterizados por cada n so unidos numa imagem final. Esta fase de composio da imagem final usa bastante largura de banda uma vez que os retalhos de cada um dos ns so enviados pela rede. 4. ANLISE DOS SISTEMAS GRFICOS Decidiu-se escolher sistemas grficos, com uma licena de software aberto, multiplataforma. Deste modo pensase estar a reduzir as probabilidades de ficar preso a uma soluo com custo de aquisio elevado e problemas de suporte no futuro. Em seguida considerados. so descritos os sistemas grficos

As aplicaes Chromium utilizam usualmente uma arquitectura cliente servidor, em que um ou mais ns de aplicao cliente 3D enviam comandos grficos para um ou mais servidores de visualizao remotos. Cada servidor de visualizao est ligado a um cran. Podemse ter vrios servidores de visualizao remotos num aglomerado para mltiplos crans. Opcionalmente pode ser utilizada uma arquitectura mestre-escravo utilizando programao paralela num aglomerado. Isto requer a invocao de chamadas especficas do Chromium pela aplicao.
servidor 1 readback aplicao tilesort send

servidor 2 readback send

...
aplicao tilesort readback

...
servidor 1 send

servidor render

servidor 2 readback send

Figura 3: Aglomerado com ordenao no incio usando ordenao no fim com recurso a um servidor compositor

So disponibilizadas OpenGL:

primitivas

de

sincronizao

barreiras (criadas com glBarrierCreateCR) semforos (criadas com glSemaphoreCreateCR). A distribuio de inputs e outros eventos no cluster pode ser feita com recurso ao Cluster Rendering Utility Toolkit (CRUT). Devido flexibilidade da configurao do Chromium possvel construir aplicaes com arquitecturas hbridas mestre-escravo/cliente-servidor (ver Figura 3). O Chromium uma soluo multiplataforma que assenta sobre o OpenGL e TCP/IP. Possui um desempenho superior a outras solues anteriores para visualizao remota de aplicaes OpenGL como o GLX do X Window System. As tcnicas de visualizao distribuda utilizadas no modo cliente-servidor so a ordenao no incio e/ou ordenao no fim. Uma vez que no existe grafo de cena, a geometria enviada imagem a imagem, de esperar que seja usada muita largura de banda para cenas complexas com muita geometria. Ao fim e ao cabo a proximidade do Chromium ao OpenGL uma espada de dois gumes. Esta proximidade leva a um interface de programao familiar que, contudo, no permite fazer certas optimizaes porque a interface com o programador de muito baixo nvel. a interface de uma biblioteca grfica de modo imediato. O suporte OpenGL actual do Chromium tambm tem algumas limitaes: falta o suporte para OpenGL 2.0 e o suporte para display lists incompleto. Isto pode levar a problemas inesperados caso no sejam tomadas em conta as particularidades desta soluo.

4.1 Chromium O sistema grfico Chromium [Humphreys02] o sucessor do WireGL, inicialmente desenvolvido por Greg Humphreys na Universidade de Stanford nos Estados Unidos da Amrica. Esta soluo proporciona suporte de aglomerado para aplicaes OpenGL. Em princpio, basta trocar a biblioteca do OpenGL pela do Chromium e tem-se uma aplicao distribuda sem mais esforo de programao. De modo a manter compatibilidade com o OpenGL no existe grafo de cena. Para diminuir o trfego na rede, apenas so retransmitidas as alteraes nas primitivas desde a ltima imagem. Isto feito com recurso a uma cache, das primitivas bsicas enviadas na ltima imagem, nos servidores de visualizao.

71

4.2 Syzygy O sistema grfico Syzygy [Schaeffer03] foi inicialmente desenvolvido por Benjamin Schaeffer na Universidade de Illinois nos Estados Unidos da Amrica. Esta uma soluo completa para a implementao de aplicaes de realidade virtual em aglomerados. Permite a programao em C++ ou Python em ambiente multiplataforma. A arquitectura da aplicao configurvel. Pode ser utilizada uma topologia cliente servidor em que o grafo de cena Myriad distribudo por diversos ns que executam o render atravs do servio szgrender. Em alternativa pode ser usada uma arquitectura mestre escravo que permite um melhor desempenho custa de
frameworks para aplicaes objectos protocolos phleet drivers E/S framework E/S

problemas de baixo nvel da programao OpenGL. Tem um grafo de cena distribudo com um nvel de suporte avanado para multi-threading e aglomerados. Procura resolver os problemas de design do OpenInventor e Performer [Rohlf94] que ficaram em aberto aps o cancelamento do projecto Fahrenheit. Para suportar multi-threading o OpenSG possui suporte para aspectos. Um aspecto, neste contexto, uma cpia do grafo de cena. Assim podemos ter vrias threads, cada uma com a sua cpia, sem ter problemas de escritas concorrentes na mesma zona de memria. Quando no existem problemas com acessos concorrentes ao grafo de cena, por exemplo quando as threads limitam-se a ler o grafo, pode-se utilizar um mesmo aspecto para vrias threads de modo a poupar memria. Existe suporte para sincronizar os diversos aspectos. A arquitectura da aplicao suportada cliente servidor. Uma vez que existe um grafo de cena, com uma cpia armazenada em cada um dos ns de visualizao, no necessrio estar constantemente a reenviar geometria esttica imagem a imagem pela rede. Apenas quando so efectuadas alteraes na geometria existe comunicao. Isto leva a um consumo reduzido de largura de banda em cenas com modelos estticos. Em cenas dinmicas, o trfego de rede aumenta consideravelmente. O OpenSG suporta as tcnicas de visualizao distribuda de ordenao no incio e ordenao no fim. 4.4 VR Juggler O VR Juggler [Bierbaum03] foi desenvolvido na Universidade de Iowa. uma plataforma para o desenvolvimento de aplicaes de realidade virtual, com suporte para aglomerados, de arquitectura mestreescravo. A aplicao executada em cada um dos ns do aglomerado, sendo um dos ns designado por mestre. Este n mestre encarrega-se de sincronizar a execuo com os ns escravos. Possui suporte para diversos sistemas operativos. Bsicamente o VR Juggler o meio que permite aos vrios ns de um aglomerado comunicarem informao de estado, sincronizarem-se. Distribui as entradas de dados, possuindo suporte para vrios dispositivos de entrada como: rato, teclado, joysticks e luvas. Tambm possui suporte para diversos dispositivos de sada tais como: monitores convencionais, capacetes de realidade virtual, dispositivos tipo PowerWall, ou dispositivos tipo CAVE. O VR Juggler contm suporte para a programao de aplicaes sobre OpenGL ou VTK, bem como sobre os grafos de cena OpenGL Performer, OpenSG, OpenSceneGraph. A plataforma base VR Juggler (ver Figura 5) possui diversos componentes que assentam sobre uma panplia de tecnologias standard como o OpenGL (grficos) e o CORBA (comunicaes) e standards multiplataforma de facto como o OpenAL (som). O VRJuggler Portable Runtime, vulgo VPR, uma camada de abstrao de diversas funcionalidades base do sistema operativo que fornece ao seu utilizador suporte

camada de comunicaes

Figura 4: Plataforma Syzygy

complexidade adicional na programao. O grafo de cena distribudo Myriad possui algumas limitaes em termos de funcionalidade. Estas limitaes podem ser ultrapassadas via uso directo de OpenGL numa configurao mestre escravo. Note-se que o recurso a uma soluo deste tipo implica a perda de funcionalidade do grafo de cena. Por exemplo o carregamento de objectos, armazenados em ficheiros OBJ ou 3DS, tornase difcil. Existe suporte para a gerao de udio espacial 3D com recurso ao servio SoundRender. O Syzygy est implementado em cinco camadas (ver Figura 4). A camada de baixo nvel abstrai as chamadas que variam de entre os diversos sistema operativos para um interface comum. Exemplos das funcionalidades suportadas a este nvel incluem: threads, sincronizao e sockets. Por cima desta camada existe uma infraestrutura de comunicaes genrica que funciona sobre TCP, UDP ou memria partilhada. Por cima desta infraestrutura de comunicaes so implementados protocolos para sincronizao, distribuio do grafo de cena, som, e suporte para os dispositivos de entrada de dados. O aglomerado, ou Phleet, executa o servio szgserver que proporciona o ambiente necessrio para as aplicaes Syzygy bem como a gesto de processos. A manipulao dos objectos de som e grafo de cena processa-se na camada superior. Por fim existe a framework para aplicaes com suporte para as funcionalidades essenciais para uma aplicao de realidade virtual: grafo de cena, cmara, etc. 4.3 OpenSG O sistema grfico OpenSG [Vo02] foi concebido inicialmente na SIGGRAPH 99 por Dirk Reiners (Instituto Fraunhofer), Allen Bierbaum (VRAC da Universidade de Iowa) e Kent Watsen (NPS). Implementado em C++ multiplataforma, um sistema grfico de alto nvel, tem como objectivo abstrair os

72

independente da plataforma para threads, sockets TCP/IP, e primitivas para interface srie.

uma empresa de suporte. Tem existido um esforo contnuo de melhoramento desta soluo, sendo lanadas regularmente novas verses com mais funcionalidades, bem como suporte para as novas plataformas 64-bit para PCs da arquitectura X86-64. Este grafo de cena possui um suporte avanado para o carregamento de diversos tipos de modelos (3D Studio, Lightwave, Wavefront OBJ, COLLADA, VRML, etc) bem como imagens (PNG, JPEG, TGA, TIFF, GIF, BMP, etc) atravs de um sistema de plugins.

Figura 5: Plataforma VR Juggler

O Sonix uma abstrao do suporte udio que permite suporte multiplataforma. O suporte desta funcionalidade pareceu-nos algo incipiente e levou-nos a considerar utilizar outras solues multiplataforma para o som como o FMOD. O Tweek uma coleco de tecnologias C++ e Java que permitem a um interface Java comunicar com uma aplicao C++ via CORBA. O JCCL um sistema de configurao baseado na linguagem XML. O Gadgeteer um sistema de gesto de dispositivos de entrada. Possui um Remote Input Manager que partilha a informao dos dispositivos com as mquinas do sistema. possvel escrever drivers para novos dispositivos de entrada de dados caso no existam. O Maestro um componente adicional que permite o lanamento remoto de aplicaes num aglomerado, bem como outras funcionalidades para gesto de um aglomerado. Por cada tipo de aplicao que pode ser lanado no aglomerado deve existir um ficheiro de configurao denominado stanza com a informao de configurao necessria. O VR Juggler usa o mdulo JCCL atrs mencionado para todas as configuraes de sistema. Infelizmente a configurao do VR Juggler verdadeiramente barroca, com inmeros pequenos detalhes, tornando a configurao de um sistema deste tipo uma tarefa difcil. O interface grfico de configurao VRJConfig, a alternativa a editar os ficheiros XML mo, pouco amigvel. 4.5 OpenSceneGraph O OpenSceneGraph, vulgo OSG, foi inicialmente criado por Don Burns em 1998 de modo a poder executar um simulador de asa delta, originalmente desenvolvido para o sistema operativo IRIX da SGI sobre o Performer, num PC com Linux. um grafo de cena C++ multiplataforma que tenta utilizar os conceitos de padres de desenho e aproveitar as funcionalidades da STL do ANSI C++. No possui suporte funcional para aglomerados. De modo a suportar um ambiente do tipo de um aglomerado pode-se recorrer ao auxlio do Chromium ou VRJuggler. Eventualmente cresceu e atraiu uma comunidade de desenvolvimento. O aumento da procura e interesse nesta soluo levou um dos autores, Robert Osfield, a criar

Possui suporte base para hierarquias de volumes envolventes, remoo de objectos fora do volume de visualizao, impostores, LOD, paginao, e portais. fcil de personalizar o desenho de objectos atravs da redefinio do mtodo de desenho. O processamento no OpenScenegraph possui trs fases. Update, Cull e por fim Draw (ver Figura 6). Na fase de Update actualizada a cena. Nesta fase podem, por exemplo, ser executadas simulaes de fsica ou efectuados movimentos de objectos dinmicos. Na fase de Cull efectuada a remoo de primitivas que esto fora do volume de visualizao ou so muito pequenas (de dimenso inferior a um pixel). Por fim efectuada a fase de Draw e a cena desenhada.

Figura 6: Processamento do OpenSceneGraph

A plataforma base contm vrias bibliotecas. Exemplos: osg Biblioteca para o grafo de cena. osgUtil Biblioteca utilitria com funcionalidades como triangulao de Delaunay, clculo do ponto de interseco de um raio com a cena, converso de geometria para strips de tringulos, etc. osgDB Biblioteca que permite a leitura e escrita de grafos de cena. osgParticle Biblioteca que possui suporte base para partculas de fogo, chuva, exploses, etc. A biblioteca osg do OpenSceneGraph possui vrias classes auxiliares para gesto de memria (alocao de memria com contagem de referncias e smart pointers) e operaes matemticas (operaes de vectores a duas, trs e quatro dimenses, quaternies, operaes para matrizes, converso de ngulos em graus de e para radianos, etc). 5. PLATAFORMA DE SUPORTE Descrevem-se, em seguida, as opes tomadas quanto plataforma de software para suporte aplicao.

73

5.1 Sistema grfico De entre os sistemas grficos analisados consideram-se as seguintes opes como alternativas credveis, tendo sido testadas por diversos projectos bem sucedidos, para efectuar visualizao num aglomerado: Chromium OpenSG VR Juggler + OpenSG VR Juggler + OpenSceneGraph Tendo em conta o que se sabe, sobre a previamente mencionada arquitectura, destas solues espera-se priori que: O Chromium tenha problemas de desempenho em cenas com muitas primitivas. No possui grafo de cena, transmite primitivas a cada imagem, a largura de banda Ethernet a 1000Mbps que se tenciona utilizar ser usada por seis ns grficos com duas placas grficas cada. Para alm disto, as suas funcionalidades so basicamente um subconjunto das do OpenGL, existir trabalho adicional a implementar funcionalidades tais como remoo de primitivas fora do volume de visualizao. Ou usar um sistema grfico extra de alto nvel sobre o Chromium que contenha essas funcionalidades e seja compatvel com o Chromium. Como o OpenSG, OpenSceneGraph ou outro grafo de cena. O OpenSG usa menos largura de banda que o Chromium. Tambm possui uma gama de funcionalidades mais rica para o programador. Em caso de geometria dinmica na cena, como gua em movimento, destruio de partes da cena ir haver transmisso de geometria que ir congestionar a rede. As solues com VR Juggler possuem suporte para diversos dispositivos de entrada. Como usam o modelo mestre-escravo tero um ritmo de visualizao mais consistente visto que no ser transmitida geometria pela rede que leve a redues do desempenho. A aplicao executada em todos os ns, cada um tem a base de dados da cena completa. Apenas sero transmitidos dados posicionais e outra informao reduzida, o mnimo essencial para sincronizar os diversos ns. O modelo cliente-servidor no Chromium e OpenSG leva a menos problemas de sincronizao dos dados j que a aplicao executada numa s mquina. J nas solues com VR Juggler que usam o modelo mestre-escravo ser necessrio ter mais cuidado na sincronizao das aplicaes dos vrios ns. Podem-se separar estas quatro alternativas, de grosso modo, em trs grupos de acordo com o modo como a base de dados da cena e a geometria transmitida durante a execuo da aplicao: 1. Geometria esttica e dinmica transmitida imagem a imagem: Chromium

2.

Geometria dinmica transmitida imagem a imagem: OpenSG Nenhuma transmisso de geometria em tempo de execuo: VRJuggler + OpenSG, VRJuggler + OpenSceneGraph

3.

O artigo de Staadt et al [Staadt03] testa precisamente solues nestes trs grupos. O sistema testado uma Wall 2x2 com quatro ns servidores (ou escravos), cada n com uma placa grfica ligada a um projector. Existe um n cliente (ou mestre) adicional que executa a aplicao. Os ns esto ligados a um switch Ethernet a 100 Mbps. O sistema para o Lousal, ainda por adquirir, possuir 10x mais largura de banda, contudo tambm possuir 4x mais placas grficas com um desempenho mais elevado a uma resoluo superior. Espera-se que estes resultados tenham um bom correlacionamento com os do sistema para o Lousal. De modo a eliminar diferenas de desempenho a carregar modelos, e outras que pudessem causar perturbao nos resultados, Staadt et al utilizaram OpenSG sobre Chromium, OpenSG, e OpenSG sobre VR Juggler. Os testes de cenas, com geometria esttica, consistiram em visualizar modelos com diferentes nveis de complexi-dade, e efectuar translaes e rotaes destes no espao da Wall. Estes testes permitem determinar problemas de sincronizao entre ns, balanceamento de carga no rendering, distribuio da geometria, impacto de objectos posicionados na fronteira entre crans. A soluo Chromium acabou por ter um ritmo de visualizao muito reduzido em comparao com as solues OpenSG e VR Juggler. Isto deve-se ao elevado trfego de rede gerado pelo Chromium. Mesmo com o modelo esttico, se as primitivas ao serem enviadas no estiverem organizadas por proximidade, o buffering do Chromium no eficaz. O VR Juggler demora mais tempo at estabelecer a sincronizao inicial para a primeira imagem que o Open SG e em especial o Chromium que no tem de efectuar sincronizao entre ns, contudo as diferenas de desempenho em todos os outros testes, durante a execuo da aplicao, so evidentes. O Chromium no consegue obter ritmos de visualizao interactivos a mais de 25 imagens por segundo para muitas das cenas. As solues OpenSG e VR Juggler so boas para cenas com geometria complexa como as cenas que se desejam visualizar para o Lousal. O Chromium apenas pode ser usado em cenas simples ou existe muita largura de banda disponvel. Testes independentes efectuados pelo Srgio Miguel e pela Dora Rita [Cabrita06] na LEMeWall do Tagus [Arajo05] confirmam a grande diferena de desempenho entre o Chromium e as outras solues com menos requisitos de largura de banda.

74

Em cenas dinmicas o VR Juggler possui um desempenho superior ao OpenSG. Uma vez mais a soluo vencedora em termos de desempenho aquela que usa menos recursos de rede. A soluo que usa VR Juggler no necessita de enviar geometria pela rede, virtude do seu modelo mestre escravo, e ganha estes testes. Tendo seleccionado o uso do VR Juggler, devido ao seu menor uso de largura de banda, resta decidir que grafo de cena usar. O OpenSceneGraph 1.2, disponvel na data de incio do trabalho, possui funcionalidades de remoo de primitivas no visveis mais completo que a ltima verso estvel do OpenSG 1.6 ento disponvel. Tambm possui mais funcionalidades como sistemas de partculas. O facto de muitos dos membros de equipa, nomeadamente no ISCTE, possurem prtica no uso do OpenSceneGraph tambm dever facilitar a curva de aprendizagem e ajudar a reduzir o prazo de desenvolvimento. 5.2 Arquitectura da aplicao A aplicao (ver Figuras 7, 8) utiliza diversos componentes sobre uma plataforma Microsoft Windows.
Figura 8: Plataforma de suporte

Tambm foram utilizados outros componentes de apoio, como uma implementao da API de POSIX Threads para a plataforma Windows, e a implementao MPICH2 da API de comunicaes por mensagem para aglomerado MPI. A implementao do suporte de comunicaes bastante elaborada, merecedora de um artigo por si s, portanto fora do mbito deste artigo. 5.3 Edio de mapas Para a edio de mapas de cena da aplicao utilizada a ferramenta GtkRadiant (ver Figura 9). Esta conhecida pela comunidade de jogos Quake III, e foi configurada para os fins da plataforma desenvolvida. A ferramenta suporta a leitura ficheiros de formato .map. Os modelos 3D tm sido concebidos na aplicao 3ds Max.

Figura 7: Aplicao em modo de projeco nica (OsgApp.exe)

Segue-se uma breve descrio de alguns destes componentes: VR Juggler Utilizado para a configurao dos volumes de visualizao. OpenSceneGraph (inclui osgFX, osgParticle) Grafo de cena. Cal3D e OsgCal Bibliotecas para a animao de personagens. AGEIA PhysX Biblioteca para efeitos de fsica, como colises entre personagem, objectos e a cena. Suporta objectos estticos e dinmicos. FMOD Bibliotecas usada para o udio espacial 3D. Lua e OsgLua Bibliotecas para a linguagem de scripting.

Figura 9: Editor de mapas GtkRadiant

6. TCNICAS DE ACELERAO Pretende-se visualizar cenas complexas 3D com um nmero elevado de tringulos nos modelos. De modo a no saturar a placa grfica com a geometria da cena, sero utilizadas tcnicas que evitem enviar geometria que no se ir visualizar (i.e. tcnicas de ocluso) e, se necessrio, tcnicas que simplifiquem a geometria da cena (i.e. tcnicas de nvel de detalhe). Tambm ser feito processamento de efeitos na placa grfica, em alternativa ao CPU, recorrendo a shaders. 6.1 Tcnicas de ocluso As APIs grficas utilizadas hoje em dia, como o OpenGL [Woo03], j implementam remoo de superfcies ocultas. Basicamente, numa malha fechada, os polgonos, cuja face no est orientada na direco da cmara, no so processados sendo feita a sua rejeio cedo no pipeline de visualizao. A principal limitao desta tcnica, como implementada no OpenGL, que a

75

sua complexidade do algoritmo varia linearmente com o nmero de polgonos na cena. Outra tcnica no enviar os polgonos que esto fora do volume de visualizao [Haines02]. O uso de estructuras de dados auxiliares como as hierarquias de volumes envolventes, Octrees, BSPs ou Kd-trees, permitem trivialmente rejeitar um conjunto de polgonos de uma s vez. Por fim, no enviar os polgonos que esto a ser obscurecidos por outros polgonos. Um exemplo de tcnicas deste tipo o uso de Potentially Visible Sets (PVS) numa BSP para uma cena interior. Deste modo podem ser determinadas quais so as salas adjacentes visveis a partir da sala actual e trivialmente rejeitar aqueles que no so visveis de qualquer posio na sala. Dado que uma mina no subsolo constitui uma cena interior, neste caso, o uso de BSPs com PVS a soluo pretendida. Foi implementada uma soluo tendo por base as BSPs do jogo Quake III. Deste modo foi possvel aproveitar trabalho j feito no compilador de BSP. 6.2 Tcnicas de nvel de detalhe Para um objecto prximo da cmara o utilizador consegue visualizar exaustivamente os polgonos de uma malha. No entanto, se a malha estiver suficientemente afastada, os polgonos diminuem at ficarem do tamanho de pxeis no cran. No limite da distncia a malha representada por um ponto at que por fim desaparece do volume de visualizao. Dado que o utilizador no consegue discernir tanto detalhe a essa distncia, devido aos limites inerentes da resoluo do cran e da sua viso, pode-se substituir uma malha complexa por outra mais simples, ou at por uma placa a duas dimenses [Haines02]. Em princpio sero usadas cenas interiores, em salas de dimenso limitada, com elevado nvel de ocluses. Espera-se que estas tcnicas tenham um impacto mais reduzido no aumento do desempenho nos ambientes fechados. Tenciona-se usar estas tcnicas para objectos ou personagens no interior da cena. Para este efeito foi implementada uma soluo de nvel de detalhe discreto. 6.3 Shaders Utilizando shaders possvel construir imagens complexas atravs da combinao de outras imagens e elementos mais simples. Por exemplo pode-se querer visualizar uma laranja com uma textura rugosa. O efeito de rugosidade da superfcie pode ser simulado utilizando shaders que combinem texturas com a cor, sombras e clares. Os shaders expem funcionalidades dos processadores de vrtices e fragmentos do GPU ao programador. Uma vez que se tenciona utilizar tecnologias baseadas em OpenGL, sobre placas NVIDIA, existem duas opes: Cg [Fernando03] uma linguagem especfica a produtos NVIDIA com sintaxe similar ao C. Funciona para programas OpenGL e DirectX.

GLSL [Kessenich04] uma linguagem similar ao Cg da NVIDIA. Contudo extenso ARB no OpenGL 1.5 e vem standard com o OpenGL 2.0. suportada por outros fornecedores, como a ATI, para alm da j mencionada NVIDIA. A GLSL expe dois pontos do pipeline OpenGL ao programador: processador de vrtices, processador de fragmentos.

Figura 10 gua animada com bump-mapping, reflexes e refraces

De modo a evitar problemas de portabilidade do cdigo desenvolvido no futuro optou-se pela linguagem padro OpenGL GLSL. Deste modo espera-se que seja possvel aplicar o cdigo desenvolvido e o conhecimento ganho em mltiplos sistemas operativos e diverso hardware no futuro. Os shaders so utilizados para implementar certos efeitos grficos. Por exemplo gua em movimento (ver Figura 10), certas funcionalidades das partculas do grafo de cena, texturas volumtricas baseadas em Perlin noise (ver Figura 11), sombras limitadas a objectos especficos da cena.

Figura 11: Detalhe de texturas volumtricas na aplicao

No caso das sombras, dada a complexidade do desenvolvimento de suporte genrico de sombras num motor grfico [Kuehl07], foi feito um backport do suporte de sombras do OpenSceneGraph verso 2.0 para a verso 1.2. Esta verso, lanada posteriormente ao incio do trabalho, possui uma implementao de shadow maps bem como uma pr-implementao incompleta de shadow volumes. Infelizmente foram detectados diversos problemas, durante a fase de prototipagem, no suporte de shadow maps: differenas entre a projeco da luz e da cmara, aliasing, devido resoluo limitada da textura de sombra, problemas de rudo no shadow map quando aplicado a grafos de grande dimenso devido preciso limitada dos valores de Z no Z-buffer. Estes problemas tm sido factores impeditivos para o uso de sombras na globalidade do grafo de cena neste trabalho. Quando a

76

tcnica aplicada a um modelo especfica da cena, e no ao grafo de cena completo, estes problemas so minimizados (ver Figura 12).

[Arajo05] B. R. Arajo, T. Guerreiro, R. Jota, J. A. Jorge, J. M. Pereira: LEMe Wall: Desenvolvendo um Sistema de Multi-Projeco (2005). [Cruz-Neira93] C. Cruz-Neira, D. J. Sandin, T. A. Defanti: Surround-screen projection-based virtual reality: the design and implementation of the CAVE. Proceedings of the 20th annual conference on Computer graphics and interactive techniques (1993). [Staadt03] O. G. Staadt, J. Walker, C. Nuber, e B. Hamann: A Survey and Performance Analysis of Software Platforms for Interactive Cluster-Based MultiScreen Rendering. Eurographics Workshop on Virtual Environments (2003). [Pereira96] J. A. M. Pereira.: Cinerealismo em Arquitecturas Paralelas de Uso Geral. Tese de Doutoramento (1996). [Molnar94] S. Molnar, M. Cox, D. Ellsworth, e H. Fuchs: A Sorting Classification of Parallel Rendering. IEEE Computer Graphics and Applications (1994). [Humphreys02] G. Humphreys, M. Houston, R. NG, R. Frank, S. Ahern, P. Kirchner, E J. T. Klosowski: Chromium: A Stream-Processing Framework for Interactive Rendering on Clusters. SIGGRAPH 2002. [Vo02] G. Vo, J. Behr, D. Reiners and M. Roth: A Multi-thread Safe Foundation for Scene Graphs and its Extension to Clusters. Fourth Eurographics Workshop on Parallel Graphics and Visualization (2002). [Rohlf94] J. Rohlf, J. Helman: IRIS Performer: A High Performance Multiprocessing Toolkit for Real-Time 3D Graphics. 21st International Conference on Computer Graphics and Interactive Techniques. [Schaeffer03] B. Schaeffer, C. Goudeseune: Syzygy: Native PC Cluster VR. Virtual Reality 2003. [Bierbaum03] A. Bierbaum, C. Just, P. Hartling, K. Meinert, A. Baker, C. Cruz-Neira: VR Juggler: A Virtual Platform for Virtual Reality Application Development. Virtual Reality (2001). [Woo03] M. Woo, J. Neider, T. Davis et al: OpenGL Programming Guide, Fourth Edition, AddisonWesley, 2003. [Cabrita06] S. M. E. Cabrita, D. R. M. Esteves: Plataformas de Suporte para Visualizao Interactiva no Sistema Display Wall do Tagus. Trabalho Final de Curso da LEIC no IST (2006). [Haines02] E. Haines, T. A. Mller: Real-Time Rendering, A.K. Peters Ltd., 2002. [Fernando03] R. Fernando, M. Kilgard: The Cg Tutorial. Addison-Wesley, 2003. [Kessenich04] J. Kessenich, D. Baldwin, R. Rost: The Open GL Shading Language. 3Dlabs, 2004. [Kuehl07] B. Kuehl, K. J. Blom, S. Beckhaus: Generation of Shadows in Scene Graph based VR. WSCG 2007.

Figura 12 Sombras baseadas em shadow mapping, aplicadas a um modelo, na aplicao

7. CONCLUSES E TRABALHO FUTURO A construo de um sistema multi-cran com os grficos fornecidos por um aglomerado difcil. Existem diversos obstculos a resolver, do lado da visualizao, como os problemas da sincronizao e do desempenho. Escolheu-se uma soluo envolvendo VR Juggler para distribuio e OpenSceneGraph como grafo de cena. volta desta soluo foi criada uma plataforma de suporte para aplicaes na CAVE-HOLLOWSPACE da Mina do Lousal. Est a ser criado um primeiro contedo para esta plataforma. A plataforma extensvel, podendo ser utilizada para outros contedos. Na execuo deste trabalho foi dada nfase visualizao realista de cenas com elevada complexidade em arquitecturas paralelas. Deste ponto de vista existe muito ainda por fazer. Sombras, inclusiv com penumbras, reflexes, visualizao de modelos 3D com nvel de detalhe contnuo, so exemplos de problemas deixados em aberto. Expera-se abordar estes temas em mais profundidade numa futura tese de doutoramento. 8. AGRADECIMENTOS Agradecemos ao Bruno Arajo e ao Luciano Soares, que j trilharam estes caminhos dos sistemas multi-projector, pela informao disponibilizada. Por fim no podemos esquecer o Rafael Bastos, que orientou a equipa nesta fase final, bem como o Nelson Carvalho, Francisco Pires e Rui Silvestre, sem os quais este no teria sido possvel. 9. REFERNCIAS [Tinoco01] A. Tinoco, A. M. C. Matos, I. M. Ribeiro, M. L. Santos, M. Plcido et al: A Valorizao do Patrimnio Geolgico e Mineiro do Lousal. Congresso Internacional sobre Patrimnio Geolgico e Mineiro, Beja, (Outubro 2001). [Monteiro06] C. Monteiro: Lousal vai ter Centro de Cincia Viva. notcia no jornal regional Setbal na Rede (Agosto 2006). [Stevens96] R. Stevens: The engines that Drive Collaboration. Argonne National Laboratory. (1996).

77

Invent rio Autom tico de Sinais de Tr nsito: um Sistema de a a a Mapeamento M vel o


Lus Paulo Santos Jo o Lus Sobral a Departamento de Inform tica a Universidade do Minho Campus de Gualtar, 4710-057 Braga, Portugal
psantos@di.uminho.pt, jls@di.uminho.pt

Resumo A inventariacao e georeferenciacao do mobili rio urbano e um processo fundamental para entidades respons veis a a pela gest o destas infra-estruturas, fornecendo informacao indispens vel para o apoio a tomada de decis es. a a o ` No entanto, o levantamento e processamento da informacao necess ria para esta inventariacao s o processos a a morosos devido a extens o da malha urbana. A utilizacao de Sistemas de Mapeamento M veis (SMM) permite a o ` acelerar este levantamento, mas a informacao deve ainda ser processada para localizar e identicar os objectos de interesse. Este artigo apresenta uma abordagem baseada em t cnicas de Vis o por Computador, que permite e a automatizar a localizacao e identicacao de mobili rio urbano numa sequ ncia de imagens obtida com um SMM. a e Esta abordagem restringe-se, nesta fase de estudo de viabilidade e prototipagem, a sinalizacao vertical de tr nsito. a ` A principal contribuicao deste artigo consiste na introducao de um novo m todo de localizacao e identicacao de e sinais de tr nsito em ambientes exteriores, baseado na segmentacao pela cor, reconhecimento de formas usando a assinaturas de contornos e identicacao do sinal atrav s de correlacao monocrom tica. Os resultados obtidos e a demonstram uma taxa de sucesso global na ordem dos 75% e um aumento muito signicativo de produtividade na fase de processamento de informacao. Palavras-Chave Vis o por Computador, Segmentacao, Identicacao de Objectos, Sistema de Mapeamento M vel, Georeferenciacao. a o

1. INTRODUCAO A inventariacao e georeferenciacao de mobili rio urbano e a um processo que se reveste da maior import ncia para dia versas entidades, pois permite um maior conhecimento, e logo tomadas de decis o e intervencao mais informadas, de a v rios aspectos do urbanismo. A lista de items passveis de a inventariacao e imensa e limitada apenas pela imaginacao e area de interesse da entidade que realiza o invent rio; a podemos referir, por exemplo, sinalizacao de tr nsito hori a zontal e vertical, tipo de tapete das faixas de rodagem, marcos de correio, caixas de sem foros ou electricidade, etc. a O levantamento da informacao necess ria para proceder a a esta inventariacao e um processo moroso, pois as mal has urbanas cobrem centenas de quil metros, que neceso sitam de ser percorridos cuidadosamente para localizar, identicar e georeferenciar os objectos de interesse. Os Sistemas de Mapeamento M vel (SMM), consistindo em o veculos equipados com c maras de lmar e material de a geo-posicionamento, s o uma opcao comum para proa
Este trabalho foi parcialmente suportado pelo projecto SIGMA SIstema de Georeferenciacao M vel Assistido por imagem, nanciado o pela Ag ncia de Inovacao (POCTI 2.3 / POSI 1.3). e

ceder a este levantamento quando o meio e os objectivos o permitem. Uma vez na posse de sequ ncias de vdeo, e etiquetadas com informacao de geo-posicionamento, e ainda necess rio percorrer estes dados para localizar os a ` objectos de interesse e proceder a sua inventariacao e georeferenciacao. Este processo e tradicionalmente real izado por um operador humano, atrav s de inspeccao vie sual. Este operador visualiza horas de vdeo para detectar os objectos de interesse. Se estes se encontrarem disper sos no vdeo, muito deste tempo e passado sem localizar qualquer evento relevante, com a consequente baixa pro` dutividade e ocorr ncia de erros humanos devidos a fadiga e e ao t dio. e A GEONAV, empresa do ramo dos Sistemas de Informacao Geogr ca, realiza frequentemente trabalhos a desta natureza para entidades encarregues da gest o de a infra-estruturas urbanas, tais como estradas, redes de distribuicao de energia el ctrica, sinalizacao do tr nsito, e a comunicacoes, etc. Confrontada com os problemas de produtividade e erro acima descritos, contactou a Universidade do Minho, no sentido de realizar um prot tipo o que avalie a viabilidade de automatizacao do processo de localizacao e identicacao de items do mobili rio urbano a

79

em sequ ncias de imagens obtidas usando um SMM. Este e artigo apresenta e avalia a abordagem desenvolvida para realizar essa automatizacao. Esta abordagem, baseada em t cnicas de Vis o por Computador, dever resultar num aue a a mento da produtividade dos operadores encarregues desta tarefa. Para efeitos de estudo de viabilidade, o mobili rio a ` urbano em an lise foi restringido a sinalizacao vertical de a tr nsito. No entanto, as opcoes tomadas n o compromea a tem a extens o desta abordagem a outro tipo de objectos a de interesse com caractersticas similares. A deteccao de sinais de tr nsito em exteriores consti a tui um grande desao para a area de Vis o por Coma putador devido ao grande n mero de vari veis n o conu a a troladas, entre as quais se destacam a variabilidade nas condicoes de iluminacao, o estado de conservacao e localizacao dos sinais e as variacoes de escala origi nadas pelas condicoes de captura de imagem. A princi pal contribuicao deste artigo consiste na introducao de um novo m todo de localizacao e identicacao de sinais de e tr nsito em ambientes exteriores, baseado na segmentacao a pela cor, reconhecimento de formas usando assinaturas de contornos e identicacao do sinal atrav s de correlacao e monocrom tica. a A pr xima seccao apresenta uma vis o global do sistema. o a A terceira seccao descreve a abordagem proposta. A avaliacao experimental desta abordagem e feita na seccao seguinte. A ultima seccao apresenta as conclus es obtidas o no nal do projecto. 2. VISAO GLOBAL DO SISTEMA O principal objectivo deste projecto e combinar o potencial de um Sistema de Mapeamento M vel (SMM) com o t cnicas de Vis o por Computador para localizar e classie a car automaticamente items de mobili rio urbano, em para ticular, sinais de tr nsito. O SMM utilizado e uma cara rinha modicada (gura 1), equipada com duas c maras a de vdeo digital, uma unidade de GPS e uma unidade de medicao inercial (IMU). Figura 1. Carrinha modicada utilizada como Sistema Movel de Mapeamento.

ital. Cada imagem do vdeo e etiquetada com o tempo fornecido pelo sistema de GPS para que a posicao e ati tude do veculo possam ser posteriormente determinadas com grande precis o. A integracao dos dados diferenciais a obtidos pelo GPS com os dados fornecidos pela IMU permite medir o posicionamento do veculo com uma precis o a inferior a um metro, ultrapassando assim erros de leitura do GPS devidos a obstrucao do sinal. Efectivamente, em ambientes urbanos, o GPS n o mant m nem uma taxa cona e stante de aquisicao de informacao, nem uma precis o con a stante, devido a m ltiplas obstrucoes do sinal. Os dados u fornecidos pela IMU (atitude e velocidade) tamb m die vergem lentamente, garantindo intervalos de precis o cona hecidos apenas durante um curto intervalo de tempo. Mas com a integracao dos dados de ambos os sensores, re alizada usando um ltro de Kalman [Tom 00], a pree cis o e abilidade do sistema de geoposicionamento aua mentam drasticamente, bem como a taxa de aquisicao da informacao, ultrapassando o 1 Hz possvel com a maio ria dos receptores de GPS. As relacoes entre o sistema de georeferenciacao e o sistema de aquisicao de imagem s o a esquematizadas na gura 2.

Figura 2. Integracao georeferenciacao.

do

sensores

de

As posicoes relativas dos v rios componentes do sistema a mant m-se constantes durante todo o trabalho de campo e e s o cuidadosamente determinadas durante a fase de a calibracao. O sistema de eixos referencial do veculo coin cide com o referencial da IMU e todos os par metros s o a a medidos relativamente a estas coordenadas. De particular import ncia e a determinacao dos par metros intrnsecos a a e extrnsecos das c maras, tais como dist ncia focal, a a posicoes e orientacoes relativas. Estes s o determinados a usando t cnicas de processamento de imagem e calibragem e descritas em [Madeira 05]. Uma vez recolhidos os vdeos da zona a analisar, com as imagens devidamente etiquetadas com a respectiva posicao e orientacao, esta informacao e posteriormente processada para localizar e identicar nas imagens o mobili rio ura bano relevante - no caso em apreciacao, sinalizacao de tr nsito vertical. Este processamento era tipicamente rea alizado por um operador humano, que localizava e classicava os sinais de tr nsito por inspeccao visual, resultando a num processo moroso, dispendioso e sujeito a erros causados por v rios factores humanos, tais como fadiga. O a objectivo do projecto nanciado pela Ag ncia de Inovacao e e descrito neste artigo e precisamente automatizar este processo de localizacao, classicacao e georeferenciacao de sinais de tr nsito presentes em sequ ncias de vdeo. As a e

Para proceder ao levantamento e referenciacao dos sinais de tr nsito existentes numa determinada zona de interesse a a carrinha percorre essa zona, armazenando o vdeo dig

80

t cnicas de Vis o por Computador usadas para atingir este e a objectivo s o descritas em detalhe nas seccoes seguintes. a O resultado deste processo autom tico consiste nos identia cadores dos sinais detectados e respectivas coordenadas no espaco da imagem. Estas s o convertidas em co a ordenadas do mundo, usando o conhecimento sobre os par metros das c maras e explorando o facto de que cada a a objecto de interesse e detectado em v rias imagens conseca utivas (gura 3). A abordagem utilizada parte de um conjunto alargado de coordenadas no espaco da imagem (15 .. 20 imagens) e aplica o m todo dos mnimos quadrados e para satisfazer a condicao de colinearidade [Madeira 05, Wolf 00]. Particularmente importante e o valor esperado da precis o das coordenadas absolutas, nomeadamente a a precis o linear e angular. O sistema de geoposicionamento a atr s descrito apresenta um desvio padr o linear de cerca a a de um metro e um desvio angular inferior a um minuto. A este erro angular deve ainda ser adicionado o erro asso` ciado a seleccao dos pixels no processo de localizacao de objectos de interesse, que depende da dimens o dos pixels a e da dist ncia focal. No geral, o erro linear associado ao a sistema de geoposicionamento e transportado para as coordenadas absolutas, sofrendo ainda uma degradacao adi ` cional devido a resolucao nita da imagem.

classicacao comparacao de regi es com padr es pr o o e denidos com o objectivo de identicar o respectivo conte do. u Este processo autom tico de segmentacao e classicacao a e completamente aut nomo, n o requerendo nenhuma o a intervencao por parte do operador humano. Uma vez que este sistema est orientado para os sinais de tr nsito vera a ticais, uma base de dados contendo pictogramas destes sinais foi analisada, tendo-se concludo que as carac tersticas que mais os distinguem de outros objectos num cen rio urbano s o a cor e a forma. O desenvolvimento a a do sistema foi orientado no sentido de detectar estas caractersticas, dividindo o problema da deteccao em 2 fases: deteccao da cor, caracterstica interna, e deteccao da forma, caracterstica externa. Figura 4. Arvore de deteccao.

Figura 3. Calculo das coordenadas absolutas. 3.1. Segmentacao Baseada na Cor A deteccao autom tica de objectos requer o conhecimento a de um n mero signicativo de caractersticas que disu tingam um objecto de interesse tanto do fundo como de outros objectos presentes na imagem [Yilmaz 06]. Na abordagem que apresentamos estas distincao e baseada na cor das regi es, na sua dimens o e na sua localizacao deno a tro da imagem. A an lise dos v rios pictogramas presentes em sinais de a a tr nsito permitiu concluir que a cor e uma caracterstica a fundamental para localizar sinais dentro de uma imagem. No entanto, o espaco de cor RGB n o e uma boa es a colha para segmentar uma imagem, por v rias raz es: a o os tr s canais RGB est o fortemente correlacionados, as e a condicoes de iluminacao no momento de aquisicao das imagens n o est o sob o controlo do operador (resula a tando em grandes variacoes de lumin ncia) e as cores a dos sinais tendem a degenerar com o tempo e os elementos. O espaco de cor HSI, por outro lado, repre senta diferentes componentes da informacao em cada canal [Arnoul 96, Hibi 96, Piccioli 96], e concentra a informacao dependente da iluminacao no canal I; H apresenta-se as sim pouco correlacionado com I, permitindo uma an lise a da imagem fortemente independente das condicoes de iluminacao no momento da aquisicao dos dados. A segmentacao e particularmente difcil quando regi es o externas aos sinais exibem valores de Hue (canal H) muito semelhantes aos mesmos. Por exemplo, o c u apresenta e um azul apenas ligeiramente mais claro do que alguns

3.

LOCALIZACAO E CLASSIFICACAO TOMATICAS DE SINAIS DE TRANSITO

AU-

A localizacao e classicacao de sinais de tr nsito est di a a vidida em 3 fases: segmentacao baseada na cor seleccao de regi es da o imagem com grande probabilidade de conter sinais, baseada na cor, tamanho e localizacao destas regi es; o deteccao de formas seleccao de regi es com formas o pr -denidas, nomeadamente, crculos, tri ngulos e e a quadrados;

81

sinais, enquanto algumas estradas exibem um azul apenas ligeiramente mais escuro. A saturacao - que quantica a dist ncia entre a cor de cada pixel e o correspondente valor a monocrom tico (branco/cinzento/preto), dependendo de I a - poderia ser usada como mais um classicador para dis tinguir sinais de outros objectos. No entanto, e extremamente sensvel ao rudo, para baixos valores de I (gura 5). Assim, usamos para a segmentacao em regi es, al m do o e Figura 5. Saturacao versus componente cromatico.

Figura 6. Segmentacao Hue/Saturacao ver sus Hue/componente cromatico.

2. regi es com um r cio Altura/Largura superior a um o a limite determinado experimentalmente s o subdivia didas, subentendendo-se que correspondem a v rios a sinais montados no mesmo suporte vertical; 3. regi es com area, altura ou largura inferiores a limites o experimentalmente determinados s o eliminadas; a canal H, o componente crom tico Ax,y [Escalera 04], cala culado a partir dos valores RGB de acordo com a f rmula o 1. Os intervalos de valores apresentados na tabela 1 s o a utilizados para classicar um pixel como pertencendo, ou n o, a um sinal vermelho ou azul. Uma operacao de a binarizacao e aplicada a todos os pontos da imagem, de terminando se pertencem ou n o a uma regi o candidata a a a ser classicada como um sinal. A gura 6 apresenta um exemplo dos resultados obtidos. Lx,y li Ax,y = = = 0.3 Rx,y + 0.6 Gx,y + 0.1 Bx,y |Lx,y ix,y | , i R, G, B (1) Lx,y max(lR , lG , lB ) Hue [0 .. 15] [200 .. 255] [135 .. 200] Ax,y 32 84 4. regi es totalmente contidas dentro de outras regi es o o s o tamb m eliminadas para evitar m ltiplas rea e u fer ncias ao mesmo sinal. e A gura 7 apresenta exemplos de cada um destes crit rios e aplicados a uma imagem e a gura 8 apresenta o resultado nal obtido ap s a ltragem. Para permitir a o comparacao com os padr es armazenados na base de dados o estas regi es s o redimensionadas e armazenadas como o a uma imagem de 64 por 64 pontos. Figura 7. Imagem original e ltragem.

Sinais vermelhos Sinais azuis

Tabela 1. Valores de Hue e componente cromatico usados na segmentacao A segmentacao baseada na cor resulta ainda num n mero u elevado de regi es, sendo que uma fraccao signicativa o n o corresponde a sinais de tr nsito. Um processo de la a tragem adicional baseado em caractersticas espaciais, tais como a dimens o e localizacao na imagem destas regi es, a o permite renar estes resultados. Este processo de ltragem inclui quatro crit rios de eliminacao de regi es: e o 1. regi es conectadas com os limites da imagem s o o a eliminadas, pois representam ou rudo ou objectos que est o a entrar (ou sair) da area de visualizacao e a ser o (ter o sido) detectados em imagens posteriores a a (respectivamente, anteriores);

Figura 8. Resultado da segmentacao por cor e ltragem.

3.2. Deteccao de Formas Cada regi o e classicada de acordo com a sua forma, a sendo distinguidas quatro das formas mais comuns nos

82

sinais de tr nsito: circular, quadrangular, triangular e tria angular invertida (gura 4). A deteccao das formas e feita usando um classicador baseado em assinaturas de contornos. Este classicador baseia-se em r() que representa a dist ncia do contorno ao centro da regi o como uma a a funcao unidimensional do angulo de azimute . As assi naturas do contorno s o independentes da posicao, mas dea pendentes da rotacao e escala. Uma vez que o sistema aqui descrito processa sinalizacao vertical a rotacao n o e con a siderada, sendo que o angulo = 0 representa a direccao vertical. Alteracoes de escala s o compensadas normal a izando a dimens o das regi es (64x64). O classicador e a o avaliado para um n mero n de angulos empiricamente deu terminado como n = x2 + y 2 360 = n sendo x e y a dimens o em pixels da regi o. A gura a a 9 apresenta a assinatura de contorno de um sinal triangular com n=90, sendo facilmente identic veis os 3 a v rtices (m ximos de r()) e os 3 pontos m dios dos lae a e dos (minmos de r()). Figura 9. Assinatura de contorno de um sinal triangular.

3.3. Classicacao A classicacao autom tica de sinais de tr nsito e dicul a a tada por um n mero de factores inerentes ao pr prio probu o lema: existe um elevado n mero de sinais diferentes e u para cada sinal existem diferentes pictogramas [Paclik 99], os sinais podem estar parcialmente ocludidos, existem grandes variacoes nas condicoes de iluminacao no mo mento da aquisicao dos dados e a escala varia de imagem para imagem. Os dois ultimos problemas foram abordados nas seccoes anteriores. O problema da oclus o n o e a a tratado directamente nesta abordagem. A diversidade de sinais e pictogramas associados implica uma base de dados alargada, que contem todos os pictogramas a reconhecer como sinais de tr nsito. Outras abordagens limitam a drasticamente o conjunto de sinais a reconhecer ou usam sistemas de reconhecimento de padr es baseados em redes o neuronais [Aoyagi 96]; esta ultima opcao requer uma base de dados enorme para a fase de treino e aprendizagem da rede. A abordagem seguida no sistema aqui descrito utiliza a correlacao monocrom tica normalizada [Betke 95, a Escalera 04, Miura 02], n o requerendo uma fase de aprena dizagem. A correlacao monocrom tica normalizada e dada a por C=
x,y (Rx,y

R)(Sx,y S)
2 x,y (Sx,y S)

2 x,y (Rx,y R)

(3)

a onde Rx,y e Sx,y representam os pontos da regi o candidata e do padr o do sinal, respectivamente, e a R= 1 N Rx,y
x,y

, S=

1 N

Sx,y
x,y

sendo N o n mero de pixels na regi o normalizada (N = u a 64 64, neste caso particular). A assinatura de contorno e calculada para cada regi o rea sultante do processo de segmentacao pela cor e comparada com as assinaturas das formas padr o. Esta comparacao a consiste no c lculo de uma m trica de similaridade, , a e denida como o desvio padr o entre as assinaturas da a regi o e de cada uma das formas padr o: a a 1 = n
n

||Ri Fi | |
i=1

(2)

a onde Ri e Fi s o, respectivamente, os valores das assinaturas da regi o e da forma padr o no ponto i e a a = 1 n


n

Uma vez que os padr es armazenados na base de dados o est o subdivididos por cor e forma (gura 4), a correlacao a C para cada regi o candidata e calculada apenas para aquea ` les padr es que correspondem a mesma classe, permitindo o assim reduzir o n mero de sinais padr o candidatos. No u a entanto, para evitar erros de correlacao causados por pe quenas translacoes, cada candidato e deslocado horizontal e verticalmente 2 pixels, resultando em 25 correlacoes por sinal padr o candidato. O sinal padr o que exibir o a a ` menor valor de C e seleccionado como correspondendo a regi o em an lise, desde que C seja menor que um limite a a empiricamente determinado. 4. RESULTADOS O sistema proposto foi submetido a testes de campo para validar o seu grau de sucesso, sendo utilizadas imagens recolhidas em condicoes reais de utilizacao. Estes testes foram divididos em tr s partes: e deteccao baseada na cor 172 imagens com uma resolucao de 320x240 pontos, contendo um total de

|Ri Fi |
i=1

e a m dia aritm tica da diferenca ponto a ponto dos valores e e das assinaturas. Para cada regi o s o calculadas quatro m tricas de similara a e idade, uma para cada forma padr o, sendo a regi o classia a cada como a forma padr o que exibir o menor , desde que a menor do que um limite k determinado empiricamente.

83

238 sinais de tr nsito, foram submetidas ao processo a de deteccao baseado na cor. A tabela 2 sumaria as caractersticas deste conjunto de dados; classicacao baseada na forma as regi es candidatas o detectadas no item anterior foram submetidas ao processo de deteccao e classicacao de forma; identicacao este ultimo passo foi aplicado ao conjunto nal de dados para aferir a capacidade de reconhecimento e identicacao de sinais do sistema. Formas Circular Triangular Quadrangular Triangular Inv. Total Quantidade 132 43 32 31 238 Percentagem 55, 4% 18, 2% 13, 6% 12, 8% 100, 0%

N o detectados a Ligados a outro sinal Ligados ao fundo Fragmentados Total n o detectados a Total detectados (#) Total detectados (%)

2 3 2 7 231 97, 06%

Tabela 4. Resultados - deteccao baseada na cor

de acordo com a m trica de similaridade , foi expere imentalmente determinado como 2, 43. As 231 regi es o identicadas no passo anterior foram submetidas a este processo de classicacao, sendo os resultados apresenta dos na tabela 5. A taxa de sucesso e de 90, 5%, valor considerado satisfat rio por todos os elementos do cons rcio. o o Regi es analisadas o Eliminadas pelo classicador Falsos positivos Erro na forma detectada Classicados correctamente (#) Classicados correctamente (%) 231 12 3 7 209 90, 5%

Tabela 2. Conjunto de dados utilizados na vericacao experimental

4.1. Deteccao Baseada na Cor Esta operacao segmenta a imagem em regi es que apre o sentam uma cor uniforme de acordo com os procedimentos descritos na seccao 3.1 e os intervalos de valor apresenta dos na tabela 1. Cada uma destas regi es e depois sujeita o ao processo de ltragem descrito na mesma seccao, para metrizado com valores determinados experimentalmente e apresentados na tabela 3. Descricao Area Altura Largura Altura/Largura Observacao Rejeitar se Rejeitar se Rejeitar se Subdividir se Valor < 64 < 16 < 16 > 1, 46

Tabela 5. Resultados - classicacao baseada na forma 4.3. Reconhecimento O reconhecimento de sinais foi validado usando uma base de dados com 38 pictogramas, classicados de acordo com a sua cor e forma e devidamente normalizados para 64x64 pontos (gura 10). O reconhecimento e efectuado usando a correlacao monocrom tica normalizada, entre a regi o a a candidata e o pictograma padr o. A tabela 6 apresenta os a resultados obtidos. A taxa de sucesso de 82, 8% indicia que este processo necessita de anamento, particularmente ` no que respeita a taxa de sinais erradamente reconhecidos. Figura 10. Pictogramas de sinais presentes na base de dados.

Tabela 3. Parametros usados no processo de ltragem

A tabela 4 apresenta os resultados obtidos nesta fase. O processo de deteccao falha em 7 casos, devido a sinais que est o ligados a outros ou ao fundo, n o tendo sido possvel a a isol -los, e a situacoes em que o processo de segmentacao a pela cor resulta em fragmentacao da regi o efectivamente a correspondente ao sinal de tr nsito. A taxa de sucesso e de a 97, 06%, o que foi considerado altamente satisfat rio por o todos os elementos do cons rcio. o 4.2. Classicacao da Forma Esta fase tem como objectivos eliminar regi es identio cadas no passo anterior mas que n o correspondem a quala quer forma padr o e classicar as restantes de acordo com a a sua forma. O limite m ximo, k, aceit vel para que a a uma regi o seja classic vel como uma das formas padr o, a a a

84

Sinais analisados Atribudos a sinais errados Correctamente reconhecidos (#) Correctamente reconhecidos (%) Taxa de insucesso (%)

209 36 173 82, 8% 17, 2%

situam os restantes 58 sinais s o marcadas para refer ncia a e do operador da GEONAV. O ganho em tempo de proces samento dos dados, e consequentemente no custo, e signicativo. O trabalho futuro concentrar-se-` no aumento da roa ` bustez da abordagem, relativamente quer as condicoes de iluminacao no momento de captura das imagens, quer ao processo de identicacao dos sinais, que e aquele que apre senta a taxa de sucesso mais baixa. Apesar do desempenho do sistema - entendido como tempo de processamento m dio de cada imagem - n o ter sido uma preocupacao e a nesta fase de prototipagem, as t cnicas propostas prestame se a v rias optimizacoes que permitem prever um desema penho pr ximo do interactivo. o Referencias [Aoyagi 96] Y. Aoyagi e T. Asakura. A study on trafc sign recognition in scene image using genetic algorithms and neural networks. Em 22nd IEEE Int. Conf. Industrial Electronics, Control, and Instrumentation, Taiwan, 1996. [Arnoul 96] P. Arnoul, M. Viala, J. Guerin, e M. Mergy. Trafc signs localisation for highways inventory from a video camera on board a moving collection van. Em IEEE Intelligent Vehicles Symp., Tokyo, Japan, 1996. M. Betke e N. Makris. Fast object recognition in noisy images using simulated annealing. Em 5th IEEE Int. Conf. Computer Vision, Cambridge, USA, 1995.

Tabela 6. Resultados - reconhecimento de sinais

5. CONCLUSOES Apresentou-se um sistema de localizacao e identicacao autom ticas de mobili rio urbano, recorrendo a t cnicas de a a e Vis o por Computador, cujo principal objectivo e aumentar a a produtividade na inventariacao e georeferenciacao destes ` objectos. O trabalho de campo, correspondente a aquisicao de imagens digitais da zona a inventariar, e realizado usando um Sistema de Mapeamento M vel, constitudo por o uma carrinha equipada com duas c maras de vdeo digia tal e um sistema de geo-posicionamento. Estes vdeos de vem posteriormente ser processados para localizar, identicar e geoposicionar os objectos de interesse - neste caso, sinalizacao vertical de tr nsito. O processo tradicional con a sistia na inspeccao visual de toda a sequ ncia de imagens e por um operador humano. O sistema aqui proposto permite automatizar esta fase, reduzindo a duracao, taxa de erro e custo do processo. A abordagem seguida consiste em usar a cor e a forma para detectar sinais e realizar a segmentacao da imagem, seguido de um processo de correlacao monocrom tica nor a malizada para identicar cada um dos sinais. A validacao experimental, realizada com um conjunto de 172 imagens recolhidas em situacoes reais e contendo um total de 238 sinais, produziu resultados encorajadores: as fases de segmentacao pela cor, deteccao de formas e reconheci mento apresentaram taxas de sucesso de 97, 06%, 90, 5% e 82, 8%, respectivamente. Foram devidamente detectados e classicados 173 sinais em 238, representando uma taxa de sucesso global de 72, 7%. Este resultado revelou-se muito encorajador, traduzindo-se num indicador de sucesso do projecto, que visava demonstrar a viabilidade do conceito atrav s do desenvolvimento de uma metodologia e um e prot tipo, e n o produzir um produto acabado. o a Merece especial destaque o ganho de produtividade conseguido no processo de georeferenciacao executado pela GEONAV. Com a automatizacao do processo de localizacao e identicacao dos sinais de tr nsito cerca a de 75% dos sinais s o imediatamente encontrados. Os a restantes, apesar de n o identicados, s o assinalados pela a a aplicacao desenvolvida em conjunto com o trabalho aqui descrito. O operador pode saltar directamente para as imagens assinaladas como passveis de conter um sinal e re alizar a inspeccao visual, sem necessidade de visualizar toda a sequ ncia de imagens. De realcar que a fase de e deteccao por cor detectou 231 sinais em 238. Destes apenas 173 foram identicados, mas as imagens onde se

[Betke 95]

[Escalera 04] A. Escalera, J. Armingol, J. Pastor, e F. Rodrguez. Visual sign information ex traction and identication by deformable models for intelligent vehicles. IEEE Transactions on Intelligent Transportation Systems, 5(2):5768, June 2004. [Hibi 96] T. Hibi. Vision based extraction and recognition of road sign region from natural color image, by using hsl and coordinates transformation. Em 29th Int. Symp. Automotive Technology and Automation, Florence, Italy, 1996.

[Madeira 05] S rgio Madeira, Lusa Bastos, Ant nio e o Sousa, Jo o Sobral, e Lus Paulo Santos. a Automatic trafc signs inventory using a mobile mapping system. Em GISPLANET, Lisbon, Portugal, 2005. [Miura 02] J. Miura, T. Kanda, S. Nakatani, e Y. Shirai. An active vision system for on line trafc sign recognition. IEICE Transactions on Information Systems, E85-D(11), 2002. P. Paclik, J. Novovicova, P. Pudil, e P. Somol. Road sign classication using the

[Paclik 99]

85

laplace kernel classier. Em 11th Scandinavian Conf. on Image Analysis, Greenland, 1999. [Piccioli 96] G. Piccioli, E. Micheli, P. Parodia, e M. Campani. Robust method for road sign detection and recognition. Image Vis. Comput., 14(3):209233, April 1996. [Tom 00] e P. Tom , S. Cunha, e L. Bastos. Evaluation e of a dgps/imu integrated navigation system. Em ION GPS, Salt Lake City, Utah, USA, 2000. P. Wolf e B. Dewitt. Elements of photogrammetry, with applications in GIS, p ginas a 233259. McGraw-Hill, 2000.

[Wolf 00]

[Yilmaz 06] A. Yilmaz, O. Javed, e M. Shah. Object tracking: a survey. ACM Computing Surveys, 38(4), December 2006.

86