efficient simplification of point-sampled geometry Mark Pauly Markus Gross Leif Kobbelt ETH Zurich RWTH Aachen
outline introduction surface model & local surface analysis point cloud simplification –hierarchical clustering –iterative simplification –particle simulation measuring surface error comparison conclusions
introduction 3d content creation acquisitionrenderingprocessing many applications require coarser approximations –storage –transmission –editing –rendering surface simplification for complexity reduction
introduction 3d content creation acquisitionrenderingprocessing registrationraw scanspoint cloudreconstructiontriangle mesh
introduction 3d content creation acquisitionrenderingprocessing registrationraw scanspoint cloudreconstructiontriangle meshsimplification reduced point cloud
introduction 3d content creation acquisitionrenderingprocessing registrationraw scanspoint cloudsimplification reduced point cloud
surface model moving least squares (mls) approximation Gaussian weight function locality idea: locally approximate surface with polynomial –compute reference plane –compute weighted least- squares fit polynomial implicit surface definition using a projection operator
surface model moving least squares (mls) approximation idea: locally approximate surface with polynomial –compute reference plane –compute weighted least- squares fit polynomial Gaussian weight function locality implicit surface definition using a projection operator
local surface analysis local neighborhood (e.g. k-nearest)
local surface analysis local neighborhood (e.g. k-nearest) covariance matrix eigenproblem centroid
local surface analysis local neighborhood (e.g. k-nearest) eigenvectors span covariance ellipsoid surface variation smallest eigenvector is least-squares normal measures deviation from tangent plane curvature
local surface analysis example originalmean curvaturevariation n=20variation n=50
surface simplification hierarchical clustering iterative simplification particle simulation
hierarchical clustering top-down approach using binary space partition recursively split the point cloud if: –size is larger than a user-specified threshold or –surface variation is above maximum threshold split plane defined by centroid and axis of greatest variation replace clusters by centroid
hierarchical clustering 2d example covariance ellipsoid split plane centroid root
hierarchical clustering 2d example
hierarchical clustering 2d example
hierarchical clustering 2d example
hierarchical clustering 4,280 Clusters436 Clusters43 Clusters
surface simplification hierarchical clustering iterative simplification particle simulation
iterative simplification iteratively contracts point pairs each contraction reduces the number of points by one contractions are arranged in priority queue according to quadric error metric quadric measures cost of contraction and determines optimal position for contracted sample equivalent to QSlim except for definition of approximating planes
compute fundamental quadrics compute initial point-pair contraction candidates iterative simplification 2d example compute edge costs
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 2d example priority queue edge cost
iterative simplification 296,850 points2,000 points remaining contraction pairs
surface simplification hierarchical clustering iterative simplification particle simulation
resample surface by distributing particles on the surface particles move on surface according to inter- particle repelling forces particle relaxation terminates when equilibrium is reached (requires damping) can also be used for up-sampling!
mls surface particle simulation 2d example
particle simulation 2d example initialization –randomly spread particles
particle simulation 2d example initialization –randomly spread particles repulsion –linear repulsion force
projection –project particles onto surface particle simulation 2d example initialization –randomly spread particles repulsion –linear repulsion force
particle simulation 2d example initialization –randomly spread particles repulsion –linear repulsion force projection –project particles onto surface
particle simulation original model 296,850 points uniform repulsion 2,000 points adaptive repulsion 3,000 points
measuring error measure distance between two point-sampled surfaces S and S’ using a sampling approach compute set Q of points on S maximum error: two-sided Hausdorff distance mean error: area-weighted integral of point-to-surface distances size of Q determines accuracy of error measure
measuring error d(q,S’) measures the distance of point q to surface S’ using the mls projection operator
comparison: surface error error estimate for Michelangelo’s David simplified from 2,000,000 points to 5,000 points hierarchical clusteringiterative simplificationparticle simulation
comparison: performance execution time as a function of input model size (simplification to 1% of input model size) input size time (sec) hierarchical clustering iterative simplification particle simulation
comparison: performance execution time as a function of target model size (input: dragon, 435,545 points) hierarchical clustering iterative simplification particle simulation target size time (sec)
smoothing effect simplification up-sampling
point cloud vs. mesh simplification simplification reconstruction 3.5 sec sec reconstruction simplification sec. 3.5 sec.
conclusions point cloud simplification can be useful to –reduce the complexity of geometric models early in the 3d content creation pipeline –build LOD surface representations –create surface hierarchies the right method depends on the application check out: acknowledgement: European graduate program on combinatorics, geometry, and computation