Spectral Surface Reconstruction Nils Erik Flick January 13, 2009 - - PowerPoint PPT Presentation

spectral surface reconstruction
SMART_READER_LITE
LIVE PREVIEW

Spectral Surface Reconstruction Nils Erik Flick January 13, 2009 - - PowerPoint PPT Presentation

Spectral Surface Reconstruction Nils Erik Flick January 13, 2009 Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Reconstruction of Surfaces EigenCrust outline Spectral


slide-1
SLIDE 1

Spectral Surface Reconstruction

Nils Erik Flick January 13, 2009

slide-2
SLIDE 2

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References

Reconstruction of Surfaces EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization

Nils Erik Flick Spectral Surface Reconstruction

slide-3
SLIDE 3

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Outline

Reconstruction of Surfaces Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization

Nils Erik Flick Spectral Surface Reconstruction

slide-4
SLIDE 4

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Motivation: Reconstruction

◮ Surface → cloud of sample points → watertight approximation ◮ Robust? Noise, outliers (laser scanner!), holes. ◮ Geom, top.

Nils Erik Flick Spectral Surface Reconstruction

slide-5
SLIDE 5

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

The EigenCrust Algorithm

◮ Geometric heuristics ◮ Transcends local problems by taking a global view ◮ No holes even in the presence of noise and unsampled patches

Nils Erik Flick Spectral Surface Reconstruction

slide-6
SLIDE 6

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

What is a Surface?

◮ Codimension 1 submanifold of ambient space ◮ No intersections, no boundary, manifold ◮ Surface = boundary of a volume. ◮ Search for manifold → automatically watertight!

Nils Erik Flick Spectral Surface Reconstruction

slide-7
SLIDE 7

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Voronoi / Delaunay (1)

◮ Voronoi cell ◮ Starting point: Spatial closeness

Nils Erik Flick Spectral Surface Reconstruction

slide-8
SLIDE 8

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Voronoi / Delaunay (2)

◮ Delaunay duals Voronoi.

Nils Erik Flick Spectral Surface Reconstruction

slide-9
SLIDE 9

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Starting Point: Delaunay Contains Surface

◮ Triangulation contains surface approximation → good starting

point

Nils Erik Flick Spectral Surface Reconstruction

slide-10
SLIDE 10

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Starting Point: Space partitioning

◮ Triangulation partitions space ◮ Label the tetrahedra → inside and outside ◮ Surface = boundary inside|outside.

Nils Erik Flick Spectral Surface Reconstruction

slide-11
SLIDE 11

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Skeleton

◮ Medial axis ≈ skeleton ◮ Deforms to surface’s ambient complement ◮ (homotopy & homeomorphism!)

Nils Erik Flick Spectral Surface Reconstruction

slide-12
SLIDE 12

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Voronoi Poles

◮ Denser sampling → elongated cells ◮ Pole p+ = furthest vertex of cell ◮ Pole p−: only if angle > π 2 ◮ Convergence to Medial Axis in 2D ◮ In 3D, “Surface” tetrahedra occur

Nils Erik Flick Spectral Surface Reconstruction

slide-13
SLIDE 13

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Motivation Surfaces Voronoi / Delaunay The Medial Axis Voronoi Poles

Poles ↔ Skeleton

Nils Erik Flick Spectral Surface Reconstruction

slide-14
SLIDE 14

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References The Combinatorial Approach EigenCrust (1) EigenCrust (2) EigenCrust (3)

Outline

Reconstruction of Surfaces EigenCrust outline The Combinatorial Approach EigenCrust (1) EigenCrust (2) EigenCrust (3) Spectral Theory & Practice Practical (Partial) Diagonalization

Nils Erik Flick Spectral Surface Reconstruction

slide-15
SLIDE 15

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References The Combinatorial Approach EigenCrust (1) EigenCrust (2) EigenCrust (3)

◮ Delaunay triangulation is a combinatorial object (graph) ◮ So is its dual ◮ Good for algorithms!

Nils Erik Flick Spectral Surface Reconstruction

slide-16
SLIDE 16

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References The Combinatorial Approach EigenCrust (1) EigenCrust (2) EigenCrust (3)

EigenCrust proper

◮ Augment point cloud with bounding box ◮ Form pole graph (V , E, w): ◮ Poles belonging to a single vertex ◮ Poles of delaunay-neighboring vertices ◮ Edge weights: Geometrical Heuristic (sorry). ◮ Partition the pole graph ◮ Unlabel suspicious tetrahedra and re-partition.

Nils Erik Flick Spectral Surface Reconstruction

slide-17
SLIDE 17

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References The Combinatorial Approach EigenCrust (1) EigenCrust (2) EigenCrust (3)

EigenCrust (2)

◮ True MAT goes off into infinity → bounding box ◮ Authors use negative weights to great effect ◮ Weight: −e4+4 cos φ – e4−4 cos φ ◮ (unproven) justification: “Angle between circumspheres”

P A1 r

1

A2 r

2

α delaunay circumcircles d α β β

Nils Erik Flick Spectral Surface Reconstruction

slide-18
SLIDE 18

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References The Combinatorial Approach EigenCrust (1) EigenCrust (2) EigenCrust (3)

EigenCrust (21

2)

P A1 r

1

A2 r

2

α delaunay circumcircles d α β β

Nils Erik Flick Spectral Surface Reconstruction

slide-19
SLIDE 19

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References The Combinatorial Approach EigenCrust (1) EigenCrust (2) EigenCrust (3)

EigenCrust (3)

◮ A priori OUTSIDE / INSIDE supernodes. ◮ Second step for non-poles / ambiguous. ◮ Next: a comparison, made by the authors

Nils Erik Flick Spectral Surface Reconstruction

slide-20
SLIDE 20
slide-21
SLIDE 21

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Outline

Reconstruction of Surfaces EigenCrust outline Spectral Theory & Practice Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning Practical (Partial) Diagonalization

Nils Erik Flick Spectral Surface Reconstruction

slide-22
SLIDE 22

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Before we proceed ...

We are going to need some seemingly unrelated stuff. Please bear with me.

Nils Erik Flick Spectral Surface Reconstruction

slide-23
SLIDE 23

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Finite-Dimensional Vector Spaces

◮ Recall the vector space axioms ◮ Linear transformation ◮ Basis ◮ Matrix ◮ Square matrix

Nils Erik Flick Spectral Surface Reconstruction

slide-24
SLIDE 24

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

We are talking ... Hilbert Spaces!

◮ Inner product: distances, angles ◮ f · g =

1

0 f (x)g(x)dx ◮ Importance of linear operators ◮ Importance of hermitean operators

Nils Erik Flick Spectral Surface Reconstruction

slide-25
SLIDE 25

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Operators

◮ Laplacian on Rn as second derivative vector ◮ It frequently appears in physics ◮ It is a linear operator. ◮ You already know its eigenvectors!

Nils Erik Flick Spectral Surface Reconstruction

slide-26
SLIDE 26

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Harmonics

◮ Eigenfunctions of the Laplacian = Harmonics ◮ Harmonic Analysis is often a good idea ◮ Depends on domain ◮ Demo!

Nils Erik Flick Spectral Surface Reconstruction

slide-27
SLIDE 27

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Natural Modes of Vibration

◮ Consider some solid object ◮ Tap it, it sounds ◮ You are hearing its spectrum! ◮ Normal Mode ↔ Eigenvalue ↔ Frequency ↔ Energy (Why?) ◮ Can even be made visible ◮ Degeneracies

Nils Erik Flick Spectral Surface Reconstruction

slide-28
SLIDE 28

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Harmonics & Eigenmodes

◮ Vibrations: Boundary value problem; but also ... ◮ finite model ◮ Resonances

Nils Erik Flick Spectral Surface Reconstruction

slide-29
SLIDE 29

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Rn doesn’t fit in my computer!

◮ Basic finite difference approximation ◮ Square grid ◮ Convergence ◮ generalizes to arbitrary grids & graphs

Nils Erik Flick Spectral Surface Reconstruction

slide-30
SLIDE 30

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Self-Adjointness or Why the Spectrum is Real

◮ A desirable property: Ax, y = x, Ay ◮ Corresponds to symmetric matrix ◮ Real spectrum and orthogonal set of eigenvectors. ◮ Find A = UΛU∗ (U rotation). Often miraculous!

Nils Erik Flick Spectral Surface Reconstruction

slide-31
SLIDE 31

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Introducing Normalized Cuts

◮ Flexible formalism ◮ Segmentation by graph cuts ◮ Good, globally consistent solution ◮ Graph Theory ↔ Linear Algebra ◮ Combinatorics ↔ Numeric Methods ◮ Weighted, undirected graphs.

Nils Erik Flick Spectral Surface Reconstruction

slide-32
SLIDE 32

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Combinatorial Laplacian / Graph Matrices

◮ Combinatorial Laplacian ◮ Affinity (generalized adjacency) matrix

Aij = wij if (i, j) ∈ E else

◮ Degree matrix D, diagonal Dii = degree of vertex i ◮ Graph Laplacian L = D − A ◮ Degree-normalized: W = D− 1

2 LD− 1 2 (transform vectors as

needed)

◮ W remains sparse.

Nils Erik Flick Spectral Surface Reconstruction

slide-33
SLIDE 33

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Laplacians Eigenmodes: Hearing + Seeing = Believing Discretization Graph Vectorspaces for Space Partitioning

Outline of the NCuts Algorithm

◮ Construct a graph with weighted edges. ◮ Connectivity and Weights = adapt to model ◮ Partition along nodal sets ◮ Corresponding to λ2 ◮ (lowest is trivial) ◮ Object splits naturally – tightly connected parts vibrate

together

Nils Erik Flick Spectral Surface Reconstruction

slide-34
SLIDE 34

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Lanczos Iteration The Wider Perspective Open Questions

Outline

Reconstruction of Surfaces EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization Lanczos Iteration The Wider Perspective: Other Interesting Uses of Related Techniques Open Questions

Nils Erik Flick Spectral Surface Reconstruction

slide-35
SLIDE 35

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Lanczos Iteration The Wider Perspective Open Questions

Sparsely connected graphs → sparse matrices

◮ Small eigenvalue problems can be solved by direct methods

(matrix factorizations)

◮ Prohibitive for large problems. ◮ Sparse matrices are made of zeroes ... mainly ◮ Matrix-Vector multiplication tends to be inexpensive ◮ Iterative methods very welcome.

Nils Erik Flick Spectral Surface Reconstruction

slide-36
SLIDE 36

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Lanczos Iteration The Wider Perspective Open Questions

Selective calculation of eigenvectors

◮ Calculating eigenpairs in O(n) time per iteration ◮ Typical number of iterations O(√n) ◮ But varies according to eigenstructure ◮ Positive definite; xT Ax xT x ◮ Get lowest first

Nils Erik Flick Spectral Surface Reconstruction

slide-37
SLIDE 37

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Lanczos Iteration The Wider Perspective Open Questions

More Applications

◮ Simulation (physics) ◮ Data Clustering: importance-weighted criterion ◮ / Text Mining ◮ Transductive Learning (global view) ◮ ...

Nils Erik Flick Spectral Surface Reconstruction

slide-38
SLIDE 38

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References Lanczos Iteration The Wider Perspective Open Questions

Questions for you

◮ Proof of properties (reconstruction quality)? ◮ Incremental computations? ◮ Sharp corners → hybrid ◮ ...

Nils Erik Flick Spectral Surface Reconstruction

slide-39
SLIDE 39

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References

References I

Amenta, N., Choi, S., Dey, T. K., & Leekha, N. (2000). A simple algorithm for homeomorphic surface reconstruction. In International journal of computational geometry and applications (pp. 213–222). Amenta, N., Choi, S., & Kolluri, R. K. (2001). The power crust, unions of balls, and the medial axis transform. Computational Geometry: Theory and Applications, 19, 127–153. Choi, H. I., Choi, S. W., & Moon, H. P. (1997). Mathematical theory of medial axis transform. Pacific Journal of Mathematics, 181, 57–88.

Nils Erik Flick Spectral Surface Reconstruction

slide-40
SLIDE 40

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References

References II

Fowlkes, C., Belongie, S., Chung, F., & Malik, J. (2004). Spectral grouping using the nystr¨

  • m method. IEEE Transactions on

Pattern Analysis and Machine Intelligence, 26, 214–225. Kac, M. (1966). Can you hear the shape of a drum. Amer. Math. Monthly, 73(1). Rahimi, A., & Recht, B. (2004). Clustering with normalized cuts is clustering with a hyperplane. Statistical Learning in Computer Vision. Shi, J., Belongie, S., Leung, T. K., & Malik, J. (1998). Image and video segmentation: The normalized cut framework. In Icip (1) (p. 943-947). Cgal, Computational Geometry Algorithms Library. (n.d.). (http://www.cgal.org)

Nils Erik Flick Spectral Surface Reconstruction

slide-41
SLIDE 41

Surface Reconstruction EigenCrust outline Spectral Theory & Practice Practical (Partial) Diagonalization References

References III

Ietl, the Iterative Eigensolver Template Library. (n.d.). (http://www.comp-phys.org/software/ietl/) Wardetzky, M., Mathur, S., Kalberer, F., & Grinspun, E. (2007). Discrete laplace operators: no free lunch. Zhou, D., & Scholkopf, B. (2005). Regularization on Discrete

  • Spaces. LECTURE NOTES IN COMPUTER SCIENCE,

3663, 361.

Nils Erik Flick Spectral Surface Reconstruction

Ravikrishna Kolluri, Jonathan Richard Shewchuk, and James F. O'Brien, Spectral Surface Reconstruction from Noisy Point Clouds, Symposium on Geometry Processing 2004 (Nice, France), pages 11-21,Eurographics Association, July 2004.