38
Simplificação de superfícies Margareth Catoia Varela

Simplificação de superfícies Margareth Catoia Varela

Embed Size (px)

Citation preview

Page 1: Simplificação de superfícies Margareth Catoia Varela

Simplificação de superfícies

Margareth Catoia Varela

Page 2: Simplificação de superfícies Margareth Catoia Varela

O Problema

Seja uma superfície com n vértices

Encontrar uma boa aproximação usando m vértices.

Encontrar uma aproximação compacta com erro menor que um valor estipulado (ε).

Page 3: Simplificação de superfícies Margareth Catoia Varela

Quem faz simplificação? Cartografia, Sistemas de informação geográfica

Simuladores

Computação Gráfica

Visualização científica

Visão computacional

Geometria computacional

CAD

Teoria da aproximação

Page 4: Simplificação de superfícies Margareth Catoia Varela

Características do Problema

Que problema resolver?

Topologia da saída

Topologia e geometria da entrada

Outros atributos

Domínio da saída

Topologia da triangulação

Elementos de aproximação

Métrica de erro

Restrições

Page 5: Simplificação de superfícies Margareth Catoia Varela

Simplificação

Métodos incrementais baseados em atualizações locais Decimação de malhas [Schroeder et al. ‘92,... e outros]

Otimização da função de energia [Hoppe et al. ‘93, Hoppe ‘96, Hoppe ‘97]

Métrica do erro usando quádricas [Garland et al. ‘97]

Junção de faces coplanares (merging) [Hinker et al. ’93, Kalvin et al. ’96]

Re-tiling [Turk’92]

Clustering [Rossignac et al. ’93,... e outros]

Baseados em wavelets [Eck et al. ‘95]

Page 6: Simplificação de superfícies Margareth Catoia Varela

Métodos incrementais baseados em atualizações locais

Simplificação procede como uma seqüência de atualizações locais

Cada atualização reduz o tamanho da malha e diminui a precisão da aproximação

Page 7: Simplificação de superfícies Margareth Catoia Varela

...Métodos incrementais baseados em atualizações locais... Operações de atualização local:

Remoção de vértices

Contração de arestas

Contração de triângulo

Page 8: Simplificação de superfícies Margareth Catoia Varela

...Métodos incrementais baseados em atualizações locais...

Pseudo-código comum:

Faça Seleciona elemento a ser removido / contraído Executa operação Atualiza malha

Até que: precisão/tamanho da malha esteja satisfatório

Page 9: Simplificação de superfícies Margareth Catoia Varela

Otimização da função de energiaMesh Optimization [Hoppe et al.

’93]

Simplificação baseada na execução iterativa de: Contração de aresta (collapse) Partição de aresta (split) Troca de aresta (swap)

Page 10: Simplificação de superfícies Margareth Catoia Varela

Otimização da função de energia: Mesh Optimization Qualidade da aproximação avaliada com uma

função de energia:

E(M) = Edist(M) + Erep(M) + Espring(M)

Edist: soma das distâncias dos pontos originais a M

Erep: fator proporcional ao número de vértices em M

Espring: soma dos comprimentos das arestas

Page 11: Simplificação de superfícies Margareth Catoia Varela

Otimização da função de energia: Mesh Optimization Estrutura do algoritmo

Ciclo de minimização exterior Seleciona uma ação legal (collapse/split/swap) que reduza a

função de energia Executa a ação e atualiza a malha (Mi Mi+1)

Ciclo de minimização interior Otimiza a posição dos vértices de Mi+1 com respeito a malha

inicial M0

Para reduzir a complexidade: Seleção da ação lega é feita randomicamente Número fixo de iterações para minimização interna

Page 12: Simplificação de superfícies Margareth Catoia Varela

Otimização da função de energia: Mesh Optimization

Page 13: Simplificação de superfícies Margareth Catoia Varela

Otimização da função de energia: Mesh Optimization Avaliação

Alta qualidade dos resultados Preserva topologia, re-amostra os vértices Tempo de processamento alto Não é fácil de implementar Não é fácil de usar Adota avaliação de erro global, mas aproximação

não-limitada

Page 14: Simplificação de superfícies Margareth Catoia Varela

Otimização da função de energia: Progressive MeshesProgressive Meshes [Hoppe ’96]

Ação executada: apenas Collapse

Armazenamento da sequência de transformações inversas Multiresolução Transmissão progressiva Refinamento seletivo Geomorph

Page 15: Simplificação de superfícies Margareth Catoia Varela

Otimização da função de energia: Progressive Meshes Preserva aparência da malha (2 novos componentes

na função de energia: Escalar, Edisc)

Exemplo:

Page 16: Simplificação de superfícies Margareth Catoia Varela

Otimização da função de energia: Progressive Meshes Avaliação

Alta qualidade dos resultados Preserva topologia, re-amostra os vértices Não é fácil de implementar Não é fácil de usar Adota avaliação de erro global, mas aproximação

não-limitada Preserva atributos vetoriais/escalares e

descontinuidades Suporta saída em multiresolução, morphing

geométrico, transmissão progressiva, refinamento seletivo

Mais rápido do que MeshOptm.

Page 17: Simplificação de superfícies Margareth Catoia Varela

DecimaçãoMesh Decimation [Schoroeder et al ‘92]

Baseado na remoção controlada de vértices

Classificação dos vértices (removível ou não) baseada na topologia/geometria local e precisão requerida

Faça Escolhe um vértice removível vi Remove vi e suas faces incidentes Triangula o “buraco”

Até que: não exista vértice removível ou taxa de redução alcançada

Page 18: Simplificação de superfícies Margareth Catoia Varela

Fases do Algoritmo Classificação topológica dos vértices

Avaliação do critério de decimação (avaliação do erro)

Re-triangulação do pedaço de triângulos removidos

...Decimação...

Page 19: Simplificação de superfícies Margareth Catoia Varela

...Decimação...

Adota avaliação local da aproximação!

max determinado pelo usuário

Exemplo:

Page 20: Simplificação de superfícies Margareth Catoia Varela

...Decimação...

Avaliação:

Eficiente (velocidade e taxa de redução)

Implementação e uso simples

Boa aproximação

Trabalha sobre malhas enormes

Preserva topologia

Erro não limitado

Page 21: Simplificação de superfícies Margareth Catoia Varela

Mesh Decimation: Trabalhos complementares Precisão da aproximação melhorada, garantia de

erro limitado Erro limitado [Cohen ’96, Gueziec ‘96] Avaliação global de erro [Soucy’96,Bajaj’96,Klein’96,Ciampalini’97, + ...] Re-triangulação esperta (edge flipping) [Cohen ’96, Gueziec ‘96]

Multiresolução [Ciampalini ‘97]

Decimação de outras entidades Arestas [Gueziec ’95-’96, Ronfard’96, Algorri

‘96] Faces [Hamann ‘94]

Cores e atributos preservados [Soucy ’96, Cohen et al. ‘98]

Simplificação de topologia [Lorensen ‘97]

Page 22: Simplificação de superfícies Margareth Catoia Varela

Métrica de erro por quádricasSimplificação com Métrica de Erro usando quádricas

[Garland et al. ’97]

Baseado em sequência de operações de contração de aresta

Topologia não preservada

Page 23: Simplificação de superfícies Margareth Catoia Varela

...Métrica de erro por quádricas... Erro geométrico da aproximação gerenciado pela

distância quádrica ao planos incidentes ao vértice => representação matricial

Estrutura do algoritmo Seleciona um par de vértices válido e insere em uma

estrutura de dados ordenada pelo mínimo custo Faça

Extrai um par válido de vértices, v1 e v2, da estrutura ordenada e contrai-os num novo vértice vnovo;

Recalcula o custo para todos os pares que contém v1 e v2 e atualiza a estrutura ordenada.

Até que: Aproximação/redução seja suficiente ou estrutura ordenada esteja vazia

Page 24: Simplificação de superfícies Margareth Catoia Varela

...Métrica de erro por quádricas... Exemplo

Page 25: Simplificação de superfícies Margareth Catoia Varela

...Métrica de erro por quádricas... Avaliação:

Método incremental; iterativo

Erro é limitado

Permite simplificação de topologia

Resultados com alta qualidade e tempo de processamento baixo

Page 26: Simplificação de superfícies Margareth Catoia Varela

Algoritmos de simplificação

Métodos não incrementais

Junção de faces coplanares (merging)[Hinker et al. ’93, Kalvin et al. ’96]

Re-tiling [Turk’92]

Clustering [Rossignac et al. ’93,... e outros]

Baseados em wavelets [Eck et al. ‘95]

Page 27: Simplificação de superfícies Margareth Catoia Varela

Junção de faces coplanares

Otimização geométrica [Hinker ’93]

Construção de conjuntos de “quase” coplanares

Criação de lista de arestas e remoção de arestas duplicadas

Remoção de vértices colineares

Triangulação dos polígonos resultantes

Page 28: Simplificação de superfícies Margareth Catoia Varela

... Junção de faces coplanares... Avaliação:

Heurística simples e eficiente

Avaliação do erro é altamente imprecisa e erro não é limitado (depende do tamanho relativo da faces unidas)

Vértices são subconjunto dos originais

Preserva descontinuidades geométricas e topologia

Page 29: Simplificação de superfícies Margareth Catoia Varela

...Junção de faces coplanares...Superfaces [Kalvin, Taylor

‘96]

Agrupa as faces da malha em conjunto de superfaces: Iterativamente escolhe uma face fi como a superface corrente Sfj

Encontra, por propagação, todas as faces adjacentes a fi, cujos vértices estão a uma distância /2 do plano principal até Sfj e insere-as nesta superface

Para ser unida, cada face tem que ter orientação similar às outras em Sfj

Alinha a borda da superface Retriangula cada superface

Page 30: Simplificação de superfícies Margareth Catoia Varela

Junção de faces coplanares: Superfaces Exemplo:

Page 31: Simplificação de superfícies Margareth Catoia Varela

Junção de faces coplanares: Superfaces Avaliação:

Heurística um pouco mais complexa

Avaliação do erro mais precisa e erro limitado

Vértices são subconjunto dos originais

Preserva descontinuidades geométricas e topologia

Page 32: Simplificação de superfícies Margareth Catoia Varela

Re-tiling

Re-Tiling [Turk ‘92]

Distribui um novo conjunto de vértices sobre a malha triangular original

Remoção de parte dos vértices originais

Retriangulação local

Page 33: Simplificação de superfícies Margareth Catoia Varela

ClusteringVertex Clustering [Rossignac, Borrel ‘93]

Detecta e une grupos de vértices próximos Todas as faces com 2 ou 3 vértices num grupo são

removidas Aproximação depende da resolução do grid Não preserva topologia

Page 34: Simplificação de superfícies Margareth Catoia Varela

...Clustering...

Exemplo

Page 35: Simplificação de superfícies Margareth Catoia Varela

...Clustering...

Avaliação:

Alta eficiência

Implementação e uso muito simples

Aproximações de baixa qualidade

Não preserva topologia

Erro é limitado pelo tamanho da célula do grid

Page 36: Simplificação de superfícies Margareth Catoia Varela

Métodos Wavelet

Análise de Multiresolução [Eck et al. ’95, Lounsbery ‘97]

Baseado na aproximação por wavelet Malha base simples Termos de correção local (coeficientes wavelet)

Dado uma malha de entrada Particiona Parametriza Re-amostra

Caracterísiticas Erro limitado, compacta representação em multiresolução,

edição da malha em múltiplas escalas

Page 37: Simplificação de superfícies Margareth Catoia Varela

... Métodos Wavelet...

Exemplo

Page 38: Simplificação de superfícies Margareth Catoia Varela

Bibliografia da apresentação

Surface Simplification Algorithms Overview

Leila De Floriani, Enrico Puppo, Roberto Scopigno

Survey of Polygonal Surface Simplification Algorithms

Paul S. Heckbert, Michael Garland