1 / 58

Measuring Simplification Error

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

inez-robles
Download Presentation

Measuring Simplification Error

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Measuring Simplification Error Jonathan Cohen Computer Science Department Johns Hopkins University <cohen@cs.jhu.edu> http://www.cs.jhu.edu/~cohen

  2. 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

  3. Geometric Error Measures • Promote accurate 3D shape preservation • Also preserves screen-space shape • Silhouettes • Pixel coverage

  4. Ford Bronco Model Triangles: 41,855 27,970 20,922 12,939 8,385 4,766 courtesy of Division and Viewpoint

  5. 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

  6. Classifying Geometric Error Metrics • Vertex-vertex distance • Vertex-plane distance • Point-surface distance • Surface-surface distance

  7. 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

  8. 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

  9. 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

  10. 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)

  11. 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

  12. Point-Surface Distance • Used in Hoppe 93 and 96 • Map point set to closest points on simplified surface • Compute sum of square distances

  13. 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

  14. 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

  15. Minimizing/Propagating Error • Minimum position need not lie on edge • Bounding volume covers surface, not just vertices • Simplified mesh volume always contains original mesh

  16. 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

  17. Screen-space Geometric Error

  18. Attribute Error Metrics • Attributes include colors, normals, and texture coordinates • Promote accuracy of final pixel colors

  19. Classifying Attribute Error Metrics • Vertex-vertex distance • Vertex-plane distance • Point-surface distance • Surface-surface distance • Image-driven metric • Perceptually-based metric

  20. 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

  21. 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

  22. 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

  23. Surface-Surface Distance • Bajaj / Schikore 96 • Geometric projections provide local mappings • Maximum distance of scalar attributes measured over surface

  24. 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)

  25. 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

  26. 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

  27. Appearance Preserving Simplification • Preserve three appearance attributes: • Surface Position • Surface Curvature • Material Color • Each may require different sampling

  28. Normals Undersampled 1,749 triangles 10 pixel surface deviation 13,433 triangles

  29. Normals Properly Sampled 1,749 triangles, 10 pixel deviation 13,433 triangles

  30. 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)

  31. Traditional Simplification • Filters surface position, colors, and normals • Must filter all three equally

  32. 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

  33. Decoupled Approach • Simplification filters surface position and texture coordinates • Color and normal attributes filtered per-pixel (mip-mapping, etc.)

  34. Sample Normal Map polygonal surface patch normal map

  35. 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

  36. 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!

  37. 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

  38. 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

  39. 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

  40. APS Level-of-detail Hierarchy 7,809 tris 488 tris 975 tris 1,951 tris 3,905 tris model courtesy of Stanford and Caltech

  41. 250,000 Tris Original

  42. Phong Shading 62,000 Tris 3 pixel error

  43. 250,000 Tris Original

  44. Normal Map 62,000 Tris 3 pixel error

  45. 250,000 Tris Original

  46. Phong Shading 8,000 Tris 15 pixel error

  47. 250,000 Tris Original

  48. Normal Map 8,000 Tris 15 pixel error

  49. 250,000 Tris Original

More Related