texture segmentation - biomedical engineering · introduction to signal and image processing may...

48
Texture Segmentation Introduction to Signal and Image Processing Prof. Dr. Philippe Cattin MIAC, University of Basel May 24th/31st, 2016 May 24th/31st, 2016 Introduction to Signal and Image Processing 1 of 48 22.02.2016 09:20

Upload: others

Post on 30-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

TextureSegmentation

Introduction to Signal andImage Processing

Prof. Dr. Philippe Cattin

MIAC, University of Basel

May 24th/31st, 2016

May 24th/31st, 2016Introduction to Signal and Image Processing

1 of 48 22.02.2016 09:20

Page 2: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Contents

2

4

5

6

7

8

10

12

13

14

15

17

18

19

20

21

22

23

25

26

27

28

30

32

Ph. Cattin: Texture Segmentation

Contents

Abstract

1 Introduction

What is Texture?

What do we need it for?

Characteristics of Textures

Principle of Texture Segmentation Methods

Problems with Texture Segmentation is Scale

2 Feature Extraction

Feature Extraction

2.1 First-Order Histogram Based Features

First-Order Histogram Based Features

Histogram Features

Properties of these Histogram Features

First-Order Texture Feature Example

2.2 Cooccurrence Matrices

Cooccurrence Matrices

The Cooccurrence Matrix

Cooccurrence Matrix Examples

Cooccurrence Matrix Examples (2)

Extensions to the Cooccurrence Matrix

Cooccurrence Matrix Features

Haralick Feature Examples

2.3 Fourier Features

Fourier Features

Fourier Features: Entropy Example

Fourier Features (2)

Disadvantage of the Fourier Features

2.4 Filter Banks

Filter Banks

2.4.1 Laws Filters

Laws Filters May 24th/31st, 2016Introduction to Signal and Image Processing

2 of 48 22.02.2016 09:20

Page 3: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

34

35

36

37

38

40

41

42

43

44

45

46

47

48

50

52

53

55

57

59

61

2.4.2 Gabor Filters

Gabor Filters

Gabor Filter Power Spectrum

Gabor Filter in the Frequency Domain

Gabor Filter Example

2.4.3 Eigenfilters

Eigenfilters

Generalisation of Eigenfilters

Eigenfilter Example

Eigenfilter Example - Periodicity of theTexture

Eigenfilter Example - Extract the SampleVectors

Eigenfilter Example - Calculation of theEigenfilters

Eigenfilter Example - Eigenfilter the FlawedTextile

Eigenfilter Example - Smooth the FilterExample

Eigenfilter Example - Mahalanobis Distance

3 Texture Discrimination

Texture Discrimination

3.1 Region Growing

Region Growing Methods

Region Growing by Pixel Aggregation

3.2 Other Methods

Other Methods

3.3 Reduction of Dimensionality

Reduction of Dimensionality

4 Texture Classification

Texture Classification

5 References

References

May 24th/31st, 2016Introduction to Signal and Image Processing

3 of 48 22.02.2016 09:20

Page 4: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

(2)

Ph. Cattin: Texture Segmentation

Abstract

4 of 48 22.02.2016 09:20

Page 5: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Introduction

May 24th/31st, 2016Introduction to Signal and Image Processing

(4)What is Texture?

The term texture is difficult to define, but it represents aspects of thesurface pattern, such as

coarseness,

directionality,

brightness,

colour,

regularity, and so forth.

Texture is a phenomenon that is widespread, easy torecognise and hard to define. Forsyth/Ponce, 2002.

5 of 48 22.02.2016 09:20

Page 6: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Introduction

(5)

Ph. Cattin: Texture Segmentation

What do we need it for?

Texture features can be used to segmentscenes into parts. In remote sensing it isquite usual to segment scenes intodifferent types of land, such as

forrest,

vineyards,

urban,

streets,

lakes,...

Fig 8.1: Segmentation example

(forrest, cultural land, other),

ETH Zurich

6 of 48 22.02.2016 09:20

Page 7: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Introduction

(6)

Ph. Cattin: Texture Segmentation

Characteristics of Textures

Already form the small set oftextures some differences can beobserved.

(a)+(b) are regular and

contain some basic patter

(texel) that is repeated in

some way (placement rule)

1.

(a)'s texel is larger than (b)'s.

(a) is thus said to be coarser

2.

It is even more subtle, as

texture (a) has subpatterns

(micro-texture) → hierarchical

organisation

3.

Texture (a) has a dominant

diagonal organisation, (b) has

a vertical orientation, (c)+(d)

have no apparent orientation

4.

(a) (b)

(c) (d)

Fig 8.2: Sample textures

7 of 48 22.02.2016 09:20

Page 8: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Introduction

(7)

Ph. Cattin: Texture Segmentation

Principle of TextureSegmentation Methods

Texture analysis methods typically probe for theaforementioned characteristics like regularity, coarseness,and directionality.

Texture analysis can be split in three fundamental steps as shown inFig 8.3.

Feature extraction: Extract the texture measures, that

numerically describe the texture properties

1.

Texture discrimination: partition a textured image into regions,

each corresponding to a perceptually homogeneous texture

2.

Texture classification: determine to which of a finite number of

physically defined classes a homogeneous textured region

belongs

3.

Fig 8.3: Fundamentals steps in texture analysis

8 of 48 22.02.2016 09:20

Page 9: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Introduction

(8)

Ph. Cattin: Texture Segmentation

Problems with TextureSegmentation is Scale

(a) Segment forest, water,...(b) Segment fields, forest,

streets,...

(c) Segment small groups of

trees, grass,...

(d) Segment the leafs(e) Segment structure of

the leaf(f) Segment the cells

9 of 48 22.02.2016 09:20

Page 10: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Feature Extraction

May 24th/31st, 2016Introduction to Signal and Image Processing

(10)Feature Extraction

The approaches to extract the texture measures are typicallycategorised into

statistical,1.

structural,2.

transform, and3.

model-based approaches.4.

Fig 8.4: Typology of the texture measures commonly used in texture analysis

10 of 48 22.02.2016 09:20

Page 11: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

First-Order HistogramBased Features

May 24th/31st, 2016Introduction to Signal and Image Processing

(12)First-Order Histogram BasedFeatures

Given an image of two space variables

and . The function can take the discrete values ,

where is the number of intensity levels in theimage. The intensity level histogram is a

function showing the number of pixels in the wholeimage with this intensity level:

(8.1)

where is the Kronecker delta function

(8.2)

(a)

(b)

Fig 8.5: (a) Texture,

(b) corresponding

histogram

The probability density function (PDF) can be approximated bydeviding by the total number of pixels , thus

11 of 48 22.02.2016 09:20

Page 12: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

First-Order Histogram Based Features

(13)

Ph. Cattin: Texture Segmentation

Histogram Features

The shape of the histogram can subsequently be used to characterisethe image. For example,

a narrowly distributed histogram indicates a low-contrast image,

and

a bimodal histogram often suggests a low contrast object against

a differing background.

To quantitatively describe the image, different parameters (imagefeatures) can be extracted from the histogram.

Mean: Skewness: Energy:

Variance: Kurtosis: Entropy:

12 of 48 22.02.2016 09:20

Page 13: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

First-Order Histogram Based Features

(14)

Ph. Cattin: Texture Segmentation

Properties of these HistogramFeatures

The mean takes the average level of intensity in the image

The variance describes the variation of the intensity around the

mean → is a measure of contrast

The energy is a measure of peakness

The skewness is zero if the histogram is symmetrical about the

mean → indicator of symmetry

The kurtosis is a measure of flatness of the histogram → for

Gaussian shaped histograms

The entropy is a measure of histogram uniformity

The mean and variance do not actually carry directinformation about the texture. They rather depend on theimage acquisition process.

One often gets better texture segmentation performance if theimages are normalised to a mean of and a standarddeviation of .

13 of 48 22.02.2016 09:20

Page 14: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

First-Order Histogram Based Features

(15)

Ph. Cattin: Texture Segmentation

First-Order Texture FeatureExample

(a)

Mean

Variance

Skewness

Kurtosis

Energy

Entropy

(b)

(c) (d)

Fig 8.6: (a) Texture 1, (b) Texture 2, (c) Histogram of texture 1, (d) Histogram of

texture 2

14 of 48 22.02.2016 09:20

Page 15: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

CooccurrenceMatrices

May 24th/31st, 2016Introduction to Signal and Image Processing

(17)Cooccurrence Matrices

The histogram as used in theprevious section capturesintensity information in a highlycompact, but also highlyincomplete way.

As Fig. 8.7 shows, two textureswith a completely different visualappearance can have the samegray-scale histogram.

All information aboutconfigurational aspects of theintensity distribution is lost.

The Cooccurrence matrix,in contrast, is a relateddata structure that baseson second-order statisticsand preserves someaspects of the spatialconfigurations.

(a) Texture 1 (b) Histogram of

texture 1

(c) Texture 2 (d) Histogram of

texture 2

Fig 8.7: Completely different textures can

have the same gray-scale histogram

15 of 48 22.02.2016 09:20

Page 16: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Cooccurrence Matrices

(18)

Ph. Cattin: Texture Segmentation

The Cooccurrence Matrix

The Cooccurrence matrix is in the literaturealso known as the GLCM (Gray-LevelCo-occurrence Matrices), or the Spatialdependence matrix.

Mathematically, the cooccurrence matrix is defined over an image ,parametrised by an offset as

(8.3)

The cooccurrence matrix is extracted for aspecific vector . Fig 8.8: Construction of the

cooccurrence matrix

16 of 48 22.02.2016 09:20

Page 17: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Cooccurrence Matrices

(19)

Ph. Cattin: Texture Segmentation

Cooccurrence MatrixExamples

Fig 8.9: Cooccurrence matrix sample of a texture with a vector ( ) that

does correspond to a period of the texture.

The high values in the cooccurrence matrix are concentrated in acentral location.

17 of 48 22.02.2016 09:20

Page 18: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Cooccurrence Matrices

(20)

Ph. Cattin: Texture Segmentation

Cooccurrence MatrixExamples (2)

Fig 8.10: Cooccurrence matrix sample of a texture with a vector ( )

that does not correspond to a period of the texture.

In contrast to the previous example, the values in the cooccurrencematrix are more smeared out.

18 of 48 22.02.2016 09:20

Page 19: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Cooccurrence Matrices

(21)

Ph. Cattin: Texture Segmentation

Extensions to theCooccurrence Matrix

Several intuitive extension of theCooccurrence matrix are commonly usedin pactice:

To analyse a texture, one can build

several such matrices , each for a

different choice of vector → if the

length of the vector is varied, a

certain degree of scale invariance

could be achieved.

1.

One can also use several vectors at

once and put the results into a single

matrix → vectors of the same length

but with a different orientation

combined results in a rotation

invariant cooccurrence matrix.

2.

Fig 8.11: Rotation invariant

cooccurrence matrix

19 of 48 22.02.2016 09:20

Page 20: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Cooccurrence Matrices

(22)

Ph. Cattin: Texture Segmentation

Cooccurrence Matrix Features

Retaining the entire cooccurrence matrix is not efficient. typically, thewidely spread Haralick features are extracted for later classification:

Energy:

Entropy:

Contrast:

Homogeneity:

Maxprobability:

Energy and entropy are both measures of how concentrated theentries occur. Energy is high if has strong peaks, and the entropyreaches a max if all entries are equal probable.

Contrast and homogeneity are more specifically oriented towards theentries being concentrated near the diagonal (then contrast is smalland homogeneity is large).

20 of 48 22.02.2016 09:20

Page 21: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Cooccurrence Matrices

(23)

Ph. Cattin: Texture Segmentation

Haralick Feature Examples

(a)

Energy

Entropy

Contrast

Homogeneity

Max. Probability

(b)

(d) (e)

21 of 48 22.02.2016 09:20

Page 22: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Fourier Features

May 24th/31st, 2016Introduction to Signal and Image Processing

(25)Fourier Features

Frequency related concepts like a texture beingperiodic or coarse-grained led to features extractedfrom the Fourier power spectrum.

If a texture is highly regular (periodic) it can beexpected to have dominant peaks in its powerspectrum.

To evaluate how strongly peaked a spectrum is, onecan calculate its entropy. The term Entropyoriginates from Physics as was later adapted toInformation Theory and is a measure for theamount of information stored in a particular signal.It is defined as

(8.4)

where is the probability density function (PDF)

estimated with the histogram of thepowerspectrum, is usually 2 yielding the unit bitfor the entropy.

Fig 8.12: Sample

texture

Fig 8.13:

Corresponding

Fourier power

spectrum

22 of 48 22.02.2016 09:20

Page 23: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Fourier Features

(26)

Ph. Cattin: Texture Segmentation

Fourier Features: EntropyExample

Example of the Fourier power spectra and its entropy of fourdifferent textures.

Entropy: Entropy: Entropy: Entropy:

Fig 8.14 Power spectrum and entropy example

23 of 48 22.02.2016 09:20

Page 24: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Fourier Features

(27)

Ph. Cattin: Texture Segmentation

Fourier Features (2)

Other commonly used Fourier features use integratedpower values to assess the textures coarseness and itsdirectionality.

Integration is performed over two different kinds ofregions in the Fourier domain, namely

concentric rings around the origin to assess the

coarseness, and

(8.5)

sectors from the apex to assess the directionality

(8.6)

Fig 8.15:

Fig 8.16:

24 of 48 22.02.2016 09:20

Page 25: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Fourier Features

(28)

Ph. Cattin: Texture Segmentation

Disadvantage of the FourierFeatures

As the Fourier power spectrum is typically calculated over theentire image, these features collect global information insteadof localised texture properties.

25 of 48 22.02.2016 09:20

Page 26: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Filter Banks

May 24th/31st, 2016Introduction to Signal and Image Processing

(30)Filter Banks

A simple but very effective method for extracting texture informationis to convolve the image with a series of convolution filters. Theoutput of these Filter banks are then combined into a feature vectorused for classification.

Fig 8.17: Principle of filter banks

26 of 48 22.02.2016 09:20

Page 27: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Laws Filters

May 24th/31st, 2016Introduction to Signal and Image Processing

(32)Laws Filters

The Laws Filters use a fixed set ofad hoc filters of size , ,and , created by theconvolution of row and columnfilters with coefficients specifiedin Table 8.1.

Usually, the output of these filtersis non-linearly transformed andthen averaged over larger regionsin order to get an energy.

The energies for the differentfilters are then combined into afeature vector, that can be usedfor segmentation or classification.

Tab 8.1: 1D Laws Filter

27 of 48 22.02.2016 09:20

Page 28: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Gabor Filters

May 24th/31st, 2016Introduction to Signal and Image Processing

(34)Gabor Filters

In contrast to the ad hoc chosen Lawfilters, the Gabor filters offer a moreprincipled alternative with a solidmathematical background. The Gaborfilters are constructed by modulating aGaussian curve with a sine function. Thisyields for vertically oriented Gaborfilters:

(8.7)

where the parameter determines

the width of the Gaussian envelope, specifies the frequency of the modulatingcosine, while specifies the phase.

:

Fig 8.18: A Gabor filter profile (in

the spatial domain) with

, and

Filters with other orientations can be easily obtained by applying arigid rotation of the -plane.

28 of 48 22.02.2016 09:20

Page 29: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Gabor Filters

(35)

Ph. Cattin: Texture Segmentation

Gabor Filters

Guesswhat the

PowerSpectrum

of theGaborfilter

looks like

29 of 48 22.02.2016 09:20

Page 30: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Gabor Filters

(36)

Ph. Cattin: Texture Segmentation

Gabor Filter Power Spectrum

The Gabor filter samples the Fourier domain as can be seen from itsFourier transform

(8.8)

where . The

corresponding power spectrum plot isdepicted in Fig 8.19.

The Gabor filter being a product of aGaussian and a cosine, it's Fouriertransform is known to be the convolutionof a Gaussian and a pair of Diracimpulses.

If we rotate the filter, thepositions of these two lobes willundergo the same rotation in thefrequency domain.

Fig 8.19: Fourier power spectrum

of the Gabor filter

30 of 48 22.02.2016 09:20

Page 31: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Gabor Filters

(37)

Ph. Cattin: Texture Segmentation

Gabor Filter in the FrequencyDomain

By increasing the number of parameters, theGaussian lobes can be made elliptical. Fig 8.20shows how the Gaussian profile can be madeelliptical to optimally tessellate the frequencydomain.

Gabor filters provide the best possiblesimultaneous localisation in the spatialand the frequency domain, i.e.

.

Fig 8.20: Gabor filter in

the frequency domain

Fig 8.21: Gabor filter in

the frequency domain

31 of 48 22.02.2016 09:20

Page 32: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Gabor Filters

(38)

Ph. Cattin: Texture Segmentation

Gabor Filter Example

(a) (b) (c)

Fig 8.22: (a) Input texture, (b) output of a Gabor filter tuned to detect horizontal

structures, (c) same for vertical structures.

32 of 48 22.02.2016 09:20

Page 33: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Eigenfilters

May 24th/31st, 2016Introduction to Signal and Image Processing

(40)Eigenfilters

The Laws and Gabor filter banks have fixed coefficients. If a specifictexture should be analysed, it can be interesting to finetune the filterset for this texture.

Basic Idea

Consider a small neighbourhood e.g.

pixels

1.

All 9 pixels in this mask are put in a

9-vector

2.

When shifting the mask over the

image many such samples of this

9-vector are acquired

3.

Calculate the corresponding

covariance matrix

4.

The principal components yield a

new orthogonal basis for these

9-vectors

5.

Arranging the components of all

eigenvectors (principal components)

yields in total 9 convolution filters of

size

6.

Fig 8.23: Principle of the

eigenfilter design

33 of 48 22.02.2016 09:20

Page 34: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Eigenfilters

(41)

Ph. Cattin: Texture Segmentation

Generalisation of Eigenfilters

In most practical cases it is useful to alsotake the scale of the texture intoaccount. This is done by extracting theperiodicity of the pattern with e.g.autocorrelation and then adapting thesize of the filters accordingly.

This will generally result in large andtherefore unpractical convolution masks.A way out is to consider sparse masks,i.e. masks where most of the elementsare set to zero, see Fig 8.24.

Fig 8.24: Structure of the

eigenfilter convolution mask. The

black squares indicate positions

in the convolution mask

that have non-zero coefficients

34 of 48 22.02.2016 09:20

Page 35: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Eigenfilters

(42)

Ph. Cattin: Texture Segmentation

Eigenfilter Example

TaskDevelop a computationally efficient filter that can reliably detectsuch flaws.

Fig 8.25: Textile sample with a flaw

35 of 48 22.02.2016 09:20

Page 36: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Eigenfilters

(43)

Ph. Cattin: Texture Segmentation

Eigenfilter Example -Periodicity of the Texture

%load the flawless image

img=imread('textile.png');

img=double(img(:,:,1));

imshow(img,[]);

% Autocorrelation the image

% with a small patch of itself

r=imfilter(img,img(1:30,1:30));

% plot the 1D graphs in x- and

% y-direction

plot(r(:,100));

plot(r(100,:));

% read out the periodicity

dy = 7; dx = 9;

As the horizontal periodicity wasfound to be pixels and the verticalperiodicity was found as , aconvolution mask of size isused.

To simplify the calculations we try asparse convolution mask with thearrangement as in Fig 8.24.

Fig 8.26: Correct textile sample

  

Fig 8.27: Autocorrelation result in

x-direction   

Fig 8.28: Autocorrelation result in

y-direction

36 of 48 22.02.2016 09:20

Page 37: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Eigenfilters

(44)

Ph. Cattin: Texture Segmentation

Eigenfilter Example - Extractthe Sample Vectors

In the second step we shift the sparsemask over the entire image of theflawless textile image and extract the9-element vectors at each location. Thesesample vectors are then stored in thematrix .

[m n] = size(img);

X=zeros((n-dx)*(m-dy),9);

w=[1 0 0 0 1 0 0 0 1;

0 0 0 0 0 0 0 0 0;

0 0 0 0 0 0 0 0 0;

1 0 0 0 1 0 0 0 1;

0 0 0 0 0 0 0 0 0;

0 0 0 0 0 0 0 0 0;

1 0 0 0 1 0 0 0 1];

w=find(w>0);

[m n] = size(img);

pos=1;

for x=1:n-dx

for y=1:m-dy

tmp=img(y:y+dy-1,x:x+dx-1);

X(pos,:)=tmp(w)';

pos=pos+1;

end

end

Fig 8.29: Extraction of the

sample vectors

37 of 48 22.02.2016 09:20

Page 38: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Eigenfilters

(45)

Ph. Cattin: Texture Segmentation

Eigenfilter Example -Calculation of the Eigenfilters

The Eigenfilters can the easilycalculated with the MATLABfunction princomp.

[pc,score,lambda] =

princomp(X,'econ');

Fig 8.30: Construction of the eigenfilters

38 of 48 22.02.2016 09:20

Page 39: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Eigenfilters

(46)

Ph. Cattin: Texture Segmentation

Eigenfilter Example -Eigenfilter the Flawed Textile

In this step we filter the flawedimage with all the eigenfilterswe previously found.

flawed =

imread('textile_flaw.png');

flawed =

double(flawed(:,:,1));

flawed_flt = zeros(m,n,9);

for i = 1:9

kern = zeros(7,9);

kern(w) = pc(:,i);

flawed_flt(:,:,i) =

imfilter(flawed,kern);

figure,

imshow(flawed_flt(:,:,i),

[]);

end

It can be clearly seen, that theflaw shows up in several of theeigenfiltred images.

Filtered with PC 1

Filtered with PC 2

Filtered with PC 3

Filtered with PC 4

Filtered with PC 5

Filtered with PC 6

Filtered with PC 7

Filtered with PC 8

Filtered with PC 9

39 of 48 22.02.2016 09:20

Page 40: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Eigenfilters

(47)

Ph. Cattin: Texture Segmentation

Eigenfilter Example - Smooththe Filter Example

The aim of this step is to generateimages with more homogeneousintensities.

This is achieved by squaring allvalues and boxfiltering the imagewith a kernel of size .

flawed_pwr = zeros(m,n,9);

for i = 1:9

flawed_pwr(:,:,i) =

imfilter(flawed_flt(:,:,i).^2,ones(5));

figure, imshow(flawed_pwr(:,:,i),[]);

end

Local energy filtered

with PC 1

Local energy filtered

with PC 2

Local energy filtered

with PC 3

Local energy filtered

with PC 4

Local energy filtered

with PC 5

Local energy filtered

with PC 6

Local energy filtered

with PC 7

Local energy filtered

with PC 8

Local energy filtered

with PC 9

40 of 48 22.02.2016 09:20

Page 41: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Eigenfilters

(48)

Ph. Cattin: Texture Segmentation

Eigenfilter Example -Mahalanobis Distance

In this last step, the energy values arecombined into a single distance(Mahalanobis) to the typical energies.For this we need the energies of theflawless textile:

intact_pwr = zeros(m,n,9);

for i = 1:9

kern = zeros(7,9);

kern(w) = pc(:,i);

tmp=imfilter(imfilter(img,kern).^2,ones(5));

figure, imshow(tmp,[]);

intact_pwr(:,:,i) = tmp;

end

then we calculate the Mahalanobisdistance of every point of the defectivetextile to the energy values seen in theflawless textile image.

intact_pwr2 = reshape(intact_pwr,n*m,9);

flawed_pwr2 = reshape(flawed_pwr,n*m,9);

r = mahal(flawed_pwr2,intact_pwr2);

out = reshape(r,m,n);

figure, imshow(out,[]);

Fig 8.31: Mahalanobis distance for

the image in Fig 8.25

41 of 48 22.02.2016 09:20

Page 42: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

TextureDiscrimination

May 24th/31st, 2016Introduction to Signal and Image Processing

(50)Texture Discrimination

In Texture discrimination the extractedtexture measures are analysed and theimage split into regions, eachcorresponding to a perceptuallyhomogeneous texture.

In texture segmentation wealways face the trade-off betweensample size and accuracy. Thebigger the sample size, the betterthe accuracy of featureestimation; however, this allows acoarse segmentation only.

Fig 8.32: Texture segmentation principle: texture

discrimination

Fig 8.33: Texture measures for

small regions or even for

individual pixels are known

Fig 8.34: Regions with similar

texture measures are grouped

together

42 of 48 22.02.2016 09:20

Page 43: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Region Growing

May 24th/31st, 2016Introduction to Signal and Image Processing

(52)Region Growing Methods

Segmentation may be viewed as a process that partitions into subregions, , such that

(a)

(b) is a connected region,

(c) for all and ,

(d) for , and

(e) for

where is a logical predicate over points in the set .

43 of 48 22.02.2016 09:20

Page 44: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

May 24th/31st, 2016Introduction to Signal and Image Processing

Region Growing

(53)

Ph. Cattin: Texture Segmentation

Region Growing by PixelAggregation

The simplest Region growing approach is pixel aggregation, whichstarts with a set of seed points and from these grows regions byappending to each seed point those neighbouring pixels that havesimilar properties i.e. texture measures.

(a) Step 1 (b) Step 2 (c) Step 3 (d) Step 4

Fig 8.35: Region growing by pixel aggregation using an absolute difference of less

than 3 between intensity levels and 4-connectivity

44 of 48 22.02.2016 09:20

Page 45: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Other Methods

May 24th/31st, 2016Introduction to Signal and Image Processing

(55)Other Methods

Below is a list other commonly used texture discrimination methods

Watershed

k-Means clustering

Bayesian classification

Artificial neural networks (ANN)

Estimation Theory - Maximum likelihood

Split-and-Merge

45 of 48 22.02.2016 09:20

Page 46: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Reduction ofDimensionality

May 24th/31st, 2016Introduction to Signal and Image Processing

(57)Reduction of Dimensionality

In many cases it is desirable to prior reduce the dimensionality of theextracted texture measures. PCA is the method of choice as can beseen in Fig 8.36.

Fig 8.36: Successfull dimensionality

reduction with PCA

Fig 8.37: Failed PCA dimensionality

reduction

Beware: in some special cases dimensionality reduction withPCA fails, see Fig 8.37.

46 of 48 22.02.2016 09:20

Page 47: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

Texture Classification

May 24th/31st, 2016Introduction to Signal and Image Processing

(59)Texture Classification

Once the texture features have been extracted and regions withsimilar properties grouped, all that remains is to classify the differentregions into known textures. The following methods are given as areference but will not be discussed in this lecture

Bayesian Decision Theory

Artificial Neural Networks (ANN)

Support Vector Machines (SVM)

Fig 8.38: Texture segmentation principle: Texture classification

47 of 48 22.02.2016 09:20

Page 48: Texture Segmentation - Biomedical Engineering · Introduction to Signal and Image Processing May 24th/31st, 2016 Introduction (6) Ph. Cattin: Texture Segmentation Characteristics

References

May 24th/31st, 2016Introduction to Signal and Image Processing

(61)References

Robert M Haralick, K Shanmugam, Its'hak Dinstein (1973).

"Textural Features for Image Classification". IEEE Transactions

on Systems, Man, and Cybernetics SMC-3 (6): 610-621.

48 of 48 22.02.2016 09:20