computing shapes and their features from point samples
DESCRIPTION
Computing Shapes and Their Features from Point Samples. Tamal K. Dey The Ohio State University. `. Surface Reconstruction. Point Cloud. Surface Reconstruction. Algorithms. Alpha-shapes (Edelsbrunner, M ü cke 94) Crust (Amenta, Bern 98) Natural Neighbors (Boissonnat, Cazals 00) - PowerPoint PPT PresentationTRANSCRIPT
Tamal K. Dey The Ohio State University
Computing Shapes and Their Features from Point Samples
2/52Department of Computer and Information Science
Surface Reconstruction
`
Point Cloud
Surface Reconstruction
3/52Department of Computer and Information Science
Algorithms
1. Alpha-shapes (Edelsbrunner, Mücke 94)
2. Crust (Amenta, Bern 98)
3. Natural Neighbors (Boissonnat, Cazals 00)
4. Cocone (Amenta, Choi, Dey, Leekha, 00)
5. Tight Cocone (Dey, Goswami, 02)
6. Power Crust (Amenta, Choi, Kolluri 01)
4/52Department of Computer and Information Science
Basic Topology
d-ball Bd {x in Rd | ||x|| ≤ 1} d-sphere Sd {x in Rd+1 | ||x||=1}
Homeomorphism h: T1 → T2 where
h is continuous, bijective and has continuous inverse
K-Manifold : neighborhoods homeomorphic to open k-ball2-sphere, torus, double torus are 2-manifolds
K-manifold with boundary: interior points, boundary pointsBd is a d-manifold with boundary where bd(Bd)=S(d-1)
5/52Department of Computer and Information Science
Basic Topology Smooth Manifolds Triangulation
k-simplex Simplicial complex K: (i) t in K if t is a face of t' in
K
(ii) t1, t2 in K => t1∩ t2 face of both
K is a triangulation of a topological space T if
T ≈ |K|
6/52Department of Computer and Information Science
Sampling
7/52Department of Computer and Information Science
Medial Axis
8/52Department of Computer and Information Science
f(x) is the distance to medial axis
Local Feature SizeAmenta-Bern-Eppstein 98
f(x)
9/52Department of Computer and Information Science
Each x has a sample within f(x) distance
-samplingAmenta-Bern-Eppstein 98
x
10/52Department of Computer and Information Science
-sampleε-sample is also ε'-sample for ε' > ε
11/52Department of Computer and Information Science
Lipschitz Property of f()Lemma (Lipschitz Continuity):
f(x) ≤ f(y) + ||x-y||
Proof: Let m be a point on M with f(y)=||y-m||
By triangular inequality
||x-m|| ≤ ||y-m|| + ||x-y||
f(x) ≤ ||x-m|| ≤ f(y)+||x-y||
12/52Department of Computer and Information Science
FTL: Feature translation lemma
Lemma (Feature Translation): If ||x-y|| ≤ ε f(x) then
1/(1+ ε)f(y) ≤ f(x) ≤ 1/(1- ε)f(y)
Exercise 1: Prove it. Also prove ||x-y|| ≤ ε /(1-
ε)f(y)
13/52Department of Computer and Information Science
FBL: Feature Ball LemmaLemma (Feature Ball): If a d-ball B intersects a k-
manifold Σ at more than two points with either (i) B∩Σ is not a k-ball, or (ii) bd(B)∩Σ is not a (k-1)-sphere, then B contains a medial axis point. Exercise 2: Prove
14/52Department of Computer and Information Science
Voronoi/Delaunay Diagrams
Voronoi diagram VP: collection of Voronoi cells {Vp}
Vp={x in R3 | ||x-p|| ≤ ||x-q|| for all q in P}
Voronoi facet, Voronoi edge, Voronoi vertex
Delaunay triangulation DP: Dual of VP, a simplicial complex
Delaunay edge, triangle, tetrahedra
15/52Department of Computer and Information Science
Delaunay propertiesEmptiness : A simplex t is in DP if and only if there is
a circumscribing ball of t that does not contain any point of P inside.
Proof: If a k-simplex t, 0 ≤ k ≤ 3, is in a DP, its dual (3-k)-dimensional Voronoi element has a point x that is equidistant from the (k+1) vertices of t. Also these vertices are closest to x among all points of P. This only means the ball centered at x with the vertices of t on the bounding sphere is empty.
Exercise 3: Show that if t has an empty circumball, t is in DP
16/52Department of Computer and Information Science
Restricted Voronoi/Delaunay
Restricted Voronoi: VP,Σ = {Vp Σ =Vp∩ Σ | p in P}
Restricted Delaunay: Dp, Σ ={A k-simplex is Conv R where
∩Vp, Σ ≠ Ø for p in R}
17/52Department of Computer and Information Science
Curve samples and Voronoi
18/52Department of Computer and Information Science
Crust Algorithm (2D)Amenta-Bern-Eppstein 98
Compute VP
Add Voronoi vertices
Compute Delaunay
Retain edges between
samples only
19/52Department of Computer and Information Science
Nearest Neighbor AlgorithmDey-Kumar 99
Compute DP
For each p, compute nearest neighbor
For each p, compute its half-neighbor.
20/52Department of Computer and Information Science
Difficulties in 3DVoronoi vertices can come
close to the surface… slivers are nasty.
There is no unique `correct’ surface for reference
or
or……
Voronoi vertex
21/52Department of Computer and Information Science
Normals and Voronoi Cells(3D) Amenta-Bern 98
22/52Department of Computer and Information Science
Long Voronoi cellsLemma (Medial): Let m1 and m2 be the centers of two medial balls at p. Vp contains m1, m2.Exercise 4: Prove it
23/52Department of Computer and Information Science
NL : Normal LemmaLemma (Normal) : Let v be a point in Vp with ||v-p||>μf(p). Then,
angle((v-p),np)≤ arcsin ε/μ(1- ε) + arcsin ε /(1- ε). Exercise 5: Prove NL
24/52Department of Computer and Information Science
NVL: Normal Variation lemma
Lemma (Normal Variation) : Let x and y be two points with ||x-y||≤r f(x) for r< 1/3. Then, angle(nx,ny) ≤ r/(1-3r).
25/52Department of Computer and Information Science
ENL: Edge Normal LemmaLemma (Edge Normal): angle((p-q),np) > /2 – arcsin ||p-q||/2f(p).
Proof: sin θ = ||p-q||/2||m-p|| ≤ ||p-q||/2f(p)
26/52Department of Computer and Information Science
TNL: Triangle Normal Lemma
Lemma (Triangle Normal) : angle(npqr,np) ≤ α + arcsin((2/√3) sin 2α)where α ≤ arcsin d/f(p) and d, the circumradius, is sufficiently small.
27/52Department of Computer and Information Science
TopologyClosed Ball property (Edelsbrunner, Shah 94): If restricted Voronoi cellis a closed ball in each dimension, then DP, Σ is homeomorphic to Σ.
Assume P is an e-sample of Σ where e is sufficiently small. It can be shown that (P, Σ) satisfies the closed ball property.(proof from Cheng-Dey-Edelsbrunner-Sullivan 02)
28/52Department of Computer and Information Science
SDL: Short Distance Lemma
Lemma Short Distance : x, y two points in Vp,Σ. (i) ||x-p||< ε/(1- ε)f(p)(ii) ||x-y|| < 2ε/(1- ε)f(x).
Exercise 6: Prove it.
29/52Department of Computer and Information Science
LDL: Long Distance Lemma
Lemma (Long Distance) : Suppose L intersects S in two points x, y andmakes angle less than ξ with nx. Then ||x-y||>2f(x)cos ξ.
30/52Department of Computer and Information Science
VEL: Voronoi Edge LemmaLemma (Voronoi Edge) : A Voronoi edge intersects Σ in a single point.
Proof: x ≤ angle(npqr,np) + angle(np,nx) ≤ O(ε) + O(ε) by TNL and NVL.
2f(x)cos O(ε) ≤ ||x-y|| ≤ O(ε) f(x)by SDL and LDL
Contradiction when ε is sufficiently smallExercise 7: Prove it
31/52Department of Computer and Information Science
VFL: Voronoi Facet LemmaLemma (Voronoi Facet): A Voronoi facet intersects Σ in a 1-ball.
Proof: angle(Lnx)≤ angle(Lnp) + angle(np,nx)
≤ O(ε) + O(ε) by ENL and NVL. 2f(x)cos O(ε) ≤ ||x-y|| ≤ O(ε) f(x)
by SDL and LDL Contradiction when ε is sufficiently small
32/52Department of Computer and Information Science
VCL: Voronoi Cell LemmaLemma (Voronoi Cell) : A Voronoi cell intersects Σ in a 2-ball.
Proof: show that handles and connected components of Σ cannot be in the cell. Then show that if the cell intersects Σ in multiple disks, we reach a contradiction with SDL and LDL.
33/52Department of Computer and Information Science
PolesP+
P-
34/52Department of Computer and Information Science
PVL: Pole Vector LemmaP+
P-
npvp
Lemma (Pole Vector) : angle((p+-p),np)=2arcsin ε /(1- ε).Proof: ||p+-p||> f(p) since Vp contains a medial axis point (Medial Lemma). Plug this in Normal Lemma.
35/52Department of Computer and Information Science
Crust in 3DAmenta-Bern 98
Introduce poles
Filter crust triangles from Delaunay
Filter by normals
Extract manifold
36/52Department of Computer and Information Science
Manifold Extraction: Prunning
Remove Sharp edges with their triangles
37/52Department of Computer and Information Science
Why Prunning Works?Crust triangles include restricted Delaunay triangles
The underlying space of the restricted Delaunay
triangles is homeomorphic to the sampled surface
No edge of the restricted triangles is sharp
After prunning, at least the surface made by the
restricted Delaunay triangles remains
38/52Department of Computer and Information Science
Manifold Extraction: Walk
Walk inside or outside the possibly thickened surface
39/52Department of Computer and Information Science
Cocone AlgorithmAmenta-Choi-Dey-Leekha 00
Simplified/improved the Crust
Only single Voronoi computation
Analysis is simpler
No normal filtering step
Proof of homeomorphism
40/52Department of Computer and Information Science
Cocone
vp= p+ - p is the pole vector
Space spanned by vectors
within the Voronoi cell making
angle > 3/8 with vp or -vp
41/52Department of Computer and Information Science
Cocone Algorithm
42/52Department of Computer and Information Science
Candidate triangles computatione=(a,b); a=a-p; b= b-p
43/52Department of Computer and Information Science
Candidate Triangle Properties
Candidate triangles include the restricted
Delaunay triangles
Their circumradii are small O()f(p)
Their normals make only O() angle with the
surface normals at the vertices
44/52Department of Computer and Information Science
Restricted Delaunay property
Claim: Let y in Vp∩ Σ . Then, angle(np,(y-p)) > /2- εExercise 8: Prove it.
Lemma (Restricted Delaunay): All restricted triangles are in T for ε <0.1.Proof: Let y in e∩Σ where e is the dual edge for a triangle.
angle((y-p),vp)>angle((y-p),np)-angle(np,vp)
> /2- ε -angle(np,vp)
> 3/8 by PVL for ε < 0.1.
45/52Department of Computer and Information Science
No sharp edge
Lemma Sharp: No restricted Delaunay triangle has a sharp edge for ε < 0.06
46/52Department of Computer and Information Science
Small radius and flatnessLemma (Small Triangle): The circumradius r of any candidate triangle is O(ε)f(p) where p is any of its vertex and ε < 0.06.
Proof: There is y in dual edge so that angle(vp,(y-p))>3/8.By PVL angle(np,(y-p)) > 3/8-2arcsin ε /(1- ε).Use contrapositive of NL to conclude ||y-p||=O(ε)f(p) for ε <0.06.
Lemma (Flat Triangle): For each candidate triangle pqrangle(npqr,np)=O(ε)
Proof: Follows from STL and TNL.
47/52Department of Computer and Information Science
Homeomorphism
Let M be the triangulated surface obtained after the manifold extraction.
Define h: R3 -> Σ where h(q) is the closest point on Σ. h is welldefined except at the medial axis points.
Lemma Homeomorphism: The restriction of h to M, h: M -> Σ,is a homeomorphism.
Proof: Use STL, FTL for the proof, see ACDL00.
48/52Department of Computer and Information Science
Cocone GuaranteesTheorem:
Any point x is within O(f(x) distance from a point in the output. Conversely, any point of the output surface has a point x within O()f(x) distance for ε <0.06.
Theorem:
The output surface computed by Cocone from an -sample is homeomorphic to the sampled surface for ε < 0.06.
49/52Department of Computer and Information Science
Undersampling Dey-Giesen 01
Boundaries
Small features
Non-smoothness
50/52Department of Computer and Information Science
Boundaries
51/52Department of Computer and Information Science
Small Features High curvature regions are often undersampled
52/52Department of Computer and Information Science
Well Sampled Patch and Boundary Vertices
is well sampled if ε-sampling
holds for
Restricted Voronoi on defines boundary vertices
p is interior if restricted cell has no boundary point otherwise p is boundary vertex
53/52Department of Computer and Information Science
Radius and HeightRadius r(p): radius of cocone
Height h(p): distance to the negative pole p-
cocone neighbors Np
54/52Department of Computer and Information Science
Flatness Condition
Vertex p is flat if
1. Ratio condition: r(p) h(p)
2. Normal condition: vp,vq q with pNq
55/52Department of Computer and Information Science
Boundary Detection(1st phase)
IsFlat(p,,) check ratio and normal condition for Vp;
if both are satisfied
return true
else
return false
end
56/52Department of Computer and Information Science
Boundary Detection(2nd phase)
Boundary(P,,) Compute the set R of flat vertices; while pR and pNq with qR and r(p)h(p) and vp,vq R:=Rp; endwhile return P\Rend
57/52Department of Computer and Information Science
ReconstructionCocone(P, ,)
Compute VP;
for each pP if pB compute T of triangles with duals intersecting Cp; endifenfor;
Extract manifold;end
B:= Boundary(P,,)
58/52Department of Computer and Information Science
Data Set Sat
59/52Department of Computer and Information Science
Data Set Engine
60/52Department of Computer and Information Science
Nonsmoothness
61/52Department of Computer and Information Science
Watertight Surfaces
62/52Department of Computer and Information Science
Tight Cocone Dey-Goswami 02
63/52Department of Computer and Information Science
Tight COCONE Principle Compute the Delaunay triangulation of the input point set.
Use COCONE along with detection of undersampling to get an initial
surface with undersampled regions identified.
Stitch the holes from the existing Delaunay triangles without inserting any
new point.
Effectively, the output surface bounds one or more solids.
64/52Department of Computer and Information Science
Result Sharp corners and edges of AutoPart can be reconstructed.
65/52Department of Computer and Information Science
Dinosaur
66/52Department of Computer and Information Science
Large Data
Octree subdivision
67/52Department of Computer and Information Science
Cracks Cracks appear in surface computed from octree boxes
68/52Department of Computer and Information Science
Padding Include a fraction from the neighbors to form the extended box
69/52Department of Computer and Information Science
Surface Matching
70/52Department of Computer and Information Science
Experimental DataPentium III,733Mhz,512Mb
Time
Memory
71/52Department of Computer and Information Science
Lucy25
3.5 million points, 198 mints
72/52Department of Computer and Information Science
David’s Head
2 mil points, 93 minutes
73/52Department of Computer and Information Science
Noisy Data - Bunny
Front view Rear view
74/52Department of Computer and Information Science
Noisy Data – Ram Head
Front view Rear view
75/52Department of Computer and Information Science
Example movie file
Mannequin
76/52Department of Computer and Information Science
• Female
Point data Tight Cocone Robust Cocone
Examples
77/52Department of Computer and Information Science
• Mannequin
Point data Tight Cocone Robust Cocone
Examples
78/52Department of Computer and Information Science
Cocone Software
Cocone: Reconstructs surfaces with boundaries.
Tight Cocone: Reconstructs watertight surfaces.
Available fromhttp://www.cis.ohio-state.edu/~tamaldey/cocone.html
Acknowledgement: CGAL
79/52Department of Computer and Information Science
Medial axis from point sample
• Earlier work did not have guarantees[Attali-Montanvert-Lachaud 01]
• Power shape : guarantees topology, uses power diagram[Amenta-Choi-Kolluri 01]
• Medial : Approximates the medial axis as a Voronoi subcomplex and has converegence guarantee.[Dey-Zhao 02]
80/52Department of Computer and Information Science
Medial Axis• Medial Ball• Medial Axis -Sampling
81/52Department of Computer and Information Science
Geometric Definitions
• Pole and Pole Vector
• Tangent Polygon • Umbrella Up
82/52Department of Computer and Information Science
Filtering conditions
• Medial axis point m• Medial angle θ• Angle and Ratio
Conditions
Our goal: : approximate the medial axis as a approximate the medial axis as a subset of Voronoi facetssubset of Voronoi facets..
83/52Department of Computer and Information Science
Angle Condition• Angle Condition
[θ ]:
Max{σ in Up angle(nσ,(q-p)) }< /2- θ
84/52Department of Computer and Information Science
‘Only Angle Condition’ Results
= 18 degrees
= 3 degrees = 32 degrees
85/52Department of Computer and Information Science
‘Only Angle Condition’ Results
= 15 degrees
= 20 degrees
= 30 degrees
86/52Department of Computer and Information Science
Ratio Condition
• Ratio Condition []:
Min{σ in Up ||p-q||/Rσ >
87/52Department of Computer and Information Science
‘Only Ratio Condition’ Results
= 2
= 4
= 8
88/52Department of Computer and Information Science
‘Only Ratio Condition’ Results
= 2
= 4
= 6
89/52Department of Computer and Information Science
Algorithm• Each of Angle and Ratio conditions
individually is not sufficient. • Combination of both conditions
• First Angle, then Ratio• The Angle condition captures the Delaunay edges
which lie away from the surface.• The Ratio condition captures the the Delaunay edges
which make small angles with the umbrella triangles but are comparatively larger than their circumradii.
• Allows fixed values of θ and
90/52Department of Computer and Information Science
Algorithm
)cloure(Output 11endfor10
endfor9endif8
Dual78 Condtion or Ratio Condition Angle satisfies if6
edgeDelaunayeachfor5; Compute4
eachfor3;2
;and Compute1
8
F
pqF:Fpq
UpqUPp
FDV
P
p
p
PP
)(M EDIAL
91/52Department of Computer and Information Science
AnalysisLemma 1: If w lies in the segment mm’, 2 tan(arcsin2 ) .p pw w
p = O ()
S
m1
m’
92/52Department of Computer and Information Science
Analysis (continued)
Lemma 2: Let F = Dual pq be a Voronoi facet
where pq satisfies the angle condition [ ] with
2p + p. Any point w in F with
is at a distance
from m where m and are the center and radius
of the medial ball at p with .
w p 1 (2 tan(arcsin 2 ))
sin( ) p pp
0pm pwt t
p, p = O ()
>( - p )
93/52Department of Computer and Information Science
Analysis (continued)Lemma 3: Let w be any point in the Voronoi facet F=Dual pq with
where is the radius of the medial ball at p with center m so that .
If pq satisfies the Ratio condition then either
0pm pwt t
0[ 8]
1/8( )p pw m O or
1/8( ) .pw p
w p
Proof
If , Lemma 2 gives 7 /8p 1/8( )p pO
If , ……7 /8p 1/8( )p
94/52Department of Computer and Information Science
Analysis (continued)
Lemma 4: Let w Vp be a point such that , where is the
radius of a medial ball at p with the center m and , and .
Then, for sufficiently small >0, if the medial angle of p
is larger than 1/3.
w p
0pm pwt t 1/ 4
3/ 4( )w m O
95/52Department of Computer and Information Science
TheoremsTheorem:
if by Angle: (i) , apply Lemma 4
Otherwise Lemma 2
if by Ratio: (i) , apply Lemma 4
Otherwise Lemma 3
Theorem:
0lim .L M
0lim .M L
w p
w p
96/52Department of Computer and Information Science
Experimental Results
97/52Department of Computer and Information Science
Experimental Results
98/52Department of Computer and Information Science
Experimental Results
99/52Department of Computer and Information Science
Experimental Results
100/52Department of Computer and Information Science
Medial Axis from a CAD model
CAD model
Point Sampling Medial Axis
101/52Department of Computer and Information Science
Medial Axis
Medial Axis from a CAD model
CAD model
Point Sampling
102/52Department of Computer and Information Science
Medial Axis
Medial Axis from a CAD model
CAD model
Point Sampling
103/52Department of Computer and Information Science
Example movie file
Anchor Medial
104/52Department of Computer and Information Science
Segmentation and matchingDey-Giesen-Goswami 03
• Segment a shape into `features’• Match two shapes based on the
segmentation
105/52Department of Computer and Information Science
Feature definitionFlow
Continuous
Discrete flow
Discretization
106/52Department of Computer and Information Science
FlowShape :
dp xxpxh R allfor inf)( 2
xpxA p minarg)(• Anchor set:
• Height fuinction:
107/52Department of Computer and Information Science
Flow
• Vector field v :
)()()(
xdxxdxxv
if x is regular and 0 otherwise
• Flow induced by v Fix points of are the critical points of h
108/52Department of Computer and Information Science
Features• F(x) = closure(S(x)) for a maximum x
109/52Department of Computer and Information Science
Flow by discrete set• Driver d(x): closest point on dual to the Voronoi
object containing x•
Vector field:
• This also induces a flow )()()(
xdxxdxxv
110/52Department of Computer and Information Science
Stable manifolds
• Gabriel edges are stable manifolds of saddles• Stable manifolds of maxima are shaded
111/52Department of Computer and Information Science
Stable manifolds• Feature F(x) = closure(S(x)) for a maximum x
112/52Department of Computer and Information Science
Flow relation• t < t’ if the circumcenters of t and t’ lie on the same side of
the edge shared by them.• Collect all triangles related by the transitive closure of <
113/52Department of Computer and Information Science
Flow relation in 3D• In 2D there is at most one t’ so that t< t’• Exercise 9: Show an example in 3D where a tetrahedron t <
t1 and t < t2. Show that there cannot be any third tetrahedron t3 so that t< t3.
114/52Department of Computer and Information Science
Algorithm for )(~ xF
115/52Department of Computer and Information Science
Merging• Small perturbations create insignificant features• Sampling artifacts introduce more segmentations
• Merge stable manifolds
116/52Department of Computer and Information Science
Results (2D)
117/52Department of Computer and Information Science
Results (3D)
118/52Department of Computer and Information Science
Results (2D)
119/52Department of Computer and Information Science
Results (3D)
120/52Department of Computer and Information Science
Open problems• Design an algorithm to reconstruct non-smooth surface
• Design an algorithm for medial axis approximaionwith topological guarantee
• Prove an approximation result for feature segmentation
Software: Cocone, Medial : http://www.cis.ohio-state.edu/~tamaldey/cocone.htmlSegmatch: http://www.cis.ohio-state.edu/~tamaldey/segmatch.html