efficient simplification of pointsampled geometry Mark Pauly Markus

  • Slides: 49
Download presentation
efficient simplification of point-sampled geometry Mark Pauly Markus Gross ETH Zurich Leif Kobbelt RWTH

efficient simplification of point-sampled geometry Mark Pauly Markus Gross ETH Zurich Leif Kobbelt RWTH Aachen

outline n n n introduction surface model & local surface analysis point cloud simplification

outline n n n introduction surface model & local surface analysis point cloud simplification – hierarchical clustering – iterative simplification – particle simulation n measuring surface error comparison conclusions

introduction n 3 d content creation acquisition n rendering many applications require coarser approximations

introduction n 3 d content creation acquisition n rendering many applications require coarser approximations – – è processing storage transmission editing rendering surface simplification for complexity reduction

introduction n 3 d content creation acquisition processing raw scans registration triangle mesh point

introduction n 3 d content creation acquisition processing raw scans registration triangle mesh point cloud reconstruction rendering

introduction n 3 d content creation acquisition processing raw scans registration triangle mesh point

introduction n 3 d content creation acquisition processing raw scans registration triangle mesh point cloud reconstruction simplification reduced point cloud rendering

introduction n 3 d content creation acquisition processing raw scans registration point cloud simplification

introduction n 3 d content creation acquisition processing raw scans registration point cloud simplification reduced point cloud rendering

surface model n moving least squares (mls) approximation n implicit surface definition using a

surface model n moving least squares (mls) approximation n implicit surface definition using a projection operator n idea: locally approximate surface with polynomial – compute reference plane – compute weighted leastsquares fit polynomial n Gaussian weight function locality

surface model n moving least squares (mls) approximation n implicit surface definition using a

surface model n moving least squares (mls) approximation n implicit surface definition using a projection operator n idea: locally approximate surface with polynomial – compute reference plane – compute weighted leastsquares fit polynomial n Gaussian weight function locality

local surface analysis n local neighborhood (e. g. k-nearest)

local surface analysis n local neighborhood (e. g. k-nearest)

local surface analysis n local neighborhood (e. g. k-nearest) n covariance matrix n eigenproblem

local surface analysis n local neighborhood (e. g. k-nearest) n covariance matrix n eigenproblem centroid

local surface analysis n local neighborhood (e. g. k-nearest) n eigenvectors span covariance ellipsoid

local surface analysis n local neighborhood (e. g. k-nearest) n eigenvectors span covariance ellipsoid n smallest eigenvector is least-squares normal n surface variation n measures deviation from tangent plane curvature

local surface analysis n example original mean curvature variation n=20 variation n=50

local surface analysis n example original mean curvature variation n=20 variation n=50

surface simplification n hierarchical clustering iterative simplification particle simulation

surface simplification n hierarchical clustering iterative simplification particle simulation

hierarchical clustering n n top-down approach using binary space partition recursively split the point

hierarchical clustering n n 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 n n split plane defined by centroid and axis of greatest variation replace clusters by centroid

hierarchical clustering n 2 d example root covariance ellipsoid split plane centroid

hierarchical clustering n 2 d example root covariance ellipsoid split plane centroid

hierarchical clustering n 2 d example

hierarchical clustering n 2 d example

hierarchical clustering n 2 d example

hierarchical clustering n 2 d example

hierarchical clustering n 2 d example

hierarchical clustering n 2 d example

hierarchical clustering 43 Clusters 436 Clusters 4, 280 Clusters

hierarchical clustering 43 Clusters 436 Clusters 4, 280 Clusters

surface simplification n hierarchical clustering iterative simplification particle simulation

surface simplification n hierarchical clustering iterative simplification particle simulation

iterative simplification n iteratively contracts point pairs each contraction reduces the number of points

iterative simplification n iteratively contracts point pairs each contraction reduces the number of points by one n contractions are arranged in priority queue according to quadric error metric n quadric measures cost of contraction and determines optimal position for contracted sample n equivalent to QSlim except for definition of approximating planes

iterative simplification n 2 d example n compute initial point-pair contraction candidates n compute

iterative simplification n 2 d example n compute initial point-pair contraction candidates n compute fundamental quadrics n compute edge costs

iterative simplification n 2 d example priority queue edge cost 6 0. 02 2

iterative simplification n 2 d example priority queue edge cost 6 0. 02 2 0. 03 14 0. 04 5 0. 04 9 0. 09 1 0. 11 13 0. 13 3 0. 22 11 0. 27 10 0. 36 7 0. 44 4 0. 56

iterative simplification n 2 d example priority queue edge cost 6 0. 02 2

iterative simplification n 2 d example priority queue edge cost 6 0. 02 2 0. 03 14 0. 04 5 0. 04 9 0. 09 1 0. 11 13 0. 13 3 0. 22 11 0. 27 10 0. 36 7 0. 44 4 0. 56

iterative simplification n 2 d example priority queue edge cost 2 0. 03 14

iterative simplification n 2 d example priority queue edge cost 2 0. 03 14 0. 04 5 0. 06 9 0. 09 1 0. 11 13 0. 13 3 0. 25 11 0. 27 10 0. 36 7 0. 49 4 0. 56

iterative simplification n 2 d example priority queue edge cost 14 0. 04 5

iterative simplification n 2 d example priority queue edge cost 14 0. 04 5 0. 06 9 0. 09 1 0. 11 13 0. 13 3 0. 25 11 0. 27 10 0. 36 7 0. 49 4 0. 56

iterative simplification n 2 d example priority queue edge cost 14 0. 04 5

iterative simplification n 2 d example priority queue edge cost 14 0. 04 5 0. 06 9 0. 09 1 0. 11 13 0. 13 3 0. 25 11 0. 27 10 0. 36 7 0. 49 4 0. 56

iterative simplification n 2 d example priority queue edge cost 5 0. 06 9

iterative simplification n 2 d example priority queue edge cost 5 0. 06 9 0. 09 1 0. 11 13 0. 13 3 0. 25 11 0. 27 10 0. 36 7 0. 49 4 0. 56

iterative simplification n 2 d example priority queue edge cost 5 0. 06 9

iterative simplification n 2 d example priority queue edge cost 5 0. 06 9 0. 09 1 0. 11 13 0. 13 3 0. 25 11 0. 27 10 0. 36 7 0. 49 4 0. 56

iterative simplification n 2 d example priority queue edge cost 9 0. 09 1

iterative simplification n 2 d example priority queue edge cost 9 0. 09 1 0. 11 13 0. 13 3 0. 25 11 0. 27 10 0. 36 7 0. 49 4 0. 56

iterative simplification n 2 d example priority queue edge cost 9 0. 09 1

iterative simplification n 2 d example priority queue edge cost 9 0. 09 1 0. 11 13 0. 13 3 0. 25 11 0. 27 10 0. 36 7 0. 49 4 0. 56

iterative simplification n 2 d example priority queue edge cost 11 0. 27 10

iterative simplification n 2 d example priority queue edge cost 11 0. 27 10 0. 36 7 0. 49 4 0. 56

iterative simplification 296, 850 points 2, 000 points remaining contraction pairs

iterative simplification 296, 850 points 2, 000 points remaining contraction pairs

surface simplification n hierarchical clustering iterative simplification particle simulation

surface simplification n hierarchical clustering iterative simplification particle simulation

particle simulation n resample surface by distributing particles on the surface n particles move

particle simulation n resample surface by distributing particles on the surface n particles move on surface according to interparticle repelling forces n particle relaxation terminates when equilibrium is reached (requires damping) n can also be used for up-sampling!

particle simulation n 2 d example mls surface

particle simulation n 2 d example mls surface

particle simulation n 2 d example n initialization – randomly spread particles

particle simulation n 2 d example n initialization – randomly spread particles

particle simulation n 2 d example n initialization – randomly spread particles n repulsion

particle simulation n 2 d example n initialization – randomly spread particles n repulsion – linear repulsion force

particle simulation n 2 d example n initialization – randomly spread particles n repulsion

particle simulation n 2 d example n initialization – randomly spread particles n repulsion – linear repulsion force n projection – project particles onto surface

particle simulation n 2 d example n initialization – randomly spread particles n repulsion

particle simulation n 2 d example n initialization – randomly spread particles n repulsion – linear repulsion force n projection – project particles onto surface

particle simulation original model 296, 850 points uniform repulsion 2, 000 points adaptive repulsion

particle simulation original model 296, 850 points uniform repulsion 2, 000 points adaptive repulsion 3, 000 points

measuring error n measure distance between two point-sampled surfaces S and S’ using a

measuring error n measure distance between two point-sampled surfaces S and S’ using a sampling approach n compute set Q of points on S n maximum error: two-sided Hausdorff distance n mean error: area-weighted integral of point-to-surface distances n size of Q determines accuracy of error measure

measuring error n d(q, S’) measures the distance of point q to surface S’

measuring error n d(q, S’) measures the distance of point q to surface S’ using the mls projection operator

comparison: surface error n error estimate for Michelangelo’s David simplified from 2, 000 points

comparison: surface error n error estimate for Michelangelo’s David simplified from 2, 000 points to 5, 000 points hierarchical clustering iterative simplification particle simulation

comparison: performance n execution time as a function of input model size (simplification to

comparison: performance n execution time as a function of input model size (simplification to 1% of input model size) hierarchical clustering time (sec) iterative simplification particle simulation input size

comparison: performance n execution time as a function of target model size (input: dragon,

comparison: performance n execution time as a function of target model size (input: dragon, 435, 545 points) time (sec) hierarchical clustering iterative simplification particle simulation target size

smoothing effect simplification up-sampling

smoothing effect simplification up-sampling

point cloud vs. mesh simplification reconstruction 3. 5 sec. 2. 45 sec reconstruction simplification

point cloud vs. mesh simplification reconstruction 3. 5 sec. 2. 45 sec reconstruction simplification 112. 8 sec. 3. 5 sec.

conclusions n point cloud simplification can be useful to – reduce the complexity of

conclusions n point cloud simplification can be useful to – reduce the complexity of geometric models early in the 3 d content creation pipeline – build LOD surface representations – create surface hierarchies n n n the right method depends on the application check out: www. pointshop 3 d. com acknowledgement: European graduate program on combinatorics, geometry, and computation