Big Logo

List of Student Projects


Adaptative Spline Smoothing

Thomas Peter
Microtecnique Deparment


Semester Project

February-June 2001


Abstract

Smoothing is one of the most useful operators in image processing. A classic implementation of the operator is the 'moving average' where the size of the sliding window is limited to the odd integers for a fast implementation. We have developed a novel smoothing algorithm that acts as a weighted mean filter of arbitrary size. The smoothing is done by the convolution of the input image with a rescaled B-spline.

A modification of the method consistes in making it adaptive by choosing a different size of the convolving B-spline for each pixel of the input image. As the algorithm works, it needs a second input image specifying the scale value corresponding to each pixel. We have found that an interesting choice is to use the inverse of the gradient of the input image as scale image for the denoising. After the smoothing, the edges will be preserved which is very desirable as they carry a lot of information. Besides, the noise will be heavily reduced in the low frequency regions where the human visual system is highly perceptible to it.

Examples


Original Image

Inverse Gradient as Input for the Scales

Filtered Image

Difference (SNR=16.030 dB)

Original Image

Fixed size B-spline

Filtered Image

Difference (SNR=13.856 dB)

Conclusion

The smoothing operator we have proposed acts as a modified 'á trous' filter. The method is quite flexible. As we can choose the degree of the interpolation for the input image and the degree and size of the smoothing spline. A nice feature of the algorithm is that the computational cost is independent of the scaling factor. This property is the one that makes feasible the design of an adaptive smoothing algorithm. The implementation is relatively fast as the values of the 'á trous' filter are pre-calculated and stored in a look-up table. The number of applications of the adaptive smoothing algorithm are huge and many of them, still for discover. As part of the project work, we have applied the method to denoising and feature detection.