A lightweight approach to repairing digitized polygon meshes Marco Attene IMATI-GE / CNR 2010 Presented by Naitsat Alexander.

Slides:



Advertisements
Similar presentations
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Advertisements

Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Computational Topology for Computer Graphics Klein bottle.
Based on paper by C.S. Chong, A. Senthil Kumar, H.P. Lee
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Unconstrained Isosurface Extraction on Arbitrary Octrees
Inter-Surface Mapping John Schreiner, Arul Asirvatham, Emil Praun (University of Utah) Hugues Hoppe (Microsoft Research)
Computer Graphics Group Alexander Hornung Alexander Hornung and Leif Kobbelt RWTH Aachen Robust Reconstruction of Watertight 3D Models from Non-uniformly.
Consistent Spherical Parameterization Arul Asirvatham, Emil Praun (University of Utah) Hugues Hoppe (Microsoft Research)
Atomic Volumes for Mesh Completion Joshua Podolak Szymon Rusinkiewicz Princeton University.
Dual Marching Cubes: An Overview
Robust Repair of Polygonal Models Tao Ju Rice University.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
CAD Import, Partitioning & Meshing J.Cugnoni LMAF / EPFL 2009.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
Mesh Simplification Global and Local Methods:
lecture 4 : Isosurface Extraction
CENG 789 – Digital Geometry Processing 05- Smoothing and Remeshing
Bounded-distortion Piecewise Mesh Parameterization
Filling Holes in Complex Surfaces using Volumetric Diffusion James Davis, Stephen Marschner, Matt Garr, Marc Levoy Stanford University First International.
Filling Arbitrary Holes in Finite Element Models 17 th International Meshing Roundtable 2008 Schilling, Bidmon, Sommer, and Ertl.
Polygonal Mesh – Data Structure and Smoothing
Surface Simplification & Edgebreaker Compression for 2D Cel Animations Vivek Kwatra & Jarek Rossignac GVU Center, College of Computing Georgia Institute.
reconstruction process, RANSAC, primitive shapes, alpha-shapes
Representation Issues in Data Exchange for RP-LM Sara McMains U.C. Berkeley.
An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder.
Mesh Parameterization: Theory and Practice Non-Planar Domains.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
Consistent Parameterizations Arul Asirvatham Committee Members Emil Praun Hugues Hoppe Peter Shirley.
All-Hex Meshing using Singularity-Restricted Field Yufei Li 1, Yang Liu 2, Weiwei Xu 2, Wenping Wang 1, Baining Guo 2 1. The University of Hong Kong 2.
Lecture 4 : Isosurface Extraction (Advanced Topics)
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
Computer-Aided Design and Manufacturing Laboratory: 3D Minkowski sum computation Sara McMains UC Berkeley.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Reporter: Zhonggui Chen
Accelerating Ray Tracing using Constrained Tetrahedralizations Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday,
Challenge the future Delft University of Technology The Validation and Repair of CityGML Building Models Junqiao (John) Zhao GIS technology, OTB, Faculty.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
ME6104: CAD. Module 32. ME6104: CAD. Module 32. Systems Realization Laboratory Module 32 CAD-RP Transition ME 6104.
Triangular Mesh Decimation
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
Managing the Level of Detail in 3D Shape Reconstruction and Representation Leila De Floriani, Paola Magillo Department of Computer and Information Sciences.
Polygonal Simplification Techniques
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
Solid Modeling Ref. Mantyla. Introduction Aim of modeling: The search of a media of communication.
Lee Byung-Gook Dongseo Univ.
1/57 CS148: Introduction to Computer Graphics and Imaging Geometric Modeling CS148 Lecture 6.
Rendering Large Models (in real time)
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 10, 2015 TRIANGLE MESHES 3D MESHES MESH OPERATIONS.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
CAD Import Partitioning & Meshing
CS552: Computer Graphics Lecture 28: Solid Modeling.

CSE 554 Lecture 1: Binary Pictures
Advanced Computer Graphics
Variational Tetrahedral Meshing
Decimation Of Triangle Meshes
CS Computer Graphics II
CS475 3D Game Development Level Of Detail Nodes (LOD)
Parallel Model Simplification of Very Large Polygonal Meshes
Iso-Surface extraction from red and green samples on a regular lattice
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Presentation transcript:

A lightweight approach to repairing digitized polygon meshes Marco Attene IMATI-GE / CNR 2010 Presented by Naitsat Alexander

Desirable meshes Closed watertight mesh Single oriented manifold No degenerated elements Type of defects : –Defects in topology –Defects in geometry 2 link : [2][2]

Topological defects 3 [3]

Geometrical defects 4 [3]

Importance of mesh repairing 5 Slicing for 3D printing Partition into voxels –Inside test for voxels Generation of tetrahedral meshes –Tetgen library

Volumetric algorithms + More robust - Produce a new mesh Surface algorithms + Less aggressive - Can’t handle too much defects 6 Repairing methods [3]

Volumetric algorithms + More robust - Produce a new mesh Surface algorithms + Less aggressive - Can’t handle too much defects 7 Repairing methods [6]

Volumetric algorithms + More robust - Produce a new mesh Surface algorithms + Less aggressive - Can’t handle too much defects 8 Repairing methods [3]

General steps in repairing 9 Polygonal mesh Triangulation & Preprocessing Triangulation & Preprocessing Fixing topology Fixing Geometry Triangle mesh of closed manifold

Simplicial complexes  = set of subsets of {1,…n}  Realization of  f:V  R (1,5,6)(6,5,7)(9,6,8) l(6)= l(6*)= { (1,5,6),(6,5,7),(9,6,8) } V = { 1,2,…,14 } E = { {1,2},{1,3}, …,{1,6}, {2,3}… } F = { (1,2,3), (1,3,4),(1,4,2),… }

Simplicial complexes Simplicial neighborhood of order k (k-ring) 11 [1]

Repairing topology 12 Polygonal mesh Triangulation & Data init Remove topological singularities Orient mesh no cuts Triangle mesh of closed manifold Patch mesh holes Keep the largest connected component

Repairing topology 13 Polygonal mesh Triangulation & Data init Remove topological singularities Orient mesh no cuts Triangle mesh of closed manifold Patch mesh holes Keep the largest connected component

Repairing topology 14 “Cutting and Stitching” A. Gueziec, G. Taubin, F. Lazarus 2001 Polygonal mesh Triangulation & Data init Remove topological singularities Orient mesh no cuts Triangle mesh of closed manifold Patch mesh holes Keep the largest connected component

v Cutting and Stitching 1.Locating singularities Singular edges Singular isolated vertices 15 l(v) e rank(e)>2

Cutting and Stitching 1.Locating singularities Singular edges Singular isolated vertices 2.Cutting Global and local 16 e3e3 l(v 2 ) v1v1 v2v2 e2e2 e1e1

Local and Global cutting 17 local global [4]

Cutting and Stitching 1.Locating singularities Singular edges Singular isolated vertices 2.Cutting Global and local 3.Stitching 18 v1v1 l(v 2 ) e1e1 e2e2 v2v2 l(v 1 )

Stitching 19 Pinching two adjacent edges that were cut [4]

Repairing topology 20 Polygonal mesh Triangulation & Data init Remove topological singularities Orient mesh no cuts Triangle mesh of closed manifold Patch mesh holes Keep the largest connected component

Repairing topology: long gaps 21 Polygonal mesh Triangulation & Data init Remove topological singularities Orient mesh no cuts Patch the holes Keep the largest connected component Triangle mesh of closed manifold ?

Repairing topology 22 Polygonal mesh Triangulation & Data init Remove topological singularities Orient mesh no cuts Triangle mesh of closed manifold Patch mesh holes Keep the largest connected component Stitch components [5]

Repairing topology 23 1.Orient the seed triangle 2.Propagate orientation to entire mesh 3.Cut through inconsistently orientated triangles 4.If cuts were necessary then terminate Polygonal mesh Triangulation & Data init Remove topological singularities Orient mesh no cuts Triangle mesh of closed manifold Patch mesh holes Keep the largest connected component

Repairing topology 24 Polygonal mesh Triangulation & Data init Remove topological singularities Orient mesh no cuts Triangle mesh of closed manifold Patch mesh holes Keep the largest connected component P. Liepa. “Filling holes in meshes” 2003

Filling holes in meshes Main stages of the algorithm 1.Compute a coarse triangulation to fill a hole Based on Barequet et al Refine and smooth triangulation to match the surrounding density and geometry 25 [3]

Filling holes in meshes Assumptions: Holes are connected components of the boundary Holes are simply connected polygons No islands in holes 26 n vertices n-2 triangles  Self-intersections cannot be excluded  Quality depends on boundary distortion

Filling holes in meshes Weight w(T) of triangulation T 27

Filling holes in meshes Weight w(T) of triangulation T 28

Filling holes in meshes w(i,j) = minimal weight in triangulating sub-polygon i,i+1,…,j w(2,9) = ? 29 [3]

Filling holes in meshes 30 w(i,j) = minimal weight in triangulating sub-polygon i,i+1,…,j w(2,9) = min ( w(  (2,3,9)) + w(3,9),

Filling holes in meshes 31 w(i,j) = minimal weight in triangulating sub-polygon i,i+1,…,j w(2,9) = min ( w(  (2,3,9)) + w(3,9), w(2,4)+w(  (2,4,9)) + w(4,9),

Filling holes in meshes 32 w(i,j) = minimal weight in triangulating sub-polygon i,i+1,…,j w(2,9) = min ( w(  (2,3,9)) + w(3,9), w(2,4)+w(  (2,4,9)) + w(4,9), w(2,5)+w(  (2,5,9)) + w(5,9),

Filling holes in meshes 33 w(i,j) = minimal weight in triangulating sub-polygon i,i+1,…,j w(2,9) = min ( w(  (2,3,9)) + w(3,9), w(2,4)+w(  (2,4,9)) + w(4,9), w(2,5)+w(  (2,5,9)) + w(5,9), w(2,6)+w(  (2,6,9)) + w(6,9),

Filling holes in meshes 34 w(i,j) = minimal weight in triangulating sub-polygon i,i+1,…,j w(2,9) = min ( w(  (2,3,9)) + w(3,9), w(2,4)+w(  (2,4,9)) + w(4,9), w(2,5)+w(  (2,5,9)) + w(5,9), w(2,6)+w(  (2,6,9)) + w(6,9), w(2,7)+w(  (2,7,9)) + w(7,9),

Filling holes in meshes w(i,j) = minimal weight in triangulating sub-polygon i,i+1,…,j w(2,9) = min ( w(  (2,3,9)) + w(3,9), w(2,4)+w(  (2,4,9)) + w(4,9), w(2,5)+w(  (2,5,9)) + w(5,9), w(2,6)+w(  (2,6,9)) + w(6,9), w(2,7)+w(  (2,7,9)) + w(7,9), w(2,8)+w(  (2,8,9)) ) 35

Filling holes in meshes w(0,n) = minimal weight in triangulating the boundary Recursive formula O(n 3 ) complexity (Dynamic programming) 36

Filling holes : results 37 [3]

Degeneracy removal 38 Mesh M k ← 0 Mesh M k ← 0 T ← narrow triangles k ← k+1 T ← narrow triangles k ← k+1 Fixed mesh Remove N k (T) & Path holes Fix triangles & update T Fix triangles & update T k> k max ? Failure Yes No

Repairing geometry 39 Mesh M k ← 0 Mesh M k ← 0 T ← narrow triangles k ← k+1 T ← narrow triangles k ← k+1 Fixed mesh Remove N k (T) & Path holes Epsilon geometry to locate narrow triangles Repairing by swap & collapse method Fix triangles & update T Fix triangles & update T k> k max ? Failure Yes No

Swap and Collapse Nearly flat triangle with  >  -  –Swap edge against  Other narrow triangles with  <  –Collapse edge against  Check if swap/collapse is legal 40  =arcsin(10 -5 ) [1]

Degeneracy removal 41 Mesh M k ← 0 Mesh M k ← 0 T ← narrow triangles k ← k+1 T ← narrow triangles k ← k+1 Fixed mesh Remove N k (T) & Path holes Maximal number of iterations = 3 Fix triangles & update T Fix triangles & update T k> k max ? Failure Yes No

Degeneracy removal 42 Mesh M k ← 0 Mesh M k ← 0 T ← narrow triangles k ← k+1 T ← narrow triangles k ← k+1 Fixed mesh Remove N k (T) & Path holes Remove possible disconnected components Next loop of repairing is made only for effected triangles Fix triangles & update T Fix triangles & update T k> k max ? Failure Yes No

Removal of self intersections 43 Mesh M k ← 0 Mesh M k ← 0 Init voxels Fixed mesh Remove N k (T) & Path holes T ← self intersecting triangles k ← k+1 T ← self intersecting triangles k ← k+1 k> k max ? Failure Yes No

Removal of self intersections 44 Mesh M k ← 0 Mesh M k ← 0 Init/update voxels Fixed mesh Remove N k (T) & Path holes Building 100x100x100 voxels After 1 st loop storing only voxels of effected triangles T ← self intersecting triangles k ← k+1 T ← self intersecting triangles k ← k+1 k> k max ? Failure Yes No

Removal of self intersections 45 Mesh M k ← 0 Mesh M k ← 0 Init/update voxels Fixed mesh Remove N k (T) & Path holes Maximal number of iterations = 3 Remove possible disconnected components T ← self intersecting triangles k ← k+1 T ← self intersecting triangles k ← k+1 k> k max ? Failure Yes No

Repairing geometry : flow 46 Mesh M Degeneracy removal with k max = 3 Degeneracy removal with k max = 3 Fixed mesh M’ Fixed mesh M’ Self intersection removal with k max = 3 T ← narrow triangles success failure maximum of 10 iterations

Results 47 topology geometry [1]

Results 48 geometry topology [1]

Comparison Other methods for mesh repairing 1.S. Bischoff and L. Kobbelt. “Structure preserving cad model repair” F. Nooruddin and G. Turk. “Simplification and repair of polygonal models using volumetric techniques” T. Ju. “Robust repair of polygonal models”

Comparison faces12634 faces17174 faces faces faces OriginalCurrent methodMethod 1Method 2Method 3 [1]

Failure cases 51 [1]

Improvements Parallel computations More efficient search for self-intersection –Adapting voxel size / octree resolution to the mesh Repairing topology and geometry in a single loop –There is overlap between the topology and the geometry stages 52

References 1)A lightweight approach to repairing digitized polygon meshes. Marco Attene. 2)Polygon Mesh Repairing: An Application Perspective. Marco Attene, Marcel Campen and Leif Kobbelt ) Model Repair. Leif Kobbelt RWTH Aachen University. 4)Cutting and stitching : Converting sets of polygons to manifold surfaces. A. Gueziec, G. Taubin, F. Lazarus, and B. Horn. 5)Automatic mesh-healing technique for model repair and finite element model generation. C.S. Chong, A. Senthil Kumar, H.P. Lee. 6)A Practical Guide to Polygon Mesh Repairing. Marcel Campen, Marco Attene and Leif Kobbelt. 53

Thank you Questions ? 54