Download Presentation
## Measuring Simplification Error

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Measuring Simplification Error**Jonathan Cohen Computer Science Department Johns Hopkins University <cohen@cs.jhu.edu> http://www.cs.jhu.edu/~cohen**Why Measure Error?**• * Guide simplification process • Making better choices produces better simplifications • Know quality of results • Object-space error bounds describes quality • Know when to show a particular LOD • Which LOD for a given screen-space error • * Balance quality for large environments • What error bound for a given polygon count**Geometric Error Measures**• Promote accurate 3D shape preservation • Also preserves screen-space shape • Silhouettes • Pixel coverage**Ford Bronco Model**Triangles: 41,855 27,970 20,922 12,939 8,385 4,766 courtesy of Division and Viewpoint**Performing Simplification**• Measure cost of possible operations according to error measure • Crucial to simplification quality • Place operations in queue according to error • Perform operations in queue • After each operation, re-evaluate error of operations in neighborhood**Classifying Geometric Error Metrics**• Vertex-vertex distance • Vertex-plane distance • Point-surface distance • Surface-surface distance**Vertex-Vertex Distance**• E = max( dist(v1,v3) , dist(v2,v3) ) • Measures the maximum distance travelled by merging vertices • Appropriate during topology changes • Rossignac and Borrel 93, • Luebke and Erikson 97 • Loose for topology-preserving collapses v3 v2 v1**Minimizing/Propagating Error**• Error spheres record error at each vertex • Guaranteed bound, but very conservative • Minimum location lies on edge • Not always at the center**Vertex-Plane Distance**• Store set of planes with each vertex • Error based on distance from vertex to planes • When vertices are merged, merge sets • Ronfard and Rossignac 96 • Store plane sets • Compute max distance • Error Quadrics - Garland and Heckbert 96 • Store quadratic form (symmetric 4x4 matrix) • Compute sum of square distances a c b b a c**Minimizing/Propagating Error**• Minimal position found by solving 4x4 linear system • Error propagated by summing 4x4 matrices of merged vertices Error quadrics visualized as ellipsoids (Garland/Heckbert 1997)**Memoryless Simplification**• Don’t measure error from original mesh • Measure from the current mesh • Incremental rather than total error • Lindstrom/Turk 98 • New minimization process • Preserve volume and area as simplification progresses • Low error demonstrated after-the-fact • Metro - Cignoni et al. 96**Point-Surface Distance**• Used in Hoppe 93 and 96 • Map point set to closest points on simplified surface • Compute sum of square distances**Minimizing/Propagating Error**• Error is minimized by solving a linear least squares system • Propagation is unnecessary • Error always measured from original, high-resolution points • Slows down as more points associated with simplified mesh region**Surface-Surface Distance**• Bound maximum distance between input and simplified surfaces • Tolerance Volumes - Guéziec 96 • Simplification Envelopes - Cohen/Varshney 96 • Hausdorf Distance - Klein 96 • Mapping Distance - Bajaj/Schikore 96, Cohen et al. 97**Minimizing/Propagating Error**• Minimum position need not lie on edge • Bounding volume covers surface, not just vertices • Simplified mesh volume always contains original mesh**Vertex-Vertex != Surface-Surface**• Error is zero at vertices and exterior edges • Error is non-zero everywhere else • Be careful! – Not captured by vertex-vertex or vertex-plane metrics Edge swap**Attribute Error Metrics**• Attributes include colors, normals, and texture coordinates • Promote accuracy of final pixel colors**Classifying Attribute Error Metrics**• Vertex-vertex distance • Vertex-plane distance • Point-surface distance • Surface-surface distance • Image-driven metric • Perceptually-based metric**Vertex-Vertex Distance**• GAPS point clouds - Erikson/Manocha 98 • Measure sum of square distances from vertex to its constituent vertices (area-weighted) • Used for colors, normals, and texture coordinates • Normal cones • Luebke/Erikson 97, Xia et al. 97**Vertex-Plane Distance**• Higher-dimensional error quadrics • Garland and Heckbert 98 • Vertices live in higher-dimensional position + attribute space • Planes defined in this space • Multiple attribute quadrics • Hoppe 99 • Decouples affects of position and attributes • Reduces storage and computational complexity**Point-Surface Distance**• Extension of geometric point-surface distance • Hoppe 96 • Geometric correspondences found between original surface samples and simplified surface • Sum of square attribute distances minimized • Used primarily for vertex colors**Surface-Surface Distance**• Bajaj / Schikore 96 • Geometric projections provide local mappings • Maximum distance of scalar attributes measured over surface**Image-driven Simplification**• Measure error by rendering • Compare resulting images • Lindstrom/Turk 2000 • Captures attribute and shading error, as well as texture content 12 cameras used to capture quality of bunny simplification (Lindstrom/Turk 2000)**Perceptually-guided Simplification**• Use contrast sensitivity function to guide simplification • Gives some handle on perceptibility • Williams et al. 2003 • Measure contrast and spatial frequency of changes induced by operation Lit, textured model Texture contrast Lit texture contrast**Screen-space Attribute Error?**• Normal error controls dynamic refinement around highlights • Xia et al. 97, Klein 98 • Doesn’t allow more simplification as objects recede • Color control? • Texture coordinates work like geometric error • Cohen et al. 98 • Perceptual metrics can weigh relative importance of color, normal, textures, lighting and silhouettes – for a price**Appearance Preserving Simplification**• Preserve three appearance attributes: • Surface Position • Surface Curvature • Material Color • Each may require different sampling**Normals Undersampled**1,749 triangles 10 pixel surface deviation 13,433 triangles**Normals Properly Sampled**1,749 triangles, 10 pixel deviation 13,433 triangles**Traditional Polygonal Representation**v2, c2, n2 v1, c1, n1 v3, c3, n3 v = vertex coordinate = (x,y,z) c = color = (r,g,b) n = normal = (nx,ny,nz)**Traditional Simplification**• Filters surface position, colors, and normals • Must filter all three equally**Decoupled Representation**v2, t2 texture map c2 c1 c3 v1, t1 v3, t3 normal map v = vertex coordinate = (x,y,z) t = texture coordinate = (u,v) c = color = (r,g,b) n = normal vector = (nx,ny,nz) n2 n3 n1**Decoupled Approach**• Simplification filters surface position and texture coordinates • Color and normal attributes filtered per-pixel (mip-mapping, etc.)**Sample Normal Map**polygonal surface patch normal map**Normal Map vs. Bump Map**• Normal map • Absolute normals in object space • Constant as object is simplified • Same normal map okay for all LODs • Bump map • Perturbations of triangle normal • Changes as object is simplified • Need different bump map for each LOD**Texture Deviation Metric**• Distance between corresponding 3D points • Same 2D texture coordinates • Projects at run time to 2D pixel deviation • Intuitive error tolerance specification • Pixels of deviation for both surface position and texture error!**Point Correspondence**mesh Mi mesh Mi+1 (i+1)st edge collapse Xi Xi+1 x ei,i+1(x) = dist(Xi, Xi+1) Ei,i+1 = max ei,i+1(x) xÎP P 2D texture domain**Hardware Requirements**• Texture and normal (or bump) map capability • Bandwidth for attribute map lookups • Per-pixel lighting computation • Demonstrated originally on PixelFlow • Possible on most modern graphics hardware**Model Requirements**• Parameterized model • Ideal parameterization • Each patch fills [0,1] texture space • Allows each patch to simplify to 2 triangles • Allows equal texture resolution along patch boundaries • Allows standard mip-mapping • Acceptable parameterization • Each patch occupies simple polygon in texture space • Simplification limited by polygon sides • Mip-mapping problematic • Want to minimize required resolution**APS Level-of-detail Hierarchy**7,809 tris 488 tris 975 tris 1,951 tris 3,905 tris model courtesy of Stanford and Caltech**250,000 Tris**Original**Phong Shading**62,000 Tris 3 pixel error**250,000 Tris**Original**Normal Map**62,000 Tris 3 pixel error**250,000 Tris**Original**Phong Shading**8,000 Tris 15 pixel error**250,000 Tris**Original**Normal Map**8,000 Tris 15 pixel error**250,000 Tris**Original