# An Image Filter Based on Shearlet Transformation and Particle Swarm Optimization Algorithm

Authors: Kai Hu; Aiguo Song; Min Xia; Zhiyong Fan; Xiaoying Chen; Ruidong Zhang; Zhichen Zheng
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

Digital image is always polluted by noise and made data postprocessing difficult. To remove noise and preserve detail of image as much as possible, this paper proposed image filter algorithm which combined the merits of Shearlet transformation and particle swarm optimization (PSO) algorithm. Firstly, we use classical Shearlet transform to decompose noised image into many subwavelets under multiscale and multiorientation. Secondly, we gave weighted factor to those subwavelets obtained. Then, using classical Shearlet inverse transform, we obtained a composite image which is composed of those weighted subwavelets. After that, we designed fast and rough evaluation method to evaluate noise level of the new image; by using this method as fitness, we adopted PSO to find the optimal weighted factor we added; after lots of iterations, by the optimal factors and Shearlet inverse transform, we got the best denoised image. Experimental results have shown that proposed algorithm eliminates noise effectively and yields good peak signal noise ratio (PSNR).


---

## Body

## 1. Introduction

Images are frequently contaminated by noise on the processes of formation, transmission, and reception and make following processes such as segmentation, recognition difficult. This phenomenon makes noise reduction one of the most important problems in image processing.Basically, there are three common methods to solve this problem, such as transform domain method [1, 2], spatial domain method [3], and partial differential equations (PDE) [4] method; here, our work is one branch of transform domain method. In transform domain method, because of its good performance in both time domain and frequency domain, wavelet transform has become one of the most active research fields in image enhancing. In this field, multiscale geometric analysis theory is the hottest and the most advanced research area. Under this theory, many famous achievements are proposed, for example, ridgelet [5], curvelet [6], contourlet [7], and bandlet [8]. However, with these achievements, there are also many problems to overcome.Recently, Labate et al. proposed a novel class of multidimensional representation systems, which is called Shearlet. One advantage of this approach is that these systems can be constructed using generalized multiresolution analysis and implemented efficiently using a classical cascade algorithm [1, 9–15]. Due to the fact that Shearlet transforms have multiscale and multidirection feature, simple hard threshold denoising method could not yield bad performance in its practical application of image denoising [16]. Fan and Zhao [17–19] researched the problem of how to calculate the best threshold in this denoising method; they proposed a good idea that used optimal algorithm to get best threshold, but, in their papers, they did not research the fitness function. We hold this opinion that this last step is worth studying and the finding has theoretical value and practical directive meaning.Among many optimal algorithms [20–33], PSO algorithm has been the most famous global optimization algorithm which is based on swarm intelligence. And it is easy to be realized and already applied to many fields. In this paper, we adopted PSO algorithm to optimize the problem we mentioned above. In this process, as an important part of PSO algorithm, an objective fitness function should be built to evaluate quality of reconstructed image, so we adopted a fast and rough method to evaluate noise level of image, and this method is just asked to be able to reflect the change trend of noise level in image. Many experiments data have shown that proposed algorithm can achieve better performance than classical Shearlet transform, but like all optimization algorithms, it also has drawback of slow computation speeds.The remaining paper is organized as follows. Section2 introduces related theories. Section 3 explains our algorithm, including workflow, Section 4 presents the experiment results of proposed algorithm, and Section 5 concludes this paper.


## 2. Related Theories

### 2.1. Shearlet Transform

Labate et al. [1, 2] proposed Shearlet transform based on wavelet. In dimension n
=
2, affine system(1)
Ψ
A
B
ψ
=
ψ
j
,
l
,
k
x
=
d
e
t
A
j
/
2
ψ
B
l
A
j
x
-
k
:
j
,
l
∈
Z
,
k
∈
Z
2
;here, ψ
∈
L
2
R
2 and A, B are 2
∗
2 invertible matrices with d
e
t
B
=
1.IfΨ
A
B
ψ satisfied Parseval L
2
R
2, then those elements of Ψ
A
B
ψ are called composite wavelets.Shearlet is a special example ofL
2
R
2, for only when (2)
A
=
A
0
=
4
0
0
2
,
B
=
B
0
=
0
1
1
1
,here A
=
A
0 is the anisotropic dilation matrix and B
=
B
0 is the shear matrix.Forξ
=
ξ
1
,
ξ
2
∈
R
^
2
,
ξ
1
≠
0, when ψ
(
0
), ψ
^
1, ψ
^
2 satisfy(3)
ψ
^
(
0
)
ξ
=
ψ
^
(
0
)
ξ
1
,
ξ
2
=
ψ
^
1
ξ
1
ψ
^
2
ξ
2
ξ
1
s
u
p
p
ψ
^
1
⊂
-
1
2
,
-
1
16
∪
1
16
,
1
2
,
s
u
p
p
ψ
^
2
⊂
-
1,1
ψ
^
1
,
ψ
^
2
∈
C
∞
R
^
,
∑
j
≥
0
ψ
^
1
2
-
2
j
ω
2
=
1
f
o
r
ω
≥
1
8
,
j
≥
0
∑
l
=
-
2
j
2
j
-
1
ψ
^
2
2
j
ω
-
l
2
=
1
f
o
r
ω
≤
1
.Then, we get(4)
∑
j
≥
0
∑
l
=
-
2
j
2
j
-
1
ψ
^
(
0
)
ξ
A
0
-
j
B
0
-
l
2
=
∑
j
≥
0
∑
l
=
-
2
j
2
j
-
1
ψ
^
1
2
-
2
j
ξ
1
2
ψ
^
2
2
j
ξ
2
ξ
1
-
l
2
=
1
.Then,ψ
^
0
ξ
A
0
-
j
B
0
-
l form a tiling of the set(5)
D
0
=
ξ
1
,
ξ
2
∈
R
^
2
:
ξ
1
≥
1
8
,
ξ
2
ξ
1
≤
1
.From the condition on the support ofψ
^
1, ψ
^
2, it is easily deduced that ψ
^
j
,
l
,
k have frequency support contained in the set(6)
s
u
p
p
ψ
^
j
,
l
,
k
(
0
)
⊂
∪
2
2
j
-
4
,
2
2
j
-
1
,
ξ
2
ξ
1
+
l
2
-
2
j
≤
2
-
j
ξ
1
,
ξ
2
:
ξ
1
∈
-
2
2
j
-
1
,
-
2
2
j
-
4
H
H
H
h
H
H
H
∪
2
2
j
-
4
,
2
2
j
-
1
,
ξ
2
ξ
1
+
l
2
-
2
j
≤
2
-
j
.Thus, every element in ψ
j
,
l
,
k is supported on a pair of trapezoids of approximate size 2
2
j
×
2
j, oriented along lines of slope l
2
-
j.ForL
2
D
1
∨, here D
1 is the vertical cone, when formula (7) was satisfied:(7)
D
1
=
ξ
1
,
ξ
2
∈
R
^
2
:
ξ
2
≥
1
8
,
ξ
1
ξ
2
≤
1
A
1
=
2
0
0
4
,
B
1
=
1
0
1
1
ψ
^
(
1
)
ξ
=
ψ
^
(
1
)
ξ
1
,
ξ
2
=
ψ
^
1
ξ
2
ψ
^
2
ξ
1
ξ
2
.Then, collectionψ
j
,
l
,
k
(
1
)
x
=
2
3
j
/
2
ψ
(
1
)
B
1
l
A
1
j
x
-
k
:
j
≥
0
,
-
2
j
≤
l
≤
2
j
-
1
,
k
∈
Z
2 is a Parseval frame for L
2
D
1
∨.


### 2.2. Particle Swarm Optimization Algorithm

The classical PSO algorithm is described as follows [34].Step  1. Initialize a population of particles with random positions and velocities in a n-dimension problem space.Step  2. For each particle, evaluate its fitness value.Step  3. Compare each particle’s fitness evaluation with the current particle’spbest. If current value is better thanpbest, set itspbest value to the current value and thepbest location to the current location in n-dimensional space.Step  4. Compare fitness evaluation with the population’s overall previous best. If current value is better thangbest, then resetgbest to the current particle’s array index and value.Step  5. Change the velocity and position of particle according to Step 1 and Step 2, respectively:(8)
v
i
=
w
v
i
+
c
i
r
a
n
d
p
i
-
x
i
+
c
2
r
a
n
d
p
g
-
x
i
x
i
+
1
=
x
i
+
v
i
.Step  6. Loop to Step 2 until a stopping criterion is met.Step  7. Over.The vectorx
i
=
x
i
1
,
x
i
2
,
…
,
x
i
n
T is the position of ith particles, v
i
=
v
i
1
,
v
i
2
,
…
,
v
i
n
T is the velocity of the ith particles, and p
i
=
p
i
1
,
p
i
2
,
…
,
p
i
n
T is the best previous position (the position giving the best fitness value) of the ith particles. The index g is the index of the best particle among all the particles in the swarm. Variable w is the inertia weight, c
1 and c
2 are positive constants, and rand is random number in range [
0,1
] generated according to a uniform probability distribution. Particles’ velocities along each dimension are clamped to a maximum velocity V
m
a
x. If the sum of acceleration causes the velocity on that dimension to exceed V
m
a
x, which is a parameter specified by the user, then the velocity on that dimension is limited to V
m
a
x.The inertia weightw represents the degree of the momentum of the particles. The second part is the “cognition” part, which represents the independent behavior of the particle itself. The third part is the “social” part, which represents the collaboration among the particles. The constants c
1 and c
2 represent the weighting of “cognition” and “social” parts that pull each particle towardspbest andgbest positions.


## 2.1. Shearlet Transform

Labate et al. [1, 2] proposed Shearlet transform based on wavelet. In dimension n
=
2, affine system(1)
Ψ
A
B
ψ
=
ψ
j
,
l
,
k
x
=
d
e
t
A
j
/
2
ψ
B
l
A
j
x
-
k
:
j
,
l
∈
Z
,
k
∈
Z
2
;here, ψ
∈
L
2
R
2 and A, B are 2
∗
2 invertible matrices with d
e
t
B
=
1.IfΨ
A
B
ψ satisfied Parseval L
2
R
2, then those elements of Ψ
A
B
ψ are called composite wavelets.Shearlet is a special example ofL
2
R
2, for only when (2)
A
=
A
0
=
4
0
0
2
,
B
=
B
0
=
0
1
1
1
,here A
=
A
0 is the anisotropic dilation matrix and B
=
B
0 is the shear matrix.Forξ
=
ξ
1
,
ξ
2
∈
R
^
2
,
ξ
1
≠
0, when ψ
(
0
), ψ
^
1, ψ
^
2 satisfy(3)
ψ
^
(
0
)
ξ
=
ψ
^
(
0
)
ξ
1
,
ξ
2
=
ψ
^
1
ξ
1
ψ
^
2
ξ
2
ξ
1
s
u
p
p
ψ
^
1
⊂
-
1
2
,
-
1
16
∪
1
16
,
1
2
,
s
u
p
p
ψ
^
2
⊂
-
1,1
ψ
^
1
,
ψ
^
2
∈
C
∞
R
^
,
∑
j
≥
0
ψ
^
1
2
-
2
j
ω
2
=
1
f
o
r
ω
≥
1
8
,
j
≥
0
∑
l
=
-
2
j
2
j
-
1
ψ
^
2
2
j
ω
-
l
2
=
1
f
o
r
ω
≤
1
.Then, we get(4)
∑
j
≥
0
∑
l
=
-
2
j
2
j
-
1
ψ
^
(
0
)
ξ
A
0
-
j
B
0
-
l
2
=
∑
j
≥
0
∑
l
=
-
2
j
2
j
-
1
ψ
^
1
2
-
2
j
ξ
1
2
ψ
^
2
2
j
ξ
2
ξ
1
-
l
2
=
1
.Then,ψ
^
0
ξ
A
0
-
j
B
0
-
l form a tiling of the set(5)
D
0
=
ξ
1
,
ξ
2
∈
R
^
2
:
ξ
1
≥
1
8
,
ξ
2
ξ
1
≤
1
.From the condition on the support ofψ
^
1, ψ
^
2, it is easily deduced that ψ
^
j
,
l
,
k have frequency support contained in the set(6)
s
u
p
p
ψ
^
j
,
l
,
k
(
0
)
⊂
∪
2
2
j
-
4
,
2
2
j
-
1
,
ξ
2
ξ
1
+
l
2
-
2
j
≤
2
-
j
ξ
1
,
ξ
2
:
ξ
1
∈
-
2
2
j
-
1
,
-
2
2
j
-
4
H
H
H
h
H
H
H
∪
2
2
j
-
4
,
2
2
j
-
1
,
ξ
2
ξ
1
+
l
2
-
2
j
≤
2
-
j
.Thus, every element in ψ
j
,
l
,
k is supported on a pair of trapezoids of approximate size 2
2
j
×
2
j, oriented along lines of slope l
2
-
j.ForL
2
D
1
∨, here D
1 is the vertical cone, when formula (7) was satisfied:(7)
D
1
=
ξ
1
,
ξ
2
∈
R
^
2
:
ξ
2
≥
1
8
,
ξ
1
ξ
2
≤
1
A
1
=
2
0
0
4
,
B
1
=
1
0
1
1
ψ
^
(
1
)
ξ
=
ψ
^
(
1
)
ξ
1
,
ξ
2
=
ψ
^
1
ξ
2
ψ
^
2
ξ
1
ξ
2
.Then, collectionψ
j
,
l
,
k
(
1
)
x
=
2
3
j
/
2
ψ
(
1
)
B
1
l
A
1
j
x
-
k
:
j
≥
0
,
-
2
j
≤
l
≤
2
j
-
1
,
k
∈
Z
2 is a Parseval frame for L
2
D
1
∨.


## 2.2. Particle Swarm Optimization Algorithm

The classical PSO algorithm is described as follows [34].Step  1. Initialize a population of particles with random positions and velocities in a n-dimension problem space.Step  2. For each particle, evaluate its fitness value.Step  3. Compare each particle’s fitness evaluation with the current particle’spbest. If current value is better thanpbest, set itspbest value to the current value and thepbest location to the current location in n-dimensional space.Step  4. Compare fitness evaluation with the population’s overall previous best. If current value is better thangbest, then resetgbest to the current particle’s array index and value.Step  5. Change the velocity and position of particle according to Step 1 and Step 2, respectively:(8)
v
i
=
w
v
i
+
c
i
r
a
n
d
p
i
-
x
i
+
c
2
r
a
n
d
p
g
-
x
i
x
i
+
1
=
x
i
+
v
i
.Step  6. Loop to Step 2 until a stopping criterion is met.Step  7. Over.The vectorx
i
=
x
i
1
,
x
i
2
,
…
,
x
i
n
T is the position of ith particles, v
i
=
v
i
1
,
v
i
2
,
…
,
v
i
n
T is the velocity of the ith particles, and p
i
=
p
i
1
,
p
i
2
,
…
,
p
i
n
T is the best previous position (the position giving the best fitness value) of the ith particles. The index g is the index of the best particle among all the particles in the swarm. Variable w is the inertia weight, c
1 and c
2 are positive constants, and rand is random number in range [
0,1
] generated according to a uniform probability distribution. Particles’ velocities along each dimension are clamped to a maximum velocity V
m
a
x. If the sum of acceleration causes the velocity on that dimension to exceed V
m
a
x, which is a parameter specified by the user, then the velocity on that dimension is limited to V
m
a
x.The inertia weightw represents the degree of the momentum of the particles. The second part is the “cognition” part, which represents the independent behavior of the particle itself. The third part is the “social” part, which represents the collaboration among the particles. The constants c
1 and c
2 represent the weighting of “cognition” and “social” parts that pull each particle towardspbest andgbest positions.


## 3. Proposed Algorithm

This chapter is divided into 3 parts. Section3.1 introduced the new threshold rule we designed which is based on classical Shearlet theory. And the fitness function we quoted is shown in Section 3.2. Then, our all algorithm workflow (Figure 1) is detailed and introduced in Section 3.3.Figure 1
Workflow of proposed algorithm.


### 3.1. Threshold Rule

Threshold rule is the most important problem in image denoising of transform domain, and the hard threshold and the soft-threshold approach are two options. Fan et al. [18] proposed a threshold rule:(9)
δ
=
σ
2
l
n
N
.Here, N is the pixels number of image and σ is noise level.Research shows that Fan et al. threshold is not the optimal threshold. Considering this, Fan et al. [18] proposed improved threshold rules:(10)
δ
k
=
σ
2
l
n
N
∗
2
k
-
K
/
2
,
k
=
0,1
,
…
,
K
.All formula (9) and formula (10) are intended to get better denoising performance by setting good threshold to each subwavelet, but they can not find the best threshold. Based on this idea, here, we proposed a new idea that adopts optimization algorithm to find the best performance; that is, give weighted factor to each subwavelet; then, use PSO algorithm to find the best factors.However, in optimization algorithm, the key problem is how to design an objective and good fitness.


### 3.2. Fitness Function

Fan and Zhao [17–19] proposed the way to get best threshold by optimal algorithm, but in their papers, they did not introduce where to get fitness function.Wang [35] proposed a fast and rough evaluated method to noise level of noisy image, and we used as our fitness parameter of PSO algorithm. We defined our fitness as follows:(11)
S
N
R
′
=
I
s
∂
^
w
,where I
s is estimate of signal intensity in image and ∂
^
w is estimate of noise intensity in image.Definex
(
m
,
n
) as an unpolluted gray image with size of M
×
N, and define an area D
o
=
{
(
m
,
n
)
∣
m
∈
[
1
,
M
]
∧
n
∈
[
1
,
N
]
}; with the same form, we can define a noisy image y
(
m
,
n
) as follows:(12)
y
(
m
,
n
)
=
x
(
m
,
n
)
+
w
(
m
,
n
)
,
∀
(
m
,
n
)
∈
D
o
,where w
(
m
,
n
) is noise model; in this paper, it is Gaussian noise model. From formula (12), we designed and evaluated methods of I
s and ∂
^
w:(13)
I
s
=
m
a
x
(
y
∗
G
ρ
)
-
m
i
n
(
y
∗
G
ρ
)
2
G
ρ
=
1
2
π
ρ
2
e
x
p
-
x
1
2
+
x
2
2
2
ρ
2
.Here, let us suppose the classical Gaussian filter is perfect; its output is noiseless, so we can suppose the median data of signal to be the estimate of signal intensity in image.Then, we suppose signal in image is at low frequencies, andH
g
r
a
d is perfect; its output is signal-free totally, so we can suppose the standard variance ∂
^
w in image to be the estimate of noise intensity in image:(14)
H
g
r
a
d
=
1
2
1
-
1
-
1
1
∂
^
w
=
s
t
d
(
H
g
r
a
d
∗
y
)
.Here, s
t
d
(
·
) is standard variance.Based on this definition of fitness, we proposed our algorithm.


### 3.3. Proposed Algorithm

The most critical problem is how to find the best weighted factorδ
k
,
j. Here, we proposed our algorithm which adopts PSO algorithm to decide coefficients δ
k
,
j of each subwavelet S
k
,
j in different scale and direction of Shearlet transform, intended to get optimal denoising performance.Our algorithm main routine is as follows.Step  1. Use classical Shearlet transform to decompose noised image into many pieces under multiscale and multiorientation, get subwavelet S
k
,
j, k is scale, and j is direction.Step  2. Give weighted factor δ
k
,
j to those subwavelets S
k
,
j obtained, reconstruct image, design a fitness function to evaluate noise level of new image, and use PSO algorithm to find the best δ
k
,
j
o
p and output S
k
,
j
o
p
′
=
S
k
,
j
·
δ
k
,
j
o
p
.Step  3. Output the best image I
o
p which is reconstructed by S
k
,
j
o
p
′.Our PSO subroutine is shown as follows.Step  1. Initialize a population of particles with random positions and velocities.Step  2. For each particle, S
k
,
j
′
=
S
k
,
j
·
δ
k
,
j.Step  3. For each particle, reconstruct image I
i
t
e by S
k
,
j
′.Step  4. For each I
i
t
e, evaluate its fitness by formula (11).Step  5. Compare each particle’s fitness evaluation with the current particle’spbest. If current value is better thanpbest, set itspbest value to the current value and thepbest location to the current location in 2-dimensional space.Step  6. Compare fitness evaluation with the population’s overall previous best. If current value is better thangbest, then resetgbest to the current particle’s array index and value.Step  7. Change the velocity and position of particle, respectively:(15)
v
i
=
w
v
i
+
c
i
r
a
n
d
p
i
-
x
i
+
c
2
r
a
n
d
p
g
-
x
i
x
i
+
1
=
x
i
+
v
i
.Step  8. Loop to Step 2 until a stopping criterion is met. If one stopping condition in the following is satisfied, go to Step 9; if not, return to Step 2.(i)
Maximum iterations are exceeded.
(ii)
The optimal target value is achieved.Step  9. Exit optimal algorithm, output S
k
,
j
o
p
′.


## 3.1. Threshold Rule

Threshold rule is the most important problem in image denoising of transform domain, and the hard threshold and the soft-threshold approach are two options. Fan et al. [18] proposed a threshold rule:(9)
δ
=
σ
2
l
n
N
.Here, N is the pixels number of image and σ is noise level.Research shows that Fan et al. threshold is not the optimal threshold. Considering this, Fan et al. [18] proposed improved threshold rules:(10)
δ
k
=
σ
2
l
n
N
∗
2
k
-
K
/
2
,
k
=
0,1
,
…
,
K
.All formula (9) and formula (10) are intended to get better denoising performance by setting good threshold to each subwavelet, but they can not find the best threshold. Based on this idea, here, we proposed a new idea that adopts optimization algorithm to find the best performance; that is, give weighted factor to each subwavelet; then, use PSO algorithm to find the best factors.However, in optimization algorithm, the key problem is how to design an objective and good fitness.


## 3.2. Fitness Function

Fan and Zhao [17–19] proposed the way to get best threshold by optimal algorithm, but in their papers, they did not introduce where to get fitness function.Wang [35] proposed a fast and rough evaluated method to noise level of noisy image, and we used as our fitness parameter of PSO algorithm. We defined our fitness as follows:(11)
S
N
R
′
=
I
s
∂
^
w
,where I
s is estimate of signal intensity in image and ∂
^
w is estimate of noise intensity in image.Definex
(
m
,
n
) as an unpolluted gray image with size of M
×
N, and define an area D
o
=
{
(
m
,
n
)
∣
m
∈
[
1
,
M
]
∧
n
∈
[
1
,
N
]
}; with the same form, we can define a noisy image y
(
m
,
n
) as follows:(12)
y
(
m
,
n
)
=
x
(
m
,
n
)
+
w
(
m
,
n
)
,
∀
(
m
,
n
)
∈
D
o
,where w
(
m
,
n
) is noise model; in this paper, it is Gaussian noise model. From formula (12), we designed and evaluated methods of I
s and ∂
^
w:(13)
I
s
=
m
a
x
(
y
∗
G
ρ
)
-
m
i
n
(
y
∗
G
ρ
)
2
G
ρ
=
1
2
π
ρ
2
e
x
p
-
x
1
2
+
x
2
2
2
ρ
2
.Here, let us suppose the classical Gaussian filter is perfect; its output is noiseless, so we can suppose the median data of signal to be the estimate of signal intensity in image.Then, we suppose signal in image is at low frequencies, andH
g
r
a
d is perfect; its output is signal-free totally, so we can suppose the standard variance ∂
^
w in image to be the estimate of noise intensity in image:(14)
H
g
r
a
d
=
1
2
1
-
1
-
1
1
∂
^
w
=
s
t
d
(
H
g
r
a
d
∗
y
)
.Here, s
t
d
(
·
) is standard variance.Based on this definition of fitness, we proposed our algorithm.


## 3.3. Proposed Algorithm

The most critical problem is how to find the best weighted factorδ
k
,
j. Here, we proposed our algorithm which adopts PSO algorithm to decide coefficients δ
k
,
j of each subwavelet S
k
,
j in different scale and direction of Shearlet transform, intended to get optimal denoising performance.Our algorithm main routine is as follows.Step  1. Use classical Shearlet transform to decompose noised image into many pieces under multiscale and multiorientation, get subwavelet S
k
,
j, k is scale, and j is direction.Step  2. Give weighted factor δ
k
,
j to those subwavelets S
k
,
j obtained, reconstruct image, design a fitness function to evaluate noise level of new image, and use PSO algorithm to find the best δ
k
,
j
o
p and output S
k
,
j
o
p
′
=
S
k
,
j
·
δ
k
,
j
o
p
.Step  3. Output the best image I
o
p which is reconstructed by S
k
,
j
o
p
′.Our PSO subroutine is shown as follows.Step  1. Initialize a population of particles with random positions and velocities.Step  2. For each particle, S
k
,
j
′
=
S
k
,
j
·
δ
k
,
j.Step  3. For each particle, reconstruct image I
i
t
e by S
k
,
j
′.Step  4. For each I
i
t
e, evaluate its fitness by formula (11).Step  5. Compare each particle’s fitness evaluation with the current particle’spbest. If current value is better thanpbest, set itspbest value to the current value and thepbest location to the current location in 2-dimensional space.Step  6. Compare fitness evaluation with the population’s overall previous best. If current value is better thangbest, then resetgbest to the current particle’s array index and value.Step  7. Change the velocity and position of particle, respectively:(15)
v
i
=
w
v
i
+
c
i
r
a
n
d
p
i
-
x
i
+
c
2
r
a
n
d
p
g
-
x
i
x
i
+
1
=
x
i
+
v
i
.Step  8. Loop to Step 2 until a stopping criterion is met. If one stopping condition in the following is satisfied, go to Step 9; if not, return to Step 2.(i)
Maximum iterations are exceeded.
(ii)
The optimal target value is achieved.Step  9. Exit optimal algorithm, output S
k
,
j
o
p
′.


## 4. Experimental Results and Analysis

### 4.1. Fitness Function Performance Test

For the sake of evaluating the performance of fitness function in proposed algorithm, we added Gaussian noise in several classical images with different variance and then calculated their fitness function data and plotted in Figure2.Figure 2
Performance of our fitness function.
(a)
Boat
(b)
Our fitness function of image (a) in different noise level
(c)
Barbara
(d)
Our fitness function of image (c) in different noise levelIn Figure2, as we can see from this output, despite the existence of some small fluctuation, those lines can basically reflect the trend that image’s quality is moving in the worse direction, and that is exactly what we need in our optimal algorithm.These two images are512
∗
512 pixels, and the test platform is window 7, Matlab 2012a; CPU is i7-3770 3.4 GHz, 16 G RAM. By using “tic” and “toc” function, its average elapsed time is 0.001612 seconds, so this fitness function can be calculated very fast.Based on the above, we can draw a conclusion that this fitness function (formula (11)) is able to be applied in our algorithm basically.


### 4.2. Total Algorithm Performance Test

In order to validate the performance of this algorithm, 4 images were filtered by proposed algorithm and classical Shearlet algorithm that we downloaded code from website [36]. These 4 test images are head MRI (Figure 3(a)), baboon (Figure 3(b)), Barbara (Figure 3(c)), and brain MRI (Figure 3(d)) image; we added different noise level into them, filtered these noisy images by two algorithms, and listed their filtered results PSNR (peak signal noise ratio) in Figure 2. Here, PSNR has the same classical definition in [3]; it has no relationship with SNR′ which we defined by ourselves.Figure 3
Comparison chart of two algorithms on some images.
(a)
Head MRI
(b)
Baboon
(c)
Barbara
(d)
Brain MRI
(e)
Comparison chart of two algorithms on (a)
(f)
Improved PSNR of (e)
(g)
Comparison chart of two algorithms on (b)
(h)
Improved PSNR of (g)
(i)
Comparison chart of two algorithms on (c)
(j)
Improved PSNR of (i)
(k)
Comparison chart of two algorithms on (d)
(l)
Improved PSNR of (k)Figures3(e), 3(g), 3(i), and 3(k) are comparison charts of two algorithms PSNR output and we can see that all red line is higher than all blue line totally, though all two lines are similar. In order to get a better view, we listed these differences of two-group data by bar charts of Figures 3(f), 3(h), 3(j), and 3(l). From these bar charts, we can directly find that our proposed algorithm is better than classical Shearlet algorithm, and this better performance will decrease when noise level is higher.So the result of these experiments data had shown that our proposed algorithm has better denoising performance than classical Shearlet algorithm, and this advantage will decrease when noise level increased.To show the “improved PSNR” data in Figure3 better, Table 1 is show; in this table, from those average data, we can see that our algorithm has good performance, but those worst data reflect our algorithm that has drawback; we guess that is caused by the small fluctuation of our fitness function.Table 1
Improved PSNR of Figure3.
Average of Figure3(f)
Average of Figure3(h)
Average of Figure3(j)
Average of Figure3(l)
0.057
0.072
0.127
0.119
Best of Figure3(f)
Best of Figure3(h)
Best of Figure3(j)
Best of Figure3(l)
0.132
0.243
0.281
0.542
Worst of Figure3(f)
Worst of Figure3(h)
Worst of Figure3(j)
Worst of Figure3(l)
−0.043
0.005
−0.076
−0.081In all above experiments, 9 main PSO algorithm’s parameters adopted are shown in Table2.Table 2
Some PSO parameters.
Population size
24
Local best influence
2
Initial inertia weight
0.9
Minimum global error gradient
1
e
-
10
VarRange
[0~1]
Maximum number of iterations
100
Global best influence
2
Final inertia weight
0.4
Max particle velocity
0.1


## 4.1. Fitness Function Performance Test

For the sake of evaluating the performance of fitness function in proposed algorithm, we added Gaussian noise in several classical images with different variance and then calculated their fitness function data and plotted in Figure2.Figure 2
Performance of our fitness function.
(a)
Boat
(b)
Our fitness function of image (a) in different noise level
(c)
Barbara
(d)
Our fitness function of image (c) in different noise levelIn Figure2, as we can see from this output, despite the existence of some small fluctuation, those lines can basically reflect the trend that image’s quality is moving in the worse direction, and that is exactly what we need in our optimal algorithm.These two images are512
∗
512 pixels, and the test platform is window 7, Matlab 2012a; CPU is i7-3770 3.4 GHz, 16 G RAM. By using “tic” and “toc” function, its average elapsed time is 0.001612 seconds, so this fitness function can be calculated very fast.Based on the above, we can draw a conclusion that this fitness function (formula (11)) is able to be applied in our algorithm basically.


## 4.2. Total Algorithm Performance Test

In order to validate the performance of this algorithm, 4 images were filtered by proposed algorithm and classical Shearlet algorithm that we downloaded code from website [36]. These 4 test images are head MRI (Figure 3(a)), baboon (Figure 3(b)), Barbara (Figure 3(c)), and brain MRI (Figure 3(d)) image; we added different noise level into them, filtered these noisy images by two algorithms, and listed their filtered results PSNR (peak signal noise ratio) in Figure 2. Here, PSNR has the same classical definition in [3]; it has no relationship with SNR′ which we defined by ourselves.Figure 3
Comparison chart of two algorithms on some images.
(a)
Head MRI
(b)
Baboon
(c)
Barbara
(d)
Brain MRI
(e)
Comparison chart of two algorithms on (a)
(f)
Improved PSNR of (e)
(g)
Comparison chart of two algorithms on (b)
(h)
Improved PSNR of (g)
(i)
Comparison chart of two algorithms on (c)
(j)
Improved PSNR of (i)
(k)
Comparison chart of two algorithms on (d)
(l)
Improved PSNR of (k)Figures3(e), 3(g), 3(i), and 3(k) are comparison charts of two algorithms PSNR output and we can see that all red line is higher than all blue line totally, though all two lines are similar. In order to get a better view, we listed these differences of two-group data by bar charts of Figures 3(f), 3(h), 3(j), and 3(l). From these bar charts, we can directly find that our proposed algorithm is better than classical Shearlet algorithm, and this better performance will decrease when noise level is higher.So the result of these experiments data had shown that our proposed algorithm has better denoising performance than classical Shearlet algorithm, and this advantage will decrease when noise level increased.To show the “improved PSNR” data in Figure3 better, Table 1 is show; in this table, from those average data, we can see that our algorithm has good performance, but those worst data reflect our algorithm that has drawback; we guess that is caused by the small fluctuation of our fitness function.Table 1
Improved PSNR of Figure3.
Average of Figure3(f)
Average of Figure3(h)
Average of Figure3(j)
Average of Figure3(l)
0.057
0.072
0.127
0.119
Best of Figure3(f)
Best of Figure3(h)
Best of Figure3(j)
Best of Figure3(l)
0.132
0.243
0.281
0.542
Worst of Figure3(f)
Worst of Figure3(h)
Worst of Figure3(j)
Worst of Figure3(l)
−0.043
0.005
−0.076
−0.081In all above experiments, 9 main PSO algorithm’s parameters adopted are shown in Table2.Table 2
Some PSO parameters.
Population size
24
Local best influence
2
Initial inertia weight
0.9
Minimum global error gradient
1
e
-
10
VarRange
[0~1]
Maximum number of iterations
100
Global best influence
2
Final inertia weight
0.4
Max particle velocity
0.1


## 5. Conclusions

In order to eliminate Gaussian noise and preserve image details as much as possible, this paper proposed a novel image filter algorithm which combined merit of PSO algorithm and classical Shearlet transform. It decomposes noised image into many subwavelets under multiscale and multiorientation by classical Shearlet transform; design a fitness functions in PSO and give weighted factors to each subwavelet; use PSO to find optimal weighted factors; after that, reconstruct new and denoised image. It has two contributions: one is proposing PSO to optimal Shearlet transform and another is quoting a rough, objective, fast fitness function to measure images quality. Computer simulations results are given to verify the effectiveness of this algorithm.



---

*Source: 414561-2015-10-11.xml*