460 likes | 607 Views
Mesh Resampling. Wolfgang Knoll, Reinhard Russ, Cornelia Hasil. 1 Institute of Computer Graphics and Algorithms Vienna University of Technology. Motivation. Reducing number of faces while trying to keep overall shape , volume and boundaries Oversampled 3D scan data
E N D
MeshResampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphicsand Algorithms Vienna University of Technology
Motivation • Reducingnumberoffaceswhiletryingtokeepoverallshape, volume and boundaries • Oversampled 3D scan data • Fitting isosurfaces out ofvolumedatasets Cornelia Hasil
Motivation • Simplificationuseful to • makestorage • transmission • computation • displaymoreefficient • Can reducememoryrequirementsandcanspeednetworktransmission Cornelia Hasil
Problem Statement • Transform a given polygonal mesh into another with fewer faces, edges, and vertices: Cornelia Hasil
MeshSimplification Approaches • Two basic concepts • Vertex Clustering • IncrementalDecimation • Example • Incremental decimation with quadric error metric Cornelia Hasil
MeshSimplification Approaches • Vertex Clustering • Cluster Generation • Computing a representative • Fast and effective • Poor quality • Uniform 3D gridMap vertices to cluster cells • Remove degenerate triangular cells • Computing a representative:If P1, P2, ..., Pk are vertices in the same cell, then the representative is P = (P1 + P2 + ... + Pk)/k Cornelia Hasil
MeshSimplification Approaches • Incrementaldecimation • General • Repeat • pick mesh region • apply decimation operator • Until no further reduction possible Cornelia Hasil
Example: Quadric Error Metrics • SurfaceSimplificationUsingQuadric Error Metrics • Iterative Pair Contraction with the Quadric Error Metric • Works on non-manifold geometry • Supports aggregation • Can be implemented efficiently • Produces high quality approximations Cornelia Hasil
SurfaceSimplificationUsingQuadric Error Metrics • Pair contraction: (v1 , v2 ) → v ̄ • A pair of vertices (v1, v2) are valid for contraction if: • 1. (v1, v2) is an edge, or • 2. ||v1 − v2|| < t for some threshold t • Benefits • Can join unconnected components • Can result in much nicer approximations Cornelia Hasil
Approximating Error WithQuadrics • For eachvertexvistore a symmetric 4x4 matrixQi • Error (v) at v = [vxvyvz 1]TisvTQvv • The matrices Qi are called quadrics, because the level sets of (v) = ε form quadric surfaces (usually ellipsoids) • For a givencontraction(v1 , v2 ) → v ̄ , let Q ̄ = Q1 + Q2 Cornelia Hasil
Performing Contractions • To perform a contraction(v1 , v2 ) → v ̄ , we must find v ̄ • Simple scheme: select v1, v2 or (v1 + v2)/2 withlowestvaluefor (v ̄ ) • We find minimumv ̄ by solving ∂ /∂x = ∂ /∂y = ∂ /∂z = 0which is equivalent to Cornelia Hasil
Algorithm Summary • Compute initial quadrics for each vertex • Select all valid pairs • Compute optimal contraction target for each pair and let its associated error be the cost of the contraction • Place all pairs in a keyed heap • Iteratively remove the pair with least cost from the heap, contract the pair, and update the cost of all valid pairs involving this contracted vertex
Error Metrics in Mesh Simplification Reinhard Russ Institute of Computer Graphics and Algorithms Vienna University of Technology
The purpose of using Error Metrics • Measurement for the introduced geometric error • What is the best contraction to perform? • What is the best position for the remaining vertices? • Endpoint • Optimization Reinhard Russ
Metrics Simple Heuristics Edge length, Dihedral angle, area etc. Sample Distance Squared distance function Cluster distance function Curvature Valence function Quadratic Error Metric Feature Sensitive Metric Wolfgang Knoll
Simple Heuristics as Error Metrics • Edge length • Edge marking function • Dihedral angle • Surrounding area Reinhard Russ
Sample distance as Error Metrics • Squared distance function • Cluster distance function Reinhard Russ
Cluster distance function Reinhard Russ
Sample distance as Error Metrics • Projection to closest point • Restricted projection Reinhard Russ
Error Metric based on Curvature • Curvature Reinhard Russ
Error Metric based on Curvature • Curvature Tensor Field • How many lines should be traced on the surface? • Compute local density • Spacing between two lines of curvature • Cross section of the surface (normal to the lines) Reinhard Russ
Error Metric based on Valence function • Valence function Reinhard Russ
Quadric Error Metric • Quadric Error Metric • Based on point-to-plane distance (instead of point-to-point distance) • Minimize sum of squared distance to all planes at vertex Reinhard Russ
Quadric Error Metric • Quadric Error Metric • Construct a quadric Q for every vertex • Compute error of collapsing • Compute quadric for new vertex Reinhard Russ
Quadric Error Metric Adaptations • Originally for ECP-based algorithms • Adaptations for VDP-based and FCP-based algorithms • Originally for Polygonal Models • Adaptations for Point Clouds Reinhard Russ
Feature Sensitive Metric • Consider the field of unit normal vectors as a vector-valued image Reinhard Russ
Metric Classification Wolfgang Knoll Institute of Computer Graphics and Algorithms Vienna University of Technology
Groupings Goal Simplification/Minimization Quality Improvement Topology/Feature Preservation Application Area Approach Wolfgang Knoll
Simplification/Minimization Less vertices, triangles, faces etc. than before→ Smaller Mesh Either: Given amount Minimal under error boundary Combinable with other goals Wolfgang Knoll
Simplification/Minimization Use of metrics depending on the methods. Wolfgang Knoll
Simplification/Minimization Use of metrics depending on the methods. But:Almost every metric can be used for Minimization... Wolfgang Knoll
Simplification/Minimization Edge/Vertex/Region decimation based on simple Heuristics Clustering in regards with Energy minimization Etc... Wolfgang Knoll
Quality Improvement Improvement in regards with: Vertex/Face distribution Connectivity Triangle shape Keeping Quality in regards with: Error-Metric Topology/Feature Preservation Wolfgang Knoll
Quality Improvement Not always quantizable! Metrics: Curvature based metrics QEM, squared distance function and other metrics for minimizing error/energy(taking the best choice) Valence function Wolfgang Knoll
Quality Improvement Example: Redistribution Wolfgang Knoll
Topology/Feature Preservation Not necessary error minimization Goal is to keep topology intact and/or maintain important features More triangles at feature-areas Rules for Topology preservation Used metrics are often curvature-based Wolfgang Knoll
Topology/Feature Preservation Example: Feature preservation Wolfgang Knoll
Application Area Dependent on: Operational area Local Global Geometrical Element Vertex Edge Face Wolfgang Knoll
Application Area Local approaches are often based on decimation approaches with simple heuristics Global approaches: (Iterative) Energy minimization Clustering → both often use distance metrics Feature Sensitive Metric Wolfgang Knoll
Application Area Distance metrics (obviously) use mostly the distance between vertices/points Clustering additionally can be extended with the Curvature around vertices and in an area/face Wolfgang Knoll
Application Area Example: global method Wolfgang Knoll
Approach Decimation Approaches Energy minimization Clustering Other Approaches:Particle Simulation, Retiling etc. Wolfgang Knoll
Comparison Measures Used to analyze and compare a method Often tightly tied with the method goal Usually no direct comparison between proposed methods due to different measures & models Wolfgang Knoll
Comparison Measures Quantitative Goal: Size: vertex/face number, # Bytes Speed: computational performance Qualitative Goal: Error: max, avg Triangle-angle Wolfgang Knoll
Comparison Measures Quality improvement often lowers performance Size reduction often lowers quality Wolfgang Knoll
Conclusion Main goal is minimization!→ reducing the numbers Clustering and Decimation approaches Curvature often used for quality improvement Performance often goal dependent Wolfgang Knoll