CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

41
CSE554 Cell Complexes Slide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013

Transcript of CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

Page 1: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 1

CSE 554

Lecture 3: Skeleton and Thinning(Part II)

CSE 554

Lecture 3: Skeleton and Thinning(Part II)

Fall 2013

Page 2: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 2

ReviewReview

• Skeletons

– Centered curves/surfaces

• Approximations of medial axes

– Useful for shape analysis

2D skeletons

3D surface and curve skeletons

Page 3: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 3

ReviewReview

• Thinning on binary pictures

– Removable pixels (voxels)

• Whose removal does not alter the object’s shape or topology

– Strategies

• Serial thinning or parallel thinning

Removal pixels

Thinning

Page 4: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 4

ReviewReview

• Issues (with thinning on a binary picture)

– Difficult to write a 3D thinning algorithm

• E.g., simple voxel criteria, end voxel criteria

– Skeletons can be noisy

• Requires pruning

x

Page 5: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 5

This lecture…This lecture…

• Thinning on a cell complex

– One algorithm that works for shapes in any dimensions (2D, 3D, etc.)

– Generates clean skeletons (pruning is integrated with thinning)

– Based on a recent publication [Liu et al. 2010]

Page 6: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 6

CellsCells

• Geometric elements with simple topology

– k-cell: an element at dimension k

• 0-cell: point

• 1-cell: line segment, curve segment, …

• 2-cell: triangle, quad, …

• 3-cell: cube, tetrahedra, …

– Formally: A k-cell has the topology of a closed k-dimensional ball

• 0-D ball: point

• 1-D ball: edge

• 2-D ball: disk

• 3-D ball: sphere

0-cell 1-cell

2-cell 3-cell

Not a 2-cell

Not a 3-cell

Page 7: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 7

CellsCells

• The boundary of a k-cell (k>0) has dimension k-1

– Examples:

• A 1-cell is bounded by two 0-D points

• A 2-cell is bounded by a 1-D curve

• A 3-cell is bounded by a 2-D surface

0-cell 1-cell

2-cell 3-cell

(boundary is colored blue)

Page 8: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 8

Cell ComplexCell Complex

• Union of cells and their boundaries

– The formal name is CW (closure-finite, weak-topology) Complex

• Precise definition can be found in algebraic topology books

0 0 0

0

1 1

1 12

Page 9: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 9

Cell ComplexCell Complex

• Are these cell complexes?

(this edge is not bounded) (the triangle is not bounded)

Page 10: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 10

Example Cell ComplexesExample Cell Complexes

• 2D

– Polyline

– Triangulated polygon

• 3D

– Triangulated surface

– Tetrahedral volume

0-,1-cells 0-,1-, 2-cells

0-,1-, 2-cells 0-,1-, 2-, 3-cells

Page 11: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 11

Cell Complex from Binary PicCell Complex from Binary Pic

• Representing the object as a cell complex

– Approach 1: create a 2-cell (3-cell) for each object pixel (voxel), and add all boundary cells

• Reproducing 8-connectivity in 2D and 26-connectivity in 3D

Page 12: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 12

• Representing the object as a cell complex

– Approach 2: create a 0-cell for each object pixel (voxel), and connect them to form higher dimensional cells.

• Reproducing 4-connectivity in 2D and 6-connectivity in 3D

Cell Complex from Binary PicCell Complex from Binary Pic

Page 13: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 13

Algorithm: Approach 1Algorithm: Approach 1

• 2D:

– For each object pixel, create a 2-cell (square), four 1-cells (edges), and four 0-cells (points).

• 3D:

– For each object voxel, create a 3-cell (cube), six 2-cells (squares), twelve 1-cells (edges), and eight 0-cells (points).

Page 14: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 14

Algorithm: Approach 1Algorithm: Approach 1

• Handling cells shared by adjacent pixels (voxels)

– Create an array of integers that keeps track of whether a cell is created (e.g., at a pixel, at a pixel’s edge, or at a pixel’s point), and if it is created, the index of the cell.

– Look up this array before creating a new cell

0

0 0 0 0

0

000

0

0 0 0

0

0

000

0

0

0

0

0

0 0 0

0 0

0 0

0

0 0

0

0

Index of 2-cell

Index of 1-cell

Index of 0-cell

Page 15: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 15

Algorithm: Approach 1Algorithm: Approach 1

0

0 0 0 0

0

000

0

0 0 0

0

0

000

0

0

0

0

0

0 0 0

0 0

0 0

0

0 0

0

0

Index of 2-cell

Index of 1-cell

Index of 0-cell

0

0

0 0 0 0

0

000

1 0

0 0 0

0

0

000

0

0 4 0

3 0

1 2 0

3 0

1 2 0

4

0

0

0 0 0 0

0

000

1 2

0 0 0

0

0

000

0

0 4 7

3 6

1 2 5

3 4 6

1 2 5

Page 16: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 16

Algorithm: Approach 2Algorithm: Approach 2

• 2D:

– Create a 0-cell at each object pixel, a 1-cell for two object pixels sharing a common edge, and a 2-cell for four object pixels sharing a common point

• 3D:

– Create a 0-cell at each object voxel, a 1-cell for two object voxels sharing a common face, a 2-cell for four object voxels sharing a common edge, and a 3-cell for eight object voxels sharing a common point

• Follow the note in Approach 1 for storing cell indices

Page 17: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 17

Thinning on Binary PicturesThinning on Binary Pictures

• Iterative erosion of the object that:

– Only removes simple pixels (voxels)

• Whose removal wouldn’t affect the object topology

– Keeps the end pixels (voxels) of skeleton curves and surfaces

• To prevent shrinking of skeleton

Page 18: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 18

Thinning on Cell Complexes Thinning on Cell Complexes

• Remove Simple pairs

– Analogous to simple pixels (voxels) in binary pictures

• Protect Medial cells

– Analogous to end pixels (voxels) in binary pictures

• Advantages:

– Easy to detect in 2D and 3D (same code)

– Medial cells are robust to boundary noise

Page 19: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 19

ProblemProblem

• How can we remove cells from a complex without changing its topology?

Page 20: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 20

Simple PairsSimple Pairs

• Definition

– A pair {x, y} such that y is on the boundary of x, and there is no other cell in the complex with y on its boundary.

xy

{x, y} is a simple pair

y

{x,y} is not a simple pair

x

Page 21: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 21

Simple PairsSimple Pairs

• Definition

– A pair {x, y} such that y is on the boundary of x, and there is no other cell in the complex with y on its boundary.

xy

{x, y} is a simple pair

xy

{x,y} is a simple pair

Page 22: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 22

Simple PairsSimple Pairs

• Definition

– A pair {x, y} such that y is on the boundary of x, and there is no other cell in the complex with y on its boundary.

– In a simple pair, x is called a simple cell, and y is called the witness of x.

• A simple cell can pair up with different witnesses

xy

{x, y} is a simple pair

y

yxy

{x,y} is a simple pair

Page 23: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 23

Simple PairsSimple Pairs

• Removing a simple pair does not change topology

– True even when multiple simple pairs are removed together

• As long as the pairs are disjoint

xy

xyx

y

x y

x1

y1

x2y2

Page 24: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 24

Exhaustive ThinningExhaustive Thinning

• Removing all simple pairs in parallel at each iteration

– Only the topology of the cell complex is preserved

– If a simple cell has multiple witnesses, an arbitrary choice is made

// Exhaustive thinning on a cell complex C

1. Repeat:

1. Let S be all simple pairs in C

2. If S is empty, Break.

3. Remove all cells in S from C

2. Output C

Page 25: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 25

Exhaustive ThinningExhaustive Thinning

• Removing all simple pairs in parallel at each iteration

– Only the topology of the cell complex is preserved

2D example

Page 26: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 26

Exhaustive ThinningExhaustive Thinning

• Removing all simple pairs in parallel at each iteration

– Only the topology of the cell complex is preserved

3D example

Page 27: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 27

Exhaustive ThinningExhaustive Thinning

• Removing all simple pairs in parallel at each iteration

– Only the topology of the cell complex is preserved

A more interesting 2D shape

Page 28: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 28

Exhaustive ThinningExhaustive Thinning

• Removing all simple pairs in parallel at each iteration

– Only the topology of the cell complex is preserved

A 3D shape

Page 29: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 29

Isolated cellsIsolated cells

• A cell x is isolated if it is not on the boundary of other cells

– An isolated k-cell in the complex represents a k-dimensional geometry

• Examples

– Any d-cell in a d-dimensional complex is isolated

– Any simple cell in a simple pair is isolated

Isolated cells are colored

Page 30: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 30

Motivation (2D)Motivation (2D)

• The isolation iteration (I(x)) measures how far the edge x is from the shape boundary (“Thickness”).

• The removal iteration (R(x)) measures how far the edge x is from the lateral end of the shape (“Length”).

I

R

I R

Page 31: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 31

Motivation (2D)Motivation (2D)

• A greater difference between R(x) and I(x) means the local shape around x is more “tubular” (and hence it is more important to include x in the skeleton)

– Absolute difference (R-I): scale

– Relative difference ((R-I)/R): aspect ratio

I

R

R-I 1-I/R

Page 32: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 32

Motivation (3D)Motivation (3D)

• For a 2-cell x that is isolated during thinning:

– I(x), R(x) measures the “thickness” and “width” of shape

– A greater difference means the local shape is more “plate-like”

I

R

R-I: face size

1-I/R: face color

Page 33: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 33

Motivation (3D)Motivation (3D)

• For a 1-cell x that is isolated during thinning:

– I(x), R(x) measures the “width” and “length” of shape

– A greater difference means the local shape is more “tubular”

R-I: edge length

1-I/R: edge color

IR

Page 34: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 34

Medial Cells and ThinningMedial Cells and Thinning

• A cell x is a medial cell if it is isolated and the difference between R(x) and I(x) exceeds given thresholds

– A pair of thresholds is needed for medial cells at each dimension

• 2D: thresholds for medial 1-cells

– t1abs, t1rel

• 3D: thresholds for both medial 1-cells and 2-cells

– t1abs, t1rel

– t2abs, t2rel

• Thinning: removing simple pairs that are not medial cells

– Note: only need to check the simple cell in a pair (the witness is never isolated)

Page 35: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 35

Thinning Algorithm (2D)Thinning Algorithm (2D)

// Thinning on a 2D cell complex C

// Thresholds t1abs and t1rel for medial 1-cells

1. k = 1

2. For all x in C, set I(x) be 0 if x is isolated, NULL otherwise

3. Repeat and increment k:

1. Let S be all simple pairs in C

2. Repeat for each pair {x,y} in S:

1. If x is 1-cell and ( k-I(x)>t1abs and 1-I(x)/k>t1rel ), exclude {x,y} from S.

3. If S is empty, Break.

4. Remove all cells in S from C

5. Set I(x) be k for newly isolated cells x in C

4. Output C

Current iteration

Page 36: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 36

Thinning Algorithm (3D)Thinning Algorithm (3D)

// Thinning on a 3D cell complex C

// Thresholds t1abs and t1rel for medial 1-cells

// Thresholds t2abs and t2rel for medial 2-cells

1. k = 1

2. For all x in C, set I(x) be 0 if x is isolated, NULL otherwise

3. Repeat and increment k:

1. Let S be all simple pairs in C

2. Repeat for each pair {x,y} in S:

1. If x is 1-cell and ( k-I(x)>t1abs and 1-I(x)/k>t1rel ), exclude {x,y} from S.

2. If x is 2-cell and ( k-I(x)>t2abs and 1-I(x)/k>t2rel ), exclude {x,y} from S.

3. If S is empty, Break.

4. Remove all cells in S from C

5. Set I(x) be k for newly isolated cells x in C

4. Output C

Current iteration

Page 37: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 37

Choosing ThresholdsChoosing Thresholds

• Higher thresholds result in smaller skeleton

– Threshold the absolute difference at ∞ will generally purge all cells at that dimension

• Except those for keeping the topology

– Absolute threshold has more impact on features at small scales (e.g., noise)

– Relative threshold has more impact on rounded features (e.g., blunt corners)

t1abs= ∞Skeletons computed at threshold

Page 38: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 38

t1rel= 0.5 t1rel= 0.6 t1rel= 0.7 t1rel= 0.8

T1abs = 1

T1abs = 3

T1abs = 5

T1abs = 7

Page 39: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 39

More ExamplesMore Examples

• 2Dt1abs= ∞

t1rel= 1

t1abs= 4

t1rel= .4

Page 40: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 40

More ExamplesMore Examples

• 3Dt1abs=∞

t1rel=1

t2abs=∞

t2rel=1

t1abs=4

t1rel=.4

t2abs=∞

t2rel=1

t1abs=∞

t1rel=1

t2abs=4

t2rel=.4

t1abs=4

t1rel=.4

t2abs=4

t2rel=.4

Page 41: CSE554Cell ComplexesSlide 1 CSE 554 Lecture 3: Skeleton and Thinning (Part II) Fall 2013.

CSE554 Cell Complexes Slide 41

More ExamplesMore Examples

• 3D t1abs=∞

t1rel=1

t2abs=∞

t2rel=1

t1abs=∞

t1rel=1

t2abs=5

t2rel=.4

t1abs=5

t1rel=.4

t2abs=∞

t2rel=1

t1abs=5

t1rel=.4

t2abs=5

t2rel=.4