Passeio Digital: Um sistema de multiprojeção de baixo custo voltado às aplicações educacionais Fernando Teubl, Olavo Belloc, Mario Nagamura, Marcia Kondo Marcio Cabral, Fabio Doreto, Rodrigo Ferraz, Marcelo Zuffo, Roseli Lopes Laboratório de Sistemas Integráveis (LSI) Escola Politécnica da Universidade de São Paulo {ftf, belloc, nagamura, mkondo, mcabral, fabioldr, rferraz, mkzuffo, roseli}@lsi.usp.br Resumo Este artigo apresenta um sistema imersivo 3D que foi implantado em um Museu na Capital do Estado de São Paulo. Neste artigo serão apresentados os métodos e tecnologias empregados neste projeto, assim como algumas soluções e desafios para construção de sistemas de realidade virtual de alta definição. Este artigo tem como principal objetivo viabilizar a implantação de sistemas imersivos sofisticados em locais com orçamento reduzido. 1. Introdução Sistemas de processamento gráfico e projeção de imagens têm sido muito utilizados em aplicações como jogos, vı́deo conferências, visualizações de imagens médicas, entre muitos outros. Nos últimos anos, os custos de unidades de processamento gráfico e projetores vêm diminuindo, permitindo o seu uso em diversos outros ambientes. Porém, o valor de computadores gráficos e projetores de alto desempenho para aplicações avançadas — onde são exigidos cálculos geométricos complexos e visualização de alta definição, brilho e contraste — continuam muito caros, dificultando a sua implantação fora do ambiente de pesquisa tecnológica. O uso de realidade virtual na área da educação é uma alternativa para o ensino tradicional[27], e permite extrapolar os limites dos materiais didático tradicionais possibilitando, por exemplo, a exploração de lugares virtuais, melhor compreensão da fı́sica e biologia, entre outras[8]. Este artigo apresenta a implantação de um sistema imersivo estereoscópico de alta definição utilizando técnicas de multiprojeção no Museu Catavento Cultural e Educacional[1] — localizado na Capital do Estado de São Paulo — com objetivos educacionais para o público infan- til e juvenil. Uma das metas deste trabalho é estimular a disseminação de sistemas de realidade virtual em museus, escolas, bibliotecas, entre outros, promovendo uma melhor qualidade na educação e aprendizagem. Para reduzir os custos dos sistemas de Realidade Virtual, o artigo propõe a substituição de máquinas monolı́ticas avançadas e projetores complexos por aglomerados de máquinas e projetores convencionais, reduzindo drasticamente o custo dos equipamentos sem comprometer a qualidade final. De acordo com a Lei de Grosch[9], o poder computacional aumenta proporcionalmente ao quadrado do custo. Assim, a tı́tulo exemplificativo, um projetor A com o dobro de linhas e colunas do que outro projetor B, ou seja, com uma resolução quatro vezes maior, deverá apresentar custo muito superior a 4 projetores do tipo B. Considerando que cada projetor B custe N , o projetor A deverá custar (4)2 N = 16N . Desta forma, o custo de um projetor A é 16N 4N = 4 vezes maior do que se fossem usados quatro projetores B. Esta definição também pode ser aplicada para o processamento gráfico, onde um supercomputador monolı́tico pode ser substituı́do por um aglomerado de computadores mais simples, reduzindo o custo do sistema. 2. Trabalhos Correlatos Diversos sistemas de visualização baseados em multiprojeção são estudados e propostos desde a década de 70. Na época, um sistema de simulação de voo utilizando três projetores foi comercializado pela Evans&Sutherland. O sistema era difı́cil de calibrar e tinha o custo elevado. Além do custo elevado dos projetores, o processamento gráfico era gerado por computadores monolı́ticos (e.g. SGI InfiniteReality), com o custo extremamente elevado. Para alinhar os projetores e apresentar uniformidade aparente nas imagens, diversos estudos foram realizados sobre alinhamento de projeção, correção de distorção geométrica e variações fotométricas. Inicialmente, todos os ajustes dos projetores eram mecânicos, e as estruturas eram complexas e difı́ceis de operar, exigindo muito tempo de pessoas especializadas para realizar todos os ajustes de calibração. Perto da virada do século, os custos das placas gráficas começaram a diminuir, e começaram então a surgir os primeiros aglomerados de computadores gráficos, reduzindo o custo por substituir as máquinas monolı́ticas de processamento gráfico de elevado custo por um grupo de máquinas convencionais [32, 23, 18, 25, 24, 26]. Com o uso de aglomerados gráficos, as aplicações se tornaram escaláveis e com uma grande capacidade de processamento gráfico. O uso de multiprojeção ganhou destaque devido a popularização de aglomerados gráficos, mas o seu uso ainda era complexo e caro devido ao valor dos projetores, telas e estruturas. No inı́cio deste século, o custo dos projetores começaram a diminuir de forma significativa, e diversas pesquisas sobre o uso de multiprojeção surgiram em diferentes grupos, todos buscando flexibilidade e alta qualidade visual[6, 19, 4, 3, 31, 30, 11, 5, 28, 29]. A maioria dos sistemas de multiprojeção encontrados na literatura propõe configurações como: uma única tela plana frontal de alta definição[13, 21], duas telas perpendiculares (quinas)[2], telas panorâmicas curvadas[10] e telas com superfı́cies arbitrárias[20]. Trabalhos mais recentes publicados na área de multiprojeção propõem formas de correção de brilho e cor interprojetores e intraprojetores[16, 10]. Estes trabalhos buscam homogeneizar os tons na imagem composta pelos projetores. A maior parte dos trabalhos sobre multiprojeção e realidade virtual é voltada para fins de pesquisas tecnológicas, e não sociais e educacionais. Este artigo apresenta um sistema de realidade virtual baseado em multiprojeção formado por três telas planas. Embora o uso de estereoscopia em multiprojeção já tenha sido proposto por alguns autores[14], este trabalho foca na implantação de um sistema de realidade virtual multiprojetor estereoscópico de baixo custo. 2.1. Calibração de Projetores O Sistema de Multiprojeção — em sua construção mais simples — é composto por um grupo de projetores organizados em forma de grade fixados em prateleiras ou outras estruturas. Geralmente, cada computador gráfico alimenta um ou dois projetores, e é coordenado por um gerenciador centralizado. Cada computador gráfico é conectado a um ou mais projetores, e cada projetor contribui com uma porção da imagem de forma sincronizada, onde todas as máquinas encontram-se interconectadas por uma rede dedicada. Em um sistema de Multiprojeção, cada projetor é disposto para colaborar com apenas uma porção da imagem final. Para proporcionar qualidade visual, é fundamental que a imagem projetada por cada projetor esteja alinhada com os seus vizinhos, ou seja, a área de transição entre um projetor e outro adjacente seja contı́nua. Na literatura, há basicamente dois métodos para atingir o alinhamento dos projetores: o método mecânico e o automático. 2.1.1. Alinhamento Mecânico O alinhamento mecânico consiste em alinhar os projetores fisicamente para prover uma imagem contı́nua e uniforme. Comumente, os projetores são fixados em suportes reguláveis de alta precisão, permitindo o ajuste fino individual de cada projetor. Geralmente, o uso de prateleiras com suportes para cada projetor com três graus de liberdade são utilizados[11]. A vantagem do alinhamento mecânico é que não há necessidade de nenhum software para o seu uso. Porém, o processo de alinhamento é demorado e complexo. Além disso, não é possı́vel aplicar nenhum tipo de correção para telas irregulares ou correção para projetores cuja lente distorce as imagens projetadas, e as estruturas geralmente são grandes e pesadas, dificultando o seu transporte. 2.1.2. Alinhamento Automático O alinhamento automático permite realizar os ajustes dos projetores sem utilizar recursos sofisticados ou estruturas complexas. O sistema consiste em corrigir as imagens de cada projetor em tempo real, ou seja, cada imagem gerada por cada projetor sofre alterações de forma que a projeção final pareça contı́nua e única. Este ajuste da imagem é conhecido como correção geométrica (Geometric Correction), e é calculada por um software especial de calibração que utiliza uma ou mais câmeras para obter padrões de imagens dos projetores, e assim, identificar a posição precisa de cada um em relação à tela. Após a captura das posições de cada projetor, o sistema armazena as informações geométricas. Isto é conhecido como registro geométrico (Geometric Registration). Após o registro geométrico dos projetores, a correção geométrica pode ser aplicada de duas formas: por software ou por um hardware dedicado. Por software, a imagem deve ser ajustada após cada quadro pelo próprio computador que gerou a imagem. Muitas vezes, a aplicação é modificada para chamar a função de correção após a geração de cada quadro. Para evitar modificações na aplicação, o uso de bibliotecas como o Chromium[12] pode interceptar e modificar as chamadas OpenGL para executar os ajustes necessários, sem a necessidade de alterar o código original da aplicação. Alternativamente, um hardware dedicado — conectado na saı́da de vı́deo do computador — aplica as alterações necessárias de acordo com o registro geométrico para o projetor correspondente, e então envia o sinal modificado para o projetor. A maior vantagem do uso de um hardware dedicado é que não é necessário nenhum software especial nos computadores gráficos, reduzindo o uso de processamento, além de permitir que qualquer dispositivo utilize o sistema de multiprojeção, como, por exemplo, vı́deo games. Em uma calibração automática de multiprojeção, duas categorias de registro geométrico podem ser adotadas: modelos paramétricos e não-paramétricos[15]. Não-Paramétricos: A técnica de registro nãoparamétrico não considera a geometria da tela. Todos os projetores são alinhados unicamente do ponto de vista da câmera, ou seja, existe uma relação Pn (xn , yn ) → C(u, v), onde Pn é um Projetor n e C é a câmera. Paramétricos: A técnica de registro paramétrico é utilizada quando a tela é parametrizada através de uma determinada função. Todos os projetores são mapeados para a coordenada de tela, ou seja, existe uma função tal que Pn (xn , yn ) → C(u, v) → D(s, t), onde D é a coordenada da tela parametrizada. A figura 1 sumariza os sistemas de calibração paramétricos e não paramétricos. Figura 1. Calibração Paramétrica e Não Paramétrica O grande benefı́cio de parametrizar a tela é que a imagem fica uniforme, enquanto na abordagem não paramétrica, a imagem só é uniforme para o ponto de vista da câmera. Desta forma, se existirem diversos observadores ao redor da tela, os observadores mais afastados da linha da câmera em relação à tela poderão observar uma distorção na imagem, conforme apresentado na figura 1[15]. O sistema apresentado neste artigo implementa a calibração paramétrica, porém não utiliza câmeras. Ao invés disso, o usuário seleciona manualmente todos os limites da tela através de um cursor, e então marca as áreas de intersecção entre os projetores. Isto é necessário para alinhar os projetores laterais com os projetores frontais nas três telas, utilizando exatamente todo o espaço de projeção. Caso fosse utilizado câmera, seria necessário incluir marcadores em todas as bordas da tela, e utilizar uma câmera de alta definição para detectar estes marcadores precisamente, encarecendo o sistema. 3. Sistema de Projeção 3.1. Infraestrutura O Sistema de Projeção Imersivo 3D do Catavento é composto por três telas com dimensões: 3,5m × 2,4m (tela lateral esquerda), 6m × 2,4m (tela frontal) e 3,5m × 2,4m (tela lateral direita), totalizando 31,2m2 de projeção. Foram utilizados dois projetores para cada tela lateral, e quatro projetores para a tela frontal, totalizando oito projetores. Para diminuir a distância de tiro dos projetores, cada aparelho foi equipado com lentes 0.8:1 (Short Throw). A figura 2 esquematiza a sala com as suas dimensões. Figura 2. Sala de Projeção Para prover a sensação de estereoscopia, foi adotada a tecnologia de estereoscopia passiva com lentes polarizadas. Assim, metade dos projetores são responsáveis por projetar imagens para o olho esquerdo, enquanto a outra metade dos projetores são responsáveis por projetar imagens para o olho direito. A estereoscopia passiva foi adotada por dois motivos: 1. Possibilitar o uso de projetores convencionais em vez de projetores com alta taxa de atualização, diminuindo assim o custo dos equipamentos; 2. Por tratar-se de um museu com expectativa de alta frequência de visitação, os óculos de estereoscopia ativa demandariam um investimento e manutenção muito superior aos óculos polarizantes, implementados na estereoscopia passiva. Cada par de projetores contém dois filtros polarizantes para separar a projeção de cada olho, e cada dupla de projetores é fixada em um suporte denominado “Totem de Projeção”. Cada Totem de Projeção é equipado com um computador gráfico. No sistema, existem quatro Totens de Projeção, conforme apresentado na figura 2. A figura 3 apresenta o Totem de Projeção com um par de projetores e seus respectivos filtros polarizantes. Figura 4. Tela e Projetores maior custo na construção de sistemas de realidade virtual com estereoscopia passiva baseado em polarização. Apesar disso, mesmo usando telas com custo elevado, o uso de estereoscopia passiva apresenta um custo inferior à estereoscopia ativa, devido aos valores dos projetores. O Totem de Interação controla o conteúdo da aplicação. Localizado dentro da área de projeção (área do público, ver figura 2), o Totem de Interação é conectado ao gerenciador por uma rede sem fio, e disponibiliza para os usuários uma interface simples com tela sensı́vel ao toque (touch screen). A figura 5 apresenta o Totem de Interação. Figura 3. Totem de Projeção Para coordenar todos os Totens de Projeção, um quinto computador gerencia e sincroniza todos os demais. Esta máquina também é responsável por reproduzir o som, conectado a um amplificador de áudio 5.1. As telas são rı́gidas, formada por placas de acrı́licos e uma pelı́cula especial de projeção. A pelı́cula tem um ganho próximo de 1.0, ou seja, adequado para ambientes com múltiplos pontos de vista: em telas com ganho superior a 1.0, existe um ganho de brilho em regiões diretamente a frente e perpendicular à tela, porém perde muito brilho em pontos mais afastados desta área, proporcionando uma imagem com brilhos diferentes de acordo com a região da tela e posição dos observadores. Além disso, a pelı́cula não modifica ou perde a polarização da projeção, proporcionando qualidade na sensação de estereoscopia. A figura 4 apresenta a tela e os filtros dos projetores. As telas de retro-projeção (back projection) que não prejudicam a polarização são muito caras, e poucos estudos abordam este tipo de tela visando o baixo custo. Proporcionalmente, a tela de projeção é um dos componentes de Figura 5. Totem de Interação 3.2. Software O software de visualização desenvolvido para o projeto foi planejado para reproduzir vı́deos estereoscópicos de forma distribuı́da, mantendo o conteúdo apresentado em cada projetor coerente e sincronizado, além de ser o responsável por ajustar as imagens do vı́deo, com o objetivo de corrigir eventuais erros provenientes do mau alinhamento dos projetores e diferenças intrı́nsecas de brilho e cor existentes entre os diversos aparelhos de projeção que compõem o sistema. O software de visualização pode operar em dois modos: calibração e reprodução de vı́deo. No modo calibração, o software detecta imperfeições nas regiões da tela onde existem intersecções de projetores. Atualmente, este procedimento de calibração é realizado com o auxı́lio do usuário, que através de um joystick, indica para o software de calibração as regiões iluminadas por cada aparelho de projeção. Através dos parâmetros de calibração, o software de visualização consegue distorcer as imagens originais do vı́deo, para que quando as mesmas sejam projetadas na superfı́cie da tela, o observador não seja capaz de perceber os erros de alinhamento dos projetores e eventuais discrepâncias na tonalidade das cores e na intensidade do brilho. No modo reprodução de vı́deo, o software utiliza os parâmetros obtidos no processo de calibração (Registro Geométrico) para corrigir as imagens que serão projetadas na tela. Embora cada projetor tenha o seu próprio arquivo de vı́deo, o software de visualização precisa garantir o sincronismo para evitar descontinuidades temporais nas regiões adjacentes, onde as imagens de um determinado aparelho de projeção encontram com as imagens de outro projetor. O sincronismo da apresentação foi realizado através de um relógio de precisão compartilhado entre todas as máquinas participantes do sistema. Este relógio de precisão é usado pelo software na decodificação do vı́deo. Caso exista uma determinada instância do software cujo relógio esteja com erro acima da margem permitida, o relógio é corrigido, mantendo o sincronismo com os outros computadores do sistema. Para facilitar o gerenciamento do sistema, o software foi elaborado com uma arquitetura tipo mestre-escravo. Esta arquitetura permite com que diversas instâncias do visualizador sejam criadas. No entanto, todas estas instâncias precisam estar conectadas ao mestre, que é responsável por gerenciar a apresentação do conteúdo e manter o relógio de precisão atualizado. Desta forma, o mestre deve possuir toda a configuração do roteiro e deve ser único para todo o sistema. O processo de calibração deve ser realizado antes da apresentação do Passeio Virtual, e os resultados obtidos ao final do procedimento podem ser reutilizados, desde que as posições e os parâmetros dos projetores não sejam alterados. Este mecanismo de calibração semi-automática facilita a manutenção do sistema de projeção, evita a compra de equipamentos sofisticados e a prática de longos cursos de capacitação. As principais informações que são enviadas do mestre para o escravo são: o roteiro e o relógio de alta precisão. O roteiro consiste em uma lista de vı́deos que devem ser apresentados no sistema de projeção. A informação de roteiro é enviada ao escravo em tempo de execução para permitir um roteiro dinâmico, caso seja interessante para a aplicação final. Na instalação implantada no Catavento, o roteiro é determinado pelo visitante, que escolhe a sequência de vı́deos baseado em um mecanismo de votação. Os usuários que observam a trajetória votam no próximo destino que desejam visitar. Após a apuração dos votos, o mestre envia o novo roteiro para os escravos. Desta forma, enquanto o roteiro escolhido é executado, os usuários podem determinar qual o próximo ponto turı́stico a ser visitado. 3.3. Conteúdo O conteúdo apresentado ao visitante consiste em um passeio virtual interativo aos principais pontos turı́sticos da cidade do Rio de Janeiro virtual. O Rio de Janeiro virtual é um modelo 3D contendo as principais atrações turı́sticas da cidade. Esta modelagem procurou valorizar as caracterı́sticas naturais do ambiente. Os pontos turı́sticos presentes no roteiro são: Praia de Copacabana, Maracanã, Pão de Açúcar e Cristo Redentor. O sistema de projeção utilizado para apresentar o Rio de Janeiro virtual possui caracterı́sticas pouco convencionais quando comparado com sistemas simples com uma única tela plana, como um monitor ou projetor LCD. Caracterı́sticas como resolução, brilho, sobreposição de imagens e um conjunto de telas ortogonais, tornam o sistema complexo, dificultando a criação de vı́deos para o mesmo. Os desafios encontrados durante o processo de criação de conteúdo envolveram diversos aspectos: modelagem, configuração e manipulação de câmera, renderização de vı́deo estereoscópico e renderização de vı́deo panorâmico. Estas tarefas, que são consideradas simples com conteúdos convencionais, demonstraram ser consideravelmente complexas ao manipular vı́deos com caracterı́sticas especı́ficas para este sistema. 3.3.1. Vı́deo Estereoscópico Panorâmico A geração de conteúdo estereoscópico consiste na renderização de duas imagens para cada quadro do vı́deo, uma imagem para o olho esquerdo e outra para o olho direito. Cada uma destas imagens deve considerar o ponto de vista do seu respectivo olho. Assim, as câmeras virtuais precisam ter separação e perspectiva semelhante ao do olho humano. Já a geração de vı́deo panorâmico consiste na renderização de diversas imagens para cada quadro do vı́deo, uma imagem para cada tela do sistema de projeção. Nesta configuração, a câmera deve ser posicionada em um determinado ponto do espaço e utilizar o mesmo eixo de rotação para todas as telas do sistema. A figura 6 ilustra as duas técnicas necessárias na criação do conteúdo: imagem estereoscópica e imagem Figura 6. Câmeras em estéreo e panorâmicas da mudança de perspectiva na qualidade do vı́deo[22, 17]. Esta técnica visa segmentar o ângulo de rotação em diversos ângulos menores. Desta forma, ao invés do vı́deo final ser composto pelas imagens das câmeras nas posições D1 e D2 apenas, ele será composto por diversas imagens geradas por câmeras rotacionadas de ângulos pequenos. Assim, a diferença de perspectiva nas imagens é suavizada por pequenas alterações nas posições das câmeras. O resultado obtido pode ser observado na simulação demonstrada pela figura 9. Nesta simulação, o sistema de projeção utilizado é composto por apenas duas telas ortogonais, onde a união das telas é representada pela linha verde da figura. panorâmica. No entanto, observe que ao utilizar as duas técnicas simultaneamente, não é possı́vel respeitar uma regra simples: ao rotacionar o par de câmeras estéreo, não é possı́vel manter cada câmera no seu eixo de rotação. Isto porque o eixo de rotação do par de câmeras estéreo fica no meio das duas câmeras, ou seja, no centro da cabeça do observador virtual. Figura 9. Resultado da projeção com ângulos intermediários Figura 7. Rotação de câmeras em estéreo A figura 7 demonstra que ao realizar a rotação no eixo das câmeras, a perspectiva da câmera D1 foi drasticamente modificada ao rotacioná-la para a posição D2. Esta alteração brusca de perspectiva causa desconforto visual para o observador na imagem resultante. Figura 8. Segmentação do ângulo de rotação A figura 8 mostra uma técnica para minimizar o impacto A figura 9 ilustra o mesmo sistema de projeção sendo iluminado pelas imagens geradas através das duas técnicas: com e sem ângulos intermediários. Na esquerda, foram consideradas apenas duas posições de câmera, uma posição para cada tela. Já na direita, foram consideras oito posições intermediárias, quatro posições para cada tela. Observe que esta segmentação suaviza as transições de perspectiva da câmera. No projeto, foram utilizadas 16 câmeras para cada olho humano, sendo aproximadamente 4 câmeras para cada 3 metros de tela. Como o vı́deo é estereoscópico, foram necessárias 32 câmeras no total, onde cada uma das câmeras contribui com uma pequena fatia da imagem final do vı́deo. 3.3.2. Renderização paralela O sistema de projeção montado possui três telas: uma frontal e duas laterais, contendo uma superfı́cie de projeção com área igual a 13m × 2,4m. Cada projetor utilizado possui resolução de 1400 × 1050 pontos. Para projetar em toda a superfı́cie de projeção mantendo a qualidade do vı́deo, foram usados 8 projetores em estéreo, 4 projetores para cada olho. Desta forma, a resolução final do vı́deo a ser apresentado no sistema é de 5600 × 1050 pontos. Em um vı́deo com resolução de 5600 × 1050, cada quadro deste vı́deo possui 5.880.000 pontos. Por se tratar de uma sistema com estereoscopia, cada quadro do vı́deo deve apresentar duas imagens, uma para o olho esquerdo e pontos outra para o direito, totalizando 11.760.000 quadro . Caso quadros o vı́deo seja elaborado com 30 segundo , cada segundo de vı́deo deve apresentar 352.800.000 pontos. Considerando que um longa metragem realizado por grandes produtoras é geralmente produzido na resolução de quadros , cada segundo de vı́deo 1280 × 720 pontos, com 24 segundo apresenta 22.118.400 pontos, aproximadamente 16 vezes menor que a quantidade produzida neste projeto. A animação final, que inclui todos os trajetos realizados pelo Rio de Janeiro, possui aproximadamente 9.000 quadros, cerca de 5 minutos de vı́deo. Cada quadro do vı́deo foi dividido em 32 fatias. O tempo de renderização de cada fatia é de aproximadamente 8 minutos em um computador com dois processadores AMD Opteron 2.2Ghz (Dual-core), com 8 GB de memória RAM. Assim, uma única máquina demoraria 4,5 anos para concluir a renderização de todo o vı́deo. Para viabilizar a renderização do vı́deo em um tempo razoável foi necessário utilizar um aglomerado de computadores. A solução adotada para gerenciar e distribuir as tarefas de renderização no aglomerado de computadores foi o Dr. Queue[7]. Este gerenciador de tarefas foi instalado em um computador com sistema operacional Linux para controlar um aglomerado de computadores com 64 processadores ao todo. Após a paralelização do processo de renderização, o tempo total foi reduzido para 90 dias. Neste perı́odo, todas as máquinas pertencentes ao aglomerado permaneceram ligadas 24h por dia, sete dias por semana. Para facilitar a manipulação do conteúdo renderizado, foi criado um vı́deo para cada projetor utilizado no sistema. Desta forma, cada vı́deo contém apenas as imagens correspondentes a porção de sua respectiva tela, e, portanto, com uma resolução e tamanho inferior, respeitando as limitações existentes nos softwares convencionais de edição de vı́deo. 4. Conclusão e Trabalhos Futuros O sistema de projeção imersivo do Catavento foi elaborado com o objetivo de reduzir o seu custo de implantação e manutenção, sem comprometer a qualidade final das imagens apresentadas. Estes objetivos foram alcançados com a utilização de duas técnicas: construção do próprio sistema de projeção imersivo, utilizando uma arquitetura de multiprojeção, e segmentação de vı́deo em fatias, utilizando renderização paralela e distribuı́da. As técnicas de multiprojeção permitiram que o trajeto pelo Rio de Janeiro virtual fosse apresentado em alta resolução, mesmo utilizando projetores convencionais. O software de calibração foi desenvolvido para corrigir eventuais erros de alinhamento, cor e brilho. O resultados obtidos através da calibração do software foram satisfatórios, minimizando as falhas presentes na intersecção dos proje- tores e impedindo o observador de perceber a união das imagens geradas por dois aparelhos de projeção adjacentes. A renderização paralela e distribuı́da viabilizou a geração de conteúdo de alta resolução em um tempo razoável. Este conteúdo, apesar de apresentar somente 5 minutos de vı́deo contı́nuo, foi o suficiente para criar uma programação curta. Esta programação se mostrou ter tamanho ideal para o local onde o sistema foi instalado, uma vez que o Museu apresenta um número considerável de visitantes diários, fazendo com que a permanência controlada dos observadores em determinados locais seja de extrema importância para manter constante o fluxo de pessoas. Apesar do Sistema de Projeção Imersivo 3D do Catavento ter sido elaborado com telas rı́gidas, não foi possı́vel obter um material de baixo custo que mantivesse a polarização da luz, e portanto, viabilizasse a projeção de imagens em estereoscopia passiva baseada em polarização. Uma parte do material para produzir as telas de projeção do sistema é proprietário, e seu custo foi incompatı́vel com o resto dos materiais adquiridos para o projeto. Desta forma, os trabalhos futuros do grupo envolverão a pesquisa por materiais rı́gidos ou flexı́veis que permitam a construção de telas para estereoscopia passiva em retroprojeção. Os resultados desta pesquisa irão reduzir ainda mais o custo dos sistemas de projeção imersivos. 5. Agradecimentos Agradecemos toda a equipe do Museu Catavento Cultural e Educacional, em especial, o Dr. Sergio Silva de Freitas, por toda dedicação e ajuda durante todo o desenvolvimento do projeto. Agradecemos também toda a equipe do Laboratório de Sistemas Integráveis da Escola Politécnica da Universidade de São Paulo, que de forma direta ou indireta, ajudaram a viabilizar e implantar este projeto. Referências [1] Catavento cultural e educacional. http://www.cataventocultural.org.br, Fevereiro 2009. [2] M. Ashdown, M. Flagg, R. Sukthankar, and J. M. Rehg. A flexible projector-camera system for multi-planar displays. IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’04), 2:165–172, 2004. [3] M. S. Brown and W. B. Seales. A practical and flexible tiled display system. IEEE Pacific Graphics, page 194, 2002. [4] H. Chen, R. Sukthankar, G. Wallace, and K. Li. Scalable alignment of large-format multi-projector displays using camera homography trees. In Proceedings of Visualization, pages 339–346, 2002. [5] Y. Chen, D. W. Clark, A. Finkelstein, T. C. Housel, and K. Li. Automatic alignment of high-resolution multiprojector display using an un-calibrated camera. In IEEE Visualization, 2000. [6] D. Cotting, R. Ziegler, M. Gross, and H. Fuchs. Adaptive instant displays: Continuously calibrated projections using per-pixel light control. Proceedings of Eurographics 2005, 24:705–714, 2005. [7] DrQueue. http://www.drqueue.org/cwebsite/, Fevereiro 2009. [8] I. K. Ficheman, A. A. M. Nogueira, M. C. Cabral, B. T. santos, A. G. D. Corrêa, M. K. Zuffo, and R. de Deus Lopes. Gruta digital: um ambiente de realidade virtual imersivo itinerante para aplicacoes educacionais. Proceedings of the XVII Simposio Brasileiro de Informatica na Educacao, 2006. [9] H. R. J. Grosh. Grosch’s law revisited. In Computerwold, 1975. [10] M. Harville, B. Culbertson, I. Sobel, D. Gelb, A. Fitzhugh, and D. Tanguay. Practical methods for geometric and photometric correction of tiled projector. In IEEE International Workshop on Projector-Camera System, 2006. [11] M. Hereld, I. R. Judson, and R. L. Stevens. Introduction to building projection-based tiled display systems. In IEEE Computer Graphics and Applications, 2000. [12] G. Humphreys, M. Houston, R. Ng, R. Frank, S. Ahern, P. Kirchner, and J. T. Klosowski. Chromium: A stream processing framework for interactive rendering on clusters. In SIGGRAPH, 2002. [13] K. Li, H. Chen, Y. Chen, D. W. Clark, P. Cook, S. Damianakis, G. Essl, A. Finkelstein, T. Funkhouser, A. Klein, Z. Liu, E. Praun, R. Samanta, B. Shedd, J. P. Singh, G. T. Zheng, and Jiannan. Early experiences and challenges in building and using a scalable display wall system. In IEEE Computer Graphics and Applications, 2000. [14] H. Liao, N. Hata, M. Iwahara, S. Nakajima, I. Sakuma, and T. Dohi. High-resolution stereoscopic surgical display using parallel integral videography and multi-projector. Medical Image Computing and Computer-Assisted Intervention, 2489:85–92, 2002. [15] A. Majumder and M. S. Brown. Practical Multi-Projector Display Design. A K Peters, 2007. [16] A. Majumder and S. Irani. Perception based contrast enhancement of images. In ACM Transactions on Applied Perception, 2007. [17] S. Peleg, M. Ben-Ezra, and Y. Pritch. Omnistereo: Panoramic stereo imaging. IEEE Trans. Pattern Anal. Mach. Intell., 23(3):279–290, 2001. [18] B. Raffin, M. K. Zuffo, H. Kaczmarski, P. Zhigeng, B. Schaeffer, C. Goudeseune, and L. P. Soares. Introducion to commodity clusters for multiprojector displays. In IEEE VR Workshop Commodity Cluster for Virtual Reality, 2003. [19] A. Raij, G. Gill, A. Majumder, H. Towles, and H. Fuchs. Pixelflex2: A comprehensive, automatic, casually-aligned multi-projector display. IEEE International Workshop on Projector-Camera Systems, 2003. [20] R. Raskar, M. S. Brown, R. Yang, W.-C. Chen, G. Welch, H. Towles, B. Seales, and H. Fuchs. Multi-projector displays using camera-based registration. In IEEE Visualization, 1999. [21] D. R. Schikore, R. A. Fischer, R. Frank, R. Gaunt, J. Hobson, and B. Whitlock. High-resolution multiprojector display walls. In IEEE Computer Graphics and Applications, 2000. [22] A. Simon, R. C. Smith, and R. R. Pawlicki. Omnistereo for panoramic virtual environment display systems. In VR ’04: Proceedings of the IEEE Virtual Reality 2004, page 67, Washington, DC, USA, 2004. IEEE Computer Society. [23] L. P. Soares. Um Ambiente de Multiprojeção Totalmente Imersivo Baseado em Aglomerados de Computadores. PhD thesis, Escola Politécnica, Universidade de São Paulo, 2005. [24] L. P. Soares, M. C. Cabral, P. A. Bressan, H. Fernandes, R. D. Lopes, and M. K. Zuffo. Management of commodity computer cluster oriented to virtual reality applications. In Proceedings of V Symposium on Virtual Reality, 2002. [25] L. P. Soares, M. C. Cabral, P. A. Bressan, R. D. Lopes, and M. K. Zuffo. Powering multiprojection immersive environments with cluster of commodity. In Proceedings of 1o SIACG, 2002. [26] G. Stoll, M. Eldridge, D. Patterson, A. Webb, S. Berman, R. Levy, C. Caywood, M. Taveira, S. Hunt, and P. Hanrahan. Lightning-2: A high-performance display subsystem for pc clusters. In SIGGRAPH, 2001. [27] F. Vendruscolo, J. A. Dias, G. Bernardi, and M. L. Cassal. Escola tri-legal – um ambiente virtual como ferramenta de apoio ao ensino fundamental através de jogos educacionais. Revista digital da CVA-RICESU, 3, 2005. [28] R. Yang, M. S. Brown, W. B. Seales, and H. Fuchs. Geometrically correct imagery for teleconferencing. In ACM International Conference on Multimedia, 1999. [29] R. Yang, M. S. Brown, W. B. Seales, and H. Fuchs. Geometrically correct imagery for teleconferencing. In ACM International Conference on Multimedia, 1999. [30] R. Yang, D. Gotz, J. Hensley, H. Towles, and M. Brown. Pixelflex: A reconfigurable multi-projector display system. IEEE Visualization 2001, pages 167–174, 2001. [31] R. Yang and G. Welch. Automatic projector display surface estimation using every-day imagery. In 9th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, 2001. [32] J. A. Zuffo, L. P. Soares, M. K. Zuffo, and R. D. Lopes. Caverna digital - sistema de multiprojeção esteroscópico baseado em aglomerados de pcs para aplicações imersivas em realidade virtual. In Proceedings of IV Symposium on Virtual Reality, 2001.