Top Banner
Department of Computer Engineering University of California at Santa Cruz Image Noise and Filtering CMPE 264: Image Analysis and Computer Vision Hai Tao
15

Image Noise and Filtering

Jan 14, 2017

Download

Documents

lybao
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Image Noise and Filtering

CMPE 264: Image Analysis and Computer VisionHai Tao

Page 2: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Estimating acquisition noise

Noise introduced by imaging systemSimple model• Assumption: noise at each pixel is independent, characterized by

its mean and standard deviation• Estimating the mean and the standard deviation for each pixel

• For most imaging system,

2/11

0

2

1

0

)),(),((1

1),(

),(1),(

,1,...,0,

⎟⎠⎞

⎜⎝⎛ −

−=

=

−=

=

=

N

kk

N

kk

jiIjiIN

ji

jiIN

jiI

letNjieachFor

σ

σ

5.2≈σ

Page 3: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Estimating acquisition noise

Estimating auto-covariance• In reality, the noise in neighboring pixels is not independent• The correlation is described by auto-covariance• If we assume auto-covariance of noise is the same everywhere in

the image, then

• Example: How to compute for a 10x10 image ?

∑ ∑= =

++−++−=

−=−−=−−=

' '

0 02

''

))','()','())(,(),((1)','(

,1,...,0',',1',1'i jN

i

N

jkkII

ji

jjiiIjjiiIjiIjiIN

jiC

computeNjieachforjNNiNNLet

)1,2(IIC

∑ ∑= =

++−++−=

====7

0

8

02

''

))','()','())(,(),((10

1)1,2(

,1',2',8,7

i jkkII

ji

jjiiIjjiiIjiIjiIC

computejieachforNN

Page 4: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Estimating acquisition noise

Auto-covariance for a typical imaging system. Notice that the covariance along the horizontal direction, which is a characteristic often observed in CCD cameras

Page 5: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Modeling image noise

Additive noise model

Signal-to-noise ratio (SNR), often expressed in decibel

20 dB means

),(),(),(ˆ),(),(

jinjiIjiI

jiIvaluepixeltoaddedjinnoiseRandom

+=

n

sSNRσσ

=

)(log10 10n

sdBSNR

σσ

=

100=n

s

σσ

Page 6: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Modeling image noise

Gaussian noise -white Gaussian, zero-mean stochastic process• White – n(i,j) independent in both space and time• Zero-mean –• Gaussian - n(i,j) is random variable with distribution

Impulsive noise – also called peak, spot, or salt and pepper noise, caused by transmission errors, faulty CCD sites, etc.

are two uniformly distributed random variables

0),( =jiI

2

2

2

21)( σ

πσ

x

exp−

=

⎩⎨⎧

≥−+<

=lxIIyIlxjiI

jiIsp )(),(

),(minmaxmin

]1,0[, ∈yx

Page 7: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Modeling image noise

Example: Gaussian noise and salt and pepper noise, l=0.99

Page 8: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Filtering noise - denoise

Goal: recover fromMethods: linear filtering and nonlinear filteringLinear filtering: replace the original pixel by the weighted sum of its neighboring pixel. The weights are the filter coefficients

),( jiI ),(),(),(ˆ jinjiIjiI +=

∑ ∑−= −=

−−=∗=

×2/

2/

2/

2/),(),(),(

::

m

mh

m

mkA kihiIkhAAIjiI

mm sizekernel,filterAimageoriginalI

Page 9: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Mean filter – smoothing by averaging

The basic assumption is that the noise has higher frequency and the signal has lower frequency. Noise can be canceled by low-pass filteringA averaging filter with m=5 is

Why does it work ?• Explanation in spatial domain: reduce standard deviation by 5• Explanation in frequency domain: suppress high frequency

components since

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

1111111111111111111111111

251

avgA

)()()( AFIFAIF =∗

Page 10: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Gaussian filter

The Fourier transform of a Gaussian kernel is also Gaussian, better low-pass filter than averaging filter

Gaussian kernel is separable, which means 2D Gaussian filtering can be implemented as two 1D Gaussian filtering

∑ ∑

∑ ∑

∑ ∑

−= −=

−−

−= −=

+−

−= −=

−−=

−−=

−−=∗=

2/

2/

2/

2/

22

2/

2/

2/

2/

2

2/

2/

2/

2/

),(

),(

),(),(

2

2

2

2

2

22

m

mh

m

mk

kh

m

mh

m

mk

kh

m

mh

m

mkG

kihiIee

kihiIe

kihiIkhGGII

σσ

σ

2

22

2),( σkh

ekhG+

−=

Page 11: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Gaussian filter

SEPAR_FILTER• Build a 1-D Gaussian filter g, of width• Convolve each row of I with g, yielding a new image Ir

• Convolve each column of Ir with g, yielding a new image IG

Construction of Gaussian filter• In order to subtend 98.76% of the area in the Gaussian function,

for a given , the width of the filter need to be five times of ,or

• Integer filter: Gaussian filter can be implemented efficiently by converting the real numbers into rational numbers with a common denominator: scale the filter so that the smallest components are 1s, replace the other entries with the closest integers

Gg σσ =

σ σσ5=w

Page 12: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Gaussian filter

Example• Filter image with Gaussian

noise• Filter image with salt and

pepper noise

Page 13: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Nonlinear filtering

Median filtering• Algorithm MED_FILTER• For each pixel I(i,j) and its neighborhood,

- Sort its neighboring pixels- Assign the median value to I(i,j)

• Example: with window/mask size

])}2/,2/[,|),({ nnkhkihiI −∈++nn×

10110810118191041019721241021022022191029910021211061051021722

33×

10110810118191041019721241021029721191021029921211061051021722

Page 14: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Median filtering

Example with Gaussian noise• Preserve discontinuity in the

signal. • No contribution from pixels

with large noise• Expensive to compute

Page 15: Image Noise and Filtering

Department of Computer EngineeringUniversity of California at Santa Cruz

Homework

Use Matlab to complete the following experiment• Read in a gray-level image• Add Gaussian noise to the image with • Implement

- 5 by 5 Separable Gaussian filter with - 5 by 5 Median filter

• Turn in - Matlab code for adding noise and the two filtering algorithms- The original image, the image with noise, and the filtering

results- Derivation of the discrete Gaussian filter

10=σ

8.0=σ