department of computer science and engineering computing handles and tunnels in 3d models tamal k....

49
Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen- Steiner

Upload: millicent-payne

Post on 24-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

Department of Computer Science and Engineering

Computing handles and tunnels in 3D models

Tamal K. Dey

Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

Page 2: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

2/52Department of Computer Science and Engineering

Projects in Jyamiti group

• Surface reconstrucion (Cocone)• Delaunay meshing (DelPSC)• Shape feature processing (Segmatch,

Cskel)

Page 3: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

3/52Department of Computer Science and Engineering

Handle loops/Tunnel loops

Page 4: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

4/52Department of Computer Science and Engineering

Handle loops/Tunnel loops

Page 5: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

5/52Department of Computer Science and Engineering

Topological Simplification

Page 6: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

6/52Department of Computer Science and Engineering

Use of Handles and Tunnels

• Topological simplification / feature recognition / parameterization• El-Sana and Varshney[1997] use α-hulls to search for

tunnels.• Guskov and Wood[2001] propose a surface growing

strategy to remove small handles.• Nooruddin and Turk[2003] use morphological operations to

remove small handles.• Wood, Hoppe, Desbrun, and Schroder[2004] use Reeb

graph to remove handles.• Shattuck and Leahy[2001] use Reeb graph to compute

handles.• From WUSTL Model/surface editing (Zhou, Ju, and Hu[2007]

use medial axis to detect loops) and work by Grimm et al.

Page 7: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

7/52Department of Computer Science and Engineering

• Nontrivial loops can neither be handle nor tunnel.

• Handle and tunnel loops have to be non-separating.

Nontrivial loops as first attempt?

Page 8: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

8/52Department of Computer Science and Engineering

• Loops on a surface• Compute polygon schemas [Vegter-Yap90][Dey-Schipper95]

• Linear time algorithm• Compute optimal systems of loops [VL05][EW06]

• Verdiere and Lazarus gave an algorithm for computing a system of loops which is shortest among the homotopy class of a given one.

• Erickson and Whittlesey gave a greedy algorithm to compute the shortest system of loops among all systems of loops.

• Compute optimal cut graph [EH04]

• Computing a shortest cut graph is NP-hard.

Related work for loops on surface

Page 9: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

9/52Department of Computer Science and Engineering

A better idea

• Intuitively, a loop on a connected, closed, surface M in R3 is:• handle if it spans a disk

(surface) in the bounded space bordered by M.

• tunnel if it spans a disk (surface) in the unbounded space bordered by M.

Page 10: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

10/52Department of Computer Science and Engineering

Cycle, Boundary and Homology

• p-chain: c=aii, i is p-simplex.

(e2+e3+e4) is a 1-chain.

• If c'=ai'i, then c+c'=(ai+ai')i.

• c + c = 0 for Z2 coefficients.

• Boundary operator p = [v0,v1,…,vp] = i=0

p[v0,…,~vi,…,vp]

• e.g.: t = (e2+e3+e4)

• e.g.: e0+ e1+ e4 = (v0+v2)+(v0+v1)+(v1+v2) = 0

Page 11: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

11/52Department of Computer Science and Engineering

Cycle, Boundary and Homology

• p-cycle: if pc = 0.

• p-boundary: if there’s (p+1)-chain d, s.t. c=pd .• p-cycle group Zp = kernel (p).• p-boundary group Bp = image (p+1).• Hp= Zp / Bp

• Each element of Hp represents an equivalent class.

• c1 and c2 are in the same class if c1 + c2 is in Bp.• Trivial elements in Hp bounds (p+1)-chain

Page 12: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

16/52Department of Computer Science and Engineering

Handle and tunnel loops – definitions [Dey-Li-Sun 07]

• Let M be a connected, closed, surface in R3. M separates R3 into inside I and outside O. Both I and O have M as boundary.

• Handle: A loop on M whose homology class is trivial in H1(I) and non-trivial in H1(O).

• Tunnel: A loop on M whose homology class is trivial in H1(O) and non-trivial in H1(I).

Page 13: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

17/52Department of Computer Science and Engineering

• Consider a thickened trefoil• handle loop (green)• tunnel loop (red)

Nasty knots

Page 14: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

18/52Department of Computer Science and Engineering

Handle and tunnel loops – existence

• Theorem (Dey, Li, Sun[2007])• For any connected closed surface M of

genus g in R3, there exist g handle loops {hi}i=1…g forming a basis for H1(O) and g tunnel loops {ti}i=1...g forming a basis for H1(I).

• Furthermore, {hi}i=1...g and {ti}i=1...g form a basis for H1(M).

Page 15: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

19/52Department of Computer Science and Engineering

First algorithm for GR models

[Dey-Li-Sun 07]

• Graph retractability assumption : A surface is graph retractable if both I and O deformation retract to a graph, denoted I and O, respectively.

Page 16: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

20/52Department of Computer Science and Engineering

• I and O are disjoint core graphs, each with g loops : {Kj

I}j=1g and {Kj

O}j=1g and {Kj}j=1

2g all together.

• How to compute I and O ?

Inner and outer cores

Page 17: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

21/52Department of Computer Science and Engineering

Linking number

• J and K are two disjoint loops in R3. • In a regular projection, there are two ways

in which J crosses under K. • The linking number, lk(K, J), is the sum of

these signed crossings.

Page 18: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

22/52Department of Computer Science and Engineering

Linking number Theorem

• A loop on M is a handle iff lk(, KiI) 0 for at

least one inner core and lk(, KiO)=0 for all outer

cores.

• A loop on M is a tunnel iff lk(, KiO) 0 for at

least one outer core and lk(, KiI)=0 for all inner

cores.

Page 19: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

23/52Department of Computer Science and Engineering

Minimally linked basis

• A loop is minimally linked if it links once only with one core loop.

• Theorem : There exist 2g minimally linked loops, denoted {Jj}j=1

2g, such that lk(Ki, Jj)=ij.

• Half of them linked with KiI’s, denoted {JjI}j=1

g, are handle loops.

• Other half linked with KiO’s, denoted {JjO}j=1

g, are tunnel loops.

• {[JjI]} j=1g form a basis for H1(I) and {[JjO]}j=1

g form a basis for H1(O). Hence {[Jj]}j=1

2g form a basis for H1(M).

Page 20: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

24/52Department of Computer Science and Engineering

Topological algorithm• Assume I and O are given.

• Step1: Compute {Ki}i=12g using the spanning tree of I and

O.• Step2: Compute a system of 2g loops on M, denoted

{j}j=12g. (say by Dey-Schipper or Vegter-Yap linear time

algorithms)

• Step3: Compute lk(Ki, j) for all i and j. Let A be the 2gx2g matrix {lk(Ki, j)}.• A is the transform matrix from a minimally linked basis

{[Jj]}j=12g to basis {[j]} j=1

2g.

• A-1 = {aji} exists and has integer entries.

• [Jj] = i=12g aji[i].

• Step4: Obtain Jj by concatenating i’s according to the above expression.

Page 21: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

25/52Department of Computer Science and Engineering

An implementation to compute system of handle and tunnel loops

with small size

• Compute I and O• Basic idea: Collapse the inside

(outside) Voronoi diagram to obtain I (O).

• The curve-skeleton [Dey-Sun06] captures the geometry better.

• Each skeleton edge (e) gets associated with an additional value called geodesic size (g(e)) indicating the local size of M.

• Establish graph structure on the curve skeleton.

• The geodesic size for a graph edge, g(E) = min{g(e): e is a skeleton edge in E}.

• Issue: not always work for any graph retractable surface, e.g., a thickening of a house with two room.

Page 22: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

26/52Department of Computer Science and Engineering

Core graphs by curve-skeletons[DS05]

Page 23: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

27/52Department of Computer Science and Engineering

An implementation to compute system of handle and tunnel loops

with small size

• Compute core loops {Kj}j=12g

• Compute the maximal spanning tree for I and O using geodesic sizes as weight.

• Add the remaining edges, Ei’s, to form Ki’s.

• Compute minimally linked {Jj}j=1

2g

• Basic idea: compute Ji’s at different location indicated by Ei’s.

• Let e be the skeleton edge with the smallest geodesic size in Ei. Let p be one of the vertices of the dual Delaunay triangle of e.

• Compute an optimal system of loops by geodesic exploration and apply topological algorithm.

• In our experiments, one of the loop in the system of loops itself satisfies the condition to be Ji’s.

Page 24: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

28/52Department of Computer Science and Engineering

Results

Page 25: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

29/52Department of Computer Science and Engineering

A Persistence based algorithm [Dey-Li-Sun-Cohen-Steiner 08]

• A fast algorithm based on persistent homology introduced by Edelsbrunner, Letscher, Zomorodian[2002].

• The algorithm does not require any extra structure such as medial axis, curve skeleton, or Reeb graphs.

• It works on a larger class of models. Both surface mesh and isosurface with volume grids can be input.

Page 26: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

30/52Department of Computer Science and Engineering

Filtration in persistent homology

• Filtration of a simplicial complex K is a nested sequence of complexes:

• 0 = K-1 < K0 < K1 < …< Kn = K

• Assume Ki - Ki-1 = i

• Persistence homology studies how the homology groups change over the filtration.

• In our algorithm, we use the pairing concept in the persistent homology.

Page 27: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

31/52Department of Computer Science and Engineering

Positive and Negative simplices

• Once a p-simplex is added to Ki-1, it is• Positive if it creates a non-boundary 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 '.

Page 28: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

32/52Department of Computer Science and Engineering

Positive and negative simplices

Page 29: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

33/52Department of Computer Science and Engineering

Pairing algorithm – pair ()

1) c=p2) d is youngest positive (p-1)-simplex in c3) while (d is paired and c Φ) do

• Let c' be the cycle killed by the simplex paired with d

• c=c'+c• d is the youngest positive (p-1)-simplex in c

end while4) if c is not empty, then

is negative p-simplex and paired with d else

is positive p-simplex.

Page 30: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

35/52Department of Computer Science and Engineering

Computing handle and tunnel loops

• Topological algorithm• Two refinements for improving loop quality.• Assume M, I, and O denote the simplicial

complexes of surface, inside, and outside respectively; g is the genus of M.

Page 31: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

36/52Department of Computer Science and Engineering

Topological algorithm

• 3 Steps: • 1) Simplices of M are added to the filtration,

generating 2g unpaired positive edges;• 2) Simplices of I are added, g previously

unpaired edges get paired, each pair corresponds to a handle loop;

• 3) Simplices of O are added, the rest of g unpaired edges get paired, each pair corresponds to a tunnel loop.

Page 32: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

37/52Department of Computer Science and Engineering

Topological algorithm cont.

Page 33: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

38/52Department of Computer Science and Engineering

Refinement 1

• For a negative triangle , 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) loop L() for as L1.

Page 34: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

39/52Department of Computer Science and Engineering

Refinement 2

• A handle (or tunnel) loop is found when a cross section of M get filled.

• Cross sections of small size will get filled first if we add triangles in I and O to the filtration in increasing order of their geodesic sizes.

Page 35: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

40/52Department of Computer Science and Engineering

Computing geodesics – for refinement 2

• Geodesic size of an edge E =(A1, A2): geodesic distance between points A1' and A2' on M, where Ai'=Ai if Ai is on M; otherwise, Ai' is the closet point on M for Ai

• Geodesic size size of a triangle t: max {g(e)|e is in t}

Page 36: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

41/52Department of Computer Science and Engineering

Entire algorithm

• 1) Compute geodesic size for edges and triangles in I and O;

• 2) For each simplex on M, pair();• 3) E = unpaired positive edges on M;• 4) In the order of increasing geodesic size,

pair() for each triangle in I;• 5) if ( is negative and its paired positive

edge is in E), then output a handle: hi = L();

• 6) Do similarly as 4) and 5) to get tunnels.

Page 37: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

42/52Department of Computer Science and Engineering

Entire algorithm

Page 38: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

43/52Department of Computer Science and Engineering

Gearbox (genus 78)

Page 39: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

44/52Department of Computer Science and Engineering

Isosurface Fuel (genus 8)

Page 40: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

45/52Department of Computer Science and Engineering

Isosurface (Engine, genus 20)

Page 41: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

46/52Department of Computer Science and Engineering

Aneurysm

Page 42: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

47/52Department of Computer Science and Engineering

Knotty cup and noise

Page 43: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

48/52Department of Computer Science and Engineering

Experiments

• We implemented our algorithm in C++. All experiments were done on a Dell PC with 2.8GHz Intel Pentium D CPU and 1GB RAM.

Page 44: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

49/52Department of Computer Science and Engineering

Feature Detection

• Compute handle (tunnel) features based on handle (tunnel) loops. • Sweep the handle (tunnel)

loop until the length become too long.

Page 45: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

50/52Department of Computer Science and Engineering

Topological simplification

Page 46: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

51/52Department of Computer Science and Engineering

Simplification (Buddha)

Page 47: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

52/52Department of Computer Science and Engineering

• A simple, topologically correct algorithm for handles and tunnels.

• Mathematical proof of geometric qualities of the loops?

• What about surfaces with boundaries?• Handletunnel software available from http://www.cse.ohio-state.edu/~tamaldey/handle.html

Conclusions and future work

Page 48: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

53/52Department of Computer Science and Engineering

Pegasus (genus 5)

Page 49: Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

54/52Department of Computer Science and Engineering

2-torus (genus 2)