top of page

Data and Results

Our whole dataset is mainly composed of photos taken by our group member, Jingzhe Tao. We have also added more open source images since we want to compare the effects of each filter on different kinds of photos. At the current stage, we have chose three typical photos for testing 6 denoising algorithms. We chose MATLAB_2022b to perform all the algorithms. We have written a MATLAB function to add random noise to our original photos and we have set our noise level at 0.3. The denoising algorithms are self-developed mean filter, built-in Wiener filter of MATLAB, self-developed Winer filter, self-developed weighted median filter, self-developed DCT filter and wavelet-domain threshold filter. All the filters, except the last two, are in spatial domain. DCT filter is in cosine-wave domain and the last one is in wavelet domain.

IMG_4486 2.JPG

Output 1: Mean Filter for Whole Pictures

Mean filter calculates the average of the R, G ,B values of all the pixels within the window. We picked these 3 photos since we want take it as an example to show how well our algorithms do in denoising images of different types. The SSIM score for this self-developed mean filter is 0.2548, 0.5252 and 0.7856. The original photos, the noised photos and the denoised photos with mean filter are shown on the left side. 

Output 2: Mean Filter for Cropped Pictures

We crop the original photo from 1/3 to 2/3 width and height to make detailed comparison among the outputs. It's more obvious that the outputs still contain lots of noise and while the details (eg. edge of shapes) are still visible and relatively clear.

IMG_4489 2.JPG
IMG_4484 2.JPG

Output 3: Built-in Wiener Filter for Whole Pictures

The built-in Wiener filter is a MATLAB function we can directly use. Wiener filter is a more statistical approach to denoising images. The basic idea is about reducing the MSE(mean square error) value to denoise the pictures. The SSIM value of these pictures are 0.8915, 0.3504, 0.7426 from top to bottom.

Output 4: Built-in Wiener Filter for Cropped Image

We crop the these photos from 1/3 to 2/3 width and height to make detailed observations. The high blurring levels of built-in Wiener filtered image are evident. For the last picture, the numbers are extremely blurry. It's impossible to tell which numbers they are.

IMG_4487 2.JPG
IMG_4483 2.JPG

Output 5: Self-developed Wiener Filter for Whole Pictures

We have written a self-developed Wiener filter since we think the outputs of the built-in Wiener filter are not satisfactory due to the high blurring level. We can find that the blurring level of these outputs are evidently lower than the previous ones, especially for the tree trunk and the test chart picture. The SSIM scores for these outputs are 0.6769, 0.3115 and 0.7445. 

Output 6: Self-developed Wiener Filter for Cropped Photos

We crop the camera test chart from 1/3 to 2/3 width and height to make detailed comparison. For the cropped photos, the details are very unclear and it's still hard for us to tell the numbers of the third picture (the test chart). 

IMG_4488.JPG
IMG_4496.JPG

Output 7: DCT Filter on Whole Pictures

The DCT filter is in the cosine-wave domain. Its basic logic is to replace the sine wave in Fourier Transform with cosine wave. We use YCbCr color space for this filter. The major advantage of using YCbCr color space is that the luminance information is separated from the chrominance information since people are more alert to luminance change. Therefore, the denoising processing will be much more aggressive and the image quality is still acceptable. The outputs' quality is extremely good and not blurry. The SSIM scores are 0.3756, 0.8824 and 0.8723.

Output 8: DCT Filter for Cropped Photos

We crop the camera test chart from 1/3 to 2/3 width and height to make detailed comparison on the outputs of DCT filters. Even for the cropped images, the denoised images are not blurry and the quality is very high.

IMG_4497.JPG
IMG_4521.JPG

Output 9: Wavelet Threshold Filter on Whole Pictures

This characteristic of this threshold filter is that it's implemented in the wavelet domain. We have chosen wavelet 'db4' to do the transformation from spatial domain to wavelet domain. Its basic idea is to first transform the original image signal into the wavelet domain. Then we decompose the wavelet signals with 2 levels and do threshold filtering on the coefficients of both levels of the wavelet-domain signals. Finally, we can transform the signals into the spatial domain and output the results. The SSIM values are 0.3497, 0.7655 and 0.8531.

Output 10: Wavelet Threshold Filter for Cropped Photos

We crop the camera test chart from 1/3 to 2/3 width and height to make detailed observations. We can observe that the cropped denoised images are not blurry and most of the details are retained well. From human perception, the denoising quality of this filter is very high, which is close to the DCT filter output quality.

IMG_4520.JPG
Image4Website.png

Output 11: Gaussian Weighted-Median Filter on Whole Pictures

The weighted median filter uses a window to weight different pixels in the window differently, then each pixel value is duplicated based on the weighting given. After the pixel values have been duplicated, the median of the pixel values is taken and used to replace the original pixel value. This algorithm is performed for each layer of the RGB. The window used for filtering the images is a 5x5 gaussian window in order to better preserve edges in the image. The SSIM scores for each image are 0.4327, 0.5551, and 0.8723.

Output 12: Gaussian Weighted-Median Filter for Cropped Pictures

We crop the camera test chart from 1/3 to 2/3 width and height to make detailed observations. We can observe that the cropped denoised images are still noisy as can be seen in the mountain image, but the filter is good at retaining edges as the numbers and edges in the test image are relatively sharp compared to the original image.

Cropped4Website.png
Analysis.JPG

Visualized Multi-parameter Analysis

 

We have tested the scores using mean and built-in wiener filter in different window size and noise level, the results are shown in the graph on the left hand side. The result turns out that both methods show common pattern that the score is basically higher with smaller window size and lower noise level. However, there are still special cases which is worth noticing, for larger window sizes, the denoising effect is optimal in higher noise levels instead of under the lowest noise level. Nevertheless, a smaller window size is always preferred under any noise level.

​

We are going to utilize this analyzing method to all the algorithms we deal with in this project in the following 3 weeks.

bottom of page