I nterpolating and Approximating I mplicit Surfaces from Polygon - - PowerPoint PPT Presentation

i nterpolating and approximating i mplicit surfaces from
SMART_READER_LITE
LIVE PREVIEW

I nterpolating and Approximating I mplicit Surfaces from Polygon - - PowerPoint PPT Presentation

I nterpolating and Approximating I mplicit Surfaces from Polygon Soup Chen Shen, James F. OBrien, Jonathan R. Shewchuk University of California, Berkeley Geometric Algorithms Seminar CS 468 Fall 2005 Overview Overview Talk Overview:


slide-1
SLIDE 1

I nterpolating and Approximating I mplicit Surfaces from Polygon Soup

Chen Shen, James F. O’Brien, Jonathan R. Shewchuk

University of California, Berkeley

Geometric Algorithms Seminar CS 468 – Fall 2005

slide-2
SLIDE 2

2

CS 468 – Geometric Algorithms Seminar – Fall 2005

Overview Overview

Talk Overview:

  • Motivation
  • Implicit Surface Fitting

for Polygon Soup

  • Computational Aspects
  • Extensions
  • Results

Talk Overview:

  • Motivation
  • Implicit Surface Fitting

for Polygon Soup

  • Computational Aspects
  • Extensions
  • Results
slide-3
SLIDE 3

3

Motivation Motivation

slide-4
SLIDE 4

4

CS 468 – Geometric Algorithms Seminar – Fall 2005

What does the paper do? What does the paper do?

Goal: Convert polygon mesh into implicit surface (and back again) Applications:

  • Mesh cleanup – create consistent meshes

from polygon soup

  • Topological simplification
  • Creating bounding volumes

Goal: Convert polygon mesh into implicit surface (and back again) Applications:

  • Mesh cleanup – create consistent meshes

from polygon soup

  • Topological simplification
  • Creating bounding volumes
slide-5
SLIDE 5

5

CS 468 – Geometric Algorithms Seminar – Fall 2005

Consistent Meshes Consistent Meshes

Polygon models often show consistency issues:

  • Holes and gaps (no closed surface)
  • T-junctions in meshing
  • Non-manifold structure,

self intersections

  • Inconsistent normals
  • Sometimes: Internal structure

should be omitted Polygon models often show consistency issues:

  • Holes and gaps (no closed surface)
  • T-junctions in meshing
  • Non-manifold structure,

self intersections

  • Inconsistent normals
  • Sometimes: Internal structure

should be omitted

}

– preprocessing

} – partially fixed } – fixed

slide-6
SLIDE 6

6

CS 468 – Geometric Algorithms Seminar – Fall 2005

Topological Simplification Topological Simplification

[Shen et al. 04]

Create simplified bounding volume, allowing topological changes: Useful for...

  • Mesh simplification
  • Spatial queries

(e.g. collision detection) Create simplified bounding volume, allowing topological changes: Useful for...

  • Mesh simplification
  • Spatial queries

(e.g. collision detection)

slide-7
SLIDE 7

7

CS 468 – Geometric Algorithms Seminar – Fall 2005

Related Work Related Work

Reconstruction via Implicit Surfaces:

  • Standard technique: see e.g. [Hoppe et al. ’92],

[Turk et al. ’99], [Carr et al. ’01], [Turk et al. ’02], ...

  • General reconstruction procedure:
  • Estimate normals
  • Approx. signed distance function
  • Apply marching cubes
  • (Possibly: Simplify result)

Reconstruction via Implicit Surfaces:

  • Standard technique: see e.g. [Hoppe et al. ’92],

[Turk et al. ’99], [Carr et al. ’01], [Turk et al. ’02], ...

  • General reconstruction procedure:
  • Estimate normals
  • Approx. signed distance function
  • Apply marching cubes
  • (Possibly: Simplify result)

This paper

slide-8
SLIDE 8

8

CS 468 – Geometric Algorithms Seminar – Fall 2005

Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces

Initial data Estimate normals Signed distance func. Marching cubes Final mesh Initial data Estimate normals Signed distance func. Marching cubes Final mesh

slide-9
SLIDE 9

9

CS 468 – Geometric Algorithms Seminar – Fall 2005

Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces

Initial data Estimate normals Signed distance func. Marching cubes Final mesh Initial data Estimate normals Signed distance func. Marching cubes Final mesh

slide-10
SLIDE 10

10

CS 468 – Geometric Algorithms Seminar – Fall 2005

Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces

Initial data Estimate normals Signed distance func. Marching cubes Final mesh Initial data Estimate normals Signed distance func. Marching cubes Final mesh

slide-11
SLIDE 11

11

CS 468 – Geometric Algorithms Seminar – Fall 2005

Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces

Initial data Estimate normals Signed distance func. Marching cubes Final mesh This paper: technique for polygon meshes Initial data Estimate normals Signed distance func. Marching cubes Final mesh This paper: technique for polygon meshes

slide-12
SLIDE 12

12

CS 468 – Geometric Algorithms Seminar – Fall 2005

Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces

Initial data Estimate normals Signed distance func. Marching cubes Final mesh Initial data Estimate normals Signed distance func. Marching cubes Final mesh

slide-13
SLIDE 13

13

CS 468 – Geometric Algorithms Seminar – Fall 2005

Reconstruction via I mplicit Surfaces Reconstruction via I mplicit Surfaces

Initial data Estimate normals Signed distance func. Marching cubes Final mesh Initial data Estimate normals Signed distance func. Marching cubes Final mesh

slide-14
SLIDE 14

14

CS 468 – Geometric Algorithms Seminar – Fall 2005

What is this paper about? What is this paper about?

this step

In this paper: Defining the implicit function But: Consider polygon models

input: polygons

slide-15
SLIDE 15

15

CS 468 – Geometric Algorithms Seminar – Fall 2005

Utility Utility

Hole Filling: Create well-defined closed surface Hole Filling: Create well-defined closed surface

slide-16
SLIDE 16

16

CS 468 – Geometric Algorithms Seminar – Fall 2005

Utility Utility

Also: Remeshing (Marching Cubes)

T-vertex, small hole fixed: remeshed

slide-17
SLIDE 17

17

CS 468 – Geometric Algorithms Seminar – Fall 2005

Utility Utility

Missing Normals: Reconstruct (a few) missing normals Missing Normals: Reconstruct (a few) missing normals

? ? ?

slide-18
SLIDE 18

18

I mplicit Surface Fitting for Polygon Soup I mplicit Surface Fitting for Polygon Soup

slide-19
SLIDE 19

19

CS 468 – Geometric Algorithms Seminar – Fall 2005

Least-Squares Least-Squares

Least Squares Approximation:

target values basis functions

B1 B2 B3 pi = (xi, φi) w(x)

weighting functions least squares fit

slide-20
SLIDE 20

20

CS 468 – Geometric Algorithms Seminar – Fall 2005

Least-Squares Least-Squares

Least Squares Approximation:

) ( ) ( ~

1

x B c x

i n i i

=

= φ

Best Fit:

( )

=

n i i i i i

x w x c

1 2

) ( ) ( ~ argmin φ φ

slide-21
SLIDE 21

21

CS 468 – Geometric Algorithms Seminar – Fall 2005

Least-Squares Least-Squares

( ) ( )φ

2 2

W B c B W B

T T

=

Normal Equations:

( )

φ

2 1 2

W B B W B c

T T −

=

Solution:

( )

φ φ

2 T 1 2 T T

) ( ), ( ) ( ~ W B B W B x b c x b x

>= =<

Evaluation:

[ ]

n

B B b ,..., :

1

= ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − = ) ( ) ( :

1 n

x b x b B M ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ =

n

φ φ φ M

1

: ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ =

n

c c c M

1

: ) ( ) ( :

1 n

x w x w W ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = O

Notation:

slide-22
SLIDE 22

22

CS 468 – Geometric Algorithms Seminar – Fall 2005

Moving Least-Squares Moving Least-Squares

Moving Least Squares Approximation:

target values

move basis and weighting function, recompute approximation φ (x) ~

slide-23
SLIDE 23

23

CS 468 – Geometric Algorithms Seminar – Fall 2005

Moving Least-Squares Moving Least-Squares

Moving Least Squares Approximation:

target values approximation

slide-24
SLIDE 24

24

CS 468 – Geometric Algorithms Seminar – Fall 2005

Application... Application...

Approach:

  • MLS-Approximation of implicit

function in space: f: 3 →

  • Set polygons surface to zero
  • Normal constraints: implicit

function should grow in normal direction

  • Coordinate frame: 3

(no non-linear coord.-sys. estimation)

  • Weighting function: w(r) = 1/(r 2 + ε 2)

Approach:

  • MLS-Approximation of implicit

function in space: f: 3 →

  • Set polygons surface to zero
  • Normal constraints: implicit

function should grow in normal direction

  • Coordinate frame: 3

(no non-linear coord.-sys. estimation)

  • Weighting function: w(r) = 1/(r 2 + ε 2)
slide-25
SLIDE 25

25

CS 468 – Geometric Algorithms Seminar – Fall 2005

Weighting Function Weighting Function

Weighting Function Used in This Paper: Vary ε to adjust tightness of fit.

slide-26
SLIDE 26

26

CS 468 – Geometric Algorithms Seminar – Fall 2005

Polygonal Constraints Polygonal Constraints

Problem: Need polygonal constraints (not point constraints)

[Shen et al. 04]

slide-27
SLIDE 27

27

CS 468 – Geometric Algorithms Seminar – Fall 2005

Polygonal Constraints Polygonal Constraints

Idea: Use infinite number of points (i.e. integrate)

( ) ( )φ

2 2

W B c B W B

T T

=

Normal Equations:

i N i i i N i i T i i

x b x x w x c x b x b x x w φ

∑ ∑

= =

= ⎟ ⎠ ⎞ ⎜ ⎝ ⎛

1 2 1 2

) ( ) , ( ) ( ) ( ) ( ) , (

Can be rewritten: Sum of point constraints (Just some algebra)

slide-28
SLIDE 28

28

CS 468 – Geometric Algorithms Seminar – Fall 2005

Polygonal Constraints Polygonal Constraints

Point Constraints:

i N i i i N i i T i i

x b x x w x c x b x b x x w φ

∑ ∑

= =

= ⎟ ⎠ ⎞ ⎜ ⎝ ⎛

1 2 1 2

) ( ) , ( ) ( ) ( ) ( ) , ( p d p b p x w x c dp p b p b p x w

k N k Poly N k Poly T

k k

φ

∑ ∫ ∑ ∫

= =

= ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛

1 2 1 2

) ( ) , ( ) ( ) ( ) ( ) , (

Polygonal Constraints: (just integrate over all polygon points)

slide-29
SLIDE 29

29

CS 468 – Geometric Algorithms Seminar – Fall 2005

Application... Application...

First Try: First Try:

φk = 0 Result: f ≡ 0

Missing: Normal constraints Missing: Normal constraints

slide-30
SLIDE 30

30

CS 468 – Geometric Algorithms Seminar – Fall 2005

Normal Constraints Normal Constraints

Traditional Technique:

  • Add some +1, -1 points in space
  • Does not work very well

(oscillation artifacts) Here:

  • Directly approximate weighted

signed distance function in space

[Shen et al. 04]

slide-31
SLIDE 31

31

CS 468 – Geometric Algorithms Seminar – Fall 2005

Normal Constraints Normal Constraints

Basic Idea: Basic Idea:

x w(x, r)

Add additional equations, Add additional equations, f should match signed distance function: (x – pi)·ni weighted by w(polygon, x) (details not given) f should match signed distance function: (x – pi)·ni weighted by w(polygon, x) (details not given)

slide-32
SLIDE 32

32

CS 468 – Geometric Algorithms Seminar – Fall 2005

Application... Application...

With Normal Constraints: With Normal Constraints:

slide-33
SLIDE 33

33

Computational Aspects Computational Aspects

slide-34
SLIDE 34

34

CS 468 – Geometric Algorithms Seminar – Fall 2005

Computing I ntegrals Computing I ntegrals

p d p b p x w x c dp p b p b p x w

k N k Poly N k Poly T

k k

φ

∑ ∫ ∑ ∫

= =

= ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛

1 2 1 2

) ( ) , ( ) ( ) ( ) ( ) , (

Problem: Evaluation of Integrals Normal Equations: Weighting function w(x, p) = 1/((p – x)2 + ε 2): small ε → almost singular

slide-35
SLIDE 35

35

CS 468 – Geometric Algorithms Seminar – Fall 2005

Computing I ntegrals Computing I ntegrals

Solution:

  • One dimensional line integrals can be computed

analytically

  • Two dimensional area integrals are approximated

numerically using an importance sampling approach Solution:

  • One dimensional line integrals can be computed

analytically

  • Two dimensional area integrals are approximated

numerically using an importance sampling approach

x

Sum of line integrals Split triangle at eval.-point Exponentially increasing spacing

x

slide-36
SLIDE 36

36

CS 468 – Geometric Algorithms Seminar – Fall 2005

Complexity Problem Complexity Problem

Computation Time:

  • O(N) for one evaluation of f
  • Millions of function evaluations
  • This won’t work...

Solution:

  • Piecewise constant

integral approximation

  • Fewer evaluations at

larger distance

slide-37
SLIDE 37

37

CS 468 – Geometric Algorithms Seminar – Fall 2005

Hierarchical Approximation Hierarchical Approximation

Data Structure:

  • Precomputed spatial hierarchy
  • Precomputed distance independent

integrals in each node (with w ≡ 1)

  • Eval.: Subdivide until

node diameter = λ·distance

  • Multiply w with precomp.

→ constant approx. error

slide-38
SLIDE 38

38

Extensions Extensions

slide-39
SLIDE 39

39

CS 468 – Geometric Algorithms Seminar – Fall 2005

Tight Bounding Volumes Tight Bounding Volumes

Level-of-Detail Control:

  • Vary ε in weighting function w(r) = 1/(r 2 + ε 2)

to smooth geometry

  • Problem: Bounding volumes grow too much

[Shen et al. 04]

slide-40
SLIDE 40

40

CS 468 – Geometric Algorithms Seminar – Fall 2005

Tight Bounding Volumes Tight Bounding Volumes

Create Tight Bounding Volumes:

  • Adjust iso-value to best fit on average
  • Iteratively: Adjust constraint values φi of polygons

to guarantee inclusion

[Shen et al. 04]

slide-41
SLIDE 41

41

CS 468 – Geometric Algorithms Seminar – Fall 2005

Preprocessing Preprocessing

Preprocessing Steps: (no details given in paper)

  • Ensure consistent normals

(Standard technique: Region growing on surface)

  • For approximate bounding volumes:

Remove interior, invisible polygons

slide-42
SLIDE 42

42

Results Results

slide-43
SLIDE 43

43

CS 468 – Geometric Algorithms Seminar – Fall 2005

Example Example

  • riginal

restauration

[Shen et al. 04]

slide-44
SLIDE 44

44

CS 468 – Geometric Algorithms Seminar – Fall 2005

Sharp Features Sharp Features

small

ε

larger

ε

[Shen et al. 04]

slide-45
SLIDE 45

45

CS 468 – Geometric Algorithms Seminar – Fall 2005

Bounding Volumes Bounding Volumes

[Shen et al. 04]

slide-46
SLIDE 46

46

CS 468 – Geometric Algorithms Seminar – Fall 2005

Continuous Simplification Continuous Simplification

[Shen et al. 04]

slide-47
SLIDE 47

47

CS 468 – Geometric Algorithms Seminar – Fall 2005

Timings Timings

Computationally Expensive:

  • “Heavy Loader”:

10 – 90 Min.

(37K polygons in, 30K – 2M vertices out)

  • “Bunny”:

08 – 70 Min.

(69K polygons in, 28K – 1.5M vertices out)

  • “Machine Part”:

05 – 20 Min.

(800 polygons in, 20K – 1M vertices out)

The larger ε (less output polygons), the longer the running time (presumably due to hierarchy traversal costs)

slide-48
SLIDE 48

48

Conclusions Conclusions

slide-49
SLIDE 49

49

CS 468 – Geometric Algorithms Seminar – Fall 2005

Conclusions Conclusions

Conclusions:

  • Polygonal models can be fixed

via implicit function fitting

  • Direct approximation of signed distance:

straightforward and effective idea (normals required), might also be useful for other approx.-applications

  • Expensive technique
  • Not perfect at sharp features
  • Implementation involved (quadrature, hierarchical

approximation)

slide-50
SLIDE 50