Computing Geometry-aware Handle and Tunnel Loops in 3D Models - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

Computing Geometry-aware Handle and Tunnel Loops in 3D Models

Description:

Computing Geometryaware Handle and Tunnel Loops in 3D Models – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 46
Provided by: CIS476
Learn more at: https://cse.osu.edu
Category:

less

Transcript and Presenter's Notes

Title: Computing Geometry-aware Handle and Tunnel Loops in 3D Models


1
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
2
Loops are important in graphics
Ben-Chen, Gotsman, Bunin 08
Sheffer, Hart 02
Erickson, Whittlesey 02
Gu, Gortler, Hoppe 02
Verdiere, Lauzarus, Erickson 02
3
Related work
  • Topological simplification, Feature recognition,
    and Parameterization
  • El-Sana, Varshney 97 use a-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

4
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

5
Contribution
  • A new persistence-based algorithm, requires no
    extra structure (medial axis, curve skeleton,
    Reeb graphs)
  • Inputs surface mesh, point cloud, iso-surface

6
Contribution
  • A new persistence-based algorithm, requires no
    extra structure (medial axis, curve skeleton,
    Reeb graphs)
  • Inputs surface mesh, point cloud, iso-surface

7
Contribution
  • A new persistence-based algorithm, requires no
    extra structure (medial axis, curve skeleton,
    Reeb graphs)
  • Inputs surface mesh, point cloud, iso-surface

8
Contribution
  • A new persistence-based algorithm, requires no
    extra structure (medial axis, curve skeleton,
    Reeb graphs)
  • Inputs surface mesh, point cloud, iso-surface

9
Chain and boundary operator
  • p-chain sum of p-simplices
  • all p-chains form group Cp
  • mod 2 operation in Cp cc0

L1 (e0e1e4)

L2 (e2e3e4)

(e0e1e2e3)
10
Cycle, boundary, and homology
  • c is a p-cycle if its boundary is empty
  • all p-cycles form group Zp

(e0e1e4) ? Z1
  • c is a p-boundary if its boundary of a
    (p1)-chain
  • all p-boundaries form group Bp

(e2e3e4) ? B1
  • Homology Hp Zp / Bp
  • Each element of Hp represents an equivalent class

(e0e1e4) ? H1
11
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).
Dey, Li, Sun 07
12
Topological persistence Edelsbrunner,Letscher,Zom
orodian 02
  • Filtration 0 K-1 lt K0 lt K1 lt lt 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
13
Pairing algorithm - by example
(v0, -)
(v1, -)
(v2, -)
(v3, -)
  • v0 is positive
  • it creates a 0-cycle (v0)
  • same for v1, v2, v3

14
Pairing algorithm - by example
(v0, -)
(v1, -)
(v2, -)
(v3, -)
  • e4 is negative and paired with v2
  • it kills a 0-cycle (v2) created by v2

15
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

16
Pairing algorithm - by example
(v0, -)
(v1, e5)
(v2, e4)
(v3, -)
17
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

18
Pairing algorithm - by example
(v0, -)
(v1, e5)
(v2, e4)
(v3, e6)
(e7, -)
  • e7 is positive
  • it creates a 1-cycle (e4e5e6e7)

19
Pairing algorithm - by example
(v0, -)
(v1, e5)
(v2, e4)
(v3, e6)
(e7, -) (e8, -)
  • e8 is positive
  • it creates a 1-cycle (e6e7e8)

20
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 (e6e7e8) created by e8

21
Pairing algorithm - by example
(v0, -)
(v1, e5)
(v2, e4)
(v3, e6)
(e7, -) (e8, t9)
22
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 (e4e5e6e7) created by e7

23
Pairing algorithm - by example
(v0, -)
(v1, e5)
(v2, e4)
(v3, e6)
(e7, t10) (e8, t9)
24
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
25
Computing handle and tunnel loops
  • Pre-processing to get volume mesh I and O
  • Topological algorithm
  • Two refinements to make the loops geometry-aware

26
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

27
Topo. algorithm - adding simplicies on surface
  • All simplices on M are added to the filtration
  • generating 2g unpaired positive edges

28
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

29
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

30
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

31
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
32
Effect of refinement 2
33
HanTun algorithm - with refinement 1 2
34
Examples
Gearbox (478k, 2582k) genus78
35
Examples
Colon (854k, 4966k) genus160
36
Examples - topological simplification
Casting (31.9k, 169k) genus9
37
Examples - topological simplification
Buddha (109k, 614k) genus9
38
Examples - iso-surface
Engine (629k, 20040k) genus20
39
Examples - multiple components and knotty model
Aneurism (5.6k, 631k) genus 1
Knotty cup (5.4k, 31.9k) genus 2
40
Examples - different volume meshing
Molecule_1 (16k, 95k)
Molecule_2 (16k, 126k) genus1
41
Examples - different surface meshing densities
Hip_1 (173k, 996k) genus11
Hip_2 (38k, 213k) genus11
Hip_3 (14k, 73k) genus11
42
Examples - models with boundaries and non-manifold
Children (199k, 1168k) 1st Betti number 393
43
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
44
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
45
Software
  • www.cse.ohio-state.edu/tamaldey/hantun.html

Thanks
Write a Comment
User Comments (0)
About PowerShow.com