PDA Face Recognition System Using Advanced Correlation Filters

Transcription

PDA Face Recognition System Using Advanced Correlation Filters
PDA Face Recognition System
Using Advanced Correlation
Filters
Chee Kiat Ng
2005
Advisor: Prof.
Khosla/Reviere
PDA FACE RECOGNITION
SYSTEM
USING ADVANCED CORRELATION FILTERS
By
Chee Kiat Ng
SUBMITTEDIN PARTIAL FULFILLMENTOF THE
REQUIREMENTSFOR THE DEGREE OF
MASTEROF SCIENCE IN
ELECTRICAL AND COMPUTER ENGINEERING
AT
CARNEGIE MELLON UNIVERSITY
MAY2005
Dr. Marios Savvides, ECE(Advisor)
Prof. Pradeep K. Khosla, ECE(Co-Advisor)
ACKNOWLEDGEMENTS
I would like to thank myadvisors Dr. Marios Savvides and Prof. Pradeep K. Khosla for their
continual support and encouragementduring mycourse of graduate studies. Prof. Khosla is a very
understanding advisor. Youlistened to my requests and gave me the opportunity to switch my
research studies from medical robotics to pattern recognition. It wasa big leap and yet you still
had faith in meto be able to accomplishit. Thankyou.
Thankyou Dr. MariosSavvides. Youare definitely the pillar of support in myresearch studies.
Every time I step into your office with a gloomy face, you were always able to clear my
"mountains" and give me the encouragementI need to face the problems I have. It was crazy
enough that I am doing all myresearch and thesis in one semester, but somehowyou have this
strong faith and trust in methat I can accomplishit, and I really appreciate that. Otherthan work,
I also enjoyed sharing newideas and cracking jokes with you. Youare not just a great advisor,
but a great friend as well.
I like to thank Dr. CameronRiviere, whohas helped me tremendouslywhenI was in his medical
robotics team. He has given me the chance to learn a lot about signal system design, mechanical
design and programming,and this skill set has benefited mea lot in myPDAresearch.
I also like to thank mymanydear friends in CMU
whohave filled mycollege life with fun and
laughter (not in order of preference). MySingaporeangang: Dinesh, Rachel, Siyi, Bernard, Zaizhi,
Xianyi, Greg, Shanmei, Leon. My"family" friends: Tom, Nancy, Jeehee, Dong Keun, Tiffany,
Will. Mygreat study and research pals: Nick, Dave, Jeremy, Mint, Paul. Also I like to thank my
offshore friends in Singapore whohave been continuously supporting me through emails: Walter,
2
Ming, Benjamin, Kelvin, Terence, Vincent, Nathanael, Russel, Rachel, Ivy, Adela, Teresa. Chee
Yong, Charlotte. In case I missed anyone, you are not forgotten and I want to thank all of you too.
I want to thank Bernice who has always been there for me whenever I am happy or depressed.
With your continual encouragement and support, I was able to endure and survive my worst days.
Thank you.
Lastly, I want to thank my entire
family. I want to thank my sister,
continuously praying for me while I was pursuing mystudies.
Wendyand her family for
! want to thank mybrothers,
Alan
and Andy who have always been there for me, giving me advice and support. I would especially
like to thank myparents for their love and support. Without you, I would not be who I am today. I
will make the best out of mylife so that you can always be proud of me.
Table of Contents
Abstract
Introduction
1.1
Motivation
1.2
Challenges
1.3
Goals
System and Equipment
Personal Digital Assistant (PDA)
2.1
2.2
Camera
2.3
Programming Platform
3. Face Recognition Algorithms
3.1
Whichrecognition method to use?
Principal ComponentAnalysis (PCA)
3.2
3.3
Individual Principal ComponentAnalysis (IPCA)
3.4
Fisher Linear Discriminant Analysis (FLDA)
3.5
3D Linear Subspace Method
3.6
AdvancedCorrelation Filters
3.7
Illumination-tolerant Face Recognition Experiment
4
o
7
9
10
11
12
13
14
15
16
17
AdvancedCorrelation Filters
4.1
MinimumAverage Correlation Energy IMACE)Filter
4.2
Unconstrained MACE(UMACE)Filter
4.3
Noise Tolerant Correlation Filter
4.4
Optimal Tradeoff Synthetic Discriminant Function (OTSDF)Filter
4.5
Unconstrained OTSDF(UOTSDF)Filter
4.6
Maximum
Average Correlation Height (MACH)Filter
4.7
Peak-to-Sidelobe Ratio (PSR)
4.8
Peak-to-Correlation Energy (PCE)
19
21
22
23
23
24
26
27
Approachto Improving Performance and Speed
5.1
Fix point Fast Fourier Transform(fixed-point FFT)
5.2
Fix point Arithmetic
5.3
Optimization results
5.4
Face Detection
5.5
Online Training Schemegiven a video sequence
28
32
32
34
36
Selecting a Suitable Correlation Filter Method
6.1
PDAFace Database
6.2
Face Identification Experiment
6.3
Face Verification Experiment
38
39
39
Conclusion
44
Bibliography
45
Abstract
In this thesis,
we present a viable ¢ktce recognition system that is implemented on a Pocket PC
that can work in real-time.
Firstly,
we examine the benefits
of having such a system and the
challenges that are faced in building such a system. Wethen present the equipment suitable Jbr
realizing such a real-time face recognition system on a PDA. An analysis of existing recognition
algorithms
has to be performed in order to choose one that is suitable
Experiments are performed using CMU-PIEdataset
determine that Advanced Correlation
Advanced Correlation Filters
constraints
Filters
with harsh variable
is a suitable
for our system.
illumination
where we
approach. Among the different
we determine which ones are better optimized in speed and memory.
for PDAimplementation. This includes fast fixed-point
implementation of 2D Fourier
Transform optimal for Pocket PC platform, bt addition, we discuss about the fast face detection
algorithm we incorporated in the system. We also detail an efficient
these filters
efficiently
in order to minimize computation load and making the system practical
with real-time enrollment of users. We show how different
methods perform using a small database collected
detection
algorithm for synthesizing
using the PDA using the implemented face
and processing algorithm running real-time.
this system can be ported to work on cell-phones.
types of Advanced Correlation Filter
Finally we discuss future work and how
Chapter 1
Introduction
1.1 Motivation
Accesscontrol systemsutilizing biometrics is currently a hot field in security. Biometricsoffers
solutions to vulnerabilities found in current access control systems whichare based on passwords
or ID cards whichcan be lost or stolen. Biometrics provides us with identifying features that are
unique to each individual person; like facial image, fingerprint, voice, iris etc. These biometric
features provide enhanced security since we always have them and so we cannot lose them like
keys and ID cards. Moreover,these features are moredifficult to replicate or spoof.
Nowthat biometric recognition has progressed to a decently reliable stage, one can immediately
foresee the possibility of changing all the password and ID card based security systems into
biometrics-based systems. For example, a person whoneeds to use the ATMmachine no longer
has to key in his pin code to access his bank account, but instead, he can just look into the camera
and allow the ATMBiometric system to identify him. Another scenario would be that of a person
being able to enter his office by just using his fingerprint instead of using his ID card. Both
examplesclearly showthe convenienceand at the sametime the security that biometrics can offer.
More importantly using multiple biometrics simultaneously makes the system more robust
against spoofing attacks [1]
Biometric recognition has more to offer than to merely enhancecurrent access control systems;
our PDA(Pocket PC) face recognition system has a feature that enhances the benefits that
biometric recognition provides, namely portability.
Hence, we will discuss ideas for new
applications that can utilize portable biometrics recognition. In this generation, it is very common
to find manypeople carrying Personal Digital Assistants (PDAs)while they are on the move.
Moreimportantly PDAshave becomean integrated part of our lives where we nowstore crucial
6
information such as bank account statements, and other private information which must be made
secure in the event the PDAsare lost or stolen. Havinga Biometrics authentication moduleon
PDAcan help unlock access to such valuable data. Using the facial biometric is one of the least
intrusive methodsthat can be used to authenticate authorized users of the PDA.
PDAbased face recognition systems can be used in a variety of applications including law
enforcementofficers; whocan use portable PDAsto identify suspects against a criminal watchlist etc. PDAbased face recognition systems can also be used as a wayto delegate authority and
access control to physical and virtual spaces. Imagine hotels which instead of giving you key
cards, can delegate authority to your PDAto give access to your room. So whenyou approach
your roomdoor, authenticating yourself on your PDAcan provide authentication which the PDA
can then grant access for the electronic door to unlock. Almostall PDA’shave integrated 802.1 lb
and Bluetooth whichis a meansof communicatingwith various public services and applications.
These examplesshowthat there is great potential in developingportable face recognition systems.
1.2 Challenges
One disadvantage of using biometric applications is that there is a considerable amount of
computation involved. This is especially so with regards to robust face recognition. This
typically involves a significant
amountof image processing which can slow downthe system
significantly if additional video processing is considered necessaryas well. All these issues make
it challenging to implementa PDAbased face recognition system that is reliable and can workat
real-time. Most PDAscontain CPUsthat range between 100Mhzto 624Mhzwhich is the fastest
clock rate at the current time. Moreimportantly, clock speed alone is not the only factor to
considered, but more importantly; all current PDAsdo not contain a Floating Point Unit (FPU)
thus floating point operations must be emulated by the PDA’sCPUwhich can be significantly
slower up to several orders in magnitude.In addition to computationallimitations, these devices
7
also have memorylimitations,
so we cannot use algorithms that utilize significant amountof
memoryto run.
1.3 Goals
Our goal is to have a working face recognition system integrated on to a PDA.Although the
available processors are slow in speed, we intend to employ methods that can improve the
system’s performance and that can accommodatea PDA’smemoryconstraints (see Chapter 3).
Wealso chose to use AdvancedCorrelation Filter methods to solve the recognition problem in
our system since they are comparatively more accurate and less demandingthen other traditional
methods.Wewill research on the different available filter methodsto decide whichfilter design
is the most suitable for our system in terms of performanceand computational complexity as we
plan to enroll users directly on the PDAusing an online-learning algorithm that can build these
filters on-the fly andin real-time as the user is holdingthe camera..
Chapter 2
System and Equipment
2.1
Personal Digital Assistant (PDA)
Dueto the high requirements in memoryand speed for image processing, we have to look for a
mobile device that offers the most powerfulprocessor in the market. In our search, we have come
upon the Dell Aximx50v Personal Digital Assistant (PDA).
Figure 1. Dell AximxS0vandIntel PXA270
chip
It contains an Intel processor chip, PXA270,which can achieve a maximum
clock rate of 624
MHz.This is currently the fastest clock rate CPUthat can be found in handhelddevices. However,
the PXA270does not contain a Floating Point Unit (FPU) [2]. An FPUis a chip specially
designed for processing floating points, commonlyfound embeddedin most microprocessors. In
the PXA270,all floating point computations are emulated instead; and this can consumeseveral
hundred of cycles to obtain a result. This serves to be a major challenge in our system, since
image processing involves an immenseamountof floating point computation which we take for
granted on desktop imageprocessing applications.
With regards to memory, the Aximonly provides 128 MBFlash ROMand 64 MBRAM.Hence,
weare limited to working with face recognition algorithms that do not require too muchmemory
as well (more memory
is typically required during the enrollment period for training the pattern
recognition algorithm).
Figure 2. VEOCamera:CFversion andSDversion
2.2
Camera
Ideally, wewant to have a solution whichis universal to all PDAbrands, so built-in camerasare
quickly dismissed as not all PDA’shave built-in
cameras and we would have to develop PDA
specific code for those PDAs.Instead, welooked for attachable cameras(compactflash or secure
digital)
that we can use on the Dell Aximas well as other PDAmodels. The two we found are
VEO’sCompactFlash Photo Traveler and VEO’sSD Photo Traveler 130S. Wechose to use the
SDversion since it is smaller and it has a swivel lens so that the user can changethe direction the
camerais facing, awayor towards him. It was also the only camerabrand that provided a barebone SDK.Due to the lack of technical support and SDKdocumentation from the company,it
has proven to be a challenge to decipher and utilize the code used in each call function in the
10
cameraSDK.Eventually, after significant experimentation we managedto learn howto utilize it
to suit our needs for quick imagecapture and display.
2.3 Programming Platform
Weused Microsofl’s EmbeddedVisual C++to code and design the face recognition application
for the Pocket PC. It provides the ability to code in C++the samewayas Microsoft’s Visual C++,
whichis popularly used in PC application development.However,it has limited functionalities,
similar to the Intel PXA270
processor. Certain libraries that are available for the PCversion, such
as the complexclass template, cannot be found in the embeddedversion. Complexarithmetic is
essential for performing certain imageprocessing algorithms such as Fast Fourier Transforms, so
this could be a huge hindrance. In the end, we created our owncomplexclass with override
methods that can handle both real and imaginary numbersas well as perform simple colnplex
arithmetic such as conjugation and computingabsolute values.
ll
Chapter 3
Face Recognition Algorithms
3.1 Which recognition
method to use?
Given the hardware constraints and the real-time nature of the desired PDAface recognition
system, our goal is to implementa face recognition algorithm that requires the least computation
andhas to be able to return results at a fast framerate. In addition, its classification results have
to be accurate to recognize authentics and deny access to impostors. Image variability such
illumination,
pose and expression are challenging in reliable
face recognition for user
authentication. However,pose and expression can be controlled; as a co-operative user will
provide a suitable pose and expression but will not have control of the surrounding illumination
(consider outdoor scenario). Hence, we will firstly
present the existing pattern recognition
algorithms that can be used for face recognition, and then discuss their performance under
variable illumination to see which is the most suitable for our needs. Weuse the CMU-PIE
database to examinetolerance to illumination variations.
3.2 Principal
Component Analysis
(PCA)
Principal ComponentAnalysis (PCA)[3], also knownas KarhunenLoeve Transform or Hotelling
Transform,is a very popular recognition tool. Weapply PCAto a set of face imagesto computea
lower dimensionalsubspacewhichare the principal directions of variations of these face images.
These principal directions of variation are identified by the covariance matrix E of the training
face data as follows:
rZ= XX
(1)
12
WhereX is a matrix of size MxN(where Mis the numberof pixels in each face image and N is
the numberof training images) containing the training data (with the global meansubtracted)
along the columns. Hence, PCAinvolves solving the following eigenvectors/eigenvalue problem:
XX rv = Zv = ~v
(2t
Since the covariance matrix is symmetric, the eigenvectors computed in Eq. (2) form
orthogonal basis that best represents the variability in the training data in the minimum
squared
error sense. Typically in imagebased pattern recognition problems such as face recognition we
have more dimensions (pixels) than training data, in such cases it is computationally (and
memory)inefficient
to computethe eigenvectors/eigenvalues of XXT, instead we use the Gram
Matrixtrick to reformulateEq. (2) as:
X r XXX rv = 2~ rv
(3)
X r Xv’=2v’
Where
(4)
v’= Xrv
Hence, after solving for v’, we find the desired eigenvectors v by v = Xv’. Once all the
eigenvectors v are computedweproject a test face, t, into this lower-dimensionalsubspace. We
then use this lower dimensionalrepresentation of the data for pattern matching.
3.3 Individual
Principal
Component Analysis
(IPCA)
Individual PCA(IPCA)[4] is a variant of PCAwherethe difference is that we build a subspace
for each class; using imagesfrom that class instead fromall the imagesfrom all the classes. Once
all the eigenvectors v are computedfrom a particular person weproject a test face, t, into this
subspaceand reconstruct it and computethe residual error betweenthe reconstructed face and the
original test face. The person whose eigen-space produces the reconstructed image with the
13
smallest residual error is classified as the person in the test image. Thereconstructed image, t, is
computedas "
t = pivi
+ m
(5)
i=1
Where
pi = v~ (t - m)
(6)
Error = t- x 2
(7)
Thereconstruction error is:
3.4
Fisher Linear Discriminant Analysis (FLDA)
Fisher Linear Discriminant Analysis (FLDA)[5] attempts to find the optimal projection vectors
such that the projected samples have a small within-class scatter Sw and large between-class
scatter S,. This is done by maximizingthe Fisher ratio defined as
vJ(w)-
WT S ~ w
wrSo
(8)
S~ = 2 (mi - m)(mi m)
(91)
Where
i=1
(10)
i=1 k=l
Ni is the numberof training imagesin the ith class and the superscript on x indicates its class.
Maximizingthe Fisher ratio leads to solving the generalized eigenvalue problem
14
If S,,. is non-singular then Eq.(11) can be turned into a normal eigenvalue problemby inverting
the within-class scatter matrix. However,in face recognition due to the larger dimensionality of
images comparedto the training data, the within-class scatter matrix is singular which is a
problem in the optimization in Eq.(8) where the denominator becomes0. Thus Fisherfaces uses
PCAto reduce the dimensionality to N-c such that the within-class scatter is non-singular and
then apply LDAto get c-I projection vectors. So we can cascade the PCAprojections and the
LDAprojections into one transformation for convenience:
W/.~,e,.jm. = Wec
A Wu~
A
(12)
Hence, all the training faces are projected into the Fisherface subspacein Eq. (12) and a simple
nearest neighborclassifier is usedto classify the test face basedin this projected space.
3.5
3D Linear Subspace Method
In this method, we assumethat faces can be modeledas Lambertiansurfaces. The intensity of a
pixel in an imageilluminated by a point light source at infinity can be expressedas follows:
p = anr s
(13)
Wherepixel intensity is denotedby p, a is the albedo of the surface, n is the surface normaland s
is the direction vector of the light source. So the wholeface imagecan be formulatedas follows:
I = Bs
(14)
Where1 is a dxl matrix denoting the face image (d pixels), B is dx3 matrix wh ere ea ch ro w
contains anT vector. Wecan estimate a 3D illumination subspace using 3 or more linearly
independentface imagesI with different lighting variations. DenotingI~ to be the nth imagein a
set of N training
images, we can form a 3D linear subspace by finding 3 eigenvectors
correspondingto the largest eigenvaluesof the following correlation matrix:
N
Z I~I,r,
= HHr
(15>
15
Thus, we can solve for eigenvectors bi in Eq. (15) using Grammatrix trick as before. Therefore,
test imaget is projected onto the individual’s subspaceand the imageis reconstructed using the
projection coefficients. Theresidue is calculated as follows:
residue =
(hi
i t )b
(16)
Theclass is classified with the subspacethat producesthe smallest residue just as in IPCA.
3.6 Advanced Correlation
Filters
Correlation filter techniques are attractive candidates for the pattern matchingneeded in face
verification.
Advancedcorrelation filters
can offer a very good matching performance in the
presence of variability such as facial expression and illumination changes [6]. Furthermore,they
offer closed-form solution that are of less complexity and require minimal amountof memory
storage [7].
T~
~
Coi~elatioll
Correlation Filter Tr~ Ixr~es
Figure3. Correlationfilter blockdiagram
showsa filter designedon Nimagesfor class I. When
a
test imagefromclass I is inputto the system,thenthe correlationoutputshouldyield a sharppeak.
Weare interested in the MACE,
UMACE,
MACH
filters
that will be discussed in detail in
Chapter 4.
16
3.7
Illumination-tolerant
Face Recognition
In this experiment, we use the illumination
(PIE) database [8] which consists
subset of the CMUPose, Illumination,
of 65 people, each captured with 21 different
Expressions
illumination
conditions.
Figure 4. PIE illumination subset for a person
In this experiment, we use 3 uniform frontal-lighting
the training
illumination face images from each class as
images (see Figure 5). Wewant to see how well each recognition
perform given these training
algorithm can
images while being tested with the rest of the images that have
different harsh un-seen illuminations.
Figure 5. three images with uniformfrontal illumination
17
Table1. RecognitionRatesfor different recognitionmethods
PCA
IPCA
FLDA
3D Linear Subspace
MACE / UMACE
MACH
Clearly, MACE/UMACE
correlation filters
Recogniti0n Rat~ :
21.30%
51.80%
72.20%
50.90%
94.90%
47.60%
exhibit the best performance, with a recognition rate
of 94.9%. Although3D linear subspace is knownto be illumination-tolerant, it can only perform
well given a training set of face imagesthat have different and extremeillumination variations.
PCA,IPCAand FLDAmethods require offline training (given a training video sequence, these
methods also need the entire set before it can process their algorithm). Wewill show that
AdvancedCorrelation Filters are able to do online training in real-time, and they have proven to
perform well even under extreme illumination conditions; thus they are suitable choices for our
face recognition PDAsystem.
18
Chapter 4
Advanced Correlation
4.1
Minimum Average
Filters
Correlation
Firstly, we describe the MACE
filter
Energy (MACE) Filter
[9]. The mareidea is to synthesize a filter using a set of
training images that would produce correlation
output that minimizes correlation
values at
locations other than the origin and the value at the origin is constrained to a specific peak value
(usually chosen to be 1). Therefore, whenthe filter is cross-correlated with a testing image that
belongs to an authentic, the filter
will exhibit sharp correlation peaks, as shownin Figure 6.
Otherwiseif the test image belongs to an imposter, the filter will output small correlation values
with no discernible peak as shownin Figure 7.
PSR= 21 ~7
5000
4500
4COO
10
¢000
3000
25O0
3000
2O
~000
2000
30
2000
-)000
40
IO0~i
4800
3500
.
2O00
:
1500
o-
1000
20OO
~ ~
~/~i.
I O0
500
0
50
~/ 50
0
~000
-500
0
-1 000
80
000
60
40
2C
~0
0
20
30
40
50
60
Figure 6. MACE
filter correlation output fromone of the ’authentic’ class test images.
PSR= 4 55
1000
5O0
20OO,
1500
1000
10
2O
]
3O
500
-600
-lo00~
40
:::!
1 000
50
-1500
50
~,//
0 0
-1500
6O
50
-200D
80
60
40
20
0
10
20
00
40
60
Figure 7. MACE
filter correlation output fromone of the test imagesfrom an ’impostor’ class.
19
The MACE
filter
seeks to minimize the average correlation plane energy. The energy E, of the
ith spatial correlation plane ci(x, y)in the frequency domain representation Ci(u,v ) is as
follows:
E,
d-I
d-I
2
1
d-t
l
d-I
d-I
2
c,(.,v)
(17)
d-I
ZI H(u’v)121F’(u’v)
l~-=u=o
=-ff~-,~,=o
h+D’h
whereinput images,frequencydomaina~aysandco.elation outputs are all assumed
to be of size
dxdand i=1,2 ...... N with N being the number of training images. ~(u,v)is
the 2D-Fourier
transform of the ith training image and Di is a d :~ x d t diagonal matrix containing the power
spectrum of training imagei along its diagonal, h is ~
ad
x I colu~ vector containing the 2-D
co.elation filter H (u, v) lexicographically reordered to 1-Dvector.
Hence,the average co.elation plane energy is defined as follows:
Earerage = ~.= E~=
where
N~_~
1 N
D= ~ ~ D
i
h+Dih
= h+Dh
(18)
(19)
Minimizationof E,~,,er,,g e is done while satisfying the linear constraints of the co.elation values
based on pre-specified values (in rowvector u),
X +h = u
(20)
where X is a d ~ x N complex element matrix, with the ith colu~ containing the 2-D Fourier
transform of the ith training image lexicographically re-ordered into a colu~ vector. Lagrange
2O
multiplier methodis used to minimizeEq.(18) while satisfying the linear constraints in Eq.(20)
and this will give a closed form solution for the MACE
filter as follows:
h = D-1X(X+D-1X)-lu
(21)
As shown, we see that since D is a diagonal matrix, the computationally most demandingaspect
of determining the MACE
filter
is the inversion of the Grammatrix (X +D-~X)which is of size
NxN.To avoid computingthis matrix inversion we shall use the unconstrained MACE
filter [10]
that relaxes the hard constraints in Eq.(20) and leads to a closed form solution that does not
requires matrix inversion operation and thus is more suited for PDAbased implementation.
4.2
Unconstrained
MACE(UMACE)Filter
The unconstrained MACE
(UMACE)
filter
[10] is a variant of the original MACE
filter where the
difference is that weonly want to maximizethe average correlation values at the origin instead of
constraining themto specific values as done in Eq.(20), while minimizingthe average correlation
energy amongthe training images. The average correlation peak height can be expressed as
I h+mI 2-= h+mm+h
(22)
Therefore, UMACE
is the solution to the following optimization function
h +mm+h
J(h)
(23)
h+Dh
where D is average power spectrum of the training images as defined previously and m is the
Fourier transform of the average training image. Takingthe derivative of J(h) with respect to h to
find solution vector h for the UMACE
filter
OY( h
Oh
--
2h + Dhmm+
h - 2h +mm+hDh
-0
I h+Dh12
h + Dhmm+
h
h +mm+
h + Dh
h+Dh
h+Dh
=0
(24)
= rnm+h - J(h)Dh =
21
This forms the eigenvalue / eigenvector equation
mrn~-h = 2-Dh
where 2.= J(h).
Since we are maximizing J(h),
we
(25)
solve Eq.(25) to find the eigenvector that
correspondsto the largest eigenvalue/1max"
Since rnm+ in Eq.(25) is an outer product matrix of rank one, there is only one nonzero
eigenvalue / eigenvector solution to the equation. This results in a closed form solution for the
UMACE
filter
as
h = ~ D-’m
(26)
and since --is a scalar value that only scales the UMACE
filter,
the resulting UMACE
filter
vector is
h = D--lrn
(27)
As shown,UMACE
filter is not computationally intensive, especially since D is diagonal thus the
inverse is trivial
to obtain. Both MACE
and UMACE
filters
yield sharp correlation peaks while
minimizing the average correlation energy. The difference is that the MACE
filter
outputs
constrained values at the origin while the UMACE
filter can output different values at the origin
for the sametraining images. Weshowin the later section the figure of merit used is the peak
sharpness and not the peak height itself.
The peak sharpness obtained by both methods is
relatively similar even thoughthe peak height is different, thus wecan use UMACE
filter.
4.3
Noise-Tolerant Correlation Filter
Dueto MACE
filter’s tendencyto amplifyhigh spatial frequencies, it will amplify noise in the
input imageas well. Tohandlethis issue, noise-tolerant correlationfilters wereintroduced[11].
22
Assumingthat imagescontain zero mean, additive, stationary noise, the output noise variance can
be written as:
0-2 = h:rCh
(28)
WhereC is a diagonal matrix whosediagonal elements C(k,k) represent the noise power spectral
density at frequency k. By minimizingthe Eq. (28) and subjecting the samelinear constraints
Eq. (20), we get the following closed form equation:
h
=
C-1X(X+CMX)
(29)
I/g
In most applications, the noise power spectral density is unknown,so we assumea white noise
model, i.e. C=I. However,it maybe possible to customize this model to specific cameranoise
modelsthrough empirical estimation.
4.4
Optimal Tradeoff Synthetic Discriminant Function (OTSDF)Filter
Minimizinga combinationof the AverageCorrelation Energy(ACE)(for peak sharpness) and
Output Noise Variance (ONV)which are both quadratic terms we can obtain the following
optimaltrade-offfilter [ 12]:
h=T-JX(X+T
(30)
Where
T =c~D+~/i-o~2C
,0< ~ < 1
(31)
Andby varying c~, we can tradeoff betweennoise tolerance and discrimination.
4.5
Unconstrained
UOTSDF(OTSDF) Filter
In a similar fashion, by also adding noise tolerance to the UMACE
filter,
we obtain the
UnconstrainedOptimalTradeoff Correlation Filters (UOTSDF)
shownbelow:
23
h = (c~D+ ~/~- ~2 C)-~
This is the filter
(32)
choice for our PDAsystem. The camera we are using for the PDAcan only
capture 320x240 pixel frames, and the camera exposure feature performs erratically
sometimes. Moreover, due to the PDA’s portable
nature,
we have to consider all the possible
environments that the user can be in which will make the input images susceptible
low-light
conditions.
complexity that
filter
Thus the UOTSDFfilter
alleviates
equations.
to noise at
is optimal choice as well due to its
the need to invert
Thus UOTSDFminimizes
and poorly
a Gram matrix present
reduced
in the MACEand OTSDF
the amount of computation
requirements
when
implementing it on the PDA.
4.6
Maximum Average
Another correlation
(MACH)Filter
filter
Correlation
Height
that we can consider
[13]. This filter
(MACH) Filter
is the MaximumAverage Correlation
aims at achieving good generalization.
Height
It attempts to produce
correlation output that is similar for all the training images from the same class by minimizing the
following average squared error:
1 ~v
J(s) =-~ .~, :~ ~, ~, ci(x, y)-s(x,
2
(33)
)
Where s(x,y) is the desired correlation output. Minimizing Eq. (36) we get:
1
Whichis basically the average of all correlation outputs for that class.
Having this result,
we define the average similarity
metric (ASM)that is optimized in order
achieve distortion tolerance:
1 N
ASM =--~.~,..~
2
~r ci(x,y)-7(x,y)
(35)
24
In the frequency domain,
ASM =
h+(F~ -M)(F,
(36)
-M)*h
Where F~ is a diagonal matrix of dimensions dxd with Fi(u,v) elements along its diagonal
containing the 2D-Fourier transform of the i th training image. Mis a diagonal matrix as well
with the average 2D-Fouriertransform of the training imagesalong its diagonal.
Hence, the ASM
metric in Eq. (36) can be simplified to be:
ASM = h÷ Sh
(37)
Where
S=-~ 1 i~: ~: (F~-M)(5-M)*
Other than minimizing ASM,MACH
also maximizes the average co.elation
(3~)
peak height (ACH)
defined below:
ACH= ~ h+x : h+m.:
filter
With these two put into consideration, the MACH
(39)
optimizes the following objective
function:
J(h)
ACH 2 h+mm+h
ASM
h+Sh
(4(.))
Andthe solution of h gives the following MACH
equation:
h = S ~m
(41)
Also, by including the output noise variance (ONV)term in Eq. (40), weobtain the noise-tolerant
MACH
filter
as shown:
h=(aS+ flC)
(42)
Where~ and /~ are selected to trade-off between ASMand ONV.
25
In our system, we are interested to see which noise-tolerant filter,
namelyUOTSDF
or MACH.
is
suitable for our implementation(see Section 6.2).
4.7 Peak-to-Sidelobe
Ratio (PSR)
Typically pattern matchingusing correlation filters is based on the value of the largest correlation
peak. However,this value is sensitive to illunfination changes in the input image. This can be a
serious issue as we can expect our face recognition system to operate in variable illumination
conditions frequently due to its mobile nature, i.e., it is essential that a user can authenticate
themselvesto gain access to their data at any time and location regardless of lighting conditions
Therefore, to reduce this dependencyon illumination levels, weemploythe peak-to-sidelobe ratio
(PSR) as shownbelow:
PSR = peak - mean
(43)
In Figure 8 we showthat we use 2 masks centered around the peak. The annular region between
the two masks determines the sidelobe region. The figure below shows the PSRcalculation. By
using more than one correlation peak to computea match score enhances the confidence of the
systemas it uses multiple correlation points to calculate this single matchscore (PSR).
sidelobe region
peak
5x5 mask
Figure8. Regionfor estimatingthe peak-to-sideloberatio (PSR)
26
4.8
Peak-to-Correlation
Energy (PCE)
Anothertypical performancemeasureused for correlation filters is the peak-to-correlation energy
(PCE). It also measurespeak sharpness using the following equation:
PCE =
c(0’0)[2
(44)
~f ~c(x, y) 2dxdy
Wherec(O,O) is the correlation peak and the denominatorterm is the energy in the correlation
plane. PCEis sometimespreferred becauseit gives analytically tractable optimizations.
27
Chapter 5
Improving Performance and Speed
5.1 Fixed Point Fast Fourier Transform (fixed-point
FFT)
The biggest bottleneck to our system’s performance will be the computationally intensive
evaluation of the 2-D Fast Fourier Transform (FFT) of images. Weneed to computeFVFs not
only for the filter design but also for computingcorrelations fast. WeimplementedC code [14]
that was specially designed to perform 1-D FFTat a very fast speed in AdvancedRISCMachine
(ARM)processors and our Intel PXA270
processor in the Dell AximxS0v belongs to this family.
Specifically, the code features radix 4/5 complexfixed point in-place FFTroutines. Thecore code
is written in a format such that a C-compiler for ARM
can translate each line into a single
instruction, with optimal scheduling for ARM.It is optimized to makemaximum
use of the full
ARM
register set so as to minimizethe cycle time used for ’load’ and ’store’ operations. In our
case, the scheduling is smartly tuned by Microsofl’s EmbeddedVisual C++for our processor,
allowing the FIT code to run efficiently.
digitally
The FFTis an efficient
algorithm for computing
the N-point Discrete Fourier Transform. (DFT) [15]. The DI~Tof a finite length
sequenceof length N is
N-I
X[k] =~_.,xtnlW
..... N*",
k = 0,1...... N-1
(45)
Where
(46)
WN -j
: (2~/N)
e
Andthe inverse DFT(IDFT) is given
1 N-I
kn
xfn]
, = --~Zk o X [klW~
k = 0,1...... N- 1
(47)
28
The goal in FFTis to exploit the symmetryand periodicity properties of Wx to reduce the
amountof computation. Radix-2 FFTis usually used since it can be applied to any DFTof size N
that is the powerof 2 However,dependingon the size of the DET,if it is of a powerthat is higher
than 2 ( i.e. N = v) t hen using r adix-4 i s more e fficient c omputationally. L et u s s ee t he
derivation of the radix-4 decimationin frequency FFTalgorithm [16].
X[k] = ~
n=0
N/4-1
N/2 I
3N/4-1
n=0
n=N/4
n=N/2
Z x nlwn+
N-1
+Z
Z
n=3N/4
(48)
Fromdefinitions of twiddle factor,
WNkN/ 4
= (_j)k,,,WUkN=/ 2(--1) ~,’’NW 3kN/
4
= (j)k
(49)
Thus,
~v/4-1
I-
N
x[n + ~1 + (j)~ x[n 3N.~. ,,,~
Where
X[4k]=
4
N
N
3N.~. 0~ x[n]+x[n+7]+x[n+7]+x[l,+T]~W~WN,
N/4-1~
n=O
n=O
X[4k
3]=
~ ~x[n]+
jx[n
7]-
-
29
Note that the input of each N/4-point DFTis a linear combinationof 4 signal samples scaled by a
twiddle factor. This procedureis repeated only v times, wherev = log4 N as comparedto that for
radix-2 FFT, wherev = log_~ N.
Since radix-4 FFTrequires less computation and is relatively simple to implement, we’, will
standardize and use FFTsof size 43 = 64 for our system, using the given radix-4 butterfly designs,
shownin Figure 9.
0
q
¯ , O
Figure9. (a) ButterflyComputation
for radix-4FFT(b) Simplified
Thus our FFT design will consist of 3 stages, where radix-4 butterfly
operations will be
performedbetween each stage. For each stage, since 4 input levels give the same output levels,
wehave N input registers for a stage and N output registers for the samestage. So we only need
one bankof N registers, whichresults in low storage and the option of doing in-place calculations,
i.e. using the sameregister for input and output.
30
Our choice for using radix-4 FFTscan be further justified in table 2 [16]. It is shownthat the
numberof multiplications and additions required for FFTsof size 64 using radix-4 is less than
that for the samesized FFTusing radix-2.
16
32
64
128
256
512
1024
24
88
264
72
1800
4360
10248
20
208
2O4
1392
3204
7856
20
68
196
516
1284
3076
7172
152
4O8
1032
2054
5896
13566
30728
148
976
972
5488
12420
28336
148
388
964
2308
5380
12292
27652
Table2. Number
of nontrivial multiplications andadditions to computean N-pointFFT
Finally we further modifiedthe radix-4 FFTalgorithm implementationso that it uses Fixed Point
arithmetic.
As mentioned before, our Intel PXA270processor lacks an FPUthat can do fast
floating point calculations. In our processor, floating point data types are emulated and add a
significant amountof overheadclock cycles (at least to an order of magnitudeslower in speed as
shownin our experiments). Therefore, the use of fixed point data types is attractive in this case
even though it adds some complexity as well as possibility
of overflow events. This will be
discussed further in detail (see Section 5.2) since Fixed Point Arithmeticis used regularly in other
componentsof the system other than FFT.
Oncehaving optimized I-D FFTcode, it is trivial
to use that to perform 2-D FFTon the face
images. The steps are as follows. Since our imageis a matrix of size 64 x 64, first weperform64point 1D-FFTson each row, then we perform 64-point I D-FFTson each column of the result,
and this final array will be our 2-D FFTof our face image. The operation is similar for the 2-D
IFFToperation also.
31
5.2 Fixed Point Arithmetic
Since the Intel PXA270
processor is an integer processor, all floating point operations have to be
emulated using integer arithmetic. This conversion is often very slow so we use fixed point
arithmetic [17] instead of floating point to increase the performanceof the algorithms used in our
system.
Fractional quantities can be approximatedusing a pair of integers (n,e), namelythe mantissa and
the exponent. Thefraction F is represented as
-~"
F= n2
(52)
If e is a variable quantity and unknown
at compiletime then (n,e) is a floating point number.If
is knownin advance at compile time then (n,e) is a fixed point number.Fixed point numberscan
be stored in standard integer registers by storing the mantissa.
However,fixed point arithmetic has a problem with regards to range and precision. Dependingon
the operation, the fraction can overflowor underflow. Therefore, we have to observe the range in
whichthe fraction variables in the system fluctuate, and determine the appropriate e to use for
each variable. Althoughit is a tedious task, wemanagedto increase the performancefor every
algorithmused at least by a factor of two.
5.3
Optimization results
To see the improvementin speed, we comparethe time taken to perform I D FFTs using fixed
point arithmetic and floating point arithmetic on the ARM
processor.
32
Table3. Comparison
of time taken for FFTsbetweenFloating Point andFixed Point Arithmetic
28000 ms = 28 sec
9000ms= 9 sec
21.88 ms
7.03 ms
Fromthe results, wecan see that there is a significant increase in speed of approximatelya factor
of 3 whenwe use fixed point implementation. The next important feature we have to look at is
the accuracy of using fixed point arithmetic. Weperform a 2D FFTon a 64x64 complexmatrix
using fixed point data and comparethe result to Matlab’s 2D FFTresult of the same 2D array.
The meansquared error betweenthe two arrays is 8x10-7, whichis very small, verifying that the
fixed exponent values weused are adequate to provide accurate fixed point approximations.
Figure10. Facebeingdetected
33
5.4 Face Detection
Face detection is a necessity whenit comesto developing a real time face recognition system.
This provides us with real-time automatic extraction of the face image, whichis essential for our
system due to its need for "on-the-spot" verifications. In order to achieve a fast and efficient
recognition system on a limited platform such as the PDA,we require the use of a rapid face
detection algorithm, and so we employthe one introduced by Viola-Jones [ 18].
Similar to the work of Papageorgiou et al. [19], Viola-Jones’ detection system uses a set of
features whichare reminiscent of Haar basis functions. Andin order to computethese features at
a rapid speed at manyscales, it uses a newimagerepresentation called "integral image".
Theintegral imageat point (x,y) is the sumof the pixels aboveand to the left of (x,y), inclusive:
ii(x,
y) = Z i(x;,
(53)
Whereii(x,y) is the integral imageand i(x,y) is the original image. Andusing the followingpair of
recurrence equations:
s(x, y) = s(x, y 1)+ i(x, y)
154)
ii(x, y) = ii(x - 1, y) + s(x, y)
(55)
Wheres(x,y) is the cumulative row sum, the integral image can be computedwith just one pass
over the original image.
Integral imageis actually closely related to "summed
area tables" as used in graphics [20], but a
different nameis used by Viola-Jones in order to emphasizeits use for the analysis of images,
rather than texture mapping. Another approach that Viola-Jones used to enhance the speed for
face detection is to use a variant of AdaBoost[21] for training the classifiers.
AdaBoostis a
learning algorithm that boosts the classification performanceof a simple learning algorithm. It
combinesa collection of weakclassification functions to form a stronger classifier.
It can be
34
considered as a greedy feature selection process. The resulting classifier
is computationally
efficient, since only a small numberof features need to be evaluated during mntime.
The last important feature of Viola-Jones’ detector is the use of an algorithm for constructing a
cascade of classifiers
which achieves increased detection
performance while reducing
computationtime. The key idea is that smaller boosted classifiers can be constructed whichreject
manyof the negative sub-windows,while detecting almost all the positive instances. Simpler
classifiers
are used to reject the majority of sub-windowsbefore more complexclassifiers
used to achieve low false positive rates. Cascade stages are built by training classifiers
are
using
AdaBoost.The overall form of the detection is that of a degenerate decision tree, whichis called
a "cascade" [22]. A positive result from the first classifier triggers the evaluation of a second
classifier whichhas also been adjusted to achieve very high detection rates. A negative outcome
at any point leads to the immediaterejection of the sub-window.
Withthese three important features, Viola-Jones’ detector is able to minimizecomputationtime
while achieving high detection accuracy. Evaluated on the MIT+CMU
test set, Viola-Jones’
detector is performs very well competingwith the other two very famous face detectors; namely
the Rowley-Baluja-Kanade
detector [23] and the Schneiderman-Kanade
detector [24]. Hence, it is
a viable face detector for our system given its fast implementation.
With regards to using the same fixed point computation on our face detection algorithm
[18], the table belowshowsthat the overall performancehas increased approximatelya factor of
2 as well.
Table4. Comparison
of timetakenfor face detectionbetweenFloatingPoint andFixedPoint
Arithmetic
130000 ms = 130 sec
60000 ms = 60 sec
1300 ms= 1.3 sec
600 ms= 0.6 sec
35
5.5 Online Training Scheme given a Video Sequence
Since our PDAsystem is portable, it is only sensible for us to include a real time enrollment
system so that wecan synthesize correlation filters on-the-fly as the user simply looks into the
camera and maybemovesthe PDAaround. An advantage that correlation filters
has is that they
can synthesize a single filter template from multiple training images. Therefore, whenthe PDA
system is given a video-stream of face images from the authentic person, filters can be created
based on every video frame captured. Savvides [25] introduced an online-training algorithm for
advancedcorrelation filters based on this idea. Theflow graph is given on the next page.
Thekey idea is this: first webuild a filter froma few images,then cross-correlate the next frame
with the synthesized filter. If the PSRresult is smaller than somethreshold 01, weinclude it in
the current training set and re-synthesize the current filter. Everytime wedo this, weneed to test
the quality of the filter by cross-correlating the filter with the current training set, and makesure
no PSRresult is smaller than the minimum
threshold 0~_. If so, it meansthat the filter has reached
its maximum
capacity and westart building a newfilter based on the same procedure.
Correlation filters still face a challenge in pose changes, as they capture the relative geometrical
structure of the facial features while ignoring the lower spatial frequencies. In order for the filters
to better handle pose changes, it is necessary for the expected pose changes to be shownas
examples during the online enrolment. Scale changes (i.e. the user moveshis face towards and
awayfrom the camera) are one of such pose changes and other examples can be madeby the user
simply movingthe PDAaround during the enrollment process.
36
~itia liz e F ilte rs F [n~/~
~
n=l,
i=1
Cross-Correlate
M with
all Filters[1
..n] and
com pute M axPS R.
Include
M in current
training
set.
T raining_S et[i]=
M
i= i+ 1
Build current
Filter
F[n]
using im ages from
T raining_S et[1 ..i]
Cross-Correlate
current
Filter
F[n] with all i
im ages in
Training_S et[1 ..i]
and
com pute M inPS R.
Create
Empty
New Filter.
n=n+l
Training
Set.
i=1
Figure11. Flowdiagram
of the online-trainingalgorithmfor synthesizingcorrelationfilters
37
Chapter 6
Selecting a Suitable Correlation Filter
6.1
PDA Face Database
Our face database has 12 individuals, each having 10 face imagesfor training and another 10 face
images for testing collected using the PDA.Every image contains pose changes, expression
variations as well as illumination variations. These differences are moreapparent in the testing
images compared to the training images. Since our portable system will be facing variable
environmentconditions frequently, it is necessary for us to perform experiments that simulate
similar variations, thus no additional face normalizationwas done (i.e. we did not manuallyalign
the faces based on hand-picked eye-locations): The imagesused in the evaluation are exactly as
those automatically detected using the PDA’sface detecting module[18] and then automatically
normalized and saved as 64x64pixel sized images.
Figure12. TrainingSet of 10thPerson
38
6.2
Face Identification
Experiment
Using the PDAface database
that
is collected
implemented on the PDA, we trained
from Viola-Jones’
detector
OTSDF, UOTSDFand MACH
filters
[18] which was
mentioned in chapter
3 using the online training method (see Section 5.51). These particular types of filters
because they are known to be noise and distortion-tolerant,
evaluated
on the challenging
OTSDFfilters,
trade-off filter
PDAface database
are chosen
which will be important
we have collected.
when
For the UOTSDFand
the c~ parameter is chosen at different values to obtain the optimumnoise-tolerant
that can be used for face identification.
The table below shows the identification
rate of each implementation:
Table 5. Identification Rate for filter implementations
100%
1 OO%
100%
93.33%
1 OO%
100%
99.17%
99.17%
44.17%
From Table 5, it clearly
shows that
UOTSDFand OTSDFexcel in performance
MACH,given that the database images contain illumination,
Therefore, it shows that UOTSDF
and OTSDFfilters
makes them suitable
candidates
expression
are tolerant
compared to
and pose variations.
to these variations,
for our PDA face recognition
and this
system with regards
to
identification.
6.3
Face Verification
Experiment
Similar to Section 6.2, we train
OTSDF,UOTSDFand MACH
filters
to evaluate their performance based on the PDAface database. Firstly,
and plot their
ROCcurves
we evaluate to see which ct
parameter value produces optimal UOTSDFand OTSDFfilters.
39
~.T~, Filter
O alptna = 0 9E99
-- alpha = 0 999
× alpha = 0 99
-- -- alpha= o_.,o
02
0
02
08
0_4
06
Probability of False Acceptance
1
Figure 13. OTSDF
Filter ROCcurves for different ~t values
UOTSDF
Fiiter ROCs
C, alpha = 0 9999
-- alpha = 0 999
× alpha = 0 99
-- -- alpha = 0 9
0~
0
02
~
0~
Probabilit,>,of False,~.cce~tance
08
1
Figure 14. UOTSDF
Filter ROCcurves for different ~t values
4O
For both filters,
we can easily see that ct = 0.999 is the optimumvalue to use, with an Equal Error
Rate (EER) of 7.5% each. Since UOTSDFand OTSDFhave similar
we compare just the OTSDFfilter,
obtained when correlating
with ~ = 0.999 with the MACH
filter.
both filters
with the testing
correlation
outputs), we compare to see how well each filter
impostors.
By comparing the results
for class
separation between the authentic (indicated
the OTSDFfilter,
ROCcurves for each c~ value,
Based on the results
we
set (12 people x 10 images = 120
discriminates the authentic from the
3, we can observe a much clearer
margin of
by dashed lines) and the 11 other imposters PSRs for
as shown in Figure 15, than for the MACH
filter,
as shown in Figure 16.
PSRPe#ormance
for Class 3 using OTSDF
(alpha = 0,999
20
18
16
14.
12
10
8
6
Figure 15. PSRplot obtained from cross-correlating person 3’s OTSDF
filter with database
Wecan easily pick a threshold between 8 and 12 to discriminate between the authentic and the
imposters for the OTSDF
case. In the MACH
case, there is no margin of separation at all for the
results of the same person. Evidently, OTSDF
filter is the better alternative for our system than
the MACH
filter.
The comparison of their ROCcurves to better show their differences is shown
in Figure 17.
41
Figure 16. PCEplot obtained by cross-correlating person 3’s MACH
filter with database
PDA ROCs
08
’:->otsdf
a=¢l __,oo
,,
.......... otsdf a=09
...........
MACH
02
0
02
0.8
04
06
Prob:ability of False ~.cceptanc,~
Figure 17. ROCcurves comparison between OTSDF
filter
1
and MACH
filter
42
As shown,the MACH
filter’s
performanceis significantly poorer than the OTSDF
filter.
It has an
EERof 25.5% comparedto OTSDF’sEERof 7.5%. In very secure systems we typically want the
False Acceptance Rate (FAR) to be 0%, so we measure the False Rejection Rate (FRR) which
essentially gives a measure of the verification rate (100%- FRR)i.e. whenno impostors can get
in the system. In that case, the OTSDF
filter built with a = 0.999, its verification rate is 78.3%@
0%FAR,a good result considering the different pose, expression and lighting variations we
introduced into the PDAface database. Therefore, OTSDF
and UOTSDF
are the best choices for
our PDAface recognition system.
43
Chapter 7
Conclusion
Our PDAface recognition system has been successfully implementedto work in real-time on a
PDAand it performs remarkably well given its limited computation power and memoryresources.
The UOTSDF
filter
[12] is one of the most important components of the system; as it is
computationally efficient and at the same time it yields accurate verification and identification
results. In addition, the modified Viola-Jones rapid face detector [18] has madethe PDAsystem
real-time feasible. Furthermoreusing fixed-point arithmetic [17] enhancesthe speed of the entire
system even further by makingall componentsfixed-point. Our software solution for the PDA
platform has allowed it to be flexible enoughto be implementedin any handheld device that can
accommodatethe chosen camera. In the future we will examineto develop this system to operate
on a cell-phone platform as well as integrate wireless authentication via 802.1 lb and Bluetooth
protocols.
44
Bibliography
[1] Poh N., Bengio S. and KorczakJ. "A multi-sample multi-source model for biometric authentication"
Neural Networksfor Signal Processing, 2002
[2] Intel Corporation. "Intel PXA270Processor for EmbeddedComputing Technical Documents"
httI~.//intel.com/design/embeddedt)ca/products/l~xa270/techdocs.hm~2004
[3] M. A. Turk and A. P. Pentland, "Face recognition using eigenfaces," ComputerVision and Pattern
Recognition, 1991.
[4] T. Chert, Y. J. Hsu, X. Liu, and W. Zhang, "Principle component analysis and its variants for
biometrics," ImageProcessing. 2002.
[5] Peter N. Belhumeur, Joao P. Hespanha and David J. Kriegman. "Eigenfaces vs. Fisherfaces:
Recognition Using Class Specific Linear Projection", IEEE Transactions on Pattern AnaO,sis and
MachineIntellgence, vol. 19., No. 7, July 1997
[6] M. Savvides, B.V.K. Vijaya Kumarand P.K. Khosla, "Robust, Shift-Invariant Biometric Identification
from Partial Face Images", SPIE Defense &Securi O, Synposium, Biometric Technologies for Human
Identification (OR51)2004.
[7] M. Savvides and B. V. K. Vijaya Kumar"Quad Phase MinimumAverage Correlation Energy Filters
for ReducedMemoryIllumination Tolerant Face Authentication" Audio and Visual Biometrics based
Person Authentication (A VBPA),Surrey, U.K. 2003
[8] T. Sim, S. Baker, and M. Bsat, "The CMUPose, Illumination. and Expression (PIE) database
humanfaces." The Robotics Institute, Carnegie MellonUniversity, 2001.
variance synthetic discriminant functions." J.Opt.Soc.Am., vol. A 3,
[9] B.V.K. Vijaya Kumar,"Minimum
pp. 1579-1584,1986.
[10]B. V. K. Vijaya Kumar, A. Mahalanobis, S.R.F. Sims, J.F. Epperson, "Unconstrained correlation
filters," AppliedOptics, vol. 33, pp. 3751-3759,1994.
[1 lIP. E. H. R. O. Duda,D.G.Stork, Pattern Classification (2~a Edition)
[12] Savvides M. "Reduced Complexity Face Recognition using AdvancedCorrelation Filters and Fourier
Subspace Methods for Biometric Applications" PhDThesis, Department of Electrical and Computer
Engineering, Carnegie Mellon UniversiO,, 2004
variance synthetic discriminant functions," J. Opt.Soc.Am.,vol. A 3,
[13] B. V. K. Vijaya Kumar,"Minimum
pp. 1579-1584, 1986.
[ 14] Jan-DerkB akker. "Fast Fourier TransformIbr ARM"
http://www,lart. tudel~, nl/projects/.fi[~-arm/, 2001
[15] Alan V. Oppenheim,Ronald W. Schafer with John R. Buck. "Discrete-Time Signal Processing" 1999
Ja-Ling
Wu.
"Fast
Fourier
Transform"
http://www.cmlab.csie.ntu.cdu.tw/
[16] Dr
cml/dsp/training/coding/transtorm/fft.html
[17]Advanced RISCMachines Ltd (ARM)."Fixed Point Arithmetic on the ARM"11996
[18] Paul Viola, Michael J. Jones, "Robust Real-time Object Detection", CambridgeResearchLaboratories,
CRL 2001/01
[19]C. Papageorgiou, M. Oren, and T. Poggio. "A general framework for object detection." In
International Conference on ComputerVision, 1998
[20]F. Crow. "Summedarea tables for texture mapping." In Proceedings of SIGGRAPH,
volume 18(30,
pages 207-212, 1984
[21] Yoav Freund and Robert E. Schapire. "A decision-theoretic generalization of online learning and an
application to boosting". In Computational Learning Theo~: Eurocolt ’95, pages 23-37, SpringerVerlag, 1995.
[22]J. Quinlan. "Induction of decision trees". MachineLearning, 1:81-106, 1986.
[23]H. Rowley, S. Baluja, and T. Kanade. "Neural network-based face detection". In IEEE Patt. Anal.
Mach.lntell., volume20, pages 22-38, 1998
[24] H. Schneidermanand T. Kanade. "A statistical methodfor 3D object detection applied to faces and
cars". In International Conferenceon ComputerVision, 2000.
[25]M. Savvides, B.V.K. VijayaKumar,P.K. Khosla, "Efficient boosting for synthesizing a minimally
compactreduced complexitycorrelation filter bank for biometric identification", Signals, Systems and
Computers, vol. 1, 2004
45