image segmentation - stanford university · extremal region: any connected region in an image with...

40
Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 1 Image Segmentation Gray-level thresholding Supervised vs. unsupervised thresholding Binarization using Otsu’s method Locally adaptive thresholding Maximally stable extremal regions Color-based segmentation Region labeling and counting Region moments

Upload: others

Post on 23-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 1

Image Segmentation Gray-level thresholding Supervised vs. unsupervised

thresholding Binarization using Otsu’s method Locally adaptive thresholding Maximally stable extremal regions Color-based segmentation Region labeling and counting Region moments

Page 2: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 2

Gray-level thresholding

Original image Peter f [x,y]

Thresholded Peter m [x,y]

f x, y[ ]⋅m x, y[ ]

How can holes be filled?

Page 3: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 3

How to choose the threshold?

Foreground

pdf

Gray level

Background

Page 4: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 4

Unsupervised thresholding

Idea: find threshold T that minimizes within-class variance of both foreground and background (same as k-means)

Equivalently, maximize between-class variance

[Otsu, 1979]

( ) ( ) ( ) ( ) ( )2 2 2Fgrnd Bgrndwithin Fgrnd Bgrnd

N T N TT T T

N Nσ σ σ= +

( ) ( )

[ ] [ ] [ ]

( )

2 2 2

2 2 2 2 2 2

, , ,

22 2 2

1 1 1, , ,Bgrnd

between within

Fgrd BgrndFgrnd

x y x y Fgrnd x y BgrndFgrd Bgrnd

Fgrnd Bgrnd Fgrnd BgrndFgrnd Bgrnd Fgrnd Bgrnd

T T

N Nf x y f x y f x y

N N N N N

N N N NN N N N

σ σ σ

µ µ µ

µ µ µ µ µ µ

∈ ∈

= −

= − − − − −

= − + + = − + −

∑ ∑ ∑

( )( ) ( ) ( ) ( )( )

2

2

2Fgrnd Bgrnd

Fgrnd Bgrnd

N T N TT T

N

µ

µ µ⋅

= −

Page 5: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 5

Unsupervised thresholding (cont.)

Algorithm: Search for threshold T to maximize

Useful recursion for sweeping T across histogram:

( ) ( )( ) ( )

( ) ( ) ( )( )

( ) ( ) ( )( )

1

1

11

11

Fgrnd Fgrnd T

Bgrnd Bgrnd T

Fgrnd Fgrnd TFgrnd

Fgrnd

Bgrnd Bgrnd TBgrnd

Fgrnd

N T N T n

N T N T n

T N T n TT

N T

T N T n TT

N T

µµ

µµ

+ = +

+ = −

++ =

+

−+ =

+

( ) ( ) ( ) ( ) ( )( )222

Fgrnd Bgrndbetween Fgrnd Bgrnd

N T N TT T T

Nσ µ µ

⋅= −

[Otsu, 1979]

Page 6: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 6

Unsupervised thresholding (cont.)

112T =

Page 7: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 7

Unsupervised thresholding (cont.) 56T =

Page 8: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 8

Unsupervised thresholding (cont.)

168T =

Page 9: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 9

Unsupervised thresholding (cont.)

Page 10: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 11

Sometimes, a global threshold does not work

Original image Thresholded with Otsu’s Method

Page 11: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 12

Locally adaptive thresholding

Slide a window over the image For each window position, decide whether to

perform thresholding Thresholding should not be performed in uniform

areas Use variance or other suitable criterion

Non-uniform areas: apply Otsu’s method (based on local histogram)

Uniform areas: classify the entire area as foreground or background based on mean value

Page 12: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 13

Locally adaptive thresholding (example)

Non-uniform areas Local threshold values Locally thresholded result

Page 13: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 14

Maximally stable extremal regions

Extremal region: any connected region in an image with all pixel values above (or below) a threshold

Observations: Nested extremal regions result when the threshold is successively raised (or lowered). The nested extremal regions form a “component tree.”

Key idea: choose thresholds θ such that the resulting bright (or dark) extremal regions are nearly constant when these thresholds are perturbed by +/-Δ

“maximally stable” extremal regions (MSER)

[Matas, Chum, Urba, Pajdla, 2002]

Page 14: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 15

MSERs: illustration

θ θ+Δ

θ-Δ

Aθ-Δ

Aθ+Δ

Local minimum of Aθ−∆ − Aθ+∆

→ MSER

[Matas, Chum, Urba, Pajdla, 2002]

Page 15: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 16

Level sets of an image 1 1 1 1 1 1 1 1 1 1 1 5 4 4 81 7 6 4 2 2 3 3 3 3 1 5 4 4 8

1 7 6 4 2 2 3 3 3 3 1 5 4 4 81 7 6 4 2 2 3 3 3 3 1 5 4 4 81 7 6 4 2 2 5 5 5 5 1 5 4 4 8

1 6 6 4 2 2 5 5 5 6 1 5 4 4 41 6 6 4 2 2 6 6 6 6 1 5 5 5 51 4 4 4 2 2 6 6 6 6 1 5 5 5 5

1 1 1 1 1 2 6 1 1 1 1 2 2 2 21 8 8 5 1 2 6 1 7 7 1 2 2 2 21 8 8 5 1 1 1 1 7 7 1 1 1 1 2

1 8 8 5 5 5 3 3 7 7 1 1 1 1 21 8 8 5 5 3 3 3 7 7 7 1 1 1 21 8 8 5 5 3 3 3 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[ , ]f x y

Image

[ , ] 0f x y >[ , ] 1f x y >[ , ] 2f x y >[ , ] 3f x y >[ , ] 4f x y >[ , ] 5f x y >[ , ] 6f x y >[ , ] 7f x y >[ , ] 8f x y >

Level Set

Page 16: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 17

Component tree of an image

Local minima of sequence Aθ−∆ − Aθ+∆

θ = ∆, ∆ +1, K → MSERs

a A0=225

b

A1=67

c

A1=43

d

A1=36

e

A2=21

f

A2=30

g

A2=32

d

A2=36

h

A3=18 A3=19

i

A3=9

j

k A4=12 A4=14

l

n A5=11

o

A5=10

p

A6=4

m

A4=5

e

A3=21

g

A3=32

h

A4=18

k A5=12

A4=19

i

Page 17: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 18

MSER: examples

Bright MSERs, Δ=15 Original image Dark MSERs, Δ=15

Page 18: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 19

MSER: examples

Bright MSERs, Δ=15 Original image Dark MSERs, Δ=15

Page 19: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 21

Supervised thresholding

error probability

Background

Foreground

pdf

Gray level

Page 20: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 22

Supervised thresholding

error probability

Background

Foreground

“MAP (Maximum A Posteriori) detector”

If errors BGFG and FGBG are associated with different costs: “Bayes minimum risk detector” is optimal.

pdf

Gray level

Page 21: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 23

Multidimensional MAP detector

Training Provide labelled set of training data Subdivide n-dimensional space into small bins Count frequency of occurrence for each bin and class

in training set, label bin with most probable class (Propagate class labels to empty bins)

For test data: identify bin, look up the most probable class

Page 22: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 24

MAP detector in RGB-space

Original image Skin color detector

Five training images

Skin Samples

Non-skin Samples

Page 23: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 26

Linear discriminant function

To segment image with n components fi, i=1,2,…,n into two classes, perform test

Categories are separated by hyperplane in n-space Numerous techniques to determine weights

wi, i=0,1,2,…,n, see, e.g., [Duda, Hart, Stork, 2001] Can be extended to the intersection of several linear

discrimant functions Can be extended to multiple classes

0 0 ?i ii

w f w+ ≥∑

Page 24: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 27

Chroma keying

Page 25: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 28

Landsat image processing

Original Landsat image false color picture out of bands 4,5,6

Water area segmented and enhanced to show sediments

Source: US Geological Survey USGS, http://sfbay.wr.usgs.gov/

Page 26: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 29

Region labeling and counting

How many fish in this picture?

Which pixels belong to the same object (region labeling)? How large is each object (region counting)?

after thresholding Original Fish image

Page 27: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 30

4-connected and 8-connected neighborhoods

Definition: a region is a set of pixels, where each pixel can be reached from any other pixel in the region by a finite number of steps, with each step starting at a pixel and ending in the neighborhood of the pixel.

Typically, either definition leads to the same regions, except when

a region is only connected across diagonally adjacent pixels.

4-neighborhood 8-neighborhood

Page 28: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 31

Region labeling algorithm (4-neighborhood)

Loop through all pixels f [x,y], left to right, top to bottom If f [x,y]=0, do nothing. If f [x,y]=1, distinguish 4 cases

Second pass through image to replace equivalent label by the

same label.

Generate new region label

Copy label from above

Copy label from the left

Copy label from the left. If labels above and to the left are

different, store equivalence.

Page 29: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 32

Region labeling example (4-neighborhood)

List of Region Labels 1 1

1

2

2

2 2

2 2

3 3

3

All three labels are equivalent, so merge

into single label.

3 3 3

Page 30: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 33

Region labeling example (4-neighborhood)

List of Region Labels 1

1

1

1

1 1

1 1

1 1 1 1 1

Page 31: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 34

Example: region labeling

20 labeled regions Thresholded image

Page 32: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 35

Region counting algorithm

Measures the size of each region Initialize counter[label]=0 for all label Loop through all pixels f [x,y], left to right, top to bottom

If f [x,y]=0, do nothing.

If f [x,y]=1, increment counter[label[x,y]]

Page 33: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 36

Small region removal

Loop through all pixels f [x,y], left to right, top to bottom If f [x,y]=0, do nothing.

If f [x,y]=1 and counter[label[x,y]]<S, set f [x,y]=0 Removes all regions smaller than S pixels

Page 34: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 37

Hole filling as dual to small region removal Mask with holes

After NOT operation, (background) region labeling, small region removal,

and second NOT operation

Page 35: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 39

Region moments

Raw moments

Central moments

Region orientation and eccentricity: calculate eigenvectors of covariance matrix

, Region

p qpq

x yM x y

= ∑

( ) ( ) 10 01

, Region 00 00

with and p qpq

x y

M Mx x y y x yM M

µ∈

= − − = =∑

µ20 µ11

µ11 µ02

Page 36: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 40

Example: Detecting bar codes

Original Image

Page 37: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 41

Example: Detecting bar codes Locally adaptive

thresholding

Page 38: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 42

Example: Detecting bar codes Locally adaptive

thresholding

Filtering by eccentricity

Page 39: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 43

Example: Detecting bar codes Locally adaptive

thresholding

Filtering by eccentricity

Filtering by major axis length

Page 40: Image Segmentation - Stanford University · Extremal region: any connected region in an image with all pixel values above (or below) a threshold Observations: Nested extremal regions

Digital Image Processing: Bernd Girod, © 2013 Stanford University -- Image Segmentation 44

Example: Detecting bar codes Locally adaptive

thresholding

Filtering by eccentricity

Filtering by major axis length

Filtering by orientation