Robust Repair of Polygonal Models Tao Ju Rice University Polygonal Models Closed Model • Partitions the space into disjoint inside and outside volumes – Each.
Download
Report
Transcript Robust Repair of Polygonal Models Tao Ju Rice University Polygonal Models Closed Model • Partitions the space into disjoint inside and outside volumes – Each.
Robust Repair of Polygonal Models
Tao Ju
Rice University
Polygonal Models
Closed Model
• Partitions the space into disjoint inside and
outside volumes
– Each polygon lies between inside and outside
Not Closed
Closed
Not Closed
Closed
Model Repair
• Close polygonal models
– Not just hole-filling
• Challenges:
– Models may contain complex errors
– Models are often very big
– Geometry features need to be preserved
Previous Work
• Mesh-based model repair
–
–
–
–
Zippering [Turk and Levoy 1994]
Stitching [Barequet and Kumar 1997]
Progressive boundary decimation [Borodin et al. 2002]
Hole filling with fairing [Liepa 2003]
• Scattered data reconstruction
–
–
–
–
–
–
Tangent plane estimation [Hoppe et al. 1992]
Level sets [Zhao and Osher 2002]
Radial basis functions [Turk and O’Brien 2002]
Partition-of-unity methods [Ohtake et al. 2003]
Moving least squares surfaces [Shen et al. 2004]
Context-based completion [Sharf et al. 2004]
Previous Work
• Volumetric model repair
How to determine signs ?
How to generate surface ?
Previous Work
• Volumetric model repair – Sign generation
– Adaptive signed distances [Frisken et al. 2000]
–
–
–
–
Flood-filling [Oomes et al. 1997] [Andujar et al. 2002]
Space carving [Curless and Levoy 1996]
Volumetric diffusion [Davis et al. 2002]
Parity count and ray stabbing [Nooruddin and Turk 2003]
• Volumetric model repair – Contouring
– Marching Cubes [Lorensen and Cline 1987]
– Extended Marching Cubes [Kobbelt et al. 2001]
– Dual Contouring [Ju et al. 2002]
Robust Model Repair
• Robust
– Closes arbitrary polygon soups
• Efficient
– Processes gigantic models on standard PCs
• Accurate
– Preserves surface quality
• Simple !
Algorithm in a Nutshell
Scanconvert
“Dual
Surface”
Patch
Contour
Closed
Dual
Surface
Scan-conversion
• Octree grid
• Edges intersected
with model
• Top-down creation
• Memory-less octree
construction
• Reliable and fast
intersection tests
Dual Surface
• Each face dual to
an intersected
octree edge
Octree Edge
Dual Face
Finding Holes
• Boundary edges
– Odd-valence edges
– Closed dual surface
No boundary edge
• Set of boundary edges
partitioned into cycles
– Each cycle encloses
a “hole”
Building a Patch
• Build one patch for
each cycle
– Each quad dual to an
octree edge
– Patch boundary is
the cycle
• Divide-and-conquer!
– Using octree
Integrating a Patch
• 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
• Add a quad
– If not already on the
dual surface
• Remove a quad
– If already on the dual
surface
• Key: parity of edge
valence
Sign Generation
• Sign changes across
dual surface
– Flood-filling
Dual Face
Octree Signs
Contouring
• Marching Cubes
– Edge intersections
– Rounded corners
• Dual Contouring
– Hermite data
– Sharp features
Examples – CAD Model
Input Model
Examples – CAD Model
Dual Surface
Examples – CAD Model
Closed
Dual Surface
Examples – CAD Model
Output
(Marching Cubes)
Examples – CAD Model
Output
(Dual Contouring)
Examples - Bunny
1. Input
2. DS
4. Output
3. DS
Closed
Model Courtesy of the Stanford 3D Scanning Repository
Examples - Horse
1. Input
2. DS
4. Output
3. DS
Closed
Model Courtesy of the Stanford 3D Scanning Repository
Examples – David (at 1mm)
Input
Output
Model Courtesy of the Digital Michelangelo Project
Performance
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
Conclusion
• A simple, fast, and robust method to repair
arbitrary polygon models
• Future work
– Remove topological noise
– Improve the quality of hole filling
– Repair using an adaptive grid
• Special thanks to my advisor, Prof. Joe Warren,
for his insights and support