International Journal of Fuzzy Logic and Intelligent Systems 2020; 20(3): 169-180
Published online September 25, 2020
https://doi.org/10.5391/IJFIS.2020.20.3.169
© The Korean Institute of Intelligent Systems
Heri Prasetyo and Umi Salamah
Department of Informatics, Universitas Sebelas Maret (UNS), Surakarta, Indonesia
Correspondence to :
Heri Prasetyo (heri.prasetyo@staff.uns.ac.id)
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted noncommercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
This paper presents a simple technique for estimating the noise levels in noisy images corrupted by additive white Gaussian noise. The proposed technique modifies the existing singular-value-de-composition-based noise level estimation method. The proposed method calculates the sum of trailing singular values to infer noise levels. Particle swarm optimization and its variants can be used compute the optimal scalar value for the proposed noise level estimation method over a set of training images. As discussed in the experimental section, the proposed method outperforms existing schemes on noise level estimation tasks. Additionally, the estimated noise obtained from the proposed method can be used to improve the quality of denoised images.
Keywords: Gaussian, Noise estimation, Scalar value, Singular value, Swarm intelligence
Numerous attempts have been made to improve the performance of particle swarm optimization (PSO) [1] and its variants [2–5]. Such methods can be regarded as meta-heuristic algorithms with population-based approaches. These algorithms mimic the behavior of organisms to perform function optimization. The inspiration for PSO and its variants comes from bird movement in the sky, fish schooling in the ocean, and other swarm movements in nature. Candidate solutions in PSO are represented by particles. A PSO population typically consists of many swarm particles and the position of each particle is iteratively updated based on a fitness function. PSO and its variants perform function optimization using a derivative-free approach. One does not typically need to know the derivative of a given function to perform optimization. Overall, PSO and its variants have yielded many promising results in the scientific research and engineering fields.
Additionally, noise level estimation and image denoising algorithms have also attracted significant attention in recent years [6–11]. The noise level estimation method presented in [6] aims to infer the level of noise in an image corrupted with additive white Gaussian noise (AWGN). It calculates the sum of trailing singular values in noisy image to estimate noise levels. In general, image denoising [7–11] attempts to remove AWGN from noisy images using various strategies. Many image denoising methods require prior knowledge regarding noise levels to suppress the occurrence of noise. Therefore, one must know the noise level in an image in advance to perform image denoising.
However, image denoising with prior knowledge is impractical in many image processing and computer vision applications. In an ideal situation, noise levels should be directly estimated from noisy images. In this paper, we consider an image denoising task without prior knowledge. Therefore, the noise level for image denoising must be directly estimated from a noisy image. We present a modified version of the singular value decomposition (SVD)-based noise level estimation method presented in [6]. The parameters for SVD-based estimation are obtained by exploiting the PSO algorithm. The proposed method overcomes the challenge of image denoising when prior information regarding noise levels is unavailable. The proposed method can be further extended for multiple secret sharing [12, 13], progressive secret sharing [14], vehicle verification [15], and other image processing and computer vision tasks. This remainder of this paper is organized as follows. Section 2 briefly describes the basic process of PSO and its variants. Section 3 details the SVD-based noise level estimation method that was presented in [6]. Limitations of this method are discussed in this section and we present the proposed method for performing noise level estimation. Section 4 reports detailed experimental results. Finally, our conclusions and plans for future work are discussed.
This section discusses the PSO algorithm and its variants. PSO [1] has been successfully applied to various optimization problems in scientific and engineering tasks. Based on its simplicity, various modifications to the basic PSO algorithm have been proposed and analyzed in the literature [2–6]. PSO mimics the behaviors of searching strategies in flocking birds, swarm communities, schooling fish, and other swarms of organisms in nature.
PSO operates on an iterative population. PSO consists of
where
In the PSO algorithm and its variants, each particle maintains its position vector
The PSO can achieve local or global optimal solutions at the end of iteration. The swarm particle with the best fitness value is regarded as the optimum solution
The most critical step in PSO and its variants is the updating of velocity. Different updating strategies lead to different optimal values. The following subsections describe how a few different PSO variants handle velocity updates.
Velocity updating in classical PSO [1] is defined as follow:
where
Velocity updating in linearly decreased weight PSO (LDWPSO) [2] is defined as follows:
where
The main goal of CoPSO is to reduce the number of PSO parameters by eliminating the usage of an inertia weight. Velocity updating in constriction PSO (CoPSO) [3] is defined as follows:
where
Similar to the CoPSO algorithm, Absolute Gaussian PSO (AGPSO) [4] eliminates several predetermined PSO parameters. As reported in [4], the stochastic coefficients for individual and social cognitions should lie in the range of [0.72, 0.86]. The absolute value of a Gaussian random number is an ideal solution for the stochastic coefficients. Therefore, velocity updating in AGPSO is simplified as follows:
where | | denotes the absolute value of a Gaussian random number with zero mean and unit variance.
Based on the observation in [5], the updated position of each swarm particle depends on the cumulative momentum in the previous iteration. Velocity updating in proportional-integral-derivative-based strategy PSO (PBSPSO) [5] can be set to use the same method as classical PSO or its variants. However, the main difference lies in the position updating for each swarm particle. This position updating is defined as follows:
where
where
This section first reviews the traditional SVD-based noise level noise estimation method [6]. The proposed swarm-intelligence-based noise level estimation method is also presented in this section. We begin by presenting the formal model of AWGN. Let
where . The symbol
This section describes noise level estimation based on the information obtained from SVD computation. It was proven in [6] that SVD yields important information related to noise levels. In some extensions, the singular value matrix of a noisy image preserves this noise level information. To infer the noise level of a noisy image
where
The sum of trailing singular values from matrix
where
where
However, a simple linear function of (
where
where
Similar to the previous discussion, the trailing singular values of
where
where
Using simple algebraic manipulation, we obtain the following forms:
The formulation in (
Finally, the value of
where
The most critical step in SVD-based noise level estimation is the determination of
where
All images in
where
The PSO algorithms aim to compute the optimal
The most important component of the PSO algorithm is the fitness function. The different candidate solutions recorded by each swarm particle yield different fitness scores. For noise level estimation, the fitness function for PSO is defined as the mean squared error between the real noise level and estimated noise level. This fitness function is formally defined as follows:
where
The optimization problem for noise level estimation can be further defined as follows:
for
where
This section reports extensive experimental results for the proposed method. We first investigated the performance of swarm intelligence for finding the optimal value of the fitness function. Subsequently, the performance of the proposed noise level estimation method was evaluated in terms of objective measurements. Finally, we examined the performance of the proposed noise level estimation method for image denoising tasks.
The performances of various swarm intelligence methods are documented in this subsection. In our experiments, we considered the six grayscale images presented in Figure 2 as a training set. These images were extracted from the Kodak image dataset. For training purposes, we generated three training sets consisting of all images with various image sizes. The first to third training sets were composed of images with sizes of 128 × 128, 256 × 256, and 512 × 512, respectively. One training set only contained one image size (i.e., all images in the first training set were all of size 128 × 128). All images in each training set were corrupted with AWGN at various noise levels, meaning
The main goal of swarm intelligence algorithms is to obtain an optimal scalar value
For the sake of fair comparison, each PSO algorithm was executed in 30 independent runs. The best run, worst run, and other criteria were investigated for these independent runs. Figure 4 presents the convergence histories for the best and worst runs for various PSO variants when the image size is 128 × 128. As shown in this figure, PSO and its variants are able to obtain the optimal values indicated by the convergence results after several iterations.
An additional experiment was conducted to analyze the performance of the PSO algorithms in terms of solution quality. We compared the minimum, maximum, mean, and median values, as well as the standard deviations of all PSO algorithms for various image sizes. We computed these values based on all of the independent runs. Table 1 presents the performance comparisons. All of the PSO methods yield almost identical results, but with slight differences in their standard deviation. All PSO variants yield acceptable optimal values with small standard deviations for all image sizes.
The optimal scalar value
We further analyzed the performance of the proposed noise level estimation method in terms of objective measurements. We evaluated its performance on six grayscale images acting as a testing set. The testing images were extracted from the Kodak image dataset. Figure 5 presents all of the images used in our experiments. In our experiments, all of the images were rescaled to derive sets of testing images of various sizes (e.g., 128 × 128, 256 × 256, and 512 × 512). All of the images were then corrupted using the AWGN process with various noise levels, meaning
The similarity between the ground truth
A smaller MAE value indicates better performance for noise level estimation. Table 3 presents performance comparisons in terms of MAE for various methods and image sizes. In our experiments, we applied the AWGN process over 30 times for each noise level and testing image. Therefore, the MAE values in Table 3 represent average values for 30 runs of noise level estimation. The proposed method provides the best performance for all image sizes, as indicated by its small MAE values.
Additionally, the performance of the proposed method was also compared to those of the other methods in terms of standard deviation. A smaller standard deviation indicates better stability for noise level estimation. All images in the testing set were corrupted with AWGN 30 times for each noise level and the standard deviations were computed for all testing images. Table 4 presents performance comparisons in terms of standard deviation. One can see that the proposed method yields the best performance in terms of standard deviation for all image sizes. One can conclude that the proposed swarm-intelligence-based noise level estimation offers promising results for estimating AWGN in noisy images.
We also conducted an experiment to investigate the performance of the proposed noise level estimation method for image denoising tasks. We first discuss its performance based on visual inspections. We consider one image from Figure 5 as a testing image. Figure 6(a) presents a noisy image corrupted with AWGN over
Another experiment was conducted to measure the performance of the proposed method compared to the other methods in terms of objective measurements. Two metrics were considered in this experiment: peak-signal-to-noise ratio (PSNR) and the structural similarity index metric (SSIM). Higher values of PSNR and SSIM indicate better performance. In this experiment, all of the images in Figure 5 were considered as a testing set. All of the images were rescaled to various sizes (e.g., 128 × 128, 256 × 256, and 512 × 512). All images were corrupted with AWGN at various noise levels of
A simple technique for estimating noise levels was presented in this paper. This technique leverages the effectiveness of SVD-based noise level estimation. Noise levels are estimated from noisy images simply by analyzing their trailing singular values. The proposed method exploits a swarm intelligence approach to determine the optimal scalar value for noise level estimation. As documented in the experimental section, the proposed method outperforms previous methods on noise level estimation tasks. In future work, the proposed method can be extended to color images and videos. Additional strategies using PSO and its variants can also be applied to achieve better accuracy for determining the optimal scalar value. Other nature-inspired algorithms can also be investigated to achieve better performance compared to PSO and its variants. The second step in the proposed method of injecting additional AWGN into noisy images could be removed to avoid obscuring important information in images, which would lead to more accurate estimated noise levels.
No potential conflict of interest relevant to this article was reported.
Image denoising results for (a) a noisy image
Table 1. Optimal fitness values for various PSO methods.
Image size | Method | Min | Max | Mean | Median | SD |
---|---|---|---|---|---|---|
128×128 | Classical PSO | 12.286 | 12.286 | 12.286 | 12.286 | 8.93×10−5 |
LDWPSO | 12.286 | 12.286 | 12.286 | 12.286 | 6.70×10−15 | |
CoPSO | 12.286 | 12.286 | 12.286 | 12.286 | 7.41×10−15 | |
AGPSO | 12.286 | 12.286 | 12.286 | 12.286 | 5.64×10−15 | |
PBSPSO | 12.286 | 12.286 | 12.286 | 12.286 | 5.57×10−15 | |
256×256 | Classical PSO | 2.746 | 2.746 | 2.746 | 2.746 | 2.90×10−5 |
LDWPSO | 2.746 | 2.746 | 2.746 | 2.746 | 1.27×10−15 | |
CoPSO | 2.746 | 2.746 | 2.746 | 2.746 | 1.76×10−15 | |
AGPSO | 2.746 | 2.746 | 2.746 | 2.746 | 7.69×10−16 | |
PBSPSO | 2.746 | 2.746 | 2.746 | 2.746 | 1.54×10−15 | |
512×512 | Classical PSO | 2.075 | 2.075 | 2.075 | 2.075 | 1.21×10−5 |
LDWPSO | 2.075 | 2.075 | 2.075 | 2.075 | 1.20×10−15 | |
CoPSO | 2.075 | 2.075 | 2.075 | 2.075 | 1.29×10−15 | |
AGPSO | 2.075 | 2.075 | 2.075 | 2.075 | 8.45×10−16 | |
PBSPSO | 2.075 | 2.075 | 2.075 | 2.075 | 9.90×10−16 |
Table 2. Optimal
Method | Image size | ||
---|---|---|---|
128 × 128 | 256 × 256 | 512 × 512 | |
7.020 | 9.830 | 13.870 | |
7.328 | 10.246 | 14.375 | |
6.848 | 9.547 | 13.900 | |
6.776 | 9.656 | 13.683 | |
6.776 | 9.656 | 13.683 | |
6.776 | 9.656 | 13.683 | |
6.776 | 9.656 | 13.683 |
Table 3. Performance comparisons in terms of MAE between the proposed method and previous method.
Noise level | 128 × 128 | 256 × 256 | 512 × 512 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
α [6] | α [6] | α [6] | |||||||||
10 | 4.10 | 2.00 | 1.40 | 3.19 | 1.41 | 1.18 | 2.82 | 1.27 | 1.02 | ||
20 | 3.85 | 1.56 | 0.99 | 3.13 | 1.06 | 0.83 | 2.79 | 0.96 | 0.76 | ||
30 | 4.26 | 1.74 | 1.18 | 3.41 | 1.05 | 0.76 | 2.93 | 0.89 | 0.68 | ||
40 | 4.64 | 2.07 | 1.27 | 3.60 | 1.19 | 0.75 | 3.14 | 0.90 | 0.65 | ||
50 | 5.22 | 2.34 | 1.68 | 4.10 | 1.29 | 0.95 | 3.47 | 0.98 | 0.70 | ||
60 | 5.42 | 2.94 | 2.20 | 4.28 | 1.39 | 1.10 | 3.85 | 1.02 | 0.71 | ||
70 | 6.66 | 3.28 | 2.81 | 4.83 | 1.60 | 1.35 | 4.14 | 1.09 | 0.88 | ||
80 | 7.06 | 4.29 | 3.43 | 5.41 | 2.07 | 1.64 | 4.51 | 1.23 | 0.95 | ||
90 | 8.26 | 4.98 | 4.25 | 6.17 | 2.48 | 2.04 | 4.71 | 1.56 | 1.08 | ||
100 | 8.39 | 4.87 | 5.09 | 6.29 | 2.83 | 2.55 | 5.17 | 1.56 | 1.36 | ||
Average | 5.79 | 3.01 | 4.44 | 1.64 | 3.75 | 1.15 |
Table 4. Performance comparisons in terms of standard deviation between the proposed method and previous method.
Noise level | 128 × 128 | 256 × 256 | 512 × 512 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
α [6] | α [6] | α [6] | |||||||||
10 | 1.66 | 1.42 | 0.79 | 1.34 | 1.05 | 0.73 | 1.46 | 1.18 | 0.99 | ||
20 | 1.26 | 1.10 | 0.68 | 1.04 | 0.81 | 0.53 | 1.05 | 0.85 | 0.67 | ||
30 | 1.36 | 1.15 | 0.80 | 0.95 | 0.74 | 0.48 | 0.94 | 0.77 | 0.54 | ||
40 | 1.65 | 1.46 | 0.96 | 1.02 | 0.81 | 0.55 | 0.84 | 0.70 | 0.52 | ||
50 | 2.20 | 1.71 | 1.20 | 1.22 | 0.90 | 0.67 | 0.88 | 0.71 | 0.50 | ||
60 | 2.76 | 2.19 | 1.67 | 1.44 | 1.08 | 0.80 | 0.92 | 0.76 | 0.51 | ||
70 | 3.59 | 2.37 | 2.08 | 1.57 | 1.25 | 0.92 | 1.03 | 0.77 | 0.63 | ||
80 | 4.01 | 3.08 | 2.28 | 2.28 | 1.51 | 1.22 | 1.29 | 0.86 | 0.71 | ||
90 | 5.07 | 3.72 | 3.69 | 2.81 | 1.87 | 1.54 | 1.57 | 1.10 | 0.88 | ||
100 | 5.36 | 4.57 | 3.75 | 2.97 | 1.99 | 2.07 | 1.71 | 1.11 | 0.96 | ||
Average | 2.89 | 2.28 | 1.66 | 1.20 | 1.17 | 0.88 |
Table 5. Performance comparisons in terms of average PSNR for various noise estimation methods.
Method | |||||||||
---|---|---|---|---|---|---|---|---|---|
128 × 128 | 256 × 256 | 512 × 512 | 128 × 128 | 256 × 256 | 512 × 512 | 128 × 128 | 256 × 256 | 512 × 512 | |
Gaussian filtering | 24.55 | 25.09 | 25.10 | 23.05 | 23.38 | 23.41 | 21.80 | 22.18 | 22.17 |
27.26 | 28.20 | 28.78 | 24.09 | 24.88 | 25.52 | 22.85 | 23.81 | 24.40 | |
27.51 | 28.41 | 28.98 | 24.21 | 24.94 | 25.60 | 22.89 | 23.85 | 24.45 | |
27.65 | 28.55 | 24.28 | 25.02 | 22.96 | 23.88 |
Table 6. Performance comparisons in terms of average SSIM for various noise estimation methods.
Method | |||||||||
---|---|---|---|---|---|---|---|---|---|
128 × 128 | 256 × 256 | 512 × 512 | 128 × 128 | 256 × 256 | 512 × 512 | 128 × 128 | 256 × 256 | 512 × 512 | |
Gaussian filtering | 0.68 | 0.69 | 0.68 | 0.57 | 0.56 | 0.54 | 0.49 | 0.48 | 0.46 |
0.78 | 0.80 | 0.80 | 0.65 | 0.67 | 0.69 | 0.58 | 0.63 | 0.64 | |
0.80 | 0.80 | 0.81 | 0.66 | 0.67 | 0.69 | 0.59 | 0.63 | 0.64 | |
0.80 | 0.81 | 0.81 | 0.66 | 0.68 | 0.69 | 0.59 | 0.63 | 0.64 |
International Journal of Fuzzy Logic and Intelligent Systems 2020; 20(3): 169-180
Published online September 25, 2020 https://doi.org/10.5391/IJFIS.2020.20.3.169
Copyright © The Korean Institute of Intelligent Systems.
Heri Prasetyo and Umi Salamah
Department of Informatics, Universitas Sebelas Maret (UNS), Surakarta, Indonesia
Correspondence to:Heri Prasetyo (heri.prasetyo@staff.uns.ac.id)
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted noncommercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
This paper presents a simple technique for estimating the noise levels in noisy images corrupted by additive white Gaussian noise. The proposed technique modifies the existing singular-value-de-composition-based noise level estimation method. The proposed method calculates the sum of trailing singular values to infer noise levels. Particle swarm optimization and its variants can be used compute the optimal scalar value for the proposed noise level estimation method over a set of training images. As discussed in the experimental section, the proposed method outperforms existing schemes on noise level estimation tasks. Additionally, the estimated noise obtained from the proposed method can be used to improve the quality of denoised images.
Keywords: Gaussian, Noise estimation, Scalar value, Singular value, Swarm intelligence
Numerous attempts have been made to improve the performance of particle swarm optimization (PSO) [1] and its variants [2–5]. Such methods can be regarded as meta-heuristic algorithms with population-based approaches. These algorithms mimic the behavior of organisms to perform function optimization. The inspiration for PSO and its variants comes from bird movement in the sky, fish schooling in the ocean, and other swarm movements in nature. Candidate solutions in PSO are represented by particles. A PSO population typically consists of many swarm particles and the position of each particle is iteratively updated based on a fitness function. PSO and its variants perform function optimization using a derivative-free approach. One does not typically need to know the derivative of a given function to perform optimization. Overall, PSO and its variants have yielded many promising results in the scientific research and engineering fields.
Additionally, noise level estimation and image denoising algorithms have also attracted significant attention in recent years [6–11]. The noise level estimation method presented in [6] aims to infer the level of noise in an image corrupted with additive white Gaussian noise (AWGN). It calculates the sum of trailing singular values in noisy image to estimate noise levels. In general, image denoising [7–11] attempts to remove AWGN from noisy images using various strategies. Many image denoising methods require prior knowledge regarding noise levels to suppress the occurrence of noise. Therefore, one must know the noise level in an image in advance to perform image denoising.
However, image denoising with prior knowledge is impractical in many image processing and computer vision applications. In an ideal situation, noise levels should be directly estimated from noisy images. In this paper, we consider an image denoising task without prior knowledge. Therefore, the noise level for image denoising must be directly estimated from a noisy image. We present a modified version of the singular value decomposition (SVD)-based noise level estimation method presented in [6]. The parameters for SVD-based estimation are obtained by exploiting the PSO algorithm. The proposed method overcomes the challenge of image denoising when prior information regarding noise levels is unavailable. The proposed method can be further extended for multiple secret sharing [12, 13], progressive secret sharing [14], vehicle verification [15], and other image processing and computer vision tasks. This remainder of this paper is organized as follows. Section 2 briefly describes the basic process of PSO and its variants. Section 3 details the SVD-based noise level estimation method that was presented in [6]. Limitations of this method are discussed in this section and we present the proposed method for performing noise level estimation. Section 4 reports detailed experimental results. Finally, our conclusions and plans for future work are discussed.
This section discusses the PSO algorithm and its variants. PSO [1] has been successfully applied to various optimization problems in scientific and engineering tasks. Based on its simplicity, various modifications to the basic PSO algorithm have been proposed and analyzed in the literature [2–6]. PSO mimics the behaviors of searching strategies in flocking birds, swarm communities, schooling fish, and other swarms of organisms in nature.
PSO operates on an iterative population. PSO consists of
where
In the PSO algorithm and its variants, each particle maintains its position vector
The PSO can achieve local or global optimal solutions at the end of iteration. The swarm particle with the best fitness value is regarded as the optimum solution
The most critical step in PSO and its variants is the updating of velocity. Different updating strategies lead to different optimal values. The following subsections describe how a few different PSO variants handle velocity updates.
Velocity updating in classical PSO [1] is defined as follow:
where
Velocity updating in linearly decreased weight PSO (LDWPSO) [2] is defined as follows:
where
The main goal of CoPSO is to reduce the number of PSO parameters by eliminating the usage of an inertia weight. Velocity updating in constriction PSO (CoPSO) [3] is defined as follows:
where
Similar to the CoPSO algorithm, Absolute Gaussian PSO (AGPSO) [4] eliminates several predetermined PSO parameters. As reported in [4], the stochastic coefficients for individual and social cognitions should lie in the range of [0.72, 0.86]. The absolute value of a Gaussian random number is an ideal solution for the stochastic coefficients. Therefore, velocity updating in AGPSO is simplified as follows:
where | | denotes the absolute value of a Gaussian random number with zero mean and unit variance.
Based on the observation in [5], the updated position of each swarm particle depends on the cumulative momentum in the previous iteration. Velocity updating in proportional-integral-derivative-based strategy PSO (PBSPSO) [5] can be set to use the same method as classical PSO or its variants. However, the main difference lies in the position updating for each swarm particle. This position updating is defined as follows:
where
where
This section first reviews the traditional SVD-based noise level noise estimation method [6]. The proposed swarm-intelligence-based noise level estimation method is also presented in this section. We begin by presenting the formal model of AWGN. Let
where . The symbol
This section describes noise level estimation based on the information obtained from SVD computation. It was proven in [6] that SVD yields important information related to noise levels. In some extensions, the singular value matrix of a noisy image preserves this noise level information. To infer the noise level of a noisy image
where
The sum of trailing singular values from matrix
where
where
However, a simple linear function of (
where
where
Similar to the previous discussion, the trailing singular values of
where
where
Using simple algebraic manipulation, we obtain the following forms:
The formulation in (
Finally, the value of
where
The most critical step in SVD-based noise level estimation is the determination of
where
All images in
where
The PSO algorithms aim to compute the optimal
The most important component of the PSO algorithm is the fitness function. The different candidate solutions recorded by each swarm particle yield different fitness scores. For noise level estimation, the fitness function for PSO is defined as the mean squared error between the real noise level and estimated noise level. This fitness function is formally defined as follows:
where
The optimization problem for noise level estimation can be further defined as follows:
for
where
This section reports extensive experimental results for the proposed method. We first investigated the performance of swarm intelligence for finding the optimal value of the fitness function. Subsequently, the performance of the proposed noise level estimation method was evaluated in terms of objective measurements. Finally, we examined the performance of the proposed noise level estimation method for image denoising tasks.
The performances of various swarm intelligence methods are documented in this subsection. In our experiments, we considered the six grayscale images presented in Figure 2 as a training set. These images were extracted from the Kodak image dataset. For training purposes, we generated three training sets consisting of all images with various image sizes. The first to third training sets were composed of images with sizes of 128 × 128, 256 × 256, and 512 × 512, respectively. One training set only contained one image size (i.e., all images in the first training set were all of size 128 × 128). All images in each training set were corrupted with AWGN at various noise levels, meaning
The main goal of swarm intelligence algorithms is to obtain an optimal scalar value
For the sake of fair comparison, each PSO algorithm was executed in 30 independent runs. The best run, worst run, and other criteria were investigated for these independent runs. Figure 4 presents the convergence histories for the best and worst runs for various PSO variants when the image size is 128 × 128. As shown in this figure, PSO and its variants are able to obtain the optimal values indicated by the convergence results after several iterations.
An additional experiment was conducted to analyze the performance of the PSO algorithms in terms of solution quality. We compared the minimum, maximum, mean, and median values, as well as the standard deviations of all PSO algorithms for various image sizes. We computed these values based on all of the independent runs. Table 1 presents the performance comparisons. All of the PSO methods yield almost identical results, but with slight differences in their standard deviation. All PSO variants yield acceptable optimal values with small standard deviations for all image sizes.
The optimal scalar value
We further analyzed the performance of the proposed noise level estimation method in terms of objective measurements. We evaluated its performance on six grayscale images acting as a testing set. The testing images were extracted from the Kodak image dataset. Figure 5 presents all of the images used in our experiments. In our experiments, all of the images were rescaled to derive sets of testing images of various sizes (e.g., 128 × 128, 256 × 256, and 512 × 512). All of the images were then corrupted using the AWGN process with various noise levels, meaning
The similarity between the ground truth
A smaller MAE value indicates better performance for noise level estimation. Table 3 presents performance comparisons in terms of MAE for various methods and image sizes. In our experiments, we applied the AWGN process over 30 times for each noise level and testing image. Therefore, the MAE values in Table 3 represent average values for 30 runs of noise level estimation. The proposed method provides the best performance for all image sizes, as indicated by its small MAE values.
Additionally, the performance of the proposed method was also compared to those of the other methods in terms of standard deviation. A smaller standard deviation indicates better stability for noise level estimation. All images in the testing set were corrupted with AWGN 30 times for each noise level and the standard deviations were computed for all testing images. Table 4 presents performance comparisons in terms of standard deviation. One can see that the proposed method yields the best performance in terms of standard deviation for all image sizes. One can conclude that the proposed swarm-intelligence-based noise level estimation offers promising results for estimating AWGN in noisy images.
We also conducted an experiment to investigate the performance of the proposed noise level estimation method for image denoising tasks. We first discuss its performance based on visual inspections. We consider one image from Figure 5 as a testing image. Figure 6(a) presents a noisy image corrupted with AWGN over
Another experiment was conducted to measure the performance of the proposed method compared to the other methods in terms of objective measurements. Two metrics were considered in this experiment: peak-signal-to-noise ratio (PSNR) and the structural similarity index metric (SSIM). Higher values of PSNR and SSIM indicate better performance. In this experiment, all of the images in Figure 5 were considered as a testing set. All of the images were rescaled to various sizes (e.g., 128 × 128, 256 × 256, and 512 × 512). All images were corrupted with AWGN at various noise levels of
A simple technique for estimating noise levels was presented in this paper. This technique leverages the effectiveness of SVD-based noise level estimation. Noise levels are estimated from noisy images simply by analyzing their trailing singular values. The proposed method exploits a swarm intelligence approach to determine the optimal scalar value for noise level estimation. As documented in the experimental section, the proposed method outperforms previous methods on noise level estimation tasks. In future work, the proposed method can be extended to color images and videos. Additional strategies using PSO and its variants can also be applied to achieve better accuracy for determining the optimal scalar value. Other nature-inspired algorithms can also be investigated to achieve better performance compared to PSO and its variants. The second step in the proposed method of injecting additional AWGN into noisy images could be removed to avoid obscuring important information in images, which would lead to more accurate estimated noise levels.
Schematic diagram of the proposed noise level estimation method for image denoising.
Set of testing images used in our experiments.
Relationships between
Convergence histories of PSO training for the (a) best runs and (b) worst runs.
Set of testing images used in our experiments.
Image denoising results for (a) a noisy image
Table 1 . Optimal fitness values for various PSO methods.
Image size | Method | Min | Max | Mean | Median | SD |
---|---|---|---|---|---|---|
128×128 | Classical PSO | 12.286 | 12.286 | 12.286 | 12.286 | 8.93×10−5 |
LDWPSO | 12.286 | 12.286 | 12.286 | 12.286 | 6.70×10−15 | |
CoPSO | 12.286 | 12.286 | 12.286 | 12.286 | 7.41×10−15 | |
AGPSO | 12.286 | 12.286 | 12.286 | 12.286 | 5.64×10−15 | |
PBSPSO | 12.286 | 12.286 | 12.286 | 12.286 | 5.57×10−15 | |
256×256 | Classical PSO | 2.746 | 2.746 | 2.746 | 2.746 | 2.90×10−5 |
LDWPSO | 2.746 | 2.746 | 2.746 | 2.746 | 1.27×10−15 | |
CoPSO | 2.746 | 2.746 | 2.746 | 2.746 | 1.76×10−15 | |
AGPSO | 2.746 | 2.746 | 2.746 | 2.746 | 7.69×10−16 | |
PBSPSO | 2.746 | 2.746 | 2.746 | 2.746 | 1.54×10−15 | |
512×512 | Classical PSO | 2.075 | 2.075 | 2.075 | 2.075 | 1.21×10−5 |
LDWPSO | 2.075 | 2.075 | 2.075 | 2.075 | 1.20×10−15 | |
CoPSO | 2.075 | 2.075 | 2.075 | 2.075 | 1.29×10−15 | |
AGPSO | 2.075 | 2.075 | 2.075 | 2.075 | 8.45×10−16 | |
PBSPSO | 2.075 | 2.075 | 2.075 | 2.075 | 9.90×10−16 |
Table 2 . Optimal
Method | Image size | ||
---|---|---|---|
128 × 128 | 256 × 256 | 512 × 512 | |
7.020 | 9.830 | 13.870 | |
7.328 | 10.246 | 14.375 | |
6.848 | 9.547 | 13.900 | |
6.776 | 9.656 | 13.683 | |
6.776 | 9.656 | 13.683 | |
6.776 | 9.656 | 13.683 | |
6.776 | 9.656 | 13.683 |
Table 3 . Performance comparisons in terms of MAE between the proposed method and previous method.
Noise level | 128 × 128 | 256 × 256 | 512 × 512 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
α [6] | α [6] | α [6] | |||||||||
10 | 4.10 | 2.00 | 1.40 | 3.19 | 1.41 | 1.18 | 2.82 | 1.27 | 1.02 | ||
20 | 3.85 | 1.56 | 0.99 | 3.13 | 1.06 | 0.83 | 2.79 | 0.96 | 0.76 | ||
30 | 4.26 | 1.74 | 1.18 | 3.41 | 1.05 | 0.76 | 2.93 | 0.89 | 0.68 | ||
40 | 4.64 | 2.07 | 1.27 | 3.60 | 1.19 | 0.75 | 3.14 | 0.90 | 0.65 | ||
50 | 5.22 | 2.34 | 1.68 | 4.10 | 1.29 | 0.95 | 3.47 | 0.98 | 0.70 | ||
60 | 5.42 | 2.94 | 2.20 | 4.28 | 1.39 | 1.10 | 3.85 | 1.02 | 0.71 | ||
70 | 6.66 | 3.28 | 2.81 | 4.83 | 1.60 | 1.35 | 4.14 | 1.09 | 0.88 | ||
80 | 7.06 | 4.29 | 3.43 | 5.41 | 2.07 | 1.64 | 4.51 | 1.23 | 0.95 | ||
90 | 8.26 | 4.98 | 4.25 | 6.17 | 2.48 | 2.04 | 4.71 | 1.56 | 1.08 | ||
100 | 8.39 | 4.87 | 5.09 | 6.29 | 2.83 | 2.55 | 5.17 | 1.56 | 1.36 | ||
Average | 5.79 | 3.01 | 4.44 | 1.64 | 3.75 | 1.15 |
Table 4 . Performance comparisons in terms of standard deviation between the proposed method and previous method.
Noise level | 128 × 128 | 256 × 256 | 512 × 512 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
α [6] | α [6] | α [6] | |||||||||
10 | 1.66 | 1.42 | 0.79 | 1.34 | 1.05 | 0.73 | 1.46 | 1.18 | 0.99 | ||
20 | 1.26 | 1.10 | 0.68 | 1.04 | 0.81 | 0.53 | 1.05 | 0.85 | 0.67 | ||
30 | 1.36 | 1.15 | 0.80 | 0.95 | 0.74 | 0.48 | 0.94 | 0.77 | 0.54 | ||
40 | 1.65 | 1.46 | 0.96 | 1.02 | 0.81 | 0.55 | 0.84 | 0.70 | 0.52 | ||
50 | 2.20 | 1.71 | 1.20 | 1.22 | 0.90 | 0.67 | 0.88 | 0.71 | 0.50 | ||
60 | 2.76 | 2.19 | 1.67 | 1.44 | 1.08 | 0.80 | 0.92 | 0.76 | 0.51 | ||
70 | 3.59 | 2.37 | 2.08 | 1.57 | 1.25 | 0.92 | 1.03 | 0.77 | 0.63 | ||
80 | 4.01 | 3.08 | 2.28 | 2.28 | 1.51 | 1.22 | 1.29 | 0.86 | 0.71 | ||
90 | 5.07 | 3.72 | 3.69 | 2.81 | 1.87 | 1.54 | 1.57 | 1.10 | 0.88 | ||
100 | 5.36 | 4.57 | 3.75 | 2.97 | 1.99 | 2.07 | 1.71 | 1.11 | 0.96 | ||
Average | 2.89 | 2.28 | 1.66 | 1.20 | 1.17 | 0.88 |
Table 5 . Performance comparisons in terms of average PSNR for various noise estimation methods.
Method | |||||||||
---|---|---|---|---|---|---|---|---|---|
128 × 128 | 256 × 256 | 512 × 512 | 128 × 128 | 256 × 256 | 512 × 512 | 128 × 128 | 256 × 256 | 512 × 512 | |
Gaussian filtering | 24.55 | 25.09 | 25.10 | 23.05 | 23.38 | 23.41 | 21.80 | 22.18 | 22.17 |
27.26 | 28.20 | 28.78 | 24.09 | 24.88 | 25.52 | 22.85 | 23.81 | 24.40 | |
27.51 | 28.41 | 28.98 | 24.21 | 24.94 | 25.60 | 22.89 | 23.85 | 24.45 | |
27.65 | 28.55 | 24.28 | 25.02 | 22.96 | 23.88 |
Table 6 . Performance comparisons in terms of average SSIM for various noise estimation methods.
Method | |||||||||
---|---|---|---|---|---|---|---|---|---|
128 × 128 | 256 × 256 | 512 × 512 | 128 × 128 | 256 × 256 | 512 × 512 | 128 × 128 | 256 × 256 | 512 × 512 | |
Gaussian filtering | 0.68 | 0.69 | 0.68 | 0.57 | 0.56 | 0.54 | 0.49 | 0.48 | 0.46 |
0.78 | 0.80 | 0.80 | 0.65 | 0.67 | 0.69 | 0.58 | 0.63 | 0.64 | |
0.80 | 0.80 | 0.81 | 0.66 | 0.67 | 0.69 | 0.59 | 0.63 | 0.64 | |
0.80 | 0.81 | 0.81 | 0.66 | 0.68 | 0.69 | 0.59 | 0.63 | 0.64 |
Schematic diagram of the proposed noise level estimation method for image denoising.
|@|~(^,^)~|@|Set of testing images used in our experiments.
|@|~(^,^)~|@|Relationships between
Convergence histories of PSO training for the (a) best runs and (b) worst runs.
|@|~(^,^)~|@|Set of testing images used in our experiments.
|@|~(^,^)~|@|Image denoising results for (a) a noisy image