Modelagem e Visualização de Terrenos baseada em Fotografias




Síntese de Textura



Além da modelagem da geometria doterreno, outro processo importante para a criação de modelos realistas é a sintese de texturas coerente com o relevo modelado. Podemos relacionar texturas de terrenos com fotografias das seguintes formas:

  • Entender como se da o mapeamento;
  • Como realizar a transição entre texturas;
  • Obter exemplares para síntese de textura.

Para realizar o mapeamento de textura precisamos inicialmente definir as regiões em que cada textura deverá ser mapeada. Para isso podemos utilizar uma abordagem baseada em sketches, aonde o usuário desenha as regiões e informa qual textura deverá ser mapeada; assim como podemos utilizar uma abordagem baseadas em certas características do terreno, ou seja, divide-se o terreno baseando-se em certas características e em cada região mapea-se uma textura.

Fizemos uma aplicação que realiza o mapeamento de texura através de sketches. Abaixo segue um exemplo de mapeamento de textura em um terreno que simula o Pão de Açucar.

  

  

Abaixo segue um exemplo de um mapeamento de textura feito com a aplicação desenvolvida neste projeto.

  

Outro informação interessante que se pode obter a partir da análise de imagens é como realizar a transição entre texturas. Uma primeira abordagem é construir uma textura especial para ser mapeada na região de transição entre duas ou mais regiões. Existem diversas técnicas de síntese de textura baseada em multiplos exemplares que permite construir essa textura de transição. Outro aspecto interessante é que na natureza as fronteiras entre regiões com solos / vegetação distintas, em geral, são delimitadas com curvas fractais. Dessa forma, caso o usuário descreva as regiões como curvas fecdas suaves, podemos adicionar uma dimensão fractal para dar mais realismo ao mapeamento.

Por fim, outro aspecto interessante é que, em muitos casos, a transição entre texturas não é descontinua. Dessa forma, um processo interessante é realizar um blending na fronteira entre texturas. Implementamos duas técnicas para tal operação. A primeira consiste em fazer o blending na GPU (implementamos um vertex shader e um fragment shader para interpolar os triângulos da malha do terreno cujos vértices pertençam a regiões de texturas distintas). A imagem abaixo mostra o resultado de um terreno cujo mapeamento de textura foi feito através da análise de características do relevo, baseado na altura, implementado na GPU.



Outra operação implementda é fazer, em CPU, o cálculo da interpolação das texturas nas fronteiras. Abaixo mostraremos o exemplo do blending de uma fronteira entre duas texturas, em uma região definida automaticamente. A imagem seguinte é o detalhe da transição entre texturas feita em outro exemplo.

  



A ultima operação de referente a textura que estudamos a partir da análise de imagens foi o processo de sintese de textura. As primeiras experiencias foram feitas sintetizar texturas proceduralmente utilizando Ruido de Perlin. As imagens abaixos mostram exemplos gerados que simulam madeira e granito.

  

Outra experiência, mais relacionada ao problema de relacionar texuras com fotografia, é obter exemplares em fotografias que possam ser usados como fonte para procedimentos de síntese de texturas por exemplar. Sintetizar texturas por exemplar é, por si só, uma linha de pesquisa. Dessa forma, nossoobjetivo foi fazer experiencias simples nessa linha. A primeira experiência consiste em gerar texturas com algoritmos simples, tais como: replicar o exemplar; espelha-lo horizontalmente e verticalmente; sintetizar a textura através de janelas aleatórias obtidas no exemplar. Essas três técnicas são exemplificadas na imagem abaixo.



     

Outra experiencia foi gerar uma textura mudando a escala. No exemplo abaixo sintetizamos três texturas em diferentes escalas (aumentando da esquerda para a direita).



     

Por fim, a ultima experiencia em síntese de textura foi gerar uma textura em multiresolução baseada em duas fotografias. Abaixo mostramos um exemplo em que combinamos duas imagens de baixa resolução para gerar uma terceira de alta resolução. As três imagens da linha seguinte referem-se a imagem gerada, a uma região dessa imagem e a uma subregião.

  

     

Assim como o processo de modelagem, o potencial de utilizar informações extraidas de fotografias no processo de síntese de textura é muito rico. Não foi nosso objetivo explorar todas essas possibilidades, mas sim lista-las indicando caminhos para novas pesquisas. Entre as experiencias realizadas constatou-se que a parceria entre fotografias e síntese de texturas é bastante promissora para a sintese e mapeamento de texturas em terrenos de modo realístico.