Keywords

1 Introduction

The Multispectral images can provide more information about real scenes. However, in reality, multispectral images usually contain some degree of noise because of the external conditions, which can adversely affect the subsequent processing.

Xie et al. proposed a new denoising method based on tensors that considers the two intrinsic properties of multispectral images, namely, spectral global correlation and spatial non-local self-similarity [1]. This method is superior to other algorithms that only consider an intrinsic characteristic. Peng et al. proposed a method for multispectral image denoising using an optimized vector bilateral filter. The parameter optimization program is based on Stein’s unbiased estimation [2], and the optimized vector bilateral filter provides improved denoising performance on multispectral images. Scheunders proposed a multispectral image denoising technique using inter-band correlation [3] in which redundant wavelet transform is applied and denoising is applied by thresholding wavelet coefficients. The technique was shown to outperform single band wavelet thresholding on multispectral images. Dabov et al. [4] proposed the 3D block matching (BM3D) algorithm, which is an algorithm with good denoising performance. However, when BM3D is used to denoise multispectral images, the image distortion is serious, and the original structure of the image cannot be well maintained. Buades et al. [5] proposed the non-local means (NL-means) algorithm using the idea of neighborhood average denoising, and the restored pixel is the weighted average of all pixels in the image. When the NL-means algorithm is used to denoise the multispectral images, the image can keep its original structure better, but the residual noise is increased.

Hence, to reduce the residual noise of the images and maintain image edges, this paper presents an image denoising method based on both NL-means and bilateral filtering. The method uses the NL-means algorithm to denoise the image and then uses bilateral filtering to filter it. The experimental results show that the visual effects and image quality are improved.

2 Image Denoising Based on NL-Means and Bilateral Filtering

The BM3D algorithm is currently one of the best image denoising algorithms available. However, when BM3D is used to denoise a multispectral image, the result contains a noticeable fuzzy region. The disadvantage of the NL-means algorithm is that a high level of residual noise will remain in the image after denoising, especially in the edges of the image. To further improve the image quality, this paper presents a denoising method based on NL-means and bilateral filtering. First, the image is denoised by NL-means, and the initial denoised image is obtained. Then, the image is further denoised by bilateral filtering.

2.1 Obtaining the Initial Denoising Image Using NL-Means

Although the non-local algorithm uses neighborhood average denoising theory, its neighborhood range is non-local, that is, not limited to the target pixel as the center of the neighborhood, and image blocks are used to compare the similarity of the target pixel.

The NL-means algorithm [6] is as follows: if the noise image is \( \nu = \left\{ {\nu \left( i \right)|i \in I} \right\} \) and the image after denoising is \( NL\left[ \nu \right] \), then the gray value for pixel \( i \) can be calculated as follows:

$$ NL[v](i) = \sum\limits_{j \in I} {w(i,j)v(j)} $$
(1)

where \( w\left( {i,j} \right) \) represents the degree of similarity between two image blocks centered on pixel \( i \) and \( j \), calculated using:

$$ w(i,j) = \frac{1}{Z(i)}\exp ( - \frac{{||v(N_{i} ) - v(N_{j} )||_{2}^{2} }}{{h^{2} }}) $$
(2)
$$ Z(i) = \sum\limits_{j} {\exp ( - \frac{{||v(N_{i} ) - v(N_{j} )||_{2}^{2} }}{{h^{2} }})} $$
(3)

where, \( Z\left( i \right) \) is the normalization factor, \( \nu \left( {N_{i} } \right) \) is the gray scale vector of the corresponding window centered on pixel \( i \), \( h \) is the filter smoothness parameter, and the value of \( w\left( {i,j} \right) \) is between 0 and 1.

2.2 Further Denoising Using Bilateral Filtering

The bilateral filter is a non-linear filter designed based on the analysis of Overton et al. and classical Gaussian filtering algorithm [7]. It has non-iterative, local, and simple features.

Bilateral filtering not only considers the proximity of space, but also the similarity of gray scale relations. Using a non-linear combination of the two, the bilateral filter obtains a smooth image [8]. The formula is as follows:

$$ \hat{I}(x,y) = \frac{{\sum\limits_{{(i,j) \in M_{x,y} }} {\omega_{s} (i,j)\omega_{r} (i,j)I(i,j)} }}{{\sum\limits_{{(i,j) \in M_{x,y} }} {\omega_{s} (i,j)\omega_{r} (i,j)} }} $$
(4)
$$ \omega_{s} (i,j) = \exp ( - \frac{{|i - x|^{2} + |i - y|^{2} }}{{2\sigma_{s}^{2} }}) $$
(5)
$$ \omega_{r} (i,j) = \exp ( - \frac{{|I(i,j) - I(x,y)|^{2} }}{{2\sigma_{r}^{2} }}) $$
(6)

where \( \hat{I} \) is the filtered image, \( M_{x,y} \) denotes the \( \left( {2N + 1} \right) \times \left( {2N + 1} \right) \) spatial neighborhood pixel set centered on \( \left( {x,y} \right) \), \( I\left( {x,y} \right) \) denotes the center point pixel value of \( M\left( {x,y} \right) \), \( I\left( {i,j} \right) \) denotes the pixel value at \( \left( {i,j} \right) \) in \( M_{x,y} \), \( \omega_{s} \left( {i,j} \right) \) is the spatial proximity factor, \( \omega_{r} \left( {i,j} \right) \) is the gray level similarity factor, and \( \sigma_{s} \) \( \sigma_{r} \) are filtering parameters. If we assume that \( \omega \left( {i,j} \right) \) is the weight coefficient, then \( \omega \left( {i,j} \right) = \frac{{\omega_{s} \left( {i,j} \right)\omega_{r} \left( {i,j} \right)}}{c} \), where \( c \) is a constant.

A high level of noise remains in the image when NL-means denoising is used, and bilateral filtering can effectively reduce the image noise and while maintaining the image edges. Combining the two methods for image denoising can achieve a good denoising effect.

SSIM is a reference image quality evaluation index that measures the brightness, contrast, and structure [9]. FSIM is an image quality evaluation algorithm based on the underlying features [10]. The performance of the algorithm is evaluated using SSIM and FSIM values.

3 Experimental Results and Analysis

All experiments in this paper were simulated by adding Gaussian white noise with standard deviations of σ = 10 and 20 to real images. The performance of the algorithm is evaluated using subjective evaluation and objective SSIM and FSIM values. In this paper, we compare the proposed method with the BM3D algorithm, NL-means algorithm, and bilateral filtering. Their parameters are set as follows. The BM3D algorithm uses an 8 × 8 fixed size image block. The NL-means algorithm search window radius is set to 5, its similarity window radius is set to 2, and its smoothing parameter is set to 10. The bilateral filtering template radius is set to 8. These parameters are the optimal values obtained after a large number of experiments. For this study, we use multiple images for testing. Figure 1 Footnote 1 shows the original images used in the experiment. Tables 1 and 2, respectively, show the performance evaluation results for noise levels of σ = 10 and σ = 20 for each of the four methods.

Fig. 1.
figure 1

Original images used in the experiment.

Table 1. Performance evaluation of the four methods for σ = 10.
Table 2. Performance evaluation of the four methods for σ = 20.

We choose two images, “balloons” and “peppers,” to discuss in detail. Figure 2 shows a balloon noisy image where σ = 10, and Fig. 3 shows the image after denoising using the proposed method. For further comparison, peppers images corrupted by noise are processed using the BM3D algorithm, NL-means algorithm, bilateral filtering, and the proposed method. Figure 4 shows the noisy image with σ = 10, and Fig. 6, shows the results after all methods have been applied. Table 1 shows the resulting values of the performance evaluation metrics for the four methods for all images. Figure 5 shows the noisy image at σ = 20, and Fig. 7 shows the results after all methods have been applied.

Fig. 2.
figure 2

Noisy image

Fig. 3.
figure 3

Image after denoising

Fig. 4.
figure 4

Noisy image (σ = 10)

Fig. 5.
figure 5

Noisy image (σ = 20)

Fig. 6.
figure 6

Images after denoising using (left to right) BM3D, NL-means, bilateral filtering, and the proposed method (σ = 10).

Fig. 7.
figure 7

Images after denoising using (left to right) BM3D, NL-means, bilateral filtering, and the proposed method (σ = 20).

Moreover, Table 2 shows the resulting values of the performance evaluation metrics for all four methods. Subjectively, the proposed method obtains a clearer image with less noise. Moreover, the values of the objective evaluation metrics are also higher. Therefore, this method is superior to the other three at removing noise and preserving edges. The results of the two experiments show that when σ is small, the effect of this method is better. When σ is large, the denoising and edge-preserving performance decrease, but are still better than those of the other three methods.

4 Conclusions

In this paper, the NL-means and bilateral filtering methods were combined for image denoising. Compared with the BM3D algorithm and bilateral filtering, the details are more prominent, the picture is clearer, and there is less noise remaining when this method is used. Compared with the results of the NL-means algorithm, the algorithm proposed in this paper has noticeably better results and better denoising performance with respect to subjective visual effect, SSIM, and FSIM.