Download presentation
Presentation is loading. Please wait.
Published byRodney Baker Modified over 9 years ago
1
Detecting Undersampling in Surface Reconstruction Tamal K. Dey and Joachim Giesen Ohio State University
2
Surface Reconstruction A sample and PL approximation
3
Previous and recent works Functional approach Tangent plane [HDeDDMS92] Natural Neighbors [BC00] Alpha shapes [EM94] [BBCS97] Voronoi filtering Crust [AB98] Cocone [ACDL00]
4
Local feature size and sampling Medial axis Local feature size f(p) -sampling d(p)/f(p)
5
Crust Algorithm Compute V P Add Voronoi vertices Compute Delaunay Retain edges between samples only
6
Crust in 3D Introduce poles Filter crust triangles Filter by normals Extract manifold
7
Cocones Compute cocones Filter triangles whose duals intersect cocones Extract manifold Space spanned by vectors making angle /8 with horizontal
8
Boundaries Only part of a surface is well sampled
9
High curvature High curvature regions are often undersampled
10
Non-smoothness Impossible to sample densely 0
11
Well sampled patch and boundary vertices S F is well sampled if ε-sampling holds for S Restricted Voronoi on S defines boundary vertices p is interior if restricted cell has no boundary point otherwise p is boundary vertex
12
Cocones, radius and height cocones: space spanned by vectors making /8 with the horizontal radius r(p): radius of cocone height h(p): min distance to the poles cocone neighbors N p
13
Flatness condition Vertex p is flat if 1. Ratio condition: r(p) h(p) 2. Normal condition: v(p),v(q) q with p N q
14
Boundary Detection(1 st phase) IsFlat( p, , ) check ratio and normal condition for V p ; if both are satisfied return true else return false end
15
Boundary detection(2 nd phase) Boundary (P, , ) Compute the set R of flat vertices; while p R and p N q with q R and r(p) h(p) and v(p),v(q) R:=R p; endwhile return P\R end
16
Reconstruction Cocone (P, , ) Compute V P ; for each p P if p B compute T of triangles with duals intersecting C p ; endif enfor; Extract manifold; end B:= Boundary( P, , )
17
Correctness Theorem 1: All deep interior vertices are flat. Definition: An interior vertex is deep if no boundary vertex contains it as cocone neighbor.
18
Correctness Assumptions: (i) S´ S with points f(p) away from sample points p defines same set of boundary vertices as S does, where . (ii) Each boundary vertex has an interior vertex as neighbor. (iii) Each interior vertex is connected to a deep interior vertex only through interior vertex neighborhoods. Theorem 2: Boundary vertices cannot be flat. Theorem 3: Boundary() detects all and only boundary vertices.
19
Implementation Co-cone is implemented in CGAL Floating point arithmetic is faster, but produces numerical errors Exact arithmetic with integers is slow Use floating point filters Difficulty in manifold extraction step with ``false boundary vertices” due to noise and numerical error
20
Umbrella check Check if a vertex has an umbrella Declare a vertex without umbrella as a boundary vertex Prune triangles with sharp edges only if they are not incident with boundary vertices
21
Parameters theory = 0.01, higher in practice theory = 1.3 , = 0.66-0.99 produce good result. Smaller detects more boundaries theory = 0.14 radians, /6 produces good result cocone angle /8 in theory and /8 in practice 0.99 0.23
22
Data set foot
23
Data set Mannequin
24
Data set cactus
25
Data Set Sat
26
Data set Engine
27
Data set Oilpump
28
Nonsmoothness Repaired
29
Noise Detection (Outliers) Outliers Cleaned
30
Boundary Detection Helps Modeling by Parts
31
Arithmetic Precision Floating point is fast, but causes numerical error Exact arithmetic is slow, but produces robust results
32
Precision Floating pointExact arithmetic
33
Timings (Exact-Double) Name Delaunay Boundary Reconstruction Cactus 130- 40- 23- Cat 120-50 108-58 68-51 Engine 831-405 108-58 79-59 foot 233-99 224-119 138-103 Mannequin 135-57 137-73 85-64 Oilpump 409-153 314-166 197-141 Club 171-74 179-95 112-84
34
Timings Name #points #triangles Reconstruction(sec.) Halfsphere 245 486 0.58 Mannequin 12772 25339 74 Foot 20021 39995 122 Oilpump 30931 61548 194 Monkeysaddle 10000 19596 345 PIII, 933Mhz, 512MB
35
Conclusions Introduced a measure radius/height ratio for skininess of Voronoi cells Helps in detecting boundaries and sharp features Recently we have used the radius/height ratio for sample decimation (CCCG01) Used it for supersize data (PVG01) Can we use it to eliminate noise? More applications 543,652 points 143 -> 28 min 3.5 million points Unfin-> 198 min
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.