mesh decimation
play

Mesh Decimation Mark Pauly Applications Oversampled 3D scan data - PowerPoint PPT Presentation


  1. ���������฀���฀���������฀����฀������� ��������������฀���฀����������฀��������� �������฀���������฀���฀�����฀������� ��������฀��฀�������฀������� ��������฀���฀���������������฀�������� �������฀��฀�����������฀���฀�����������฀������ �����฀���� ��� ���������� ���������� ���������������� Mesh Decimation Mark Pauly

  2. Applications • Oversampled 3D scan data ~150k triangles ~80k triangles Mark Pauly - ETH Zurich 280

  3. Applications • Overtessellation: E.g. iso-surface extraction Mark Pauly - ETH Zurich 281

  4. Applications • Multi-resolution hierarchies for – efficient geometry processing – level-of-detail (LOD) rendering Mark Pauly - ETH Zurich 282

  5. Applications • Adaptation to hardware capabilities Mark Pauly - ETH Zurich 283

  6. Size-Quality Tradeoff error size Mark Pauly - ETH Zurich 284

  7. Outline • Applications • Problem Statement • Mesh Decimation Methods – Vertex Clustering – Iterative Decimation – Extensions – Remeshing – Variational Shape Approximation Mark Pauly - ETH Zurich 285

  8. Problem Statement • Given: M = ( V , F ) M � = ( V � , F � ) • Find: such that |V � | = n < |V| �M − M � � 1. and is minimal, or |V � | �M − M � � < � 2. and is minimal M � M Mark Pauly - ETH Zurich 286

  9. Problem Statement • Given: M = ( V , F ) M � = ( V � , F � ) • Find: such that |V � | = n < |V| �M − M � � 1. and is minimal, or |V � | �M − M � � < � 2. and is minimal hard! → look for sub-optimal solution Mark Pauly - ETH Zurich 287

  10. Problem Statement • Given: M = ( V , F ) M � = ( V � , F � ) • Find: such that |V � | = n < |V| �M − M � � 1. and is minimal, or |V � | �M − M � � < � 2. and is minimal • Respect additional fairness criteria – normal deviation, triangle shape, scalar attributes, etc. Mark Pauly - ETH Zurich 288

  11. Outline • Applications • Problem Statement • Mesh Decimation Methods – Vertex Clustering – Iterative Decimation – Extensions Mark Pauly - ETH Zurich 289

  12. Vertex Clustering • Cluster Generation • Computing a representative • Mesh generation • Topology changes Mark Pauly - ETH Zurich 290

  13. Vertex Clustering • Cluster Generation – Uniform 3D grid – Map vertices to cluster cells • Computing a representative • Mesh generation • Topology changes Mark Pauly - ETH Zurich 291

  14. Vertex Clustering • Cluster Generation – Hierarchical approach – Top-down or bottom-up • Computing a representative • Mesh generation • Topology changes Mark Pauly - ETH Zurich 292

  15. Vertex Clustering • Cluster Generation • Computing a representative – Average/median vertex position – Error quadrics • Mesh generation • Topology changes Mark Pauly - ETH Zurich 293

  16. Computing a Representative Average vertex position → Low-pass filter Mark Pauly - ETH Zurich 294

  17. Computing a Representative Median vertex position → Sub-sampling Mark Pauly - ETH Zurich 295

  18. Computing a Representative Error quadrics Mark Pauly - ETH Zurich 296

  19. Error Quadrics • Squared distance to plane p = ( x, y, z, 1) T , q = ( a, b, c, d ) T dist ( q, p ) 2 = ( q T p ) 2 = p T ( qq T ) p =: p T Q q p  a 2  ab ac ad b 2 ab bc bd   Q q =   b 2 ac bc cd   d 2 ad bd cd Mark Pauly - ETH Zurich 297

  20. Error Quadrics • Sum distances to vertex ’ planes �� � dist ( q i , p ) 2 = p T Q q i p = p T p =: p T Q p p � � Q q i i i i • Point that minimizes the error     0 q 11 q 12 q 13 q 14 0  p ∗ = q 21 q 22 q 23 q 24         0 q 31 q 32 q 33 q 34    0 0 0 1 1 Mark Pauly - ETH Zurich 298

  21. Comparison average median error quadric Mark Pauly - ETH Zurich 299

  22. Vertex Clustering • Cluster Generation • Computing a representative • Mesh generation – Clusters p ⇔ {p 0 ,...,p n }, q ⇔ {q 0 ,...,q m } – Connect (p,q) if there was an edge (p i ,q j ) • Topology changes Mark Pauly - ETH Zurich 300

  23. Vertex Clustering • Cluster Generation • Computing a representative • Mesh generation • Topology changes – If different sheets pass through one cell – Not manifold Mark Pauly - ETH Zurich 301

  24. Outline • Applications • Problem Statement • Mesh Decimation Methods – Vertex Clustering – Iterative Decimation – Extensions Mark Pauly - ETH Zurich 302

  25. Incremental Decimation • General Setup • Decimation operators • Error metrics • Fairness criteria • Topology changes Mark Pauly - ETH Zurich 303

  26. General Setup Repeat: pick mesh region apply decimation operator Until no further reduction possible Mark Pauly - ETH Zurich 304

  27. Greedy Optimization For each region evaluate quality after decimation enqeue(quality, region) Repeat: pick best mesh region apply decimation operator update queue Until no further reduction possible Mark Pauly - ETH Zurich 305

  28. Global Error Control For each region evaluate quality after decimation enqeue(quality, region) Repeat: pick best mesh region if error < ε apply decimation operator update queue Until no further reduction possible Mark Pauly - ETH Zurich 306

  29. Incremental Decimation • General Setup • Decimation operators • Error metrics • Fairness criteria • Topology changes Mark Pauly - ETH Zurich 307

  30. Decimation Operators • What is a "region" ? • What are the DOF for re-triangulation? • Classification – Topology-changing vs. topology-preserving – Subsampling vs. filtering – Inverse operation → progressive meshes Mark Pauly - ETH Zurich 308

  31. Vertex Removal Select a vertex to be eliminated Mark Pauly - ETH Zurich 309

  32. Vertex Removal Select all triangles sharing this vertex Mark Pauly - ETH Zurich 310

  33. Vertex Removal Remove the selected triangles, creating the hole Mark Pauly - ETH Zurich 311

  34. Vertex Removal Fill the hole with triangles Mark Pauly - ETH Zurich 312

  35. Decimation Operators Vertex Removal Vertex Insertion • Remove vertex • Re-triangulate hole – Combinatorial DOFs – Sub-sampling Mark Pauly - ETH Zurich 313

  36. Decimation Operators Edge Collapse Vertex Split • Merge two adjacent triangles • Define new vertex position – Continuous DOF – Filtering Mark Pauly - ETH Zurich 314

  37. Decimation Operators Half-Edge Collapse Restricted Vertex Split • Collapse edge into one end point – Special vertex removal – Special edge collapse • No DOFs – One operator per half-edge – Sub-sampling! Mark Pauly - ETH Zurich 315

  38. Edge Collapse Mark Pauly - ETH Zurich 316

  39. Edge Collapse Mark Pauly - ETH Zurich 317

  40. Edge Collapse Mark Pauly - ETH Zurich 318

  41. Edge Collapse Mark Pauly - ETH Zurich 319

  42. Edge Collapse Mark Pauly - ETH Zurich 320

  43. Edge Collapse Mark Pauly - ETH Zurich 321

  44. Edge Collapse Mark Pauly - ETH Zurich 322

  45. Edge Collapse Mark Pauly - ETH Zurich 323

  46. Edge Collapse Mark Pauly - ETH Zurich 324

  47. Edge Collapse Mark Pauly - ETH Zurich 325

  48. Priority Queue Updating Mark Pauly - ETH Zurich 326

  49. Incremental Decimation • General Setup • Decimation operators • Error metrics • Fairness criteria • Topology changes Mark Pauly - ETH Zurich 327

  50. Local Error Metrics • Local distance to mesh [Schroeder et al. 92] – Compute average plane – No comparison to original geometry Mark Pauly - ETH Zurich 328

  51. Global Error Metrics • Simplification envelopes [Cohen et al. 96] – Compute (non-intersecting) offset surfaces – Simplification guarantees to stay within bounds Mark Pauly - ETH Zurich 329

  52. Global Error Metrics • (Two-sided) Hausdorff distance: Maximum distance between two shapes – In general d(A,B) ≠ d(B,A) – Computationally involved A d(A,B) B d(B,A) Mark Pauly - ETH Zurich 330

  53. Global Error Metrics • Scan data: One-sided Hausdorff distance sufficient – From original vertices to current surface Mark Pauly - ETH Zurich 331

  54. Global Error Metrics • Error quadrics [Garland, Heckbert 97] – Squared distance to planes at vertex – No bound on true error Q 3 = Q 1 +Q 2 Q 1 Q 2 v 3 p 1 p 2 solve v 3T Q 3 v 3 = min p iT Q i p i = 0, i={1,2} < ε ? → ok Mark Pauly - ETH Zurich 332

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend