34
Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Embed Size (px)

Citation preview

Page 1: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 )

Disney Douglas de Lima OliveiraEduardo Barrére

Page 2: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Índice

Conceitos Básicos envolvidosSimplificação de MalhasMétodo de Simplificação MemorylessMétodo de Otimização de MalhasComparação entre os métodosConclusão

Page 3: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Conceitos Básicos envolvidos

Modelagem de Objetos numa cena Representação na forma de polígonos, mais

especificamente triângulos

Visualização de Objetos numa cena Quanto mais próximo da câmera, melhor

deve ser a definição do objeto ( maior quantidade de triângulos para desenhá-lo ) - Múltiplos Níveis ( Modelagem multiresolução )

Page 4: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Objetivo da Simplificação de Malhas

Acelerar a apresentação de Modelos com uma grande quantidade de pontos

Com isso temos: Redução do custo na transformação do

modelo Redução da banda de memória utilizada pela

parte gráfica Maior rapidez na renderização da cena

Page 5: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas

Simplificar uma malha é basicamente diminuir a quantidade de pontos (vértices) necessários para representar o objeto. Pode ser feita de forma estática ou dinâmica. Principais áreas de aplicação:

Cartografia ( generalização da informação cartográfica - rios, estradas, encostas, etc.) Visão Computacional ( representação de modelos adquiridos com milhões de pontos - arqueologia, etc.) Computação Gráfica ( simuladores, tempo real, realidade virtual, etc.)

Page 6: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Algoritmos

Os algoritmos que fazem este processo devem levar em consideração [Garland-SIGGRAPH’97]:

Topologia e Geometria do Modelo de Entrada ( conjunto de pontos, manifold ) Outros atributos do Modelo de Entrada ( cor, textura, normal da superfície ) Domínio dos Vértices do Modelo de Saída ( subconjunto do modelo de entrada ou não ) Erros de aproximação ( métrica de erro entre o modelo original e o simplificado ) Velocidade / Qualidade do algoritmo

Page 7: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Operações

São possíveis as seguintes operações básicas: Agrupamento de vértices Remoção de vértices Colapso de bordas Par de vértices outras variações

Observações: Cada operação reduz a complexidade, influenciando

uma pequena região do modelo A execução desta operação em todas as regiões do

modelo, leva a grandes reduções

Page 8: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Agrupamento de Vértices

Agrupa um conjunto de vértices que

se encontram (geometricamente)

próximos

Alguns triângulos somem, tornando-

se linhas ou pontos

Pode causar um grande impacto na

topologia do objeto ( dificultada nas

transições)

Page 9: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Remoção de Vértices

Remove um vértice e as faces adjacentes

É necessário termos superfícies (faces) manifold

em relação ao vértice

Preserva a topologia local

Page 10: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Colapso de Bordas

Agrupa dois vértices próximos num único vértice Apaga os triângulos degenerados A remoção pode ser utilizada para suavizar transições

Page 11: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Remoção de Vértice x Colapso de Aresta

Vizinhança 1 vértice 2 vértices

Novos Vértices não 1 sem posição fixa

Nova Malha Várias Uma

Transições Dificilmente naturalSuaves

Remoção deVértice

Colapso de semi-aresta

Colapso de aresta

Page 12: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Par de Vértices

Combina quaisquer 2 vértices Escolha baseada na geometria, topologia,

atributos, etc.

Mais flexível do que o Colapso de Aresta Pode mudar facilmente a topologia

Maior controle local do que o Agrupamento de Vértices Escolha de vértices baseadas não

somente na proximidade dos vértices

Page 13: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Métricas de Erro

Estão sempre presentes nos componentes geométricos:

Distância entre vértices

Ocorre durante a mudança da topologia

( Agrupamento de Vértices e Par de Vértices )

Distância entre um vértice e um plano Armazena um conjunto de planos com cada Vértice. Ocorre

quando se une os vértices, pois une-se o “conjunto de planos”

v1 v2

v3

a b c

Page 14: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Métricas de Erro

Distância entre pontos de uma superfície Mede a distância de um conjunto de pontos em relação à uma

superfície

Distância entre superfícies Limita a máxima distância entre a superfície original e a

superfície simplificada

Erros também podem ocorrer nos atributos ( Cor dos

pixels, Vetor Normal, textura… )

Page 15: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Eficiência dos Métodos

Para medir a eficiência de cada algoritmo, pode ser

utilizada uma ferramenta chamada Metro

(http://vcg.iei.pi.cnr.it/metro.html), que mede a distância

entre o modelo original e o modelo gerado.

Page 16: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: METRO

Page 17: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Simplificação de Malhas: Metro – Resultados Numéricos

Objeto Vértices Faces Área

Original 34,834 69,451 571.28

Reduzido 2,052 4,001 569.35

Amostras Erro Máximo Erro Médio Volume Tempo

Tamanho No. E+ E- Em+ Em- Em Ev+ Ev- Ev seg

1.00 1,170 0.397 0.444 0.070 0.069 0.070 7.14 2.91 10.04 13.5

0.50 104,640 0.609 0.490 0.074 0.065 0.071 7.45 2.76 10.22 82.5

0.10 1,234,402 0.623 0.490 0.073 0.061 0.069 7.27 2.66 9.94 271.5

Page 18: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Malha Mapeamento Original de erros por vértices

Malha MapeamentoSimplificada de erros baseado na textura

Simplificação de Malhas: Metro – Visualização dos Resultados

Page 19: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Método de Simplificação Memoryless

Este método foi apresentado por Lindstrom e Turk em 1998 e propõe:

Reduzir o número de triângulos em um modelo utilizando o Colapso de Bordas. Ele difere de outros métodos por não reter a história da geometria do modelo original

durante a simplificação.

Page 20: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Método de Simplificação MemorylessAlgoritmo

Simplificação baseada no Colapso de Bordas (uma borda é substituída por um vértice, sendo removido 1 vértice, 2 triângulos e 3 arestas)

Novos vértices são inseridos através de otimização linear, preservando o volume e as fronteiras

Page 21: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Método de Simplificação MemorylessAlgoritmo

Não afeta outros triângulos além dos vizinhos Não armazena as informações do modelo durante a simplificação

utiliza a incrementação dos erros de superfície utiliza pouca memória apresenta simplicidade computacional

Estrutura de dados simplesFácil de implementarComputa 500 triângulos por segundo

Page 22: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Método de Simplificação MemorylessEscolha do Novo Vértice

O vértice substituto “V” é encontrado através da interseção de 3 planos não paralelos:

Page 23: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Método de Simplificação MemorylessEscolha do Novo Vértice

Os limites lineares para o vértice V são introduzidos em ordem de importância:

Preservação do volume (Vi = 0)

Otimização do volume ( menor Vi2 )

Page 24: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Método de Simplificação MemorylessEscolha do Novo Vértice

Preservação e Otimização da Área

Otimização da forma do triângulo só é utilizada quando a malha está degenerada

( as superfícies são planares e linearmente limítrofes)

Page 25: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Método de Simplificação MemorylessOrdenação do Colapso de Arestas

O colapso de arestas é ordenado de acordo com a medida de custo referente a combinação do volume e da varredura da área

Vi2+(1-)L2

Ai2

Onde: L é o tamanho da aresta e pode variar de 0 a 1, indicando ao fator de “qualidade” entre o interior da face e seus limites .

Bordas com baixo custo são eleitas em cada iteração

Page 26: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Page 27: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Comparação de Resultados

Utilizamos o paper escrito por Lindstrom & Turk no paper “Evaluation of Memoryless Simplification” [IEEE Transactions – Junho 99] como fonte de comparação entre os métodos de simplificação Memoryless e Otimização de Malhas

Page 28: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Comparação: Exemplo 1

Original Mesh Memoryless T=96966 T=598 T=596

1h07m27s 01m36s

Page 29: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Comparação: Exemplo 1

Page 30: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Comparação: Exemplo 1

Page 31: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Comparação: Exemplo 2

Original Mesh Memoryless T=69451 T=1342 T=1336 V=34834 V=701 V=686 42m04s 01m20s E=2.046 E=2.025

Page 32: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Comparação: Exemplo 3

Original Mesh Memoryless T=16384 T=51 T=49 V=8448 V=37 V=38

08m47s 17s E=88 E=87

Page 33: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Conclusão

Simplificação MemorylessResultados comparável com os melhores

métodos, é rápido, utiliza pouca memória e gera bons resultados para modelos grandes

Atualmente já incorpora atributos como cor e vêm sendo testado em aplicações cartográficas.

Page 34: Refinamento e Simplificação de Malhas ( CPS851 - Bloco1 / 2002 ) Disney Douglas de Lima Oliveira Eduardo Barrére

Refinamento e Simplificação de Malhas (CPS851 - Bloco1/2002) Disney - Barrére

Bibliografia

H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuezle, “Mesh Optimization”, Proc. SIGGRAPH 93, pp. 19-26, Aug. 1993

P. Cignoni, C. Rochini, and R. Scopigno, “Metro: Measuring Error on Simplified Surfaces, Computer Graphics Forum, vol. 17, no. 2, pp. 167-174, June 1998.

P. Lindstrom and G. Turk, “Evaluation of Memoryless Simplification”, IEEE Transactions on Visualizatioon and Computer Graphics, vol. 5, no. 2, pp. 98-115, Apr. 1999

P. Lindstrom and V. Pascucci, “Terrain Simplification Simplified: A General Framework for View-Dependent Out-of-Core Visualization”, submit for ”IEEE Transactions on Visualizatioon and Computer Graphics”, May 2002.