Measuring and Representing Holes in Discrete...
Transcript of Measuring and Representing Holes in Discrete...
Measuring and Representing Holes in Discrete Objects
Measuring and Representing
Holes in Discrete Objects
Aldo Gonzalez-Lorenzo
Aix-Marseille Université - CNRS, LIS UMR 7020
March 25, 2019
1 / 38
Measuring and Representing Holes in Discrete Objects
Outline
1 Introduction
2 Background
3 Measuring Holes
4 Representing Holes
5 Applications
6 Conclusion
2 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Outline
1 Introduction
2 Background
3 Measuring Holes
4 Representing Holes
5 Applications
6 Conclusion
3 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Holes ≃ homology
4 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Holes ≃ homology
4 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Holes ≃ homology
4 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Holes ≃ homology
4 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Holes ≃ homology
We can know how many holes there are in an object
We cannot know where or how they are
4 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Size of a hole
The 1st one is bigger than the2nd one
The 2nd one is thicker than the1st one
5 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Size of a hole
The 1st one is bigger than the2nd one
The 2nd one is thicker than the1st one
5 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Size of a hole
The 1st one is bigger than the2nd one
The 2nd one is thicker than the1st one
5 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Representing a hole
Homology Cohomology
6 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Representing a hole
Do homology generators really represent holes?
7 / 38
Measuring and Representing Holes in Discrete Objects
Introduction
Geometry + Topology↓ ↓
Signed distance transform Persistent homology
8 / 38
Measuring and Representing Holes in Discrete Objects
Background
Outline
1 Introduction
2 BackgroundDigital Geometry
Cubical Complexes
Homology
Persistent Homology
3 Measuring Holes
4 Representing Holes
5 Applications
6 Conclusion9 / 38
Measuring and Representing Holes in Discrete Objects
Background
Digital Geometry
Discrete object
A nD discrete object is a subset of Zn
Connectivity relation: 2n or the (3n − 1)-connectivity.10 / 38
Measuring and Representing Holes in Discrete Objects
Background
Digital Geometry
Discrete object
A nD discrete object is a subset of Zn
Connectivity relation: 2n or the (3n − 1)-connectivity.10 / 38
Measuring and Representing Holes in Discrete Objects
Background
Digital Geometry
Discrete object
A nD discrete object is a subset of Zn
Connectivity relation: 2n or the (3n − 1)-connectivity.10 / 38
Measuring and Representing Holes in Discrete Objects
Background
Digital Geometry
Signed distance transform
Let O be a discrete object,
sdtO(x) =
{
−d(x ,Oc) if x ∈ O
d(x ,O) if x /∈ O
Figure: Sublevel sets of the signed distance transform
11 / 38
Measuring and Representing Holes in Discrete Objects
Background
Cubical Complexes
Cubical complex
Union1 of points, edges, squares, cubes, ... (cubes)
1with some conditions12 / 38
Measuring and Representing Holes in Discrete Objects
Background
Cubical Complexes
Cubical complex
Union1 of points, edges, squares, cubes, ... (cubes)
1with some conditions12 / 38
Measuring and Representing Holes in Discrete Objects
Background
Cubical Complexes
Cubical complex
Union1 of points, edges, squares, cubes, ... (cubes)
1with some conditions12 / 38
Measuring and Representing Holes in Discrete Objects
Background
Cubical Complexes
Cubical complex
Union1 of points, edges, squares, cubes, ... (cubes)
1with some conditions12 / 38
Measuring and Representing Holes in Discrete Objects
Background
Cubical Complexes
Cubical complex
Union1 of points, edges, squares, cubes, ... (cubes)
1with some conditions12 / 38
Measuring and Representing Holes in Discrete Objects
Background
Cubical Complexes
Discrete object −→ cubical complex ((3n − 1)-connectivity)
13 / 38
Measuring and Representing Holes in Discrete Objects
Background
Cubical Complexes
Discrete object −→ cubical complex (2n-connectivity)
13 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
Blue: 1-cubeRed: its boundary (faces)
14 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
Blue: 2-cubeRed: its boundary (faces)
14 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
Blue: 1-chainRed: its boundary
15 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
Blue: 1-chain (1-cycle)Red: its boundary (= ∅)
15 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
Blue: 2-chainRed: its boundary (1-cycle)
15 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
Blue: 1-chain (1-cycle, but not boundary)Red: its boundary (= ∅)
15 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
K cubical complex
Chain complex of K
· · ·C3d3−−−→ C2
d2−−−→ C1d1−−−→ C0
d0−−−→ 0
where dqdq+1 = 0 ⇒ im(dq+1) ⊂ ker(dq)
q-dimensional homology groupHq(K ) := ker(dq)/ im(dq+1)
2 = (F2)βq
q-dimensional Betti number: βq
2∀x , y ∈ ker(dq), x ∼ y ⇔ x + y ∈ im(dq+1)
16 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
β0 = # connected components (0-holes)
β1 = # tunnels or handles (1-holes)
β2 = # cavities (2-holes)
Betti numbers are
Topological invariants → classification
Shape descriptors → understanding
17 / 38
Measuring and Representing Holes in Discrete Objects
Background
Homology
β0 = 2, β1 = 2, β2 = 1, β3 = 0, . . .
18 / 38
Measuring and Representing Holes in Discrete Objects
Background
Persistent Homology
Filtration F : K1 ⊂ K2 ⊂ K3 ⊂ · · ·
K1ι−−−−→ K2
ι−−−−→ K3ι−−−−→ · · ·
↓ ↓ ↓H(K1)
ι∗−−−−−→ H(K2)ι∗−−−−−→ H(K3)
ι∗−−−−−→ · · ·
βi ,j = dim(ι : H(Ki ) → H(Kj))number of holes in Ki still in Kj
µi ,j = βi ,j − βi ,j+1 − βi−1,j + βi−1,j+1
number of holes born in Ki and dying in Kj
19 / 38
Measuring and Representing Holes in Discrete Objects
Background
Persistent Homology
20 / 38
Measuring and Representing Holes in Discrete Objects
Background
Persistent Homology
20 / 38
Measuring and Representing Holes in Discrete Objects
Background
Persistent Homology
20 / 38
Measuring and Representing Holes in Discrete Objects
Background
Persistent Homology
20 / 38
Measuring and Representing Holes in Discrete Objects
Background
Persistent Homology
20 / 38
Measuring and Representing Holes in Discrete Objects
Background
Persistent Homology
Persistence pairs
PD(F ) = {(i , j) with multiplicity µi ,j}
We represent PD(F ) with a persistence diagram.
21 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Outline
1 Introduction
2 Background
3 Measuring Holes
4 Representing Holes
5 Applications
6 Conclusion
22 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
β2 = 10
“Full” of holes?
All holes have similar size?
23 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
β2 = 10
“Full” of holes?
All holes have similar size?
Dilate... and erode
23 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Persistent homology with signed distance transform
24 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Persistent homology with signed distance transform
24 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Persistent homology with signed distance transform
24 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Persistent homology with signed distance transform
24 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Persistent homology with signed distance transform
24 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Persistent homology with signed distance transform
24 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Persistent homology with signed distance transform
24 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Thickness and breadth
Let O be a discrete object and F the filtration defined by thesublevel sets of its signed distance transform.Let TB(O) = {(−x , y) ∈ PD(F ) | x ≤ 0, y ≥ 0}.Its intervals are the thickness-breadth pairs of O.
One thickness-breadth pair (t, b) for each hole of O
t is the thickness of the hole and b, its breadth
25 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Thickness-breadth diagram
Thickness-breadth pairs can be represented like persistencediagrams
26 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Thickness-breadth diagram
Thickness-breadth pairs can be represented like persistencediagrams
26 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Thickness-breadth diagram
Thickness-breadth pairs can be represented like persistencediagrams
26 / 38
Measuring and Representing Holes in Discrete Objects
Measuring Holes
Theorem
Let X and Y be two 3D discrete objects. Let us call
δ = dH(X ,Y ) + dH(Z3 \ X ,Z3 \ Y ) + 2
√3
Thus, for every thickness-breadth pair pX = (x , y) of X such thatx , y > δ, there exists another thickness-breadth pair pY = (x ′, y ′)of Y such that
||pX − pY ||∞ ≤ δ
27 / 38
Measuring and Representing Holes in Discrete Objects
Representing Holes
Outline
1 Introduction
2 Background
3 Measuring Holes
4 Representing Holes
5 Applications
6 Conclusion
28 / 38
Measuring and Representing Holes in Discrete Objects
Representing Holes
Sketch of persistent homology computation:
Sort cells according to the filtration
For each cell, associate it with one of the previous ones
Each of these pairs makes a persistence pair
Thickness and breadth ball
Let (t, b) be a TB-pair and (σ, τ) its pair of cells
The thickness ball of (t, b) is the ball of radius t centered at σ
The breadth ball of (t, b) is the ball of radius b centered at τ
29 / 38
Measuring and Representing Holes in Discrete Objects
Representing Holes
30 / 38
Measuring and Representing Holes in Discrete Objects
Representing Holes
30 / 38
Measuring and Representing Holes in Discrete Objects
Representing Holes
30 / 38
Measuring and Representing Holes in Discrete Objects
Representing Holes
We can identify each hole by
Its thickness-breadth pair (unique)
The center of its thickness ball (non unique)
The center of its breadth ball (non unique)
31 / 38
Measuring and Representing Holes in Discrete Objects
Applications
Outline
1 Introduction
2 Background
3 Measuring Holes
4 Representing Holes
5 Applications
6 Conclusion
32 / 38
Measuring and Representing Holes in Discrete Objects
Applications
Given a discrete object O and a TB pair (t, b)
Open the hole: remove voxels from O
Close the hole: add voxels to O to remove the hole
Compute a homology generator
Compute a cohomology generator
Why?
33 / 38
Measuring and Representing Holes in Discrete Objects
Applications
Topological correction
Example
1 Scan an object, segmentate it and computeits TB diagram.
2 Identify “wrong” holes using TB pairs andballs.
3 Open or close them.
34 / 38
Measuring and Representing Holes in Discrete Objects
Applications
Extract relation between holes (1/2)
Example
1 For each hole, close it and see which holes vanish.
2 Represent this with a graph.
3 Compare objects using these graphs.
35 / 38
Measuring and Representing Holes in Discrete Objects
Applications
Extract relation between holes (2/2)
Example
1 For each hole, compute its homology generator.
2 Transform these generators into discrete objects.
3 Extract the relation between these holes.
36 / 38
Measuring and Representing Holes in Discrete Objects
Conclusion
Outline
1 Introduction
2 Background
3 Measuring Holes
4 Representing Holes
5 Applications
6 Conclusion
37 / 38
Measuring and Representing Holes in Discrete Objects
Conclusion
Conclusion:
Topological-geometrical signature of objects.
Robust to noise → suitable for real applications.
Alternative visualization of holes.
Heuristics for minimal openings, closings and (co)homologygenerators.
38 / 38
Measuring and Representing Holes in Discrete Objects
Conclusion
Conclusion:
Topological-geometrical signature of objects.
Robust to noise → suitable for real applications.
Alternative visualization of holes.
Heuristics for minimal openings, closings and (co)homologygenerators.
Thanks! Questions?
38 / 38