Mesh Simplification
Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2
Applications Overtessellation: E.g. iso-surface extraction 3
Applications Multi-resolution hierarchies for efficient geometry processing level-of-detail (LOD) rendering 4
Applications Adaptation to hardware capabilities 2013 1999 5
Size-Quality Tradeoff error size 6
Problem Statement Given: Find: such that 1. and is minimal, or 2. and is minimal Respect additional fairness criteria normal deviation, triangle shape, scalar attributes, etc. 7
Mesh Decimation Methods Vertex clustering Incremental decimation Resampling Mesh approximation 8
Vertex Clustering Cluster Generation Computing a representative Mesh generation Topology changes 9
Vertex Clustering Cluster Generation Uniform 3D grid Map vertices to cluster cells Computing a representative Mesh generation Topology changes 10
Vertex Clustering Cluster Generation Computing a representative Average/median vertex position Error quadrics Mesh generation Topology changes 12
Computing a Representative Average vertex position 13
Computing a Representative Median vertex position 14
Computing a Representative Error quadrics 15
Error Quadrics Patch is expected to be piecewise flat Minimize distance to neighboring triangles planes 16
Error Quadrics Squared distance of point p to plane q: 17
Error Quadrics Sum distances to planes q i of vertex neighboring triangles: Point p* that minimizes the error satisfies: 18
Comparison average median error quadric 19
Vertex Clustering Cluster Generation Computing a representative Mesh generation Clusters p {p 0,...,p n }, q {q 0,...,q m } Topology changes 20
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 21
Vertex Clustering Cluster Generation Computing a representative Mesh generation Topology changes If different sheets pass through one cell Can be non-manifold 22
Outline Applications Problem Statement Mesh Decimation Methods Vertex Clustering Incremental Decimation Extensions 23
Incremental Decimation 500K 50K 5K 0.5K 24
Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 25
General Setup Repeat: pick mesh region apply decimation operator Until no further reduction possible 26
Greedy Optimization For each region evaluate quality after decimation enqeue(quality, region) Repeat: get best mesh region from queue apply decimation operator update queue Until no further reduction possible 27
Global Error Control For each region evaluate quality after decimation enqeue(quality, region) Repeat: get best mesh region from queue if error < ε apply decimation operator update queue Until no further reduction possible 28
Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 29
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 30
Vertex Removal Select a vertex to be eliminated 31
Vertex Removal Select all triangles sharing this vertex 32
Vertex Removal Remove the selected triangles, creating the hole 33
Vertex Removal Fill the hole with new triangles 34
Decimation Operators Vertex Removal Vertex Insertion Remove vertex Re-triangulate hole Combinatorial degrees of freedom 35
Decimation Operators Edge Collapse Vertex Split Merge two adjacent vertices Define new vertex position Continuous degrees of freedom Filter along the way 36
Decimation Operators Half-Edge Collapse Restricted Vertex Split Collapse edge into one end point Special case of vertex removal Special case of edge collapse No degrees of freedom Separates global optimization from local optimization 37
Half-Edge Collapse 38
Half-Edge Collapse 39
Half-Edge Collapse 40
Half-Edge Collapse 41
Half-Edge Collapse 42
Half-Edge Collapse 43
Half-Edge Collapse 44
Half-Edge Collapse 45
Half-Edge Collapse 46
Half-Edge Collapse flip! 47
Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 48
Local Error Metrics Local distance to mesh Compute average plane No comparison to original geometry 49
Global Error Metrics Error quadrics Squared distance to planes at vertex No bound on true error Q 1 p it Q i p i = 0, i={1,2} p 1 p 2 Q 2 solve v 3T Q 3 v 3 = min < ε? ok Q 3 = Q 1 +Q 2 v 3 50
Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 51
Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance... 52
Fairness Criteria Rate quality after decimation Approximation error Triangle shape r 1 Dihedral angles Valence balance... r 2 53
Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance... 54
Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance Color differences... 55
Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance Color differences... 56
Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance Color differences... 57
Fairness Criteria Rate quality after decimation Approximation error Triangle shape Dihedral angles Valence balance Color differences... 58
Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria Topology changes 59
Topology Changes? Merge vertices across non-edges Changes mesh topology Need spatial neighborhood information Generates non-manifold meshes Vertex Contraction Vertex Separation 60
Topology Changes? Merge vertices across non-edges Changes mesh topology Need spatial neighborhood information Generates non-manifold meshes manifold non-manifold 61
Comparison Vertex clustering fast, but difficult to control simplified mesh topology changes, non-manifold meshes global error bound, but often not close to optimum Incremental decimation with quadric error metrics good trade-off between mesh quality and speed explicit control over mesh topology restricting normal deviation improves mesh quality 62