1. 2 3 not closedclosed not closed 4 5

33
ROBUST REPAIR OF POLYGONAL MODELS ZIV SHAHAF BASED ON PAPER & SLIDES BY T. JU, "ROBUST REPAIR OF POLYGONAL MODELS", ACM TRANS GRAPH. 2004 . 1

Upload: daisy-sherman

Post on 22-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

1

ROBUST REPAIR OF POLYGONAL

MODELSZIV SHAHAF

BASED ON PAPER & SLIDES BY  T. JU, "ROBUST REPAIR OF POLYGONAL MODELS", ACM TRANS GRAPH. 2004.

3

INTRODUCTION - POLYGONAL MODELS

Problems?

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 !

15

CONTOUR

PATCH

CLOSED DUAL SURFACE

SCAN-CONVERT

“DUAL SURFACE”

ALGORITHM IN A NUTSHELL

16

ALGORITHM IN DETAILS

17

• OCTREE GRID

• MEMORY-LESS OCTREE CONSTRUCTION

• RELIABLE AND FAST INTERSECTION TESTS

• EDGES INTERSECTED WITH MODEL

• TOP-DOWN CREATION

SCAN-CONVERSION

18

• EACH FACE DUAL TO AN INTERSECTED OCTREE EDGE

Octree Edge Dual Face

DUAL SURFACE

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

23

• SIGN CHANGES ACROSS DUAL SURFACE

Dual Face Octree Signs

SIGN GENERATION

24

• MARCHING CUBES

• EDGE INTERSECTIONS

• ROUNDED CORNERS

• DUAL CONTOURING

• HERMITE DATA

• SHARP FEATURES

CONTOURING

25

Input Model

EXAMPLES – CAD MODEL

26

Dual Surface

EXAMPLES – CAD MODEL

27

Closed Dual Surface

EXAMPLES – CAD MODEL

28

Output (Marching Cubes)

EXAMPLES – CAD MODEL

29

Output (Dual Contouring)

EXAMPLES – CAD MODEL

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

32

Input Output

Model Courtesy of the Digital Michelangelo Project

EXAMPLES – DAVID (AT 1MM)

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