Wiener deconvolution

From Wikipedia, the free encyclopedia

Wiener deconvolution is an application of the Wiener filter to the noise problems inherent in deconvolution. It works in the frequency domain, attempting to minimize the impact of deconvoluted noise at frequencies which have a poor signal to noise ratio.

The Wiener deconvolution method has widespread use in image deconvolution applications, as the frequency spectrum of most visual images is fairly well behaved and may be estimated easily.

Contents

[edit] Definition

The Wiener deconvolution filter, used as a substitute for a filter that performs the inverse of a known point spread function (PSF), has a value at frequency x of:

G(x) = \frac{H(x)S(x)}{ {{|H(x)|}^2}{S(x)} + N(x) }
Where H is the known PSF, S is the expected signal strength, and N is the expected noise strength.

When both the spectral content of the expected image can be estimated (for instance, photographs usually have very strong low frequencies and weak high frequencies), as well as that of the noise (which often has a very flat frequency response), the Wiener filter is used to attenuate those frequencies according to their signal to noise ratio. As N gets large with respect to S, the value for the Wiener deconvolution filter approaches zero.

When used in deconvolution, the output signal (the deconvoluted image) is obtained as the per-frequency product of the Wiener deconvolution and the input signal:

O(x) = G(x)I(x)^{}_{}
Where I is the frequency response of the input (convoluted and noisy) signal, and O is the frequency response of the output signal.

The signal itself may be obtained by way of Fourier transformation of its frequency response.

[edit] Derivation

The Wiener deconvolution is designed to minimize the mean squared error produced by the deconvolution of noise. The frequency response of the convoluted signal (S) is the product of the original signal with the frequency response of the PSF (H), after which some noise (N) is unavoidably added to the signal:

S(x)H(x) + N(x)^{}_{}

Deconvolution attempts to recover the original signal. Simply using the inverse filter of the PSF creates problems, because typically the PSF has very weak high frequencies, which when inverted become very strong, amplifying the noise significantly at those frequencies:

\Big( S(x)H(x) + N(x) \Big) \frac{1}{H(x)} = S(x) + \frac{N(x)}{H(x)}

The Wiener filter replaces the inverse PSF. Let G be this replacement that will minimize error:

\epsilon = \Big( S(x)H(x) + N(x) \Big) G(x) - S(x)

The minimum of the squared error may be found at the point where its derivative (with respect to G) is zero, which produces:

G(x) = \frac{S(x)}{S(x)H(x)+N(x)}

This, however, is an extremely ideal deconvolution filter which assumes you already know the exact frequency spectrum of the present signal and noise. In reality, S and N are only estimated, and only positive values are used, accounting for the usual formula used above. Even with rough estimates, however, the improvement over direct deconvolution by the inverse PSF is usually very significant.

[edit] See also

[edit] References

  • Rafael Gonzalez, Richard Woods, and Steven Eddins. Digital Image Processing Using Matlab. Prentice Hall, 2003.

[edit] External links