surface simplification using quadric error metrics
DESCRIPTION
Surface Simplification Using Quadric Error Metrics. Speaker: Fengwei Zhang September 20. 2007. Author:. Michael Garland:. A research scientist with NVIDIA and an adjunct professor in the Department of Computer Science - PowerPoint PPT PresentationTRANSCRIPT
Author:
Michael Garland:
Paul S.Heckbert:
A research scientist with NVIDIA and an adjunct professor in the Department of Computer Science at the University of Illinois, Urbana-Champaign.Graduated with Ph.D. from the Computer Science Department of Carnegie Mellon University.
Computer Science Professor at Carnegie Mellon University from 1992-2001. Currently a 3D Graphics Architect for Nvidia, living and working in Pittsburgh
Background
Simple Introduction to Mesh
Necessary to Simplification: Mass data; Livel Of Detail (LOD)
Good simplification resultMeet the given target criterion:
A face count A max tolerable error
Good approximation of the original model
Good algorithmEfficiencyQuality (maintain high fidelity to the original model) Generality
Background
Related Work
1. Vertex DecimationReferences: William J. Schroeder, Jonathan A. Zarge, and William E.Lorensen Decimation of triangle meshes. Computer Graphics(SIGGRAPH ’92 Proc.), 26(2):65–70, July 1992.Solutions:
Select a vertex for removalRetriangulate the hole
Property: Limited to manifold surfaces
2. Vertex Clustering
Related Work
References: Jarek Rossignac and Paul Borrel. Multi-resolution 3D approximations for rendering complex scenes
Solutions: A surrounding box, Divided into a grid, Clustering into a vertexProperty:
1.Generality and Fast 2.Can not provide a geometric error bound and low quality
3. Edge Contraction
Related Work
Solutions
Property How to choose an edge to contract Be designed for use on manifold surfaces
Compare the Solutions
Vertex Decimation Provide reasonable efficiency and quality Limited to manifold surfaces
Vertex Clustering Generality and Fast But bad control
Edge Contraction Limited to manifold surfaces Not support aggregation
New Solution:
Pair Contraction
Edge contraction
Non-edge contraction
+
=
(V1,V2)->V
Pair Contraction
When Overall shape is important than topology
Less sensitive to the mesh connectivity: repair this shortcoming of the initial mesh, when two faces meet at a vertex which is duplicated
A regular grid of spaced cubes
Edge contraction Non-edge contraction
Why Non-edge contraction
Advantage of like the vertex clustering (V1,V2,…Vk)->V
Generates a large number of approximate models or a multiresolution representation
(Mn,Mn-1,…,Mg).
Why Non-edge contraction
Pair Selection
if 1. (v1, v2) is an edge or 2.||v1−v2||< t, where t is a threshold parameter
A valid pair for contraction:
Choosing t carefullyPairs are selected at initialization time and only consider these edges during the course of the algorithm Modify the topology
Approximating Error With Quadrics
How to get the new vertex V: (V1,V2)->VHow to give the cost of a contraction
The distance from the point to the set of surface:
Vertex V Error matrix: Q=
Approximating Error With Quadrics
Get the new vertex: VMinimize △V= Why?
Find
∴
∴
•If the matrix is invertible, (*)•If not, find the optimal vertex along the segment (v1,v2) •If failed, find the V amongst v1,v2,(v1+v2)/2
*
Approximating Error With Quadrics
Approximating Error With Quadrics
1.Define a error matrix at each vertex Q Step:2.Minimize △V=To get the new vertex: VThe cost of a contraction: min value
The matrix of the new vertexRequired a 4×4 symmetric matrix (10 floating point numbers) at each matrixA single plane may be counted multipletimes, but at most 3 times
New Algorithm1. Compute the Q matrices for all the initial vertices.
2. Select all valid pairs
4. Place all the pairs in a heap keyed on cost with the minimum cost pair at the top.5. Iteratively remove the pair (v1,v2) of least cost from the heap,contract this pair, and update the costs of all valid pairs involving v1.
Additional DetailsPreserving Boundaries
Generate a perpendicular plane through the boundary edge Be weighted by a large penalty factor
Preventing Mesh InversionCompare the normal of each face before and after the contraction
Experiment
•Fast: constructed in about a second•High fidelity: features such as horns and hooves only disappear in low levels of detail
5,804 994
532 248
64
Example
Experiment
Fixed:v1,v2,(v1+v2)/2
Effect of optimal vertex placement
Optimal: Choosing an optimal position
Cowmodel (t=0)
Error measurement:
Example:
Experiment
69451
1000(15s)
the nature of the error quadrics
Given s: vQv=s is an ellipsoid around the corresponding vertex
Conform to the shape of the model surface nicely:
large and flat on planar areas; be elongated along lines;
ExperimentBenefits of aggregation via pair contractions
4,204 contain separate bone segmentsUniform Vertex Clustering (262)
(11×4×4 grid)
Edge Contractions(250) Pair Contractions(250) (t=0.318)Toes are being merged into larger solid components
ExperimentBenefits of aggregation via pair contractions
(t>0) produce better approximations than are achieved by (t= 0)Increasing t does not always improve the approximation
Conclusion:
The selection of t:
Conclusion
Pair contract = edge contract + Non-edge contractTract the approximate error through Q Boundary preservationEfficiency;Quality;Generality
Problem
Measuring error as a distance to a set of planes only works well in a suitably local neighborhoodContraction created a non-manifold region