Surface Simplification Using Quadric Error Metrics

Similar documents
Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Decimation. Mark Pauly

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Surface Simplification Using Quadric Error Metrics

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

Appearance Preservation

A Comparison of Mesh Simplification Algorithms

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017

Adjacency Data Structures

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Mesh Decimation Using VTK

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

Mesh and Mesh Simplification

CSE 554 Lecture 6: Fairing and Simplification

Geometric Features for Non-photorealistiic Rendering

CLUSTERING A LARGE NUMBER OF FACES FOR 2-DIMENSIONAL MESH GENERATION

A Short Survey of Mesh Simplification Algorithms

Simplification. Stolen from various places

Subdivision Curves and Surfaces: An Introduction

Deformation Sensitive Decimation

All the Polygons You Can Eat. Doug Rogers Developer Relations

Half-edge Collapse Simplification Algorithm Based on Angle Feature

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Prime Time (Factors and Multiples)

Level Set Extraction from Gridded 2D and 3D Data

Processing 3D Surface Data

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

ITK Mesh Simplification using Error Quadrics and Directed Edges

Isotopic Approximation within a Tolerance Volume

Digital Geometry Processing. Computer Graphics CMU /15-662

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

A General Simplification Algorithm

CS 532: 3D Computer Vision 14 th Set of Notes

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

Overview. Efficient Simplification of Point-sampled Surfaces. Introduction. Introduction. Neighborhood. Local Surface Analysis

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Subdivision overview

Computer Graphics Ray Casting. Matthias Teschner

Progressive Mesh. Reddy Sambavaram Insomniac Games

Occluder Simplification using Planar Sections

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or

Dynamic Geometry Processing

Out-of-Core Simplification with Guaranteed Error Tolerance

Rafael Jose Falcon Lins. Submitted in partial fulfillment of the requirements for the degree of Master of Computer Science

Simplification and Streaming of GIS Terrain for Web Client

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Fast Stellar Mesh Simplification

CS 283: Assignment 1 Geometric Modeling and Mesh Simplification

Processing 3D Surface Data

Structured light 3D reconstruction

Lofting 3D Shapes. Abstract

: Mesh Processing. Chapter 8

Processing 3D Surface Data

A simple problem that has a solution that is far deeper than expected!

Research Article Quadratic Error Metric Mesh Simplification Algorithm Based on Discrete Curvature

Curve Corner Cutting

EXACT FACE-OFFSETTING FOR POLYGONAL MESHES

MESH DECIMATION. A Major Qualifying Project Report: submitted to the Faculty. of the WORCESTER POLYTECHNIC INSTITUTE

Single Triangle Strip and Loop on Manifolds with Boundaries

Saab. Kyle McDonald. Polygon Meshes

Handles. The justification: For a 0 genus triangle mesh we can write the formula as follows:

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Motion Planning. O Rourke, Chapter 8

CSE 163: Assignment 2 Geometric Modeling and Mesh Simplification

Meshes and Manifolds. Computer Graphics CMU /15-662

Computational Geometry

Polygon Partitioning. Lecture03

2009 HMMT Team Round. Writing proofs. Misha Lavrov. ARML Practice 3/2/2014

Outline. Visualization Discretization Sampling Quantization Representation Continuous Discrete. Noise

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Finding Shortest Path on Land Surface

Spectral Surface Reconstruction from Noisy Point Clouds

Convex Hulls (3D) O Rourke, Chapter 4

Single Triangle Strip and Loop on Manifolds with Boundaries

Scalar Algorithms: Contouring

Parameterization with Manifolds

Convex Hulls in Three Dimensions. Polyhedra

Contours & Implicit Modelling 1

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Contours & Implicit Modelling 4

Surface Reconstruction. Gianpaolo Palma

Evaluating the Quality of Triangle, Quadrilateral, and Hybrid Meshes Before and After Refinement

Dual/Primal Mesh Optimization for Polygonized Implicit Surfaces

Subdivision Surfaces

Scanning Real World Objects without Worries 3D Reconstruction

User Guide. Melody 1.2 Normal Map Creation & Multiple LOD Generation

Skinning Mesh Animations

Geometric Modeling in Graphics

Manipulating the Boundary Mesh

Geometric Modeling and Processing

Convex Polygon Generation

Flavor of Computational Geometry. Convex Hull in 2D. Shireen Y. Elhabian Aly A. Farag University of Louisville

Interpolating and Approximating Implicit Surfaces from Polygon Soup

Simplification of Meshes into Curved PN Triangles

Berlin Institute of Technology Department of Geodesy and Geoinformation Science. Plane Based Free Stationing for Building Models

Digital Image Processing Fundamentals

Transcription:

Surface Simplification Using Quadric Error Metrics Authors: Michael Garland & Paul Heckbert Presented by: Niu Xiaozhen Disclaimer: Some slides are modified from original slides, which were designed by Michael Garland (Author of the paper). 1

Outline Introduction Motivation Background Algorithm Summary Results and Performance Analysis Conclusions 2

Introduction Many graphics applications require complex model to maintain realism. However, full complexity of model is not always required. Need surface simplification to reduce the computational cost. 3

Outline Introduction Motivation Background Algorithm Summary Results and Performance Analysis Conclusions 4

Motivation The goal of proposed research is focused on: Efficiency. How to simplify complex models rapidly? Quality. The approximation results should maintain high fidelity to the original model. Generality. Do we have to maintain the topology of original model, or not? 5

Motivation (2) Holes and gaps usually disappear in the distance. Topology can be simplified. Approximation error should be minimized during the simplification. 6

Outline Introduction Motivation Background Algorithm Summary Results and Performance Analysis Conclusions 7

Background Basic concepts Manifold modeling Non-manifold modeling Prior simplification algorithms Vertex decimation Vertex clustering Iterative edge contraction 8

Manifold modeling Basic two-manifold model is widely used, it should follow three rules: Planes only intersect at the vertices or edges. Whole geometry is surrounded by planes, no losing or non-connected components Every edge has exactly 2 faces (any number except 2 is not allowed). 9

Example of manifold model A simple manifold model: 10

Non-manifold modeling Any model doesn t follow the previous 3 rules is an non-manifold model. Advantages: Topology structure more flexible. Allow infinite-thin space exists. Open (non-connected) objects are allowed in the same structure. 11

Example of Non-manifold model 12

Simplification Algorithms (1) Vertex Decimation Iteratively selects a vertex for removal, removes all adjacent faces, and re-triangulates the resulting hole. Only works for manifold models since it carefully maintain the topology structure. 13

Simplification Algorithms (2) Vertex Clustering a bounding box is placing around the original model and divided into grids. In each cell, clustering all vertices to a single vertex, then updates the model. Fast, but the quality of output model is often low. Doesn t work for non-manifold model. 14

Simplification Algorithms (3) Iterative Edge Contraction Simplify the models by iteratively contracting selected edges. For example, progressive mesh algorithm, etc. 15

Outline Introduction Motivation Background Algorithm Summary Results and Performance Analysis Conclusions 16

Algorithm Summary Assumptions about input model: Triangulated with valid connectivity. Surfaces need not have manifold topology. Therefore, Edges can border any number of faces. Vertices shared by arbitrary number of faces. 17

Basic Operations In order to deal with non-manifold models, authors introduced a process called aggregation to join unconnected regions of the model together. Aggregation is done by Pair contraction, could be edge contraction, or non-edge contraction. Use Quadric Error Metrics (QEM) as the criteria for pair contraction. 18

Pair Contraction Moves the vertices V1 and V2 to the new position V, connects all their incident edges to V1, and deletes the vertex V2. If (V1, V2) is an edge, use edge contraction. Else, use non-edge contraction. 19

Pair Selection A pair (V1, V2) is a valid pair for contraction if either: 1. (V1, V2) is an edge, or 2. V1-V2 < t, where t is a threshold parameter set by users. When t=0 means a simple edge contraction algorithm. Higher t value allow non-connected vertices to be paired. After this step we have a set of pairs. 20

How to measure errors? Measure errors at current vertices. For a given point v, measure sum of squared distances to associated set of planes. Each vertex v has an associated set of planes initialize with planes of incident faces in original merge sets when contracting pairs initial error of each vertex is 0 21

How to measure errors? For a given point v, measure sum of squared distances to associated set of planes. Locally, distance to plane equals distance to face 22

Measuring Error with Quadrics Sum of squared distance to a set of planes Vertex v has associated set of planes where p=[a,b,c,d] represents the plane defined by the equation ax+by+c+d=0 23

Measuring Error with Quadrics Kp (fundamental error quadric) can be used to find the squared distance from any point in space to the plane p 24

What is a Quadric Error Metric? A quadric matrix Q is a 4x4 symmetric matrix assigns real number to every point v by: 25

What is a Quadric Error Metric? We get a second degree polynomial in x, y, and z The level surface is a quadric surface, it is defined as: 26

What Are These Quadrics Really Doing? The level surface is almost always ellipsoids when Q is positive definite Characterize error at vertex vertex at center of each ellipsoid move in anywhere on the ellipsoid with constant error 27

Algorithm Outline Initialization Compute the Q matrices for all initial vertices Select all valid pairs (edges+non-edges) Computed minimal cost candidate for each pair (v1, v2). The cost of contracting a pair is defined as: Iteration select lowest cost pair (v1, v2) contract (v1, v2) -Q for new vertex is Q1+Q2 Update all pairs involving v1&v2 28

Additional Algorithm Details Open boundaries may be eaten away For each edge with a single incident face, assign large weight & add into endpoints 29

Additional Algorithm Details (2) Contraction may fold mesh over on itself Check normal before & after, reject if any flip 30

Outline Introduction Motivation Background Algorithm Summary Results and Performance Analysis Conclusions 31

Results and Performance Analysis Two approximation examples : Stanford Bunny model Human left foot model Handling surfaces with colored vertices The effect of pair thresholds Comparison with other algorithms 32

Stanford Bunny Model Original bunny model using 69,451 triangles. An approximation using only 1000 triangles (1.4% of the original, generated in 15 seconds). 33

Stanford Bunny Model (2) An approximation using only 100 triangles (0.14% of the original model, generated in 15 seconds). 1000 face approximation, error ellipsoids for each vertex are show in green. 34

Human s Left Foot Model Original model. Bones of a human s left foot (4204 faces). Note that many separate bone segments. 35

Human s Left Foot Model (2) Uniform Vertex Clustering. 262 face approximation (11x4x4 grid). Indiscriminate joining destroys approximation quality. Edge Constructions. 250 face approximation. Bone segments at the ends of the toes have disappeared (receding). The hole opening occurred. 36

Human s Left Foot Model (3) Pair Constructions. 250 face approximation (t=0.318). Toes are being merged into larger solid components. No receding and no hole opening. This model contains 61 non-manifold edges now. 37

Human s Left Foot Model (4) Level surfaces of the error quadrics at the vertices of the approximation (250 triangles). Pairs selected as valid during the initialization. Red pairs are edges, green pairs are non-edges. 38

Handling Surfaces with Colored Vertices Before: v=(x,y,z,1) and Q is a 4x4 matrix After: v=(x,y,z,r,g,b,1) and Q is a 7x7 matrix 19,404 faces 1,000 face approximation (5.2% of the original) 39

The Effect of Pair Thresholds Approximation error E250 is shown as a function of t for a 250 face approximation of the foot model. Pair contractions resulting in aggregation can significantly reduce approximation error. 40

Comparison with Other Algorithms Comparison with other methods: Tradeoff of approximation error vs. Running time for simplifying bunny model. (This figure is taken from author s PhD thesis Quadric-Based Polygonal Surface Simplification, 1998) 41

Conclusions Efficient algorithm with quality results High quality approximations Good compromise between highest quality and fastest simplification (provides a useful middle ground) Simplifies both geometry and topology Can also handle surface properties (such as color) Also has weaknesses: measuring error as a distance to a set of planes only works well in a suitably local neighborhood Input surface is rigid. 42

Reference [1] Michael Garland and Paul S. Heckbert, Surface Simplification Using Quadric Error Metrics, Computer Graphics, volume 31, pages 209-216, 1997. [2] Michael Garland, Quadric-Based Polygonal Surface Simplification, Phd Thesis, Carnegie Mellon University, 1998. [3] http://wwwviz.tamu.edu/faculty/ergun/research/topology/siggrap h01/talk/5.html [4] http://graphics.cs.uiuc.edu/~garland/papers/s97- quadric-talk.pdf 43

Questions 44