Sie sind auf Seite 1von 5

International Journal of Automation and Computing 05(2), April 2008, 193-197

DOI: 10.1007/s11633-008-0193-x
A Novel Face Recognition Algorithm for Distinguishing
Faces with Various Angles
Yong-Zhong Lu
School of Software Engineering, Huazhong University of Science and Technology, Wuhan 430074, PRC
Abstract: In order to distinguish faces of various angles during face recognition, an algorithm of the combination of approximate
dynamic programming (ADP) called action dependent heuristic dynamic programming (ADHDP) and particle swarm optimization
(PSO) is presented. ADP is used for dynamically changing the values of the PSO parameters. During the process of face recognition,
the discrete cosine transformation (DCT) is rst introduced to reduce negative eects. Then, Karhunen-Lo`eve (K-L) transformation
can be used to compress images and decrease data dimensions. According to principal component analysis (PCA), the main parts of
vectors are extracted for data representation. Finally, radial basis function (RBF) neural network is trained to recognize various faces.
The training of RBF neural network is exploited by ADP-PSO. In terms of ORL Face Database, the experimental result gives a clear
view of its accurate eciency.
Keywords: Face recognition, approximate dynamic programming (ADP), particle swarm optimization (PSO).
1 Introduction
In the last decade, there existed a variety of success-
ful methods in face recognition such as subspace analysis,
elastic graph matching, local characteristic analysis, neu-
ral network, shaping brightness curve plane, and so forth.
However, face recognition is rather complex and dicult
to describe because of the inuence of the factors includ-
ing angle, illumination, expression, scale, rotation, cloak,
and hairstyle. At present, a majority of research works
still focus on limited conditional recognition
[1]
. In previ-
ous research, principal component analysis (PCA) is often
adopted
[2]
. However, the characteristic matching algorithm
based on gray value is less resistant to disturbance, so the
same image of dierent angle for an individual is often re-
garded as another one. The neural network system is com-
plicated and is composed of a large number of simply and
widely interrelated nerve cells. It can reach a rather good
classication eect and plays an important role in pattern
recognition.
In order to distinguish the faces of dierent angles during
face recognition more eectively, an algorithm on approxi-
mate dynamic programming - particle swarm optimization
(ADP-PSO) is put forward in which ADP, called action
dependent heuristic dynamic programming (ADHDP), is
applied for dynamically changing the value of the PSO pa-
rameters, inertia weight w, cognitive and social accelera-
tion constants, c1 and c2, respectively, thereby giving it the
exibility to optimize its own performance. Moreover, it
is utilized in the training of a radial basis function (RBF)
neural network. PSO is an algorithm based on swarm in-
telligence developed by Kennedy and Eberhart
[3]
. This al-
gorithm is modeled on the behavior of a school of sh /
ock of birds. PSO has also been used in a variety of ap-
plications including generator maintenance scheduling and
Manuscript received December 1, 2006; revised October 23, 2007
This work was supported by Natural Science Foundation of
Huazhong University of Science and Technology of PRC (No.
2007Q006B).
E-mail address: hotmailuser@163.com
electro-magnetics
[4]
. ADP is a concept that tries to nd the
optimum solution to problems where a method to nd the
exact solutions is dicult. ADP approximates an optimal
solution to a problem based on a utility function. It com-
bines the concepts of dynamic programming and reinforce-
ment learning
[5]
. A novel hybrid genetic algorithm/PSO al-
gorithm, breeding swarms, combining the strengths of par-
ticle swarm optimization with genetic algorithms, was pro-
posed in [6, 7]. Da and Ge
[8]
presented a modied PSO with
simulated annealing (SA) technique. An improved PSO-
based articial neural network (ANN) was developed. Feng
et al.
[9]
developed an evolutional fuzzy particle swarm opti-
mization (FPSO) learning algorithm to selfextract the near
optimum codebook of vector quantization (VQ) for carry-
ing out image compression. The fuzzy particle swarm opti-
mization vector quantization (FPSOVQ) learning schemes,
which combined advantages of the adaptive fuzzy inference
method (FIM), the simple VQ concept and the ecient
PSO, were considered at the same time to automatically
create a near optimum codebook to achieve the application
of image compression. However, few literature discussed
about the above-mentioned ADP-PSO.
During the process of face recognition, the DCT is rst
introduced to reduce negative eects. Then, Karhunen-
Lo`eve (K-L) transformation can be used to compress im-
ages and decrease data dimensions. According to PCA, the
main parts of vectors are extracted for data representation.
Finally, the RBF neural network is trained to recognize var-
ious faces. The training of the RBF neural network is ex-
ploited by ADP-PSO. In terms of ORL face database, the
result of the experiment shows its accurate eciency.
The rest of the paper is given as follows. Section 2 gives
a brief description of ADP-PSO. Section 3 describes the
algorithm of distinguishing the faces of various angles. Sec-
tion 4 presents some experimental results by the ORL Face
Database. Finally, the conclusions and future work are
given in Section 5.
194 International Journal of Automation and Computing 05(2), April 2008
2 ADP based PSO
PSO is a population-based search strategy. A problem
space is initialized with a population of random solutions
in which it searches for the optimum over a number of gener-
ations/iterations and reproduction is based on prior gener-
ations. The concept of PSO is that each particle randomly
searches through the problem space by updating itself with
its own memory and the social information gathered from
other particles
[3]
. Fig. 1 gives the vector representation of
the PSO search space. In Fig. 1, V
pd
and V
ld
represent the
eect of P
best
and G
best
on the individual. The basic PSO
velocity and position update equations are given by (1) and
(2), respectively.
Vnew =w V
old
+c1 rand (P
best
P
old
)+
c2 rand (G
best
P
old
) (1)
Pnew = P
old
+Vnew (2)
where Vnew is the new velocity value calculated for each
particle, V
old
is the old velocity value of the particle from the
previous iteration, Pnew is the new position value calculated
for each particle, P
old
is the old position value of the particle
from the previous iteration, w is inertia weight constant, c1
and c2 are cognitive and social acceleration constants, and
rand generates a random value in the range [0, 1].
Fig. 1 Vector representation of PSO (T is the target.)
ADP, called ADHDP here, is used to determine the op-
timal control law for a dynamic process
[5]
. It adopts two
neural networks successively to learn the dynamics of the
process. These are namely the action neural network which
provides the control signal for the process and the critic
neural network which evaluates the performance of the ac-
tion network. The action network dispenses a control signal
in order to optimize (minimize or maximize) the output of
the critic. The action network may learn this control signal
through a model network or directly through the critic

s
performance. Thus, the two neural networks together learn
the system dynamics and are able to achieve an optimal
control law for the process dynamically. The initialization
of the weights of the neural networks does not aect the
nal results. The action and the critic networks need to be
trained for the problem at hand before the ADP-PSO can
be applied directly to the problem. Fig. 2 shows the block
diagram for ADP-PSO.
Fig. 2 Block diagram of ADP-PSO
As seen in Fig. 2, G
t
a function of the tness value of the
PSO process, is taken as the input to the action and critic
networks. The action network gives out the values of the
PSO parameters w, c1, and c2 which drive the application.
These values are also fed to the critic network. The output
of the action network is given by (3).
A(k) = [w(k), c1(k), c2(k)] . (3)
Fig. 3 shows the block diagram for the training of the
critic network. The critic network is initially trained with-
out the action network. The critic network can be trained
for dierent values of the w, c1, and c2. They can be con-
stants, linearly increasing or decreasing or randomly gener-
ated. w is generated in the range [0.2, 1.2], and c1 and c2
are generated in the range [0.4, 2]. is a discount factor
and is in the range [0, 1]. These inputs are fed to both the
PSO application as well as the critic network. The error
signal generated at the output is back-propagated and the
weights of the critic network are updated.
Fig. 3 Block diagram for the critic training
The cost-to-go function is given by (4). The objective of
ADP is to develop an optimal control strategy. U(x(k)) is
called the utility function where x(k) is k-th position value
corresponding to P in (2). The utility function is custom
to the application and is chosen by the designer and it em-
bodies the design requirements of the system. Equation (5)
Y. Z. Lu / A Novel Face Recognition Algorithm for Distinguishing Faces with Various Angles 195
gives the error value for which the critic network is trained.
Equation (6) gives the value of the utility function. The
critic network needs to be trained for a number of runs of
the PSO applications. The tness function of the PSO ap-
plication is fed to the critic network in order to tune the
network for the application at hand. This training is car-
ried out till the output of the critic follows the target as
closely as possible.
J(x(k)) =

k=0

k
(U(x(k))) (4)
Ec = J(k) +U(k) J(k 1) (5)
U(k) = f(G
t
(k)). (6)
The action network provides the control action for the
PSO based system. This value is given as the input to the
critic network instead of the random values of w, c1, and
c2 as described above. The critic responds to this signal by
generating the output J function. The action network is
trained in such a way that the output of the critic is mini-
mized. Thus, the outputs of the action network will even-
tually drive the system eciently. Fig. 4 shows the block
diagram for the training of the action network.
Fig. 4 Block diagram of the action network training
The action can be trained for the dierent inputs. Fig. 4
shows two dierent sets of inputs. One set gives random
values of w, c1, and c2 and the other set is the output of
the action network itself. The action network is trained
with an error signal taken from the critic network. This
is given by J/A, where A is the output of the action
network.
3 An algorithm of distinguishing faces
with various angles
Face recognition is performed by the following steps: 1)
DCT is used to reduce the inuences which are created by a
variety of dierent angles; 2) K-L transformation and PCA
are utilized to lessen the data dimension; 3) RBF neural
network is implemented to recognize the faces while ADP-
PSO is used to train the samples in advance.
The denition of DCT were rst given by Ahmed et
al.
[10]
. DCT can reduce the inuences which are created
by a variety of dierent angles. Disperse cosine transforma-
tion of two dimensions is expressed as
F(0, 0) =
1
N
N1

x=0
N1

y=0
f(x, y) (7)
F(, 0) =

2
N
N1

x=0
N1

y=0
f(x, y) cos
(2x + 1)
2N
(8)
F(0, ) =

2
N
N1

x=0
N1

y=0
f(x, y) cos
(2y + 1)
2N
(9)
F(, v) =
2
N
N1

x=0
N1

y=0
(x, y) cos
(2x + 1)
2N
cos
(2y + 1)v
2N
(10)
where f(x, y) is a vector of two dimensions in the space
domain, x, y = 0, 1, , N 1; F(, v) is a transformed co-
ecient matrix, , v = 1, 2, , N1. After DCT, a direct-
ing current branch (DC coecient) and some alternating
current branches (AC coecient) are obtained. The DC
coecient, AC coecient of low frequency, and AC coe-
cient of high frequency represent the average value of pixel
density in the block, abundant image texture and edge in-
formation, and image details, respectively. Majority of the
transformation energy is concentrated on the coecients of
low frequency which reect the main image and are bigger
while ones of high frequency are smaller. After DCT, the
part of low frequency is displaced in left-down angle and the
part of high frequency is located in right-up angle among
the matrix.
The dimension of data that are transformed by DCT
is very high. Thus, K-L transformation is exploited to
lessen the dimension. K-L transformation is a special opti-
mal perpendicular transformation. The given signal vector
X = [x(0), x(1), , x(N 1)]
T
is transformed into N di-
mensional vector of which each branch vector is completely
irrelative and highlights its properties to minimize the ap-
proximate average square dierence. The covariance of the
above-mentioned vector is dened as
Cx = E
_
(X x) (X x)
T
_
(11)
where E{} is average value operation, x = E{x} is the av-
erage value vector, and Cx embodies the relativity of each
branch in the vector. Real symmetry matrix can be di-
agonalized. Thus, perpendicular matrix U is constructed
to make = U
T
CxU, where is a diagonal matrix, and
U = [U1, U2, , UN]. Thus, Y is obtained by Y = U
T
X.
A three-layer feed-forward RBF neural network has been
widely adopted in pattern recognition because of its fast
convergence, less ease to get into local small extremum and
good robustness and so forth. There is a hidden layer in
the RBF neural network where the activated function of
the nodes is a radial basis function, where its radius is not
only symmetric, but also smooth and arbitrarily derivative.
RBF is usually the Gaussian kernel function which is
K x xc = exp
_

_
_
x xc
2
2
2
_
(12)
196 International Journal of Automation and Computing 05(2), April 2008
where xc is the center and is the wide parameter
which controls the radial functionary scope of the function
respectively
[11]
. Moreover, an algorithm about ADP-PSO
is utilized in the training of the RBF neural network in
which ADP is used for dynamically changing the values of
the PSO parameters, inertia weight w, cognitive and so-
cial acceleration constants c1 and c2, respectively. Thereby,
PSO gains the exibility to optimize its own performance.
4 Experiment
Twenty two individuals

faces were chosen from the ORL


face database
[12]
to carry out the experiment. In the exper-
iment, there were 10 faces with various dierent angles for
each person and the total number is 220. The faces are all
256 gray hue, 92 pixel width, and 112 pixel height. Mean-
while, 5 faces were used for the training of the RBF neural
network and another 5 for the detection. The original faces
with 10 dierent angles and their images after DCT are
presented in Figs. 5 and 6.
Fig. 5 Original faces with 10 dierent angles
Fig. 6 The images after DCT
One hundred and ten training faces were performed by
K-L transformation while 19 front branch vectors of U were
chosen to project. Therefore, X of 10304 dimensions is pro-
jected in Y of 19 dimensions. A three-layer feed-forward
RBF neural network, which includes the input layer, hid-
den layer, and output layer, is built as shown in Fig. 7 and
the number amounts to 22. There are 19 nodes in the input
and Y obtained above acts as input. 30 nodes are selected
in the hidden layer and Gaussian kernel function is adopted.
There is one node in the output and if the individual is veri-
ed correctly, the output value of the model is 1. Otherwise,
it is 0. Weighty values between the input layer and latent
layer are all 1.
Fig. 7 Structure of the RBF neural network
The above-mentioned algorithm about ADP-PSO is used
for training the samples. Two hundreds particles are initial-
ized in which their parameters are as follows: central vector
Xc in 19 hidden nodes, their square dierences in 19 la-
tent nodes, and their weighty values Wi between the hidden
layer and output layer. Each particle performs the iterative
calculation 300 times to obtain the parameters with the
least error in order to train the network above. Meanwhile,
the tness function and utility function are expressed below.
G
t
=
N1

i=0
| Ti Oi| (13)
Oi =
_
1 Sumi Vi
0 Sumi Vi
(14)
Sumi =
M1

j=0
Wj exp
_

Yi Yjc
2
2
2
j
_
(15)
U(k) = 0.1 G
t
(k) (16)
where Ti is teacher input signal, Oi is the output of the i-th
neural network, Vi is the output threshold of the i-th neural
network, Wj is the weighty value between the hidden layer
and output layer, Yi is the input of the neural network, Yjc
and j are considered as average value and square dierence
among the hidden nodes, N is equal to 110, M is equal to 30,
U(k) is called the utility function. There exist 22 output
results in the network above. If the individual is tested
correctly, the output value is 1 corresponding to input Y .
If there are more than one output value of 1, the farthest
one from the threshold is selected. During the optimization,
PSO (constant w) and ADP-PSO are used respectively on
a 1.7 GHz, Pentium 4 processor. The results are shown in
Table 1. By detecting the 110 faces the identication ratio
of the RBF based on ADP-PSO reaches the high level of
98.3%, and the algorithm reaches a high speed in practice.
Table 1 Results of two PSO methods
Methods Errors Iterations
PSO (constant w) 4.7259 300
ADP-PSO 0.3029 300
Y. Z. Lu / A Novel Face Recognition Algorithm for Distinguishing Faces with Various Angles 197
5 Conclusions
This paper presents a successful application of the con-
cepts of ADP (called ADHDP) to the PSO process. The
ADP-PSO algorithm greatly improves the performance of
the PSO search. Moreover, it is also successfully applied
to the recognition of faces with various angles. The ADP-
PSO optimization-based RBF neural network algorithm is
proven to be an eective identication method with high
precision and fast speed.
Future work can involve exploring other ADP techniques
such as action dependent dual heuristic dynamic program-
ming (ADDHP) or action dependent globalized dual heuris-
tic dynamic programming (ADGHP) for solving these prob-
lems. The work considered here assumes that the three PSO
parameters are coupled. Future work can also involve op-
timizing these parameters independently of each other. On
the other hand, the issues on initial transformation can be
improved and a reduced training period can be developed
to make the identication algorithm be more ecient.
References
[1] Q. Yang, X. Q. Ding. Symmetric PCA and Its Application
in Face Recognition. Journal of Computer, vol. 26, no. 9,
pp. 11461151, 2003. (in Chinese)
[2] Y. Z. Lu, J. L. Zhou, S. S. YU . A Survey of Face Detection,
Extraction and Recognition. Computing and Informatics,
vol. 22, no. 2, pp. 163195, 2003.
[3] J. Kennedy, R. C. Eberhart, Y. H. Shi. Swarm Intelligence,
Morgan Kauman Publishers, San Francisco, USA, 2001.
[4] G. Ciuprina, D. Ioan, I. Munteanu. Use of Intelligent-
particle Swarm Optimization in Electromagnetics. IEEE
Transactions on Magnetics, vol. 38, no. 2, pp. 10371040,
2002.
[5] G. K. Venayagamoorthy, R. G. Harley, D. C. Wunsch. Ap-
plications of Approximate Dynamic Programming in Power
Systems Control. Handbook of Learning and Approximate
Dynamic Programming, J. Si, A. Barto, W. Powell, D. C.
Wunsch (eds.), Wiley Interscience/IEEE Press, Piscataway,
New York, pp. 479515, 2004.
[6] M. Settles, T. Soule. Breeding Swarms: A GA/PSO Hybrid.
In Proceedings of the 2005 Conference on Genetic and Evo-
lutionary Computation, Washington, DC, USA, pp. 161
168, 2005.
[7] X. H. Shi, Y. C. Liang, H. P. Lee. An Improved GA and a
Novel PSO-GA-based Hybrid Algorithm. Information Pro-
cessing Letters, vol. 93, no. 5, pp. 255261, 2005.
[8] Y. Da, X. R. Ge. An Improved PSO-based ANN with Sim-
ulated Annealing Technique. Neurocomputing, vol. 63, no.
4, pp. 527533, 2005.
[9] H. M. Feng, C. Y. Chen, F. Ye. Evolutionary Fuzzy Particle
Swarm Optimization Vector Quantization Learning Scheme
in Image Compression. Expert Systems with Applications,
vol. 32, no. 1, pp. 213222, 2007.
[10] N. Ahmed, T. Natarajan, K. R. Rao. On Image Processing
and a Discrete Cosine Transform. IEEE Transactions on
Computers, vol. 23, no. 1, pp. 9093, 1974.
[11] J. B. Li, S. C. Chu, J. S. Pan, J. H. Ho. A Novel Matrix
Norm Based Gaussian Kernel for Feature Extraction of Im-
ages. In Proceedings of IEEE International Conference on
Intelligent Information Hiding and Multimedia Signal Pro-
cessing, IEEE Press, Pasadena, California, USA, pp. 305
308, 2006.
[12] AT&T Laboratories Cambridge, [Online], Available:
www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.
html, November 12, 2006.
Yong-Zhong Lu received his B. Sc. and
Ph. D. degrees from the Huazhong Univer-
sity of Science and Technology (HUST),
China, in 1993 and 2001, respectively. He
is currently an associate professor at the
School of Software Engineering of HUST.
He has published more than 50 refereed
journal and conference papers. He is a
member of China Computer Federation.
His research interests include pattern
recognition, image processing, software engineering, and industry
control.

Das könnte Ihnen auch gefallen