65
Topological Inference via Meshing Benoit Hudson, Gary Miller, Steve Oudot and Don Sheehy SoCG 2010

Topological Inference via Meshing

Embed Size (px)

DESCRIPTION

In topological inference, the goal is to extract information about a shape, given only a sample of points from it. There are many approaches to this problem, but the one we focus on is persistent homology. We get a view of the data at different scales by imagining the points are balls and consider different radii. The shape information we want comes in the form of a persistence diagram, which describes the components, cycles, bubbles, etc in the space that persist over a range of different scales. To actually compute a persistence diagram in the geometric setting, previous work required complexes of size n^O(d). We reduce this complexity to O(n) (hiding some large constants depending on d) by using ideas from mesh generation. This talk will not assume any knowledge of topology. This is joint work with Gary Miller, Benoit Hudson, and Steve Oudot.

Citation preview

Page 1: Topological Inference via Meshing

Topological Inference via MeshingBenoit Hudson, Gary Miller, Steve Oudot and Don Sheehy

SoCG 2010

Page 2: Topological Inference via Meshing

Mesh Generationand

Persistent Homology

Page 3: Topological Inference via Meshing

The Problem

Input: Points in Euclidean space sampled from some unknown object.

Output: Information about the topology of the unknown object.

Page 4: Topological Inference via Meshing

Points, offsets, homology, and persistence.

Page 5: Topological Inference via Meshing

Points, offsets, homology, and persistence.

Input: P ! Rd

Page 6: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Page 7: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Page 8: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Page 9: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Offsets

Page 10: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Offsets

Compute the Homology

Page 11: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Offsets

Compute the Homology

Page 12: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Offsets

Compute the Homology

Page 13: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Offsets

Compute the Homology

Page 14: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Offsets

Compute the Homology

Page 15: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Offsets

Compute the Homology

Page 16: Topological Inference via Meshing

Points, offsets, homology, and persistence.

P! =!

p!P

ball(p,!)

Input: P ! Rd

Offsets

Compute the Homology

Persistent

Page 17: Topological Inference via Meshing

Persistence Diagrams

Page 18: Topological Inference via Meshing

Persistence Diagrams

Page 19: Topological Inference via Meshing

Persistence Diagrams

d!B = maxi

|pi ! qi|!

Bottleneck Distance

Page 20: Topological Inference via Meshing

Persistence Diagrams

d!B = maxi

|pi ! qi|!

Bottleneck Distance

Approximate

Page 21: Topological Inference via Meshing

Persistence Diagrams

d!B = maxi

|pi ! qi|!

Bottleneck Distance

Approximate Birth and Death times differ by a constant factor.

Page 22: Topological Inference via Meshing

Persistence Diagrams

d!B = maxi

|pi ! qi|!

Bottleneck Distance

This is just the bottleneck distance of the log-scale diagrams.

Approximate Birth and Death times differ by a constant factor.

Page 23: Topological Inference via Meshing

Persistence Diagrams

d!B = maxi

|pi ! qi|!

Bottleneck Distance

This is just the bottleneck distance of the log-scale diagrams.

log a ! log b < !

log a

b< !

a

b< 1 + !

Approximate Birth and Death times differ by a constant factor.

Page 24: Topological Inference via Meshing

We need to build a filtered simplicial complex.

Associate a birth time with each simplex in complex K.

At timeα, we have a complex Kα consisting of all simplices born at or before time α.

time

Page 25: Topological Inference via Meshing

There are two phases, one is geometric the other is topological.

Geometry Topology(linear algebra)

Build a filtration, i.e. a filtered simplicial

complex.

Compute the persistence diagram

(Run the Persistence Algorithm).

Page 26: Topological Inference via Meshing

We’ll focus on this side.

There are two phases, one is geometric the other is topological.

Geometry Topology(linear algebra)

Build a filtration, i.e. a filtered simplicial

complex.

Compute the persistence diagram

(Run the Persistence Algorithm).

Page 27: Topological Inference via Meshing

We’ll focus on this side.

There are two phases, one is geometric the other is topological.

Geometry Topology(linear algebra)

Build a filtration, i.e. a filtered simplicial

complex.

Compute the persistence diagram

(Run the Persistence Algorithm).

Running time: O(N3).N is the size of the complex.

Page 28: Topological Inference via Meshing

Idea 1: Use the Delaunay Triangulation

Page 29: Topological Inference via Meshing

Idea 1: Use the Delaunay Triangulation

Good: It works, (alpha-complex filtration).

Page 30: Topological Inference via Meshing

Idea 1: Use the Delaunay Triangulation

Good: It works, (alpha-complex filtration).

Bad: It can have size nO(d).

Page 31: Topological Inference via Meshing

Idea 2: Connect up everything close.

Page 32: Topological Inference via Meshing

Idea 2: Connect up everything close.

Čech Filtration: Add a k-simplex for every k+1 points that have a smallest enclosing ball of radius at mostα.

Page 33: Topological Inference via Meshing

Idea 2: Connect up everything close.

Čech Filtration: Add a k-simplex for every k+1 points that have a smallest enclosing ball of radius at mostα.

Rips Filtration: Add a k-simplex for every k+1 points that have all pairwise distances at mostα.

Page 34: Topological Inference via Meshing

Idea 2: Connect up everything close.

Čech Filtration: Add a k-simplex for every k+1 points that have a smallest enclosing ball of radius at mostα.

Rips Filtration: Add a k-simplex for every k+1 points that have all pairwise distances at mostα.

Still nd, but we can quit early.

Page 35: Topological Inference via Meshing

Our Idea: Build a quality mesh.

Page 36: Topological Inference via Meshing

Our Idea: Build a quality mesh.

Page 37: Topological Inference via Meshing

Our Idea: Build a quality mesh.

We can build meshes of size 2O(d )n.2

Page 38: Topological Inference via Meshing

Meshing Counter-intuition

Delaunay Refinement can take less time and space than

Delaunay Triangulation.

Page 39: Topological Inference via Meshing

Meshing Counter-intuition

Delaunay Refinement can take less time and space than

Delaunay Triangulation.

Theorem [Hudson, Miller, Phillips, ’06]:A quality mesh of a point set canbe constructed in O(n log !) time,where ! is the spread.

Page 40: Topological Inference via Meshing

Meshing Counter-intuition

Delaunay Refinement can take less time and space than

Delaunay Triangulation.

Theorem [Hudson, Miller, Phillips, ’06]:

Theorem [Miller, Phillips, Sheehy, ’08]:

A quality mesh of a point set canbe constructed in O(n log !) time,where ! is the spread.

A quality mesh of a well-paced

point set has size O(n).

Page 41: Topological Inference via Meshing

The α-mesh filtration

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Page 42: Topological Inference via Meshing

The α-mesh filtration

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Page 43: Topological Inference via Meshing

The α-mesh filtration

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Page 44: Topological Inference via Meshing

The α-mesh filtration

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Page 45: Topological Inference via Meshing

The α-mesh filtration

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Page 46: Topological Inference via Meshing

The α-mesh filtration

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Page 47: Topological Inference via Meshing

The α-mesh filtration

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Page 48: Topological Inference via Meshing

Approximation via interleaving.

Page 49: Topological Inference via Meshing

Definition:

Approximation via interleaving.

Two filtrations, {P!} and {Q!} are!-interleaved if P!!" ! Q! ! P!+"

for all ".

Page 50: Topological Inference via Meshing

Definition:

Approximation via interleaving.

Theorem [Chazal et al, ’09]:

Two filtrations, {P!} and {Q!} are!-interleaved if P!!" ! Q! ! P!+"

for all ".

If {P!} and {Q!} are !-interleaved thentheir persistence diagrams are !-close inthe bottleneck distance.

Page 51: Topological Inference via Meshing

The Voronoi filtration interleaves with the offset filtration.

Page 52: Topological Inference via Meshing

The Voronoi filtration interleaves with the offset filtration.

Page 53: Topological Inference via Meshing

The Voronoi filtration interleaves with the offset filtration.

Page 54: Topological Inference via Meshing

The Voronoi filtration interleaves with the offset filtration.

Page 55: Topological Inference via Meshing

The Voronoi filtration interleaves with the offset filtration.

Theorem:

For all ! > rP , V!/"M ! P!

! V!"M ,

where rP is minimum distance betweenany pair of points in P .

Page 56: Topological Inference via Meshing

The Voronoi filtration interleaves with the offset filtration.

Finer refinement yields a tighter interleaving.

Theorem:

For all ! > rP , V!/"M ! P!

! V!"M ,

where rP is minimum distance betweenany pair of points in P .

Page 57: Topological Inference via Meshing

The Voronoi filtration interleaves with the offset filtration.

Finer refinement yields a tighter interleaving.

Theorem:

For all ! > rP , V!/"M ! P!

! V!"M ,

where rP is minimum distance betweenany pair of points in P .

Special case for small scales.

Page 58: Topological Inference via Meshing

Geometric Approximation

Topologically Equivalent

Page 59: Topological Inference via Meshing

Geometric Approximation

Topologically Equivalent

Page 60: Topological Inference via Meshing

The Results

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).**

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Approximation ratio Complex Size

Previous Work

Simple mesh

filtration

Over-refine the mesh

Linear-Size Meshing

1 nO(d)

Page 61: Topological Inference via Meshing

The Results

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).**

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Approximation ratio Complex Size

Previous Work

Simple mesh

filtration

Over-refine the mesh

Linear-Size Meshing

!

1 nO(d)

2O(d2)n log !

Page 62: Topological Inference via Meshing

The Results

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).**

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Approximation ratio Complex Size

Previous Work

Simple mesh

filtration

Over-refine the mesh

Linear-Size Meshing

!

1 nO(d)

2O(d2)n log !=~3

Page 63: Topological Inference via Meshing

The Results

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).**

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Approximation ratio Complex Size

Previous Work

Simple mesh

filtration

Over-refine the mesh

Linear-Size Meshing

Over-refine it.

!

1 + !

1 nO(d)

2O(d2)n log !

!!O(d2)

n log !

=~3

Page 64: Topological Inference via Meshing

The Results

1. Build a mesh M.

2. Assign birth times to vertices based on distance to P (special case points very close to P).**

3. For each simplex s of Del(M), let birth(s) be the min birth time of its vertices.

4. Feed this filtered complex to the persistence algorithm.

Approximation ratio Complex Size

Previous Work

Simple mesh

filtration

Over-refine the mesh

Linear-Size Meshing

Over-refine it.Use linear-size meshing.

!

1 + !

1 + ! + 3"

1 nO(d)

2O(d2)n log !

!!O(d2)

n log !

(!")!O(d2)n

=~3

Page 65: Topological Inference via Meshing

Thank you.