02502 Image Analysis Week4 -Neighbourhood...

76
DTU Compute 24. September 2019 02502 - week 4 DTU Compute 24. September 2019 02502– week 4 Tim B. Dyrby ([email protected]) Associate Professor, DTU Compute & Rasmus R. Paulsen ([email protected]) Associate Professor, DTU Compute 02502 Image Analysis Week 4 - Neighbourhood Processing 1 http://courses.compute.dtu.dk/02502/ Plenty of slides adapted from Thomas Moeslunds lectures

Transcript of 02502 Image Analysis Week4 -Neighbourhood...

Page 1: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4DTU Compute24. September 2019 02502– week 4

Tim B. Dyrby ([email protected])Associate Professor, DTU Compute

&Rasmus R. Paulsen ([email protected])Associate Professor, DTU Compute

02502Image AnalysisWeek 4 - Neighbourhood Processing

1

http://courses.compute.dtu.dk/02502/

Plenty of slides adapted from Thomas Moeslunds lectures

Page 2: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Lecture 4Neighbourhood Processing

Page 3: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

What can you do after today?• Describe the difference between point processing and neighbourhood processing• Compute a rank filtered image using the min, max, median, and difference rank filters• Compute a mean filtered image• Decide if median or average filtering should be used for noise removal• Choose the appropriate image border handling based on a given input image• Implement and apply template matching• Compute the normalised cross correlation and explain why it should be used• Apply given image filter kernels to images• Use edge filters on images• Describe finite difference approximation of image gradients including the magnitude and

the direction• Compute the magnitude of the gradient• Describe the concept of edge detection

Page 4: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Page 5: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Point processing

0 2

1 2

1 2 1

2 5 3

1 3

2 2

0 1

1 2 0

2 1 4

1 0 1912

Input Output

• The value of the output pixel is only dependent on the value of one input pixel

• A global operation – changes all pixels

Page 6: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Point processing

n Grey level enhancement– Process one pixel at a time independent of all other pixels– For example used to correct Brightness and Contrast

Too lowcontrastCorrect

Too highcontrast

Too highbrightness

Too lowbrightness

Page 7: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Neighbourhood processing

0 2

1 2

1 2 1

2 5 3

1 3

2 2

0 1

1 2 0

2 1 4

1 0 1912

Input Output

• Several pixels in the input has an effect on the output

Page 8: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Use of filtering

Noise removal Enhance edges Smoothing

• Image processing

• Typically done before actual image analysis

Page 9: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Salt and pepper noise

• Pixel values that are very different from their neighbours

• Very bright or very dark spots• Scratches in X-rays

What is that?

Page 10: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Salt and pepper noise

• Fake example– Let us take a closer look at noise pixels

They are all 0 or 255

Should we just remove all the 0’s and 255’s from the image?

Page 11: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

What is so special about noise?• What is the value of the pixel compared to

the neighbours?• Average of the neighbours

– 170• Can we compare to the average?

– Difficult – should we remove all values bigger than average+1 ?

• It is difficult to detect noise!

172, 169, 171, 168, 0, 169, 172, 173, 168

Page 12: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Noise – go away!

• We can not tell what pixels are noise• One solution

– Set all pixels to the average of the neighbours (and the pixel itself)

• Oh no!– Problems!– The noise “pollutes” the good pixels

172, 169, 171, 168, 169, 172, 173, 168

170

169, 168, 0, 170,173, 170, 172, 170

149

Page 13: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 1: What is the median Value?A) 170B) 173C) 169D) 171E) 172

169, 168, 0, 170,172, 173, 170, 172, 170

0, 168, 169, 170, 170, 170, 172, 172, 173

- - - - -

A B C D E

Page 14: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

The median value

• The values are sorted from low to high• The middle number is picked

–The median value is found at position: (N+1)/2 where N is the count of numbers

169, 168, 0, 170,172, 173, 170, 172, 170

0,168, 169, 170, 170, 170,172, 172,173

Median

Noise has no influence on the median!

Page 15: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 2: What is the median Value?A) 170B) 173C) 169D) 171E) 172

169, 168, 0, 170, 175, 177, 176, 180, 170, 177

Even count of numbers:Median at position: (N+1)/2= 5,5So Median = (170+175)/2= 172,5You then round up or down (In math then round up)

0, 168, 169, 170, 170, 175, 176, 177, 177, 180‘

- - - - -

A B C D E

Page 16: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Noise away – the median filter

• All pixels are set to the median of its neighbourhood

• Noise pixels do not pollute good pixels

172, 169, 171, 168, 0, 169, 172, 173, 168

170

169, 168, 0, 170, 172,173, 170, 172, 170

170

Page 17: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Noise removal – average filter

Scanned X-ray with salt and pepper noise

Average filter (3x3)

Page 18: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Noise removal – median filter

Scanned X-ray with salt and pepper noise

Median filter (3x3)

Page 19: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Image Filtering

• Creates a new filtered image• Output pixel is computed based on a

neighbourhood in the input image• 3 x 3 neighbourhood

– Filter size 3 x 3– Kernel size 3 x 3– Mask size 3 x 3

• Larger filters often used– Size?

• 7 x 7– Number of elements?

• 49

Page 20: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 3: Median filterA) 25B) 90C) 198D) 86E) 103

The image is filtered with a 3 x 3 median filter. What is the result in the pixel marked with a circle?

4, 25, 34, 86, 90, 103, 125, 209, 230

- - - - -

A B C D E

Page 21: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Rank filters

• Based on sorting the pixel values in the neighbouring region

• Minimum rank filter–Darker image. Noise problems.

• Maximum rank filter–Lighter image. Noise problems.

• Difference filter (max-min)

–Enhances changes (edges). Noise problems

0,168, 169, 170, 170, 170,172, 172,173

-

Page 22: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 4: Median filterA) 3B) 84C) 112D) 73E) 202

The image is filtered with a 3 x 3 median filter (medI). The image (the original) is also filtered with a 5x5 minimum rank filter (minI). The final image is made by subtracting minI from medI. What is the result in the marked pixel?

15, 60, 62, 90, 99, 103, 115, 165, 187medI:

15minI:

- - - - -

A B C D E

Page 23: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Correlation

• What is it?• Two measurements

– Low correlation– High correlation

• High correlation means that there is a relationbetween the values

• They look the same• Correlation is a measure of similarity

Low

High

Muscles

Mat

h Sk

ills

Muscles

Benc

h Pr

ess

Page 24: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Why do we need similarity?• Image analysis is also about recognition of patterns• Often an example pattern is used

– Often with some kind of meta data to apply to the targets• We need something to tell us if there is a high match between our

pattern and a part of the image

Example pattern

With meta information

Find matches

Page 25: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Correlation (1D)

1 1 2 2 1 1 2 2 1 1

1 2 1

45

41

1 * 1 + 2 * 1 + 1 * 2 = 5

Normalise!

KernelSignal (1D image)

41

Page 26: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Correlation (1D)

1 1 2 2 1 1 2 2 1 1

1 2 1

45

47

47

45

45

47

47

45

41

Page 27: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Normalisation

1 1 2 2 1 1 2 2 1 1

1 2 1

45

41

1 * 1 + 2 * 1 + 1 * 2 = 5

Normalise!41

• The sum of the kernel elements is used

• Keep the values in the same range as the input image

Sum is 4

Page 28: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Normalisation

• Normalisation factor–Sum of kernel coefficients

1 2 1

!"

ℎ 𝑥 = 1 + 2 + 1

h(x)

Page 29: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Correlation on images

• The filter is now 2D1 1 1

1 1 1

1 1 1

0 2 4

1 2 2

1 6 3

1 2 12 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

912

91

Input Output

Kernel

Kernel coefficients

Page 30: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Correlation on images1 1 11 1 11 1 1

0 2 4

1 2 2

1 6 3

1 2 0

2 1 4

1 0 1

912

911

91

Input Output

1 3 1

2 2 2

0 1 3

1 2 12 5 3

2 1 3

Page 31: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

0 2 4

1 2 2

1 6 3

1 2 0

2 1 4

1 0 1

1 3 1

2 2 2

0 1 3

1 2 12 5 3

2 1 3

Correlation on images

Input Output

The mask is moved row by row

No values at the border!

Page 32: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

1 2 1

1 3 1

1 2 1

-1 -2 -1

0 0 0

1 2 1

Design your filter

Page 33: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 5: Correlation on images – no normalisationA) 4B) 7C) 16D) 23E) 25

1 2 11 3 11 2 1

0 2 41 2 2

1 6 3

1 2 12 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

?- - - - -

A B C D E

Page 34: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 6: Correlation on images – no normalisation 2A) 0,10B) 3, 3C) 6, 2D) 10, 15E) 11, 32

-1 -2 -10 0 01 2 1

0 2 41 2 2

1 6 3

1 2 12 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

?

?- - - - -

A B C D E

Page 35: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Mathematics of 2D Correlation

h

f

Correlation operator

1 2 11 3 11 2 1

0 2 4

1 2 2

1 6 3

1 2 1

2 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

𝑔 𝑥, 𝑦 = 𝑓 𝑥, 𝑦 ∘ ℎ(𝑥, 𝑦)

Page 36: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Mathematics of 2D Correlation

1 2 11 3 11 2 1

0 2 4

1 2 2

1 6 3

1 2 1

2 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

h

f h(0,0)f(2,1)

Example g(2,1)

i = -1, j = -1

i = 1, j = 0

𝑔 𝑥, 𝑦 = !0123

3

!4123

3

ℎ(𝑖, 𝑗) 7 𝑓(𝑥 + 𝑖, 𝑦 + 𝑗)

Page 37: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Mathematics of 2D Correlation

1 2 11 3 11 2 1

0 2 4

1 2 2

1 6 3

1 2 1

2 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

h

f

𝑔 𝑥, 𝑦 = !0123

3

!4123

3

ℎ(𝑖, 𝑗) 7 𝑓(𝑥 + 𝑖, 𝑦 + 𝑗)

𝑔(𝑥, 𝑦) = 1 7 2 + 2 7 0 + 1 7 1 + 1 7 1 + 3 7 4 + 1 7 2 + 1 7 0 + 2 7 1 + 1 7 0

Page 38: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

𝑔 𝑥, 𝑦 = !0123

3

!4123

3

ℎ(𝑖, 𝑗) 7 𝑓(𝑥 + 𝑖, 𝑦 + 𝑗)

𝑔 2,2 =ℎ −1,−1 ⋅ 𝑓 1,1 + ℎ 0,−1 ⋅ 𝑓 2,1 + ℎ 1,−1 ⋅ 𝑓 3,1 +ℎ −1,0 ⋅ 𝑓 1,2 + ℎ 0,0 ⋅ 𝑓 2,2 + ℎ 1,0 ⋅ 𝑓 3,2 +ℎ −1,1 ⋅ 𝑓 1,3 + ℎ 0,1 ⋅ 𝑓 2,3 + ℎ 1,1 ⋅ 𝑓 3,3

Page 39: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

2D Kernel Normalisation

1 2 11 3 11 2 1

h

Normalisation factor:

!"!=ℎ(𝑥, 𝑦)

1+2+1+1+3+1+1+2+1=13

Page 40: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 7: CorrelationA) 50122B) 123001C) 11233D) 2550E) 90454

A template match is done on the image to the left with the template seen to the right. To find the best match the correlation is computed. What is the correlation in the marked pixel?

- - - - -

A B C D E

Page 41: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Smoothing filters

• Also know as – Smoothing kernel, Mean filter, Low pass filter, blurring

• The simplest filter: – Spatial low pass filter– Removes high frequencies

• Another mask: – Gaussian filter

1 1 1

1 1 1

1 1 191

1 2 1

2 4 2

1 2 1161Why Gaussian?

Page 42: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Use of smoothing

3x3 7x7 11x11 15x15

• Various sizes of smoothing filters

Page 43: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Use of smoothing

• Large kernels smooth more• Removes high frequency information• Good at enhancing big structures

3x3 15x15

Page 44: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 8: Mean filter

A) 166B) 113C) 12D) 51E) 245

A 3x3 mean filter is applied to the image. The result in the marked pixel is 86. What is the value of the pixel, where the value is missing?

(608+x*1)/9=86 -> x=166

- - - - -

A B C D E

Page 45: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Border handling

0 2 41 2 2

1 6 3

1 2 12 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

Input Output

No values at the border!

Page 46: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Border handling – extend the input

0 2 41 2 2

1 6 3

1 2 12 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

Input

0 0 0 0 000000

• Zero padding – what happens?

• Zero is black – creates dark border around the image

Page 47: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 9: Correlation with zero paddingA) 5, 8B) 12, 16C) 13, 3D) 15, 21E) 17, 12

1 2 11 3 11 2 1

0 2 41 2 2

1 6 3

1 2 12 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

?

?

- - - - -

A B C D E

000

00

0

0 0 0 0 0 0

000

00

00 0 0 0 0 0

00

00

Page 48: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Border handling – extend the input

Input • Reflection

• Normally better than zero padding

0 2 41 2 2

1 6 3

1 2 12 5 3

2 1 3

1 3 1

2 2 2

0 1 3

1 2 0

2 1 4

1 0 1

1 2 0 1 311211

Page 49: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

What is the connection to deep learning?

https://se.mathworks.com/videos/introduction-to-deep-learning-what-are-convolutional-neural-networks--1489512765771.html

Page 50: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Banks of filters• The part of the network that touches the image consists of a bank of filters

– Organised in a multi-level hierarchy

• The weights of the filters are adapted to the problem

Page 51: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Template Matching• Template

–Skabelon på dansk• Locates objects in images

Input

Template

Output: Correlation image

Page 52: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Template Matching

• The correlation between the template and the input image is computed for each pixel

Input

Template

Output: Correlation image

Page 53: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Template Matching• The pixel with the highest value is found in the output image

–Here is the highest correlation

Input

Template

Output: Correlation image

Page 54: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Template Matching• This corresponds to the found pattern in the input image

Input

Template

Output: Correlation image

Page 55: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Problematic Correlation• Correlation matching has problem with light areas – why?

Input (f)

Template (h)

Output: Correlation image

Real max

Fake max

Very High!𝑔 𝑥, 𝑦 = !0123

3

!4123

3

ℎ(𝑖, 𝑗) 7 𝑓(𝑥 + 𝑖, 𝑦 + 𝑗)

Page 56: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Normalised Cross Correlation

Input (f)

Template (h)

Output: Correlation image

Real max

NCC x, y =Correlation

Length of image patch ⋅ Length of template

Page 57: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Length of template• Vector length

– Put all pixel values into a vector– Compute the length of this vector

• Describes the intensity of the template– Bright template has a large length– Dark template has a small length

Template (h)

Length of template = !0123

3

!4123

3

ℎ(𝑖, 𝑗) 7 ℎ(𝑖, 𝑗)

Page 58: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Length of image patch• Vector length based on pixel values in image patch• Describes the intensity of the image patch

Template (h)

Input (f) with patch

Page 59: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Normalised Cross Correlation• The length of the image patch and the length of template normalise the NCC• If the image is very bright the NCC will be “pulled down”

NCC x, y =Correlation

Length of image patch ⋅ Length of template

Page 60: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Normalised Cross Correlation• NCC will be between

0 : No similarity between template and image patch1 : Template and image patch are identical

Input (f)

Template (h)

Output: Correlation image

Real max

NCC x, y =Correlation

Length of image patch ⋅ Length of template

Page 61: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 10: Normalised Cross CorrelationA) 0.10B) 0.33C) 0.83D) 0.62E) 0.98

A template match using normalised cross correlation is performed. What is the resulting value in the marked pixel?

- - - - -

A B C D E

Page 62: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Edges• An edge is where there is a high change in

gray level values• Objects are often separated from the

background by edges

Gray level profile

Page 63: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

• The profile as a function f(d) in the x-direction• What value is high when there is an edge?

– The slope of f– The slope of the tangent at d

f (d)

𝑓Q(𝑑)

Edges

Page 64: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Finite Difference

• Definition of slope

• Approximation

• Simpler approximation

𝑓Q 𝑑 = limS→U

𝑓 𝑑 + ℎ − 𝑓(𝑑)ℎ

𝑓Q 𝑑 ≈𝑓 𝑑 + ℎ − 𝑓(𝑑)

𝑓Q 𝑑 ≈ 𝑓 𝑑 + 1 − 𝑓(𝑑) ;Where h=1

(Continues functions only )

Page 65: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Edges

• Discrete approximation of f’(d)• Can be implemented as a filter

-1 0 1

f(d-2) f(d-1) f(d) f(d+1) f(d+2) f(d+3)

f (d)

𝑓Q 𝑑 ≈ 𝑓 𝑑 + 1 − 𝑓(𝑑)

Page 66: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Edges in 2D

• Changes in gray level values– Image gradient– Gradient is the 2D derivative of a 2D function f(x,y)– Equal to the slope of the image– A steep slope is equal to an edge

𝛻𝑓 𝑥, 𝑦 = �⃗�(𝑔", 𝑔=)

𝑔"(",=) = 𝑓 𝑥 + 1, 𝑦 − 𝑓 𝑥 − 1, 𝑦𝑔=(",=) = 𝑓 𝑥, 𝑦 + 1 − 𝑓(𝑥, 𝑦 − 1)

Where:

Page 67: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

2D Gradient

magnitude = 𝑔"\ + 𝑔=\

Page 68: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Edge filter kernel

• The Prewitt filter is a typical edge filter• Output image has high values where there

are edges• gx (x,y): Vertical filter• gy(x,y) : Horizontal filter

-1 0 1

-1 0 1

-1 0 1Vertical Prewitt filter i.e. gx

-1 -1 -1

0 0 0

1 1 1

Horizontal Prewitt filter i.e. gy

Page 69: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Prewitt filter

Original Prewitt Prewitt

Hot colormapSmooth 15x15

Smooth 15x15

Prewitt

• Filter direction?

Page 70: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Edge detection

• Edge filter– Prewitt for example

• Thresholding– Separate edges from non-edges

• Output is binary image– Edges are white

Original Gradients thresholding

Page 71: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 11: Edge filtering

A) MeanB) Horizontal SobelC) Vertical PrewittD) Horizontal PrewittE) Median

A filtering (correlation) is done with a filter on the image. No normalisation is performed. The value in the marked pixel becomes -119. What 3 x 3 filter was used?

-1 -2 -1

0 0 0

1 2 1

Horizontal Sobel

- - - - -

A B C D E

Page 72: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Future has become the past:What can you do after today?• Describe the difference between point processing and neighbourhood processing• Compute a rank filtered image using the min, max, median, and difference rank filters• Compute a mean filtered image• Decide if median or average filtering should be used for noise removal• Choose the appropriate image border handling based on a given input image• Implement and apply template matching• Compute the normalised cross correlation and explain why it should be used• Apply given image filter kernels to images• Use edge filters on images• Describe finite difference approximation of image gradients including the magnitude and the direction• Compute the magnitude of the gradient• Describe the concept of edge detection

Page 73: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Neighbourhood ProcessingWhat can it be used for?

Gradients: Micro-image resolution of fiber directions from histology

Budde and Frank, 2012, NeuroImage

Gradients: A key component in non-linear algorithm optimisation

https://en.wikipedia.org/wiki/Gradient_descent#/media/File:Gradient_descent.svg

Page 74: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Next week 5: Morphology

• The science of form, shape and structure• In biology: The form and structure of animals and plants

Common leaf morphologies

Page 75: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 12: Level of todays topic and lectureA) So easy I get a headache of thinking

on that levelB) I have been catchting all PokeMons

while following the lectureC) FineD) Could you please repeat that?E) I did not get any of it?

- - - - -

A B C D E

Page 76: 02502 Image Analysis Week4 -Neighbourhood Processingcourses.compute.dtu.dk/02502/Presentations/02502... · 24. September 2019 DTU Compute 02502 -week4 Noise –go away! •We can

DTU Compute24. September 2019 02502 - week 4

Quiz 13: What did I get out of the day?

A) I learnt very littleB) I did not get so much out of itC) The learning outcome was fineD) I learnt quite muchE) I learnt a lot

- - - - -

A B C D E