Linear Systems Many image processing filtering operations are

  • Slides: 41
Download presentation
Linear Systems • Many image processing (filtering) operations are modeled as a linear system

Linear Systems • Many image processing (filtering) operations are modeled as a linear system δ(x, y) E. G. M. Petrakis Linear System Filtering h(x, y) 1

Impulse Response • System’s output to an impulse δ(x, y) I 0 E. G.

Impulse Response • System’s output to an impulse δ(x, y) I 0 E. G. M. Petrakis Filtering t 2

Space Invariance • g(x, y) remains the same irrespective of the position of the

Space Invariance • g(x, y) remains the same irrespective of the position of the input pulse δ(x-x 0, y-y 0) Space Inv. Syst. h(x-x 0, y-y 0) • Linear Space Invariance (LSI) af 1(x, y)+bf 2(x, y) E. G. M. Petrakis LSI System Filtering ah 1(x, y)+bh 2(x, y) 3

Discrete Convolution • The filtered image is described by a discrete convolution • The

Discrete Convolution • The filtered image is described by a discrete convolution • The filter is described by a n x m discrete convolution mask E. G. M. Petrakis Filtering 4

Computing Convolution • Invert the mask g(i, j) by 180 o – not necessary

Computing Convolution • Invert the mask g(i, j) by 180 o – not necessary for symmetric masks • Put the mask over each pixel of f(i, j) • For each (i, j) on image h(i, j)=Ap 1+Bp 2+Cp 3+Dp 4+Ep 5+Fp 6+Gp 7+Hp 8+Ip 9 E. G. M. Petrakis Filtering 5

Image Filtering • Images are often corrupted by random variations in intensity, illumination, or

Image Filtering • Images are often corrupted by random variations in intensity, illumination, or have poor contrast and can’t be used directly • Filtering: transform pixel intensity values to reveal certain image characteristics – Enhancement: improves contrast – Smoothing: remove noises – Template matching: detects known patterns E. G. M. Petrakis Filtering 6

Template Matching • Locate the template in the image E. G. M. Petrakis Filtering

Template Matching • Locate the template in the image E. G. M. Petrakis Filtering 7

Computing Template Matching • Match template with image at every pixel – distance 0

Computing Template Matching • Match template with image at every pixel – distance 0 : the template matches the image at the current location – t(x, y): template – M, N size of the template E. G. M. Petrakis Filtering 8

background constant correlation: convolution of f(x, y) with t(-x, -y) E. G. M. Petrakis

background constant correlation: convolution of f(x, y) with t(-x, -y) E. G. M. Petrakis Filtering 9

true best match image template noise E. G. M. Petrakis correlation false match Filtering

true best match image template noise E. G. M. Petrakis correlation false match Filtering 10

Observations • If the size of f(x, y) is n x n and the

Observations • If the size of f(x, y) is n x n and the size of the template is m x m the result is accumulated in a (n-m-1) x (n+m-1) matrix • Best match: maximum value in the correlation matrix but, – false matches due to noise E. G. M. Petrakis Filtering 11

Disadvantages of Correlation • • Sensitive to noise Sensitive to variations in orientation and

Disadvantages of Correlation • • Sensitive to noise Sensitive to variations in orientation and scale Sensitive to non-uniform illumination Normalized Correlation (1: image, 2: template): – E : expected value E. G. M. Petrakis Filtering 12

Histogram Modification • Images with poor contrast usually contain unevenly distributed gray values •

Histogram Modification • Images with poor contrast usually contain unevenly distributed gray values • Histogram Equalization is a method for stretching the contrast by uniformly distributing the gray values – enhances the quality of an image – useful when the image is intended for viewing – not always useful for image processing E. G. M. Petrakis Filtering 13

Example • The original image has very poor contrast – the gray values are

Example • The original image has very poor contrast – the gray values are in a very small range • The histogram equalized image has better contrast E. G. M. Petrakis Filtering 14

Histogram Equalization Methods • Background Subtraction: subtract the “background” if it hides useful information

Histogram Equalization Methods • Background Subtraction: subtract the “background” if it hides useful information – f’(x, y) = f(x, y) – fb(x, y) • Static & Dynamic histogram equalization methods – Histogram scaling (static) – Statistical scaling (dynamic) E. G. M. Petrakis Filtering 15

Static Histogram Scaling • Scale uniformly entire histogram range: – – [z 1, zk]:

Static Histogram Scaling • Scale uniformly entire histogram range: – – [z 1, zk]: available range of gray values: [a, b]: range of intensity values in image: scale [a, b] to cover the entire range [z 1, zk] for each z in [a, b] compute – the resulting histogram may have gaps E. G. M. Petrakis Filtering 16

Statistical Histogram Scaling • Fills all histogram bins continuously – pi : number of

Statistical Histogram Scaling • Fills all histogram bins continuously – pi : number of pixels at level zi input histogram – qi : number of pixels at level zi output histogram – k 1= k 2=… : desired number of pixels in histogram bin • Algorithm: 1. Scan the input histogram from left to right to find k 1: – all pixels with values z 1, z 2, …, zk-1 become z 1 E. G. M. Petrakis Filtering 17

Algorithm (conted) 2. Scan the input histogram from k 1 and to the right

Algorithm (conted) 2. Scan the input histogram from k 1 and to the right to find k 2: – • all pixels zk 1, zk 1+1, …, zk 2 become z 2 Continue until the input histogram is exhausted – might also leave gaps in the histogram E. G. M. Petrakis Filtering 18

Noise • Images are corrupted by random variations in intensity values called noise due

Noise • Images are corrupted by random variations in intensity values called noise due to nonperfect camera acquisition or environmental conditions. • Assumptions: – Additive noise: a random value is added at each pixel – White noise: The value at a point is independent on the value at any other point. E. G. M. Petrakis Filtering 19

Common Types of Noise Ø Salt and pepper noise: random occurrences of both black

Common Types of Noise Ø Salt and pepper noise: random occurrences of both black and white intensity values Ø Impulse noise: random occurrences of white intensity values Ø Gaussian noise: impulse noise but its intensity values are drawn from a Gaussian distribution Ø Ø E. G. M. Petrakis noise intensity value: k: random value in [a, b] σ : width of Gaussian models sensor noise (due to camera electronics) Filtering 20

Examples of Noisy Images a. b. c. d. e. Original image Salt and pepper

Examples of Noisy Images a. b. c. d. e. Original image Salt and pepper noise Impulse noise Gaussian noise E. G. M. Petrakis Filtering 21

Noise Filtering • Basic Idea: replace each pixel intensity value with an new value

Noise Filtering • Basic Idea: replace each pixel intensity value with an new value taken over a neighborhood of fixed size – Mean filter – Median filter • The size of the filter controls degree of smoothing – large filter large neighborhood intensive smoothing E. G. M. Petrakis Filtering 22

Mean Filter • Take the average of intensity values in a m x n

Mean Filter • Take the average of intensity values in a m x n region of each pixel (usually m = n) – take the average as the new pixel value – the normalization factor mn preserves the range of values of the original image E. G. M. Petrakis Filtering 23

Mean Filtering as Convolution • Compute the convolution of the original image with –

Mean Filtering as Convolution • Compute the convolution of the original image with – simple filter, the same for all types of noise – disadvantage: blurs image, detail is lost E. G. M. Petrakis Filtering 24

Size of Filter • The size of the filter controls the amount of filtering

Size of Filter • The size of the filter controls the amount of filtering (and blurring). – 5 x 5, 7 x 7 etc. – different weights might also be used – normalize by sum of weights in filter E. G. M. Petrakis Filtering 25

Examples of Smoothing • From left to right: results of 3 x 3, 5

Examples of Smoothing • From left to right: results of 3 x 3, 5 x 5 and 7 x 7 mean filters E. G. M. Petrakis Filtering 26

Median Filter • Replace each pixel value with the median of the gray values

Median Filter • Replace each pixel value with the median of the gray values in the region of the pixel: 1. take a 3 x 3 (or 5 x 5 etc. ) region centered around pixel (i, j) 2. sort the intensity values of the pixels in the region into ascending order 3. select the middle value as the new value of pixel (i, j) E. G. M. Petrakis Filtering 27

Computation of Median Values • Very effective in removing salt and pepper or impulsive

Computation of Median Values • Very effective in removing salt and pepper or impulsive noise while preserving image detail • Disadvantages: computational complexity, non linear filter E. G. M. Petrakis Filtering 28

Examples of Median Filtering • From left to right: the results of a 3

Examples of Median Filtering • From left to right: the results of a 3 x 3, 5 x 5 and 7 x 7 median filter E. G. M. Petrakis Filtering 29

Gaussian Filter • Filtering with a m x m mask – the weights are

Gaussian Filter • Filtering with a m x m mask – the weights are computed according to a Gaussian function: – σ is user defined Example: m=n=7 σ2 = 2 E. G. M. Petrakis Filtering 30

Properties of Gaussian Filtering • Gaussian smoothing is very effective for removing Gaussian noise

Properties of Gaussian Filtering • Gaussian smoothing is very effective for removing Gaussian noise • The weights give higher significance to pixels near the edge (reduces edge blurring) • They are linear low pass filters • Computationally efficient (large filters are implemented using small 1 D filters) • Rotationally symmetric (perform the same in all directions) • The degree of smoothing is controlled by σ (larger σ for more intensive smoothing) E. G. M. Petrakis Filtering 31

Gaussian Mask • A 3 -D plot of a 7 x & Gaussian mask:

Gaussian Mask • A 3 -D plot of a 7 x & Gaussian mask: filter symmetric and isotropic E. G. M. Petrakis Filtering 32

Gaussian Smoothing • The results of smoothing an image corrupted with Gaussian noise with

Gaussian Smoothing • The results of smoothing an image corrupted with Gaussian noise with a 7 x 7 Gaussian mask E. G. M. Petrakis Filtering 33

Computational Efficiency • Filtering twice with g(x) is equivalent to filtering with a larger

Computational Efficiency • Filtering twice with g(x) is equivalent to filtering with a larger filter with • Assumptions E. G. M. Petrakis Filtering 34

E. G. M. Petrakis Filtering 35

E. G. M. Petrakis Filtering 35

Observations • Filter an image with a large Gaussian – equivalently, filter the image

Observations • Filter an image with a large Gaussian – equivalently, filter the image twice with a Gaussian with small σ – filtering twice with a m x n Gaussian is equivalent to filtering with a (n + m - 1) x (n + m - 1) filter – this implies a significant reduction in computations E. G. M. Petrakis Filtering 36

Gaussian Separability E. G. M. Petrakis Filtering 37

Gaussian Separability E. G. M. Petrakis Filtering 37

1 -D Gaussian horizontally • The 1 -D Gaussian vertically order of convolutions can

1 -D Gaussian horizontally • The 1 -D Gaussian vertically order of convolutions can be reversed E. G. M. Petrakis Filtering 38

 • An example of the separability of Gaussian convolution – left: convolution with

• An example of the separability of Gaussian convolution – left: convolution with vertical mask – right: convolution with horizontal mask E. G. M. Petrakis Filtering 39

Gaussian Separability • Filtering with a 2 D Gaussian can be implemented using two

Gaussian Separability • Filtering with a 2 D Gaussian can be implemented using two 1 D Gaussian horizontal filters as follows: – first filter with an 1 D Gaussian – take the transpose of the result – convolve again with the same filter – transpose the result • Filtering with two 1 D Gausians is faster !! E. G. M. Petrakis Filtering 40

a. Noisy image b. Convolution with 1 D horizontal mask c. Transposition d. Convolution

a. Noisy image b. Convolution with 1 D horizontal mask c. Transposition d. Convolution with same 1 D mask e. Transposition smoothed image E. G. M. Petrakis Filtering 41