CMPT 469 Presentation @Hongyi Zhang
October 15, 2015
Noises could be generated.
imnoise(I, 'gaussian'); % generated by Matlab
It's not uncommon to discover noises in natural images.
SFU Diamond Alumni Center Cute Jellyfish and their ExcretaRecall Image Formation: images noises and ISO
We have learned in class that higher ISO will result in more noises.
Method noise is defined as the image difference. Let u be an image and Dh a denoising operator depending on a filtering parameter h.
Method Noise = u(original image) - Dh*u(processed image)
A good denoising method should have method noise containing as little structures as possible.
Original noisy imageIntuition: reduce noise by averaging nearby pixels and weights are decided by distance.
By design, Gaussian filter is optimal in flat part, but edges are not preserved.
Any better idea to preserve edges?
It can be implemented with two Gaussian kernels
Reference: CMPT 469 course material post processing slidesImage from Bilateral Filtering for Gray and Color Images
So far, neighborhood filter looks like a promising way to solve the problem. However, is it really convincing to only compare grayscale intensities?
Relying on grayscale intensities in not robust if these values are noisy...
We could imagine that the result would be opposite to the isotropic Gaussian filtering. AF performs well on edges, while causing troubles to flat areas.
u: result image v: noisy image lambda: scalar, adjusting the degree of smoothness
Recall seamless cloning. They are both minimization problems and the process of calculation is similar.
Edges are maintained, but adjusting lambda could be a problem. If lambda is too small here, flat areas could over-smoothed.
Are classic methods good enough?
The answer is the neighbors!
For two neighbors, the similarity between them is defined as the Euclidean distance convoled with a Gaussian kernel. The final weights need to be normalized.
Those pixels has entirely different neighbor structures tend to have zero weight.
Almost the same as texture synthesis! They share the same way to pick candidate pixels(calculate neighbor distances).
But again, the idea behind them is exactly the same.
1. Original image 2. Gaussian Filtering 3. Anisotropic filtering 4. Total variation minimization 5. Neighborhood filtering 6. NL-means algorithm
1. Original image 2. Gaussian Filtering 3. Anisotropic filtering 4. Total variation minimization 5. Neighborhood filtering 6. NL-means algorithm
By nature, NL-mean method serves better on texture-like images. But we can see that it still generates satisfying results of natural images due to natural redundancies.
The disadvantage of this method is its high computational complexity. In practice, the search of similar pixels is restricted to a relatively large window size. 21*21 window size is applied in the above examples.
- Reference: A non-local algorithm for image denoising - Slides built by Reveal.js