Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.

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

L1 sparse reconstruction of sharp point set surfaces
Surface Simplification using Quadric Error Metrics Guowei Wu.
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 7: Quadric Error Metrics Ravi Ramamoorthi
Geometry Image Xianfeng Gu, Steven Gortler, Hugues Hoppe SIGGRAPH 2002 Present by Pin Ren Feb 13, 2003.
CDS 301 Fall, 2009 Scalar Visualization Chap. 5 September 24, 2009 Jie Zhang Copyright ©
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
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.
Signal-Specialized Parameterization for Piecewise Linear Reconstruction Geetika Tewari, Harvard University John Snyder, Microsoft Research Pedro V. Sander,
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
INFORMATIK Differential Coordinates for Interactive Mesh Editing Yaron Lipman Olga Sorkine Daniel Cohen-Or David Levin Tel-Aviv University Christian Rössl.
CENG 789 – Digital Geometry Processing 05- Smoothing and Remeshing
Visibility-Guided Simplification Eugene Zhang and Greg Turk GVU Center, College of Computing Georgia Institute of Technology.
Progressive Meshes A Talk by Wallner and Wurzer for the overfull MathMeth auditorium.
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.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Manifold learning: Locally Linear Embedding Jieping Ye Department of Computer Science and Engineering Arizona State University
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
Dual/Primal Mesh Optimization for Polygonized Implicit Surfaces
Signal-Specialized Parameterization for Piecewise Linear Reconstruction Geetika Tewari, Harvard University John Snyder, Microsoft Research Pedro V. Sander,
10/14/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Level of Detail.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University.
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.
Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College.
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.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
Computer Graphics Some slides courtesy of Pierre Alliez and Craig Gotsman Texture mapping and parameterization.
Computer Vision Lab. SNU Young Ki Baik Nonlinear Dimensionality Reduction Approach (ISOMAP, LLE)
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
HRTFs can be calculated
Andrew Nealen / Olga Sorkine / Mark Alexa / Daniel Cohen-Or SoHyeon Jeong 2007/03/02.
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.
Extraction and remeshing of ellipsoidal representations from mesh data Patricio Simari Karan Singh.
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
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global.
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
Hierarchical Error-Driven Approximation of Implicit Surfaces from Polygonal Meshes Takashi Kanai Yutaka Ohtake Kiwamu Kase University of Tokyo RIKEN, VCAD.
All the Polygons You Can Eat
David Levin Tel-Aviv University Afrigraph 2009 Shape Preserving Deformation David Levin Tel-Aviv University Afrigraph 2009 Based on joint works with Yaron.
CS418 Computer Graphics John C. Hart
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert August 1997 Michael Garland Paul S. Heckbert August 1997.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
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)
Data Visualization Fall The Data as a Quantity Quantities can be classified in two categories: Intrinsically continuous (scientific visualization,
User-Guided Simplification
You can check broken videos in this slide here :
CS475 3D Game Development Level Of Detail Nodes (LOD)
Mesh Parameterization: Theory and Practice
Chang-Hun Kim Department of Computer Science Korea University
Chap 10. Geometric Level of Detail
Presentation transcript:

Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998

Overview Often want to simplify overly complex models Too much for hardware, or simply over-sampledToo much for hardware, or simply over-sampled Common sources: Scanning & ReconstructionCommon sources: Scanning & Reconstruction Quadric-based simplification [SIGGRAPH 97] Fast method producing quality resultsFast method producing quality results Convenient characterization of error/shapeConvenient characterization of error/shape Generalization required to handle properties Color, texture, surface normals, etc.Color, texture, surface normals, etc. Often want to simplify overly complex models Too much for hardware, or simply over-sampledToo much for hardware, or simply over-sampled Common sources: Scanning & ReconstructionCommon sources: Scanning & Reconstruction Quadric-based simplification [SIGGRAPH 97] Fast method producing quality resultsFast method producing quality results Convenient characterization of error/shapeConvenient characterization of error/shape Generalization required to handle properties Color, texture, surface normals, etc.Color, texture, surface normals, etc.

Geometric Surface Simplification 1,087,716 faces 20,000 faces 1,000 faces 4 sec. 175 sec.

Fundamental Quadric-Based Simplification Algorithm Iterative edge contraction Quadric error metric Each vertex has (conceptual) set of planesEach vertex has (conceptual) set of planes Vertex error = sum of squared distances to planesVertex error = sum of squared distances to planes Combine sets when contracting vertex pairCombine sets when contracting vertex pair Iterative edge contraction Quadric error metric Each vertex has (conceptual) set of planesEach vertex has (conceptual) set of planes Vertex error = sum of squared distances to planesVertex error = sum of squared distances to planes Combine sets when contracting vertex pairCombine sets when contracting vertex pair

Measuring Error with Quadrics Given a plane, we can define a quadric Q measuring squared distance to given plane as

Measuring Error with Quadrics Each vertex has an associated quadric Measures error at vertexMeasures error at vertex Sum quadrics when contracting pairSum quadrics when contracting pair Sum of endpoint quadrics determines v’ Fixed placement: select v 1 or v 2Fixed placement: select v 1 or v 2 Optimal placement: choose v’ minimizing Q(v’)Optimal placement: choose v’ minimizing Q(v’) Each vertex has an associated quadric Measures error at vertexMeasures error at vertex Sum quadrics when contracting pairSum quadrics when contracting pair Sum of endpoint quadrics determines v’ Fixed placement: select v 1 or v 2Fixed placement: select v 1 or v 2 Optimal placement: choose v’ minimizing Q(v’)Optimal placement: choose v’ minimizing Q(v’)

A Simple Example: Contraction & “Planes” in 2D Lines defined by neighboring segments Determine position of new vertexDetermine position of new vertex Error isocontours shown on rightError isocontours shown on right Lines defined by neighboring segments Determine position of new vertexDetermine position of new vertex Error isocontours shown on rightError isocontours shown on right OriginalOriginal After 1 Step v1v1v1v1 v1v1v1v1 v2v2v2v2 v2v2v2v2 v’v’

Visualizing Quadrics in 3-D Quadric isosurfaces Are ellipsoids (maybe degenerate)Are ellipsoids (maybe degenerate) Characterize shapeCharacterize shape Stretch in least curved directionsStretch in least curved directions Eigenvalues propor- tional to principal curvaturesEigenvalues propor- tional to principal curvatures

Quadrics Give Good Results, But Ignores Attributes Fundamental algorithm works well Simple to implement & simplification is fastSimple to implement & simplification is fast High quality approximationsHigh quality approximations Quadrics record useful information about shapeQuadrics record useful information about shape But many models have additional properties Color, texture, normals, etc.Color, texture, normals, etc. Need to simplify these as wellNeed to simplify these as well Fundamental algorithm works well Simple to implement & simplification is fastSimple to implement & simplification is fast High quality approximationsHigh quality approximations Quadrics record useful information about shapeQuadrics record useful information about shape But many models have additional properties Color, texture, normals, etc.Color, texture, normals, etc. Need to simplify these as wellNeed to simplify these as well

Gouraud Shaded Surface: Single RGB Value Per Vertex Surface geometry Radiosity solution

Surface Properties as Vertex Attributes Each vertex has a set of properties Each property has one unique value per vertexEach property has one unique value per vertex Attributes are linearly interpolated over facesAttributes are linearly interpolated over faces Primary example: one RGB color per vertexPrimary example: one RGB color per vertex Can’t treat geometry & color separately Position and color are correlatedPosition and color are correlated Optimal position may lie off the surfaceOptimal position may lie off the surface Must synthesize new color for this positionMust synthesize new color for this position Each vertex has a set of properties Each property has one unique value per vertexEach property has one unique value per vertex Attributes are linearly interpolated over facesAttributes are linearly interpolated over faces Primary example: one RGB color per vertexPrimary example: one RGB color per vertex Can’t treat geometry & color separately Position and color are correlatedPosition and color are correlated Optimal position may lie off the surfaceOptimal position may lie off the surface Must synthesize new color for this positionMust synthesize new color for this position

Vertex Attributes Become Added Dimensions Treat each vertex as a 6-vector [x y z r g b] Assume this 6-D space is EuclideanAssume this 6-D space is Euclidean –Of course, color space is only roughly Euclidean Scale xyz space to unit cube for consistencyScale xyz space to unit cube for consistency Triangle determines a 2-plane in 6-D space Can measure squared distance to this planeCan measure squared distance to this plane Distance along all perpendicular directionsDistance along all perpendicular directions –Generalized Pythagorean Theorem Treat each vertex as a 6-vector [x y z r g b] Assume this 6-D space is EuclideanAssume this 6-D space is Euclidean –Of course, color space is only roughly Euclidean Scale xyz space to unit cube for consistencyScale xyz space to unit cube for consistency Triangle determines a 2-plane in 6-D space Can measure squared distance to this planeCan measure squared distance to this plane Distance along all perpendicular directionsDistance along all perpendicular directions –Generalized Pythagorean Theorem

Generalized Quadric Metric Squared distance to 2-plane has same form: A: 6x6 matrix v,b: 6-vectors c: scalar (for RGB)A: 6x6 matrix v,b: 6-vectors c: scalar (for RGB) Underlying algorithm remains the sameUnderlying algorithm remains the same May want to selectively weight channels Relative importance of space & colorRelative importance of space & color Relative importance of red & greenRelative importance of red & green Squared distance to 2-plane has same form: A: 6x6 matrix v,b: 6-vectors c: scalar (for RGB)A: 6x6 matrix v,b: 6-vectors c: scalar (for RGB) Underlying algorithm remains the sameUnderlying algorithm remains the same May want to selectively weight channels Relative importance of space & colorRelative importance of space & color Relative importance of red & greenRelative importance of red & green

Generalized Quadric Metric Common property types VertexDimension VertexDimension Color[x y z r g b]6x6 quadricsColor[x y z r g b]6x6 quadrics Texture[x y z s t]5x5 quadricsTexture[x y z s t]5x5 quadrics Normal[x y z u v w]6x6 quadricsNormal[x y z u v w]6x6 quadrics Color+Normal[x y z r g b u v w]9x9 quadricsColor+Normal[x y z r g b u v w]9x9 quadrics Common property types VertexDimension VertexDimension Color[x y z r g b]6x6 quadricsColor[x y z r g b]6x6 quadrics Texture[x y z s t]5x5 quadricsTexture[x y z s t]5x5 quadrics Normal[x y z u v w]6x6 quadricsNormal[x y z u v w]6x6 quadrics Color+Normal[x y z r g b u v w]9x9 quadricsColor+Normal[x y z r g b u v w]9x9 quadrics

Simplifying the Dragon Model 50,761 faces 10,000 faces 20 sec.

Simplifying the Dragon Model 50,761 faces 1,500 faces 23 sec.

Simplified Dragon Mesh 50,761 faces 1,500 faces 23 sec.

A Sample Textured Surface

Simplifying Geometry Only: Same Texture Coordinates

Simplifying with xyzst Quadrics; New Texture Coordinates

Related Work Fairly few algorithms address attributes Re-sampling height field attributesRe-sampling height field attributes Mesh optimization methods [Hoppe 96]Mesh optimization methods [Hoppe 96] Attribute map preservation [Cohen et al 98]Attribute map preservation [Cohen et al 98] In comparison, our algorithm is Not limited to simple height field re-samplingNot limited to simple height field re-sampling Faster than other general algorithmsFaster than other general algorithms Still capable of producing quality resultsStill capable of producing quality results Fairly few algorithms address attributes Re-sampling height field attributesRe-sampling height field attributes Mesh optimization methods [Hoppe 96]Mesh optimization methods [Hoppe 96] Attribute map preservation [Cohen et al 98]Attribute map preservation [Cohen et al 98] In comparison, our algorithm is Not limited to simple height field re-samplingNot limited to simple height field re-sampling Faster than other general algorithmsFaster than other general algorithms Still capable of producing quality resultsStill capable of producing quality results

Summary Generalized quadric metric Handles surfaces with per vertex attributesHandles surfaces with per vertex attributes Rapidly produces quality approximationsRapidly produces quality approximations Future work Handling attribute discontinuitiesHandling attribute discontinuities Other attribute typesOther attribute types Attribute characteristics necessary for successAttribute characteristics necessary for success Generalized quadric metric Handles surfaces with per vertex attributesHandles surfaces with per vertex attributes Rapidly produces quality approximationsRapidly produces quality approximations Future work Handling attribute discontinuitiesHandling attribute discontinuities Other attribute typesOther attribute types Attribute characteristics necessary for successAttribute characteristics necessary for success

Further Details Online Online papers, Sample models, Experimental code Online papers, Sample models, Experimental code