Mesh Simplification Katja Bühler Mathematische Methoden der Computergraphik Slides stolen from: John C. Hart Who has the slides stolen from: Michael Garland.

Slides:



Advertisements
Similar presentations
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Advertisements

Surface Simplification using Quadric Error Metrics Guowei Wu.
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
4.4. L EVEL OF D ETAIL Exploration of 3D mesh level-of-detail approaches.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification.
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Mesh Simplification Global and Local Methods:
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Surface Simplification & Edgebreaker Compression for 2D Cel Animations Vivek Kwatra & Jarek Rossignac GVU Center, College of Computing Georgia Institute.
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Visibility-Guided Simplification Eugene Zhang and Greg Turk GVU Center, College of Computing Georgia Institute of Technology.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Irregular to Completely Regular Meshing in Computer Graphics Hugues Hoppe Microsoft Research International Meshing Roundtable 2002/09/17 Hugues Hoppe Microsoft.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 11: Quadric Error Metrics Ravi Ramamoorthi Some material.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
10/14/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Level of Detail.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
Network Aware Resource Allocation in Distributed Clouds.
Dynamic Meshing Using Adaptively Sampled Distance Fields
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Level of Detail & Visibility: A Brief Overview David Luebke University of Virginia.
10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching.
The Problem of Detail Graphics systems are awash in model data very detailed CAD databasesvery detailed CAD databases high-precision surface scanshigh-precision.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
Scalable, High-Quality Mesh Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric Shaffer University.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Simplifying Polygonal Surfaces with Quadric Error Metrics Michael Garland University of Illinois at Urbana-Champaign November 1999 Michael Garland University.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
Polygonal Simplification Techniques
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 8 Ravi Ramamoorthi
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert August 1997 Michael Garland Paul S. Heckbert August 1997.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
Application: Multiresolution Curves Jyun-Ming Chen Spring 2001.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Rendering Large Models (in real time)
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Advanced Computer Graphics (Spring 2013) Mesh representation, overview of mesh simplification Many slides courtesy Szymon Rusinkiewicz.
Multiresolution Modeling: Survey & Future Opportunities Michael Garland University of Illinois at Urbana-Champaign, USA September 1999 Michael Garland.
A Multiphase Approach to Efficient Surface Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric.
CS Computer Graphics II
CS679 - Fall Copyright Univ. of Wisconsin
CS475 3D Game Development Level Of Detail Nodes (LOD)
Today Runtime LOD Spatial Data Structures Overview
Jarek Rossignac GVU Center Georgia Institute of Technology
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Presentation transcript:

Mesh Simplification Katja Bühler Mathematische Methoden der Computergraphik Slides stolen from: John C. Hart Who has the slides stolen from: Michael Garland

The Problem of Detail Graphics systems are awash in model data –very detailed CAD databases –high-precision surface scans Available resources are always constrained –CPU, space, graphics speed, network bandwidth We need economical models –want the minimum level of detail (LOD) required

A Non-Economical Model 424,376 faces 60,000 faces

Automatic Surface Simplification

Produce approximations with fewer triangles –should be as similar as possible to original –want computationally efficient process Need criteria for assessing model similarity –visual similarity the ultimate goal for display –similarity of shape is often used instead generally easier to compute lends itself more to applications other than display

Focus on Polygonal Models Polygonal surfaces are ubiquitous –only primitive widely supported in hardware –near-universal support in software packages –output of most scanning systems Switching representations is no solution –indeed, some suffer from the same problem –many applications want polygons Will always assume models are triangulated

Historical Background Function approximation [y=f(x)] –long history in mathematical literature Piecewise linear curve approximation –various fields: graphics, cartography, vision, … Height field (i.e., terrain) triangulation –research back to at least early 70’s –important for flight simulators

Other Related Fields Geometry compression –simplification is a kind of lossy compression Surface smoothing –reduces geometric complexity of shape Mesh generation –finite element analysis (e.g., solving PDE’s) –need appropriate mesh for good solution –overly complex mesh makes solution slow

Overview of Simplification Methods Manual preparation has been widely used –skilled humans produce excellent results –very labor intensive, and thus costly Most common kinds of automatic methods –vertex clustering –vertex decimation –iterative contraction

Optimal Approximations Achieve given error with fewest triangles –no mesh with fewer triangles meets error limit Computationally feasible for curves –O(n) for functions of one variable –but O(n 2 log n) for plane curves Intractable for surfaces –NP-hard to find optimal height field [Agarwal–Suri 94] –must also be the case for surfaces

Vertex Clustering Partition space into cells –grids [Rossignac-Borrel], spheres [Low-Tan], octrees,... Merge all vertices within the same cell –triangles with multiple corners in one cell will degenerate

Vertex Decimation Starting with original model, iteratively –rank vertices according to their importance –select unimportant vertex, remove it, retriangulate hole A fairly common technique –Schroeder et al, Soucy et al, Klein et al, Ciampalini et al

Iterative Contraction Contraction can operate on any set of vertices –edges (or vertex pairs) are most common, faces also used Starting with the original model, iteratively –rank all edges with some cost metric –contract minimum cost edge –update edge costs

Edge Contraction Single edge contraction (v 1,v 2 )  v’ is performed by –moving v 1 and v 2 to position v’ –replacing all occurrences of v 2 with v 1 –removing v 2 and all degenerate triangles v1v1 v1v1 v2v2 v2v2 v’

Vertex Pair Contraction Can also easily contract any pair of vertices –fundamental operation is exactly the same –joins previously unconnected areas –can be used to achieve topological simplification

Iterative Edge Contraction Currently the most popular technique –Hoppe, Garland–Heckbert, Lindstrom-Turk, Ronfard-Rossignac, Guéziec, and several others –simpler operation than vertex removal –well-defined on any simplicial complex Also induces hierarchy on the surface –a very important by-product –enables several multiresolution applications

Cost Metrics for Contraction Used to rank edges during simplification –reflects amount of geometric error introduced –main differentiating feature among algorithms Must address two interrelated problems –what is the best contraction to perform? –what is the best position v’ for remaining vertex? can just choose one of the endpoints but can often do better by optimizing position of v’

Cost Metrics for Contraction Simple heuristics –edge length, dihedral angle, surrounding area, … Sample distances to original surface –projection to closest point [Hoppe] –restricted projection [Soucy–Laurendeau, Klein et al, Ciampalini et al] Alternative characterization of error –quadric error metrics [Garland–Heckbert] –local volume preservation [Lindstrom–Turk]

Measuring Error with Planes Each vertex has a (conceptual) set of planes –Error  sum of squared distances to planes in set Initialize with planes of incident faces –Consequently, all initial errors are 0 When contracting pair, use plane set union –planes(v’) = planes(v 1 )  planes(v 2 )

A Simple Example: Contraction & “Planes” in 2D Lines defined by neighboring segments –Determine position of new vertex –Accumulate lines for ever larger areas Original After 1 Step v1v1v1v1 v2v2v2v2v’

Measuring Error with Planes Why base error on planes? –Faster, but less accurate, than distance-to-face –Simple linear system for minimum-error position –Efficient implicit form; no sets required –Drawback: unlike surface, planes are infinite Related error metrics –Ronfard & Rossignac — max vs. sum –Lindstrom & Turk — similar form; volume-based

The Quadric Error Metric Given a plane, we can define a quadric Q measuring squared distance to the plane as

The Quadric Error Metric Sum of quadrics represents set of planes Each vertex has an associated quadric –Error(v i ) = Q i (v i ) –Sum quadrics when contracting (v i,v j )  v’ –Cost of contraction is Q (v’)

The Quadric Error Metric Sum of endpoint quadrics determines v’ –Fixed placement: select v 1 or v 2 –Optimal placement: choose v’ minimizing Q (v’) –Fixed placement is faster but lower quality –But it also gives smaller progressive meshes –Fallback to fixed placement if A is non-invertible

Visualizing Quadrics in 3-D Quadric isosurfaces –Are ellipsoids (maybe degenerate) –Centered around vertices –Characterize shape –Stretch in least- curved directions

Sample Model: Dental Mold 424,376 faces 60,000 faces 50 sec

Sample Model: Dental Mold 424,376 faces 8000 faces 55 sec

Sample Model: Dental Mold 424,376 faces 1000 faces 56 sec

Must Also Consider Attributes Mesh for solution Radiosity solution

Must Also Consider Attributes 50,761 faces 10,000 faces

Simplification Summary Spectrum of effective methods developed –high quality; very slow [Hoppe et al, Hoppe] –good quality; varying speed [Schroeder et al; Klein et al; Ciampalini et al; Guéziec Garland-Heckbert; Ronfard-Rossignac; Lindstrom-Turk] –lower quality; very fast [Rossignac–Borrel; Low–Tan] –result usually produced by transforming original Various other differentiating factors –is topology simplified? restricted to manifolds? –attributes simplified or re-sampled into maps?

Static Resolution Not Enough Model used in variety of contexts –many machines; variable capacity –projected screen size will vary Context dictates required detail –LOD should vary with context –context varies over time –with what level of coherence?

Need Multiresolution Models Encode wide range of levels of detail –extract appropriate approximations at run time –must have low overhead space consumed by representation cost of changing level of detail while rendering –can be generated via simplification process Image pyramids (mip-maps) a good example –very successful technique for raster images

Discrete Multiresolution Models Given a model, build a set of approximations –can be produced by any simplification system –at run time, simply select which to render Inter-frame switching causes “popping” –can smooth transition with image blending –or use geometry blending: geomorphing [Hoppe] Supported by several software packages –RenderMan, Open Inventor, IRIS Performer,...

Limits of Discrete Models We may need varying LOD over surface –large surface, oblique view (eg. on terrain) need high detail near the viewer need less detail far away –single LOD will be inappropriate either excessively detailed in the distance (wasteful) or insufficiently detailed near viewer (visual artifacts) Doesn’t really exploit available coherence –small view change may cause large model change

Progressive Meshes We get more than just final approximation –sequence of contractions –corresponding intermediate approximations Re-encode as progressive mesh (PM) [Hoppe] –take final approximation to be base mesh –reverse of contraction sequence is split sequence –can reconstruct any intermediate model –allow for progressive transmission & compression

PM’s a Limited Multiresolution More flexibility is required –local addition/subtraction of triangles as conditions change, make small updates in LOD this is the multi-triangulation framework may require novel approximations Must encode dependency of contractions –PM’s imply dependency on earlier contractions –but we can reorder non-overlapping contractions

Structure Induced on Surface Every vertex on approximation corresponds to –a connected set of vertices on the original –hence a region on the surface: the union of neighborhoods Initial conditions –every vertex set is a singleton, every region a neighborhood

Structure Induced on Surface A contraction merges corresponding vertex sets –remaining vertex accumulates larger surface region When merging regions, can link them by mesh edge –as shown on left hand side

Structure Induced on Surface Links within single region form spanning tree –links within all regions form spanning forest –any contraction order within regions is (topologically) valid Regions always completely partition original surface

Structure Induced on Surface Pair-wise merging forms hierarchy –binary tree of vertices –also a binary tree of surface regions

Example: Initial Vertex Neighborhoods

Example: 99% of vertices removed

Example: 99.9% of vertices removed

Vertex Hierarchies A cut through the tree –contract all below cut –leaves are “active” –determines partition –and an approximation Encodes dependencies –PM’s assume total order –disjoint subtrees indep. –get novel approximations –but must avoid fold-over

Vertex Hierarchies for View-Dependent Refinement Multiresolution representation for display –incrementally move cut between frames [Xia-Varshney, Hoppe, Luebke-Erickson] –move up/down where less/more detail needed –relies on frame-to-frame coherence –can accommodate geomorphing [Hoppe] Common application of vertex hierarchy –hierarchy only guides active front evolution –more flexibility & overhead vs. discrete multires

Further Refinement in Vertex Hierarchies Also support synthetic refinement –edge contraction is an inverse of edge split –can synthesize temporary levels in tree by splitting edges –fractal extrapolation of terrain surface, for example

Applications Beyond Display Other important applications are appearing –surface editing [Guskov et al 99] –surface morphing [Lee et al 99] –multiresolution radiosity [Willmott et al 99] Still others seem promising –hierarchical bounding volumes –object matching –shape analysis / feature extraction

Multiresolution Model Summary Representations are available to support –progressive transmission –view-dependent refinement –hierarchical computation (e.g., radiosity) But limitations remain –vertex hierarchies may over-constrain adaptation –adaptation overhead not suitable for all cases –interacting multiresolution objects ignored

Looking Ahead We’ve reached a performance plateau –broad range of methods for certain situations –incremental improvement of existing methods Major progress may require new techniques –broader applicability of simplification –higher quality approximations Needs better understanding of performance –how well, in general, does an algorithm perform?

Greater Generality Many applications require non-rigid surfaces –articulated models for animation Other model types have complexity issues –tetrahedral volumes, spline patch surfaces,... Need to handle extremely large data sets –precise scans on the order of 10 9 triangles –this is where simplification is needed the most –even at 10 6 triangles, many algorithms fail

Too Large for Many Methods 1,765,388 faces 80,000 faces

Really Too Large … 8.2 million triangles (2 mm resolution) 6.8 million triangles (¼ mm resolution) Complete data sets: 0.3–1.0 billion triangles

Better Topological Simplification Imperceptible holes & gaps can be removed –most methods do this only implicitly Few if any methods provide good control –when exactly are holes removed? –will holes above a certain size be preserved? Requires better understanding of the model –when to simplify geometry vs. topology –seems to benefit from more volumetric approach

Better Performance Analysis Better criteria for evaluating similarity –image-based metric more appropriate for display –metrics which accurately account for attributes Most analysis has been case-based –measure/compare performance on 1 data set More thorough analysis is required –theoretical analysis of quality [Heckbert-Garland 99] –provably good approximations possible?

Higher Quality Approximations Poor performance at extreme reductions –algorithms do much worse than humans –perhaps because all transform original into result Simple iterative method quite short-sighted –only look one step ahead and never reconsider –many consider only the local effect of operation Consider separating analysis & synthesis –firstbuild multi-level knowledge of surface shape –then proceed with simplification

Alternative Frameworks Greedy simplification convenient but limited –directly produce contraction sequence –poor choices can never be reconsidered Other, albeit expensive, approaches possible –should produce a single sequence of contractions –graph partitioning builds sequence in reverse –more explicit optimization methods

Conclusions Substantial progress since 1992 –simplification of 3D surfaces –multiresolution representations (PM, hierarchies) –application of multiresolution in different areas There remains much room for improvement –more effective, more general simplification –better analysis and understanding of results –other multiresolution representations