Top Banner
Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe
54

Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Dec 17, 2015

Download

Documents

Frederick Berry
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Unconstrained Isosurface Extraction on

Arbitrary Octrees

Michael Kazhdan,Allison Klein,Ketan Dalal,Hugues Hoppe

Page 2: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Implicit Representation

In many graphics applications, a 3D model is represented by an implicit function:

Reconstruction Fluid Dynamics 3D Texturing

Kazhdan 2005

Losasso et al. 2004

Page 3: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Octree Representation

To minimize the spatial/temporal complexity, the function is often sampled on an adaptive grid

Kazhdan et al. 2006Popinet 2003

Page 4: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Octree Extraction

Often, in the final processing step, we would like to extract an implicit surface from the function representation.

Page 5: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Marching Cubes

If the function is sampled on a regular voxel grid, we can independently triangulate each voxel.

Page 6: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Marching Cubes

Although each of the voxels is triangulated independently, the mesh is always water-tight.

Page 7: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Marching Cubes

Iso-vertices on an edge are only determined by the values on the corner of the edge:

Iso-vertices are consistent across voxels.

Page 8: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Marching Cubes

Iso-edges on a face are only determined by the values on the face:

Each iso-edge is shared by two triangles so the mesh is water-tight.

Page 9: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Challenges

Extracting a surface by independently triangulating the leaf octants, depth-disparities can cause:

Inconsistent extrapolation to edges Inconsistent iso-vertex positions

Page 10: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Challenges

Extracting a surface by independently triangulating the leaf octants, depth-disparities can cause:

Inconsistent extrapolation to faces Inconsistent iso-edges

Page 11: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Outline

Introduction Related Work Approach Evaluation Conclusion

Page 12: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Related Work [Bloomenthal ’88]

1,150,915 Vertices2,301,826 Triangles

139,211 Vertices106,717 Polygons

Uses an octree representation of the EDT for adaptive surface polygonization

Page 13: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Related Work [Bloomenthal ’88]

Approach: Use finer edges to define iso-vertices.

Page 14: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Related Work [Bloomenthal ’88]

Approach: Use finer edges to define iso-vertices. Use finer faces to define iso-edges

Page 15: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Related Work [Bloomenthal ’88]

Properties: Triangles become polygons Each iso-edge is shared by two polygons

Page 16: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Related Work [Bloomenthal ’88]

Properties: Triangles become polygons Each iso-edge is shared by two polygonsWatertight polygon mesh!

Page 17: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Related Work [Bloomenthal ’88]

Properties: Triangles become polygons Each iso-edge is shared by two polygons

Limitation:There cannot be more than one isovalue-crossing along an edge of a leaf octant.

Watertight polygon mesh!

Page 18: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Related Work

Although this limitation can be resolved by: Refining the octree [Bloomenthal 88, Muller et al. 93] Restricting the topology [Westermann et al. 99] Modifying corner values [Velasco and Torres 01] Re-sampling [Ju et al. 02, Schaefer et al. 04]

we want a solution that is true to the input.

Page 19: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Outline

Introduction Related Work Approach

Edge-Trees (Polygonization) Triangulation

Evaluation Conclusion

Page 20: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Edge-Trees

a

a1a0

a11a10

a

a1

a0

a11

a10

The topology of the octree defines a set of binary trees:

Nodes in the edge-trees

Edges of octree nodes

Page 21: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Edge-Trees

b1

b11b10

a

a1a0

a11a10

a

a1

a0

a11

a10

b1

b11

b10

The topology of the octree defines a set of binary trees:

Nodes in the edge-trees

Edges of octree nodes

Page 22: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Edge-Trees

b0b1

b11b10

a

a1a0

a11a10

a

a1

a0

a11

a10

b1

b11

b10

b0

The topology of the octree defines a set of binary trees:

Nodes in the edge-trees

Edges of octree nodes

Page 23: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Edge-Trees

0

1 1

0b0b1

b11b10

0

1 1

a

a1a0

0 1a11a10

a

a1

a0

a11

a10

b1

b11

b10

b0

The topology of the octree defines a set of binary trees.

Given an isovalue:

Can label nodes in the edge-tree (0/1).

Page 24: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Edge-Trees

Note: Parents’ values are

determined by values of their children.

Isovalue-crossing nodes/edges have exactly one child that is isovalue-crossing.

a

a1

a0

a11

a10

b1

b11

b10

b0

0

1 1

a

a1a0

0 1a11a10

0

1 1

0b0b1

b11b10

Page 25: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Outline

Introduction Related Work Approach

Edge-Trees (Polygonization) Iso-Vertex Consistency Polygonization

Triangulation Evaluation Conclusion

Page 26: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Iso-Vertex Consistency

We define the position of an iso-vertex in terms of leaf nodes in the edge-tree.

1

00 1

e

e 1

1

11 0e’

e’

Page 27: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Iso-Vertex Consistency

We define the position of an iso-vertex in terms of leaf nodes in the edge-tree:

An isovalue-crossing edge defines a unique path to a leaf node in an edge-tree.

1

00 1

e

1

1

11 0e’

e

e’

Page 28: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Polygonization

Observation:

Number of unsealed iso-vertices along an octant edge is even.

Generate polygons by stitching pairs of unsealed iso-vertices.

Page 29: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Polygonization

?? ??

Challenge:With more than two unsealed iso-vertices, which pairs do we stitch together?

Page 30: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Challenge:With more than two unsealed iso-vertices, which pairs do we stitch together?

Polygonization

?? ??Sequential pairings can lead to inconsistent (i.e. non watertight) results!

Page 31: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Polygonization

0

?? ?

e

0

1

1

1

11

11

We stitch unsealed iso-edges in a canonical manner by defining the twin of an iso-vertex:

e

v

vv

Page 32: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Polygonization

0

?? ?

e

0

1

1

1

11

11 v

We stitch unsealed iso-edges in a canonical manner by defining the twin of an iso-vertex:

An iso-vertex ve is unsealed if the path from vto e passes through a 0-labeled node.

e

vv

Page 33: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Polygonization

0

?? ?

e

0

1

1

1

11

11 v

We stitch unsealed iso-edges in a canonical manner by defining the twin of an iso-vertex:

An iso-vertex ve is unsealed if the path from vto e passes through a 0-labeled node.

The other child of the 0-labeled nodealso defines an unsealed iso-vertex.

v’

e

vv

v’v’

Page 34: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Polygonization

0

?? ?

e

0

1

1

1

11

11 v

We stitch unsealed iso-edges in a canonical manner by defining the twin of an iso-vertex:

An iso-vertex ve is unsealed if the path from vto e passes through a 0-labeled node.

The other child of the 0-labeled nodealso defines an unsealed iso-vertex.

v’

e

vv

v’v’

For octrees, this type of pairing always leads to consistent (i.e. watertight) polygonization!

Page 35: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Outline

Introduction Related Work Approach

Edge-Trees (Polygonization) Triangulation

Evaluation Conclusion

Page 36: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Triangulation

To obtain a triangulated surface, we need to triangulate the leaf octants’ iso-polygons.

Page 37: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Triangulation

Challenge:In general, triangulating a 3D polygon is both open and hard [Barequet et al. ’98]:Open: Determining if it can be triangulated

requires determining if it’s knotted.Hard: Even if it can be, this may require

introducing exponentially many new vertices.

Page 38: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Triangulation

Observation:The polygon is on the surface of a convex solid.

Page 39: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Triangulation

Observation:The polygon is on the surface of a convex solid.

Minimal Surfaces [Meeks and Yau ’80]:A minimal area surface of a simple closed curve on the surface of a convex solid is embedded.

Page 40: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Triangulation

Observation:The polygon is on the surface of a convex solid.

Minimal Surfaces [Meeks and Yau ’80]:A minimal area surface of a simple closed curve on the surface of a convex solid is embedded.

Approach:Triangulate the polygonization by computing the minimal area triangulation [Barequet et al. ’95].

Page 41: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Outline

Introduction Related Work Approach Evaluation Conclusion

Page 42: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Evaluation

To evaluate the extraction method, we used an octree to adaptively sample the EDT of a mesh and thenextracted thezero-crossingisosurface.

1,150,915 Vertices2,301,826 Triangles

139,211 Vertices106,717 Polygons

Page 43: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Evaluation (Restricted Octrees)

Previous work addresses the problem by restricting the depth disparity between adjacent leaf octants [Westermann et al. ’99].

Unrestricted Tree Restricted Tree

Page 44: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Evaluation (Restricted Octrees)

68,572 Vertices 58,876 Polygons

64,639 Vertices 53,304 Polygons

Original Simplified(Restricted)

Simplified(Unrestricted)

173,974 Vertices345,944 Triangles

Page 45: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Evaluation (Restricted Octrees)

68,572 Vertices 58,876 Polygons181,161 Nodes

64,639 Vertices 53,304 Polygons106,745 Nodes

Original Simplified(Restricted)

Simplified(Unrestricted)

173,974 Vertices345,944 Triangles

Page 46: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Evaluation (Restricted Octrees)

68,572 Vertices 58,876 Polygons181,161 Nodes

64,639 Vertices 53,304 Polygons106,745 Nodes

Original Simplified(Restricted)

Simplified(Unrestricted)

173,974 Vertices345,944 Triangles

Page 47: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Evaluation (Restricted Octrees)

145,829 Vertices125,858 Polygons380,681 Nodes

128,146 Vertices104,868 Polygons205,617 Nodes

Original Simplified(Restricted)

Simplified(Unrestricted)

543,652 Vertices1,087,716 Triangles

Page 48: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Evaluation (Restricted Octrees)

145,829 Vertices125,858 Polygons380,681 Nodes

128,146 Vertices104,868 Polygons205,617 Nodes

Original Simplified(Restricted)

Simplified(Unrestricted)

543,652 Vertices1,087,716 Triangles

Page 49: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Outline

Introduction Related Work Approach Evaluation Conclusion

Page 50: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Contribution

We have shown that an octree defines a set of binary edge-trees that provide a solution to the surface extraction problem:

Page 51: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Contribution

We have shown that an octree defines a set of binary edge-trees that provide a solution to the surface extraction problem:

We walk down the tree to defineiso-vertex positions consistently 1

00 1

e

1

1

11 0

e

e’

Page 52: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Contribution

We have shown that an octree defines a set of binary edge-trees that provide a solution to the surface extraction problem:

We walk up an then down thetree to stitch up iso-polygons

0

?? ?

e

0

1

1

1

11

11 v

v’

e

vv

v’v’

Page 53: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Conclusion

Using the edge-trees, we can extract a watertight isosurface in a local manner:

For arbitrary tree topology/values Without knowing the original implicit function Independent of the isovalue

871,414 Triangles 73,164 Polygons 181,052 Triangles

Page 54: Unconstrained Isosurface Extraction on Arbitrary Octrees Michael Kazhdan, Allison Klein, Ketan Dalal, Hugues Hoppe.

Thank You!

http://www.cs.jhu.edu/~misha/Code/IsoOctree/