Non-local means

From Wikipedia, the free encyclopedia
  (Redirected from Non-local means filter)
Jump to: navigation, search

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, 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.[2] Recently non-local means has been extended to other image processing applications such as deinterlacing[3] and view interpolation.[4]

Definition[edit]

Suppose is the area of an image, and and are two points within the image. Then, the algorithm is:[5]

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 over .

is a normalizing factor, given by:

Common weighting functions[edit]

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[edit]

The Gaussian weighting function sets up a normal distribution with a mean, and a variable standard deviation:[6]

where is the filtering parameter (i.e., standard deviation) and is the local mean value of the image point values surrounding .

Discrete algorithm[edit]

For an image, , with discrete pixels, a discrete algorithm is required.

where 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 .

See also[edit]

References[edit]

  1. ^ 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. 
  2. ^ Buades, Antoni. "On image denoising methods" (PDF). 123 Seminars Only. 
  3. ^ Dehghannasiri, R.; Shirani, S. (2012). "A novel de-interlacing method based on locally-adaptive Nonlocal-means". 
  4. ^ Dehghannasiri, R.; Shirani, S. (2013). "A view interpolation method without explicit disparity estimation". 
  5. ^ Buades, Antoni. "Non-Local Means Denoising". Image Processing On Line. 
  6. ^ Buades, Antoni. "On image denoising methods (page 10)" (PDF). 123 Seminars Only. 

External links[edit]