Pattern Recognition 36 (2003) 2395–2409

www.elsevier.com/locate/patcog

Neuro-fuzzy synergism to the intelligent system for edge

detection and enhancement

Siwei Lu

a;∗

, Ziqing Wang

a

, Jun Shen

b

a

Department of Computer Science, Memorial University of Newfoundland, St. John’s, Newfoundland, Canada A1C 5S7

b

Institut de Geodynamique, Universite de Bordeaux III, 33405 Talence, France

Received 20 September 2001; received in revised form 1 October 2002; accepted 1 October 2002

Abstract

The paper presents a fuzzy neural network system for edge detection and enhancement. The system can both: (a) obtain

edges and (b) enhance edges by recovering missing edges and eliminate false edges caused by noise. The research is comprised

of three stages, namely, adaptive fuzziÿcation which is employed to fuzzify the input patterns, edge detection by a three-layer

feedforward fuzzy neural network, and edge enhancement by a modiÿed Hopÿeld neural network. The typical sample patterns

are ÿrst fuzziÿed. Then they are used to train the proposed fuzzy neural network. After that, the trained network is able to

determine the edge elements with eight orientations. Pixels having high edge membership are traced for further processing.

Based on constraint satisfaction and the competitive mechanism, interconnections among neurons are determined in the

Hopÿeld neural network. A criterion is provided to ÿnd the ÿnal stable result that contains the enhanced edge measurement.

The proposed neural networks are simulated on a SUN Sparc station. One hundred and twenty-three training samples are well

chosen to cover all the edge and non-edge cases and the performance of the system will not be improved by adding more

training samples. Test images are degraded by random noise up to 30% of the original images. Compared with standard edge

detection operators and enhancement techniques, the proposed system based on the neuro-fuzzy synergism obtains very good

results.

? 2003 Pattern Recognition Society. Published by Elsevier Ltd. All rights reserved.

Keywords: Fuzzy neural network; Edge detection; Edge enhancement; Hopÿeld neural network; Image processing

1. Introduction

Experiments with the human visual system show that

edges in images are extremely important. Edges are also

important features widely used in image processing, pat-

tern recognition, and computer vision. A local edge is a

small area in images where the local gray levels change

rapidly in a simple way [1]. Most previous edge detection

techniques used ÿrst-order derivative operators such as the

Roberts edge operator [2], the Prewitt edge operator [3]

and the Sobel edge operator [4]. If a pixel falls on the

∗

Corresponding author. Tel.: +1-709-737-4540; fax: +1-709-

737-2009.

E-mail address: [email protected] (S. Lu).

boundary of an object in an image, then its neighborhood will

be a zone of gray-level transition. The Laplacian operator

[5] is a second-order derivative operator for functions of

two-dimension operators and is used to detect edges at the

locations of the zero crossing. However, it will produce an

abrupt zero-crossing at an edge and such zero-crossings do

not always correspond to edges. Another gradient operator

is the Canny operator [6] that is used to determine a class of

optimal ÿlters for dierent types of edges, e.g., step edges or

ridge edges. Amajor point in Canny’s work is that a trade-o

between detection and localization emerged: as the scale

parameter increases, the detection increases and localization

decreases. In order to set the appropriate value for the scale

parameter, the noise energy must be known. However, it is

not an easy task to locally measure the noise energy because

both noise and signal aect any local measure.

0031-3203/03/$30.00 ? 2003 Pattern Recognition Society. Published by Elsevier Ltd. All rights reserved.

doi:10.1016/S0031-3203(03)00083-9

2396 S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409

The Kirsch masks [1], Robinson masks [7], Compass

Gradient masks [8], and other masks [9] are popular

edge-template matching operators. Although the edge ori-

entation and magnitude can be estimated rapidly by deter-

mining the largest response for a set of masks, template

mask methods give rise to large angular errors and do not

give correct values for the gradient.

Many edge detectors rely totally on gray-level dierences

for their approximation of the image gradient function ei-

ther directly or by representing these dierences in a more

analytical form such as the Huekel edge detector [10]. Other

approaches include attempts at identifying the type of edge

as well as the edge position to subpixel accuracy by analyz-

ing the location and type of phase congruence of Hilbert–

Fourier representations using local energy characteristics

[11]. However, the latter method has not been demonstrated

to work in noisy images.

There has been an explosive growth in the study of re-

laxation labeling techniques for image processing, such as

image restoration [4], edge enhancement [12], edge detec-

tion [13–16], and image segmentation. Relaxation labeling

uses contextual information to resolve object labeling ambi-

guities as locally as possible. The amount of contextual in-

formation employed is expanded recursively until a unique

labeling result. The problem of relaxation labeling was ÿrst

described by Rosenfeld et al. [16].

The statistical or stochastic methods for boundary ex-

traction, such as Markov random ÿeld [17,18] and MAP

estimation [19] do not perform very well since these meth-

ods lack a powerful two-dimensional structure knowledge.

The statistical measurement for edge detection is much

less powerful than fuzzy systems since the statistical pro-

cess employs only a single formula for all the dierent

edge patterns.

As a matter of fact, we cannot recognize an edge with

100% conÿdence. Uncertainty arises because of ambiguity

or lack of information or evidence. In recent years, an in-

creasing number of researchers have been involved in the

subject of fuzzy neural networks (FNNs) [20–26] in the hope

of combining the strengths of fuzzy logic and neural net-

works and achieving a more useful tool for fuzzy informa-

tion processing and for exploring the functioning of human

brains. Neural networks are considered a sort of model-free

signal processing device [27,30]. They map data points in

input data space to points in output data space. The training

data points should be properly distributed and suciently

dense [28]. On the other hand, fuzzy neural networks try to

reduce the requirements on the training data sets by incor-

porating expert knowledge within the fuzzy concept. They

perform a set-to-set mapping. This is achieved by adding

point-to-set (fuzzify) and set-to-point (defuzzify) conver-

sion to the input and output, respectively.

A fuzzy ÿlter and edge detection technique was intro-

duced by Tyan and Wang [29]. The fuzzy rules are used

for contrast enhancement, requiring arbitrary deÿnitions of

dark and bright pixels, which the authors admit require ad-

justment by a human operator. Images are further enhanced

by an interesting fuzzy low-pass ÿlter. The edge detection

scheme also relies on arbitrary dark and bright deÿnitions

(again requiring user adjustment), and operates on a 2 × 2

area. A fuzzy edge detection technique was also introduced

by Tao and Thompson [21]. In this technique, 16 possible

edge structures in a 3 × 3 area are considered, and fuzzy

edge membership is determined by fuzzy if–then rules. Af-

ter redundant edge pixels are discarded, the remaining edge

pixels are thresholded based on a noise factor. Neither of

the techniques above acknowledge the possibility of var-

ious edge shapes such as corners and triple points, leav-

ing gray-level dierences among immediate neighbors as

the only determining factor in edge extraction. Furthermore,

both techniques operate on very small regions, ignoring the

possibility of broader edges in the process.

In the ÿrst phase of our research, before using the pro-

posed fuzzy neural network for edge detection, an adaptive

fuzziÿcation procedure is used to normalize input patterns,

and a window division method is also applied to each pat-

tern. The proposed FNN is a three-layer feedforward neural

network that takes the input pattern in a noise corrupted im-

age and produces the edge credit as intermediate results for

non-edge or edge measures with one of eight orientations.

Hence, there is one non-edge credit map and there are eight

edge credit maps. For many complex real-world images, all

the above edge detection systems (including FNN which is

much better than other mask operators) will yield unsatis-

factory results due to noise, gradual variations in gray-level

or non-uniform lighting. In other words, these results con-

tain false, missing, and weak edges. In the second phase

of our research, stable structures for edges are analyzed

by discovering an energy function whose minimum should

correspond to the possible stable situations. Based on the

constraint satisfaction, the competitive mechanism, and the

energy function, the structure of a Hopÿeld neural network

is designed. It eciently captures the topological and struc-

tural properties of the edge data obtained fromthe ÿrst phase.

This leads to updating the neural computation toward the

right solution by establishing proper interconnections among

neurons.

This paper analyzes the problem of edge detection and

provides a summary of the research on the topic. Adaptive

fuzziÿcation is introduced in Section 2 to obtain the mem-

bership function for measuring the relative darkness and

brightness. In Section 3, an input pattern in the window

form is arranged such that the structure information can

be fully utilized. The structure of FNN and the training of

FNN are provided in Section 4. Edge maps are obtained

for further edge enhancement. Hopÿeld neural networks

are discussed in Section 5. The system accomplished the

tasks of reinforcing true edges, recovering missing edges,

and suppressing false edges. In Section 6, experiments are

reported in comparison with other major edge detection

techniques. The paper ÿnishes with concluding remarks in

Section 7.

S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409 2397

210 215 205 135 145 140

220 215 208 150 149 151

210 208 216 146 156 140

220 210 216 150 148 146

0

x

198 200 210 145 155 160

200 210 225 140 150 145

y

Fig. 1. Edge pattern with Northern orientation.

2. Adaptive fuzziÿcation

The application of adaptive fuzziÿcation on patterns plays

a very important role in the proposed system. It can be

deÿned as a mapping from an observed input space to labels

of a fuzzy set in a speciÿed input universe of discourse.

When considering an edge in a pattern, we can represent it

as follows:

f(x) =

_

¸

¸

_

¸

¸

_

g

2

if x ¿0;

(g

1

+ g

2

)=2 if x = 0;

g

1

if x ¡0;

where g

1

is a gray value that indicates the relative dark part,

g

2

is a gray value that indicates the relative bright part, x is a

position of pixels (Fig. 2a), and the origin of the coordinate

system is the center grid of the window (Fig. 1).

The edge image with normal noise is modeled as Fig. 2b.

For a window with an edge having relative brightness

in the left part and with relative darkness in the right part,

Fig. 2. Gray value representation of an edge image: (a) image without noise, and (b) image with noise.

the dierence of the gray values between the two parts

that can be distinguished by the human eye in the noise

case is more than 20 gray levels (threshold). That is: |g

1

−

g

2

| ¿threshold (g

1

; g

2

∈[0; 255]).

Hence, there are 1 + 2 + · · · + 234 + 235 possible com-

binations (g

1

; g

2

) with threshold ¿20 for the edge pattern

with Northern orientation. So the number of samples for one

class is

N =

235 + 1

2

∗ 235 = 27730:

Because there are 10 classes of edge patterns with dierent

orientations to be classiÿed, more than 200,000 samples are

needed to train neural networks to obtain a good result.

However, it is noticed that the following two samples belong

to the same case (Fig. 3).

For gray value g

2

, it represents relative darkness in Fig.

2a, but relative brightness in Fig. 2b. So “bright” or “dark”

are fuzzy concepts depending on the given patterns. For this

reason, it is impossible for us to ÿnd a relationship between

absolute gray value and degree of “bright/dark” and directly

apply a global membership function. Hence, an adaptive

fuzziÿcation processing is proposed.

When there is an edge in a window, the histogram can

be used to represent the relationship between the number of

pixels in a window and their gray values (see Fig. 4a). For

a image with normal noise, the gray value of the relative

bright part should be around g

1

, and the gray value of the

relative dark part should be around g

2

(see Fig. 4b).

Based on the above analysis, the following fuzzy mem-

bership function is created (Fig. 5).

By using the above membership function, each pixel in

the input pattern is fuzziÿed and represented by its fuzzy

measurement. The value of the pixel approaches 0 when it is

relatively bright and approaches 1 when it is relatively dark.

For example, after adaptive fuzziÿcation, an edge sample

with gray values 200 on the left part and gray values 180

on the right part is equivalent to an edge sample with gray

values 180 on the left part and gray values 160 on the right

2398 S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409

Fig. 3. Gray value representation of two images in the same class.

Fig. 4. Histograms for an edge image: (a) edge image without noise, and (b) edge image with noise.

g g

1 2

1

0

A(p,q)

the degree of darkness

f (A(p,q))

a

input grey values of pixels

Fig. 5. Adaptive fuzzy membership function.

part. So the number of samples for training are reduced

signiÿcantly.

The fuzzy membership function depends on each local

pattern. For an edge in an image with normal noise (see Fig.

4b), the histogram follows a normal distribution (Fig. 6).

The values of g

1

and g

2

can be determined by us-

ing estimation and learning methods, such as the Parzen

Window approach. However, it is too complicated and

time-consuming especially when such a technique is ap-

plied on large images. Since neural networks will be used

to do the further processing, the estimation procedure can

be simpliÿed and the values of g

1

and g

2

can be roughly set

by using the following approach.

If there is a k × k window with an edge and without

noise (see Fig. 4a). After sorting the pixels in the window

by graylevel, g

1

is the ÿrst pixel and g

2

is the last pixel

in the sorted list. If the window has noise in it g

1

is no

longer the ÿrst one and g

2

is also not the last one in the

sorted list (see Fig. 4b). Let the proposed system allow Á%

input noises. For a chosen k ×k window, the system allows

k

2

∗ Á% noise pixels. Assume that half of the noise pixels’

values are either greater than g

2

or less than g

1

, and the

other half of the noise pixels’ values are between g

1

and g

2

.

Therefore, the number of pixels with gray values less than

g

1

or greater than g

2

is k

2

∗ Á%=4. The estimation procedure

S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409 2399

2

g g

1

Number of pixels

Grey value

0

Fig. 6. Normal distribution for an edge pattern.

p p p p p p p p p p p

1 36 35 34 32 31 2 3 4

p

5 6 33

g

2

g

1

Fig. 7. Sorted pixels with less than 30% of noise.

can be done by ÿrst sorting the values of pixels of the input

pattern in an ascending order, then setting g

1

at the position

of 1+k

2

∗ Á%=4 and g

2

at the position of k

2

−3=4∗k

2

∗Á%,

respectively. For example, if 30% of noise is allowed, and

the pixels in a 6 × 6 window are sorted in an ascending

order represented by P =p

1

; p

2

; : : : ; p

36

, g

1

should take the

fourth element, and g

2

should take the 33rd element of the

sorted array (Fig. 7).

3. Window division

In general, 10 patterns shown in Fig. 8 are considered

as typical edge patterns in this application. In order to take

advantage of the structure information, a window division

technique is introduced in this research.

CLASS 1 CLASS 2 CLASS 3 CLASS 4 CLASS 5

W

E

S

N

NE

SW NW

SE

CLASS 6 CLASS 7 CLASS 8 CLASS 9 CLASS 10

Fig. 8. Ten edge patterns (eight edge patterns and two non-edge patterns).

The local edge pattern to be inputted to the system is

a 6 × 6 window. The input window is divided into four

rectangle blocks (1–4) for detecting horizontal or verti-

cal edges. Since the window with a horizontal or vertical

edge has two adjacent relatively dark rectangle blocks and

two adjacent relatively bright rectangle blocks. Also the

input window is divided into four triangle blocks (5–8)

for detecting edges with diagonal direction. Since the win-

dow with a diagonal edge has two adjacent relatively dark

triangle blocks and two adjacent relatively bright triangle

blocks.

Block division makes the structure information in the

input pattern fully utilized and the network becomes

more powerful. To correspond to the division, the se-

quence of original inputs are rearranged (see Figs. 9

and 10).

2400 S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409

3

5

8

10 11 12

13

16

19

22 24

25 26

30

32 33

2

6

9 7

1

23

20 21

27 34

31

28 29

36 35

17 18

15 14 4

Block 1 Block 2

Block 3 Block 4

.

central grid

Fig. 9. Reordered sequence of elements (square blocks).

51

41

42

53

54

60 59

Block 5 Block 7

Block 8

central grid

37

39

40

38

43 44 45 46

48

47

49

50

52

58 57 56 55

Block 6

Fig. 10. Reordered sequence of elements (triangle blocks).

4. Fuzzy neural network for edge detection

4.1. The overview of fuzzy neural network

The structure of the proposed fuzzy neural network shown

in Fig. 11 is a three-layer feedforward network. It consists

of two subnets. Subnet 1 is used to identify class 1–6, and

subnet 2 is used to classify class 7–10. Based on the window

division, the inputs of subnet 1 have 36 elements which

come from four square blocks, and the inputs of subnet 2

have 24 elements which come from four triangular blocks.

Therefore, there are 60 neurons at the input layer. The second

layer is a hidden layer with 16 neurons divided into eight

groups. Every pair of neurons as a group accept inputs from

the corresponding block at layer one. One neuron, marked A,

is used to measure the darkness of the corresponding block,

and the other, marked B, is used to measure the brightness

of the corresponding block.

Take the neurons whose inputs come from block 1 at layer

one and the neurons of group 1 at layer two as an example.

The links between these two layers are illustrated in Fig.

12a. The neurons at layer 1 are fully connected to neurons

at layer two. The inputs to layer one represent the darkness

of the pixels in block 1. The neuron A at layer two provides

the fuzzy measurement how dark the block 1 is, and the

neuron B measures as to how bright the block 1 is.

If all the values of nine inputs approach 1 (relative dark),

this block is dark. So the output of neuron A approaches 1.

On the other hand, if input values approach 0, it has little

possibility that this block is dark. So the output of neuron

A approaches 0. Therefore, the fuzzy membership function

applied on neuron A should have the shape of f

d

shown

in Fig. 12b. For the other neuron, neuron B at layer two, a

similar analysis can be used such that the neuron B should

use the fuzzy membership function which has the shape

of f

b

.

A similar concept is applied on the other seven blocks

of layer one and the seven corresponding groups of layer

two. The structure fuzzy measurement is used to obtain the

characteristic features for the dierent edge patterns. Hence,

the outputs represent the measurement of the certainty of

the features for each block.

The third layer is used to model human decision making

within the conceptual framework of fuzzy logic and approx-

imate reasoning. Here, neurons perform the fuzzy intersec-

tion operations. The output of each neuron at layer three

represents the certainty that this pattern belongs to a cor-

responding class. Every neuron in the third layer connects

four neurons in layer two which come from four groups,

respectively. Which four neurons linked to the neuron at

layer three depends on which class the output of this neuron

represents.

The net input of the ÿrst node at layer three comes from

four neuron outputs at layer two that correspond to four

square blocks, respectively (see Fig. 13). Two neurons are in

type A and the other two are in type B. If these four outputs

all approach 1, it means that blocks 1 and 2 are relatively

dark, and blocks 3 and 4 are relatively bright. Hence, the

input pattern is deÿnitely an edge pattern which belongs to

class 1. The outputs of this layer provide the ÿnal fuzzy

measurements of the classiÿcation.

4.2. Fuzzy membership function

Afuzzy set

˜

A in the universe of discourse U can be deÿned

as a set of ordered pairs,

˜

A = {(x; u

˜

A

(x)) | x ∈U};

where u

˜

A

(:) is called the “membership function” of

˜

A and

u

˜

A

(x) is the degree of membership of x in

˜

A, which indicates

the degree that x belongs to

˜

A.

At the layer two of the proposed fuzzy neural network, the

net input to each neuron is ÿrst obtained by using the nor-

malized weighted sum of the output from layer one. Then

the activation function, which is the fuzzy membership func-

tion here, applies on the net output of each neuron at layer

two. The proposed fuzzy membership function is shown in

Fig. 14.

The mathematical representation is

f

d

(net) = e

−a∗(net−1)

2

and f

b

(net) = e

−a∗net

2

:

S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409 2401

1

37

27

28

42

43

48

49

54

55

60

A

B

0

0

Block 1

Block 2

Block 3

Block 4

Block 5

Block 6

Block 7

Block 8

Layer 1 Layer 2 Layer 3

i

j

k

f

f

b

W

ji

Class 1

Class 6

Class 7

Class 10

d

B

group 1

group 2

group 3

group 4

group 5

group 6

group 7

group 8

SUBNET 1

SUBNET 2

9

10

18

19

36

A

A

A

A

A

A

A

1

1

B

B

B

B

B

A

B

B

Fig. 11. The structure of FNN for edge detection.

4.3. Weight updating

One of the basic entities to specify the model of a neural

network is the learning rules for updating the connecting

weights. The weight updating in this research is based on the

generalized delta rule formulated by Rumelhart et al. [31].

Based on the structure analysis to the proposed fuzzy

neural network, the weights between layer two and layer

three are unity. So the weight updating rule derived here

is to update weights between layer one and layer two. Let

E

(2)

p

be the error of neurons at layer two (the superscript

represents the record layer), and the partial derivative be

2402 S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409

A

B

i j

W

ji

Block 1

I

pi

O

pj

(b) (a)

output

1

0

f

f

b

B

A

input

d

Fig. 12. The connection between block 1 at layer 1 to layer 2.

Class 1

Node

Node

Node

Node

Node

1

Block 1

Block 2

Block 3

Block 4

Layer 2 Layer 3

O

O

pk (k=1)

pj (j=1)

j

k

B

A

A

B

1

3

6

8

Fig. 13. The connection between layer 2 and node 1 at layer 3.

evaluated using the chain rule. That is

w

ji

= −Á

@E

(2)

p

@w

ji

= −Á

@E

(2)

p

@net

pj

@net

pj

@w

ji

;

E

p

=

1

2

k

(t

pk

− O

pk

)

2

: (1)

As the net

pj

is the input to the pth neuron at layer two,

and it is the normalized weighted sum of all the outputs from

layer one, that is

@net

pj

@w

ji

=

@

@w

ji

n

i=1

w

ji

I

pi

n

i=1

w

ji

=

−(

n

l=1; l=i

w

jl

+ 1)

(

n

i=1

w

ji

)

2

I

pi

:

(2)

S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409 2403

1

1 0.5

f (x)

f (x)

OUTPUT

INPUT

0

d b

Fig. 14. Fuzzy membership function.

Using the chain rule again, the partial derivative @E

(2)

p

[email protected]

pj

yields

@E

(2)

p

@net

pj

=

@E

(2)

p

@O

pj

@O

pj

@net

pj

: (3)

Because output O

pj

is the output of the neuron j after

fuzzy membership function f (f

d

or f

b

) is applied on the

neuron input, therefore,

@O

pj

@net

pj

=

@f(net

pj

)

@net

pj

= f

(net

pj

): (4)

When f(net) represents the membership function f

d

,

f

d

(net) = e

−a∗(net−1)

2

(see Section 4.2),

f

d

(net

pj

) = −2a ∗ (net

pj

− 1) ∗ e

−a∗(net

pj

−1)

2

= −2a ∗ (net

pj

− 1)O

pj

; (5)

that is

f

d

(net

pj

) = −2a ∗

_

n

i=1

w

ji

I

pi

n

i=1

w

ji

− 1

_

O

pj

= −2a ∗

n

i=1

w

ji

(I

pi

− 1)

n

i=1

w

ji

O

pj

: (6)

For those neurons that measure the darkness of the cor-

responding blocks, the f

(net

pj

) uses f

d

(net

pj

).

w

ji

= −Á

@E

(2)

p

@O

pj

−(

n

l=1; l=i

w

jl

+ 1)

(

n

i=1

w

ji

)

2

I

pi

×

_

−2a ∗

n

i=1

w

ji

(I

pi

− 1)

n

i=1

w

ji

O

pj

_

; (7)

w

ji

= −2aÁ

@E

(2)

p

@O

pj

(

n

l=1; l=i

w

jl

+ 1)

(

n

i=1

w

ji

)

3

×

_

n

i=1

w

ji

(I

pi

− 1)

_

I

pi

O

pj

: (8)

When f(net) represents the membership function f

b

,

f

b

(net) = e

−a∗net

2

, (see Section 4.2)

Similarly, for those neurons that measure the brightness

of the corresponding blocks, the f

(net

pj

) uses f

b

(net

pj

):

w

ji

= −2aÁ

@E

(2)

p

@O

pj

(

n

l=1; l=i

w

jl

+ 1)

(

n

i=1

w

ji

)

3

×

_

n

i=1

w

ji

I

pi

_

I

pi

O

pj

: (9)

Therefore, the rule for weight updating is

w

ji

(t + 1) = w

ji

(t) + w

ji

(t): (10)

If neuron j measures the darkness, w

ji

(t) will be calcu-

lated by using Eq. (8). If neuron j measures the brightness,

w

ji

(t) will be calculated by using Eq. (9).

In the research, 123 typical edge patterns are used in train-

ing the proposed FNN. It is observed that the recognition

ability of the FNN has no improvement if more training

samples are added. This proved that the adaptive fuzziÿca-

tion did work well to cut down the size of training data.

After using the proposed FNN to detect edges in an image,

10 output maps are obtained. Two maps contain the infor-

mation for non-edge elements. Eight maps stored the edge

credits for each orientation. They are going to be used for

edge enhancement.

5. Hopÿeld neural network for edge enhancement

In this phase, our purpose is to enhance edges to obtain

an edge map with one pixel width if there exists an edge, re-

move noise and recover missing edges. Several factors such

as what kind of edge structures are stable, and how to update

the edge measurement to approach the ÿnal result should

be considered. The neural network structure has to be con-

structed to perform the updating. Hopÿeld networks [32] are

widely employed in the area of solving optimization prob-

lems. That is, the network is expected to ÿnd a conÿguration

for minimizing an energy function. Hence, the key problem

is to formulate an optimization problemwith a proper energy

function that can be used to construct a Hopÿeld network.

To design such a neural network with an energy function

for an entire image is impossible and impractical. However,

we noticed that the inuence is small between two distant

elements. Hence, a 7 × 7 window is applied to the image.

The neurons inside the window are fully connected to each

other. The correlation between the central element and the

element outside the window can be ignored without eect-

ing the ÿnal result. Analyzing the possible stable edge struc-

ture, for each of eight edge orientations we conclude that

the neural computation is ÿnished if each window reaches

one of the following three cases:

1. an edge with the orientation under consideration through

the window,

2404 S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409

2. an edge with the orientation has an endpoint in the win-

dow, and

3. no edge in the window.

Therefore, the energy function for the north orientation

should be constructed such that it favors states that:

1. have in each row only one +1 and other all −1,

2. have all −1 in all rows, and

3. have all −1 or +1 in a column.

Here, the value “−1” is an edge credit for the element

which is deÿnitely a non-edge, and the value “+1” is an

edge credit for the element which is deÿnitely an edge.

The energy function which satisÿes the above states for

the north orientation is

E = A

7

x=1

7

i=1

7

j=1; j=i

(V

x; i

+ 1) (V

x; j

+ 1)

+B

7

x=1

_

7

i=1

(V

x; i

+ 1) − 2

_

2

7

j=1

(V

x; j

+ 1)

+C

7

i=1

_

6

x=1

V

x; i

V

x+1; i

− 6

_

2

+D

7

i=1

_

5

x=1

V

x; i

V

x+2; i

− 5

_

2

+E

7

i=1

_

4

x=1

V

x; i

V

x+3; i

− 4

_

2

; (11)

where, V represents the output of the neural cell with val-

ues ranging from −1 to +1, and A, B, C, D, and E are

parameters.

Each item in the energy function has minimum value 0

since the output V is from −1 to 1. The ÿrst two items (with

the parameters A and B) are designed to satisfy the ÿrst state.

When having all −1 in all rows, (V

x; i

+ 1) and (V

x; j

+ 1)

are zero. So the ÿrst two items have minimum value zero.

When having each row only one +1 and other all −1, since

i = j, either (V

x; i

+ 1) or (V

x; j

+ 1) will be zero, which

yields the ÿrst item becomes zero. For the second item, as

there is only one +1 at each row,

7

i=1

(V

x; i

+ 1) will be

2, which makes the ÿrst term [

7

i=1

(V

x; i

+ 1) − 2]

2

equal

zero. Therefore, the ÿrst two items reach their minimum

zero when the edge structure in a window is stable at state 1.

The last three items are designed to satisfy the second state.

When having all −1 or +1 in a column,

6

x=1

V

x; i

V

x+1; i

will

be 6, and (

6

x=1

V

x; i

V

x+1; i

− 6)

2

will be zero, which makes

the whole item with parameter C equal zero. The same result

can be obtained for the last two items. The above analysis

shows that the proposed energy function is able to reach

its minimum to meet the requirement of the stable edge

structures in a window as discussed above.

Actually, Eq. (11) has deÿned the system evolution law.

The ÿnal result of the edge enhancement is obtained when

certain stable edge structures are reached after a certain num-

ber of iterations by neuron computation. The neural network

structure has to be constructed to perform the updating of

edge measurement to approach the ÿnal result. The follow-

ing will show that evolution performs a downhill movement

along the surface of the energy function, and eventually

reaches a steady point. From the energy function, the time

derivation of the central unit in a window can be derived as

dy

4; 4

dt

= −

y

4; 4

− A

7

i=1; i=4

(V

4; i

+ 1)

−B

_

7

i=1

(V

4; i

+ 1) − 2

_

2

−2B

7

i=1

(V

4; i

+ 1) (V

4; 3

+ V

4; 5

+ 2)

×

_

7

j=1

(V

4; j

+ 1) − 2

_

−2C(V

3; 4

+ V

5; 4

)

6

x=1

(V

x; 4

V

x+1; 4

− 1)

−2D(V

2; 4

+ V

6; 4

)

5

x=1

(V

x; 4

V

x+2; 4

− 1)

−2E(V

1; 4

+ V

7; 4

)

4

x=1

(V

x; 4

V

x+3; 4

− 1): (12)

The terms with coecients A and B are for interactions

between the central unit and the other units on the row.

Analyzing the terms with A and B, they are never less than

zero. If the parameters A and B are set with positive values,

the whole part (including the sign before A and B) will never

be positive. That implies the other units at the central row

send signals to suppress the central unit. The last three terms

determine the interactions between the central unit and the

other units on the column. It is known that no summation

in these terms will be greater than 0. The ÿrst part of them

determines whether the interaction should be inhibited or

excited since the summation part is always less than or equal

to zero. Besides, it is observed that the closer the unit is to

the central unit, the bigger the eect it has on the central

unit. Therefore, the parameters C, D and E should be set so

that the term with V

3; 4

+ V

5; 4

plays a more important role

for the lateral interaction than the terms with V

2; 4

+V

6; 4

and

V

1; 4

+V

7; 4

. Hence, C is greater than D and D is greater than

E. All parameters in the above equation are positive. When

S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409 2405

the system does not reach a stable state, the ÿrst parts of

the last three terms decide whether to inhibit or excite the

central unit, and how strong the interaction is. When it is

close to a stable state, the second parts approach 0 so that

the exciting or inhibiting is very small. Furthermore, it can

be concluded that the terms with coecients A and B play

a horizontal suppression role and the terms with coecient

C, D, and E play either a vertical suppression or a vertical

reinforcement role to the edge element or central unit. If

suppression is strong, it is good for eliminating false edge

elements caused by noise. On the other hand, reinforcement

contributes to edge element enhancement and missing edge

element recovery.

According to the energy function, the following stable

edge structures correspond to the minimum energy:

_

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

_

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 −1 −1 −1 −1

_

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

_

×

_

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

_

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

_

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

_

:

However, there are two cases which could not be stable

as they do not correspond to the minimum energy.

1. End-point edge in the window:

_

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

_

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 −1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

_

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

_

:

2. Non-vertical edge through the window:

_

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

_

−1 −1 1 −1 −1 −1 −1

−1 −1 1 −1 −1 −1 −1

−1 −1 1 −1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

−1 −1 −1 1 −1 −1 −1

_

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

¸

_

:

It is very dicult to ÿnd an energy function to cover

these unstable states. Moreover, dierential equation (12)

has terms containing the product of several outputs from

the neural units. It is also very dicult to generate such

products by neurons. Hence, the neural network structure in

the thesis is designed based on both the energy function and

the competitive mechanism. Actually, the result is based on

the local updates to approach the global minimization of

the energy function. For clearly representing the structure

of the proposed network, there is an additional layer (called

the top layer) which is required to get input from the ÿrst

layer (called the bottom layer) and to give feedback to the

ÿrst layer through the weights which are derived from Eq.

(12). The modiÿed Hopÿeld network for edge enhancement

at north orientation is illustrated in Fig. 15.

We only show the interconnections to the central unit of

7 × 7 window (V

4; 4

). The weights (coecients A; B; C : : :)

are selected such that the neural structure reaches stable

states for case 1 (edge through window) and case 3 (no edge

in the window), or make a little change of the credit values

for case 2.

The input map of this phase is based on the output maps of

the previous phase. To construct the input map for the north

orientation, we consider ÿve maps obtained after FNN. Maps

consist of elements with a north, or northeast, or northwest

orientation. Another two maps consist of non-edge credits.

The procedure to build an input map follows:

1. If the largest value of output from the FNN is the node

corresponding to the orientation in consideration, then

the edge credit value is taken to the input map.

2. If the largest value of output from FNN is the node cor-

responding to the adjacent orientation in consideration

and there are not more than two elements adjacent to this

node in the same orientation, then the edge credit value

is taken into the input map.

3. Otherwise, the largest value of output from non-edge

maps is negated and taken to the input map.

The enhancement procedure will be terminated when neu-

ral computation enters into a situation such that most of the

windows are in a stable state with minimum energy and only

a certain number of windows (windows with an endpoint

inside) are still under slow updating. After processing maps

2406 S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409

V(4,4)

Top Layer

Bottom Layer

V(4,4)

Top Layer

Bottom Layer

(a)

(b)

Fig. 15. Modiÿed Hopÿeld network for edge enhancement: (a) the

weight connections for neurons at the same column, and (b) the

weight connections for neurons at the same row.

in each of eight orientations, we assemble eight resultant

maps into one edge map.

6. Experiments

The system had been employed in our vision lab for object

recognition and other image pre-processing. More than 500

noise corrupted images have been used to obtain boundaries

of objects by our edge detection and enhancement system.

Since we use neural networks which have a high parallel

computation mechanism, the computational complexity for

one pixel is the same order as most of the edge detectors

available today. For an n ×n size image, when applying the

pre-processing procedure, Adaptive Fuzziÿcation and Win-

dow Division, on the image to get the inputs for FNN, there

are (n − 5) × (n − 5) patterns generated. For each pattern,

we need to re-order the sequence of pixels. The computa-

tion complexity to do it is a constant since the window size

is ÿxed as 6 × 6. Therefore, the computational complexity

to ÿnish the pre-processing procedure is O(n

2

). When using

trained FNN to detect edges in an n × n images, to obtain

each pixel on one of the output maps, it takes constant time

to do the calculation. Hence, the computation complexity to

generate 10 output maps is O(n

2

). The proposed HNN is

ÿnally used to perform edge enhancement. The steps to ac-

complish it are (e.g. north orientation): (1) Build an input

map (discussion in Section 5), it is easy to see that the com-

putation complexity to do it is O(n

2

). (2) Initialize proper

parameters such as A; B; C; D; E, maximum acceptable itera-

tion value (M

iteration

) and the maximum acceptable unstable

elements number (M

unstable

). (3) Update the edge element

in each window. Since the window size (7 × 7) is ÿxed, to

calculate the time derivation of the central unit in a window

by using Eq. (12) only costs constant time. Hence, the time

to compute all edge element in an n×n input map is O(n

2

).

(4) Calculate the number of unstable windows (N

unstable

). It

is a simple comparison procedure, only takes O(n

2

) time to

do it. (5) Termination check. If N

unstable

¡M

unstable

, or the

acceptable iteration value is reached, the edge enhancement

procedure will be terminated and the ÿnal result is stored in a

ÿle (could be called Map

N

) corresponding to north orienta-

tion (no more than O(n

2

) time). Otherwise, going to step 3.

To sum up the above analysis, the computational complex-

ity of the proposed neuro-fuzzy method for edge detection

and enhancement is O(n

2

).

Comparing the ÿrst phase output of our fuzzy neural

network with output of general edge detection approaches,

such as dierent masks [33], our system works much

better. As is well known, to quantitatively compare the

experimental results, computer-generated images must be

used. Because we know the exact location of edge pix-

els in the computer-generated images, we can analyze the

precision of an edge detection method and the false edges

and missing edges due to noise. More than 40 dierent

computer-generated noisy images with the variance of addi-

tive white noise are tested. The minimum distance between

dierent edges in the images is 5 pixels and the contrast of

the edges in the noise-free images is between 5 and 190.

Fig. 16 illustrates the dierences of the results using these

approaches on one of the typical computer-generated noisy

images.

A comparison of the ÿnal results from our algorithm with

other typical methods [34,35] has been done. Three criteria

are taken into account.

1. Edge localization error: an edge pixel detected with a lo-

cation error 0 6e

i

62 pixels from the true position of

the edge pixel in the ideal image is considered being de-

tected “normally” with the location error e

i

. The variance

of e

i

gives a measure of edge localization error.

2. False edge error: an edge pixel detected with e

i

¿2 is

considered as a false edge. The ratio of “number of false

S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409 2407

(a) (b)

(c) (d)

(e) (f)

Fig. 16. The demonstration of the test image: (a) original noisy

image, (b) using proposed FNN, (c) using xv package, (d) using

Rebert mask, (e) using Prewitt mask, and (f) using Sobel mask.

edge pixels/total number of edge pixels” measures a false

edge error.

3. Missing edge error: an edge pixel which is not normally

detected is considered as a missing edge pixel. The ratio

of “number of missing edge pixels/total number of edge

pixels” measures missing edge error.

As is well known, the choice of the parameters in these

algorithms aects the performance of the edge detection and

given an image, it is dicult to determine a priori the pa-

rameters we should use. Of course, to test the performance

of dierent algorithms, we should compare the best results

we obtained from other algorithms with those from our al-

gorithm. The proposed algorithm does not perform well for

edges at corners comparing to other algorithms (see Fig. 17).

But, the overall result of our method, even without adding

our corner detection algorithm, is still better than others. In

Table 1 we show the statistical results of the comparison

between these algorithms for a set of computer-generated

noisy images.

(a) (b)

(c) (d)

Fig. 17. Comparison of the results of edge enhancement by using

HNN and other methods: (a) using DRF method, (b) using GEF

method, (c) using SDEF method, and (d) using proposed HNN.

We have tested these algorithms in real images too. Be-

cause for real images, we do not know the exact location of

edge pixels, and the edge pixels which should be detected

are to a certain extent subjective, no quantitative statistics

can be given. The quality of the edge detection results was

only examined visually. The results show that the proposed

system can more eectively remove false edges and de-

tect weak or missing edges and recover them (see Figs. 17

and 18).

7. Conclusions

The synergism of fuzzy logic and neural network tech-

niques in combination has been applied in our intelligent

system for edge detection and enhancement. Since the gen-

eralization capabilities are enhanced by the adaptive fuzziÿ-

cation, the network can be trained by only 123 typical edge

samples with a 6×6 window. It eciently detected the edge

elements with eight orientations. The trained fuzzy neural

network also is capable of handling uncertainty or impre-

ciseness in the input representation. The output decision is

inferred in terms of membership value to output classes. The

proposed learning algorithm can be viewed as an extension

of the BP algorithm in the case of inputs represented by

their gray values and fuzzy target outputs. Taking advan-

tage of the fuzzy neural network proposed in the ÿrst phase,

we obtain a set of edge maps so that we are able to achieve

a better ÿnal result by using them as the input of our second

phase. The edge enhancement is performed on the eight edge

orientations separately. This makes our algorithm able to

2408 S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409

Table 1

Statistical result for the test of computer-generated noisy images

Edge localization False edge Missing edge

Methods error error (%) error (%)

Gaussian smooth ÿlter 1.21 34.55 4.15

Optimal dierence recursive ÿlter (DRF) 0.8 6.34 8.29

First derivative operator 0.7 7.12 6.58

of symmetric exponential ÿlter (GSP)

Second derivative operator of 0.008 1.87 7.86

Symmetric exponential ÿlter (SDEF)

Proposed fuzzy neural network 0.009 0.8 4.31

(b) (c)

(d) (e)

(a)

Fig. 18. The demonstration of the test image (2): (a) the original

image, (b) using DRF method, (c) using GEF method, (d) using

SDEF method, and (e) using proposed system.

distinguish the dierent types of noise and therefore elimi-

nate them separately. The edge maps are updated after each

iteration by simulating the Hopÿeld net at the edge enhance-

ment phase. This approach enables the utilization of global

edge information as the information is “propagated” to

surrounding elements in the edge maps. Therefore, the

fuzzy neural network proposed by us can enhance weak

edges, recover more missing edges, and eliminate most of

the noise (false edges).

References

[1] D.H. Ballard, C.M. Brown, Computer Vision, Prentice-Hall

Inc., Englewood Clis, NJ, 1982.

[2] L.G. Roberts, Machine perception of three-dimensional solids,

in: J.K. Aggarwal, R.O. Duda, A. Rosenfeld (Eds.), Computer

Methods in Image Analysis, IEEE, Los Angeles, 1977, pp.

285–323.

[3] J.M.S. Prewitt, Object enhancement and extraction, in:

B.S. Lipkin, A. Rosenÿeld (Eds.), Picture Processing and

Psychopictorics, Academic Press, New York, 1970.

[4] L.S. Davis, A survey of edge detection techniques, Computer

Graphics, Image Processing 4 (1975) 248–270.

[5] R.C. Gonzalez, R.E. Woods, Digital Image Processing,

Addison-Wesley Publishing Company, Reading, MA, 1992.

[6] J. Canny, A computational approach to edge detection, IEEE

Trans. Pattern Anal. Mach. Intell. 8 (6) (1986) 679–687.

[7] G.S. Robinson, Edge detection by compass gradient masks,

Comput. Graphics Image Process. 6 (1977) 492–501.

[8] R.H. Park, W.Y. Choi, A new interpretation of the compass

gradient edge operators, Comput. Vision Graphics Image

Process. 42 (2) (1989) 259–265.

[9] P. Meer, B. Georgescu, Edge detection with embedded

conÿdence, IEEE Trans. Pattern Anal. Mach. Intell. 23 (12)

(2001) 1351–1365.

[10] R. Nevatia, Evaluation of a simpliÿed Huekel edge-line

detector, Comput. Graphics Image Process. 6 (1977)

582–588.

[11] M. Kisworo, S. Venkatesh, G. West, Modeling edges at

subpixel accuracy using the local energy approach, IEEE

Trans. Pattern Anal. Mach. Intell. 16 (1994) 405–410.

[12] B.J. Schachter, A. Lev, S.W. Zucker, A. Rosenfeld, An

application of relaxation methods to edge reinforcement, IEEE

Trans. Systems Man Cybernet. 7 (1977) 813–816.

[13] E.R. Hancock, J. Kittler, Edge-labeling using dictionary-based

relaxation, IEEE Trans. Pattern Anal. Mach. Intell. 12 (2)

(1990) 165–181.

[14] E.R. Hancock, J. Kittler, Discrete relaxation, Pattern

Recognition 23 (1990) 711–733.

S. Lu et al. / Pattern Recognition 36 (2003) 2395–2409 2409

[15] E.R. Hancock, J. Kittler, A label error process for discrete

relaxation, IEEE 10th ICPR, Vol. 1, 1990, pp. 523–528.

[16] A. Rosenfeld, R.A. Hummel, S.W. Zucker, Scene labeling by

relaxation operations, IEEE Trans. Systems Man Cybernet. 6

(1976) 420–433.

[17] F.R. Hansen, H. Elliott, Image segmentation using simple

Markov random ÿelds, Comput. Graphics Image Process. 20

(1982) 101–132.

[18] L. Pelkowitz, A continuous relaxation labeling algorithm for

Markov random ÿelds, IEEE Trans. Systems Man Cybernet.

20 (3) (1990) 709–715.

[19] W. Deng, S.S. Iyengar, A new probabilistic relaxation scheme

and its application to edge detection, IEEE Trans. Pattern

Anal. Mach. Intell. 18 (4) (1996) 432–437.

[20] H.-S. Wong, L. Guan, A neural learning approach for

adaptive image restoration using a fuzzy model-based network

architecture, IEEE Trans. Neural Networks 12 (3) (2001)

516–531.

[21] C. Tao, W. Thompson, J. Taur, A fuzzy if–then approach

to edge detection, Proceedings of the Second International

Conference on Fuzzy Systems, Vol. 2, San Francisco, 1993,

pp. 1356–1360.

[22] G. Ashish, N.R. Pal, S.K. Pal, Self-organization for object

extraction using a multilayer neural network and fuzziness

measures, IEEE Trans. Fuzzy Systems 1 (1) (1993) 54–68.

[23] P.K. Simpson, Fuzzy min–max neural networks—Part 2:

clustering, IEEE Trans. Fuzzy Systems 1 (1) (1993) 32–45.

[24] Chin-Teng Lin, C.S. George Lee, Neural Fuzzy Systems,

Prentice-Hall, Upper Saddle River, NJ, 1996.

[25] A. Moghaddamzadeh, D. Goldman, N. Bourbakis, Fuzzy-like

approach for smoothing and edge detection, Int. J. Pattern

Recognition Artif. Intell. 12 (6) (1998) 801.

[26] J.C. Bezdek, S.K. Pal, Fuzzy Models for Pattern Recognition,

IEEE Press, New York, 1992.

[27] Y.H. Pao, Adaptive Pattern Recognition and Neural Networks,

Addison-Wesley Publishing Company, Reading, MA, 1989.

[28] S.W. Lu, A. Szeto, Hierarchical artiÿcial neural networks

for edge enhancement, Pattern Recognition 26 (8) (1993)

1149–1163.

[29] C. Tyan, P. Wang, Image processing-enhancement, ÿltering

and edge detection using the fuzzy logic approach,

Proceedings of the Second International Conference on Fuzzy

Systems, Vol. 1, San Francisco, 1993, pp. 600–605.

[30] A. Ghosh, M.R. Pal, S.K. Pal, Self-organization for object

extraction using a multi-layer neural network and fuzziness

measures, IEEE. Trans. Fuzzy Systems 1 (1) (1993)

54–68.

[31] D.E. Rumelhart, G.E. Hinteon, R.J. Williams, Learning

internal representation by error propagation, in: D.E.

Rumelhart, J.L. McClelland (Eds.), Parallel Distributed

Processing, Vol. 1, MIT Press, Cambridge, MA, 1986, pp.

318–362.

[32] J.J. Hopÿeld, Neural networks and physical systems with

emergent collective computational abilities, Proc. Natl. Acad.

Sci. USA 79, 1982, pp. 2554–2558.

[33] M. Heath, S. Sarkar, K. Bowyer, Comparison of edge

detectors: a methodology and initial study, Proceedings

of the IEEE Conference on Computer Vision and Pattern

Recognition, IEEE CS Press, June 1996, pp. 143–148.

[34] J. Shen, S. Castan, An optimal linear operator for step edge

detection, CVGIP: Graphical Models Image Process 54 (1992)

112–133.

[35] J. Canny, A computational approach to edge detection, IEEE

Trans. Pattern Anal. Mach. Intell. 29 (1) (1997) 47–59.

About the Author—SI WEI LU was born in Jiansu, China. He graduated from Electrical Engineering Department, Tsinghua University,

Peking, China, in 1967, and received M.S., and Ph.D. degree in Department of Systems Design Engineering from University of Waterloo in

1982 and 1986, respectively. He was Assistant Professor in Department of Computer Science, Concordia University, Montreal, Canada. He

is Associate Professor in Department of Computer Science, Memorial University, Newfoundland, Canada. He is Senior Member of IEEE.

His present research interests include image processing, computer vision, artiÿcial intelligence, neural networks, and pattern recognition.

About the Author—ZIQING WANG received her B.E. from Department of Computer Science and Engineering at Southeast University,

China in 1985, and received M.S. degree from Department of Computer Science at Memorial University, John’s, Canada in 1999. St. From

1986 to 1995, she worked as a lecturer at Jiangsu Petrochemical and Technology Institute, Changzhou, China. From 1997 to 2000, she

worked as a senior programmer/analyst at Global Information Center, McCain Foods Limited, Canada.

Now she is a senior software engineer at Systems Engineering Inc., USA. Her research interests are computer vision, neural networks, and

pattern recognition.

About the Author—JUN SHEN is a Professor in Computer Science and Image Processing and head of Image Laboratory at Institute of

Geodynamics, Bordeaux-3 University, France. He is author or co-author of more than 100 publications in image processing and computer

vision. He received “Outstanding Paer Honorable Mention” from IEEE Computer Society in 1986. His current research interests include

signal and image processing, pattern recognition, and neural network applications.