Thursday, February 28, 2008

GREYCStoration and Fast Anisotropic Noise Reduction

The link for this can be found here.

From the website:

GREYCstoration is an image regularization algorithm which is able to process a color image by locally removing small variations of pixel intensities while preserving significant global image features, such as edges and corners. The most direct application of image regularization is image denoising. By extension, it can also be used to inpaint or resize images.

GREYCstoration is based on state-of-the-art image processing methods using nonlinear multi-valued diffusion PDE's (Partial Differential Equations). This kind of method generally outperforms basic image filtering techniques (such as convolution, median filtering, etc.), classically encountered in image painting programs. Other comparable image denoising techniques are available (for instance, Noise Ninja, Neat Image ) but are not open-source, and the corresponding algorithms are kept secret. On the contrary, the source code of GREYCstoration is freely available and distributed under the CeCILL License (compatible with the well-known GPL). It gives similar results (not to say better) to existing closed-source denoising filters, and is absolutely free to use. Compared to other PDE-based regularization methods, our approach has several advantages : It performs very fast and is able to preserve thin image details since it works at a sub-pixel accuracy.


The algorithm works by treating the image as a tensor field and then using a trace based PDE(Partial Differential Equation) approach to determine the curvature of each dimension of the image(Red, Green, Blue) everywhere in the image at subpixel accuracy. It then implements this through the use of a line interval convolution numerical method based around Runge-Kutta interpolation. From there it smooths the boundaries within the edges and curves so that the important data is maintained while removing the Chaffe. Examples of all sorts of wicked cool stuff that can be done with it can be found at the website.

There are a few forms available for the algorithm. The two available from the developer are a standalone binary executable in which the direct parameters of the PDE may be manipulated to optimize the output of the image, or there exists a GIMP(GNU Image Manipulation Program) plugin which will allow you to vary the parameters of the standard program plus some others which are not available. It also allows for preview of a section before the entire process is performed.

No comments: