Conclusion
Amongst all those filters we performed in this project, we have concluded that the denoising performance of the DCT filter in the cosine-wave domain and the wavelet-domain threshold filter are the best, even though they don't have impressive high SSIM score in denoising the tree trunk picture, which contains lots of details. Wiener Filters tends to provide very blurry denoised images, although these images have really high scores. This is due to the fact that Wiener filters are designed for the purpose of reducing the mean square error value. Thus, based on both the quantitatively scores and our human perception, we conclude the DCT filter and the threshold filter works better, which also implies that filters in the frequency domain (e.g. DCT filter) and filters in the wavelet domain (e.g. wavelet threshold filter) might be more effective in denoising than filters in spatial domain.
For our comparison sections when working with natural settings and just things in nature in general DCT and threshold filters were the best especially when it came to quick changes in shade and color combined with depth in the image. In that section weighted median filter was really the only filter that was capable of keeping up with both DCT and threshold while actually removing a good amount of noise. When testing images of humans and their features the results were a bit more spread out. When coming to an rgb image with less detail to carry over DCT and threshold filters did a good job, but the spatial wiener filters excelled in denoising and preserving the image with respect to the original. Now when it comes to monochromatic images with more detail to carry over DCT and threshold filter did a great job denoising the image while preserving the human features on faces and clothing. The mean and weighted filters did great as well but that was due to the picture having simply only one person on it so over smoothing would not ruin the image. Finally we ending on image readability and texts in images. Unfortunately the filters we implemented are not the most advanced but when it came to trying to denoise and image to be able to read texts inside, the DCT came out on top. Granted the texts were still very hard to read but out of all 6 of our filters you would probably use DCT.
​
Wrap up our work:
Our group has researched on 6 denoising algorithms both in spatial domain, cosine-wave domain and wavelet domain. We have written a self-developed mean filter, Wiener filter, weighted-median filter, DCT filter and wavelet threshold filter. Also, we have utilized the built-in Winer filter in MATLAB. We have developed a function for adding noise to our input image. We also chose to use PSNR value and SSIM value as quantitative reference of the denoised image quality. We have combined all these functions into a big program to perform the demo. With an original image input, we can get denoised output figures of the original itself and its center crop with different denoising methods. Moreover, we have tested the scores using mean and wiener filter in different window size and noise level, the results are shown in 3D graphs to help us make analysis and conclusion. In addition, we have compare the effectiveness of all our filters on different kinds of photos. We have used photos of nature & scenery and humans & their features since we think these are two major types of pictures people take in daily life and people may be concerned about how to denoising noisy photos of these two kinds.
Discussion
SSIM Value and Window Size
For all the filters using window size (two Wiener Filters, Mean Filter, Weighted-median Filter and DCT Filter), we have noticed a trend that when window size value goes up, the SSIM score will decrease. The window size we chose in this project for all of those filters mentioned above is 5, while 5 is not the optimal window size for each filter. We chose 5 just to make sure we can reduce as many unnecessary variables so that we can compare the denoised outputs on the same level.
About YCbCr and RGB
We use YCbCr for the DCT filter, and for the other filters, we use the common RGB color space. Compare to the normal RGB color space, the YCbCr color space separates luminance (Y) information from chrominance (Cb and Cr) information, making image processing more efficient because the human eye is more sensitive to luminance changes. This allows for higher compression ratios and more aggressive denoising without significant loss in image quality.
The YCbCr color space is commonly used in image and video compression standards such as JPEG and MPEG, where the chrominance channels can be compressed more aggressively without significant loss of quality. Additionally, working in YCbCr can help reduce color artifacts caused by noise and other artifacts in the RGB color space. Converting to and from YCbCr may also be necessary for compatibility with existing image and video processing systems.