A Multiphase Approach to Efficient Surface Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric.

Slides:



Advertisements
Similar presentations
Multilevel Hypergraph Partitioning Daniel Salce Matthew Zobel.
Advertisements

 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Surface Simplification using Quadric Error Metrics Guowei Wu.
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Multilevel Streaming for Out-of-Core Surface Reconstruction
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Rapid Visualization of Large Point-Based Surfaces Tamy Boubekeur Florent Duguet Christophe Schlick Presented by Xavier Granier.
Computer Graphics Group Alexander Hornung Alexander Hornung and Leif Kobbelt RWTH Aachen Robust Reconstruction of Watertight 3D Models from Non-uniformly.
Dual Marching Cubes: An Overview
Robust Repair of Polygonal Models Tao Ju Rice University.
5/1/2000Deepak Bandyopadhyay / UNC Chapel Hill 1 Extended Quadric Error Functions for Surface Simplification Deepak Bandyopadhyay COMP 258 F2000 Project.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
New quadric metric for simplifying meshes with appearance attributes Hugues Hoppe Microsoft Research IEEE Visualization 1999 Hugues Hoppe Microsoft Research.
Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification.
1 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problems The discrete way © Alexander & Michael Bronstein, ©
CENG 789 – Digital Geometry Processing 05- Smoothing and Remeshing
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Mark Waitser Computational Geometry Seminar December Iterated Snap Rounding.
1 Numerical geometry of non-rigid shapes A journey to non-rigid world objects Numerical methods non-rigid Alexander Bronstein Michael Bronstein Numerical.
Efficient simplification of point-sampled geometry Mark Pauly Markus Gross Leif Kobbelt ETH Zurich RWTH Aachen.
Part Two Multiresolution Analysis of Arbitrary Meshes M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, W. Stuetzle SIGGRAPH 95.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
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.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
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.
1 Numerical geometry of non-rigid shapes Shortest path problems Shortest path problems Lecture 2 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
1 Dr. Scott Schaefer Surface Simplification. 2/32 Surface Simplification Given a closed polygon model, reduce the number of polygons and maintain appearance.
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.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
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
Clustering.
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
Hierarchical Error-Driven Approximation of Implicit Surfaces from Polygonal Meshes Takashi Kanai Yutaka Ohtake Kiwamu Kase University of Tokyo RIKEN, VCAD.
CS418 Computer Graphics John C. Hart
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 7 Ravi Ramamoorthi
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert August 1997 Michael Garland Paul S. Heckbert August 1997.
Gene expression & Clustering. Determining gene function Sequence comparison tells us if a gene is similar to another gene, e.g., in a new species –Dynamic.
Using simplified meshes for crude registration of two partially overlapping range images Mercedes R.G.Márquez Wu Shin-Ting State University of Matogrosso.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
ALGORITHMS FOR POLYGON REDUCTION Author: Ing. Roman Schulz FIT VUT, 2008.
Level of Detail: Generating LODs David Luebke University of Virginia.
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)
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 10, 2015 TRIANGLE MESHES 3D MESHES MESH OPERATIONS.
Advanced Computer Graphics (Spring 2013) Mesh representation, overview of mesh simplification Many slides courtesy Szymon Rusinkiewicz.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Danfoss Visual Inspection System
Advanced Computer Graphics
User-Guided Simplification
CS679 - Fall Copyright Univ. of Wisconsin
CS475 3D Game Development Level Of Detail Nodes (LOD)
Controlled Topology Simplification (Voxel Based Object Simplification)
Parallel Model Simplification of Very Large Polygonal Meshes
Foundation of Video Coding Part II: Scalar and Vector Quantization
Perform marching cubes over a sparse dual grid
Chap 10. Geometric Level of Detail
Simplification of Articulated Mesh
Presentation transcript:

A Multiphase Approach to Efficient Surface Simplification Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign Michael Garland Eric Shaffer University of Illinois at Urbana–Champaign

Typical Simplification Problem 1,765,388 faces 420,000 faces 80,000 faces

One Common Solution Greedy iterative contraction edges (or vertex pairs) are most common, faces also usededges (or vertex pairs) are most common, faces also used Starting with the original model, iteratively rank all edges with some cost metricrank all edges with some cost metric contract minimum cost edgecontract minimum cost edge update edge costsupdate edge costs Greedy iterative contraction edges (or vertex pairs) are most common, faces also usededges (or vertex pairs) are most common, faces also used Starting with the original model, iteratively rank all edges with some cost metricrank all edges with some cost metric contract minimum cost edgecontract minimum cost edge update edge costsupdate edge costs

Measuring Contraction Cost: Quadric Error Metric Given a plane, we can define a quadric Q measuring squared distance of point to plane

Measuring Contraction Cost: Quadric Error Metric Sum of quadrics represents set of planes Any set of vertices has an associated quadric sum of quadrics for faces with corner in setsum of quadrics for faces with corner in set find representative point v * minimizing Q(v * )find representative point v * minimizing Q(v * ) Sum of quadrics represents set of planes Any set of vertices has an associated quadric sum of quadrics for faces with corner in setsum of quadrics for faces with corner in set find representative point v * minimizing Q(v * )find representative point v * minimizing Q(v * )

Why Iterative Methods Fail: Massive Surface Models 8 million triangles 28 million triangles 300 million triangles

One Solution: Out-of-Core Simplification Single pass spatial clustering partition space into cellspartition space into cells merge all vertices within each cellmerge all vertices within each cell Two common partition types uniform grid [Lindstrom 00]uniform grid [Lindstrom 00] BSP tree [Shaffer & Garland 01]BSP tree [Shaffer & Garland 01] Single pass spatial clustering partition space into cellspartition space into cells merge all vertices within each cellmerge all vertices within each cell Two common partition types uniform grid [Lindstrom 00]uniform grid [Lindstrom 00] BSP tree [Shaffer & Garland 01]BSP tree [Shaffer & Garland 01]

But Output Quality Deteriorates Significantly Original Uniform grid (1100 faces) BSP tree (1000 faces)

Want Truly General Method Able to process meshes of arbitrary size output-sensitive memory usageoutput-sensitive memory usage scan through input a minimal number of timesscan through input a minimal number of times like out-of-core clustering methodslike out-of-core clustering methods Produce high quality approximations even at low output resolutionseven at low output resolutions like iterative contraction algorithmslike iterative contraction algorithms Able to process meshes of arbitrary size output-sensitive memory usageoutput-sensitive memory usage scan through input a minimal number of timesscan through input a minimal number of times like out-of-core clustering methodslike out-of-core clustering methods Produce high quality approximations even at low output resolutionseven at low output resolutions like iterative contraction algorithmslike iterative contraction algorithms

Multiphase Method: Do Both! Phase I: Uniform clustering perform out-of-core clustering (uniform grid)perform out-of-core clustering (uniform grid) produce intermediate vertices + facesproduce intermediate vertices + faces and 1 quadric per vertexand 1 quadric per vertex Phase II: Iterative edge contraction beginning with quadrics from Phase Ibeginning with quadrics from Phase I iteratively contract edge of least cost as beforeiteratively contract edge of least cost as before Phases are coupled together by quadrics Phase I: Uniform clustering perform out-of-core clustering (uniform grid)perform out-of-core clustering (uniform grid) produce intermediate vertices + facesproduce intermediate vertices + faces and 1 quadric per vertexand 1 quadric per vertex Phase II: Iterative edge contraction beginning with quadrics from Phase Ibeginning with quadrics from Phase I iteratively contract edge of least cost as beforeiteratively contract edge of least cost as before Phases are coupled together by quadrics

Multiphase Simplification Phase I Phase II 300 million triangles 10,000 triangles 1 million triangles

Multiphase vs. Uniform Grid Original 8 million faces Uniform grid (46 seconds) Multiphase (65 seconds)

Not Just 2 Separate Systems Original Multiphase Separate passes QSlim

Quality Similar to QSlim OriginalQSlimMultiphase

Choosing Grid Size Specify target memory consumption system builds grid to occupy allowable spacesystem builds grid to occupy allowable space only approximate due to sparse data structureonly approximate due to sparse data structure Specify voxel diameter system carves up bounding box appropriatelysystem carves up bounding box appropriately provides Hausdorff error bound on Phase Iprovides Hausdorff error bound on Phase I our currently preferred approachour currently preferred approach

The Effiect of Grid Resolution 200x115x344 (322,347 tri.) 100x57x172 (81,547 tri.) 50x29x86 (20,127 tri.) 25x14x43 (4511 tri.) Approximations with 5000 triangles (145–160 sec.) 28 million triangles

Examining Variants of Multiphase Simplification Decoupled multiphase variants decoupled phases (just eliminate quadric sharing)decoupled phases (just eliminate quadric sharing) decoupled phases with memoryless Phase IIdecoupled phases with memoryless Phase II Test consistently worse than main variant error rates are 20–50% higher in our testserror rates are 20–50% higher in our tests differences are minimal with very fine and very coarse voxel grids in Phase Idifferences are minimal with very fine and very coarse voxel grids in Phase I

Sample Results: Statue of St. Matthew 300 mil. triangles 1 million triangles 100,000 triangles 10,000 triangles 5000 triangles

Multiphase Simplification General Purpose Solution Multiphase system often superior to Qslim several times faster & much less memoryseveral times faster & much less memory asymptotically lower time complexityasymptotically lower time complexity can produce lower error (observed up to 40%)can produce lower error (observed up to 40%) One (potentially significant) drawback can not guarantee topology preservationcan not guarantee topology preservation this is a limitation of Phase 1 uniform clusteringthis is a limitation of Phase 1 uniform clustering Multiphase system often superior to Qslim several times faster & much less memoryseveral times faster & much less memory asymptotically lower time complexityasymptotically lower time complexity can produce lower error (observed up to 40%)can produce lower error (observed up to 40%) One (potentially significant) drawback can not guarantee topology preservationcan not guarantee topology preservation this is a limitation of Phase 1 uniform clusteringthis is a limitation of Phase 1 uniform clustering

What Are Allowable Phases? Must accept as input: vertices + faces + per vertex quadricsvertices + faces + per vertex quadrics Must produce as output: vertices + faces + per vertex quadricsvertices + faces + per vertex quadrics input vertices map to output verticesinput vertices map to output vertices –adjacent input vertices either map to the same output vertex or adjacent output vertices output quadrics are sum of input quadrics for input vertices that map to given output vertexoutput quadrics are sum of input quadrics for input vertices that map to given output vertex Must accept as input: vertices + faces + per vertex quadricsvertices + faces + per vertex quadrics Must produce as output: vertices + faces + per vertex quadricsvertices + faces + per vertex quadrics input vertices map to output verticesinput vertices map to output vertices –adjacent input vertices either map to the same output vertex or adjacent output vertices output quadrics are sum of input quadrics for input vertices that map to given output vertexoutput quadrics are sum of input quadrics for input vertices that map to given output vertex

Future Work Better choice of grid resolutions currently specified by usercurrently specified by user automatic selection would be preferrableautomatic selection would be preferrable Alternative and/or additional phases other spatial partitioning schemes are attractiveother spatial partitioning schemes are attractive BSP trees and octrees in particularBSP trees and octrees in particular Superior performance to QSlim is surprising indicates further need for analysisindicates further need for analysis

Conclusions Can process models of arbitrary size memory usage independent of input sizememory usage independent of input size requires single linear scan of input data filerequires single linear scan of input data file Truly general purpose simplification high quality output at low output levelshigh quality output at low output levels quality comparable to QSlim systemquality comparable to QSlim system can process polygon soupscan process polygon soups topological “noise” removaltopological “noise” removal

Acknowledgements This project funded in part by the National Science Foundation Surface datasets provided by Stanford Graphics LabStanford Graphics Lab Digital Michelangelo ProjectDigital Michelangelo Project Georgia Tech Large Models ArchiveGeorgia Tech Large Models Archive