490 likes | 647 Views
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
E N D
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
acquisition rendering processing introduction • 3d content creation • many applications require coarser approximations • storage • transmission • editing • rendering • surface simplification for complexity reduction
acquisition rendering processing raw scans point cloud triangle mesh registration reconstruction introduction • 3d content creation
acquisition rendering processing raw scans point cloud triangle mesh registration reconstruction simplification reduced point cloud introduction • 3d content creation
acquisition rendering processing raw scans point cloud registration simplification reduced point cloud introduction • 3d content creation
idea: locally approximate surface with polynomial • compute reference plane • compute weighted least-squares fit polynomial surface model • moving least squares (mls) approximation • implicit surface definition using a projection operator • Gaussian weight function locality
surface model • moving least squares (mls) approximation • implicit surface definition using a projection operator • idea: locally approximate surface with polynomial • compute reference plane • compute weighted least-squares fit polynomial • Gaussian weight function locality
local surface analysis • local neighborhood (e.g. k-nearest)
covariance matrix centroid • eigenproblem local surface analysis • local neighborhood (e.g. k-nearest)
local surface analysis • local neighborhood (e.g. k-nearest) • eigenvectors span covariance ellipsoid • smallest eigenvector is least-squares normal • surface variation • measures deviation from tangent plane curvature
local surface analysis • example original mean curvature variation n=20 variation 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
covariance ellipsoid split plane centroid hierarchical clustering • 2d example root
hierarchical clustering • 2d example
hierarchical clustering • 2d example
hierarchical clustering • 2d example
hierarchical clustering 43 Clusters 436 Clusters 4,280 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 initial point-pair contraction candidates • compute fundamental quadrics 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 remaining contraction pairs 296,850 points 2,000 points
surface simplification • hierarchical clustering • iterative simplification • particle simulation
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
initialization • randomly spread particles particle simulation • 2d example
initialization • randomly spread particles • repulsion • linear repulsion force particle simulation • 2d example
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 clustering iterative simplification particle simulation
hierarchical clustering iterative simplification particle simulation comparison: performance • execution time as a function of input model size (simplification to 1% of input model size) time (sec) input size
hierarchical clustering iterative simplification particle simulation comparison: performance • execution time as a function of target model size (input: dragon, 435,545 points) time (sec) target size
simplification up-sampling smoothing effect
point cloud vs. mesh simplification simplification reconstruction 3.5 sec. 2.45 sec reconstruction simplification 112.8 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: www.pointshop3d.com • acknowledgement: European graduate program on combinatorics, geometry, and computation