Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label...

102
© Jerry L. Prince Segmentation-1 Classification, Segmentation, Labeling and Modeling: Classical Approaches Jerry L. Prince Image Analysis and Communications Laboratory Johns Hopkins University 1 Slide deck structure and many slides taken from Russell H. Taylor “Segmentation and Modeling” slides. 10/2/2018

Transcript of Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label...

Page 1: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Segmentation-1 Classification, Segmentation, Labeling and

Modeling: Classical Approaches

Jerry L. Prince Image Analysis and Communications

Laboratory Johns Hopkins University

1

Slide deck structure and many slides taken from Russell H. Taylor “Segmentation and Modeling” slides.

10/2/2018

Page 2: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Segmentation & Modeling

2

Images Segmented Images

Models

10/2/2018

Credit: Russell H. Taylor

Page 3: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince 10/2/2018 3 Credit: Eric Grimson

Page 4: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Example: Bone Modeling from CT

10/2/2018 4

CT Slices

Tetrahedral Mesh

Density Function fn

Density Model

Tetrahedral Mesh Simplification

Multiple Resolution

Model

Contours

Credit: Russell H. Taylor

Page 5: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Segmentation Variants • Image segmentation: divide

an image into regions • Voxel classification: cluster

voxel intensities by type • Voxel labeling: identify voxel

anatomy/type by name

10/2/2018 5 © Jerry L. Prince

Object versus background

Gray matter intensities Cortical gyri

Page 6: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Case Study: Cluster histograms on T2

© Jerry L. Prince 6 10/2/2018 Credit: Dzung Pham

Page 7: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Case Study: Cluster histograms on T2

csf

© Jerry L. Prince 7 10/2/2018

Page 8: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Case Study: Cluster histograms on T2

csf

gm

© Jerry L. Prince 8 10/2/2018

Page 9: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Case Study: Cluster histograms on T2

csf

gm

wm

© Jerry L. Prince 9 10/2/2018

Page 10: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince 10/2/2018 10 Credit: Eric Grimson

Page 11: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Classes of Segmentation Approaches • Voxel-based versus boundary-based:

– Voxel-based: voxels are labeled (object vs. background) – Boundary-based: boundaries are identified

• Supervised versus unsupervised: – Supervised: examples are provided – Unsupervised: the data itself provides all information

• Automatic versus semi-automatic – Automatic: no user information provided – Semi-automatic: some user information is provided

10/2/2018 11

Page 12: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Thresholding

Credit: Russell H. Taylor

Page 13: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Thresholding (T>10)

Credit: Russell H. Taylor

Page 14: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Thresholding: T> 9

Credit: Russell H. Taylor

Page 15: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Thresholding: T>11

Credit: Russell H. Taylor

Page 16: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Region Growing

Credit: Russell H. Taylor

Page 17: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Region Growing: Start with T>10

100% sure these are in the object

Page 18: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Region Growing: +/-2 from 10

Seed value = 10 Go around the boundary and include values within 2 of 10 Using nearest neighbor rule = 4-connectivity (not 8-connectivity)

Page 19: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Region Growing: +/-2 from 10 again

Seed value = 10 Go around the boundary and include values within 2 of 10 Region complete

Page 20: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Region Growing: Start with T>10

100% sure these are in the object

An alternative approach looks for differences across the boundary. Kind of like looking for large gradients on the boundary.

Page 21: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Region Growing: (bndy within +/- 2)

Checking along the boundary for weak transitions. Using nearest neighbor rule = 4-connectivity (not 8-connectivity)

Page 22: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Region Growing: (same rule)

Page 23: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Region Growing: (again and again)

Creates a fairly large object. Defined primarily by starting points and boundary tolerance: +/-2 This is a common problem called “weak edges”

Page 24: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

“Partial volume” effects: true object

Credit: Russell H. Taylor

Page 25: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

“Partial volume” effects: digital object

100 100

100

100

100

100

100

100

100

100

100

100

100

90 60

55

55 0

60 0

60

40

90

80

70

45 50 60 98

Credit: Russell H. Taylor

Page 26: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

“Partial volume” effects: problem?

100 100

100

100

100

100

100

100

100

100

100

100

100

90 60

55

55 0

60 0

60

40

90

80

70

45 50 60 98

Credit: Russell H. Taylor

Page 27: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

“Partial volume” effects: segmentation

100 100

100

100

100

100

100

100

100

100

100

100

100

90 60

55

55 0

60 0

60

40

90

80

70

45 50 60 98

Credit: Russell H. Taylor

Page 28: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

“Partial volume” effects: bad topology

100 100

100

100

100

100

100

100

100

100

100

100

100

90 60

55

55 0

60 0

60

40

90

80

70

45 50 60 98

Credit: Russell H. Taylor

Page 29: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

What is Voxel Classification? • Classification = label

each voxel according to the type of tissue that it represents

• Two distinct and important results in medical imaging: – hard classification – soft classification

• Soft classification accounts for partial content of tissues

29

source MR image hard classification

gray matter (GM)

white matter (WM)

cerebro-spinal fluid (CSF)

10/2/2018

Page 30: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Uses of Classification • Automatic brain isolation • Cortical segmentation • Quantification of tissue

volumes – population differences – individual changes in

health and disease

30 10/2/2018

Page 31: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Desirable Properties • Automated; efficient • Accurate and reproducible

• Robust to – noise, – partial volume effects, – intensity shading

• Accommodate variability of anatomy

• Use multiple tissue contrasts when available

31 10/2/2018

Page 32: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Broad Categories • Supervised classification

– uses training data with known labels to partition feature space—e.g., image intensities—into tissue classes

• Unsupervised classification – does not use training data – instead relies on data models and clustering of the feature

space

32 10/2/2018

Page 33: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

• Supervised Classifiers partition a feature space derived from the image by using data with known labels • Known as supervised methods because training data is required • Applicable to multichannel image data, multiple classes

Supervised classifiers

Credit: Dzung Pham

Page 34: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

1) Acquire data 2) Extract feature space 3) Determine number of classes 4) Generate training data 5) Define classifier criteria 6) Apply classifier to data

• Common supervised classifiers: K-NN, decision

trees and random forests, Bayesian classifiers, neural networks, support vector machines

Supervised classifier steps

Page 35: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

• Training data is segmented and labeled data that is used to guide the classifier

• Typically obtained from manual segmentation

Training data

Page 36: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

• Nonparameteric classifier • Classification by a majority vote scheme • k is the number of nearest neighbors from which to

allow a vote

k-Nearest Neighbor classifier

y1

y2

Page 37: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

1) Specify k

2) Determine distance measure

3) Find the k data points within the training data with the smallest distance from the data point to be classified

4) Classify the data point according to a majority vote, set k=k-1 if tie occurs

k-Nearest Neighbor steps •Can carry out:

•on one data point at a time or •on the histogram space of the image:

Page 38: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

• What happens when k is too small?

• What happens when k is too big?

Balancing selection of k

Page 39: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Statistical Supervised Classifiers • Goal: determine posterior probability p(class label | data)

• Refresher (conditional probability)

•How do you determine p(f)?

• Why is Bayes’ theorem useful?

• What is ?

Page 40: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Gaussian supervised classifier

• Assume each class consists of image intensities represented by a Gaussian distribution

• Univariate Gaussian distribution

• Multivariate Gaussian distribution

Page 41: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Gaussian supervised classifier

• Assume each class consists of image intensities represented by a Gaussian distribution

• Univariate Gaussian distribution

• Multivariate Gaussian distribution

3 Gaussian densities

2 Gaussian densities

Page 42: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Gaussian classifier steps

1) Estimate the parameters for each class

where NC is the number of data values in class C. where K is the total number of classes, and Nt is total data values. 2) Assign data to class with largest posterior probability

Page 43: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

• Classifiers that do not require training data

• Typically iterative, in order to train themselves

• Also called clustering algorithms

• Common unsupervised classifiers include K-means, fuzzy C-means, and Gaussian clustering via the EM algorithm

• They require an initialization

• Nonparameteric unsupervised classifiers are difficult to derive

Unsupervised classifiers

Page 44: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

• Also known as the ISODATA algorithm

• K refers to the number of classes, which is assumed to be known

• Formulated as a minimization of a cost function. Find the centroids ¹k and class labels for each j to minimize

• How do you minimize a cost function?

K-means clustering algorithm

Page 45: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

K-means clustering steps 1) Provide initial means for each class

2) Classify each pixel/voxel in the image such that

3) Recompute means

4) Iterate 2 & 3 until small number of pixels change classes or cost function no longer changes

Page 46: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

K-means Example

Page 47: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

K-means Example

Page 48: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

K-means Example

Page 49: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

K-means Example

Page 50: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

K-means Example

Page 51: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Results (K-means)

51

Original

CSF Indicator GM Indicator WM Indicator

10/2/2018

O Brain has already been isolated (segmented!) O Assume there are three classes remaining. O Essentially, classify into three intensity groups

Page 52: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Why “Fuzzy”? • K-means model says that

“non-pure” tissue intensities arise from noise and only noise:

• But in reality, intermediate values also arise from partial voluming

52

CSF GM WM

MPRAGE Histogram

# pi

xels

at g

iven

inte

nsity

There is a substantial number of voxels with “intermediate” intensity values

10/2/2018

Page 53: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Membership Functions • Indicator functions zjk lead to hard classification • Membership functions ujk lead to soft or fuzzy

classification

53

Hard Soft

10/2/2018

Page 54: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Fuzzy K-means • Generalization of K-means that allows for soft

segmentations

• Interpretation based on fuzzy set theory

• Computes membership functions, like characteristic functions in traditional set theory but allow for partial membership within a set

• Membership functions characterize vagueness in data, probability characterizes frequency

Page 55: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Properties of membership values • For membership ujk of pixel j, class k, the following

properties must be satisfied

• Membership values generalize zjk

• Posterior probabilities can be used exactly like membership functions

Page 56: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Fuzzy K-means algorithm • Formulated as the minimization of the following cost

function

• For q=1, equivalent to standard K-means

• For q>1, memberships become more fuzzy

Page 57: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Fuzzy K-means cost function • Minimize with respect to memberships u and means

• Subject to the constraints

Page 58: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Fuzzy K-means results

Image slice Hard classification

Cerebrospinal Fluid Membership

Gray matter Membership

White Matter Membership

Page 59: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Deformable Models / Active Contours / Snakes

• Contours that deform within digital images – 2D: contour = curve – 3D: contour = surface

• Two broad classes – parametric – geometric or implicit

• Competing “forces”: – the contour is driven by “forces”

derived from the image – its shape is controlled by “forces”

that are internal to the snake • Alternative formulations:

– energy minimizing principle – direct dynamical equations

Page 60: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Deformable Surfaces

Credit: Russell H. Taylor

Page 61: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Deformable Surfaces

Credit: Russell H. Taylor

Page 62: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Deformable Surfaces

Credit: Russell H. Taylor

Page 63: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Deformable Surfaces

Credit: Russell H. Taylor

Page 64: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Traditional Active Contour

• Initialize a curve X(s) around or near the object boundary

• Find X(s) that minimizes:

• Where α = 0.001, β = 0.09 and

• How to find X(s)?

0 1 s

X(s)

Page 65: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Dynamic Equation From E-L Equation

• Euler-Lagrange equation

• Make X dynamic: X(s) ! X(s,t)

• Now set “in motion” – gradient descent

• General dynamical equation for snake:

Page 66: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Basic External Forces

• Edge “potential”

• I(x) is the image and Gσ(x) is a Gaussian convolution kernel

• Forces derived from edge potential

• Add pressure forces

Page 67: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince 10/2/2018 67

Page 68: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Deformable Surfaces

Credit: Russell H. Taylor

Page 69: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Deformable Surfaces

Credit: Prince & Davatzikos

Page 70: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Example: Bone Modeling from CT

CT Slices

Tetrahedral Mesh

Density Function fn

Density Model

Tetrahedral Mesh Simplification

Multiple Resolution

Model

Contours

Credit: Yao and Taylor

Page 71: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Bone Structure • Compact bone • Spongy bone • Medullary Cavity Medullary Cavity

Bone Structure

Compact Bone

Spongy Bone

Spongy Bone

Compact Bone

Compact Bone

Medullary Cavity

Credit: Yao and Taylor

Page 72: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Bone Contour Extraction • Deformable Contour Algorithm (Snake) • F = Finternal + Fimage + Fexternal

– Finternal : the spline force of the contour – Fimage : the image force – Fexternal : an external force

• Semi-automatic

Credit: Yao and Taylor

Page 73: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Bone Contour Extraction

Needle graph of Image force Bone Contours Credit: Yao and Taylor

Page 74: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Bone Contour Extraction Closer-up view

Needle graph of Image force Bone Contours Credit: Yao and Taylor

Page 75: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

3D Deformable Surface Model

• Added complexity, time, especially to avoid self-intersection

Commonly done with triangle mesh

© Jerry L. Prince 75

Page 76: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Critique of Parametric Models • Advantages:

– explicit equations, direct implementation – automatic topology control

• Disadvantes: – costly to prevent overlaps – requires reparameterization to space out triangles

© Jerry L. Prince 76

Page 77: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Basic Idea of Geometric Active Contours

• The level set function is usually a signed distance function

• Convention: – positive on

outside – negative on

inside x

y

x

The zero level set

A level set function The parametric curve

© Jerry L. Prince 77

Page 78: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

[Osher & Sethian 88, Caselles 93, & Malladi 95]

-5.50 -4.50 -3.50 -2.50 -1.50 -0.50 0.50 1.50

-4.50 -4.08 -3.26 -2.34 -1.37 -0.40 0.58 1.57

-3.50 -3.26 -2.67 -1.89 -1.03 -0.11 0.82 1.78

-2.50 -2.34 -1.89 -1.25 -0.50 0.33 1.20 2.12

-1.50 -1.38 -1.02 -0.50 0.16 0.90 1.71 2.56

-0.50 -0.40 -0.11 0.33 0.90 1.57 2.31 3.10

0.50 0.58 0.82 1.21 1.71 2.31 2.98 3.72

1.50 1.57 1.78 2.11 2.56 3.10 3.72 4.40

GDM: Geometric Deformable Model • Conventional level set function Á(x,t)

– signed distance function • Change the values of Á move the contour

© Jerry L. Prince 78

Page 79: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Parametric to Geometric [Osher & Sethian 1988]

Level Set PDE:

Contour Deformation:

Define:

Rearrange:

© Jerry L. Prince 79

Page 80: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Philosophy of GDMs • Curve is not parameterized until the end of evolution

– tangential forces are meaningless – forces must be derived from “spatial position” and “time”

because location on the curve is meaningless – Final contour is an “isocurve” (2D) or “isosurface” (3D) – It has a “Eulerian” rather than “Lagrangian” framework

• Speed function incorporates internal and external forces – Design of geometric model is accomplished by selection of

F(x), the speed function – curvature terms takes the place of internal forces

• “Action” is near the zero level set – “narrowband” methods are computationally more efficient

© Jerry L. Prince 80

Page 81: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

General GDM

• So-called “curvature” forces are actually related to the tangential tension ®

• Bending forces require computation of κ3

– rarely used • Advection forces arise from

“force” vectors applied in the normal direction

• Region “forces” arise from prior classification T(x)

• A region force drives the contour outward when inside and inward when outside

• A very useful model encompassing common forces is

© Jerry L. Prince 81

Page 82: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Ventricle Segmentation

© Jerry L. Prince 82

Page 83: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Cortical Surface Segmentation

83 © Jerry L. Prince

Page 84: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Critique of Geometric Deformable Models

• Advantages: – Produce closed, non-self-intersecting contours – Independent of contour parameterization – Easy to implement: numerical solution of PDEs on regular

computational grid – Stable computations

• Disadvantages: – topologically flexible – some numerical difficulties with narrowband and level set

function reinitialization

84 © Jerry L. Prince

Page 85: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Topology Preserving Geometric Deformable Model (TGDM)

• Evolve level set function according to GDM PDE • If level set function is going to change sign, check

whether the point is a simple point – If simple, permit the sign-change – If not simple, prohibit the sign-change – (replace the grid value by epsilon with same sign) – (Roughly, this step adds 7% computation time.)

• Extract the final contour using a connectivity consistent isocontour algorithm

© Jerry L. Prince 85

Page 86: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Nested Deformable Surfaces

Pial Surface

Inner Surface

Central Surface

TGDM-3

Initial WM Isosurface

TGDM-2 TGDM-1

© Jerry L. Prince 86

Page 87: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

TGDM for Inner Surface

Initial WM Isosurface Evolving GM/WM Interface

[Han et al., NeuroImage, 2004]

© Jerry L. Prince 87

Page 88: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince IACL

TGDM for Central Surface

Initialize with GM/WM surface Evolving toward Central Surface

© Jerry L. Prince 88

Page 89: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

TGDM for Outer Surface

Evolving toward Outer Surface Start from Central Surface

© Jerry L. Prince 89

Page 90: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

• In 3D there are three connectivitys: 6, 18, and 26 • Four consistent connectivity pairs: (foreground,background) → (6,18), (6,26), (18,6), (26,6)

3D Digital Connectivity

6-connectivity 18-connectivity 26-connectivity

© Jerry L. Prince 90

Page 91: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Topology Preservation Principle

• Preserving topology is equivalent to maintaining the topology of the digital object

• The digital object can only change topology when the level set function changes sign at a grid point

• To prevent the digital object from changing topology, the level set function should only be allowed to change sign at simple points

[Han et al., PAMI, 2003]

© Jerry L. Prince 91

Page 92: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Simple Point • Definition: a point is simple if adding or removing the

point from a binary object will not change the digital object’s topology

• Determination: can be characterized locally by the configuration of its neighborhood (8- in 2D, 26- in 3D) [Bertrand & Malandain 1994]

Simple Non-

Simple

© Jerry L. Prince 92

Page 93: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

x is a Simple Point

0)( <Φ x

x

0)( >Φ x

x

(Connectivity happens to be irrelevant in this case)

© Jerry L. Prince 93

Page 94: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

x is Not a Simple Point (if n=4)

0)( <Φ x 0)( >Φ xX

X

Digital connectivity assumption is crucial in this case

© Jerry L. Prince 94

Page 95: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Topology Preserving Geometric Deformable Model (TGDM)

• Evolve level set function according to GDM PDE • If level set function is going to change sign, check

whether the point is a simple point – If simple, permit the sign-change – If not simple, prohibit the sign-change – (replace the grid value by epsilon with same sign) – (Roughly, this step adds 7% computation time.)

• Extract the final contour using a connectivity consistent isocontour algorithm

© Jerry L. Prince 95

Page 96: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Marching Cubes Isosurface Algorithm • How to “tile/triangulate”

the zero level set? • Consider values on corners

of voxel (cube) • Label as

– above isovalue – below isovalue

• Determine the position of a triangular mesh surface passing through the voxel – Linear interpolation

> 0.5

< 0.5

Voxel values

© Jerry L. Prince 96

Page 97: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Connectivity Errors

• Multiple meshes – typically solved by selecting the largest mesh

• Touching vertices, edges, and faces – typically solved isovalue choice

• Ambiguous faces and cubes – solved by use of a specially coded connectivity

consistent MC algorithm

Most isosurface codes use rules that lead to connectivity errors

© Jerry L. Prince 97

Page 98: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Ambiguous Faces

Two possible tilings:

© Jerry L. Prince 98

Page 99: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Ambiguous Cubes

Two possible tilings:

© Jerry L. Prince 99

Page 100: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Connectivity Consistent MC

100

• (18,6) choose b, f • (26,6) choose b, e

• (6,18) choose c, f • (6,26) choose c, f

Ambiguous Face

Ambiguous Cube

(a) (b) (c)

(d) (e) (f)

(black,white)

© Jerry L. Prince

Page 101: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Partial Inflation

101 © Jerry L. Prince

Page 102: Classification, Segmentation, Labeling and Modeling ... 1-Prince.pdf · • Classification = label each voxel according to the type of tissue that it represents • Two distinct and

© Jerry L. Prince

Next Lecture on Segmentation: More advanced and modern approaches

• Graph cuts and Markov random fields • Random walker algorithm • Segmentation by registration and multi-atlas

segmentation • Deep networks

10/2/2018 102