We propose a novel image denoising strategy based on an enhanced sparse representation in transform-domain. The enhancement of the sparsity is achieved by grouping similar 2D image fragments (e.g. blocks) into 3D data arrays which we call "groups".
Collaborative filtering is a special procedure developed to deal with these 3D groups. We realize it using the three successive steps: 3D transformation of 3D group, shrinkage of transform spectrum, and inverse 3D transformation. The result is a 3D estimate that consists of the jointly filtered grouped image blocks. By attenuating the noise, the collaborative filtering reveals even the finest details shared by grouped blocks and at the same time it preserves the essential unique features of each individual block. The filtered blocks are then returned to their original positions.
Because these blocks are overlapping, for each pixel we obtain many different estimates which need to be combined. Aggregation is a particular averaging procedure which is exploited to take advantage of this redundancy.
A significant improvement is obtained by a specially developed collaborative Wiener filtering.
We develop algorithms based on this novel denoising strategy. The experimental results presented here demonstrate that the developed methods achieve state-of-the-art denoising performance in terms of both peak signal-to-noise ratio and subjective visual quality.
Software
Following the principle of reproducible research, we make our software routines available for non-profit scientific research, enabling others researchers to understand, reproduce and extend our work. Unauthorized use of the routines for industrial or profit-oriented activities is expressively prohibited. Please read the TUT limited license before you proceed with downloading any of the files.
Table 3. PSNR (dB) results of the grayscale VBM3D method on test sequences that can be found in this package. Note, the noisy videos had not been clipped in the interval [0,255] in order to conform to the considered observation model. The number of frames of each sequence is denoted with the @ symbol.
σ¹/PSNR
Salesman
288x352@50
Tennis
240x352@150
Flower garden
240x352@150
Miss America
288x360@150
Costguard
144x176@300
Foreman
288x352@300
Bus
288x352@150
Bicycle
576x720@30
5 / 34.16
40.44
38.47
36.49
41.58
38.25
39.77
37.55
40.89
10 / 28.13
37.21
34.68
32.11
39.61
34.78
36.46
33.32
37.62
15 / 24.61
35.44
32.63
29.81
38.64
33.00
34.64
31.05
35.67
20 / 22.11
34.04
31.20
28.24
38.85
31.71
33.30
29.57
34.18
25 / 20.18
32.79
30.11
27.00
37.10
30.62
32.19
28.48
32.90
30 / 18.59
31.68
29.22
25.89
36.41
29.68
31.27
27.59
31.77
35 / 17.25
30.72
28.56
25.16
36.87
28.92
30.56
26.91
30.85
¹ The noisy images/videos were created by adding zero-mean white Gaussian noise with the following MATLAB commands:
randn('seed', 0);
noisy = original + sigma*randn(size(original));
Table 4. PSNR (dB) results of the grayscale VBM3D method on noisy videos that can be found in this package. The noisy videos are quantized to 8 bits in the range [0,255]. Note, the quantization is responsible for the marginal differences with the corresponding results in Table 3.