Problems with Matlab Projects? You may face many Problems, but do not worry we are ready to solve your Problems. All you need to do is just leave your Comments. We will assure you that you will find a solution to your project along with future tips. On Request we will Mail you Matlab Codes for Registered Members of this site only, at free service...Follow Me.

Image Denoising via the Redundant Wavelet Transform


The redundant wavelet transform (RWT) is widely used in order to denoise signals and images. Here, we consider two denoising methods used in the literature, to attempt to denoise astronomical images with the aim of obtaining images in which we can search for very faint objects that are not noise.
The paper is organized as follows. In "Redundant Wavelet Transform", we introduce a few algorithms used to compute the RWT. In "Denoising Algorithms based on the RWT", we discuss some denoising methods based on the RWT. In "Denoising Simulation", a description of the simulation and the results from the implemented methods can be found, which are further discussed in "Conclusions".

Redundant Wavelet Transform

Undecimated algorithm

The redundant discrete wavelet transform, similar in nature to the discrete wavelet transform, decomposes data into low-pass scaling (trend) and high-pass wavelet (detail) coefficients to obtain a projective decomposition of the data into different scales. More specifically, at each level the transform uses the scaling coefficients to compute the next level of scaling and wavelet coefficients. The difference lies in the fact that none of the latter are discarded through decimation as in the discrete wavelet transform but are instead retained, introducing a redundancy. This transform is good for denoising images, as the noise is usually spread over a small number of neighboring pixels. The Rice Wavelet Toolbox used to compute the transform in the simulation implements the redundant wavelet transform through the undecimated algorithm, which as its name suggests is similar to the discrete wavelet transform but omits downsampling, also known as decimation, in computation of the transform and upsampling in computation of the inverse transform[1].

A trous algorithm

Another method of computing the redundant wavelet transform, the a trous algorithm differs from the undecimated algorithm by modifying the low-pass and high-pass filters at each consecutive level. The algorithm up-samples the low-pass filter at each level by inserting zeros between each of the filter's coefficients. The high-pass coefficients are then computed as the difference between the low-pass images from the two consecutive levels. To compute the inverse transform, the detail coefficients from all levels are added to the final low-resolution image [1]. While inefficient in implementation, the a trous algorithm provides additional insight into the redundant discrete wavelet transform.

Denoising Algorithms based on the RWT


In the traditional method of soft-thresholding, where the universal threshold is used, coefficients below a specified threshold are shrunk to zero while those above the threshold are shrunk by a factor of σ\(2log(N))[2]. On the orthogonal wavelet transforms, it has been shown to exhibit the following property:
Theorem 1 For a sequence of i.i.d. random variables ziN(0,1)P(maxi=1..N\(2logN))1 for N.

Bivariate Shrinkage

Sendur and Selesnick [5] proposed a bivariate shrinkage estimator by estimating the marginal variance of the wavelet coefficients via small neighborhoods as well as from the the corresponding neighborhoods of the parent coefficients. The developed method maintains the simplicity and intuition of soft-thresholding.
We can write
where wk are the parent and child wavelet coefficients of the true, noise-free image and nk is the noise. We have for our variance, then, that
Noting that we will always be working with one coefficient at a time, we will suppress the k.
In [4], Sendur and Selesnick proposed a bivariate pdf for the wavelet coefficient w1 and the parent w2 to be
where the marginal variance σ2 is dependent upon the coefficient index k. They derived their MAP estimator to be
To estimate the noise variance σn2 from the noisy wavelet coefficients, they used the median absolute deviance (MAD) estimator
where the estimator uses the wavelet coeffiecients from the finest scale.
The marginal variance σy2 was estimated using neighborhoods around each wavelet coefficient as well as the corresponding neighborhood of the parent wavelet coefficient. For instance, for a 7x7 window, we take the neighborhood around y1,(4,4) to be the wavelet coefficients located in the square (1, 1), (1, 7), (7, 7), (7, 1) as well as the coefficients in the second level located in the same square; this square is denoted N(k). The estimate used for σy2 is given by
where M is the size of the neighborhood N(k). We can then estimate the standard deviation of the true wavelet coefficients through Equation 2:
We then have the information we need to use equation Equation 4.


Portilla, et. al. [3] propose the BLS-GSM method for denoising digital images, which may be used with orthogonal and redundant wavelet transforms as well as with pyramidal schemes. They model neighborhoods of coefficients at adjacent positions and scales as the product of a Gaussian vector and a hidden positive scalar multiplier, so that the neighborhoods are defined similarly as in the BiShrink algorithm. The coefficient within each neighborhood around a reference coefficient of a subband are modeled with a Gaussian scale mixture (GSM) model. The chosen prior distribution is the Jeffrey's prior, pz(z)
They assume the image has additive white Gaussian noise, although the algorithm also allows for nonwhite Gaussian noise. For a vector y corresponding to a neighborhood of N observed coefficients, we have
The BLS-GSM algorithm is as follows:
  1. Decompose the image into subbands
  2. For the HH, HL, and LH subbands:
    1. Compute the noise covariance, Cw, from the image-domain noise covariance
    2. Estimate Cy, the noisy neighborhood covariance
    3. Estimate Cu using Cu=Cy+Cw
    4. Compute Λ and M, where QΛ is the eigenvector/eigenvalue expansion of the matrix S1CuSTS is the symmetric square root of the positive definite matrix Cw, andM=SQ
    5. For each neighborhood
      1. For each value z in the integration range
        1. Compute E[xc|y,z]=n=1N
          , where mijMvv=M1yλ=diag(λ), and c is the index of the reference coefficient.
        2. Compute the conditional density p(y|z)
      2. Compute the posterior p(z|y)
      3. Compute E[xc|y]
    Reconstruct the denoised image from the processed subbands and the lowpass residual

Denoising Simulation

Simulation description

In order to compare and evaluate the efficacies of the Bishrink and BLS-GSM algorithms for the purpose of denoising image data, a simulation was developed to quantitatively examine their performance after addition of random noise to otherwise approximately noiseless images with a variety of features representative of those found in astronomical images. Specifically, the images encoded in the widely available files Moon.tif, which primarily demonstrates smoothly curving attributes, and Cameraman.tif, which exhibits a range of both smooth and coarse features, distributed in the MATLAB image processing toolbox were considered.
As a preliminary preparation for the simulation, the images were preprocessed such that they were represented in the form of a grayscale pixel matrix taking values on the interval[0,1] of square dimensions equal to a convenient power of two. Noisy versions of each image were generated by superposition of a random matrix with Gaussian distributed pixel elements on the image matrix, using noise variance values {.01,.1,1{. For each noise variance level and original image, 100 contaminated images were created in this way using a set of 100 different random generator seeds, which was the same for each noise level and original image. A redundant discrete wavelet transform of each of these contaminated images was computed using the length 8 Daubechies filters, and the denoised wavelet coefficients were estimated using both the Bishrink and the BLS-GSM algorithms as previously described. Computation of the inverse redundant discrete wavelet transform using the denoised wavelet coefficients then yielded 100 images denoised with the Bishrink algorithm and 100 images denoised with the BLS-GSM algorithm for each original image and noise variance level.
Using this simulated data, the performance of the two denoising methods on each image at each noise contamination level were evaluated using the six statistical measures described here. The first of these was the mean square error (M,S,E), which is calculated by the average of
over all 100 denoisings. Related to the above was the root mean square error (R,M,S,E), which is calculated by computing the square root of the mean square error. A third was the root mean square bias (R,M,S,B), which is calculated by
where f(xi) is the average of f(xi) over all 100 denoisings. Two more, the maximum deviation (M,X,D,V), calculated by the average of
over all 100 denoisings, and L1, calculated by the average of
over all 100 denoisings, were also examined. The results of this simulation now follow.

Bishrink results

TABLE 1: Simulation measures for noise variance .01
Figure 1: Cameraman with noise variance .01
Figure 1 (bicam1.png)
Figure 2: Moon with noise variance .01
Figure 2 (bimoon1.png)
TABLE 2: Simulation measures for noise variance .1
Figure 3: Cameraman with noise variance .1
Figure 3 (bicam2.png)
Figure 4: Moon with noise variance .1
Figure 4 (bimoon2.png)
TABLE 3: Simulation measures for noise variance 1
Figure 5: Cameraman with noise variance 1
Figure 5 (bicam3.png)
Figure 6: Moon with noise variance 1
Figure 6 (bimoon3.png)

BLS-GSM results

TABLE 4: Simulation measures for noise variance .01
Figure 7: Cameraman with noise variance .01
Figure 7 (blscam1.png)
Figure 8: Moon with noise variance .01
Figure 8 (blsmoon1.png)
TABLE 5: Simulation measures for noise variance .1
Figure 9: Cameraman with noise variance .1
Figure 9 (blscam2.png)
Figure 10: Moon with noise variance .1
Figure 10 (blsmoon2.png)
TABLE 6: Simulation measures for noise variance 1
Figure 11: Cameraman with noise variance 1
Figure 11 (blscam3.png)
Figure 12: Moon with noise variance 1
Figure 12 (blsmoon3.png)


The results obtained from this simulation now allow us to evaluate and comment upon the suitability of each of the two methods examined for the analysis of astronomical image data. As is clearly manifested in the quantitative simulation results, the BLS-GSM algorithm demonstrated more accurate performance than did the Bishrink algorithm in every measure consistently over all pictures and noise levels. That does not, however, indicate that it would be the method of choice in all circumstances. While BLS-GSM outperformed the Bishrink algorithm in the denoising simulation, the measures calculated for the Bishrink algorithm indicate that it also produced a reasonably accurate image estimate. Also, the denoised images produced by the Bishrink simulation exhibit a lesser degree of qualitative smoothing of fine features like the craters of the moon and grass of the field. The smoothing observed with the BLS-GSM algorithm could make classification of fine, dim objects difficult as they are blended into the background. Thus, the success of the Bishrink algorithm in preserving fine signal details while computing an accurate image estimate is likely to outweigh overall accuracy in applications searching for small, faint objects such as extrasolar planets, while the overall accuracy of the BLS-GSM algorithm recommend it for coarse and bright featured images.


  1. A. Gyaourove, C. Kamath and Fodor, I.K. (2002). Undecimated wavelet transforms for image denoising. (UCRL-ID-150931). Technical report. Center for Applied Scientific Computing, Lawrence Livermore National Laboratory.
  2. Donoho, D. and Johnstone, J. (1994). Ideal spatial adaption by wavelet shrinkage. Biometrika3(81), 425-455.
  3. J. Portilla, M.J. Wainwright and Simonccelli, E.P. (2003). Image Denoising Using Scale Mixtures of Gaussians in the Wavelet Domain. IEEE Transactions on Image Processing12(11), 1338-1351.
  4. Sendur, L. and Selesnick, I. W. (2002). A Bivariate Shrinkage Function for Wavelet Based Denoising. IEEE ICASSP, (12),
  5. Sendur, L. and Selesnick, I. W. (2002). Bivariate Shrinkage With Local Variance Estimation. IEEE Signal Processing Letters, (12), 438-441.


Post a Comment

Follow by Email

Recent Comments

Popular Matlab Topics

Share your knowledge - help others

Crazy over Matlab Projects ? - Join Now - Follow Me

Sites U Missed to Visit ?

Give Support

Give Support
Encourage me through Comments and by Followers
Related Posts Plugin for WordPress, Blogger...

Special Search For Matlab Projects



Bharadwaj. Powered by Blogger.