sistema para composição de estúdios virtuais utilizando ... · seu princípio baseia-se na...

9
Sistema para Composição de Estúdios Virtuais Utilizando Técnicas de Realidade Aumentada Guilherme M. Campos, Luciano M. Mukudai, Vitor S. Iwamura, Antonio Carlos Sementille Universidade Estadual Paulista – Unesp / Departamento de Computação [email protected], [email protected], [email protected], [email protected] Abstract The introduction of the Virtual Studios allowed the emergence of a new paradigm in the content generation for the television and cinematographic industry. Though most of the available products allow the integration of physical elements and virtual objects in three-dimensional environments generated by computer, they are too expensive or they don’t build the scene in a coherent way. Furthermore, there isn´t a low-priced solution that allow the actor to interact with the existent virtual elements in the scene. Considering this context, this paper describes the development of a Virtual Studio system, implemented as a modular architecture, which uses the chromakey technique combined with resources of the Augmented Reality. With this system it is possible to build scenes, composed by real and virtual elements, in a coherent way in real time. It also allows the actor's interaction with the virtual elements through the use of tangible interfaces, acted by fiducial markers. 1. Introdução A composição de imagens é um dos recursos mais utilizados na indústria cinematográfica e de televisão para produção de vídeos, oferecendo ao diretor o poder de inserir novos elementos em uma cena, como diversos efeitos especiais, ou, simplesmente, levar os atores para um cenário totalmente diferente [2]. Para realizar esta composição de cenas utiliza-se a técnica do chromakey. Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”) para separar o plano de fundo dos elementos de interesse. Uma nova imagem é, então, gerada combinando os elementos de interesse com um novo plano de fundo [14]. Nas produções cinematográficas, a técnica de chromakey é empregada de modo que os efeitos visuais sejam inseridos em uma etapa de pós-produção, pois possuem um prazo relativamente longo para serem concluídas. Por outro lado, na indústria de televisão o chromakey é mais utilizado para transmissões ao vivo, separando os elementos de primeiro plano e combinando-os com um novo plano de fundo. Um exemplo clássico são as previsões meteorológicas na TV [12]. A fim de distinguir os sistemas utilizados nas produções televisivas do uso tradicional do chromakey na indústria cinematográfica criou-se o conceito de Estúdio Virtual [4]. Uma das vantagens de se utilizar essas ferramentas na produção de vídeos é a economia proporcionada por elas, eliminando a necessidade de ter que montar e desmontar vários cenários e de ter que armazená-los em grandes espaços físicos, minimizando o custo de material necessário para composição desses cenários. Há ainda a possibilidade de se utilizar estúdios virtuais em conjunto com técnicas de realidade aumentada. Essa combinação é útil tanto para a produção para a TV quanto para o cinema, pois a pessoa que estiver sendo filmada pode interagir com os objetos virtuais inseridos na cena através de interfaces tangíveis representadas por marcadores fiduciais passivos, por exemplo. Como em muitas produções o ator pode ficar um pouco confuso em relação à posição dos elementos virtuais no cenário, a utilização de marcadores fiduciais é, particularmente, interessante por servirem como guia para que os atores saibam onde os objetos virtuais se encontram. Nesse contexto, este artigo descreve o desenvolvimento de um módulo de suporte para estúdios virtuais, utilizando técnicas de Realidade Aumentada capaz de gerar, em tempo real, cenas compostas por elementos reais e virtuais, posicionados coerentemente na cena. Com essa ferramenta ainda é XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010 22

Upload: vankiet

Post on 14-Feb-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

Sistema para Composição de Estúdios Virtuais Utilizando Técnicas de

Realidade Aumentada

Guilherme M. Campos, Luciano M. Mukudai, Vitor S. Iwamura, Antonio Carlos Sementille

Universidade Estadual Paulista – Unesp / Departamento de Computação

[email protected], [email protected], [email protected],

[email protected]

Abstract

The introduction of the Virtual Studios allowed the

emergence of a new paradigm in the content

generation for the television and cinematographic

industry. Though most of the available products allow

the integration of physical elements and virtual objects

in three-dimensional environments generated by

computer, they are too expensive or they don’t build

the scene in a coherent way. Furthermore, there isn´t a

low-priced solution that allow the actor to interact

with the existent virtual elements in the scene.

Considering this context, this paper describes the

development of a Virtual Studio system, implemented

as a modular architecture, which uses the chromakey

technique combined with resources of the Augmented

Reality. With this system it is possible to build scenes,

composed by real and virtual elements, in a coherent

way in real time. It also allows the actor's interaction

with the virtual elements through the use of tangible

interfaces, acted by fiducial markers.

1. Introdução

A composição de imagens é um dos recursos mais utilizados na indústria cinematográfica e de televisão para produção de vídeos, oferecendo ao diretor o poder de inserir novos elementos em uma cena, como diversos efeitos especiais, ou, simplesmente, levar os atores para um cenário totalmente diferente [2].

Para realizar esta composição de cenas utiliza-se a técnica do chromakey. Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”) para separar o plano de fundo dos elementos de interesse. Uma nova imagem é, então, gerada combinando os elementos de interesse com um novo plano de fundo [14].

Nas produções cinematográficas, a técnica de chromakey é empregada de modo que os efeitos visuais sejam inseridos em uma etapa de pós-produção, pois possuem um prazo relativamente longo para serem concluídas. Por outro lado, na indústria de televisão o chromakey é mais utilizado para transmissões ao vivo, separando os elementos de primeiro plano e combinando-os com um novo plano de fundo. Um exemplo clássico são as previsões meteorológicas na TV [12].

A fim de distinguir os sistemas utilizados nas produções televisivas do uso tradicional do chromakey na indústria cinematográfica criou-se o conceito de Estúdio Virtual [4].

Uma das vantagens de se utilizar essas ferramentas na produção de vídeos é a economia proporcionada por elas, eliminando a necessidade de ter que montar e desmontar vários cenários e de ter que armazená-los em grandes espaços físicos, minimizando o custo de material necessário para composição desses cenários.

Há ainda a possibilidade de se utilizar estúdios virtuais em conjunto com técnicas de realidade aumentada. Essa combinação é útil tanto para a produção para a TV quanto para o cinema, pois a pessoa que estiver sendo filmada pode interagir com os objetos virtuais inseridos na cena através de interfaces tangíveis representadas por marcadores fiduciais passivos, por exemplo. Como em muitas produções o ator pode ficar um pouco confuso em relação à posição dos elementos virtuais no cenário, a utilização de marcadores fiduciais é, particularmente, interessante por servirem como guia para que os atores saibam onde os objetos virtuais se encontram.

Nesse contexto, este artigo descreve o desenvolvimento de um módulo de suporte para estúdios virtuais, utilizando técnicas de Realidade Aumentada capaz de gerar, em tempo real, cenas compostas por elementos reais e virtuais, posicionados coerentemente na cena. Com essa ferramenta ainda é

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

22

Page 2: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

possível interagir com os objetos virtuais inseridos no cenário.

2. Trabalhos correlatos

A necessidade da indústria televisiva de levar ao telespectador conteúdo mais elaborado fez com que muitas empresas realizassem grandes investimentos no desenvolvimento de novas técnicas para produção de vídeos. Com isso os estúdios virtuais se desenvolveram e passaram a ser amplamente utilizados na produção dos programas de televisão. Dentre as soluções disponíveis no mercado pode-se destacar o MixTV, o CyberSet, o Darim Vision, o Ultimatte e a Zcam.

MixTV é um software licenciado pela RTSoftware Ltd. e desenvolvido em parceria com a BBC de Londres. Essa ferramenta permite a inserção de elementos virtuais na cena, bem como a sua manipulação, em tempo real, com livre movimentação da câmera e ampliação da cena.

O software analisa as imagens da câmera para determinar a posição dos marcadores dos objetos reais de modo que os objetos virtuais possam ser sobrepostos sobre esses padrões. Para isso utiliza-se o chromakey para separar o marcador do plano de fundo. Posteriormente, é realizada a detecção e localização precisa das bordas e cantos dos marcadores. Uma matriz binária é lida para identificação e distinção dos marcadores e cálculos matemáticos são realizados para converter a posição da imagem real para a posição no mundo tridimensional e, por fim, a informação das posições são passadas ao sistema para posicionar os gráficos na cena [9].

Os produtos da linha CyberSet, da ORAD, são os mais populares softwares de estúdios virtuais e permitem a configuração de cenas em tempo real com o uso de várias câmeras, oferecendo uma liberdade de movimentação em 360º. O CyberSet utiliza sistemas de rastreamento óptico-mecânicos, reconhecimento de padrões e soluções de infra-vermelho baseado nas câmeras para a localização exata do posicionamento dos objetos. O sistema, no entanto, requer hardware específico e treinamento para uma utilização eficiente [8].

A linha de produtos VS (1000, 2000, 4000) da empresa Darim Vision Corp. oferece uma solução integrada (hardware, software e equipamentos auxiliares) para criação de estúdio virtuais. As tarefas de alternar entre várias tomadas de vídeos, realizar a composição de cenas, aplicar a técnica de chromakey para substituir o fundo das imagens e aplicar texturas sobre os objetos virtuais podem ser realizadas em tempo real, gerando resultados de alta qualidade. O

estúdio virtual permite, ainda, que sejam utilizadas até seis câmeras ao mesmo tempo e suporta câmeras com sensores de rastreamento para sincronizar seu movimento com o da câmera virtual. Também possui sistema de controle da câmera chamado “trackless

camera control”, que permite que a câmera real permaneça fixa e apenas a câmera virtual se movimente pelo cenário, eliminando a necessidade de um operador de câmera [3].

O Ultimatte é uma solução sofisticada de hardware para realizar a técnica de chromakey. Rápido o bastante para ser usado em transmissões ao vivo, o Ultimatte tem sido amplamente utilizado nas produções de vídeo há algum tempo. Esse equipamento tem sua principal funcionalidade relacionada ao problema da separação do primeiro plano e do plano de fundo, embora seja um produto completo, que permite a manipulação de elementos como fumaça, objetos transparentes, diferentes tons de azul e sombras [13].

A empresa 3DV Systems desenvolveu uma solução para composição de imagens chamada Zcam. Trata-se de uma câmera de vídeo capaz de estimar a profundidade da cena. A câmera realiza a extração do objeto do primeiro plano, a partir de um plano de fundo arbitrário, utilizando a distância relativa à câmera de vídeo. A Zcam produz sinais do tipo RGBD, sendo D a distância de cada pixel em relação à câmera, o que possibilita a criação de cenas a partir da composição de múltiplas camadas de imagens [5].

3. Geração de cena combinada 3.1. O problema

As ferramentas apresentadas na Seção 2 possuem grande quantidade de recursos para composição de imagens em tempo real e algumas permitem, inclusive, a construção de cenas considerando-se a profundidade do cenário. No entanto, muitas dessas soluções não resolvem satisfatoriamente o problema do registro, permitindo apenas que objetos virtuais sejam inseridos à frente dos elementos reais, ou são inviáveis para grande parte das aplicações de Realidade Aumentada e produções de vídeo de baixo custo, por serem, geralmente, protegidas por patente e exigirem hardware dedicado, o que eleva seus custos.

Outro problema presente nas soluções disponíveis no mercado é o fato da interação entre os atores e os elementos virtuais ser um pouco limitada, de modo que estúdios virtuais são usados em produções onde há pouca interação entre elementos reais e virtuais, como programas de entrevista e noticiários.

É importante ressaltar também, que uma das maiores dificuldades na produção de programas de

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

23

Page 3: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

televisão com estúdios virtuais está relacionada ao posicionamento e orientação corretos dos atores reais na cena, pois os mesmos devem interagir com algo que não estão vendo [2]. 3.2. A solução proposta

O sistema de estúdio virtual desenvolvido utiliza a biblioteca de rastreamento ARToolKit, para a identificação dos marcadores na cena, em conjunto com a biblioteca OpenSceneGraph, a qual fornece diversas otimizações para desenhar os objetos virtuais usando a biblioteca gráfica OpenGL. Para permitir a comunicação entre ARToolKit e OpenSceneGraph foi necessário outra biblioteca, chamada osgART. Para converter o fluxo de vídeo gerado num formato apropriado para transmissão ou armazenamento foi utilizada a biblioteca OpenCV. Além disso, a fim de mostrar as funcionalidades implementadas e permitir o controle do estúdio virtual, foi desenvolvido um protótipo de aplicação utilizando o framework Qt.

A cena final é obtida a partir da combinação de uma imagem que contém os elementos reais, capturada por uma câmera de vídeo, com as imagens que representam os objetos virtuais e o plano de fundo. O processo para geração da cena combinada é composto pelas seguintes etapas: primeiro, desenha-se o plano de fundo; em seguida, são desenhados sobre a imagem anterior os objetos virtuais que estão posicionados atrás de elementos reais na cena; a imagem resultante é, então, sobreposta pela imagem que contém apenas os elementos reais e pelos objetos que estão à frente deles, nesta ordem.

A abordagem utilizada para posicionar corretamente os objetos virtuais na cena consiste em utilizar marcadores fiduciais passivos, conforme Figura 6, para que seja possível gerar uma cena coerente com a profundidade do cenário, onde um elemento, real ou virtual, é capaz de obstruir outro de acordo com sua posição no cenário.

Cada marcador espalhado pelo cenário representa um objeto virtual ou algum elemento real. A partir das informações sobre a posição desses marcadores, determina-se a ordem em que os objetos virtuais e a imagem que contém os elementos reais são desenhados no framebuffer. O framebuffer do OpenGL consiste em um conjunto de bits organizados em uma matriz bidimensional, de modo que cada um de seus elementos (pixels) pode ser entendido como um conjunto de bits. Os bits correspondentes de cada pixel no framebuffer são agrupados em bitplanes, sendo que cada bitplane contem um bit por pixel. Esses bitplanes são

agrupados, então, em buffers lógicos, dentre os quais pode-se citar colorbuffer, stencilbuffer, depthbuffer e

accumulation buffer [10] Para atualizar os pixels do framebuffer são

utilizados fragmentos, obtidos num processo denominado rasterização, que consiste em converter a representação vetorial de imagens e outros dados geométricos em suas representações matriciais, tornando-os possíveis de serem armazenados em memória de dispositivos matriciais [1]. Além disso, cada fragmento gerado possui diversas informações associadas a ele, tais como cor, profundidade e coordenadas de textura [7]. Para atualizar os pixels do framebuffer são aplicadas diversas operações sobre esses fragmentos, como mostra a Figura 1. À medida que um fragmento passa pelos testes ilustrados, os pixels correspondentes no framebuffer são atualizados com os novos valores.

Figura 1. Diagrama OpenGL das operações de

fragmentos [10].

Duas das operações sobre fragmentos ilustradas na

figura anterior são de suma importância para se atingir o resultado esperado na geração da cena combinada. A primeira é o teste do alfa, que consiste em aceitar ou rejeitar um fragmento baseado no valor do componente alfa (grau de transparência) de cada pixel da imagem, os quais devem estar no formato RGBA. A segunda é o teste de profundidade, o qual utiliza o algoritmo do z-

buffer para determinar quais pixels devem ser atualizados no framebuffer. Esse algoritmo armazena no buffer de profundidade do OpenGL (depthbuffer) a distância entre cada pixel do framebuffer e o plano de projeção do OpenGL, como pode ser visto na Figura 2, a seguir [10].

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

24

Page 4: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

Figura 2. Representação gráfica do z-buffer [1].

O depthbuffer é inicializado com valores muito

altos, mas à medida que um novo pixel deve ser inserido no framebuffer, realiza-se um cálculo da sua distância em relação ao plano de projeção e se essa distância for inferior à armazenada no depthbuffer, o novo pixel substitui o correspondente no framebuffer. Como já mencionado, para determinar quais elementos da cena, reais ou virtuais, estão mais à frente, ou seja, mais próximos à câmera são utilizadas as informações sobre a posição relativa destes na cena, obtidas a partir dos marcadores espalhados pelo cenário.

A imagem que contém os elementos reais, no entanto, deve passar por uma etapa de segmentação antes de ser combinada com outras no framebuffer, para que contenha apenas os elementos de interesse. A técnica do chromakey é, então, utilizada para isolar a silhueta dos elementos reais. Para tal, procura-se na imagem a região correspondente ao plano de fundo, representado pela cor verde, e a substitui por uma região transparente, alterando o componente alfa dos pixels correspondentes. O teste do alfa é, então, habilitado e a imagem resultante pode ser desenhada no framebuffer, garantindo que apenas os pixels referentes aos elementos de interesse sejam atualizados no framebuffer. Através desse processo os elementos reais podem ser posicionados na frente de alguns objetos virtuais. As Figuras 3(a) e 3(b), a seguir, ilustram, basicamente, etapas do processo descrito e as Figuras 3(c) a 3(e), possíveis combinações dos elementos reais e virtuais.

Além de determinar o correto posicionamento dos objetos virtuais na cena, os marcadores possibilitam, ainda, que os atores interajam com os elementos virtuais inseridos na cena através de uma interface

tangível, além de ser uma alternativa para facilitar a localização dos atores no cenário.

Figura 3(a). Ator

(real) e marcadores fiduciais passivos

filmados em estúdio de fundo verde.

Figura 3(b). Imagem

capturada com fundo verde trocado por região

transparente.

Figura 3(c). Imagem

gerada apenas com novo plano de fundo e

elementos reais.

Figura 3(d). Imagem

combinada com novo plano de fundo e objeto

virtual à frente do elemento real

Figura 3(e). Imagem combinada com novo plano

de fundo e objeto virtual atrás do elemento real. A fim de facilitar a manutenção e a reutilização de

código, foi definida uma arquitetura modular composta por cinco módulos: Captura, Chromakey, Interface com o Usuário, Detecção de Marcadores e Gerador de Cena Combinada. A Figura 4 ilustra como estes módulos devem interagir entre si.

O Módulo de Captura é responsável pela obtenção das imagens a partir de uma câmera e pelo seu armazenamento, num formato apropriado, em um buffer para posterior processamento. O Módulo de Chromakey analisa essas imagens, pixel a pixel, e obtém uma imagem com apenas os elementos de interesse (sem o fundo de cor uniforme). O Módulo de Interface com o Usuário tem como objetivo permitir que o usuário configure o ambiente do estúdio virtual. Já o Módulo de Detecção de Marcadores é responsável por reconhecer padrões conhecidos (marcadores) na

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

25

Page 5: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

cena e gerar um mapa de profundidade, o qual é utilizado pelo Módulo de Geração de Cena Combinada para construir a cena final. O resultado é um fluxo de vídeo, que pode ser transmitida em tempo real pela internet ou pode ser utilizado pela TV digital.

Figura 4. Arquitetura do sistema.

4. Resultados obtidos

Apesar dos marcadores fiduciais passivos planos (Figura 6) permitirem certa interação com objetos virtuais, estes são facilmente obstruídos pelo ator, o que impede que o elemento virtual associado ao marcador seja desenhado na cena. Uma das maneiras encontradas para contornar esse problema e permitir maior dinamismo na interação dos atores com os objetos virtuais é a utilização de estruturas compostas por vários marcadores, como por exemplo, um cubo, conforme ilustra a Figura 5.

Figura 5(a). Objeto

na posição inicial Figura 5(b). Objeto

após a rotação do cubo Com essa estrutura é possível espelhar os

movimentos do cubo com seu respectivo objeto virtual. Para usá-la é necessário gerar um arquivo de configuração, que contém a posição relativa entre os marcadores que a compõem, em conjunto com a função de rastreamento de múltiplos marcadores do ARToolKit, permitindo que uma estrutura mais complexa seja tratada como um único marcador. Dessa forma, a oclusão de uma das faces da estrutura não implica no desaparecimento do objeto virtual da cena.

Essa abordagem pode ser utilizada para posicionar qualquer elemento na cena, desde que a posição relativa entre os marcadores usados não se altere. Pode-se, por exemplo, colocar marcadores em cantos distintos do cenário. Dessa forma, o ator tem maior liberdade para se movimentar pelo cenário, sem ter que se preocupar com a oclusão de marcadores, o que impediria objetos virtuais de serem posicionados corretamente na cena.

A técnica de chromakey foi implementada utilizando o algoritmo de van den Bergh [14], que apresentou bom desempenho ao trocar o plano de fundo das imagens em tempo real, mostrado na Figura 6. O resultado é exibido na figura 8. Pode-se notar na figura 7, que uma inadequada iluminação do ambiente impede que determinados pixels sejam substituídos, resultando numa imagem com ruídos (jitter). Uma maneira de contornar esse problema é ajustar o limiar (threshold) do chromakey, o qual indica quando um pixel deve ser substituído.

Figura 6. Marcador fiducial passivo em fundo azul.

Figura 7. Imagem com ruído (jitter).

Figura 8. Imagem após posicionar objeto virtual e

aplicar o chromakey A utilização de marcadores para rastrear a posição

dos elementos reais e virtuais na cena permite a criação de um mapa de profundidade, que é utilizado para

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

26

Page 6: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

gerar uma cena coerente com a profundidade do cenário, de modo que é possível a oclusão entre estes elementos. O resultado do processo pode ser visto nas Figuras 9 a12, a seguir.

Figura 9. Imagem capturada pela câmera de vídeo

Figura 10. Imagem combinada com novo plano de

fundo e objeto virtual.

Figura 11. Imagem combinada com novo plano de

fundo e objeto virtual atrás do elemento real.

Figura 12. Imagem combinada com novo plano de

fundo e objeto virtual à frente do elemento real.

Como pode ser observado nas Figuras 11 e 12, à

medida que o marcador que representa o elemento real (mão) se movimenta pelo cenário, este é capaz de obstruir o objeto virtual (sofá) quando se encontra à frente deste, mas é obstruído pelo objeto virtual quando se encontra atrás do mesmo.

A maneira como o ARToolkit trabalha, calculando a posição dos marcadores em relação à câmera, permite movimentar a câmera real pelo cenário sem interferir no correto posicionamento dos objetos virtuais. No entanto, assim como o ARToolKit permite observar um mesmo objeto a partir de diferentes pontos de vista, em algumas situações é desejável exibir diferentes regiões do plano de fundo conforme a câmera se movimenta pelo cenário.

A abordagem tradicional do chromakey não permite esse tipo de efeito, pois à medida que a câmera se aproxima da cena, a imagem de fundo permanece inalterada. Entretanto, é possível associar o plano de fundo a marcadores, de modo que diferentes partes dele sejam exibidas de acordo com os marcadores que estiverem visíveis.

Apesar dos marcadores permanecerem visíveis na cena combinada, é possível utilizá-los em tons de verde ao invés de preto e branco, de modo que isso não interfira no seu rastreamento, mas fazendo com que sejam retirados da imagem junto com o plano de fundo verde pelo algoritmo do chromakey. Isso evita que a cena final fique “poluída” com muitos marcadores.

Antes de iniciar a captura da cena no estúdio virtual é necessário passar por uma etapa de configuração do ambiente, para isso criou-se uma interface gráfica utilizando a framework Qt, conforme mostra a Figura 13. A partir dela, o usuário pode inserir e fazer o ajuste fino da posição e da orientação dos elementos virtuais, além de cadastrar novos marcadores e modelos 3D. Em relação ao ajuste fino, a implementação da rotação dos objetos foi particularmente interessante, pois se utilizou uma forma de controle baseada em quaternion.

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

27

Page 7: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

A teoria dos quaternions é uma ramificação da matemática que generaliza o cálculo vetorial e os números complexos, e foi introduzida à computação gráfica como meio de facilitar a rotação de elementos virtuais [11]. Essa abordagem torna a manipulação dos objetos mais precisa, pois, além do objeto ser rotacionado de acordo com o percurso do mouse, respeitando a proporção do movimento, a orientação final do objeto depende da posição final do mouse, e não da ordem em que foram aplicadas as rotações. Dessa forma, evita-se o problema do gimbal lock, muito comum em outras abordagens [6].

Figura 13. Imagem após posicionar objeto virtual e

aplicar o chromakey Através da interface da Figura 13, é possível

também, selecionar qual será o novo plano de fundo do cenário (imagem estática ou vídeo) e gravar um vídeo da cena final para posterior exibição.

O resultado da substituição do plano de fundo por um vídeo é ilustrado na Figura 14, a seguir.

Figura 14. Substituição do plano de fundo por vídeo.

Para salvar o fluxo de vídeo gerado num arquivo

para posterior exibição, foi utilizada a biblioteca OpenCV (Open Source Computer Vision Library). Originalmente desenvolvida pela Intel, o OpenCV é uma biblioteca multiplataforma e gratuita para processamento de imagens em tempo real.

A geração de um arquivo de vídeo em formato avi através do OpenCV é particularmente simples, visto que essa biblioteca já fornece funções para compressão de vídeo. No entanto, as imagens geradas pelo

OpenSceneGraph possuem formato diferente do utilizado pelas funções de gravação de vídeo do OpenCV. Logo, é necessária uma conversão entre os formatos utilizados pelas bibliotecas citadas, o que provoca uma queda no desempenho da aplicação quando o recurso de gravação de vídeo é usado.

5. Análise de desempenho

Assim como qualquer aplicação em tempo real, o estúdio virtual desenvolvido tem restrições rígidas quanto ao tempo de resposta. Por esse motivo, foram feitos alguns testes de desempenho considerando alguns critérios relevantes como tipo de plano de fundo utilizado, complexidade da cena baseada no número de polígonos que devem ser desenhados por quadro e o posicionamento dos marcadores na cena.

Em todos os testes foi utilizado o mesmo computador, o qual possui 2GB de memória RAM, placa de vídeo nVidia GeForce 8600GT e processador Intel Core Duo E5200 2.5Ghz. Para a captura do vídeo foi utilizada uma webcam Philips com taxa de captura de 30 quadros por segundo usando resolução de 640 x 480 pixels.

A Figura 15 ilustra o ambiente experimental utilizado para testes durante o projeto.

Figura 15. Ambiente experimental de trabalho.

Além do mesmo hardware ter sido usado em todos os testes, é importante ressaltar que iluminação do cenário e a posição da câmera não foram alteradas durante o processo de análise de desempenho da aplicação.

O desempenho da aplicação é indicado pela taxa de atualização da tela, em quadros por segundo, obtida a partir de um recurso do OpenSceneGraph que permite realizar tal medida. Em todos os testes, a taxa de

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

28

Page 8: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

atualização foi medida com o recurso de gravação de vídeo ativado e desativado. 5.1. Diferentes planos de fundo

Inicialmente, foram realizados testes para avaliar o desempenho da aplicação quando o fundo verde é substituído por diferentes planos de fundo. A Figura 16, a seguir, ilustra o desempenho da aplicação frente aos diferentes planos de fundo utilizados.

Figura 16. Substituição do fundo azul por

diferentes tipos de planos de fundo. Como pode ser observado, o desempenho da

aplicação não sofre alterações significativas à medida que a complexidade do fundo aumenta. No entanto, nota-se uma diferença no desempenho da aplicação quando o recurso de gravação de vídeo é usado. Isso se deve, em parte, às conversões necessárias para gravar o vídeo num formato apropriado.

5.2. Complexidade da cena

Outro fator analisado trata da complexidade da cena. A utilização de objetos virtuais complexos para compor a cena implica grande quantidade de polígonos para serem desenhados em tempo real, o que pode contribuir para uma queda no desempenho da aplicação.

Como pode ser observado na Figura 17, o desempenho da aplicação foi analisado nos casos em que a cena possuía 100, 1000, 5000 e 10000 polígonos para serem desenhados, aproximadamente.

Como era esperado, o desempenho do protótipo é afetado à medida que a complexidade da cena aumenta, reduzindo bastante a taxa de quadros por segundo.

Figura 17. Quantidade de polígonos desenhados

5.3. Posicionamento dos marcadores na cena

Como já explicado na Subseção 3.2, o protótipo de estúdio virtual constrói a cena levando em consideração a profundidade dos objetos no cenário. Para isso utiliza-se a posição dos objetos na cena, obtida a partir de marcadores. Assim, foi analisado se o posicionamento dos objetos na cena pode influenciar o desempenho da aplicação.

Os testes realizados consideram três possíveis situações: marcador vinculado ao elemento real localizado à frente, atrás e entre os demais marcadores visíveis na cena. Os resultados são mostrados no gráfico da Figura 18.

Figura 18. Posicionamento dos marcadores na cena

Como pode ser observado, o desempenho da

aplicação não sofre alteração com a variação do posicionamento dos marcadores na cena. Isso mostra que a ordem em que os elementos da cena são enviados para processamento na placa gráfica não interfere no desempenho do protótipo.

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

29

Page 9: Sistema para Composição de Estúdios Virtuais Utilizando ... · Seu princípio baseia-se na identificação de partes da imagem, em que se encontra uma determinada cor (“cor chave”)

6. Considerações finais

Neste projeto foram estudadas algumas alternativas para o desenvolvimento de estúdios virtuais através de técnicas de Realidade Aumentada.

O uso de marcadores fiduciais passivos foi essencial para a determinação exata do local em que os elementos virtuais são desenhados, além de permitirem a composição de cenas coerentes com considerações de profundidade, criando-se a ilusão de que os elementos reais e virtuais coexistem no mesmo espaço.

Uma vantagem de se utilizar marcadores para a composição da cena é a possibilidade de se utilizar apenas uma câmera, já que é possível calcular a distância dos marcadores em relação à câmera e, assim, desenhar os planos reais e os objetos virtuais na seqüência correta. O uso de apenas uma câmera requer menos processamento para gerar o mapa de profundidade da cena, um fator importante para a viabilidade do processo em tempo real.

A estrutura de marcadores em forma de cubo foi uma solução para permitir uma forma de interação mais dinâmica com o usuário e para amenizar a obstrução dos marcadores, pois com o ARToolKit, qualquer obstrução dos marcadores, por menor que seja, é suficiente para impedir o reconhecimento dos marcadores e que, consequentemente, impossibilita o desenho dos elementos virtuais na cena.

Através da técnica do chromakey, foi possível substituir o plano de fundo da imagem capturada pela câmera por outra imagem ou vídeo quaisquer. No entanto, para se obter resultados satisfatórios, alguns aspectos se mostraram determinantes, tais como a iluminação e a qualidade da câmera. O ambiente deve ser estritamente controlado para que a cena seja desenhada sem a ocorrência de jitter.

Como trabalhos futuros pretendem-se o estudo das formas de minimização do efeito de “serrilhamento” na silhueta dos elementos de primeiro plano, bem como a adição de sombras nos elementos virtuais e a utilização de mais de uma câmera para compor o mapa de visualização do cenário.

7. Referências [1] Azevedo, E. e Conci, A. Computação gráfica - teoria e prática. Editora Campus. Rio de Janeiro, RJ, Brasil, 2003.

[2] Chuang, Y.; Agarwala, A.; Curless, B.; Salesin, D.H.; Szeliski, R. “Video matting of complex scenes”. Proc. of SIGGRAPH ‘02, p. 243-248, San Antonio, Texas, 2002. [3] Darim Vision Corp. Darim's Virtual Studio: A Professional Set in an Instant! Disponível em: <http://darim.tv/products/virtual_studio/>. Acesso em: 23 Mar. 2009 [4] Grau, O.; Price, M.; Thomas, G. A. Use of 3-D Techniques for Virtual Production. BBC Research & Development, White Paper WHP 033, 2002. [5] Gvili, R.; Kaplan, A.; Ofek, E.; Yahav, G.; “Depth Keying”, Stereoscopic Displays and Virtual Reality Systems

X, vol. 5006, no. 1, pp. 564-574, 2003. [6] Jones, E. M. e Fjeld, Paul. Gimbal Angles, Gimbal Lock, and a Fourth Gimbal for Christmas. 2006. Disponível em: <http://history.nasa.gov/alsj/gimbals.html> Acesso em: 27 set. 2009. [7] Manssour, I. H.; Cohen, M. “OpenGL: uma abordagem pratica e objetiva”, 1ed. São Paulo, v. 1, p. 17-21, 2006. [8] ORAD. Orad RealSet Virtual Studio. Disponível em: <http://www.orad.co.il/en/page.asp?id=68>. Acesso em: 23 Mar. 2009. [9] RT Software Ltd. Disponivel em: <http://www.rtsw.co.uk/index.php?page=mixtv>. Acesso em: 23 Mar. 2009. [10] Segal, M.; Akeley, K. The opengl graphics system: A specification version 2.1. Disponível em: <http://www.opengl.org/> Acesso em: 27 set. 2009. [11] Shoemake, K. Animating rotation with quaternion curves. ACM SIGGRAPH, p. 245-254, 1985. [12] Thomas, G. A. Mixed reality techniques for tv and their application for on-set and pre-visualization in film production. International Workshop on Mixed Reality Technology for Flimmaking, 2006. [13] ULTIMATTE CORPORATION Ultimatte feature comparison chart. Disponível em: <http://www.ultimatte.com> Acesso em: 27 Mar. 2009. [14] van den Bergh, F. e Lalioti, V. Software Chroma-keing in Immersive Virtual Environments. Computer Science and Information Systems, Computer Journal, No. 24, p. 155-162, South Africa, Nov. 1999.

XII Symposium on Virtual and Augmented Reality Natal, RN, Brazil - May 2010

30