1. Description
This experiment is designed to accept a directionally-blurred image as input, calculate the 2-D Fourier transform, and estimate how the image was linearly blurred using some non-linear techniques in the detection process. This estimate will be used to perform a linear inverse by means of deconvolution of an FIR filter, which can be carried out in the frequency domain.2. Methods
To facilitate the following methods, an image of a wind generator was taken by digital camera and decimated to a 512-by-512 matrix, representing a standard grayscale image. Using 2-D convolution, a shifted copy is superimposed by using a simple two-point filter. The resulting image appears to have a "ghosting", which will be the target of this experiment. It is important that the spatial extent and direction not be provided to the deconvolution algorithm, since part of this experiment is detection, and part is removal of the blur.
The blurred input is analyzed with a 2-D Fourier transform, using a Gaussian-shaped window. The logarithm of the magnitude spectrum has a clear low-frequency ripple, which is a convolutional result of the original blurring which we want to detect and reverse. Therefore, a Fourier transform of this logarithmic magnitude spectrum is further explored. This style of transform is called the cepstrum ("kepstrum"), or more specifically the real cepstrum, since analysis of the phase spectrum is omitted in this experiment.
Through this cepstral analysis, which is able to detect echoes or similar duplication of signal features, isolated points can be seen which identify the directional axis and spatial magnitude of the image blurring. The cepstrum is subtracted from the maximum of its vertical and horizontal low-pass signals, and further non-linear techniques act as a threshold to isolate these single points.
Many non-linear techniques that do this are suitable, and this was an arbitrary choice to extract and locate points of the imaging echo. The technique builds an FIR filter which was a likely origin of the distortion, based on data in the Gaussian window. Since the real cepstrum does not sense all of the variables of blurring, some amount of trial-and-error is required to determine the magnitude and sense of any deconvolutional data points of any blur axis detected.
The results are based on this one sample image, and use of MATLAB to perform Fourier transforms. Since this process starts with a 256 grayscale image, some amount of error due to image quantization is expected. Operations are carried out using double-precision floating point, to minimize this source of error.
To apply linear deconvolution, a complex division is performed in the frequency domain. Although this technique is known to introduce noise and other artifacts, constraining the filter by the non-linear techniques, and applying a lower bound on the denominator are expected to reduce these effects.
3. Results
The original image is first blurred using a linear filter to provide the test data.
| Original Image: | ![]() |
| Blurred Test Input: | ![]() |
Gaussian Window: ![]() |
Windowed Image: ![]() |
Magnitude Spectrum (logarithmic luminosity):![]() |
Real Cepstrum (logarithmic & spatially magnified):
![]() |
Estimated Filter Points: ![]() |
Estimated Filter Response: ![]() |
A Gaussian window is applied, to reduce the effects of frequency leakage. The real cepstrum reveals the points where image ghosting is evident, based on periodicity of the logarithm of the image's magnitude spectrum. The filter response will be factored out of the spectrum.
| Unblurred Test Output: | ![]() |
4. Conclusions
Since this technique can not estimate all of the original convolution parameters, there can be distortions along the extreme edges of the matrix. In this example, we have a minimum phase FIR filter, which turns out to be easy to deconvolve in the frequency domain. The example presented here demonstrates some utility of the cepstrum transform in determining how to detect or remove some types of blur from images.
