1. 2 3 not closedclosed not closed 4 5
TRANSCRIPT
1
ROBUST REPAIR OF POLYGONAL
MODELSZIV SHAHAF
BASED ON PAPER & SLIDES BY T. JU, "ROBUST REPAIR OF POLYGONAL MODELS", ACM TRANS GRAPH. 2004.
4Not Closed Closed ClosedNot Closed
THE PROBLEM - CLOSED MODEL
• WHAT IS A CLOSED MODEL?• PARTITIONS THE SPACE INTO DISJOINT INSIDE AND
OUTSIDE VOLUMES• EACH POLYGON LIES BETWEEN INSIDE AND OUTSIDE
• WHAT IS GOOD FOR?
5
CLOSE POLYGONAL MODELS• NOT JUST HOLE-FILLING
THE SOLUTION - MODEL REPAIR
CHALLENGES:• MODELS MAY CONTAIN COMPLEX ERRORS
• MODELS ARE OFTEN VERY BIG
• GEOMETRY FEATURES NEED TO BE PRESERVED
http://en.wikipedia.org/wiki/Volfied
6
THE SOLUTION - IDEAL PROPERTIES
ROBUSTNESS • ALWAYS PRODUCE A CLOSED SURFACE FOR ANY INPUT
MODELEFFICENCY
• BE ABLE TO PROCESS HUGE MODELS WITHIN REASONABLE TIME & SPACE
ACCURACY• PRESERVE THE GEOMETRY OF THE INPUT MODEL WHENEVER
POSSIBLE
7
• SPACE SUBDIVIDED INTO EQUAL SIZE BOXES – EACH HAS ON/OFF FLAG ACCORDING TO IF INSIDE/OUTSIDE OBJECT
• SCALAR VALUES (E.G. DENSITY) PER VOXEL ARE ALSO COMMON
. .www bilderzucht de
. .en wikipedia org
COMMON LANGUAGE - VOXEL BASED
. .en wikipedia org
COMMON LANGUAGE - OCTREE DATA STRUCTURE• EACH INTERNAL NODE HAS EXACTLY EIGHT CHILDREN.
• OFTEN USED TO PARTITION A THREE DIMENSIONAL SPACE BY RECURSIVELY SUBDIVIDING IT INTO EIGHT OCTANTS.
• OFTEN USED IN 3D GRAPHICS AND 3D GAME ENGINES.
8. . .http developer nvidia com
9
COMMON LANGUAGE - MARCHING CUBES ALGORITHM• PUBLISHED IN THE 1987 SIGGRAPH
• ALGORITHM FOR EXTRACTING A POLYGONAL MESH OF AN ISOSURFACE FROM A THREE-DIMENSIONAL SCALAR FIELD (SOMETIMES CALLED VOXELS).
• MEDICAL VISUALIZATIONS SUCH AS CT AND MRI SCAN DATA IMAGES
• SPECIAL EFFECTS OR 3-D MODELLING WITH WHAT IS USUALLY CALLED METABALLS OR OTHER METASURFACES.
- - .what when how com
10
PREVIOUS WORKS – DIFFERENT WAYS OF SOLVING THE PROBLEM
1. MESH-BASED MODEL REPAIR
2. SCATTERED DATA RECONSTRUCTION
3. VOLUMETRIC MODEL REPAIR
11
THE VOLUMETRIC WAY FOR MODEL REPAIR
DISCUSSION:
• HOW TO DETERMINE SIGNS ?
• HOW TO GENERATE SURFACE ?
Sign generation Contouring
14
ROBUST REPAIR OF POLYGONAL MODELS
• ROBUST• CLOSES ARBITRARY POLYGON SOUPS
• EFFICIENT• PROCESSES GIGANTIC MODELS ON STANDARD PCS
• ACCURATE• PRESERVES SURFACE QUALITY
• SIMPLE !
17
• OCTREE GRID
• MEMORY-LESS OCTREE CONSTRUCTION
• RELIABLE AND FAST INTERSECTION TESTS
• EDGES INTERSECTED WITH MODEL
• TOP-DOWN CREATION
SCAN-CONVERSION
19
• BOUNDARY EDGES
• ODD-VALENCE EDGES• CLOSED DUAL SURFACE NO BOUNDARY EDGE
• SET OF BOUNDARY EDGES PARTITIONED INTO CYCLES
• EACH CYCLE ENCLOSES A “HOLE”
FINDING HOLES
20
• BUILD ONE PATCH FOR EACH CYCLE
• EACH QUAD DUAL TO AN OCTREE EDGE
• PATCH BOUNDARY IS THE CYCLE
• DIVIDE-AND-CONQUER!
• USING OCTREE
BUILDING A PATCH
21
• ADD A QUAD• IF DOES NOT EXIST ON
THE DUAL SURFACE• REMOVE A QUAD
• IF ALREADY EXISTS ON THE DUAL SURFACE
• KEY: PARITY OF EDGE VALENCE
INTEGRATING A PATCH
22
• ADD A QUAD• IF NOT ALREADY ON
THE DUAL SURFACE• REMOVE A QUAD
• IF ALREADY ON THE DUAL SURFACE
• KEY: PARITY OF EDGE VALENCE
INTEGRATING A PATCH
24
• MARCHING CUBES
• EDGE INTERSECTIONS
• ROUNDED CORNERS
• DUAL CONTOURING
• HERMITE DATA
• SHARP FEATURES
CONTOURING
30
1. Input 2. DS
3. DS Closed
4. Output
Model Courtesy of the Stanford 3D Scanning Repository
EXAMPLES - BUNNY
31
1. Input 2. DS
3. DS Closed
4. Output
Model Courtesy of the Stanford 3D Scanning Repository
EXAMPLES - HORSE
33
Model Triangles Grid Time Memory
Bunny 69,451 64 3.6 sec < 10 MB
Horse 80,805 128 6.0 sec < 10 MB
Dragon 871,414 256 45.2 sec 16 MB
Buddha 1,087,716 1024 1.3 min 28 MB
David (2mm) 8,254,150 4096 8.4 min 92 MB
David (1mm) 56,230,343 8192 53.2 min 417 MB
• ON PC WITH 1.5GHZ CPU AND 2GB MEMORY
PERFORMANCE
34
A SIMPLE, FAST, AND ROBUST METHOD TO REPAIR ARBITRARY POLYGON MODELS
CONCLUSION
DISCUSSION AND FUTURE WORK• REMOVE TOPOLOGICAL NOISE
• IMPROVE THE QUALITY OF HOLE FILLING
• REPAIR USING AN ADAPTIVE GRID
35
LATER WORK - AUTOMATIC RESTORATION OF POLYGON MODELS (2005)STEPHAN BISCHOFF, DARKO PAVIC AND LEIF KOBBELT
HTTPS://WWW.GRAPHICS.RWTH-AACHEN.DE/PUBLICATION/86/AUTOMATIC_RESTORATION1.PDF
1.Adaptive octree is generated 2.Adaptively refine octree further to
increase the resolution in regions of high geometric complexity and in the vicinity of boundary edges.
3.Apply a sequence of morphological operations to the cells of the octree to determine the topology of the restored surface.
4.Dual contouring algorithm [Ju et al. 2002] which guarantees that the restored surface has a proper manifold topology.
5.Compute the vertex positions for the output mesh. This is done by feature sensitive sampling of the input geometry.
6.Simple and local mesh optimization operations on the output mesh to determine the shape of the patches that cover the holes in the input mesh.
36
REFERENCES
• T. Ju, "Robust Repair of Polygonal Models", ACM Trans Graph. 2004.
• http://en.wikipedia.org/wiki/Marching_cubes
• http://en.wikipedia.org/wiki/Octree
• David Eberly, “Intersection of Convex Objects: The Method of Separating Axes”, Geometric Tools, LLC
• Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren, “Dual Contouring of Hermite Data”, Rice University
• STEPHAN BISCHOFF, DARKO PAVIC and LEIF KOBBELT, "Automatic Restoration of Polygon Models”, RWTH Aachen University