ARTICLE IN PRESS
Neurocomputing 71 (2008) 2986–3000 www.elsevier.com/locate/neucom
A mixed noise image filtering method using weighted-linking PCNNs$ Luping Ji, Zhang Yi Computational Intelligence Laboratory, School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu 610054, PR China Received 25 January 2007; received in revised form 21 March 2007; accepted 24 April 2007 Communicated by R.W. Newcomb Available online 13 July 2007
Abstract Image is often degraded by more than one type of noise. In order to design an efficient filter to remove mixed noise from image, this paper proposes a weighted-linking pulse coupled neural network (PCNN) model so as to construct a two-channel parallel noise filter using four PCNNs of this model. This filter detects noise using the pulses generated by neurons, and iteratively removes noise by the pixel signal variation of pulse neurons. The filtering parameters and the iteration stopping conditions are discussed. Experiments show that the proposed PCNN-based filtering method is fast and effective for removing single impulse noise, additional Gaussian noise, as well as the mixed noise of them. r 2007 Elsevier B.V. All rights reserved. Keywords: Noise image filtering; Weighted-linking PCNN; NMSE; PSNR
1. Introduction Causing noise is often inevitable at image acquisition, transmission and processing stages. Little noise may often severely damage image quality. Usually, noise may make image understanding and recognizing more difficult. As a result, some serious error may be caused, even a spurious conclusion may be drawn. Thus, noise should be filtered as completely as possible from image. Generally, noise filtering technology consists of two main steps: noise detection and noise removal. Furthermore, during noise filtering, these original image features, such as edges, size and shape, should be kept unchanged. Generally, two main models are used for characterizing most noise in digital images. They are additive Gaussian noise model and impulse noise model [6]. From the viewpoint of probability, the distribution function of Gaussian noise conforms to
$ This work was supported by National Science Foundation of China under Grant 60471055 and Specialized Research Fund for the Doctoral Program of Higher Education under Grant 20040614017. Corresponding author. E-mail address:
[email protected] (L. Ji).
0925-2312/$ - see front matter r 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.neucom.2007.04.015
pffiffiffiffiffiffi 2 2 gðxÞ ¼ 1s 2peðxmÞ =2s ,
(1)
where 1pxp 1, s is the standard deviation, and m is the mean value of noise signal. If the mean value m ¼ 0, noise signal follows exactly the additive Gaussian noise model [6], which can be formulated as I ni;j ¼ I oi;j þ ni;j ,
(2)
where I ni;j indicates the intensity of noise pixel ði; jÞ, I oi;j indicates the original pixel intensity and ni;j is the added noise intensity. Such a type of noise is usually generated during image acquisition. Some classical filters, such as Gaussian filter, recursive two-dimensional (2D) filter [29], adaptive Wiener filter [33], neighbors mean filter, can efficiently remove it, except that they may degrade the sharpness of object edges. To overcome this weakness, some nonlinear methods are developed [31,35,21,15,32,17]. These methods can effectively remove Gaussian noise, however they may bring a new weakness, namely some thin lines and small objects of original image cannot be well preserved. The other one is impulse noise model. This type of noise may be characterized by replacing the portion of pixel intensity with a random value, while keeping the remainder unchanged [6]. Generally, this impulse noise model can be
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
formulated as ( ni;j with probability p; n I i;j ¼ I oi;j with probability ð1 pÞ:
(3)
where I ni;j indicates the total intensity of pixel ði; jÞ, I oi;j indicates the original pixel intensity and ni;j indicates the added noise intensity. Such a noise is usually caused by transmission error, and it may make pixel intensity abnormally fluctuate. Such a fluctuation is often utilized by many filtering methods. As we know, linear filtering cannot effectively remove impulse noise because it may mistakenly detect object edge as noise region. Just for overcoming this weakness, some nonlinear technologies [15,2,24,10,3,16] and neural filtering method [37] are specially developed. Like most methods, these also consist of two basic steps, namely noise detection and pixel replacement with an estimated value. However, these methods are only effective for removing impulse noise. For the removal of additional Gaussian noise, they seldom work well. In addition to these above, wavelet transform (WT) [18] and partial differential equations (PDEs) with partial derivative estimation are also powerful tools for removing noise. The WT-based methods are often categorized into two classes, namely attenuation and selection. Many WTbased ones are developed for removing white Gaussian noise [19,25,26]. Moreover, for PDEs, the classical heat equation [30] and some nonlinear diffusion algorithms [23,36,12,7] are also frequently used for the removal of additional Gaussian noise. However, the two tools have a same application limitation, namely like linear technologies, they are also inefficient for the removal of impulse noise. Seldom, an image only contains single noise (Gaussian or impulse noise), and it is often contaminated by more than one type of noise, such as mixed noise. The mixed noise is often caused in some complex environment, for example, an image with Gaussian noise is transmitted through a disturbed communication channel. For the existing noise image filtering technologies, most of them are specially proposed for removing single noise [29,31,2,10,3,16,37,17], and some others are presented for the mixed noise removal, such as the local image statistic filtering approach [6], the median-based SD-ROM filter [1], and the fuzzy noise filter [22]. These technologies mentioned above can only remove low-intensity mixed noise, and when they are applied to high-intensity noise, the filtering performances often heavily decline. This paper gives a study on the removal of mixed noise using pulse coupled neural networks (PCNNs). The initial PCNN model proposed by Echorn originates from the observation of synchronous pulses in cat visual cortex [4]. Lindblad discusses image processing technologies of PCNN [13], and Johnson systematically describes some classical PCNN models and their typical applications in [9]. Moreover, Ranganath and Kuntimad develop several
2987
image processing methods [28] using modified PCNNs, such as object detection [27] and image segmentation [11]. In addition, Lindblad also discusses the pinpoint differences as well as similarities between PCNN and wavelet transform in 2D data processing [14]. Recently, various applications of PCNN are proposed, such as the pattern recognition method [20] by Muresan, the image shadow removal approach [8] by Gu, the noise filtering technology [17] by Ma, the image thinning algorithm [34] by Shang, and the intersecting cortical model (ICM) for special image processing [5] by Ekblada. However, these traditional PCNNs are only useful for removing single noise [37,17]. To develop the mixed noise removal of PCNN, this paper constructs a two-channel parallel filter by proposing a weighted-linking PCNN model that originates from [9,27,20,8,34]. Like [27,17], this filter also needs to iteratively run, so we design a special stopping condition for determining when the two-channel PCNN filtering finishes. In this filter, each channel consists of two serial PCNNs, and each PCNN iteratively detects and removes noise using neuron pulses and pixel intensity variation, until the given stopping condition is satisfied. In addition to these, to obtain good filtering performance, these channel outputs are fused together using an optimization strategy. The remainder of this paper is organized as follows. Section 2 introduces the pulse coupled neuron (PCN) model of the proposed network. Section 3 presents how to construct a two-channel filter using four PCNNs, and choose suitable parameters for them. Section 4 exhibits experimental results and comparisons. Finally, some conclusions are drawn in Section 5. 2. Weighted-linking PCNN model PCNN, a well-known class of neural networks, has many advantages, such as fast parallel processing capability and one-to-one relationship between neurons and image pixels. It can conveniently process image by manipulating its neurons. These advantages make it quite attractive to image processing, as a result, many classical PCNN-based applications have been found. For noise removal, some initial algorithms [28,27,17] have been proposed, but limited by the adopted PCNN models, they are only efficient for removing single type of noise, such as impulse noise or Gaussian noise. How to remove mixed noise using PCNN is a challenging problem that is waiting for being settled. To improve the noise removal ability of PCNN and develop a new method for mixed noise removal, some modifications are introduced into existing PCNNs so as to propose a weighted-linking PCNN model. For explaining this model in a detailed way, the PCN structure of such a model and an eight-neuron linking pattern are illustrated in Fig. 1(a) and (b), respectively. Before the PCN is introduced, some notations are defined as follows. N denotes a PCNN, and N m;n denotes neuron ðm; nÞ. HðN m;n Þ denotes the linking-neuron set of
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
2988
w1j
φ ( x1 , y1 )
w2j
φ ( xi , yi )
…
φ ( x2 , y 2 )
Σ
+
+1
θj
wij wjj
xj
×
+γ Receptive Field
uj
Modulation Field
+
d= 2 d=1
f
yj
Pulse Generator
Fig. 1. Weighted-linking PCNN: (a) neuron model; (b) eight-neuron linking pattern.
N m;n , which consists of h linking neurons, h ¼ H q ðN m;n Þ. N j is a brief expression of N m;n , and fðxi ; yi Þ, where 1piph, indicates the mixed input from the ith linking neuron, xi and yi are pixel and pulse signal of the ith linking neuron, respectively. wij is linking weight between N j and its ith linking neuron. Coefficient g is an adjustment value, b is linking strength, uj is total activity strength, yj is pulse threshold, f is pulse generator function, yj is output signal and d is the linking distance between two neurons. Based on these defined notations, the behavior of N j can be formulated as 8 h > < uj ðtÞ ¼ ½xj ðtÞwðj; jÞ þ g 1 þ b P wði; jÞfðxi ðtÞ; y ðtÞÞ ; i > : y ðtÞ ¼ f ðuj ðtÞ yj ðtÞÞ;
i¼1
j
(4) where t is iteration times, t ¼ 0; 1; . . . ; þ1, g40, b40 and 1piph. The mixed input fðxi ; yi Þ follows fðxi ; yi Þ ¼ jxi xj j eyi , where j j is absolute value function. In Eq. (4), the pulse function f ðjÞ is defined as 1 if uXy; f ðjÞ ¼ f ðu yÞ (5) 0 if uoy and linking weight wij is the output of wði; jÞ, which is calculated by ( 1 if d ij ¼ 0; wij ¼ wði; jÞ ¼ (6) 1d ij e s if d ij 40; where d ij is the linking distance between N j and ith linking neuron, N i . The output curves of function wðÞ and f ðÞ are plotted in Fig. 2(a) and (b), respectively. Eq. (4) gives the rules of computing total activity strength and generating pulse signal. Eq. (5) means that if total activity reaches the pulse threshold, neuron will generate a pulse, otherwise it will not. Eq. (6) denotes that linking weight is related to the linking distance between two neurons, and it decreases exponentially with respect to linking distance d ij . Moreover, in Eq. (4), pulse threshold yj ðtÞ of neuron N j (or N m;n ) is real-timely computed from the linking-neuron set HðN m;n Þ, and it does not exponentially decrease with respect to t. Contrarily, in [37,9,27,20,8], the pulse threshold is initialized experientially, then it will decrease
exponentially with respect to iteration times t. At the tth iteration, for the weighted-linking PCN, N j , the real-time pulse threshold is computed by " # h X h 1 X rxi7!i0 ðtÞ , (7) yj ðtÞ ¼ xðtÞ 1 þ 2 h xj ðtÞ i¼1 i0 ¼1 where h (h ¼ H q ðN j Þ) denotes the total number of linking neurons around central neuron N j , and xðtÞ is the mean pixel value of all linking neurons. rxðtÞ indicates the pixel signal difference between two neurons. This equation denotes that pulse threshold is related to these linkingneurons. For instance, for a 3 3 linking-neuron set, h ¼ 8 and there are totally 25 neurons to be used for computing real-time pulse threshold yj ðtÞ of the neuron. During the weighted-linking PCNN running, if uj ðtÞXyj ðtÞ, neuron N j will fire (namely it generates a pulse), and cause yj ðtÞ ¼ 1. So in the next iteration (namely T ¼ t þ 1), neuron can update its pixel signal xj ðtÞ using ( xj ðtÞ if yj ðtÞ ¼ 0; (8) xj ðt þ 1Þ ¼ xðtÞ þ xðxj ðtÞ xðtÞÞ if yj ðtÞ ¼ 1; where xðtÞ indicates the mean pixel intensity of all h þ 1 neurons, including N j , and x (x40) is an adjustable coefficient, which should be embodied in application. Furthermore, this rule implies that if neuron does not fire, yj ðtÞ ¼ 0, so its pixel signal is kept unchanged, that is xj ðt þ 1Þ ¼ xj ðtÞ. Contrarily, if neuron fires, yj ðtÞ ¼ 1, then the pixel signal of N j is changed. Compared with these conventional PCNNs [37,9,8], the proposed one shows some novelties: (i) linking input is extended to the mixture of pixel and pulse signals, (ii) weighted-linking weight is used to differentiate the linking stimulus related to the linking distance, (iii) pulse threshold is computed real-timely, (iv) total activity strength is redefined using linking weight and (v) neuron can update pixel signal if it generates a pulse (fires). 3. Noise filtering using weighted-linking PCNNs For image filtering, how to detect noise pixel is a crucial problem. Once it is determined, how to remove it is another problem. Since additional Gaussian noise and impulse noise conform to different distributions, we have to design
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
2989
Fig. 2. Two output curves: (a) linking weight, wðdÞ; (b) pulse output, f ðu yÞ.
Fig. 3. The two-channel filter structure based on four PCNNs.
a new filter, consisting of four weighted-linking PCNNs, to process mixed noise. Fig. 3 shows the coarse structure of such a proposed filter. As shown in Fig. 3, this filter consists of four PCNNs, two for Gaussian noise, and the others for impulse noise. Networks N2 and N3 make up of the first filtering channel, F1 , and N1 and N4 make up of the second filtering channel, F2 . Parameters e and Z are two weight coefficients for F1 and F1 , respectively. Just like the conventional models [37,9,8], for any network Nk (1pkp4), there exists strictly a one-to-one relationship between neuron and pixel, and this network runs iteratively with respect to iteration t, until the stopping condition is satisfied or it is terminated compulsively. To describe the proposed two-channel parallel filtering algorithm, we give tow algorithm flowcharts, which are illustrated in Fig. 4. In the figure, (a) is the uniform working flowchart for the four PCNNs, which coarsely presents how to detect noise and when to switch to directpass model, and (b) is the systematical flowchart of the constructed filter, which presents when to terminate the filtering algorithm. Next, we will describe how to determine filtering parameters and how to define the stopping condition of PCNN. Next in this paper, Imn indicates a m n noise image, and I0mn denotes the ultimate filtering output. PCNN is expressed as Nkmn , where k (1pkp4) is a serial number. The input and output of Nkmn are denoted as IðNkmn Þ and OðNkmn Þ, respectively. Some other filtering parameters are
Fig. 4. The working flowchart of the proposed algorithm: (a) filtering flowchart of each PCNN, (b) systematical flowchart of the two-channel filter.
determined as follows. Firstly, the linking matrix (or filter window) is defined as a l l matrix, where l is an odd integer. For example, if l ¼ 3, the linking distance matrix,
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
2990
D33 , and the weighted-linking matrix, W 33 , are computed according to Eq. (6), and then the computation results can be expressed as pffiffiffi 1 0 pffiffiffi 2 1 2 B C C D33 ¼ B @ 1 0 1 A pffiffiffi pffiffiffi 2 1 2 0 1 0:6609 1 0:6609 B C 1 1 C and W 33 ¼ B @ 1 A, 0:6609 1 0:6609
Moreover, it should be noted that in a 2D PCNN, there are three possible locations for neuron: namely the common location (Fig. 5(a)), the edge location (Fig. 5(b)) and the corner location (Fig. 5(c)). In the illustrations, these dashed circle means that no neuron exists on the location. For the neuron N 5 in Fig. 5(a), the eight-neuron linking set HðN 5 Þ is full, however the eight-neuron linking set HðN 5 Þ is not full in either Fig. 5(b) or (c). Generally, for a given linking matrix W ll , the proposed algorithm need not require that all the l2 1 linking neurons must exist, and it only considers those real-existing linking neurons within a given neuron linking set. In addition to these, according to Eq. (7), at the tth iteration, real-time pulse threshold ym0 ;n0 of neuron N m0 ;n0 should be embodied by " # h X h 1 X rxi7!i0 ðtÞ ym0 ;n0 ðtÞ ¼ xðtÞ 1 þ 2 h xj ðtÞ i¼1 i0 ¼1 " X 1 a;bpl 1 ¼ 2 xa;b ðtÞ 1 þ 2 l a;b¼1 ðl 1Þ2 xm0 ;n0 ðtÞ # 0 0 1pa;bpl ;b pl X 1paX jxa;b ðtÞ xa0 ;b0 ðtÞj , ð10Þ
if l is equal to other odd integer, the distance matrix, Dll , and the weighted-linking matrix, W ll , are still computed similarly to when l ¼ 3. At any iteration times t, according to Eq. (4), for neural network Nkmn , where k 2 f1; 2; 3; 4g, the total internal activity strength, ukm0 ;n0 ðtÞ, of neuron N km0 ;n0 can be computed by ukm0 ;n0 ðtÞ ¼ ½xj ðtÞwðj; jÞ þ g " # h X 1þb wði; jÞfðxi ðtÞ; yi ðtÞÞ
a;bal0
i¼1
where rxi7!i0 is the pixel gradient between two neurons, xa0 ;b0 indicates pixel signal of neuron N a0 ;b0 within neuron linking set HðN a;b Þ, and N a;b indicates the neuron (a; b), which is within the linking set HðN m0 ;n0 Þ of N m0 ;n0 . As expressed in Eq. (10), to calculate pulse threshold, the direct-linking neuron N a;b and the indirect-linking neuron N a0 ;b0 within linking set HðN a;b Þ must be referred to. To explain this calculation rule, Fig. 6 gives an example. For neuron N m0 ;n0 , the direct-linking set HðN m0 ;n0 Þ ¼ fN a;b jm0 1pa0 pm0 þ 1; n0 1pb0 pn0 þ 1g, and the indirect-linking set HðN m0 1;n0 þ1 Þ ¼ fN a0 ;b0 jm0 2pa0 pm0 ; n0 pb0 pn0 þ 2g, noting N m;n eHðN m;n Þ for any neuron. According to Eq. (10) and Fig. 6, if l ¼ 3, there will be 25 neurons to be involved in the pulse threshold calculation of N m0 ;n0 . For each network of this filter, the weighted-linking matrix W ll always conforms to the same definition as Eq. (6). Threshold yðtÞ and total activity uðtÞ are calculated according to Eqs. (9) and (10), respectively. Furthermore, according to Eq. (8), for both the filtering channels F1 and
¼ ½xkm0 ;n0 ðtÞW l0 ;l0 þ g " 1pa;bpl X W a;b jxka;b ðtÞ 1þb a;bal0
#
xkm0 ;n0 ðtÞj expðyka;b ðtÞÞ
,
a0 ;b0 al0
ð9Þ
where ðm0 ; n0 Þ are neuron coordinates (1pm0 pm and 1pn0 pn), and ðl0 ; l0 Þ are the coordinates of the median element in W ll , l0 ¼ ðl mod 2Þ þ 1. W a;b indicates the element ða; bÞ of W ll , xa;b and ya;b (1pa; bpl and a; bal0 ) denote the pixel signal and output signal of linking neuron N a0 ;b0 , where a0 ¼ m0 þ a l0 . Linking strength factor follows b ¼ 1=ðl2 1Þxm0 ;n0 ðtÞ, symbol j j denotes an absolute value function, and coefficient g is determined experimentally. At t ¼ 0 (prior to the first iteration of PCNN), PCNN begins to initialize itself, and then, at tX1, it starts to iteratively remove noise until the stopping condition (to be defined) is satisfied.
N1
N2
N2
N1
N2
N2
N1
N2
N2
N4
N5
N6
N4
N5
N6
N4
N5
N6
N7
N8
N9
N7
N8
N9
N7
N8
N9
Fig. 5. Three possible locations of neuron N 5 appearing in network: (a) the common location; (b) the edge location; (c) the corner location.
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
n’-2
n’-1
n’
n’+1
2991
n’+2
m’-2 m’-1 m’ m’+1 m’+2
Fig. 6. An example for computing the pulse threshold, l ¼ 3.
F2 , how to update the pixel signal of neuron is completely different from each other. Totally, the pixel signal of a pulse neuron should be updated by ( if ym0 ;n0 ðtÞ ¼ 0; xm0 ;n0 ðtÞ xm0 ;n0 ðt þ 1Þ ¼ xðtÞ þ xðxm0 ;n0 ðtÞ xðtÞÞ if ym0 ;n0 ðtÞ ¼ 1; (11) where the adjustable coefficient x is determined by noise model, additional Gaussian noise or impulse noise. In PCNN Nkmn (1pkp4), as for different noise models, the coefficient x can be determined by 8 s2m0 ;n0 > > for N1;3 > mn ; < ðs2 0 0 þ s2 Þ m ;n m;n (12) x¼ P > 1 > 2;4 > 0 0 0 ðtÞ x ðtÞj for N ; jx 0 : m ;n a ;b mn h xm0 ;n0 ðtÞ where sm0 ;n0 and sm;n denote the estimated local variance and mean variance, respectively. Herein, xm0 ;n0 and xa0 ;b0 are the pixel intensities of N m0 ;n0 and N a0 ;b0 , respectively. Positive integers a; b; a0 ; b0 and l conform to a0 ¼ m0 þ ða lÞ, b0 ¼ m0 þ ðb lÞ and 1pa; bpl. The first option of coefficient x in Eq. (12) is designed for removing additional Gaussian noise, and the other is designed for removing impulse noise. In fact, such options of x are two modified forms of the definitions in the literature [24]. Generally, insufficient filtering or excessive filtering may result in a nonoptimal filtering output. Therefore, a certain stopping condition should be defined for our filter. Before we discuss the stopping condition, we firstly introduce normalized mean square error (NMSE), which is given as Pm Pn ðI m0 ;n0 Om0 ;n0 Þ2 0 0 NMSEðI mn ; Omn Þ ¼ m ¼1Pmn ¼1Pn , (13) 2 m0 ¼1 n0 ¼1 I m0 ;n0 where I mn and Omn denote filtering input and output, I m0 ;n0 and Om0 ;n0 denote the pixel sets of images I mn and Omn , respectively. Using NMSE, the stopping condition for PCNNs is determined as follows. Firstly, define ek ðtÞ ¼ k k NMSEðIðNmn ÞðtÞ; OðNmn ÞðtÞÞ, where k is still the serial
number, where 1pkp4. IðNkmn ÞðtÞ and OðNkmn ÞðtÞ are input and output of Nkmn at T ¼ t, respectively. Generally, larger ek ðtÞ implies stronger filtering response to current input. And then, define a threshold O (O40) for ek ðtÞ, and experiments show that 0:0005 is a suitable value for O. Finally, the stopping condition of Nkmn (1pkp4) is given as ek ðtÞ ¼ NMSEðIðNkmn ÞðtÞ; OðNkmn ÞðtÞÞoO.
(14)
This condition means that during noise filtering stage, if ek ðtÞ decreases under the threshold O, the network immediately stops. Eq. (14) also implies when to stop filtering can be determined by both ek ðtÞ and O together. If it satisfies ek ðtÞoO at t ¼ t0 , PCNN will stop immediately, otherwise it continues to run until Eq. (14) is satisfied. Noting, PCNN determines when to stop iteration only by itself, in other words, such a stop is irrelative to other PCNNs. Once a PCNN stops at t ¼ t0 , it will switch to a direct-pass mode, and this mode results in OðNkmn ÞðtÞ ¼ IðNkmn ÞðtÞ for any t (t4t0 ). As mentioned above, the two-channel filter consists of four PCNNs, and it will keep on running until all PCNNs have stopped. Once the filter stops, both F1 and F2 will output stable filtering signal. Suppose OðF1 Þ and OðF2 Þ indicate the output signals of channels F1 and F2 , respectively. For obtaining better result, the ultimate filtering output I0mn is fused by I0mn ¼ e OðF1 Þ þ Z OðF2 Þ,
(15)
where the coefficients e and Z conform to e þ Z 1 and 0pe; Zp1. They are determined as follows. Firstly, calculating the maximal value of NMSE for N kmn , ek ¼ max0ptpt0 ek ðtÞ, where 1pkp4. Then coefficient e is calculated by e ¼ ðe1 þ e4 Þ=ðe1 þ e2 þ e3 þ e4 Þ, and then, Z is calculated by Z ¼ 1 e. This fusion rule indicates that this channel coefficient is closely related to the PCNN with the maximal filtering response, and the channel with larger response accounts for the larger percent of final filtering output. By now, the proposed noise filtering algorithm has been completely described. It absorbs some basic ideas of
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
2992
Ranganath’s noise removal algorithm [28,27], such as iteration, detecting noise using pulses, removing noise by adjusting pixel intensity and termination condition. In addition to these, we adopt a different PCNN model from Ranganath’s, we detect noise by judging whether a neuron has generated pulse and we use a NMSE threshold instead of the unidirectional termination condition by Ranganath to determine when these PCNNs stop. Moreover, we use two parallel filtering channels to detect and remove noise, and a channel fusion strategy is also applied to this filter. These new modifications make our algorithm effective for mixed noise removal, and also bring a possibility to further improve filtering performance. 4. Experiments of testing and evaluation In this section, two classical images and a PC with 800 Hz CPU are used in the experiments. These experiments mainly consist of two parts, namely testing the proposed algorithm and comparing it with some others. Throughout this section, p (0ppp1) denotes the intensity of impulse noise and s (0psp1) denotes the standard variance of additional Gaussian noise. Generally, filtering performance can be evaluated by NMSE (Eq. (13)) and peak signal-to-noise ratio (PSNR). Herein, PSNR is formulated by PSNRðI mn ; Omn Þ ¼ 10 log10
! 2552 m n dB, Pm Pn 2 m0 ¼1 n0 ¼1 ðI m0 ;n0 Om0 ;n0 Þ
ð16Þ
where I mn and Omn denote an original image and a filtered image, respectively, m n denotes image size and ðm0 ; n0 Þ denotes pixel coordinates of input or output image. Just as discussed in [6], a better noise image filtering method can often result in the less NMSE and larger PSNR values. 4.1. Filtering performance testing The filtering performance of the proposed method is closely related to two important parameters, namely the linking matrix W ll (filtering window) and the iteration times t. With respect to different parameters choice, our method often achieves different filtering performance. In
this section, the performance is tested quantitatively, and these experiments are based on some noise images with different mixture (p; s), linking matrix and iteration t. To test filtering performance, firstly, the ‘‘Lina’’ image is added with three types of noise: impulse noise (p ¼ 0:1), additional Gaussian noise (s ¼ 0:1) and mixed noise (p ¼ 0:1 and s ¼ 0:1), see these noise samples in Fig. 7. Moreover, the threshold O is set to 1, parameter g is set to 0:0001, and l ¼ 3; 5 and 7. During the iterative filtering by the filter, according to Eqs. (13) and (16), at each iteration, NMSE and PSNR of filtering images can be calculated. Figs. 8–10 give these NMSE or PSNR curves with respect to t. As shown in Fig. 8, the proposed method can efficiently remove single impulse noise and achieve satisfying NMSE and PSNR values. However, with respect to different parameters, it often generates different results. Especially, too large t often worsens the performance. As a whole, t ¼ 2 can make the filtering performance reach a peak. If the image is added with the Gaussian noise of s ¼ 0:1, our method obtains the best filtering result at l ¼ 3, see Fig. 9. Even if this mixed noise (p ¼ 0:1 and s ¼ 0:1) is added, there is a slight influence of l on the filtering result. As a whole, the filtering performance can often reach a performance peak under the conditions of t ¼ 2 and l ¼ 7. As discussed before, our method is sensitive to two parameters: t and l. Table 1 gives the numeric sensitivity to these two parameters. These experiments are carried out on the image with the mixed noise (p ¼ 0:1 and s ¼ 0:1). Table 1 shows that NMSE decreases while PSNR gradually increases with respect to the iteration t and any l. This table also shows that the increase or decrease in magnitude always gets less and less with respect to t. Once iteration satisfies t48, NMSE and PSNR are almost kept invariant. Since these experiments above are based on threshold O ¼ 1, according to Eq. (13), 0pek ðtÞo1 holds, so ek ðtÞ4O always holds, in other words, the stopping condition cannot be satisfied at any t. Thus, the filter itself never stops unless it is terminated compulsively. These experiments also show that it can quickly stops under the conditions of g ¼ 0:0001, l ¼ 5 and O ¼ 0:0005. As for the samples in Fig. 7, their filtering results at iteration t ¼ 2 are exhibited in Fig. 11(b)–(d), respectively. In terms of vision, they show that this filter can significantly improve image quality by a filtering technology.
Fig. 7. (a) Original image; (b) image with impulse noise, p ¼ 0:1; (c) image with Gaussian noise, s ¼ 0:1; (d) image with mixed noise, p ¼ 0:1 and s ¼ 0:1.
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
1.5
x 10-3
40
λ=3 λ=5 λ=7
35 PSNR
NMSE
1
0.5
0
2993
30 λ=3 λ=5 λ=7
25
0
2
4
6
8
20
10
0
2
Iteration times, t
4
6
8
10
Iteration times, t
Fig. 8. Performance curves on image with impulse noise, p ¼ 0:1: (a) NMSE-t curves with l ¼ 3; 5 and 7; (b) PSNR-t curves with l ¼ 3; 5 and 7.
3.5
x 10-3
36 λ=3 λ=5 λ=7
3
35
2
PSNR
NMSE
2.5
1.5 1
33 λ=3 λ=5 λ=7
32
0.5 0
34
0
2
4 6 Iteration times, t
8
10
31
0
2
4 6 Iteration times, t
8
10
Fig. 9. Performance curves on image with Gaussian noise, s ¼ 0:1: (a) NMSE-t curves with l ¼ 3; 5 and 7; (b) PSNR-t curves with l ¼ 3; 5 and 7.
0.01 0.008
30 28
0.006
PSNR
NMSE
32
λ=3 λ=5 λ=7
0.004
24
0.002 0
26 λ=3 λ=5 λ=7
22 0
2
4 6 Iteration times, t
8
10
20
0
2
4 6 Iteration times, t
8
10
Fig. 10. Filtering performance curves on image with mixed noise, p ¼ 0:1 and s ¼ 0:1: (a) NMSE-t curves with l ¼ 3; 5 and 7; (b) PSNR-t curves with l ¼ 3; 5 and 7.
Since the proposed filtering method removes noise by updating noise pixel intensity, for a filtered image, the pixel intensity is inevitably changed during the filtering stage. To analyze these pixel intensity variations caused by the filter, we choose the pixels on the 128th row of image for some comparison experiments. The pixel intensity curve of the
128th row in the noise image Fig. 7(d) is exhibited in Fig. 12(a), and the similar curve of the image in Fig. 11(d) (namely the filtering image) is exhibited in Fig. 12(b). As shown in Fig. 12, the original intensity curve has become a fine curve after noise filtering. Such a comparison shows that filtering does not change the curve shape,
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
2994
Table 1 Numeric sensitivity analysis to the filtering parameters (PSNR unit: dB) Times t ¼
1
2
3
4
5
6
7
8
9
10
l¼3
NMSE PSNR
0.0043 27.323
0.0039 28.787
0.0023 29.361
0.0017 29.682
0.0013 29.873
0.0011 29.993
0.0009 30.07
0.0008 30.122
0.0009 30.154
0.0006 30.172
l¼5
NMSE PSNR
0.0035 29.090
0.0033 29.825
0.0021 29.973
0.0016 29.998
0.0013 29.975
0.0010 29.931
0.0009 29.883
0.0008 29.835
0.0007 29.787
0.0006 29.741
l¼7
NMSE PSNR
0.0033 29.467
0.0033 29.849
0.0021 29.809
0.0016 29.71
0.0013 29.608
0.0011 29.520
0.0009 29.439
0.0008 29.371
0.0007 29.311
0.0007 29.259
250
250
200
200 pixel intensity
pixel intensity
Fig. 11. Filtering results, iteration t ¼ 2: (a) original image; (b) filtering result, p ¼ 0:1; (c) filtering result, s ¼ 0:1; (d) filtering result, mixture (p ¼ 0:1, s ¼ 0:1).
150 100 50 0
150 100 50
50 100 150 200 pixel position in the column
250
0
50 100 150 200 pixel position in the column
250
Fig. 12. Intensity curves of the 128th row: (a) before filtering, (b) after filtering.
contrarily, it makes the curve more smoother and harmonious than before. Not only the 128th row, but also any other rows conform to the same pixel variation trend as Fig. 12. From another aspect, such a variation trend also shows the usefulness of the proposed method to noise removal.
Table 2 Parameters choice for the proposed filtering method Distribution of mixed noise
Filtering window, l l
g
O
0:0pp; sp0:1 0:1op; sp0:3 p; s40:3
33 55 77
0.0001
0.0005
4.2. Filtering performance comparison In this subsection, the proposed method is compared with some well-known algorithms: trilateral filter [6], switching median filter [21], vector median filtering method [15], order statistics filter [2], PCNN-based method [37] and the median-based SD-ROM [1]. In these experiments, some evaluation criterions, such as NMSE, PSNR and filtering
time expense, are used to evaluate filtering performance of each algorithm with respect to noise mixture ðp; sÞ. To obtain enough data for the performance comparison, we test the seven typical filtering methods using some ‘‘Lina’’ and ‘‘Man’’ images added with eight types of mixed noise. The parameter choice for the proposed PCNN-based filtering method is given in Table 2. As in Section 4.1, we
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
still use NMSE (Eq. (13)) and PSNR (Eq. (16)) to evaluate the filtering performance of each filtering method with respect to different noise. These compared filtering methods, some added noise mixtures and the numeric experimental results (NMSE and PSNR) are exhibited in Tables 3–8. According to these tables, as for each algorithm, the performance always falls with respect to noise intensity. Some methods are quite effective for the single Gaussian noise, but they are not so for the impulse noise. For example, for the switching median filter [21], vector median
2995
filter [15], order statistics filter [2] and the SD-ROM [1], these PSNR values in Table 3 are less than 27 dB, but they exceed 34 dB in Table 4. Similarly, they are almost under 22 dB in Table 6, but they are beyond 30 dB in Table 7. Moreover, some methods work well for removing single noise (Gaussian or impulse noise), but their performances fall severely for mixed noise removal. For example, for the method in [37], each PSNR is more than 28 dB in Tables 3 and 4; however, it falls below 16 dB in Tables 5 and 8. Each decrease rate of PSNR almost exceeds 40%. As a whole, only the trilateral filter [6] and the proposed one show
Table 3 Filtering comparison of single Gaussian noise, s ¼ 0:2 Noise removal methods
NMSE
Lina Man
PSNR
Lina Man
Trilateral filter [6] 0.00314 0.00301 32.422 32.514
Switching median [21] 0.00784 0.00712 26.563 26.581
Vector median [15] 0.00612 0.00585
Order statistics [2] 0.02860 0.02842
PCNN method [37] 0.00445 0.00423
SD-ROM [1]
0.04735 0.04712
The proposed method 0.00211 0.00203
24.258 24.272
21.295 21.309
28.327 28.339
18.316 18.331
33.988 33.995
Vector median [15]
Order statistics [2]
PCNN method [37]
SD-ROM [1]
The proposed method
Table 4 Filtering comparison of single impulse noise, p ¼ 0:2 Noise removal methods
NMSE
Lina Man
PSNR
Lina Man
Trilateral filter [6] 0.00117 0.00106 35.030 35.051
Switching median [21] 0.00103 0.00092 37.258 37.281
0.00141 0.00135
0.00135 0.00128
0.00142 0.00133
0.00184 0.00172
0.00101 0.00093
34.823 34.875
34.892 34.926
31.417 31.438
34.230 34.251
37.635 37.669
Vector median [15]
Order statistics [2]
PCNN method [37]
SD-ROM [1]
The proposed method
Table 5 Filtering comparison of the mixed noise, p ¼ 0:2 and s ¼ 0:2 Noise removal methods
NMSE
Lina Man
PSNR
Lina Man
Trilateral filter [6] 0.00713 0.00706 35.030 35.082
Switching median [21] 0.09569 0.09442 37.258 37.271
0.13114 0.13003
0.10452 0.10337
0.12887 0.12759
0.18112 0.18005
0.00513 0.00501
34.823 34.835
34.892 34.911
31.417 31.434
34.230 34.245
37.635 37.648
Vector median [15]
Order statistics [2]
PCNN method [37]
SD-ROM [1]
The proposed method
Table 6 Filtering comparison of single Gaussian noise, s ¼ 0:4 Noise removal methods
NMSE
Lina Man
PSNR
Lina Man
Trilateral filter [6] 0.00426 0.00415 30.974 30.993
Switching median [21] 0.02844 0.02831 21.258 21.271
0.03056 0.03042 20.891 20.909
0.03148 0.03131 20.234 20.252
0.02612 0.02594 22.047 22.061
0.11253 0.11239 15.316 15.331
0.00408 0.00391 31.653 31.665
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
2996
Table 7 Filtering comparison of single impulse noise, p ¼ 0:4 Noise removal methods
NMSE
Lina Man
PSNR
Lina Man
Trilateral filter [6] 0.00439 0.00426 31.360 31.372
Switching median [21] 0.00223 0.00211 33.654 33.669
Vector median [15] 0.00502 0.00491
Order statistics [2] 0.00489 0.00473
PCNN method [37] 0.01221 0.01215
SD-ROM [1]
0.00528 0.00512
The proposed method 0.00182 0.00169
30.688 30.695
30.752 30.771
26.246 26.262
30.059 30.073
33.909 33.915
Vector median [15]
Order statistics [2]
PCNN method [37]
SD-ROM [1]
The proposed method
Table 8 Filtering comparison of the mixed noise, p ¼ 0:4 and s ¼ 0:4 Noise removal methods
NMSE
Lina Man
PSNR
Lina Man
Trilateral filter [6] 0.00785 0.00771 26.523 26.535
Switching median [21] 0.18345 0.18328 13.148 13.162
0.17212 0.17201 13.437 13.452
0.10936 0.10921 15.963 15.979
0.14972 0.14962 14.365 14.381
0.22451 0.22438 12.176 12.191
0.00622 0.00608 28.817 28.835
Fig. 13. Filtering results on the image ‘‘Lina’’ with mixed noise (p ¼ 0:1; s ¼ 0:1): (a) original image; (b) noise image; (c) the proposed method; (d) the vector median filter [15]; (e) the PCNN-based method [37]; (f) the trilateral filter [6].
persistently good performance for either single noise or mixed noise removal. Furthermore, the proposed one often achieves higher PSNR and less NMSE than the trilateral filter. Even for mixed noise (p ¼ 0:4; s ¼ 0:4), statistically, each NMSE is 0:017 lower than that by the trilateral filter and PSNR is 2:1 dB higher than that by the trilateral filter (see Table 8). Figs. 13–18 exhibit filtering comparisons between four methods: trilateral filter [6], vector median filter [15], PCNN-based method [37] and the proposed one. The
added noise mixture is (p ¼ 0:1; s ¼ 0:1) for the images in Figs. 13 and 14, (p ¼ 0:4; s ¼ 0:4) for the images in Figs. 15 and 16 and (p ¼ 0:7; s ¼ 0:7) for the images in Figs. 17 and 18. From these figures, for the mixed noise (pp0:4; sp0:4), all methods can effectively remove noise of images. However, for higher noise mix (p40:4; s40:4), filtering performance of each method gradually falls, and many pixel speckles are produced in these results, see Figs. 17 and 18. Even so, for these low-intensity noise images, the filtering output of our method is better than those of the
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
2997
Fig. 14. Filtering results on the image ‘‘Man’’ with mixed noise (p ¼ 0:1; s ¼ 0:1): (a) original image; (b) noise image; (c) the proposed method; (d) the vector median filter [15]; (e) the PCNN-based method [37]; (f) the trilateral filter [6].
Fig. 15. Filtering results on the image ‘‘Lina’’ with mixed noise (p ¼ 0:4; s ¼ 0:4): (a) original image; (b) noise image; (c) the proposed method; (d) the vector median filter [15]; (e) the PCNN-based method [37]; (f) the trilateral filter [6].
other three methods, and for the high-intensity noise, the proposed method is also better than the other three methods, from the viewpoint of vision. Generally, the time expense of noise filtering algorithm is also an important evaluation criterion. In these experiments, the filtering time of each method is also tested using noise images, and these experimental results are listed in Table 9. These time expense comparisons show that the
proposed method is the one that has the lowest filtering time expense. Statistically, it runs 22 ms faster than [37]. Based on Table 9 and Figs. 13–18, we see that the proposed one produces the best filtering result while consuming the least time. Though the proposed method is iterative, it can quickly reach the convergent times t0 (usually, t0 ¼ 2) under the condition O ¼ 0:0005. This is a primary reason why the proposed filtering algorithm has the lowest time expense.
ARTICLE IN PRESS 2998
L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
Fig. 16. Filtering results on the image ‘‘Man’’ with mixed noise (p ¼ 0:4; s ¼ 0:4): (a) original image; (b) noise image; (c) the proposed method; (d) the vector median filter [15]; (e) the PCNN-based method [37]; (f) the trilateral filter [6].
Fig. 17. Filtering results on the image ‘‘Lina’’ with mixed noise (p ¼ 0:7; s ¼ 0:7): (a) original image; (b) noise image; (c) the proposed method; (d) the vector median filter [15]; (e) the PCNN-based method [37]; (f) the trilateral filter [6].
5. Conclusions To remove mixed noise in images, this paper proposes a weighted-linking PCNN model by (i) extending the linking input, (ii) defining an universal weighted-linking rule, (iii) redefining the real-time pulse threshold, (iv) modifying the computation rule of activity strength and (v) designing the pixel
variation rule of neuron. Based on such a model, a two-channel parallel filter is constructed. By choosing suitable parameters, it can effectively remove single impulse noise (p40:0; s ¼ 0:0) and additional Gaussian noise (p ¼ 0:0; s40:0), as well as the mixed noise of them (p40:0; s40:0). Experiments show that this method can generate good noise filtering results and has low filtering time expense.
ARTICLE IN PRESS L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
2999
Fig. 18. Filtering results on the image ‘‘Man’’ with mixed noise (p ¼ 0:7; s ¼ 0:7): (a) original image; (b) noise image; (c) the proposed method; (d) the vector median filter [15]; (e) the PCNN-based method [37]; (f) the trilateral filter [6].
Table 9 Time expense comparisons of noise filtering (unit: ms) Mixed noise intensity
Images
Trilateral filter [6]
Switching median [21]
Vector median [15]
PCNN-based method [37]
The proposed method
Lina Man
51 49
59 59
44 43
62 61
38 36
p ¼ 0:4, s ¼ 0:4
Lina Man
49 50
58 56
46 46
63 63
41 41
p ¼ 0:7, s ¼ 0:7
Lina Man
51 52
58 57
45 47
67 66
42 40
Time (ms) p ¼ 0:1, s ¼ 0:1
References [1] E. Abreu, M. Lightstone, S. Mitra, K. Arakawa, A new efficient approach for the removal of impulse noise from highly corrupted images, IEEE Trans. Image Process. 5 (6) (1996) 1012–1025. [2] N. Alajlan, M. Kamel, E. Jernigan, Detail preserving impulsive noise removal, Signal Process. Image Commun. 19 (2004) 993–1003. [3] E. Besdok, A new method for impulsive noise suppression from highly distorted images by using Anfis, Eng. Appl. Artif. Intell. 17 (2004) 519–527. [4] R. Eckhorn, H.J. Reitboeck, M. Arndt, P.W. Dicke, Feature linking via synchronization among distributed assemblies: simulation of results from cat cortex, Neural Comput. 2 (1990) 293–307. [5] U. Ekblada, J.M. Kinserb, J. Atmera, N. Zetterlund, The intersecting cortical model in image processing, Nucl. Instrum. Methods Phys. Res. A 525 (2004) 392–396. [6] R. Garnett, H. Timothy, C. Chui, W. He, A universal noise removal algorithm with an impulse detector, IEEE Trans. Image Process. 14 (11) (2005) 1747–1754. [7] G. Gilboa, Y.Y. Zeevi, N.A. Sochen, Forward and backward diffusion processes for adaptive image enhancement denoising, IEEE Trans. Image Process. 11 (7) (2002) 689–703.
[8] X. Gu, D. Yu, L. Zhang, Image shadow removal using pulse coupled neural network, IEEE Trans. Neural Networks 16 (2005) 692–698. [9] J. Johnson, M.L. Padgett, PCNN models and applications, IEEE Trans. Neural Networks 10 (3) (1999) 480–498. [10] H. Kong, L. Guan, A neural network adaptive filter for the removal of impulse noise in digital images, Neural Networks 9 (3) (1996) 373–378. [11] G. Kuntimad, H.S. Ranganath, Perfect image segmentation using pulse coupled neural networks, IEEE Trans. Neural Networks 10 (1999) 591–598. [12] Y. Li, M. Kaveh, Four-order partial differential equation for noise removal, IEEE Trans. Image Process. 9 (10) (2000) 1723–1729. [13] T. Lindblad, J.M. Kinser, Image Processing Using Pulse-Coupled Neural Networks, Springer, London, 1998. [14] T. Lindblad, J.M. Kinser, Inherent features of wavelets and pulse coupled networks, IEEE Trans. Neural Networks 10 (3) (1999) 607–614. [15] R. Lukac, Adaptive vector median filtering, Pattern Recognition Lett. 24 (2003) 1889–1899. [16] W. Luo, An efficient detail-preserving approach for removing impulse noise in images, IEEE Signal Process. Lett. 13 (7) (2006) 413–416.
ARTICLE IN PRESS 3000
L. Ji, Z. Yi / Neurocomputing 71 (2008) 2986–3000
[17] Y. Ma, S. Fei, L. Lian, Gaussian noise filter based on PCNN, in: Proceedings of the IEEE International Conference on Neural Networks and Signal Processing, Nanjing, China, December 14–17, 2003, pp. 149–151. [18] S. Mallat, A Wavelet Tour of Signal Processing, Academic Press, New York, 1998. [19] M.K. MihScak, I. Kozintsev, K. Ramchandran, P. Moulin, Lowcomplexity image denoising based on statistical modeling of wavelet coefficients, IEEE Signal Process. Lett. 6 (12) (1999) 300–303. [20] R.C. Muresan, Pattern recognition using pulse-coupled neural networks and discrete Fourier transforms, Neurocomputing 51 (2003) 487–493. [21] P.E. Ng, K.K. Ma, A switching median filter with boundary discriminative noise detection for extremely corrupted images, IEEE Trans. Image Process. 15 (6) (2006) 1506–1516. [22] S. Peng, L. Lucke, Multi-level adaptive fuzzy filter for mixed noise removal, in: Proceedings of the IEEE International Symposium on Circuits Systems, Seattle, WA, April 1995, vol. 2, pp. 1524–1527. [23] P. Perona, J. Malik, Scale-space and edge detection using anisotropical diffusion, IEEE Trans. Pattern Recognition Mach. Intell. 12 (7) (1990) 629–639. [24] T.D. Pham, An image restoration by fusion, Pattern Recognition 34 (2001) 2403–2411. [25] J. Portilla, V. Strela, M. Wainwright, E. Simoncelli, Image denoising using scale mixtures of Gaussians in the wavelet domain, IEEE Trans. Image Process. 12 (11) (2003) 1338–1351. [26] S.M.M. Rahman, M.K. Hasan, Wavelet-domain iterative center weighted median filter for image denoising, Signal Process. 83 (2003) 1001–1012. [27] H.S. Ranganath, G. Kuntimad, Object detection using pulse coupled neural networks, IEEE Trans. Neural Networks 10 (3) (1999) 615–620. [28] H.S. Ranganath, G. Kuntimad, J. Johnson, Pulse coupled neural networks for image processing, in: Proceedings of the IEEE Southeastcon, Raleigh, NC, 1995, pp. 37–43. [29] K. Rank, R. Unbehauen, An adaptive recursive 2-D filter removal of Gaussian noise in images, IEEE Trans. Image Process. 1 (3) (1992) 431–436. [30] T.H. Romeny, M. Bart, Geometry-Driven Diffusion in Computer Vision, Kluwer Academic Publishers, Dordrecht, 1994. [31] F. Russo, A method for estimation and filtering of Gaussian noise in images, IEEE Trans. Instrum. Meas. 52 (4) (2003) 1148–1154.
[32] F. Russo, Technique for image denoising based on adaptive piecewise linear filters and automatic parameter tuning, IEEE Trans. Instrum. Meas. 55 (4) (2006) 1362–1367. [33] E. Sekko, G. Thomas, A. Boukrouche, A deconvolution technique using optimal Wiener filtering and regularization, Signal Process. 72 (1999) 23–32. [34] L. Shang, Y. Zhang, A class of binary images thinning using two PCNNs, Neurocomputing 70 (4–6) (2007) 1096–1101. [35] T. Sun, Y. Neuvo, Detail-preserving median based filters in image processing, Pattern Recognition Lett. 15 (1994) 341–347. [36] F. Torkamani-Azar, K.E. Tait, Image recovery using the anisotropic diffusion equation, IEEE Trans. Image Process. 5 (11) (1996) 1573–1578. [37] J. Zhang, J. Dong, M. Shi, An adaptive method for image filtering with pulse-coupled neural networks, in: Proceedings of the IEEE International Conference on Image Processing, vol. 2, 2005, pp. II133-6. Mr. Luping Ji received his B.S. degree from Beijing Institute of Technology, Beijing, China, in July 1999 and M.S. degree from University of Electronic Science and Technology of China, Chengdu, China, in April 2005. Currently, he is a Ph.D. student in the Computational Intelligence Laboratory of University of Electronic Science and Technology of China, Chengdu, China. His research interests include Neural Networks and Pattern Recognition. Dr. Zhang Yi received his Ph.D. degree in mathematics from the Institute of Mathematics, The Chinese Academy of Science, Beijing, China, in 1994. Currently, he is a Professor in the Computational Intelligence Laboratory, School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu, China. He is the author of the book Convergence Analysis of Recurrent Neural Networks and coauthor of the book Neural Networks: Computational Models and Applications. His current research interests include Neural Networks and Data Mining.