Machine Intelligence Laboratory

Cambridge University Department of Engineering

Dr Graham Treece, Department of Engineering


F-GMT11-2: Noise reduction with image-sensitive morphological operators

This is a typical natural image of a boat, with some additional noise added. Removing such noise is a very common image processing operation. There are many ways of doing this: one very recent approach uses morphological operations to process the data. These operations are based around a mask shape, which in this case is fixed to be circular over the whole image Since the image structure varies over the image, it makes sense to allow this mask shape to also vary with the data. In this case more image features have been preserved, but there is also more noise around edges, since the mask shape is affected by noise as well as real structure. In this case only a restricted set of elliptical shapes have been allowed. This reduces the impact of the noise, but it also starts to smooth over small features. Is there an optimal way of selecting possible mask shapes that preserves small features but does not match image noise?

Digital image filters, which replace each pixel in an image with some combination of pixels from a local neighbourhood, are extremely useful in image processing. Of particular note are those which attempt to reduce noise levels in an image whilst preserving the location and extent of any feature gradients, or 'edges'. Multiple linear filters have been developed for this purpose, for instance anisotropic diffusion, non-local means and image-guided filtering. These are all able to automatically adjust whichpixels are used in the local neighbourhood around each pixel to give the best reduced-noise new estimate.

Morphological filters, which rely on data ranking rather than level, have received much less attention. They exist outside the current trends in machine learning since they cannot be represented with convolutions. But they are inherently insensitive to the extent of an edge, which makes them good candidates for edge-preserving filtering. It has recently been demonstrated that bitonic filtering, a morphological filter based on 'opening' and 'closing' operations, performs better than both anisotropic diffusion and non-local means for natural images with various amounts of added noise.

The initial bitonic filter just used a circular mask at every pixel. In the structurally-varying bitonic filter, this was replaced with a locally varying mask. This hugely improved the filter performance, despite the possible mask shapes being constrained to a small range of ellipses. Hence it is the aim of this project to investigate such a filter with a greater variation of mask shapes: the problem is that, if the mask shape is allowed to exactlymatch the image features, it will start to match the noise rather than the actual structure in the image. So what is the optimal amount of mask variation, and how should the mask shape be constrained for best noise performance?

This is an algorithmic development / software project, so experience of writing software is essential, though the development could also be done using Matlab.

Click here for other imaging projects offered by Graham Treece.