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 ReportTranscript 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