Non-local means
Non-local means is an algorithm in image processing for image denoising. Unlike "local mean" filters, which take the mean 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.[1]
If compared with other well-known denoising techniques, such as the Gaussian smoothing model, the anisotropic diffusion model, the total variation denoising, the neighborhood filters and an elegant variant, the Wiener local empirical filter, the translation invariant wavelet thresholding, the non-local means method noise looks more like white noise.[2] Recently non-local means has been extended to other image processing applications such as deinterlacing[3] and view interpolation.[4]
Definition
Suppose  is the area of an image, and
 is the area of an image, and  and
 and  are two points within the image. Then, the algorithm is:[5]
 are two points within the image. Then, the algorithm is:[5]
where  is the filtered value of the image at point
 is the filtered value of the image at point  ,
,  is the unfiltered value of the image at point
 is the unfiltered value of the image at point  ,
,  is the weighting function, and the integral is evaluated over
 is the weighting function, and the integral is evaluated over  .
.
 is a normalizing factor, given by:
 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 determine how closely related the image at the point  is to the image at the point
 is to the image at the point  . It can take many forms.
. It can take many forms.
Gaussian
The Gaussian weighting function sets up a normal distribution with a mean,  and a variable standard deviation:[6]
 and a variable standard deviation:[6]
where  is the filtering parameter (i.e., standard deviation) and
 is the filtering parameter (i.e., standard deviation) and  is the local mean value of the image point values surrounding
 is the local mean value of the image point values surrounding 
Discrete algorithm
For an image,  , with discrete pixels, a discrete algorithm is required.
, with discrete pixels, a discrete algorithm is required.
where  is given by:
 is given by:
Then, for a Gaussian weighting function,
where  is given by:
 is given by:
where  and is a square region of pixels surrounding
 and is a square region of pixels surrounding  and
 and  is the number of pixels in the region
 is the number of pixels in the region  .
.
See also
- Total variation denoising
- Anisotropic diffusion
- Signal Processing
- Digital Image Processing
- Noise reduction
References
- ↑ Buades, Antoni (20–25 June 2005). "A non-local algorithm for image denoising". Computer Vision and Pattern Recognition, 2005 2: 60–65. doi:10.1109/CVPR.2005.38.
- ↑ Buades, Antoni. "On image denoising methods" (PDF). 123 Seminars Only.
- ↑ Dehghannasiri, R.; Shirani, S. (2012). "A novel de-interlacing method based on locally-adaptive Nonlocal-means".
- ↑ Dehghannasiri, R.; Shirani, S. (2013). "A view interpolation method without explicit disparity estimation".
- ↑ Buades, Antoni. "Non-Local Means Denoising". Image Processing On Line.
- ↑ Buades, Antoni. "On image denoising methods (page 10)" (PDF). 123 Seminars Only.
External links
- Recent trends in denoising tutorial
- Non-local image denoising, with code and online demonstration
- Patents citing 2005 IEEE paper where NLM was claimed as a new technique





