410 likes | 646 Views
Surface Simplification Using Quadric Error Metrics. By Michael Garland and Paul S. Heckbert Carnegie Mellon University Presented by Lok Hwa and Taylor Holliday. Background / Related Work.
E N D
Surface Simplification Using Quadric Error Metrics By Michael Garland and Paul S. Heckbert Carnegie Mellon University Presented by Lok Hwa and Taylor Holliday Multiresolution (ECS 289L) - Winter 2003
Background / Related Work • Vertex Decimation(Schroeder et al 92; Soucy-Laurendeau 96)- usually limited to non-manifold surfaces- carefully maintains the model topology • Vertex Clustering(Rossignac-Borrel 93; Low-Tan 96)- fast and general, but quality is usually comparably lower- cannot input a specific face count; needs more control- can alter topology drastically • Iterative Edge Contraction(Hoppe 96; Gueziec 95; Ronfard-Rossignac 96)- mainly designed for manifold surfaces- can close holes but not join unconnected regions Multiresolution (ECS 289L) - Winter 2003
Introduction Iterative Pair Contraction Multiresolution (ECS 289L) - Winter 2003
Cow Simplification in under 1 second Multiresolution (ECS 289L) - Winter 2003
Advantages Efficiency: fast running time and error approximation is compact (10 floating point numbers per vertex) Quality: Main features are preserved even in highly simplified models Generality: Joins unconnected regions (aggregation) Better approximations of many disconnected parts. Works on non-manifold surface and actually creates non-manifold surfaces. Multiresolution (ECS 289L) - Winter 2003
Algorithm Setup • Polygon models consisting of triangles only • Better results achieved if intersecting triangle corners are defined as a shared vertex • Applications are for rendering systems, not visualization • Input is typically either a desired face count or maximum tolerable error Multiresolution (ECS 289L) - Winter 2003
Algorithm: Vertex Pair Contraction • (v1, v2) v • Movev1 and v2to v • Replace all occurances of v2withv1 • Removev2 and degenerate triangles • Valid Pairs • Edges • ||v1 - v2 || < t , where t is a threshhold parameter Multiresolution (ECS 289L) - Winter 2003
Algorithm: Aggregation Multiresolution (ECS 289L) - Winter 2003
Using Quadrics to Approximate Error • Qis a 4x4 symmetric matrix representing the error at each vertex • Evaluated at vertex v = [vx vy vz 1]:(V) =vTQv • Need a new Q for contraction(v1, v2) v Q = Q1 + Q2 • Want to minimize (v) Multiresolution (ECS 289L) - Winter 2003
Using Quadrics to Approximate Error If matrix is not invertible, then try to find optimal vertex along segment v1v2, else choose from v1 v2 or midpoint Multiresolution (ECS 289L) - Winter 2003
Algorithm Summary • Start by representing the models in an adjacency graph structure:vertices, edges, and faces all explicitly linked together. - Keep in mind the mesh must handle arbitrary topology • Each vertex maintains a list of the pairs of which it is a member. Multiresolution (ECS 289L) - Winter 2003
Algorithm Summary • ComputeQmatrices for all the initial vertices. • Select all the valid pairs • Compute the optimal contraction target for each valid pair. The error becomes the cost of contracting that pair. • Place all the pairs in a priority queue keyed on cost with the minimum cost pair at the front Multiresolution (ECS 289L) - Winter 2003
Algorithm Summary (cont..) • Iteratively remove the least cost pair (v1, v2), contract it, and updated the costs of all valid pairs involving v1 until the simplification goals are satisfied Multiresolution (ECS 289L) - Winter 2003
Derivation of QEMs Multiresolution (ECS 289L) - Winter 2003
Derivation of QEMs • Intuitively: sum of squared distances from a set of planes • First, we show that squared distance to a plane can be represented as a quadratic form Multiresolution (ECS 289L) - Winter 2003
Derivation of QEMs Multiresolution (ECS 289L) - Winter 2003
Derivation of QEMs Multiresolution (ECS 289L) - Winter 2003
Derivation of QEMs Multiresolution (ECS 289L) - Winter 2003
Derivation of QEMs Multiresolution (ECS 289L) - Winter 2003
Derivation of QEMs • Now we combine these quadrics for a set of planes Multiresolution (ECS 289L) - Winter 2003
Derivation of QEMs • Now we combine these quadrics for a set of planes • Note Q is positive definite Multiresolution (ECS 289L) - Winter 2003
Geometric Interpretation • Vertex errors have either planar, cylindrical, or ellipsoid level surfaces Multiresolution (ECS 289L) - Winter 2003
Geometric Interpretation • Why ellipsoids? If Q is diagonalizable, Multiresolution (ECS 289L) - Winter 2003
Geometric Interpretation • Why ellipsoids? If Q is diagonalizable, • Let Multiresolution (ECS 289L) - Winter 2003
Geometric Interpretation • Why ellipsoids? If Q is diagonalizable, • Let • Apply the rotation y = ST v Multiresolution (ECS 289L) - Winter 2003
Details • Recall: minimize • Do not double-count planes on an original vertex • Planes can still be double-counted if they coincide between vertices Multiresolution (ECS 289L) - Winter 2003
Preserving Boundaries • Error quadrics do not make allowance for boundary edges - such as those found in terrains • We want to simplify the shape, but preserve the boundary • Generate heavily weighted planes perpendicular to boundary triangles Multiresolution (ECS 289L) - Winter 2003
Preventing Mesh Inversion • prevent normals from changing direction by more than (“flipping”) • Contractions resulting in flipped normals are rejected Multiresolution (ECS 289L) - Winter 2003
Results Multiresolution (ECS 289L) - Winter 2003
Evaluation Metric • Need a metric for approximation error Multiresolution (ECS 289L) - Winter 2003
Effect of vertex placement Multiresolution (ECS 289L) - Winter 2003
Bunny Model Multiresolution (ECS 289L) - Winter 2003
Crater Lake Model Multiresolution (ECS 289L) - Winter 2003
Timings • t is non-edge contraction threshold • Crater Lake was a large dataset in 1997 Multiresolution (ECS 289L) - Winter 2003
Foot Model Multiresolution (ECS 289L) - Winter 2003
Aggregation • Recall: aggregation is the joining of disconnected components • Aggregation effects approximation error Multiresolution (ECS 289L) - Winter 2003
Discussion • Primary weakness of QEMs: measuring the distance to a set of planes only works well in local neighborhoods • Note that there is usually no longer a zero-distance point after we add quadrics • Removed planes are still counted during simplification • No easy way to subtract them from quadrics Multiresolution (ECS 289L) - Winter 2003
Conclusion • Quality • Only other algorithm supporting aggregation (vertex clustering) has low quality • Efficiency • Compact error information (10 floats/vertex) • Generality • Aggregation • Non-manifold topology Multiresolution (ECS 289L) - Winter 2003