Computing Geometry-aware Handle and Tunnel Loops in 3D Models Tamal K. Dey Kuiyu Li The Ohio State University Jian Sun Stanford University David Cohen-Steiner Inria, Sophia-Antipolis.

Download Report

Transcript Computing Geometry-aware Handle and Tunnel Loops in 3D Models Tamal K. Dey Kuiyu Li The Ohio State University Jian Sun Stanford University David Cohen-Steiner Inria, Sophia-Antipolis.

Computing Geometry-aware
Handle and Tunnel Loops in 3D Models
Tamal K. Dey
Kuiyu Li
The Ohio State University
Jian Sun
Stanford University
David Cohen-Steiner
Inria, Sophia-Antipolis
Loops are important in graphics
[Ben-Chen, Gotsman, Bunin 08]
[Sheffer, Hart 02]
[Erickson, Whittlesey 02]
[Gu, Gortler, Hoppe 02]
[Verdiere, Lauzarus, Erickson 02]
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Related work
• Topological simplification, Feature recognition, and
Parameterization
• [El-Sana, Varshney 97] use α-hulls to find tunnels
• [Shattuck, Leahy 01] use Reeb graph to find handles
• [Guskov, Wood 01] use a surface growing strategy to
remove small handles
• [Nooruddin, Turk 03] use morphological operations to
remove small handles
• [Wood, Hoppe, Desbrun, Schroder 04] use Reeb graph
to remove handles
• [Zhou, Ju, Hu 07] use medial axis to detect loops
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Handle and tunnel loops
• Given closed surface M  R3
• a handle loop spans a disk in the interior of M
• a tunnel loop spans a disk in the exterior of M
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Contribution
• A new persistence-based algorithm, requires no extra
structure (medial axis, curve skeleton, Reeb graphs)
• Inputs: surface mesh, point cloud, iso-surface
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Contribution
• A new persistence-based algorithm, requires no extra
structure (medial axis, curve skeleton, Reeb graphs)
• Inputs: surface mesh, point cloud, iso-surface
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Contribution
• A new persistence-based algorithm, requires no extra
structure (medial axis, curve skeleton, Reeb graphs)
• Inputs: surface mesh, point cloud, iso-surface
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Contribution
• A new persistence-based algorithm, requires no extra
structure (medial axis, curve skeleton, Reeb graphs)
• Inputs: surface mesh, point cloud, iso-surface
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Chain and boundary operator
• p-chain: sum of p-simplices
• all p-chains form group Cp
• mod 2 operation in Cp: c+c=0
L1 (e0+e1+e4)
+
L2 (e2+e3+e4)
=
(e0+e1+e2+e3)
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Cycle, boundary, and homology
• c is a p-cycle: if its boundary is empty
• all p-cycles form group Zp
(e0+e1+e4)  Z1
• c is a p-boundary: if it’s boundary of a (p+1)-chain
• all p-boundaries form group Bp
(e2+e3+e4)  B1
• Homology: Hp= Zp / Bp
• Each element of Hp represents
an equivalent class
(e0+e1+e4)  H1
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Definitions
• Let M  R3, I and O be its inside
and outside
• Handle: a loop on M that is trivial in
H1(I) and non-trivial in H1(O)
• Tunnel: a loop on M that is trivial in
H1(O) and non-trivial in H1(I)
Existence: For a closed surface M of
genus g, there exist g handles forming a
basis of H1(O) and g tunnels forming a
basis of H1(I). H1(M) = H1(I)  H1(O).
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
[Dey, Li, Sun 07]
SIGGRAPH2008
Tamal K. Dey
Topological persistence
[Edelsbrunner,Letscher,Zomorodian 02]
• Filtration: 0 = K-1 < K0 < K1 < …< Kn = K
• Ki - Ki-1 = i
• Topological Persistence studies the creation and
death of the cycles in the filtration
• Pairing Algorithm tells a p-simplex is
• Positive if it creates a p-cycle
• Negative if it kills an existing (p-1)-cycle
A negative p-simplex  is always paired with a
unique positive (p-1)-simplex ' where  kills a
(p-1)-cycle created by '
[Edelsbrunner, Letscher, Zomorodian 02]
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, -) (v2, -) (v3, -)
• v0 is positive
• it creates a 0-cycle (v0)
• same for v1, v2, v3
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, -) (v2, -) (v3, -)
• e4 is negative and paired
with v2
• it kills a 0-cycle (v2) created
by v2
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, -) (v2, e4) (v3, -)
• e5 is negative and paired
with v1
• it kills a 0-cycle (v1) created
by v1
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, e5)(v2, e4) (v3, -)
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, e5)(v2, e4)(v3, e6)
• e6 is negative and paired
with v3
• it kills a 0-cycle (v3) created
by v3
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, e5)(v2, e4)(v3, e6)
(e7, -)
• e7 is positive
• it creates a 1-cycle
(e4+e5+e6+e7)
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, e5)(v2, e4) (v3, e6)
(e7, -) (e8, -)
• e8 is positive
• it creates a 1-cycle
(e6+e7+e8)
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, e5)(v2, e4) (v3, e6)
(e7, -) (e8, -)
• t9 is negative and paired
with e8
• it kills a 1-cycle (e6+e7+e8)
created by e8
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, e5)(v2, e4) (v3, e6)
(e7, -) (e8, t9)
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, e5)(v2, e4) (v3, e6)
(e7, -) (e8, t9)
• t10 is negative and paired
with e7
• it kills the 1-cycle
(e4+e5+e6+e7) created by e7
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
(v0, -) (v1, e5)(v2, e4) (v3, e6)
(e7, t10) (e8, t9)
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pairing algorithm
- by example
• Fact: the paired positive
edge in a killed loop is the
youngest among all edges
in the loop
e is paired with t
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Computing handle and tunnel loops
• Pre-processing to get volume mesh I and O
• Topological algorithm
• Two refinements to make the loops geometry-aware
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Pre-processing to get I and O
• Surface mesh
• DelPSC [Cheng, Dey, Levine 07]
• Point cloud
• CoCone [Dey, Giesen 02]
• Iso-surface
• easy to get
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Topo. algorithm
- adding simplicies on surface
• All simplices on M are added to the filtration
• generating 2g unpaired positive edges
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Topo. algorithm
- adding edges and triangles in I and O
• All edges and triangles of I/O are added
• when a negative triangle of I/O pairs with an unpaired
positive edge on M, a handle/tunnel loop is generated
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Make loops geometry-aware
- refinement 1
• For each negative
triangle t, a series of
homologous loops are
obtained
• Let L1, L2, …, Lk be
those that lie on M,
sorted by the time when
they are found. Set the
handle (or tunnel) of t
as L1
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Make loops geometry-aware
- refinement 2
• A handle or tunnel is
found when a cross
section of M is filled
• To get small loops, we
want small cross
sections get filled first
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Make loops geometry-aware
- refinement 2
• Compute geodesic size of a triangle in I and O
Add triangles of I and O in increasing order of the geodesic size
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Effect of refinement 2
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
HanTun algorithm
- with refinement 1 & 2
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Examples
Gearbox (478k, 2582k) genus=78
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Examples
Colon (854k, 4966k) genus=160
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Examples
- topological simplification
Casting (31.9k, 169k) genus=9
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Examples
- topological simplification
Buddha (109k, 614k) genus=9
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Examples
- iso-surface
Engine (629k, 20040k) genus=20
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Examples
- multiple components and knotty model
Aneurism (5.6k, 631k) genus = 1
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
Knotty cup (5.4k, 31.9k) genus = 2
SIGGRAPH2008
Tamal K. Dey
Examples
- different volume meshing
Molecule_1 (16k, 95k) Molecule_2 (16k, 126k) genus=1
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Examples
- different surface meshing densities
Hip_1 (173k, 996k) genus=11
Hip_2 (38k, 213k) genus=11
Hip_3 (14k, 73k) genus=11
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Examples
- models with boundaries and non-manifold
Children (199k, 1168k) 1st Betti number = 393
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Times
Data
Size
Ptime
Geodesic
Loop
DLS
Knotty cup
Mother
Molecule
Botijo
Casting
Buddha
Hip
Children
Gearbox
Colon
5.4k, 31.9k
19.5k, 117k
19.9k, 115k
30k, 176k
31.9k, 169k
109k, 614k
173k, 996k
199k, 1168k
478k, 2582k
854k, 4966k
6.9
30.3
35.8
77.1
92.7
1377.1
2400.0
17.3
23759.9
30572.2
3.2
13.9
5.5
20.6
25.2
168.7
648.1
1350.8
2058.6
12103.9
0.8
4.1
0.9
2.3
14.0
16.2
265.5
2267.3
33769.1
37093.4
fail
75.1
49.6
148.4
156.8
1.8k
fail
fail
fail
fail
Atom
Aneurism
Engine 1
Engine 2
3.3k, 41.8k
23k, 5210k
157k, 2766k
629k, 20040k
0.5
3.1
3.2
11.3
0.3
9.1
520.0
7812.6
0.2
73.0
207.1
3392.6
fail
fail
fail
fail
Dell PC with 2GHz Intel Xeon CPU and 2GB RAM
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Times
- speed up with new observations (not reported yet)
Data
Size
Ptime
Geodesic
Loop
DLS
Knotty cup
Mother
Molecule
Botijo
Casting
Buddha
Hip
Children
Gearbox
Colon
5.4k, 31.9k
19.5k, 117k
19.9k, 115k
30k, 176k
31.9k, 169k
109k, 614k
173k, 996k
199k, 1168k
478k, 2582k
854k, 4966k
6.9
30.3
35.8
77.1
92.7
1377.1
2400.0
17.3
23759.9
30572.2
0.06
0.51
0.34
0.73
1.01
6.33
21.91
62.96
75.1
448.8
0.15
0.42
0.28
0.58
0.71
2.44
3.52
7.68
26.3
96.6
fail
75.1
49.6
148.4
156.8
1.8k
fail
fail
fail
fail
Atom
Aneurism
Engine 1
Engine 2
3.3k, 41.8k
23k, 5210k
157k, 2766k
629k, 20040k
0.5
3.1
3.2
11.3
0.01
0.98
22.7
317.8
0.12
119.4
33.3
393.1
fail
fail
fail
fail
Dell PC with 2GHz Intel Xeon CPU and 2GB RAM
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey
Software
• www.cse.ohio-state.edu/~tamaldey/hantun.html
Thanks
Computing Geometry-aware Handle and Tunnel Loops in 3D Models
SIGGRAPH2008
Tamal K. Dey