1 / 74

Topology Repair of Solid Models Using Skeletons

Topology Repair of Solid Models Using Skeletons. Qian-Yi Zhou, Tao Ju, Shi-Min Hu IEEE Trans. Vis. Comput. Graph., to appear. Outline. Introduction Related works Idea Algorithm Experiments Discussion. Outline. Introduction Related works Idea Algorithm Experiments Discussion.

mmarianne
Télécharger la présentation

Topology Repair of Solid Models Using Skeletons

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Topology Repair of Solid Models Using Skeletons Qian-Yi Zhou, Tao Ju, Shi-Min Hu IEEE Trans. Vis. Comput. Graph., to appear

  2. Outline • Introduction • Related works • Idea • Algorithm • Experiments • Discussion

  3. Outline • Introduction • Related works • Idea • Algorithm • Experiments • Discussion

  4. Introduction • Topology errors • Buddha • Natural genus : 6 • Model genus : 55 • Dragon • Natural genus : 1 • Model genus : 109 • Etc…

  5. Introduction • Topology errors • A common practical problem • Exhibited in the form of small handles • A trouble in various applications • Mesh simplification • Parameterization • Physical computation • Etc…

  6. Do not remove these handles Remove these handles …… …… Introduction • Our ultimate goal • Remove topology errors • Discriminative: differentiate between big and small handles • Robust: not introduce invalid geometry or topology • Efficient: handle huge models at high resolutions No self-intersection surface No new small handles Etc…

  7. Introduction • Our method • Use skeletons to represent the topology of model. Remove small handles by detecting and modifying small cycles on skeleton. • Discriminative: utilizing a thickness measure on the skeleton • Robust: use volumetric approach to avoid invalid geometry and topology • Efficient: use an adaptive grid structure (OcTree)

  8. Outline • Introduction • Related works • Idea • Algorithm • Experiments • Discussion

  9. Related works • Skeletons [1-8] • Skeletonization methods based on voronoi diagrams and distance transforms • Skeletonization methods based on iterative thinning • Efficient, easy to implement, topology preserving • Identify and remove simple point at outmost layer • Limitation: current iterative thinning algorithms rely heavily on the use of a uniform grid

  10. Related works • Topology-controlled surface reconstruction [9-12] • Is designed to reconstruct iso-surfaces from volumetric data with a known topology type • Effective in reconstructing topological spherical cortical surfaces from MRI data • Limitation: require a priori knowledge of the desired topology, difficult to handle models with a non-spherical topology

  11. Related works • Mesh-based topology repair [13-16] • Identifying handles and performing surgeries directly on the polygonal mesh • Advantage: only involve local modification • Drawbacks: • The removal of existing handles directly on the mesh may introduce invalid geometry in the form of self-intersections • It is expensive to identify handles directly on a large mesh

  12. Related works • Volumetric topology repair [17-22] • Nooruddin and Turk [17] use global morphological operations to remove small surface handles • May introduce additional handles • Wood et. al. [18] detects handle as a cycle in the Reeb graph of the iso-surface extracted using the Marching Cubes method • May introduce additional handles • Re-building of the Reeb graph is time consuming for models with lots of handles

  13. Related works • Volumetric topology repair (cont.) [17-22] • Shattuck and Leahy [20] and Han el al. [21] use graph to represent the topology and remove handles by modifying graph • The graph representations are complicated • Restricted to uniform grid • Szymczak and Vanderhyde [22] introduced a multi-resolution topology-preserving carving operations • No direct means to measure the size of handles • Operation is limited to filling tunnel-like handles

  14. Related works • In sum, to the best of our knowledge, none of the current topology repair methods satisfy all of our three requirements: • Discriminative • Robust • Efficient

  15. Outline • Introduction • Related works • Idea • Algorithm • Experiments • Discussion

  16. Idea • To avoid introducing invalid geometry, we design an algorithm on a volume Object: interior of the model Background: exterior of the model, complement of object

  17. Idea • Thin the object into a skeleton that preserves the topology of the object Key: detect and remove simple pairs to achieve a topology-preserving thinning process

  18. Idea • Remove cycles in the skeleton by computing the spanning tree of the graph defined by the skeleton Every edge on the skeleton has a value measure its thickness, so the maximum spanning tree breaks cycles at the thinnest parts

  19. Idea • Grow the modified skeleton to form a new object that preserves the topology of the skeleton Do the inverse operation to thinning, keeps topology during growing

  20. Idea • Review of pipeline • Three major steps: • Thin • Modify graph • Grow • a cycle in skeleton  (topologically) a handle in volume

  21. Idea • Review of pipeline • Discriminative: linked with a thickness measure, the maximum spanning tree will break at the thinnest part • Robust: it is guaranteed to cut exactly one surface handle without introducing additional handles • Efficient: the algorithm is designed on an adaptive grid structure (OcTree)

  22. Idea • Same pipeline can be applied to both object and background • For object  break a handle • For background  fill a handle

  23. Outline • Introduction • Related works • Idea • Algorithm • Experiments • Discussion

  24. Algorithm • Data structure • Extended Signed OcTree (ESO) • Cellular complexes • Algorithm • Constructing and contouring for ESO • Thinning • Measuring handles • Growing • Supplement

  25. Data structure • Minimal elements • To avoid ambiguity, we only consider elements not containing any smaller elements of the same dimension The two blue edges are minimal edges, as they do not contain any smaller edges The red edge is NOT a minimal edge, as it contains two blue edges

  26. Data structure • Minimal elements • To avoid ambiguity, we only consider elements not containing any smaller elements of the same dimension • Extended Signed OcTree (ESO) • For each minimal element in the OcTree, we give it a +/- sign to represent if it belongs to the object • Much similar to Signed OcTree, but besides points, each edge/face/cell has a sign too

  27. Data structure • 3D Cellular complexes [28] • A useful representation to represent topology Consist of points (0-D), edges (1-D), faces (2-D) and cells (3-D) • Every i-D element is enclosed with (i-1)-D elements • each edge connects two points • each face is enclosed by a ring of edges • each cell is enclosed by an envelop of faces • In this case, the ESO form a cellular complex

  28. ,the dual of exterior, is a 2D cellular complex is the background Data structure • Cellular complexes and ESO • The interior is a cellular complex - object • The dual of exterior is a cellular complex – background • For completeness, the outside of the root node of the primal octree is represented as a cell element with infinite size, whose dualis a point at infinity V, including face/edge/point, is a 2D cellular complex V is the object

  29. - Number of points - Number of edges - Number of faces - Number of cells Data structure • Use cellular complex to count genus • c[ ] and c[ ] are the number of disconnected components • is the Euler characteristic number

  30. Data structure • Use cellular complex to count genus (cont.) • Examples (in 3D) : 0 cells, 3 faces, 10 edges, 8 points, c=1 : 0 cells, 0 faces, 0 edges, 1 points, c=1

  31. Data structure • Use cellular complex to count genus (cont.) • Examples (in 3D) : 0 cells, 1 faces, 10 edges, 8 points, c=1 : 0 cells, 0 faces, 2 edges, 1 points, c=1

  32. Algorithm • Construct ESO • Start from a signed OcTree • Assign positive signs (inside) to edges, faces and cells that contain only positive points • Remove small disconnected components for both object and background, i.e. let

  33. Algorithm • Extract iso-surface from ESO (contouring) • Extend the Dual Contouring algorithm [25] • Overlay object and background together to form a composite grid • Create one vertex for each pair of a positive point and a negative cell that contains the point • For each pair of a positive N-D element and a negative (N+1)-D containing element, create one polygon connecting vertices

  34. Algorithm • Review of pipeline • Three major steps: • Thin • Modify graph • Grow • a cycle in skeleton  (topologically) a handle in volume

  35. Algorithm • Thinning • Iteratively detect and remove simple pairs at the outmost layer • Simple pairs • A N-D element contained in exactly one (N+1)-D element • Removal of a simple pair does NOT change the topology of object • Iteratively peel off the elements to guarantee skeleton in the center of object Edge-face simple pair Point-edge simple pair

  36. Algorithm • Thinning (cont.) • An example of a sequence of simple removals - thins a square into a point A edge-face simple pair removal A point-edge simple pair removal A point-edge simple pair removal A point-edge simple pair removal

  37. Algorithm • Skeleton cycle removal • Consider isolated edges (not contained by skeleton face or cell) • Assign each edge a weight measuring thickness - form a weighted graph • Build maximum spanning tree • Only remove isolated edges not in the spanning tree, with a weight < given threshold

  38. Algorithm • Skeleton cycle removal (cont.) • To introduce thickness measurement, we define generating set • Generating set W[e]: • Formally, W[e]∈V is defined as the minimum set so that V\W[e] is a cellular complex, and thinning V\W[e] yields Skeleton\{e} • Intuitively, W[e] is a solid “slice” of the object, such that removing the edge e from the skeleton is the same as removing the slice W[e] from the object and applying thinning

  39. : the set of all (N+1)-D elements containing Whenever is in the set, all elements containing are in the set : the element removed together with is a simple pair or is a simple pair Algorithm • Skeleton cycle removal (cont.) • Generating set W[e] (cont.) • Recursive construction method: guarantee V\{W[e]} is still a cellular complex Skeleton\e (topologically) V\W[e] It is the minimum set satisfying all conditions Only necessary elements are involved

  40. Algorithm • Skeleton cycle removal (cont.) • Generating set W[e] (cont.) • An example of generating set

  41. Algorithm • Skeleton cycle removal (cont.) • Thickness measurement • Intuitively, it’s the size of generating set, represented as the area of ‘cutting slice’ • Recursive definition: A[e] denotes the area of the dual face of e It evaluates to zero if e is not a edge

  42. Algorithm • Growing • Notice: Skeleton\e  V\W[e] • We simply subtract the generating sets associated with edges in E from the original object V • i.e. compute V’ by following formula:

  43. Algorithm • Supplement • Cutting and filling handles • The pipeline can be applied to either object or background • For convenience, we let use specify two thresholds, respectively for cutting and filling • We first cut rings by applying pipeline to object, then fill rings by applying pipeline to background Tips: by using our thickness measurement, each cutting and filling always takes place at the thinnest location

  44. Algorithm • Supplement (cont.) • Implementation • Thinning: in each iterations, we make two traversals in [25], first check if an element is simple, second remove marked element • Handle removal: we record the simple pointer for every removed element and update generating set size for edges during each step in thinning • Growing: simply trace back from the removed skeleton edge, using the simple pointer information

  45. Algorithm • Supplement (cont.) • Robust: guarantee to remove handles • Review: how do we control genus • Thinning: a topology preserving approach • Skeleton cycle removal: m isolated edge removed • Growing: a topology preserving approach

  46. Outline • Introduction • Related works • Idea • Algorithm • Experiments • Discussion

  47. Experiments • A tree model: genus 18 -> genus 0 r1 r2 h1 Automatically detects the thinnest/narrowest part Color: red – small weight blue – large weight Supports both cutting and filling h2

  48. Experiments • Spider web: genus 75 -> genus 17 • Discriminative: remove all the topology noises while preserving the 17 natural handles

  49. Experiments • Some interesting observations • Buddha (OcTree depth 10, i.e. 1024 ) • Though often regarded as a natural genus-6 model, Buddha has 2 more obvious handles at the stalk of the flower • We show a repaired genus-6 Buddha, close-ups of two handles mentioned, and a genus-0 Buddha • We can also control the threshold to get a genus-8 Buddha 3

  50. Experiments A A B B Genus-6 Buddha Genus-0 Buddha

More Related