Visualização
e Modelagem Baseada em Imagens
Paulo
Cezar Pinto Carvalho
Tradicionalmente,
a área de Computação Gráfica lida com
o problema de gerar imagens, através de programas de computador,
a partir dos dados de uma cena, como ilustra esquematicamente a
Figura 1. Em geral, a cena é descrita através de uma
lista dos objetos que a compõem, juntamente com suas condições
de iluminação. Para cada objeto, devem ser descritas
as suas características geométricas, que definem sua
forma, e a maneira pela qual eles interagem com a luz incidente.
Ambos os tipos de características podem ser descritos através
de modelos com grau variável de sofisticação,
que determina o grau de realismo da imagem obtida. Normalmente,
cenas complexas são criadas com programas especializados,
que oferecem recursos de modelagem geométrica e de especificação
de características óticas (material, cor, transparência,
etc). De modo geral, a produção de uma cena realista
requer uma grande quantidade de trabalho, além de um usuário
razoavelmente especializado. Isso ocorre mesmo que a cena sintética
pretenda reproduzir objetos reais, já que é necessário
estabelecer modelos para estes objetos.
|
Figura
1: Computação gráfica tradicional
|
Recentemente,
porém, foram introduzidas novas técnicas em Computação
Gráfica para a geração eficiente de cenas sintéticas
envolvendo objetos reais. Estas técnicas utilizam recursos
desenvolvidos nas pesquisas em Visão Computacional e modificam
o esquema da Figura 1 de um dos dois modos ilustrados na Figura
2. Na visualização baseada em imagens, a geração
de novas imagens se dá diretamente a partir de um conjunto
de imagens da cena, sem que seja gerado um modelo tridimensional
dela. Já na modelagem baseada em imagens, fotografias da
cena (ou dos objetos lá presentes) são utilizadas
para gerar modelos, a partir dos quais são geradas imagens
sintéticas utilizando os recursos usuais da Computação
Gráfica.
|
|
(a)
|
(b)
|
Figura
2: (a) Visualização baseada em imagens; (b)
Modelagem baseada em imagens
|
Um
exemplo de utilização de técnicas de visualização
baseada em imagens ocorre nos panoramas virtuais (veja, por exemplo,
o software QuicktimeVR, disponível em www.apple.com ), que
simulam uma câmera cuja posição é fixa
(por exemplo, posicionada no centro de uma sala), mas que pode girar
interativamente 360o em torno da vertical. Além disso, normalmente
os panoramas virtuais têm o recurso de zoom, que permite ao
usuário observar os objetos da cena com maior ou menor detalhe.
Panoramas virtuais são construídos a partir de um
conjunto de fotografias tiradas com uma câmera que gira de
360o em torno de seu centro (bons resultados são conseguidos
com cerca de 20 fotografias). Executa-se, então, um processo
de ajuste, no qual se recupera o posicionamento relativo da câmera
nas diversas fotografias. Uma vez devidamente posicionadas no espaço,
as fotos são então reprojetadas em uma superfície
que envolve a cena (usualmente uma superfície cilíndrica).
A partir daí, pode-se posicionar a câmera virtual arbitrariamente;
a imagem a ser produzida é a projeção da porção
apropriada da superfície envolvente. A Figura 3 ilustra todo
o processo. As imagens lá presentes são provenientes
do projeto Visorama (www.visgraf.impa.br/visorama), desenvolvido
pelo Instituto de Matemática Pura e Aplicada (IMPA) e pela
Escola de Comunicação da Universidade Federal do Rio
de Janeiro (ECO-UFRJ), no qual foram construídos binóculos
virtuais capazes de visualizar panoramas.
|
Figura
3: Panoramas virtuais
|
Como
as imagens geradas nos panoramas virtuais são diretamente
geradas a partir de fotografias, obtém-se imagens bastante
realistas. Além disso, com a capacidade atual de processamento
das máquinas, elas podem ser obtidas em tempo interativo.
Deve-se observar, no entanto, que em nenhum momento foi construído
um modelo tridimensional da cena observada. Os objetos só
existem em projeção, sempre a partir do mesmo ponto
de observação. Isto faz com que seja impossível,
por exemplo, observar a cena a partir de um outro ponto de vista,
já que as relações de oclusão entre
os objetos dependem do ponto de observação. Se for
necessário, para uma dada aplicação, modificar
a posição da câmera ou criar objetos sintéticos
em posição geral, é preciso criar modelos tridimensionais
para os objetos presentes na cena original. Entramos, então,
no domínio da modelagem baseada em imagens.
Uma
grande variedade de aplicações utiliza aspectos de
modelagem baseada em imagens. Elas têm em comum o fato de
desejarem extrair informações sobre a cena para gerar,
a partir daí, novas imagens, seja modificando a cena original
(por exemplo, adicionando elementos sintéticos, no que se
costuma chamar de realidade aumentada) ou observando-a a partir
de posições diferentes ou sob outras condições
de iluminação.
Um
campo fértil para aplicações de modelagem baseada
em imagens é a transmissão de eventos esportivos.
É comum desejar-se inserir novos elementos na cena (por exemplo,
para criar linhas imaginárias, como a que mostra onde a barreira
deve se posicionar em uma cobrança de falta). Para que tais
elementos possam ser introduzidos, é essencial que se conheça
a posição e a orientação da câmera.
Estes dados podem ser produzidos por equipamentos especiais, que
registram os movimentos da câmera. No entanto, mesmo na ausência
destes equipamentos, é possível, em certos casos,
recuperar a posição da câmera, fazendo uso da
existência de pontos na imagem cuja posição
seja conhecida - é o caso, por exemplo, das marcações
de um campo de futebol. O Juiz Virtual (www.visgraf.impa.br/juizvirtual),
descrito nesta edição, é exemplo de uma aplicação
que explora estas idéias.
O uso
mais característico de modelagem baseada em imagens consiste
na recuperação de modelos geométricos e fotométricos
de objetos tridimensionais, para posterior visualização.
Convencionou-se chamar de Fotografia Tridimensional às técnicas
desenvolvidas para este fim. A idéia é utilizar fotografias
para obter a cor de pontos do objeto de interesse, em uma resolução
suficientemente detalhada para gerar imagens sintéticas de
alta qualidade. A informação de cor fornecida pelas
fotos, no entanto, não é suficiente. É necessário,
também, recuperar a posição de cada uma das
amostras, para que imagens sintéticas possam ser geradas.
A idéia
básica para recuperar a posição dos pontos
do objeto no espaço é a de triangulação,
ilustrada na Figura 4. Mesmo quando os dados da câmera que
obteve uma fotografia são conhecidos, não é
possível determinar a posição no espaço
de um dado ponto da imagem: ele pode localizar-se em qualquer ponto
da reta que o liga ao centro ótico da câmera. Se, no
entanto, for conhecido um plano ao qual o ponto pertença,
a sua posição fica determinada.
|
Figura
4: Triangulação
|
Este
é o princípio de funcionamento dos scanners tridimensionais
a laser. Esses aparelhos operam da forma indicada esquematicamente
na Figura 5. Um feixe de laser, contido em um plano conhecido, incide
sobre o objeto, cuja imagem é capturada por uma câmera,
também de posição conhecida. Os pontos iluminados
pelo laser formam uma curva na imagem. Para cada ponto da curva
conhece-se uma reta (a que liga o ponto na imagem ao centro ótico)
e um plano (do feixe de laser) aos quais pertence o ponto do espaço
que se projeta no ponto da curva. O ponto no espaço tridimensional
pode ser obtido, portanto, encontrando-se a interseção
da reta e do plano. Para reconstruir o objeto completo, pode-se,
por exemplo, girá-lo em torno de um eixo vertical; para cada
posição, um perfil do objeto é obtido. A união
de todos os perfis fornece o objeto completo. Uma vez obtidas as
amostras, elas precisam ainda ser registradas entre si e estruturadas,
em geral sob a forma de malhas poligonais.
|
Figura
5 - Scanners a laser
|
Há
diversas variantes deste esquema básico. Uma delas, interessante
por não requerer o uso de equipamentos especiais, substitui
o laser pela projeção, sobre o objeto, de padrões
especiais conhecidos. Esses padrões podem ser projetados
por um projetor de slides ou por um "canhão", previamente
calibrados. Em geral, adota-se padrões do gênero mostrado
na Figura 6, formado por faixas verticais, que fazem o papel do
feixe de laser. Na verdade, para poder-se determinar que faixa vertical
corresponde a um dado ponto, são projetados diversos padrões
relacionados, que formam o que se chama de código de Gray.
|
Figura
6 - Objeto iluminado com padrão projetado de listras
|
Merecem menção
especial dois projetos que fazem uso de Fotografia Tridimensional.
Os dois projetos têm objetivos semelhantes - preservação
histórica de um conjunto de estátuas renascentistas
-, mas têm diferentes requisitos de qualidade da reconstrução.
O projeto Michelângelo
Digital é um ambicioso projeto de reconstrução
de um conjunto de estátuas de Michelângelo, com resolução
de 0,25 mm, resultando em modelos contendo cerca de 2000 bilhões
de polígonos. Já o projeto Pietà (www.research.ibm.com/pieta)
teve por objetivo reconstruir uma única estátua - a
Pietà, também de autoria de Michelângelo -, com
resolução de 2 mm. Os diferentes requisitos levaram
a diferentes escolhas do aparato utilizado: o primeiro usou scanners
a laser, enquanto o segundo usou o esquema de projeção
de padrões descrito acima.
Encerramos
frisando que a área de modelagem baseada em imagens (em especial,
de fotografia tridimensional) é uma área ativa de
pesquisa, combinando técnicas de Computação
Gráfica, Processamento de Imagens e Visão Computacional.
Por exemplo esperamos ver no futuro próximo novas técnicas
para obtenção interativa de modelos tridimensionais,
a partir de seqüências de vídeo, para cenas das
quais se conhece, a priori, muito pouco. Nosso grupo, no laboratório
Visgraf (www.visgraf.impa.br), do IMPA, é um dos muitos grupos
interessados neste tipo de problema.
Paulo
Cezar Pinto Carvalho é professor de Computação
Gráfica no Instituto de Matemática Pura e Aplicada
(IMPA) - RJ
|