Image De-noising based on Non Local Means (NLM) using Curvelet transformation

DOI : 10.17577/IJERTV5IS030811

Download Full-Text PDF Cite this Publication

Text Only Version

Image De-noising based on Non Local Means (NLM) using Curvelet transformation

Arvind Pandey

Research Scholar

Computer Science and Engineering Department Samrat Ashok Technological Institute

Vidisha, India

Yogendra Kumar Jain

Head of Department

Computer Science and Engineering Department Samrat Ashok Technological Institute

Vidisha, India

Abstract Image denoising is being a governing field in image processing. Image denoising is applied before any image processing and information extraction algorithm on image. In this paper Non Local Means (NLM) algorithm is applied based on Curvelet Transformation. This NLM algorithm is modified to include energy of the reconstructed images to improve PSNR. The modified algorithm is compared with traditional NLM based on Curvelet transformation and results shows that PSNR has considerably improved for all noise levels. The noise is imparted using Gaussian distribution.

Keywords NLM; Curvelet transformation; Gaussian distribution; PSNR.


    Image processing applications are mainly found in two principle areas; one is the improvement of pictorial information for human interpretation and the other is processing the image data for autonomous machine perception [1, 2]. Nowadays, successful applications of image processing methods can be found in numerous fields such as astronomy, biology, defense, medication, nuclear science, and satellite imaging etc [3]. In all these fields scientists are mainly faced with problem of recovering original images from incomplete and noisy images. Noise may be caused by wide range of sources, like atmospheric turbulence, variation in the detector sensitivity [4], environmental variations, the discrete nature of radiation, transmission and quantization errors etc. An image is inevitably corrupted by noise in its acquisition, coding and transmission. For instance, during image acquisition the performance of imaging sensors is affected by a variety of factors, like environmental conditions such as light levels and sensor temperature, which causes noise. Images are also corrupted at transmission, due to interference in the channel used for communication and transmission. The major objective of image denoising is to remove the noise effectively while preserving as much as possible significant signal information and features [5]. Many different ways like spatial filtering methods and Fast Fourier Transform (FFT) [6] based methods are there to reduce or remove noise in an image. But these methods remove noises and cannot preserve edges in an image.


    Reducing the disadvantageous influence of noise has always been one of the typical problems of the image analysis and processing area. Often, during the same time as reducing the noise in a signal, as well as it is important to preserve the image details like edges. Edges are critical significance to the

    visually appearance of images [7, 8]. So, it is advantageous to preserve important image features, such as smoothness, edges, variations and sharp structures, at the denoising process. This section describes a review of some significant work in the field of image denoising.

    Ideally image denoising is all about filtering noise from the degraded noisy image even as keeping other significant details unchanged. Definitely, filtering is the main fundamental operation of image processing and computer vision, and it is used broadly in different applications, including noise removal, edge detection, image smoothing and sharpening etc. In the widest sense of the term filtering, the value of the filtered image at a specified location is a function of the values of the input (noisy) image in a small neighborhood of the same location [2].

    The simple type of filtering is a precise Linear Translation Invariant (LTI) filtering and that can be implemented by using a local neighborhood. As an example, box filtering also well known as averaging or mean filtering [1, 9], is implemented with a local averaging process where the value of each pixel is replaced by the average of all its neighbor pixels. Even though box filter gives the fastest filtering output result, but its smoothing impact is often not enough.

    Additional LTI filters that do not occupy the computation of the mean of a neighborhood also are typically used for smoothing. Mostly common of those are the Gaussian smoothing filter [1, 6] and Weiner filter. The weights for Gaussian smoothing filter are preferred according to the shape of a Gaussian (normal) distribution function [10, 11]. Gaussian filter has been proved to existing a good alternative for removing noise drained from a normal distribution and also the perfect multi-scale space representation [15] of an image can be obtained simply by Gaussian smoothing with increasing variance [12]. Wiener filters are a class of optimum linear filters which involve linear evaluation of a preferred signal sequence from any more associated sequence.

    Although Linear Translation Invariant (LTI) filtering is the simplest form of filtering and is used broadly in early vision process, it also has some drawbacks. LTI filtering is the fastest approaches for smoothing the noise but some important structures and details are also often obtain blurred along with noise. To attenuate these undesirable effects of linear filtering several of edge-preserving filtering techniques have been proposed throughout the last few years.


    The proposed approach is based on non local means using curvelet transformation.

    STEP 1: Curvelet transform

    The Curvelet transformation is a multi-scale space transform which provides a novel mathematical multi- resolution and object representation with various details and features that are better to existing representations like wavelets and steerable pyramids [5, 14]. An extension of the wavelet concepts, they are popular in similar fields, in image processing and scientific computing. The idea of curvelet transformation is decomposed the signal in various sub-bands at different scales that are with different positions and orientations in the frequency domain and differentiate the signal obeying the scale rule. The curvelet transform has been broadly used for denoising because of curvelet transform reconstructions demonstrate superior perceptual class than wavelet transform based reconstructions, presenting visually fine images and in particular superior quality recovery of corners, edges and of soft linear and curve features [16].

    STEP 2: Non local means (NLM)

    A non local means filter replaces each pixel in the noisy image with the weighted average of all other pixels in the image.

    In non local means [13], for denoised image each pixel is calculated as:

    NL(V)(i) = jV w(i, j)V(j)

    In this approach NLM is calculated as:

    Proposed Algorithm:


    1. First take the curvelet transformation of the noisy image to decompose it into n-scale curvelet coefficients.

    2. Store curvelet coefficients of each scale separately.

    3. Reconstruct the n-images from each of the stored n-scale curvelet coefficients.

    4. Calculate Etotal .

    5. Calculate 2.

    6. Apply NLM.

    7. Rearrange de-noised blocks to form de-noised image.


    Algorithm NLM


    1. Define NLM filter Kernel size and its search space size.

    2. Generate filter kernel K.

    3. Calculate E.

    4. Divide image onto blocks of kernel size.

    5. For each block extracted search the closest blck in the search space using distance formula:



      – W

      – W



      di = E/Etotal * K* (Wi i rch)2

    6. Repeat 2 to 5, for each reconstructed image and calculate Sum(d).

    7. Calculate weight wi as:

      wi = exp(- Sum(d) / 2)

    8. Search space block which gives maximum value of

    w and Sum(wi) > 0. Construct denoised image as: Wdenoised = 1/Sum(wi) * n =1 wi * Wi

    LM(i) = 1C(i)*j w(i, j)L0(j)



    STEP 3: Energy of image




    w(i, j) = exp(- ||L0(N(i)) – (L0(N(j))||2 ,a / p)


    V = noisy image. L0 = noisy image.

    L0(j) = intensity of jth pixel in noisy image L0. = search window.

    C(i) = jw(i, j) is a normalization constant.

    W(i,j) = represents the similarity between pixels i and j.

    ||.||2,a = Gaussian weighted Euclidean distance function. a = standard deviation of the Gaussian kernel.

    h = decay parameter related to the noise standard deviation .

    Etotal = Total energy of all the reconstructed images. 2 = Noise variance.

    E = energy of ith image.

    Sum(di) = Sum of all the values of d.

    Energy is simply defined based on a normalized histogram, a graphical representation of the image. Energy exhibits how the grey levels are distributed. When the number of grey levels is low then energy is high. Energy and Entropy are directly related terms and in the same way entropy and randomness are also strongly related. Thus in Image Processing, energy might be similar to randomness. For instance, a picture of a plain wall has low energy, while the picture of a city taken from a helicopter might have high energy. Image "energy" should be inversely proportional to Shannon entropy of an image. However as already said that image energy is loosely coupled term, it is better use "compressibility" term instead of energy. That is high image "energy" should correspond as high image compressibility.


    In this work, we have taken Barbara, Lena, Cameraman, Satellite Image, Couple, MRI and Cell images are taken. The noise is imparted to these images using Gaussian distribution with noise scale 20, 30 and 50 respectively. All the experiments are performed on the tool MATLAB R2012b [17].

    Fig. 1. Test images of Barbara, Lena, Cameraman, Satellite Image, Couple, MRI and Cell.

    Table. 1. Experiment Results for different test images corrupted by different noise level.

    Test Images

    Noise Level ()

    Previous Method

    Proposed Method























    Camera man










    Satellite Image









































In this paper non local means algorithm is being modified. First curvelet transformation is applied to form reconstructed images. Then similarity between pixels of the noisy image and these reconstructed images is calculated based on the energy of both the blocks of images. And it is found that the PSNR is considerably improved for all noise levels.


I would like to thank my dissertation guide Dr. Yogendra Kumar Jain, Head, Department of Computer Science and Engineering, who give me a good support and guide me. All friends and staff member of my department who have given direct and indirect support to carry out this work. And also thank full to my college which provide me good resources for that.


  1. Gonzalez RC, Woods RE, Eddins SL, "Digital image processing using MATLAB", Prentice Hall Incorporated, 2002.

  2. Jain Anil K, Fundamentals of digital image processing, Prentice Hall Incorporated, 1989.

  3. Oliveira JP, Bioucas-Dias JM, Figueiredo MAT, "Adaptive total variation image deblurring: a majorization-minimization approach", Elsevier Journal of Signal Processing, 2009, Vol. 89, No. 9, pp. 1683-1693.

  4. Donoho DL, "De-noising by soft-thresholding", IEEE Transactions on Information Theory, 1995, Vol. 41, No. 3, pp. 613-627.

  5. Starck JL, Candes EJ, Donoho DL, "The curvelet transform for image denoising", IEEE Transactions on Image Processing, 2002, Vol. 11, No. 6, pp. 670-684.

  6. Buades A, Coll B, Morel JM, "A review of image denoising algorithms, with a new one", SIAM Journal on Multiscale Modeling and Simulation, 2005, Vol. 4, No. 2, pp. 490-530.

  7. Salmon J, Strozecki Y, "Patch reprojections for Non-Local methods", Elsevier Journal of Signal Processing, 2012, Vol. 92, No. 2, pp. 477-489.

  8. Chen Q, Sun Q, Xia D, "Homogeneity similarity based image denoising", Elsevier Journal of Pattern Recognition, 2010, Vol. 43, No. 12, pp. 4089-4100.

  9. Deledalle CA, Duval V, Salmon J, "Non-local methods with shape- adaptive patches (NLM-SAP)", Springer Journal of Mathematical Imaging and Vision, 2012, Vol. 43, No. 2, pp. 103-120.

  10. Coupe P, YOger P, Prima S, Hellier P, Kervrann C, Barillot C, "An optimized block-wise nonlocal means denoising filter for 3-D magnetic resonance images", IEEE Transactions on Medical Imaging, 2008, Vol. 27, No. 4, pp. 425-441.

  11. Ville DVD, Kocher M, "SURE-based non-local means", IEEE Signal Processing Letters, 2009, Vol. 16, No. 11, pp. 973-976.

  12. Deledalle CA, Denis L, Tupin F, "Iterative weighted maximum likelihood denoising with probabilistic patch-based weights", IEEE Transactions on Image Processing, 2009, Vol. 18, No. 12, pp. 2661- 2672.

  13. Zhong H, Yang C, Zhang XH, "A new weight for nonlocal means denoising using method noise", IEEE Signal Processing Letters, 2012, Vol. 19, No. 8, pp. 535-538.

  14. Candes EJ, Demanet L, Donoho DL, Ying L, "Fast discrete curvelet transforms", SIAM Journal on Multiscale Modeling & Simulation, 2006, Vol. 5, No. 3, pp. 861-899.

  15. Gaikwad AS, Bormane DS, Image denoising using digital image curvelet, Journal of Information Engineering and Applications, 2011, Vol. 1, No. 2, pp. 23-28.

  16. Candes EJ, Donoho DL, &quotContinuous curvelet transform: II. Discretization and frames", Elsevier Journal on Applied and Computational Harmonic Analysis, 2005, Vol. 19, No. 2, pp. 162- 197.

  17. Wang Z, Bovik AC, Sheikh HR, Simoncelli EP, "Image quality assessment: from error visibility to structural similarity", IEEE Transactions on Image Processing, 2004, Vol. 13, No. 4, pp. 600- 612.

Leave a Reply