Tolerance Volume Manish Mandad David Cohen-Steiner Pierre Alliez - - PowerPoint PPT Presentation

tolerance volume
SMART_READER_LITE
LIVE PREVIEW

Tolerance Volume Manish Mandad David Cohen-Steiner Pierre Alliez - - PowerPoint PPT Presentation

Isotopic Approximation within a Tolerance Volume Manish Mandad David Cohen-Steiner Pierre Alliez Inria Sophia Antipolis - 1 Goals and Motivation - 2 Goals and Motivation Input: Tolerance volume of a surface geometry - 3 Goals and


slide-1
SLIDE 1

Isotopic Approximation within a Tolerance Volume

Manish Mandad David Cohen-Steiner Pierre Alliez

  • 1

Inria Sophia Antipolis

slide-2
SLIDE 2

Goals and Motivation

  • 2
slide-3
SLIDE 3

Goals and Motivation

  • Input:
  • Tolerance volume of

a surface geometry

  • 3
slide-4
SLIDE 4

Goals and Motivation

  • Input:
  • Tolerance volume of

a surface geometry

  • Output:
  • Surface triangle mesh
  • Properties:

 Within tolerance volume Motivation: control global approximation error

  • 4
slide-5
SLIDE 5

Goals and Motivation

  • Input:
  • Tolerance volume of

a surface geometry

  • Output:
  • Surface triangle mesh
  • Properties:

 Within tolerance volume  Intersection free Motivation: simulation, machining, printing etc.

  • 5
slide-6
SLIDE 6

Goals and Motivation

  • Input:
  • Tolerance volume of

a surface geometry

  • Output:
  • Surface triangle mesh
  • Properties:

 Within tolerance volume  Intersection free  Low vertex count Motivation: get an approximated mesh, low polygon count

  • 6
slide-7
SLIDE 7

Goals and Motivation A Condition for Isotopic Approximation

[Chazal, Cohen-Steiner 04]

  • 7

Constructive algorithm for this theoretical result

slide-8
SLIDE 8

Goals and Motivation

  • 8

Ω

Ω : Topological thickening of S

A Condition for Isotopic Approximation

[Chazal, Cohen-Steiner 04] ∂Ω2 ∂Ω1

slide-9
SLIDE 9

Goals and Motivation

  • 9

Ω : Topological thickening of S If

  • S’ is included and separates sides of Ω,
  • S’ is connected and
  • Genus of S’ does not exceed genus of S

Then, S’ and S are isotopic.

S’

A Condition for Isotopic Approximation

[Chazal, Cohen-Steiner 04] Ω

slide-10
SLIDE 10

Related Work

  • 10
slide-11
SLIDE 11

Related Work

  • 11

Simplification Envelopes Cohen et al. 1996 Multiresolution decimation based on global error Ciampalini et al. 1997 Adaptively Sampled Distance Fields Frisken et al. 2000 Permission Grids: Practical, Error-Bounded Simplification Zelinka – Garland 2002 Intersection Free Simplification Gumhold et al. 2003 GPU-based Tolerance Volumes for Mesh Processing Botsch et al. 2004 Simplification of surface mesh using Hausdorff envelope Borouchaki – Frey 2005

slide-12
SLIDE 12

Related Work

Simplification Envelopes [Cohen et al. 96]

  • 12
slide-13
SLIDE 13

Related Work

Simplification Envelopes [Cohen et al. 96]

  • 13

― Very good for simple geometry ― Input dependent ― Tolerance hinders simplification

slide-14
SLIDE 14

Overview

  • 14

Tolerance Volume Ω Sampling Refinement Simplification Output

slide-15
SLIDE 15

Algorithm

  • 15
slide-16
SLIDE 16

Algorithm (Initialization)

  • S: Point sample of ∂Ω with labels
  • 16

Initialization

f = -1 f = +1 σ radii balls at S cover ∂Ω

slide-17
SLIDE 17

Algorithm (Initialization)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box

+1 +1 +1 +1

f = +1 f = +1 f = -1

  • 17

Initialization

slide-18
SLIDE 18

Algorithm (Initialization)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box

+1 +1 +1 +1

f = +1 f = +1 f = -1 fT

  • 18

Initialization

slide-19
SLIDE 19

Algorithm (Initialization)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box

+1 +1 +1 +1

Error Error µ(s)=|f µ(s)=|f(s) s)–fT(s (s)| )| f = +1 f = +1 f = -1 fT s

  • 19

Initialization

slide-20
SLIDE 20

Algorithm (coarse-to-fine)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T

Sample point (s ∈ S) with maximum error

  • 20

Refinement

slide-21
SLIDE 21

Algorithm (coarse-to-fine)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T

f = +1 f = +1 f = -1

fT = 0 Zero-set

  • 21

Refinement

slide-22
SLIDE 22

Algorithm (coarse-to-fine)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • 22

Refinement

slide-23
SLIDE 23

Algorithm (coarse-to-fine)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • 23

Refinement

slide-24
SLIDE 24

Algorithm (coarse-to-fine)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • 24

Refinement

slide-25
SLIDE 25

Algorithm (coarse-to-fine)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • 25

Refinement

Boundary of simplicial tolerance (∂Ɣ)

slide-26
SLIDE 26

Algorithm (coarse-to-fine)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T

Extension to 3D? Guarantees?

  • 26

Refinement

slide-27
SLIDE 27

Refinement (conditions)

  • 27

Zero set may cross ∂Ω due to flat tetrahedra

slide-28
SLIDE 28

Refinement (conditions)

Ensure interpolated function is Lipschitz

  • 28

Zero set may cross ∂Ω due to flat tetrahedra

slide-29
SLIDE 29

Refinement (conditions)

Ensure interpolated function is Lipschitz

  • μ(s) < 1 – α,

given some α ∈ [0, 1] μ(s) < 1

Classify samples with a margin

  • 28

Zero set may cross ∂Ω due to flat tetrahedra

slide-30
SLIDE 30

Refinement (conditions)

  • μ(s) < 1 – α,

given some α ∈ [0, 1]

  • h > 2σ/α
  • 29

Ensure interpolated function is Lipschitz

Zero set may cross ∂Ω due to flat tetrahedra

slide-31
SLIDE 31

Refinement (conditions)

What else do we need to fix ?

  • 30
slide-32
SLIDE 32

Refinement (conditions)

  • Misoriented elements
  • 31
slide-33
SLIDE 33

Refinement (conditions)

  • Misoriented elements
  • Interpolated function should classify well local geometry

fT defined on ΔABC should classify well samples of S nearest (orange) to a shrunk triangle (green)

  • 32
slide-34
SLIDE 34

Refinement (conditions)

S not classified : μ(s)>1

{

  • μ(s)

) ≥ 1–α given ven some me α∈[0;1 [0;1]

  • h

h ≤ 2σ/α

  • f does

f does not cla

  • t classifies

ifies local ge cal geometry etry

}

  • 33
slide-35
SLIDE 35

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • 34

Simplification

slide-36
SLIDE 36

Simplification (conditions)

  • 36
slide-37
SLIDE 37

Simplification (conditions)

  • Validity of Triangulation
  • Combinatorial Topology [Dey et al. 98]
  • Valid embedding – Visibility kernel of 1-ring [Lee-Preparata 79]
  • 37

Edge PQ to be collapsed Link condition Valid embedding kernel

slide-38
SLIDE 38

Simplification (conditions)

  • Validity of Triangulation
  • Combinatorial Topology [Dey et al. 98]
  • Valid embedding – Visibility kernel of 1-ring [Lee-Preparata 79]
  • 38

Valid embedding kernel Edge PQ to be collapsed

slide-39
SLIDE 39

Simplification (conditions)

  • Validity of Triangulation
  • Combinatorial Topology [Dey et al. 98]
  • Valid embedding – Visibility kernel of 1-ring [Lee-Preparata 79]
  • Preserve classification of S – Non convex problem
  • 39

Valid embedding kernel Region that preserve classification of S Edge PQ to be collapsed

slide-40
SLIDE 40

Simplification (conditions)

  • Validity of Triangulation
  • Combinatorial Topology [Dey et al. 98]
  • Valid embedding – Visibility kernel of 1-ring [Lee-Preparata 79]
  • Preserve classification of S – Non convex problem
  • Optimal location : Minimizes sum of squared distances

between target vertex and 2-ring planes

  • 40
slide-41
SLIDE 41

Simplification (conditions)

  • Validity of Triangulation
  • Combinatorial Topology [Dey et al. 98]
  • Valid embedding – Visibility kernel of 1-ring [Lee-Preparata 79]
  • Preserve classification of S – Non convex problem
  • Optimal location : Minimizes sum of squared distances

between target vertex and 2-ring planes

  • Faithful normals (same as in refinement)
  • 42
slide-42
SLIDE 42

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • 40

Simplification

slide-43
SLIDE 43

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • 41

Simplification

slide-44
SLIDE 44

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • 42

Simplification

slide-45
SLIDE 45

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • Insert Z in T
  • 43

Simplification

slide-46
SLIDE 46

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • Insert Z in T
  • Collapse edges of Z
  • 44

Simplification

slide-47
SLIDE 47

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • Insert Z in T
  • Collapse edges of Z
  • 45

Simplification

slide-48
SLIDE 48

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • Insert Z in T
  • Collapse edges of Z
  • 46

Simplification

slide-49
SLIDE 49

Algorithm (fine-to-coarse)

  • S: Point sample of ∂Ω with labels
  • Delaunay Triangulation T of loose bounding-box
  • While (S not classified)
  • Insert Steiner point to T
  • Collapse edges of ∂Ɣ
  • Insert Z in T
  • Collapse edges of Z
  • Final output
  • 47

Output

slide-50
SLIDE 50

Recap

  • 48
slide-51
SLIDE 51

Recap

  • 48
slide-52
SLIDE 52

Recap

  • 48
slide-53
SLIDE 53

Recap

  • 48
slide-54
SLIDE 54

Proof

  • 55
slide-55
SLIDE 55

Proof

  • Termination
  • Topology
  • 56

Only assumes separability condition on Ω

slide-56
SLIDE 56

Results

  • 62
slide-57
SLIDE 57

Blade

  • 63

Input Ω Refinement Simplification

  • n ∂Ɣ

Simplification

  • n Z

Simplification

  • n all edges
slide-58
SLIDE 58

Varying Tolerance (fertility)

  • 64
slide-59
SLIDE 59

Varying Tolerance (vase lion)

  • 65
slide-60
SLIDE 60

Progress of Algorithm

  • 66

tolerance

slide-61
SLIDE 61

Robustness to input dataset and noise

  • 67
slide-62
SLIDE 62

Robustness to input dataset and noise

  • 68
slide-63
SLIDE 63

Robustness to input dataset and noise

  • 69
slide-64
SLIDE 64

Robustness to input dataset and noise

  • 70

[Chazal et al. 11]

slide-65
SLIDE 65

Comparisons

  • 71
slide-66
SLIDE 66

Comparison (Simplification Envelopes)

  • 72

Input Simplification Envelopes H = 60% Our Algorithm H = 10%

slide-67
SLIDE 67

Comparisons – Hausdorff distance (output to input)

  • 73
slide-68
SLIDE 68

Comparisons – Hausdorff distance (output to input)

  • 74
slide-69
SLIDE 69

Comparisons – Hausdorff distance (input to output)

  • 75
slide-70
SLIDE 70

Comparisons – Hausdorff distance (input to output)

  • 76
slide-71
SLIDE 71

Comparisons – Hausdorff distance (input to output)

  • 77
slide-72
SLIDE 72

Comparisons – Hausdorff distance (input to output)

  • 78
slide-73
SLIDE 73

Comparisons – Hausdorff distance (output to input)

  • 79

dots: self intersection

slide-74
SLIDE 74

Comparisons – Hausdorff distance (input to output)

  • 80
slide-75
SLIDE 75

Anisotropy

  • 81
slide-76
SLIDE 76

Anisotropy

  • 82
slide-77
SLIDE 77

Extensions

  • 83
slide-78
SLIDE 78

Non-closed Surfaces

  • 84

rδ ≥2δ During Simplification : Hausdorff distance between Z and boundary is enforced to be δ.

slide-79
SLIDE 79

Non-closed Surfaces

  • 85

Input preserving holes repairing holes

slide-80
SLIDE 80

Non-manifold

  • 86
slide-81
SLIDE 81

Limitations

  • Tolerance volume dependence
  • Compute and memory intensive
  • Slow for small tolerance
  • 87
slide-82
SLIDE 82

Conclusions

  • Algorithm for isotopic approximation
  • Always intersection free and within tolerance
  • Low mesh complexity
  • 88
slide-83
SLIDE 83

Further Work

  • Out-of-core
  • Progressive algorithm
  • 89
slide-84
SLIDE 84

Questions Thank you.

  • 90