Neuronal Computation Using High Order Statistics

Download Report

Transcript Neuronal Computation Using High Order Statistics

DCSP-22

Jianfeng Feng

Department of Computer Science Warwick Univ., UK [email protected]

Norbert Wiener

The RGB format stores three color values, R, G and B, for each pixel.

RGB = imread(‘bush.png'); size(RGB) ans = 1500 1200 3 imshow(RGB)

Wiener Filter

Recorded signal x(n,m) = s(n,m) + x (n,m) True Signal noise for example, an image of 1500 X1200

RGB = imread(‘bush.png'); I = rgb2gray(RGB); J = imnoise(I,'gaussian',0,0.005); figure, imshow(I), figure, imshow(J)

To find a constant a such that E ( a(m,n) x(m,n) – s(m,n) ) 2 as small as possible y(m,n) = a(m,n) x(m,n) Different from the filter before, a(m,n) depends on (m,n) :

Adapted filter

 ) 2  ( 2

E a x

2  2

axs

s

2 )  2

a Ex

2  2

aExs

Es

2 The quanttity above is minimized if the derivative of it with respect to a is zero 2

aEx

2

a

Exs Ex

2  2

Exs

Es

2  0   x

E

x )

s

2

We assume that Es=0 E x =0 and S, x are independent

Algorithm

• wiener2 lowpass-filters an intensity image that has been degraded by constant power additive noise. • wiener2 uses a pixelwise adaptive Wiener method based on statistics estimated from a local neighborhood of each pixel.

• wiener2 estimates the local mean and variance around each pixel   1

NM

,  2  2  1

NM

,  2 ( , 1 2 ) 2 ( , 1 2 )   2 where summation is over an area of N and M 1 X 1 area (N=1,M=1)

The filtered output is given by ( , 1 2 )  2   2

E

x 2 ( ( , 1 2 )   ) Note that the coefficient a depends on the position

RGB = imread(‘bush.png'); I = rgb2gray(RGB); J = imnoise(I,'gaussian',0,0.005); K = wiener2(J,[5 5]); figure, imshow(J), figure, imshow(K)

How to implement Wiener filter in one dimension?

Our Wiener filter depends on only the current input, more generally we could develop an ARMA filter which is called Kaman filter and is widely used in many areas