
Non-local means is an algorithm in image processing for
image denoising. Unlike "local mean" filters, which take the
mean
A mean is a quantity representing the "center" of a collection of numbers and is intermediate to the extreme values of the set of numbers. There are several kinds of means (or "measures of central tendency") in mathematics, especially in statist ...
value of a group of pixels surrounding a target pixel to smooth the image, non-local means filtering takes a mean of all pixels in the image, weighted by how similar these pixels are to the target pixel. This results in much greater post-filtering clarity, and less loss of detail in the image compared with local mean algorithms.
If compared with other well-known denoising techniques, non-local means adds "method noise" (i.e. error in the denoising process) which looks more like
white noise, which is desirable because it is typically less disturbing in the denoised product. Recently non-local means has been extended to other image processing applications such as
deinterlacing
Deinterlacing is the process of converting interlaced video into a non-interlaced or Progressive scan, progressive form. Interlaced video signals are commonly found in analog television, VHS, Laserdisc, digital television (HDTV) when in the 1080 ...
, view interpolation, and depth maps regularization.
Definition
Suppose
is the area of an image, and
and
are two points within the image. Then, the algorithm is:
:
where
is the filtered value of the image at point
,
is the unfiltered value of the image at point
,
is the weighting function, and the integral is evaluated
.
is a normalizing factor, given by
:
Common weighting functions
The purpose of the weighting function,
, is to determine how closely related the image at the point
is to the image at the point
. It can take many forms.
Gaussian
The
Gaussian weighting function sets up a normal distribution with a mean,
and a variable standard deviation:
:
where
is the filtering parameter (i.e., standard deviation) and
is the local mean value of the image point values surrounding
.
Discrete algorithm
For an image,
, with discrete pixels, a discrete algorithm is required.
:
where, once again,
is the unfiltered value of the image at point
.
is given by:
:
Then, for a Gaussian weighting function,
:
where
is given by:
:
where
and is a square region of pixels surrounding
and
is the number of pixels in the region
.
Efficient implementation
The
computational complexity of the non-local means algorithm is quadratic in the number of pixels in the image, making it particularly expensive to apply directly. Several techniques were proposed to speed up execution. One simple variant consists of restricting the computation of the mean for each pixel to a search window centred on the pixel itself, instead of the whole image. Another approximation uses
summed-area tables and
fast Fourier transform
A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
to calculate the similarity window between two pixels, speeding up the algorithm by a factor of 50 while preserving comparable quality of the result.
See also
*
Anisotropic diffusion
In image processing and computer vision, anisotropic diffusion, also called Perona–Malik diffusion, is a technique aiming at reducing image noise without removing significant parts of the image content, typically edges, lines or other details t ...
*
Digital image processing
*
Noise reduction
Noise reduction is the process of removing noise from a signal. Noise reduction techniques exist for audio and images. Noise reduction algorithms may distort the signal to some degree. Noise rejection is the ability of a circuit to isolate an u ...
*
Nonlocal operator
*
Signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
*
Total variation denoising
In signal processing, particularly image processing, total variation denoising, also known as total variation regularization or total variation filtering, is a noise removal process ( filter). It is based on the principle that signals with excess ...
*
Bounded variation
In mathematical analysis, a function of bounded variation, also known as ' function, is a real number, real-valued function (mathematics), function whose total variation is bounded (finite): the graph of a function having this property is well beh ...
*
Total variation
In mathematics, the total variation identifies several slightly different concepts, related to the (local property, local or global) structure of the codomain of a Function (mathematics), function or a measure (mathematics), measure. For a real ...
References
External links
Recent trends in denoising tutorialNon-local image denoising, with code and online demonstrationPatents citing 2005 IEEE paper where NLM was claimed as a new technique
{{Noise, state=uncollapsed
Image processing
Image noise reduction techniques