Article Search
닫기

Original Article

Split Viewer

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

Swarm Intelligence for Additive White Gaussian Noise Level Estimation

Heri Prasetyo and Umi Salamah

Department of Informatics, Universitas Sebelas Maret (UNS), Surakarta, Indonesia

Correspondence to :
Heri Prasetyo (heri.prasetyo@staff.uns.ac.id)

Received: March 19, 2020; Revised: July 7, 2020; Accepted: August 27, 2020

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 [25]. 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 [611]. 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 [711] 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 [26]. 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 N swarm particles, denoted as xi, for i= 1, 2, . . .,N, where i and N denote the i-th particle and the total number of swarm particles, respectively. Each particle consists of d scalar values representing candidate solutions, meaning xi = [x1, x2, . . .,xd]T or xi∈ℝd. Initially, PSO initializes all swarm particles with uniform random numbers in the range [a, b], which are denoted as xi~U (a, b) for i= 1, 2, . . .,d, where U (a, b) is a uniform random number generator in the range [a, b]. The positions of all swarm particles are iteratively updated based on their fitness scores. PSO searches for the optimal swarm particle x* according to the following optimization problem:

minx*f(x),

where f(x) represents the fitness function.

In the PSO algorithm and its variants, each particle maintains its position vector xi, velocity vector vi, best position vector pi, and global best position pg. Let xi(t) and vi(t) be the position and velocity of the i-th swarm particle in the t-th iteration (or generation). The position of the i-th swarm particle in the (t+1)-th iteration is updated according to the following rule:

xi(t+1)xi(t)+vi(t).

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 x*.

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.

2.1 Classical PSO

Velocity updating in classical PSO [1] is defined as follow:

vi(t+1)=wvi(t)+c1r1[pi-xi(t)]+c2r2[pg-xi(t)],

where w is the inertia weight, and c1 and c2 are the individual and social cognition constants, respectively. The values of r1 and r2 are uniform random numbers, meaning r1, r2~U (0, 1). The values of c1, c2, and w are commonly set to two, two, and 0.9, respectively.

2.2 Linearly Decreased Weight PSO

Velocity updating in linearly decreased weight PSO (LDWPSO) [2] is defined as follows:

vi(t+1)=[w2-tT(w2-w1)]vi(t)+c1r1[pi-xi(t)]+c2r2[pg-xi(t)],

where w1 and w2 denote the lower bound and upper bound of the inertia weight, respectively. It is common to set w1 and w2 to 0.4 and 0.9, respectively. LDWPSO gradually reduces the inertia weight as iteration progresses.

2.3 Constriction PSO

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:

vi(t+1)=K{vi(t)+c1r1[pi-xi(t)]+c2r2[pg-xi(t)]},

where K is a constriction parameter (i.e., combination function between c1 and c2). The value of K can be computed as 2|2-ϕ-ϕ2-4ϕ|, where ϕ = c1 + c2> 4. If c1 = c2= 2.05, then we can obtain ϕ = 4.1 and K= 0.729.

2.4 Absolute Gaussian PSO

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:

vi(t+1)=N(0,1)*[pi-xi(t)]+N(0,1)*[pg-xi(t)],

where | | denotes the absolute value of a Gaussian random number with zero mean and unit variance.

2.5 Proportional-Integral-Derivative-Based Strategy PSO

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:

xi(t+1)=xi(t)+vi(t+1)+KdDi(t+1),

where Di (t + 1) and Kd are the derivative term and its weight, respectively. The derivative term Di (t + 1) can be calculated as follows:

Di(t+1)=γDi(t)+{pg(t)-pg(t-1)},

where γ is the weight decay. The values of γ and Kd are typically set to 0.9 and 0.03, respectively.

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 F be an input image in grayscale. The AWGN process on F is modeled as

A=F+N(θ),

where A denotes the noisy image and N(θ) represents the AWGN generated under a Gaussian distribution as . The symbol θ represents the noise level of the AWGN. This study aimed to estimate the noise level from A such that the estimated noise level would be as close as possible to the original input noise level, meaning θ̂θ.

3.1 SVD-Based Noise Level Estimation

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 A, we first decompose this image using SVD as

AUAΣAVAT,

where UA and VA are left and right singular vectors satisfying the unitary property as UAUAT=UATUA=I and VAVAT=VATVA=I, respectively. ∑A is a singular value matrix consisting of non-increasing singular values along its diagonal, which is denoted as ΣA=diag {σ1A,σ2A,σrA,0,,0}, where σ1Aσ2AσrA>0. The symbol r represents the rank of the matrix A.

The sum of trailing singular values from matrix A is then defined as

PA(M)=1Mi=r-M+1rσiA,

where PA(M) is a function with a specific parameter M, where 1≤Mr. This function provides a clue regarding the noise level in A. The value of M is commonly set to M=34r [6]. It was demontrated in [6] that the value of PA(M) is linearly dependent on the noise level θ. However, the value of PA(M) is image independent. The relationship between PA(M) and θ can be formulated using a simple linear function as

PA(M)=αθ,

where α denotes a specific scalar. The least-squares fitting (LSF) method is a representative approach that can be incorporated to obtain the coefficient α. Therefore, the noise level can be simply estimated based on the sum of the learned singular values of A. In other words, PA(M) if one knows the value of α.

However, a simple linear function of (12) is not sufficient to estimate the noise level in an image accurately. We must perform additional processes to derive a more accurate estimated noise level. The AWGN process can be applied to a noisy image A as follows:

BA+N(θB),

where B is the noisy version of A. Here, N (θB) denotes the AWGN process with a noise level θB, where N(θB)~N(0,θB2I). Applying SVD to B yields the following result:

BUBΣBVBT,

where UA and UB are two unitary matrices, meaning UBUBT=UBTUB=I and VBVBT=VBTVB=I. The symbol ∑B represents a singular value matrix, meaning ΣB=diag {σ1B,σ2B,σrB,0,,0}.

Similar to the previous discussion, the trailing singular values of B are formally defined as follows:

PB(M)=1Mi=r-M+1rσiB,

where PB(M) is a function of the parameter M. A simple linear function based on (12) is not sufficiently accurate for fitting the function PB(M). Therefore, the remedial fitting of PA(M) and PB(M) is performed using a simple linear function over two scalar values. A more suitable linear function for PA(M) and PB(M) can then be defined as follows [6]:

{PA(M)=αθ+β,PB(M)=αθ2+θB2+β,

where α and β are two scalar values of the linear function. The values of α and β are noise-dependent and image-dependent parameters, respectively. By using the algebraic substitution method, the two equations in (16) can be modified as follows:

PA(M)-αθ=PB(M)-αθ2+θB2.

Using simple algebraic manipulation, we obtain the following forms:

αθ2+θB2-αθ=PB(M)-PA(M),{1α{PB(M)-PA(M)}+θ}2=θ2+θB2,2θα{PB(M)-PA(M)}+θ2+1α2{PB(M)-PA(M)}2=θ2+θB2.

The formulation in (17) can be further simplified as follows:

2θα{PB(M)-PA(M)}=θB2-1α2{PB(M)-PA(M)}2,2θα=θB2[PB(M)-PA(M)]-1α2{PB(M)-PA(M)}.

Finally, the value of θ can be obtained as follows:

θ^SVD=αθB22[PB(M)-PA(M)]-PB(M)-PA(M)2α,

where θ̂SVD denotes the estimated noise level obtained from the SVD approach. Based on this algebraic manipulation, one can see that the noise level can be simply estimated based on the learned singular values A and B as PA (M) and PB(M), respectively. However, such noise level estimation requires a scalar value of α. In a previous scheme [6], the value of α was simply computed by applying the LSF method in (12) to a set of training images, where different image sizes yield different scalar values.

3.2 PSO-Based Noise Level Estimation

The most critical step in SVD-based noise level estimation is the determination of α. Based on our observations, the LSF method is not sufficient for estimating the value of α accurately. In the proposed method, we determine the value of α with help from the PSO algorithm and its variants. These algorithms require a set of training images. Let SA be a set of training images consisting of T images with a fixed predetermined image size. The image set SA is denoted as

SA={A1,A2,,AT},

where At is the t-th training image corrupted by AWGN for t= 1, 2, . . .,T. The symbol T denotes the number of training images used in the computation of α. All images in SA should have the same image size because the computation of trailing singular values depends on the image size. The rank of the matrix is also dependent on the image size.

All images in SA are corrupted by AWGN. The noise level of the AWGN in SA should be determined and recorded in advance. The noise level of the AWGN in SA is recorded as follows:

θGT={θ1,θ2,,θT}.

where θGT and θt are the ground truth noise level and estimated noise level in the t-th image, respectively, for t= 1, 2, . . .,T. Each noisy image At corresponds to a noise level θt. A noisy image At is obtained by injecting AWGN into A with a noise level θt.

The PSO algorithms aim to compute the optimal α for a set of training images SA and ground-truth noise level θGT . Suppose that we utilize N swarm particles. Here, each particle is considered as a candidate solution (i.e., α value). The initial solution for PSO is randomly generated as xi = α~U(a, b) for i= 1, 2, . . .,N, where xi denotes the i-th swarm particle. The symbol U(a, b) denotes a uniform random number in the range of [a, b]. In practice, the values of a and b are related to the image size. Therefore, these two values should be carefully determined in the initial execution of PSO.

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:

η(xiSA,θGT)=1Tt=1T(θt-θ^txi)2,

where η(xi|SA, θGT ) is the fitness value of the i-th swarm particle. The values θt and θ̂t denote the real (ground truth) noise level and estimated noise level, respectively. For each swarm particle, we estimate the noise level θ̂t for each image in At based on the value of α = xi. Noise level estimation was performed using the aforementioned SVD-based method.

The optimization problem for noise level estimation can be further defined as follows:

minx*η(xiSA,θGT)

for i= 1, 2, . . .,N, where x* is the optimal solution obtained at the end of PSO. This optimal solution is considered as the optimum scalar value of α, meaning α* = x*. Therefore, the estimated noise level can be calculated simply using our proposed method as follows:

θ^PSO=α*θB22[PB(M)-PA(M)]-PB(M)-PA(M)2α*,

where θ̂PSO and α* are the estimated noise level and optimal scalar value obtained from the PSO method, respectively. The computation in (24) is almost identical to that in (19), except for the scalar value α. This estimated noise level can be incorporated into image denoising tasks, as illustrated in Figure 1. This figure presents an image denoising process based on the estimated noise level obtained from the proposed method.

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.

4.1 Performance of Swarm Intelligence

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 θGT = {10, 20, . . ., 100}. Figure 3 presents the relationships between PA (M) and θGT for various image sizes. This figure confirms that the noise level θ can be considered as a simple linear function with PA(M), as indicated in (12). Subsequently, the noise levels were estimated for all images in each training set. Here, we conducted an additional AWGN process to obtain B with θB= 50.

The main goal of swarm intelligence algorithms is to obtain an optimal scalar value α*. Here, we set the number of swarm particles and maximum number of iterations to 50 and 300, respectively, for each PSO algorithm and its variants. Each particle was first initialized to xi = U (−50, 50), indicating that the minimum and maximum particle positions were −50 and 50, respectively. The maximum allowable velocity for each particle swarm was set to 5 to avoid premature convergence.

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 α* was also analyzed using various methods. The value of α* is different for different image sizes because the computation of PA(M) and PB(M) depend on the matrix rank, meaning M=34r. Table 2 lists the optimal values of α* for various methods. The symbol αLSF* denotes the optimal α obtained from LSF for the training image set, as formulated in (12). αPSO* is the optimal α obtained from PSO and its variants. As shown in Table 2, all the values of αPSO* are identical, indicating that all of the PSO methods yield the same optimal solution. Therefore, the proposed noise level estimation can be considered as a promising candidate for performing noise level estimation.

4.2 Performance of Noise Level Estimation

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 θGT = {10, 20, . . ., 100}. We subsequently performed noise level estimation using various methods to obtain an estimated noise level θ̂.

The similarity between the ground truth θt and estimated noise level θ̂t was measured in terms of mean absolute error (MAE), which is as formulated follows:

MAE=1Tt=1T|θt-θ^t|.

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.

4.3 Effects of Estimated Noise Level on Image Denoising

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 θ= 55. It is challenging for the proposed method and other methods to estimate this noise level because it was not included in the training set. Figure 6(b) presents the denoised image obtained from Gaussian filtering, while Figs. 6(c–e) present denoised images after applying the BM3D method [9] with estimated noise levels of θ̂LSF, θ̂SVD, and θ̂PSO, respectively. Figure 6(f) presents the ground-truth image. One can see that the proposed method yields the best performance based on the enhanced visual clarity in the resulting image compared to the other methods.

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 θ= 25, 55, 75. These noise levels were not included in the training set. All noise levels were applied 30 times to all testing images. Average PSNR and SSIM values were computed for all independent runs. Tables 5 and 6 summarize the average PSNR and SSIM values of various methods. One can see that the proposed method yields the best performance in terms of PSNR and SSIM. Therefore, the proposed method is suitable for performing noise level estimation on AWGN-corrupted images.

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.

Fig. 1.

Schematic diagram of the proposed noise level estimation method for image denoising.


Fig. 2.

Set of testing images used in our experiments.


Fig. 3.

Relationships between PA(M) and the noise level θ for various image sizes.


Fig. 4.

Convergence histories of PSO training for the (a) best runs and (b) worst runs.


Fig. 5.

Set of testing images used in our experiments.


Fig. 6.

Image denoising results for (a) a noisy image θ = 55 using various methods: (b) Gaussian filtering 11 × 11 and 1.5, (c) BM3D with θ̂LSF, (d) BM3D with θ̂SVD, and (e) BM3D with θ̂PSO. (f) Ground-truth image.


Table. 1.

Table 1. Optimal fitness values for various PSO methods.

Image sizeMethodMinMaxMeanMedianSD
128×128Classical PSO12.28612.28612.28612.2868.93×10−5
LDWPSO12.28612.28612.28612.2866.70×10−15
CoPSO12.28612.28612.28612.2867.41×10−15
AGPSO12.28612.28612.28612.2865.64×10−15
PBSPSO12.28612.28612.28612.2865.57×10−15

256×256Classical PSO2.7462.7462.7462.7462.90×10−5
LDWPSO2.7462.7462.7462.7461.27×10−15
CoPSO2.7462.7462.7462.7461.76×10−15
AGPSO2.7462.7462.7462.7467.69×10−16
PBSPSO2.7462.7462.7462.7461.54×10−15

512×512Classical PSO2.0752.0752.0752.0751.21×10−5
LDWPSO2.0752.0752.0752.0751.20×10−15
CoPSO2.0752.0752.0752.0751.29×10−15
AGPSO2.0752.0752.0752.0758.45×10−16
PBSPSO2.0752.0752.0752.0759.90×10−16

Table. 2.

Table 2. Optimal α* values obtained by various methods.

MethodImage size
128 × 128256 × 256512 × 512
α from [6]7.0209.83013.870
αLSF*7.32810.24614.375
αPSO* from Classical PSO6.8489.54713.900
αPSO* from LDWPSO6.7769.65613.683
αPSO* from CoPSO6.7769.65613.683
αPSO* from AGPSO6.7769.65613.683
αPSO* from PBSPSO6.7769.65613.683

Table. 3.

Table 3. Performance comparisons in terms of MAE between the proposed method and previous method.

Noise level128 × 128256 × 256512 × 512



αLSF*α [6]αPSO*αLSF*α [6]αPSO*αLSF*α [6]αPSO*
104.102.001.403.191.411.182.821.271.02

203.851.560.993.131.060.832.790.960.76

304.261.741.183.411.050.762.930.890.68

404.642.071.273.601.190.753.140.900.65

505.222.341.684.101.290.953.470.980.70

605.422.942.204.281.391.103.851.020.71

706.663.282.814.831.601.354.141.090.88

807.064.293.435.412.071.644.511.230.95

908.264.984.256.172.482.044.711.561.08

1008.394.875.096.292.832.555.171.561.36

Average5.793.012.434.441.641.313.751.150.88

Table. 4.

Table 4. Performance comparisons in terms of standard deviation between the proposed method and previous method.

Noise level128 × 128256 × 256512 × 512



αLSF*α [6]αPSO*αLSF*α [6]αPSO*αLSF*α [6]αPSO*
101.661.420.791.341.050.731.461.180.99

201.261.100.681.040.810.531.050.850.67

301.361.150.800.950.740.480.940.770.54

401.651.460.961.020.810.550.840.700.52

502.201.711.201.220.900.670.880.710.50

602.762.191.671.441.080.800.920.760.51

703.592.372.081.571.250.921.030.770.63

804.013.082.282.281.511.221.290.860.71

905.073.723.692.811.871.541.571.100.88

1005.364.573.752.971.992.071.711.110.96

Average2.892.281.791.661.200.951.170.880.69

Table. 5.

Table 5. Performance comparisons in terms of average PSNR for various noise estimation methods.

Methodθ = 25θ = 55θ = 75



128 × 128256 × 256512 × 512128 × 128256 × 256512 × 512128 × 128256 × 256512 × 512
Gaussian filtering24.5525.0925.1023.0523.3823.4121.8022.1822.17

θ̂LSF27.2628.2028.7824.0924.8825.5222.8523.8124.40

θ̂SVD [6]27.5128.4128.9824.2124.9425.6022.8923.8524.45

θ̂PSO27.6528.5529.0424.2825.0225.6322.9623.8824.45

Table. 6.

Table 6. Performance comparisons in terms of average SSIM for various noise estimation methods.

Methodθ = 25θ = 55θ = 75



128 × 128256 × 256512 × 512128 × 128256 × 256512 × 512128 × 128256 × 256512 × 512
Gaussian filtering0.680.690.680.570.560.540.490.480.46

θ̂LSF0.780.800.800.650.670.690.580.630.64

θ̂SVD [6]0.800.800.810.660.670.690.590.630.64

θ̂PSO0.800.810.810.660.680.690.590.630.64

  1. R. C. Eberhart, Y. Shi and J. Kennedy, Swarm Intelligence. San Diego, CA: Academic Press, 2001.
  2. Y. Shi and R. C. Eberhart, "Empirical study of particle swarm optimization," in Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat No 99TH8406), Washington, DC, pp. 1945-1950. https://doi.org/10.1109/CEC.1999.785511.
  3. M. Clerc and J. Kennedy, "The particle swarm-explosion, stability, and convergence in a multidimensional complex space," IEEE Transactions on Evolutionary Computation, vol. 6, no. 1, pp. 58-73, 2002. https://doi.org/10.1109/4235.985692.
    CrossRef
  4. R. A. Krohling and L. dos Santos Coelho, "Coevolutionary particle swarm optimization using Gaussian distribution for solving constrained optimization problems," IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol. 36, no. 6, pp. 1407-1416, 2006. https://doi.org/10.1109/TSMCB.2006.873185.
    CrossRef
  5. Z. Xiang, D. Ji, H. Zhang, H. Wu and Y. Li, "A simple PID-based strategy for particle swarm optimization algorithm," Information Sciences, vol. 502, pp. 558-574, 2019. https://doi.org/10.1016/j.ins.2019.06.042.
    CrossRef
  6. W. Liu and W. Lin, "Additive white Gaussian noise level estimation in SVD domain for images," IEEE Transactions on Image Processing, vol. 22, no. 3, pp. 872-883, 2013. https://doi.org/10.1109/TIP.2012.2219544.
    CrossRef
  7. Q. Guo, C. Zhang, Y. Zhang and H. Liu, "An efficient SVD-based method for image denoising," IEEE Transactions on Circuits and Systems for Video Technology, vol. 26, no. 5, pp. 868-880, 2016. https://doi.org/10.1109/TCSVT.2015.2416631.
    CrossRef
  8. Y. M. Huang, H. Y. Yan, Y. W. Wen and X. Yang, "Rank minimization with applications to image noise removal," Information Sciences, vol. 429, pp. 147-163, 2018. https://doi.org/10.1016/j.ins.2017.10.047.
    CrossRef
  9. K. Dabov, A. Foi, V. Katkovnik and K. Egiazarian, "Image denoising by sparse 3-D transform-domain collaborative filtering," IEEE Transactions on Image Processing, vol. 16, no. 8, pp. 2080-2095, 2007. https://doi.org/10.1109/TIP.2007.901238.
    Pubmed CrossRef
  10. S. Gu, L. Zhang, W. Zuo and X. Feng, "Weighted nuclear norm minimization with application to image denoising," in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, pp. 2862-2869. https://doi.org/10.1109/cvpr.2014.366.
  11. H. Hu, J. Froment and Q. Liu, "A note on patch-based low-rank minimization for fast image denoising," Journal of Visual Communication and Image Representation, vol. 50, pp. 100-110, 2018. https://doi.org/10.1016/j.jvcir.2017.11.013.
    CrossRef
  12. H. Prasetyo and J. M. Guo, "A note on multiple secret sharing using Chinese remainder theorem and exclusive-OR," IEEE Access, vol. 7, pp. 37473-37497, 2019. https://doi.org/10.1109/access.2019.2902853.
    CrossRef
  13. H. Prasetyo and C. H. Hsia, "Improved multiple secret sharing using generalized chaotic image scrambling," Multimedia Tools and Applications, vol. 78, no. 20, pp. 29089-29120, 2019. https://doi.org/10.1007/s11042-018-6304-y.
    CrossRef
  14. H. Prasetyo and C. H. Hsia, "Lossless progressive secret sharing for grayscale and color images," Multimedia Tools and Applications, vol. 78, no. 17, pp. 24837-24862, 2019. https://doi.org/10.1007/s11042-019-7710-5.
    CrossRef
  15. J. M. Guo, H. Prasetyo, M. E. Farfoura and H. Lee, "Vehicle verification using features from curvelet transform and generalized Gaussian distribution modeling," IEEE Transactions on Intelligent Transportation Systems, vol. 16, no. 4, pp. 1989-1998, 2015. https://doi.org/10.1109/TITS.2014.2386535.
    CrossRef

Article

Original Article

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.

Swarm Intelligence for Additive White Gaussian Noise Level Estimation

Heri Prasetyo and Umi Salamah

Department of Informatics, Universitas Sebelas Maret (UNS), Surakarta, Indonesia

Correspondence to:Heri Prasetyo (heri.prasetyo@staff.uns.ac.id)

Received: March 19, 2020; Revised: July 7, 2020; Accepted: August 27, 2020

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.

Abstract

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

1. Introduction

Numerous attempts have been made to improve the performance of particle swarm optimization (PSO) [1] and its variants [25]. 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 [611]. 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 [711] 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.

2. PSO and Its Variants

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 [26]. 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 N swarm particles, denoted as xi, for i= 1, 2, . . .,N, where i and N denote the i-th particle and the total number of swarm particles, respectively. Each particle consists of d scalar values representing candidate solutions, meaning xi = [x1, x2, . . .,xd]T or xi∈ℝd. Initially, PSO initializes all swarm particles with uniform random numbers in the range [a, b], which are denoted as xi~U (a, b) for i= 1, 2, . . .,d, where U (a, b) is a uniform random number generator in the range [a, b]. The positions of all swarm particles are iteratively updated based on their fitness scores. PSO searches for the optimal swarm particle x* according to the following optimization problem:

minx*f(x),

where f(x) represents the fitness function.

In the PSO algorithm and its variants, each particle maintains its position vector xi, velocity vector vi, best position vector pi, and global best position pg. Let xi(t) and vi(t) be the position and velocity of the i-th swarm particle in the t-th iteration (or generation). The position of the i-th swarm particle in the (t+1)-th iteration is updated according to the following rule:

xi(t+1)xi(t)+vi(t).

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 x*.

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.

2.1 Classical PSO

Velocity updating in classical PSO [1] is defined as follow:

vi(t+1)=wvi(t)+c1r1[pi-xi(t)]+c2r2[pg-xi(t)],

where w is the inertia weight, and c1 and c2 are the individual and social cognition constants, respectively. The values of r1 and r2 are uniform random numbers, meaning r1, r2~U (0, 1). The values of c1, c2, and w are commonly set to two, two, and 0.9, respectively.

2.2 Linearly Decreased Weight PSO

Velocity updating in linearly decreased weight PSO (LDWPSO) [2] is defined as follows:

vi(t+1)=[w2-tT(w2-w1)]vi(t)+c1r1[pi-xi(t)]+c2r2[pg-xi(t)],

where w1 and w2 denote the lower bound and upper bound of the inertia weight, respectively. It is common to set w1 and w2 to 0.4 and 0.9, respectively. LDWPSO gradually reduces the inertia weight as iteration progresses.

2.3 Constriction PSO

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:

vi(t+1)=K{vi(t)+c1r1[pi-xi(t)]+c2r2[pg-xi(t)]},

where K is a constriction parameter (i.e., combination function between c1 and c2). The value of K can be computed as 2|2-ϕ-ϕ2-4ϕ|, where ϕ = c1 + c2> 4. If c1 = c2= 2.05, then we can obtain ϕ = 4.1 and K= 0.729.

2.4 Absolute Gaussian PSO

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:

vi(t+1)=N(0,1)*[pi-xi(t)]+N(0,1)*[pg-xi(t)],

where | | denotes the absolute value of a Gaussian random number with zero mean and unit variance.

2.5 Proportional-Integral-Derivative-Based Strategy PSO

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:

xi(t+1)=xi(t)+vi(t+1)+KdDi(t+1),

where Di (t + 1) and Kd are the derivative term and its weight, respectively. The derivative term Di (t + 1) can be calculated as follows:

Di(t+1)=γDi(t)+{pg(t)-pg(t-1)},

where γ is the weight decay. The values of γ and Kd are typically set to 0.9 and 0.03, respectively.

3. Swarm-Intelligence-Based Noise Level Estimation

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 F be an input image in grayscale. The AWGN process on F is modeled as

A=F+N(θ),

where A denotes the noisy image and N(θ) represents the AWGN generated under a Gaussian distribution as . The symbol θ represents the noise level of the AWGN. This study aimed to estimate the noise level from A such that the estimated noise level would be as close as possible to the original input noise level, meaning θ̂θ.

3.1 SVD-Based Noise Level Estimation

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 A, we first decompose this image using SVD as

AUAΣAVAT,

where UA and VA are left and right singular vectors satisfying the unitary property as UAUAT=UATUA=I and VAVAT=VATVA=I, respectively. ∑A is a singular value matrix consisting of non-increasing singular values along its diagonal, which is denoted as ΣA=diag {σ1A,σ2A,σrA,0,,0}, where σ1Aσ2AσrA>0. The symbol r represents the rank of the matrix A.

The sum of trailing singular values from matrix A is then defined as

PA(M)=1Mi=r-M+1rσiA,

where PA(M) is a function with a specific parameter M, where 1≤Mr. This function provides a clue regarding the noise level in A. The value of M is commonly set to M=34r [6]. It was demontrated in [6] that the value of PA(M) is linearly dependent on the noise level θ. However, the value of PA(M) is image independent. The relationship between PA(M) and θ can be formulated using a simple linear function as

PA(M)=αθ,

where α denotes a specific scalar. The least-squares fitting (LSF) method is a representative approach that can be incorporated to obtain the coefficient α. Therefore, the noise level can be simply estimated based on the sum of the learned singular values of A. In other words, PA(M) if one knows the value of α.

However, a simple linear function of (12) is not sufficient to estimate the noise level in an image accurately. We must perform additional processes to derive a more accurate estimated noise level. The AWGN process can be applied to a noisy image A as follows:

BA+N(θB),

where B is the noisy version of A. Here, N (θB) denotes the AWGN process with a noise level θB, where N(θB)~N(0,θB2I). Applying SVD to B yields the following result:

BUBΣBVBT,

where UA and UB are two unitary matrices, meaning UBUBT=UBTUB=I and VBVBT=VBTVB=I. The symbol ∑B represents a singular value matrix, meaning ΣB=diag {σ1B,σ2B,σrB,0,,0}.

Similar to the previous discussion, the trailing singular values of B are formally defined as follows:

PB(M)=1Mi=r-M+1rσiB,

where PB(M) is a function of the parameter M. A simple linear function based on (12) is not sufficiently accurate for fitting the function PB(M). Therefore, the remedial fitting of PA(M) and PB(M) is performed using a simple linear function over two scalar values. A more suitable linear function for PA(M) and PB(M) can then be defined as follows [6]:

{PA(M)=αθ+β,PB(M)=αθ2+θB2+β,

where α and β are two scalar values of the linear function. The values of α and β are noise-dependent and image-dependent parameters, respectively. By using the algebraic substitution method, the two equations in (16) can be modified as follows:

PA(M)-αθ=PB(M)-αθ2+θB2.

Using simple algebraic manipulation, we obtain the following forms:

αθ2+θB2-αθ=PB(M)-PA(M),{1α{PB(M)-PA(M)}+θ}2=θ2+θB2,2θα{PB(M)-PA(M)}+θ2+1α2{PB(M)-PA(M)}2=θ2+θB2.

The formulation in (17) can be further simplified as follows:

2θα{PB(M)-PA(M)}=θB2-1α2{PB(M)-PA(M)}2,2θα=θB2[PB(M)-PA(M)]-1α2{PB(M)-PA(M)}.

Finally, the value of θ can be obtained as follows:

θ^SVD=αθB22[PB(M)-PA(M)]-PB(M)-PA(M)2α,

where θ̂SVD denotes the estimated noise level obtained from the SVD approach. Based on this algebraic manipulation, one can see that the noise level can be simply estimated based on the learned singular values A and B as PA (M) and PB(M), respectively. However, such noise level estimation requires a scalar value of α. In a previous scheme [6], the value of α was simply computed by applying the LSF method in (12) to a set of training images, where different image sizes yield different scalar values.

3.2 PSO-Based Noise Level Estimation

The most critical step in SVD-based noise level estimation is the determination of α. Based on our observations, the LSF method is not sufficient for estimating the value of α accurately. In the proposed method, we determine the value of α with help from the PSO algorithm and its variants. These algorithms require a set of training images. Let SA be a set of training images consisting of T images with a fixed predetermined image size. The image set SA is denoted as

SA={A1,A2,,AT},

where At is the t-th training image corrupted by AWGN for t= 1, 2, . . .,T. The symbol T denotes the number of training images used in the computation of α. All images in SA should have the same image size because the computation of trailing singular values depends on the image size. The rank of the matrix is also dependent on the image size.

All images in SA are corrupted by AWGN. The noise level of the AWGN in SA should be determined and recorded in advance. The noise level of the AWGN in SA is recorded as follows:

θGT={θ1,θ2,,θT}.

where θGT and θt are the ground truth noise level and estimated noise level in the t-th image, respectively, for t= 1, 2, . . .,T. Each noisy image At corresponds to a noise level θt. A noisy image At is obtained by injecting AWGN into A with a noise level θt.

The PSO algorithms aim to compute the optimal α for a set of training images SA and ground-truth noise level θGT . Suppose that we utilize N swarm particles. Here, each particle is considered as a candidate solution (i.e., α value). The initial solution for PSO is randomly generated as xi = α~U(a, b) for i= 1, 2, . . .,N, where xi denotes the i-th swarm particle. The symbol U(a, b) denotes a uniform random number in the range of [a, b]. In practice, the values of a and b are related to the image size. Therefore, these two values should be carefully determined in the initial execution of PSO.

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:

η(xiSA,θGT)=1Tt=1T(θt-θ^txi)2,

where η(xi|SA, θGT ) is the fitness value of the i-th swarm particle. The values θt and θ̂t denote the real (ground truth) noise level and estimated noise level, respectively. For each swarm particle, we estimate the noise level θ̂t for each image in At based on the value of α = xi. Noise level estimation was performed using the aforementioned SVD-based method.

The optimization problem for noise level estimation can be further defined as follows:

minx*η(xiSA,θGT)

for i= 1, 2, . . .,N, where x* is the optimal solution obtained at the end of PSO. This optimal solution is considered as the optimum scalar value of α, meaning α* = x*. Therefore, the estimated noise level can be calculated simply using our proposed method as follows:

θ^PSO=α*θB22[PB(M)-PA(M)]-PB(M)-PA(M)2α*,

where θ̂PSO and α* are the estimated noise level and optimal scalar value obtained from the PSO method, respectively. The computation in (24) is almost identical to that in (19), except for the scalar value α. This estimated noise level can be incorporated into image denoising tasks, as illustrated in Figure 1. This figure presents an image denoising process based on the estimated noise level obtained from the proposed method.

4. Experimental Results

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.

4.1 Performance of Swarm Intelligence

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 θGT = {10, 20, . . ., 100}. Figure 3 presents the relationships between PA (M) and θGT for various image sizes. This figure confirms that the noise level θ can be considered as a simple linear function with PA(M), as indicated in (12). Subsequently, the noise levels were estimated for all images in each training set. Here, we conducted an additional AWGN process to obtain B with θB= 50.

The main goal of swarm intelligence algorithms is to obtain an optimal scalar value α*. Here, we set the number of swarm particles and maximum number of iterations to 50 and 300, respectively, for each PSO algorithm and its variants. Each particle was first initialized to xi = U (−50, 50), indicating that the minimum and maximum particle positions were −50 and 50, respectively. The maximum allowable velocity for each particle swarm was set to 5 to avoid premature convergence.

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 α* was also analyzed using various methods. The value of α* is different for different image sizes because the computation of PA(M) and PB(M) depend on the matrix rank, meaning M=34r. Table 2 lists the optimal values of α* for various methods. The symbol αLSF* denotes the optimal α obtained from LSF for the training image set, as formulated in (12). αPSO* is the optimal α obtained from PSO and its variants. As shown in Table 2, all the values of αPSO* are identical, indicating that all of the PSO methods yield the same optimal solution. Therefore, the proposed noise level estimation can be considered as a promising candidate for performing noise level estimation.

4.2 Performance of Noise Level Estimation

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 θGT = {10, 20, . . ., 100}. We subsequently performed noise level estimation using various methods to obtain an estimated noise level θ̂.

The similarity between the ground truth θt and estimated noise level θ̂t was measured in terms of mean absolute error (MAE), which is as formulated follows:

MAE=1Tt=1T|θt-θ^t|.

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.

4.3 Effects of Estimated Noise Level on Image Denoising

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 θ= 55. It is challenging for the proposed method and other methods to estimate this noise level because it was not included in the training set. Figure 6(b) presents the denoised image obtained from Gaussian filtering, while Figs. 6(c–e) present denoised images after applying the BM3D method [9] with estimated noise levels of θ̂LSF, θ̂SVD, and θ̂PSO, respectively. Figure 6(f) presents the ground-truth image. One can see that the proposed method yields the best performance based on the enhanced visual clarity in the resulting image compared to the other methods.

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 θ= 25, 55, 75. These noise levels were not included in the training set. All noise levels were applied 30 times to all testing images. Average PSNR and SSIM values were computed for all independent runs. Tables 5 and 6 summarize the average PSNR and SSIM values of various methods. One can see that the proposed method yields the best performance in terms of PSNR and SSIM. Therefore, the proposed method is suitable for performing noise level estimation on AWGN-corrupted images.

5. Conclusion

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.

Fig 1.

Figure 1.

Schematic diagram of the proposed noise level estimation method for image denoising.

The International Journal of Fuzzy Logic and Intelligent Systems 2020; 20: 169-180https://doi.org/10.5391/IJFIS.2020.20.3.169

Fig 2.

Figure 2.

Set of testing images used in our experiments.

The International Journal of Fuzzy Logic and Intelligent Systems 2020; 20: 169-180https://doi.org/10.5391/IJFIS.2020.20.3.169

Fig 3.

Figure 3.

Relationships between PA(M) and the noise level θ for various image sizes.

The International Journal of Fuzzy Logic and Intelligent Systems 2020; 20: 169-180https://doi.org/10.5391/IJFIS.2020.20.3.169

Fig 4.

Figure 4.

Convergence histories of PSO training for the (a) best runs and (b) worst runs.

The International Journal of Fuzzy Logic and Intelligent Systems 2020; 20: 169-180https://doi.org/10.5391/IJFIS.2020.20.3.169

Fig 5.

Figure 5.

Set of testing images used in our experiments.

The International Journal of Fuzzy Logic and Intelligent Systems 2020; 20: 169-180https://doi.org/10.5391/IJFIS.2020.20.3.169

Fig 6.

Figure 6.

Image denoising results for (a) a noisy image θ = 55 using various methods: (b) Gaussian filtering 11 × 11 and 1.5, (c) BM3D with θ̂LSF, (d) BM3D with θ̂SVD, and (e) BM3D with θ̂PSO. (f) Ground-truth image.

The International Journal of Fuzzy Logic and Intelligent Systems 2020; 20: 169-180https://doi.org/10.5391/IJFIS.2020.20.3.169

Table 1 . Optimal fitness values for various PSO methods.

Image sizeMethodMinMaxMeanMedianSD
128×128Classical PSO12.28612.28612.28612.2868.93×10−5
LDWPSO12.28612.28612.28612.2866.70×10−15
CoPSO12.28612.28612.28612.2867.41×10−15
AGPSO12.28612.28612.28612.2865.64×10−15
PBSPSO12.28612.28612.28612.2865.57×10−15

256×256Classical PSO2.7462.7462.7462.7462.90×10−5
LDWPSO2.7462.7462.7462.7461.27×10−15
CoPSO2.7462.7462.7462.7461.76×10−15
AGPSO2.7462.7462.7462.7467.69×10−16
PBSPSO2.7462.7462.7462.7461.54×10−15

512×512Classical PSO2.0752.0752.0752.0751.21×10−5
LDWPSO2.0752.0752.0752.0751.20×10−15
CoPSO2.0752.0752.0752.0751.29×10−15
AGPSO2.0752.0752.0752.0758.45×10−16
PBSPSO2.0752.0752.0752.0759.90×10−16

Table 2 . Optimal α* values obtained by various methods.

MethodImage size
128 × 128256 × 256512 × 512
α from [6]7.0209.83013.870
αLSF*7.32810.24614.375
αPSO* from Classical PSO6.8489.54713.900
αPSO* from LDWPSO6.7769.65613.683
αPSO* from CoPSO6.7769.65613.683
αPSO* from AGPSO6.7769.65613.683
αPSO* from PBSPSO6.7769.65613.683

Table 3 . Performance comparisons in terms of MAE between the proposed method and previous method.

Noise level128 × 128256 × 256512 × 512



αLSF*α [6]αPSO*αLSF*α [6]αPSO*αLSF*α [6]αPSO*
104.102.001.403.191.411.182.821.271.02

203.851.560.993.131.060.832.790.960.76

304.261.741.183.411.050.762.930.890.68

404.642.071.273.601.190.753.140.900.65

505.222.341.684.101.290.953.470.980.70

605.422.942.204.281.391.103.851.020.71

706.663.282.814.831.601.354.141.090.88

807.064.293.435.412.071.644.511.230.95

908.264.984.256.172.482.044.711.561.08

1008.394.875.096.292.832.555.171.561.36

Average5.793.012.434.441.641.313.751.150.88

Table 4 . Performance comparisons in terms of standard deviation between the proposed method and previous method.

Noise level128 × 128256 × 256512 × 512



αLSF*α [6]αPSO*αLSF*α [6]αPSO*αLSF*α [6]αPSO*
101.661.420.791.341.050.731.461.180.99

201.261.100.681.040.810.531.050.850.67

301.361.150.800.950.740.480.940.770.54

401.651.460.961.020.810.550.840.700.52

502.201.711.201.220.900.670.880.710.50

602.762.191.671.441.080.800.920.760.51

703.592.372.081.571.250.921.030.770.63

804.013.082.282.281.511.221.290.860.71

905.073.723.692.811.871.541.571.100.88

1005.364.573.752.971.992.071.711.110.96

Average2.892.281.791.661.200.951.170.880.69

Table 5 . Performance comparisons in terms of average PSNR for various noise estimation methods.

Methodθ = 25θ = 55θ = 75



128 × 128256 × 256512 × 512128 × 128256 × 256512 × 512128 × 128256 × 256512 × 512
Gaussian filtering24.5525.0925.1023.0523.3823.4121.8022.1822.17

θ̂LSF27.2628.2028.7824.0924.8825.5222.8523.8124.40

θ̂SVD [6]27.5128.4128.9824.2124.9425.6022.8923.8524.45

θ̂PSO27.6528.5529.0424.2825.0225.6322.9623.8824.45

Table 6 . Performance comparisons in terms of average SSIM for various noise estimation methods.

Methodθ = 25θ = 55θ = 75



128 × 128256 × 256512 × 512128 × 128256 × 256512 × 512128 × 128256 × 256512 × 512
Gaussian filtering0.680.690.680.570.560.540.490.480.46

θ̂LSF0.780.800.800.650.670.690.580.630.64

θ̂SVD [6]0.800.800.810.660.670.690.590.630.64

θ̂PSO0.800.810.810.660.680.690.590.630.64

References

  1. R. C. Eberhart, Y. Shi and J. Kennedy, Swarm Intelligence. San Diego, CA: Academic Press, 2001.
  2. Y. Shi and R. C. Eberhart, "Empirical study of particle swarm optimization," in Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat No 99TH8406), Washington, DC, pp. 1945-1950. https://doi.org/10.1109/CEC.1999.785511.
  3. M. Clerc and J. Kennedy, "The particle swarm-explosion, stability, and convergence in a multidimensional complex space," IEEE Transactions on Evolutionary Computation, vol. 6, no. 1, pp. 58-73, 2002. https://doi.org/10.1109/4235.985692.
    CrossRef
  4. R. A. Krohling and L. dos Santos Coelho, "Coevolutionary particle swarm optimization using Gaussian distribution for solving constrained optimization problems," IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol. 36, no. 6, pp. 1407-1416, 2006. https://doi.org/10.1109/TSMCB.2006.873185.
    CrossRef
  5. Z. Xiang, D. Ji, H. Zhang, H. Wu and Y. Li, "A simple PID-based strategy for particle swarm optimization algorithm," Information Sciences, vol. 502, pp. 558-574, 2019. https://doi.org/10.1016/j.ins.2019.06.042.
    CrossRef
  6. W. Liu and W. Lin, "Additive white Gaussian noise level estimation in SVD domain for images," IEEE Transactions on Image Processing, vol. 22, no. 3, pp. 872-883, 2013. https://doi.org/10.1109/TIP.2012.2219544.
    CrossRef
  7. Q. Guo, C. Zhang, Y. Zhang and H. Liu, "An efficient SVD-based method for image denoising," IEEE Transactions on Circuits and Systems for Video Technology, vol. 26, no. 5, pp. 868-880, 2016. https://doi.org/10.1109/TCSVT.2015.2416631.
    CrossRef
  8. Y. M. Huang, H. Y. Yan, Y. W. Wen and X. Yang, "Rank minimization with applications to image noise removal," Information Sciences, vol. 429, pp. 147-163, 2018. https://doi.org/10.1016/j.ins.2017.10.047.
    CrossRef
  9. K. Dabov, A. Foi, V. Katkovnik and K. Egiazarian, "Image denoising by sparse 3-D transform-domain collaborative filtering," IEEE Transactions on Image Processing, vol. 16, no. 8, pp. 2080-2095, 2007. https://doi.org/10.1109/TIP.2007.901238.
    Pubmed CrossRef
  10. S. Gu, L. Zhang, W. Zuo and X. Feng, "Weighted nuclear norm minimization with application to image denoising," in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, pp. 2862-2869. https://doi.org/10.1109/cvpr.2014.366.
  11. H. Hu, J. Froment and Q. Liu, "A note on patch-based low-rank minimization for fast image denoising," Journal of Visual Communication and Image Representation, vol. 50, pp. 100-110, 2018. https://doi.org/10.1016/j.jvcir.2017.11.013.
    CrossRef
  12. H. Prasetyo and J. M. Guo, "A note on multiple secret sharing using Chinese remainder theorem and exclusive-OR," IEEE Access, vol. 7, pp. 37473-37497, 2019. https://doi.org/10.1109/access.2019.2902853.
    CrossRef
  13. H. Prasetyo and C. H. Hsia, "Improved multiple secret sharing using generalized chaotic image scrambling," Multimedia Tools and Applications, vol. 78, no. 20, pp. 29089-29120, 2019. https://doi.org/10.1007/s11042-018-6304-y.
    CrossRef
  14. H. Prasetyo and C. H. Hsia, "Lossless progressive secret sharing for grayscale and color images," Multimedia Tools and Applications, vol. 78, no. 17, pp. 24837-24862, 2019. https://doi.org/10.1007/s11042-019-7710-5.
    CrossRef
  15. J. M. Guo, H. Prasetyo, M. E. Farfoura and H. Lee, "Vehicle verification using features from curvelet transform and generalized Gaussian distribution modeling," IEEE Transactions on Intelligent Transportation Systems, vol. 16, no. 4, pp. 1989-1998, 2015. https://doi.org/10.1109/TITS.2014.2386535.
    CrossRef

Share this article on :

Most KeyWord