iris perturbation methods for improved recognition a thesis submitted … · 2018-12-02 · iris...
TRANSCRIPT
IRIS PERTURBATION METHODS FOR IMPROVED RECOGNITION
A Thesis
Submitted to the Graduate School
of the University of Notre Dame
in Partial Fulfillment of the Requirements
for the Degree of
Master of Science
in
Computer Science and Engineering
by
Joseph W.Thompson, III
Patrick J. Flynn, Director
Graduate Program in Computer Science and Engineering
Notre Dame, Indiana
March 2012
IRIS PERTURBATION METHODS FOR IMPROVED RECOGNITION
Abstract
by
Joseph W.Thompson, III
Perturbations of software provided circular segmentations are used to generate
multiple probe templates from a single image. The multiple probes are matched
against a gallery in order to improve the verification rate of the original algorithm.
Using too many of the generated probes will result in greatly increased running
times. As a result, various methods of finding and selecting perturbations to be
used are empirically examined. Using ROC analysis of the true accept rate (TAR)
at a given false accept rate of 0.001, many methods are discovered that perform
much better than the original algorithm, approximate the performance of using
every perturbation to less than 0.2%, and require between 500 to 1000 times less
time to verify a single image.
CONTENTS
FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
CHAPTER 1: INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Description of Biometric Systems . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Verification vs. Recognition . . . . . . . . . . . . . . . . . . . 21.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Using Iris Texture for Identification . . . . . . . . . . . . . . . 41.3 Hypothesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
CHAPTER 2: RELATED WORK . . . . . . . . . . . . . . . . . . . . . . . . 72.1 Segmentation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Perturbation of Segmentation/Normalization Parameters . . . . . . . 8
2.2.1 Facial Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.2 Iris Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
CHAPTER 3: BACKGROUND . . . . . . . . . . . . . . . . . . . . . . . . . 113.1 ROC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.1.2 Significance Testing . . . . . . . . . . . . . . . . . . . . . . . . 163.1.3 Calculating the Correlation Coefficient of Two Estimates . . . 183.1.4 ROC Use in Experiments . . . . . . . . . . . . . . . . . . . . . 18
CHAPTER 4: PERTURBATION EXPERIMENTS . . . . . . . . . . . . . . 204.1 Overview of the IrisBEE Recognition System . . . . . . . . . . . . . . 204.2 Experiment Context . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3 Data Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.4 Baseline Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.5 Introduction to Perturbations . . . . . . . . . . . . . . . . . . . . . . 22
4.5.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.5.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
ii
4.6 Revised Experiment Flow . . . . . . . . . . . . . . . . . . . . . . . . 254.7 Determining the Best Perturbation . . . . . . . . . . . . . . . . . . . 27
4.7.1 Minimum Score Method . . . . . . . . . . . . . . . . . . . . . 274.7.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.7.3 Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.8 Segmentation Perturbation Space Search Methods . . . . . . . . . . . 304.8.1 Description of Search Method . . . . . . . . . . . . . . . . . . 314.8.2 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.8.3 Defining Search Methods . . . . . . . . . . . . . . . . . . . . . 334.8.4 Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.8.5 Runtimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.8.6 Determining the Best Method . . . . . . . . . . . . . . . . . . 41
4.9 Performance Measurement . . . . . . . . . . . . . . . . . . . . . . . . 424.9.1 Quality of Approximation Metrics . . . . . . . . . . . . . . . . 424.9.2 ROC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.10 Analysis of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
CHAPTER 5: CONCLUDING REMARKS . . . . . . . . . . . . . . . . . . . 575.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
iii
FIGURES
1.1 The verification scenario for a biometric identification system . . . . . 2
1.2 The recognition system for a biometric identification system . . . . . 3
1.3 A diagram of the parts of the human eye pertaining to iris recognitionalong with image artifacts . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 A sample score histogram a) detailing the generation of a single pointon the ROC curve and the associated ROC curve b) with importantpoints marked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1 The original algorithm’s match and nonmatch histograms a) and theassociated ROC curve b). Error bars represent a 2σ (approximately95%) confidence interval . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 A diagram showing the segmentation parameters that determine theboundary circles of the pupil and limbus . . . . . . . . . . . . . . . . 24
4.3 An example perturbed segmentation. The original segmentation withassociated normalized image is shown to compare to the optimumsegmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.4 A flowchart of the minimum score method. All possible perturbationswithin the defined space are created and matched against the gallery.Then the minimum score is selected as the true match score. . . . . . 28
4.5 The score distributions a) and resulting ROC b) for the minimumscore method. The distributions and ROC for the original algorithm.Error bars represent a 2σ (approximately 95%) confidence interval . . 29
4.6 A flowchart of the subspace search methods. The search for the bestperturbation is restricted to a prune and search of a subspace of theoriginal perturbation space. Results from this search are used to alterrefine the subspace as all parameters are searched. . . . . . . . . . . . 32
4.7 Prune and search methods on the subspaces in one a), two b), andthree c) dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
iv
4.8 The approximation quality distributions for the 6D search method a)and the 2D2D(xp, xl)(yp)(yl, rl)(rp) method b). Note that the distri-bution of the better performer, 6D, has a mean closer to 1.0 . . . . . 43
4.9 The ROC curves a) of the 180 2D1D search methods compared to theoriginal method. There is very little overlap between the error barsof the ROC for the original algorithm and any of the perturbationsearch methods indicating all 2D1D search methods are significantlybetter than the original algorithm. A magnified view centered at FAR= 0.001 is shown in b). . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.10 The ROC curves a) of the 20 3D3D search methods compared to theoriginal method. There is very little overlap between error bars of theROCs for the original algorithm and any of the perturbation searchmethods indicating all 3D3D search methods are significantly betterthan the original algorithm. A magnified view centered at FAR =0.001 is shown in b). . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.11 The ROC curves a) of the 90 2D2D search methods compared to theoriginal method. There is very little overlap between the error barsof the ROC for the original algorithm and any of the perturbationsearch methods indicating all 2D2D search methods are significantlybetter than the original algorithm. A magnified view centered at FAR= 0.001 is shown in b). . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.12 The ROC curves a) of the 6D search method compared to the orig-inal method. There is very little overlap between the error bars ofthe ROC for the original algorithm and the 6D perturbation searchmethod indicating the 6D search method is significantly better thanthe original algorithm. A magnified view centered at FAR = 0.001 isshown in b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.13 The ROC curves of the best performing search methods. The curvesare nearly identical indicating that no significant performance differ-ence exists between the best search methods. . . . . . . . . . . . . . . 55
4.14 The true match score distributions of the best performing searchmethods. Note that the methods have similar performance with re-gards to shifting of the original score distribution. . . . . . . . . . . . 56
v
TABLES
3.1 DECISION PROCESS FOR ROC ANALYSIS . . . . . . . . . . . . 11
4.1 COMPARISON OF ORIGINAL ALGORITHM TO MINIMUM SCOREMETHOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 APPROXIMATION QUALITY FOR THE TEN BEST SEARCHMETHODS ACCORDING TO THE METRIC . . . . . . . . . . . . . 44
4.3 P-VALUES CALCULATED FROM T@F DIFFERENCES BETWEEN2D1D METHODS AND THE MINIMUM SCORE METHOD . . . . 45
4.4 P-VALUES CALCULATED FROM T@F DIFFERENCES BETWEEN3D3D METHODS AND THE MINIMUM SCORE METHOD . . . . 49
4.5 P-VALUES CALCULATED FROM T@F DIFFERENCES BETWEEN2D2D METHODS AND THE MINIMUM SCORE METHOD ANDTHE 6D METHOD AND MINIMUM SCORE METHOD . . . . . . . 50
4.6 COMPARISON OF THE BEST PERFORMING SEARCH METH-ODS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
vi
List of Algorithms
4.1 SearchSubspace : Prune and search method for searching a subspace . 344.2 Searching the Perturbation Space for the Best Perturbation . . . . . . 354.3 3D3D Search method . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.4 2D1D Search method . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.5 2D2D Search method . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.6 6D Search method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
vii
CHAPTER 1
INTRODUCTION
The viability of using an image of the texture of the human iris to identify in-
dividuals was conceived by Leonard Flom and Aran Safir in 1987 [10]. Iris texture
is a measurable quantity of an individual, a biometric. Biometrics may come from
many sources, facial images, fingerprints, speech recordings and even videos of ca-
sual gait. To be useful, a biometric must contain information that leads to the
unique identification of the individual. Flom et al. initially proposed the presence
of identifying information in iris texture, and others later confirmed this hypothesis.
In [6], Daugman measures 249 degrees of freedom in phase information of a set of
4258 iris images, a huge amount of variability. Because of this, iris recognition has
proven to be an effective method of identifying individuals.
1.1 Description of Biometric Systems
An identification system can only identify individuals for whom it has biometric
information. This information is usually acquired in an enrollment stage in which a
subject presents a biometric to the system. The biometric is combined with identity
information and stored in a template. Later, when the system attempts to identify
the individual, new biometric information will be compared to the template in order
to determine identity.
1
Figure 1.1. The verification scenario for a biometric identification system
1.1.1 Verification vs. Recognition
Biometric identification systems operate in one of two scenarios: verification or
recognition. In the verification scenario, an individual presents the system with
a claimed identity and a biometric. For iris recognition, a picture is taken of the
subject’s eye. The system then retrieves previously enrolled information pertaining
to the claimed identity and compares it to the newly acquired sample in a one-to-one
match. If the quality of the match is high enough, the subject is confirmed to be
the claimed individual. Otherwise, the identity claim is rejected.
In a recognition scenario, the system attempts to identify individuals without the
aid of a claimed identity. For example, if all people must enter a building through
a checkpoint, each person will present a biometric to the system. The system must
then compare this measurement against all previously enrolled information from
all individuals, a one-to-many comparison. After comparisons, an identity decision
must be made. The system assigns the identity from the best match or unknown
2
Figure 1.2. The recognition system for a biometric identification system
identity to the individual. In what is referred to as a closed system, the individual is
assumed to be present in the system’s database and an identity is always assigned.
In an open system, the system may decide that the individual is not in the database
of previously enrolled people and not assign an identity.
All experiments presented hereafter are operating in the verification scenario.
1.2 Applications
Using the iris texture as a biometric feature for identification is beneficial even
without considering its intrinsic variability. The eye is an internal organ that is
externally visible; images of it are easily acquired.. By comparison, fingerprints are
located on an external organ, the skin. These are much more susceptible to damage
or modification. Also, altering the physical iris texture would be incredibly risky
and risks damaging the vision of the individual. Thus, as long as the subject is not
wearing contact lenses, the iris texture presented to the system can be considered
to be completely authentic. Combining the high risk of alteration and the body’s
inherent protection of the eye, the iris is found to change little over the course of
3
a person’s life indicating that less frequent re-enrollments would be needed in any
system.
Iris recognition is currently used for identification purposes in border crossings for
citizens of the United Kingdom with the UK Iris Recognition Immigration System
(UKIRIS) [3]. In this system, the user is able to claim identity and then verify it
with an iris image acquired at the crossing. Once identity is established, passport
information is retrieved and the user is allowed to enter the country.
India is currently building the largest biometric database on Earth. The Unique
Identification Authority of India (UIDAI) is issuing a unique identification number
to every citizen that requests one [2]. This number is linked to the citizen through the
use of both face and iris recognition. Not only will this build the largest database of
iris images to date, but it will also continue to generate data as verification of identity
through biometrics will be necessary to receive any benefits from the government.
1.2.1 Using Iris Texture for Identification
The majority of iris recognition systems are composed of three separate phases.
• In the first step, segmentation, the parts of the image containing the iris, theannular region between the pupil and the sclera, are found and demarcated.This entails finding the limbus and pupil boundary along with masking anyocclusion that may be present due to eyelids, eyelashes, or specular highlights.These parts of the eye are shown in Figure 1.3.
• Once the iris is found, it is usually normalized into a rectangular image as thisis a more convenient shape for application of different filters. After the imageis normalized, features are extracted and a template representing the image isgenerated. The transformation from the annulus to rectangle, along with thefeature extraction, is referred to as the normalization step.
• Finally, matching attempts to classify pairs of images into one of two classes,match and nonmatch.
As the normalization and matching phases of a recognition system rely upon
output from the segmentation step, a good segmentation algorithm is a critical
component of the overall system. If there is error or failure at this step, it is
4
Figure 1.3. A diagram of the parts of the human eye pertaining to iris recognitionalong with image artifacts
5
propagated throughout the rest of the system and performance degrades. If the
segmentation phase of a system is replaced with a better one, overall performance
of the recognition system would be expected to improve.
1.3 Hypothesis
Because the generated iris template is determined by the segmentation, different
(even minutely different) segmentations for a single image will result in the creation
of two different normalized images. While being very similar, the templates created
from these images will not be identical matches because each contains slightly differ-
ent information. As a result, it is possible to create multiple templates representing
different information from a single image. If each of the segmentations used to create
the templates appears to approximate the boundaries of the iris equally well, then
it is not obvious which of the templates best represents the image. Because multiple
templates generated from a single image may be considered accurate representations
of the iris, it is not clear which should be used for matching. This work proposes
that using multiple different segmentations to generate multiple probe templates
from a single image can benefit the matching algorithm. These probes are then
matched against a pre-enrolled gallery and the resulting match scores may be used
to improve verification performance.
1.4 Outline
Related work is presented in Chapter 2. Chapter 3 introduces receiver operating
characteristic (ROC) analysis and details statistical testing within that framework.
The experiments are explained and results are shown in Chapter 4. Finally, con-
cluding remarks are made in Chapter 5.
6
CHAPTER 2
RELATED WORK
This thesis proposes improvement of an iris recognition algorithm through the
perturbation of automated segmentations of probe images. Thus, an overview of
various segmentation methods would be beneficial to the understanding of this pro-
cess.
2.1 Segmentation Methods
For iris images acquired when the subject is level with the sensor and looking
directly at it, the boundaries of the limbus and pupil are well approximated by
circles. Daugman originally proposed an integro-differential operator (IDO) [7] to
determine the circular boundaries of the pupil and limbus. The IDO looks at all
possible circles and chooses the best boundary circle. The quality of a boundary
circle is determined by the integral of the gradient in the radial direction along
the path of the circle. The operator is run once to find the pupil boundary and a
second time to find the limbus boundary. Wildes et al. [23] proposed using a Hough
circle detector on an edge detected image to attempt to localize the iris. Masek [14]
provided a widely used implementation of this algorithm in Matlab. This work was
later extended in Liu et al. [13] in the IrisBEE recognition system. Since the Liu
system was first developed in 2005, it has been rewritten and modified for use in
these experiments.
7
If the iris images are obtained with the subject not gazing directly at the sensor,
circles fail to accurately approximate the boundaries of the pupil and limbus. In
these cases, ellipses are much better approximations of the actual boundaries. Zuo
et al. [26] determine the elliptical boundary of the pupil by first determining the
best pupil candidate boundary with a Hough circle detector and then refine the
circular boundary into an ellipse using contour fitting techniques. Smereka [20] also
presents a method of refining a circular pupil detection from a Hough transform into
an elliptical contour.
Realizing that neither circles nor ellipses perfectly represent the pupil and limbus
boundaries in any iris, researchers have developed a new method that attempts to fit
deformable contours, called active contours [4] [12], to the iris boundaries. Daugman
presents the benefits of such a segmentation in [8]. The active contour snakes model
[12], when working as intended, has the power to mark the boundaries better than
any other method. This increase in performance, however, comes at the cost of
much greater computational complexity.
2.2 Perturbation of Segmentation/Normalization Parameters
The word perturbation has two related, but slightly different, meanings in the
field of biometrics. Some work, views perturbations as a deviation from a perfect
model, in effect noise, that must be accounted for in order to improve matching
performance. In [25] Yoruk et al., the choice of distance metric used in a hand
recognition algorithm is directly influenced by the ability to deal with real world
pose perturbations.
Carrasco et al. also view perturbations as any noise that will occur later in
acquired data for face and voice recognition [5]. They attempt to artificially add
perturbations to the training data for the recognition algorithms. These perturba-
8
tions are added in the form of various noise and the recognition algorithms are run
in a standard way after this step.
The other view of perturbations is that of a tool to correct for imperfections
in a recognition algorithm. Because there are many points in a biometric system
where imperfections may be introduced, image acquisition, preprocessing, or feature
extraction for example, perturbations of probe data can be used to generate multiple
probes for analysis in a recognition system. This has the effect of moving the problem
of initially accounting for every kind of expected perturbation in the development
phase of a recognition system to problem of how to generate probe templates. This
has been shown to be successful in both the face and iris recognition fields.
2.2.1 Facial Domain
Work was initially done in the facial domain to attempt to determine impor-
tance of eye localization in face recognition algorithms. By perturbing correct eye
locations, Riopka et al. [17], noted that performance of all types of features were
negatively impacted if there were any errors in the localization of the eyes. This is
because the location of the eyes determines the angle of the head and has informa-
tion about the scale of the face. In most algorithms, the face image is normalized to
a predetermined orientation and scale using this information. Much like the local-
ization of the pupil and limbus boundaries, if the location of the eyes are incorrect,
the rest of the algorithm is likely to fail.
This work was continued in Min et al. [15] where eye locations returned by an
automatic localizer were perturbed to create multiple probe templates from a single
image. These probes were then matched to the gallery and score fusion was used to
improve performance with regard to the original localizations.
Riopka et al. also realized the performance enhancement potential in using
9
multiple probes generated by perturbing the original image. In [18], they analyze the
match scores returned by matching a probe against a gallery in order to determine if
it is likely there was a normalization error. If a normalization error likely occurred,
the probe image is perturbed, and the process is repeated.
A Perturbation Space Method is used by NEC’s face recognition software [11].
Imaoka et al. claim the method develops a shape model and various illumination
models given a single input image. These models are then used to perturb the
original image into different poses and illuminations. Features are extracted from
these probes and projected onto a feature space for matching.
2.2.2 Iris Domain
In what was claimed to be the first work dealing with perturbations of iris seg-
mentations to improve recognition performance, Thompson et al. [22] used pertur-
bations of the boundaries returned by an automatic segmentation program. Using
an optimal data set with no eyelid or eyelash occlusion, a large performance increase
was realized. This indicated that perturbing the iris segmentations was a possible
option for performance improvement even in non-ideal images. However, that work
was only a proof of concept and was infeasible in practice. Because every possi-
ble segmentation was considered for each match, the execution time was about 105
times greater than a single match and therefore cannot be used in any reasonable
verification scenario.
The work presented here is an extension of the earlier work in [22]. In these
experiments, a system is proposed that drastically reduces the running time to a
reasonable amount and attempts to show that this method also improves recognition
of non-ideal iris images.
10
CHAPTER 3
BACKGROUND
3.1 ROC Analysis
Receiver operating characteristic analysis provides a method for comparing the
performance of multiple systems as they perform similar tasks. Systems suitable for
ROC analysis are alarm type systems. That is, they classify continuous data vectors
into positive (alarm) and negative (non-alarm) classes. In attempting to do so, each
system will likely misclassify some instances of the negative class as the positive
class. This is referred to as false positive (FP), or type one, error. Misclassifying
a positive instance as a negative instance is a type two error referred to as a false
negative (FN) error. In addition to the two types of error, correct alarms are referred
to as true positives (TP) and correct non-alarms are referred to as true negatives
(TN). These decisions are outlined in Table 3.1.
TABLE 3.1
DECISION PROCESS FOR ROC ANALYSIS
Classification+ -
Truth+ TP FN- FP TN
11
After a system processes and classifies input data, it will have correctly classified
some percentage of all the positive class instances presented to it. This is the true
positive rate (TPR) of the system. The percentage of negative instances classified
as positive is the false positive rate of the system (FPR). The relationship between
these two rates represents the overall performance of the system. The key to ROC
analysis is noting that the TPR of a system can be increased by making the positive
classification requirements more lenient at the cost of also increasing the FPR. The
receiver operating characteristic is the plot of the TPR against the FPR as a single
parameter that manages the tradeoff is varied. The optimal point on the curve
representing the ROC is (TPR = 1.0, FPR = 0.0) and all systems can eventually
reach the point (TPR = 1.0, FPR = 1.0) by simply classifying every encountered
instance as a positive. Similarly, the point, (TPR = 0.0, FPR = 0.0) can also be
reached by classifying every instance as a negative. The better performing a system
is, the closer its ROC will approach the (1.0, 0.0) point.
A sample ROC is shown along with the underlying distribution in Figure 3.1. In
this example, the input data vectors are iris template match comparison scores. The
comparison scores are bitwise Hamming distances between two templates where a
score of zero indicates all bits in the templates are the same. A score of one will
indicate that all bits are different. Comparing images of different eyes should result
in a score near 0.5 and comparing images of the same eye is expected to yield a
much lower score. The classifier uses a decision threshold to classify scores less than
the threshold as positive and those greater than it as negative.
Spackman [21] is credited with first using ROC curves to analyze machine learn-
ing type systems. When comparing the ROCs of two or more systems, it is simple to
determine the best performer if one curve completely dominates the others. Curve
A is said to dominate curve B if for every FPR, the TPR of A is greater than the
12
(a) Score Histogram
(b) ROC Curve
Figure 3.1. A sample score histogram a) detailing the generation of a single pointon the ROC curve and the associated ROC curve b) with important points marked
13
TPR of B. Or in other words, every point on curve A is closer than corresponding
point on curve B to the point (1.0,0.0). In most practical cases, however, the per-
formances of the systems may be so similar that the ROC curves cross at points. If
this occurs, the above method of ordering by performance cannot be used and other
metrics are needed.
Three such metrics are presented here. The area under the ROC (AUROC)
is a global measurement of how closely a given ROC approximates the theoretical
optimal ROC. As the optimum has all of its points lie on the line segment connecting
(0.0, 0.0) and (0.0, 1.0) or the line segment connecting (0.0, 1.0) and (1.0, 1.0), the
area under the curve will be 1.0. If AUROC is used as the performance metric, the
best performing ROC will have the AUROC closest to 1.0.
The equal error rate (EER) of a ROC is the point on the curve where the type
one error (FPR) is equal to the type two error (FNR). Better performing systems
will have lower equal error rates.
Practical applications of the systems being tested may require the FPR to be
fixed. In such circumstances the challenge is to maximize the TPR. For applications
such as this, it is beneficial to examine the TPR at a specified FPR (T@F) for each
of the ROC curves. The best performer will be the one with the greatest T@F.
Given a set of input data, each system being compared can generate a ROC and
the metric of choice can be calculated for each curve and compared to determine
the best performer. While, this method will correctly establish the best performer
on this input data, it does not necessarily provide any information on which system
would be expected to be the best performer in an operational context. In other
words, the performance results may just be an anomaly based on the provided
data. The problem then becomes how to approximate performance in an operational
context given a limited set of input data.
14
3.1.1 Bootstrapping
In order to estimate the true performance of a system given limited input data,
bootstrapping should be utilized [9]. Bootstrapping is the sampling of the provided
data in order to artificially create a new data set. The sampling is done with replace-
ment and with regard to the original distribution of the data. For example, if 10% of
the input data consists of positive instances, then 10% of each bootstrapped sample
will be positive examples. Once the sampling is completed, each bootstrapped sam-
ple is input to the system and a ROC is generated. If B bootstraps are performed,
B ROC curves will be generated.
The bootstrapping method requires B times more execution time than a single
sample to determine a distribution of the sought performance metric. How many
bootstraps should be performed? More bootstraps imply more accurate estimates.
However, execution time constraints limit the number that can be performed. Wu
et al. [24] have noted that little gain is made with regard to the quality of the
metric estimate after the number of bootstraps reaches a certain limit. This limit
is determined by examining the coefficient of variance (CV) across L samples of
the standard deviation of the distribution of the sought performance metric across
B bootstraps. A target CV of 0.02 is proposed in [24]. In order to calculate the
CV, a distribution of the standard deviations must be created requiring L inde-
pendent executions of the B bootstraps. It is important to note that the number
of bootstraps is dependent upon both the input data and the system being tested.
More accurate systems will require fewer bootstraps than a less accurate system.
Performing too many bootstraps is not a concern because additional bootstraps will
increase the quality of the estimate of the performance metric. With a sufficient
number of bootstraps completed, the performance of the system is well estimated
by the average performance of all of the bootstraps.
15
3.1.2 Significance Testing
As the estimated performance of the system is determined by taking the average
of a distribution of performance measurements provided by the bootstraps, each of
these estimates also has an uncertainty associated with it. This uncertainty can be
visualized a number of ways and is depicted on ROC plots through the use of error
bars.
If no assumption is made about the metric’s distribution, confidence intervals
can be derived from the histogram of the data [9]. In practice, 95% confidence
intervals are often used because they allow for simple determination of statistically
significant differences between two estimates. If the 95% confidence intervals of two
estimates do not overlap, the two estimates can safely be said to be significantly
different for essentially every significance level.
Another method of viewing uncertainty arises when the metric’s distribution
is known to be normal or assumed to be so by a test of normality such as the
Shapiro-Wilk test [19]. If this is the case, the mean and standard deviation of the
distribution provides all of the information needed for confidence interval estima-
tion. For example, the 95% confidence interval on an estimate θ̂ whose underlying
distribution is normal is simply [θ̂−2σθ, θ̂+2σθ], where σθ is the standard deviation
of distribution.
As stated above, statistical significance of the difference between two estimates
is easily determined if the the 95% confidence intervals do not overlap. But what if
they do overlap? At this point, a statistical test is needed to determine significance.
Further, although, a binary decision on significance can be determined if the con-
fidence intervals do not overlap, no information on the strength of the decision is
known. Using a statistical test allows for the calculation of a p-value related to the
certainty of the decision. The knowledge of normality of the estimate greatly eases
16
the complexity of this test.
The following scenario is presented: the performances of two systems are being
compared. Each of the estimated metrics has an underlying normal distribution
whose means, θ1 and θ2, and standard deviations, σ1 and σ2 are known. The null
hypothesis proposes that two estimates are equal, and the alternative is that they
are not equal:
H0 : θ1 = θ2
H1 : θ1 6= θ2
(3.1)
The above is two-tailed test of the means of two normal distributions with known
standard deviations. This is easily accomplished through the use of a Z-test. The
Z-test computes a statistic with an expected standard normal distribution and com-
pares the value with the percentiles of the standard normal distribution in order to
determine significance. For uncorrelated estimates, the Z-score is computed as fol-
lows:
Z =θ̂1 − θ̂2√σ̂21 + σ̂2
2
(3.2)
However, in practice, because both systems are attempting to accurately classify
the same input data, a positive correlation most likely exists between the perfor-
mance metrics. The calculation of the Z-score taking the positive correlation into
account is [24]:
Z =θ̂1 − θ̂2√
σ̂21 + σ̂2
2 − 2r̂θ1θ2σ̂1σ̂2(3.3)
where rθ1θ2 is the sample correlation of the sample means.
If the correlation is not taken into account, the resulting Z-score will be lower
than it should be. This, in turn, will result in acceptance of the null hypothesis
in cases where it should actually be rejected (type one error). The correlation
coefficient itself is non-trivial to compute due to bootstrapping.
17
3.1.3 Calculating the Correlation Coefficient of Two Estimates
Because bootstrapping is used to calculate the distribution of the performance
metric for a system, a slightly different distribution would be found if the test was
run again. Extending this concept to testing two systems, the performance of system
A on one bootstrap of the original data cannot be expected to be correlated with the
performance of system B on a different bootstrap of the data because the input to
the systems has changed. To solve this problem, both systems must be provided the
same input data. This is accomplished through synchronized bootstrapping [24].
Synchronized bootstrapping is a process of selecting the same input data for each
system being tested. The same number of bootstraps are carried out resulting in
distributions of the performance metric for each system that contain the correlated
performance if any exists. After synchronized bootstrapping to determine the esti-
mates of the performance metric, θ̂1 and θ̂2, with standard deviations, σ1 and σ2,
the correlation coefficient can be determined as follows:
rθ1θ2 =
∑ni=1(θ1i − θ̂1)(θ2i − θ̂2)
(n− 1)σ1σ2(3.4)
3.1.4 ROC Use in Experiments
In the context of the experiments presented later, the systems being tested are
iris recognition algorithms. For a given comparison between iris images A and B, a
similarity (match) score is produced. The classification into positive (called accept
or match in this context) and negative (reject or nonmatch in this context) classes
is the result of a simple threshold about a set score. If the provided match score
is less than the threshold, the pair of images are considered a match. If the score
is greater than or equal to the threshold, the pair is a nonmatch. To generate the
points on the ROC curve, the threshold is varied uniformly across a range of values.
Performance is measured using the true accept rate at a false accept rate of 0.001.
18
For a given ROC, 2000 bootstraps performed. Through the previously discussed
procedures above, it was determined that 2000 bootstraps were enough to lower the
CV of the standard error of the statistic of interest to about 1.5% for the best and
worst algorithms.
19
CHAPTER 4
PERTURBATION EXPERIMENTS
4.1 Overview of the IrisBEE Recognition System
The following experiments utilize a Daugman-like [7] recognition system that is
a reimplementation of a system originally built by Masek [14]. The system, IrisBEE
[13], was originally developed by Xiaomei Liu in 2005 and has been rewritten and
extensively modified.
The system first segments the provided iris image by finding the pupil boundary,
assumed to be a circle, in an edge map using a Hough circle transform. After finding
the pupil, another Hough transform is used to locate the circle representing the
limbic boundary. For each candidate circle in both steps, contrast tests are used to
determine which are the best approximations of the actual boundaries. A two-piece
linear eyelid detector then attempts to mask out eyelids. It does this by fitting
two lines to each of the upper and lower eyelids. If these lines intersect the limbus
boundary, everything above the upper eyelid and below the lower eyelid is masked.
Finally, specular highlights are masked.
With the segmentation determined, the image is normalized by transforming
the (x, y) coordinates into the polar-like doubly dimensionless coordinate system
originally proposed by Daugman [7]. This creates a rectangular image containing
only the iris data that is well suited to filtering and is referred to as the normalized
image. A segmented image along with the associated normalized image can be
20
seen in Figure 4.3a). Each row of the normalized image is convolved with a one-
dimensional log Gabor filter. The complex output of this filtering step is then binned
into one of the four bins based upon the phase information. This has the effect of
encoding the normalized image into a binary image with two bits per pixel.
The matcher in this system calculates a bitwise Hamming distance between two
encoded images. The Hamming distance is a similarity score in the range of [0, 1]
with lower scores indicating higher similarity.
4.2 Experiment Context
A probe to gallery matching experiment is conducted. The gallery is built by
using the oldest image available for each of a subject’s left and right eyes. This is
done to simulate an enrollment with subsequent images taken as probes at some later
time. The provided probes are compared only to gallery images on the same side
of the face. This not only saves computation time, but also represents a screening
step where metadata about the image can be used to ignore obvious nonmatches.
A verification scenario is used as the context for the matching experiment. As such,
performance will be analyzed through ROC analysis rather than cumulative match
curve analysis.
4.3 Data Set
The ICE2005 [16] data set is used in these experiments with certain images
removed if segmentation errors were present and subjects removed if too few images
were present after the segmentation errors were removed. The images were all
captured on a LG 2200 iris camera. The camera uses near infrared illumination to
capture a 640x480 image of the iris. The image is contrast stretched to the range
[0, 255]. All of the images are of frontally presented irises. 2678 images of 175 unique
21
irises from 98 unique subjects are present in the data set.
4.4 Baseline Results
With the probe sets and gallery sets defined, a fully automated baseline experi-
ment is performed. The images are taken as provided and are first segmented using
the previously discussed algorithm. Each probe is then compared to each gallery
image. The resulting distributions of the match and nonmatch scores are used to
compute the ROC curves for analysis in Figure 4.1.
4.5 Introduction to Perturbations
4.5.1 Definition
In the initial step of the matching algorithm, the software first segments the
iris region of the eye image. It does this by fitting a circle to the pupil boundary
and another circle to the boundary of the limbus. Each of these circles is defined
by three parameters : two values to define the pixel location of the center, (x, y),
and a third value, r, to define the radius. Thus a segmentation of an iris is defined
by six parameters, (xp, yp, rp) for the pupil boundary and (xl, yl, rl) for the limbus
boundary as shown in Figure 4.2. A perturbation of this segmentation is an alter-
ation of one of these values by some amount, δ. By altering any combination of
these values, a different normalized image can be obtained to use in the next step
of the matching algorithm. For all parameters, only perturbations of up to three
pixels are used. With this constraint, given an initial segmentation, each of the six
parameters may be perturbed by seven different values, {−3,−2,−1, 0, 1, 2, 3}, for a
total of 76 or 117649 possible perturbations. These 117649 perturbations create the
perturbation space for a given segmentation. The coordinates of the space are the
values of each of the perturbation parameters (δxp , δyp , δrp , δxl , δyl , δrl). The value,
P (dxp , dyp , drp , dxl , dyl , drl) where each d ∈ {−3,−2,−1, 0, 1, 2, 3}, of each location
22
0.0 0.1 0.2 0.3 0.4 0.5 0.6
0.0
0.1
0.2
0.3
0.4
0.5
Original ScoreDistribution
Match Score Bins
%inbin Match
Nonmatch
(a) Score Histogram.
0.0000 0.0005 0.0010 0.0015 0.0020
0.92
0.94
0.96
0.98
1.00
Baseline ROC
False Accept Rate
True
Acc
ept R
ate
Original
(b) ROC Curve.
Figure 4.1. The original algorithm’s match and nonmatch histograms a) and theassociated ROC curve b). Error bars represent a 2σ (approximately 95%) confidenceinterval
23
Figure 4.2. A diagram showing the segmentation parameters that determine theboundary circles of the pupil and limbus
in the space is the true match score for the template created by that perturbation.
4.5.2 Motivation
To begin, an assumption must be made that the software provides an adequate
segmentation. That is, the circular boundaries provided by the segmentation algo-
rithm are good approximations to the actual pupil and limbus boundaries. Small
perturbations of the provided segmentation can then be used to attempt to find a
”better” segmentation. If the segmentation provided by the software is poor, then
any small alteration made to this segmentation will also be a poor segmentation.
24
What does it mean to find a ”better” segmentation? When the word better
is used in this context, it is not referring to the quality of the fit of the circular
boundaries to the actual boundaries of the iris. Instead, a better segmentation is
defined as a segmentation that creates a template that better matches the associated
gallery image. The gallery image was pre-enrolled with the default segmentation
provided by the software.
For example, consider the desired comparison between probe image A and true
match gallery image B. Even if the actual pupil and limbus boundaries in image A
were perfect circles and the segmentation algorithm found these exact circles, this
may not be the case in image B. In the gallery image B, the pupil boundary may
be slightly elliptical. Because of this, fitting any circle to this boundary may cut
through the pupil on one side and include a small amount of the iris texture on
the other side. Because the gallery image was enrolled with the software provided
segmentation, this segmentation is set and cannot be adjusted. Thus, even though
the segmentation for image A is perfect, it may be beneficial to consider a segmen-
tation where the pupil boundary intersects the pupil on one side and contains some
of the iris texture on the other side. If this segmentation has a lower match score
to the true gallery image, this segmentation is considered better than the software
provided segmentation. An example of such a comparison is shown in Figure 4.3.
In essence, perturbations can allow a provided probe image to better match the
corresponding gallery image even if the gallery image was enrolled with a slightly
flawed segmentation.
4.6 Revised Experiment Flow
The original experiment is expanded to use segmentation perturbations. Given
the defined gallery set and a probe image, the probe image is perturbed multiple
25
(a) Original segmentation with the normalized image.
(b) Optimum segmentation with the normalized image.
Figure 4.3. An example perturbed segmentation. The original segmentation withassociated normalized image is shown to compare to the optimum segmentation
26
times to yield new segmentations. Each of these generated segmentations is then
normalized and a template is generated. These templates are then treated as indi-
vidual probes and independently matched against every gallery image. This system
is illustrated in Figure 4.4.
4.7 Determining the Best Perturbation
4.7.1 Minimum Score Method
When presented with a probe image, every possible perturbation within the
already defined space is generated. Each of perturbed segmentations is then nor-
malized and filtered resulting in a total of 117649 perturbed probe templates for each
original template. Each probe template is then matched to the each of the gallery
images. Because ROC analysis is used here, the true match scores are extracted
and the perturbation with the lowest true match score is used as the representative
perturbation for score distribution analysis. Because all possible perturbations are
used and the minimum true match score from the set is used, this method represents
the optimum match score distribution which the perturbation method can generate.
4.7.2 Results
The minimum score method outperforms the original recognition algorithm. The
results are presented in Table 4.1 and Figure 4.5. With a p-value of 0, the minimum
score method is statistically significantly better than the original algorithm at both
the α = 0.05 and α = 0.01 levels with a strong confidence.
4.7.3 Runtime
As previously shown, the minimum score perturbation method greatly improves
the overall matching performance. However, this improvement comes at a tremen-
dous computational cost. After the initial segmentation step, every other step must
27
Figure 4.4. A flowchart of the minimum score method. All possible perturbationswithin the defined space are created and matched against the gallery. Then theminimum score is selected as the true match score.
28
0.0 0.1 0.2 0.3 0.4 0.5 0.6
0.0
0.1
0.2
0.3
0.4
0.5
Minimum Score Method Score Distribution
Match Score Bins
%in
bin Minimum Score Method Match
Minimum Score Method MatchOriginal MatchOriginal Nonmatch
(a) Score Histogram.
0.0000 0.0005 0.0010 0.0015 0.0020
0.92
0.94
0.96
0.98
1.00
MinimumandOriginal ROCs
False Accept Rate
True
Acc
eptR
ate
Minimum Score MethodOriginal
(b) ROC Curve.
Figure 4.5. The score distributions a) and resulting ROC b) for the minimum scoremethod. The distributions and ROC for the original algorithm. Error bars representa 2σ (approximately 95%) confidence interval
29
TABLE 4.1
COMPARISON OF ORIGINAL ALGORITHM TO MINIMUM SCORE
METHOD
Algorithm T@F p-valueOriginal 0.983493
0.0Minimum 0.994079
be repeated 117649 times due to the independent matching of each perturbation.
Although the generation of a template given a segmentation is much faster than the
segmentation step, the combined time needed for all 117649 perturbations domi-
nates the total execution time and renders this method infeasible when operated in
a single threaded execution environment. Thus, in order to allow for perturbations
to be effectively used for matching, either the entire process must be massively par-
allelized or approximations of the minimum score method must be used that utilize
fewer perturbations as independent probes. In this thesis, the parallelization of the
minimum score perturbation algorithm is not addressed and various approximations
are explored.
4.8 Segmentation Perturbation Space Search Methods
When a software provided probe segmentation and gallery segmentation are
examined, we expect that perturbing the probe segmentation in some ways will
improve the score and in other ways will degrade the score. Further, if a good probe
segmentation is found, it can be expected that the similar perturbed segmentations
will also perform well because the generated templates should not be significantly
different. This intuition yields a view of the perturbation space that contains a
number of local minima and a sought single global minimum perturbation. With
30
the space organized in this way, an intelligent search of the space should quickly
find a perturbed segmentation that performs better than the one initially provided
by the software.
4.8.1 Description of Search Method
The intelligent search method proposed is a prune and search algorithm. A set
of parameters,
∆ = {δ1, ..., δm} m ∈ {1, 2, 3, 6}
δi ∈ {δxp , δyp , δrp , δxl , δyl , δrl}
is chosen to be searched. The chosen parameters are allowed to vary while fixing
the others to constant values,
C = {c1, ..., cn} n = 6−m
ci ∈ {cxp , cyp , crp , cxl , cyl , crl}
initially all ci = 0
This creates a subspace of the original space that is then searched. For example, if
three parameters, δxp , δxl , and δrl , are allowed to vary, a three dimensional subspace
of the perturbation space is created, P (∆, C) = P (δxp , cyp , crp , δxl , cyl , δrl). The
method divides this subspace and chooses a single representative perturbation from
each region. These are then used to generate templates which are matched against
the gallery. The perturbation with the lowest match score is chosen as the best and
the search recurses on that region. This continues until the regions can no longer be
divided. Figure 4.6 illustrates this process in a flowchart and pseudocode is provided
in Procedures 4.1 and 4.2.
Certain parameters are fixed while others vary to create the subspaces. The
fixed parameters initially take on the default value of zero. However, once they are
31
Figure 4.6. A flowchart of the subspace search methods. The search for the bestperturbation is restricted to a prune and search of a subspace of the original per-turbation space. Results from this search are used to alter refine the subspace as allparameters are searched.
32
determined, the found values are used instead of the default in later searches.
4.8.2 Challenges
Because local minima may exist within the perturbation space, the order in
which the parameters are searched may lead different searches to arrive at different
perturbations. Also, parameters are allowed to be searched one at a time, two at a
time, three at a time, or six at a time. Even searching three parameters at the same
time may not yield the same perturbation as searching along two of them and then
the remaining one immediately after.
Finding a local minimum is just one of the challenges present in this search
method. Even if the search method finds a local minimum and ignores the global
minimum, a perturbation that is better than the original segmentation is still found,
but may not be the best possible perturbation. The other major issue that arises
with this method is the approach to performing the search. Is it advantageous to
perform a one-dimensional search on each parameter fixing them in a certain order,
or is it better to attempt to fix all six parameters at once by performing a six-
dimensional search? Because it is difficult to reason which search methods should
find the best performing perturbations, many different methods are tested here to
empirically determine the best one.
4.8.3 Defining Search Methods
A number of search methods are defined based on how each chooses parameters
to build and search the subspaces. Pseudocode for each method is presented.
4.8.3.1 3D3D Method
The 3D3D method uses three of the parameters to create the subspace in the
first step of the search. The result of this subspace search is used to build the
33
Procedure 4.1 SearchSubspace : Prune and search method for searching a subspace
Given: P (∆, C)1: if |∆| = 1 then2: if |P (∆, C)| ≥ 3 then3: Choose representative from each half of subspace pL, pR {Figure 4.7a}4: if pL < pR then5: Prune P (∆, C)← left half of space6: RECURSE7: else8: Prune P (∆, C)← right half of space9: RECURSE
10: end if11: else12: return minimum of two remaining perturbations13: end if14: else if |∆| = 2 then15: if |P (∆, C)| ≥ 5 then16: Choose representative from region of subspace p1, ..., p4 {Figure 4.7b}17: Select minRep← min(p1, ..., p4)18: Prune P (∆, C)← region containing minRep19: RECURSE20: else21: return minimum of four remaining perturbations22: end if23: else if |∆| = 3 then24: if |P (∆, C)| ≥ 9 then25: Choose representative from region of subspace p1, ..., p8 {Figure 4.7c}26: Select minRep← min(p1, ..., p8)27: Prune P (∆, C)← region containing minRep28: RECURSE29: else30: return minimum of eight remaining perturbations31: end if32: else if |∆| = 6 then33: if |P (∆, C)| ≥ 65 then34: Choose representative from region of subspace p1, ..., p64 {No Figure}35: Select minRep← min(p1, ..., p64)36: Prune P (∆, C)← region containing minRep37: RECURSE38: else39: return minimum of sixty-four remaining perturbations40: end if41: end if
34
Procedure 4.2 Searching the Perturbation Space for the Best Perturbation
1: {cxp , cyp , crp , cxl , cyl , crl} ← {0, 0, 0, 0, 0, 0}2: repeat3: Choose ∆ and C4: Create P (∆, C)5: foundPerturbation← SearchSubspace(P (∆, C))6: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation {set the perturbation param-
eters to found values}7: until all parameters are searched8: return {cxp , cyp , crp , cxl , cyl , crl}
(a) 1D (b) 2D (c) 3D
Figure 4.7. Prune and search methods on the subspaces in one a), two b), and threec) dimension
35
subspace for the the second three-dimensional search. The approximate optimum
perturbation is returned from the second subspace search. Pseudocode is shown in
Procedure 4.3.
Procedure 4.3 3D3D Search method1: {cxp , cyp , crp , cxl , cyl , crl} ← {0, 0, 0, 0, 0, 0}2: Choose ∆ of size 3 and C3: Create P (∆, C)4: foundPerturbation← SearchSubspace(P (∆, C))5: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation {set the perturbation parame-
ters to found values}6:
7: Choose ∆ with three remaining parameters and C8: Create P (∆, C)9: foundPerturbation← SearchSubspace(P (∆, C))
10: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation11: return {cxp , cyp , crp , cxl , cyl , crl}
The decision to break up the process to search three parameters and then three
parameters is not a random decision. It is motivated by the desire to be able to
search the space of all perturbations one boundary at a time. Using the 3D3D
search method, the subspace of pupil perturbations, P (δxp , δyp , δrp , cxl , cyl , crl), may
be searched and then the subspace of limbus perturbations, P (cxp , cyp , crp , δxl , δyl , δrl)
may be searched with the pupil parameters fixed. This is, however, just one of the
many orders of searching the parameters that may be used in this method. For
completeness, every one of the(63
)(33
)= 20 possible orderings is tested.
4.8.3.2 2D1D Method
As the 3D3D method arises from the intuition that it would be beneficial to
first determine the pupil circle parameters and then determine the limbus circle pa-
rameters, we could arrive at other methods in a similar manner. By still desiring
to find the pupil circle parameters and then those for the limbus circle boundary,
the search could first determine the optimum center of the pupil circle and then
36
determine its radius in a second step. This would entail a two-dimensional search
for the center, using ∆ = {δxp , δyp}, followed by a one-dimensional search for the
radius, ∆ = {δxr}. The same process is then repeated for the limbus circle. Pro-
cedure 4.4 provides pseudocode for this process. Because this method utilizes a
two-dimensional search followed by a one-dimensional search, it is referred to as the
2D1D method. There are(62
)(41
)(32
)(11
)= 180 possible orderings of the parameters
in this method.
Procedure 4.4 2D1D Search method1: {cxp , cyp , crp , cxl , cyl , crl} ← {0, 0, 0, 0, 0, 0}2: Choose ∆ of size 2 and C3: Create P (∆, C)4: foundPerturbation← SearchSubspace(P (∆, C))5: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation {set the perturbation parame-
ters to found values}6:
7: Choose ∆ of size 1 and C8: Create P (∆, C)9: foundPerturbation← SearchSubspace(P (∆, C))
10: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation11:
12: Choose ∆ of size 2 and C13: Create P (∆, C)14: foundPerturbation← SearchSubspace(P (∆, C))15: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation16:
17: Choose ∆ with the remaining parameter and C18: Create P (∆, C)19: foundPerturbation← SearchSubspace(P (∆, C))20: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation21: return {cxp , cyp , crp , cxl , cyl , crl}
4.8.3.3 2D2D Method
The 2D2D method first chooses two parameters to create a two-dimensional
subspace. The approximate optimum values for these parameters are then used to
build another two-dimensional subspace to be searched. The resulting parameter
37
values are then used in a final two-dimensional subspace search for the remaining
two parameters. Pseudocode is provided in Procedure 4.5.
Intuitively, this method could be used to find the optimum pupil circle center by
using ∆ = {δxp , δyp} in the first search followed by a search for the best limbus circle
center with ∆ = {δxl , δyl}. Finally the subspace containing the radii perturbations
may be jointly searched with ∆ = {δrp , δrl}. Using this method there are(62
)(42
)(22
)=
90 possible orderings.
Procedure 4.5 2D2D Search method1: {cxp , cyp , crp , cxl , cyl , crl} ← {0, 0, 0, 0, 0, 0}2: Choose ∆ of size 2 and C3: Create P (∆, C)4: foundPerturbation← SearchSubspace(P (∆, C))5: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation {set the perturbation parame-
ters to found values}6:
7: Choose ∆ of size 2 and C8: Create P (∆, C)9: foundPerturbation← SearchSubspace(P (∆, C))
10: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation11:
12: Choose ∆ with the two remaining parameters and C13: Create P (∆, C)14: foundPerturbation← SearchSubspace(P (∆, C))15: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation16: return {cxp , cyp , crp , cxl , cyl , crl}
4.8.3.4 6D Method
Finally, the six-dimensional search method, 6D, may be used to attempt to
jointly determine the best parameters in one search. In this method, ∆ =
{δxp , δyp , δrp , δxl , δyl , δrl} and C = ∅, allowing all parameters to vary. Pseudocode
is presented in Procedure 4.6. There is only one order in which to perform the
six-dimensional search.
38
Procedure 4.6 6D Search method1: {cxp , cyp , crp , cxl , cyl , crl} ← {0, 0, 0, 0, 0, 0}2: Choose ∆ of size 6 and C = ∅3: Create P (∆, C)4: foundPerturbation← SearchSubspace(P (∆, C))5: {cxp , cyp , crp , cxl , cyl , crl} ← foundPerturbation {set the perturbation parame-
ters to found values}6: return {cxp , cyp , crp , cxl , cyl , crl}
4.8.4 Naming
The search methods are named according to the order in which they search the
parameter space. Parameters that are jointly searched will be included together in
a set of parentheses. For example, the name 2D1D(yp, yl)(xp)(rp, rl)(xl) names the
2D1D search method that first does a two-dimensional search of yp and yl, followed
by a one-dimensional search of xp, then a two-dimensional search of rp and rl, and
finally a one-dimensional search of xl. The 6D method does not contain any of this
information after it as there is only one possible way to perform the search.
4.8.5 Runtimes
The runtimes for the different search methods are analyzed by counting the num-
ber of perturbations that must be considered to find the the approximate optimum
perturbation. Because the same amount of work must be done for each perturbation
used regardless of search method, this is a useful measure for comparison against
the minimum score method.
In a one-dimensional subspace search, two of the seven perturbations in this
space are compared and the better one is chosen. The size of the subspace is halved
and the procedure recurses. Two of the remaining four are compared and the corre-
sponding subregion is chosen to recurse (Figure 4.7a). This last subspace will have
two elements in it, the representative from the last step and a remaining unchecked
39
perturbation. This match score is calculated for this perturbation and compared
against the previous representative. The minimum is chosen as the approximate
optimum perturbation. A total of five perturbations were used to arrive at this
result.
A two-dimensional subspace search attempts to find the best perturbation out
of forty-nine in the subspace. The subspace is divided into four regions by splitting
each of the dimensions in half. One representative from each of these regions is used
in the first comparison. The best perturbation is chosen and the corresponding
region is chosen to recurse (Figure 4.7b). This reduces the subspace to roughly
14
of the original size of sixteen. Four representative perturbations are once again
chosen and compared. The best subregion is determined and the procedure recurses.
At this point, the size of the subspace is reduced to four. These perturbations are
compared and the minimum is chosen as the best perturbation. Because one of these
was used as a representative in the previous step, only three new perturbations must
be calculated. In total, eleven perturbations are used to arrive at the approximate
optimal perturbation.
The three-dimensional subspace contains 73 = 343 perturbations which are di-
vided into eight regions (each parameter is split in half) as illustrated by Figure
4.7c. Thus eight representative elements are needed and the best region is chosen.
This reduces the size of the subspace by approximately 18
to 64 elements. Eight
representatives are again chosen and recursion occurs on the best subregion. This
leaves eight remaining perturbations and the minimum is chosen as the approxi-
mate optimal perturbation. This process required eight perturbations at each of the
three levels of recursion. One of the perturbations in the final recursive step is a
representative used in the previous level and would not need to be recalculated in
this step. Thus, a total of twenty-three perturbations are needed.
40
The six-dimensional method searches the entire space containing 76 = 117649
perturbations at one time. Dividing the space in half along each of the six parameters
yields sixty-four regions. Choosing the best region at this level reduces the space to
4096 perturbations. Another sixty-four representative elements are chosen and the
space is reduced to 64 elements. The minimum is chosen as the best perturbation.
This requires 64+64+63 = 191 perturbations (one of the perturbations in the final
level was calculated as a previous representative).
With this information the number of perturbations for each method can be
calculated. The 3D3D method consists of two three-dimensional searches for a total
of forty-six perturbations. The 2D1D method requires thirty-six perturbations (two
two-dimensional searches and two one-dimensional searches). The 2D2D requires
thirty-three by running three two-dimensional searches. Finally, the 6D method
requires 191 perturbations. All of these methods are significantly faster than the
minimum score method.
4.8.6 Determining the Best Method
With the search approximation methods defined, every possible ordering of the
segmentation parameters for each of the methods is tested. Given a probe image,
every one of the search methods is applied yielding 20 + 180 + 90 + 1 = 291 approx-
imations of the optimum perturbation for that image in addition to the optimum
perturbation found through the minimum score method. For each of these pertur-
bations, the true match score and nonmatch score distribution are stored. This is
done for every probe image in order to generate the match and nonmatch score
distributions for an approximation. Finally, ROC analysis is used to measure the
performance of the various approximation methods.
41
4.9 Performance Measurement
4.9.1 Quality of Approximation Metrics
Each of the approximation methods yields a true match score that can be com-
pared to the optimal score provided by the minimum score method. If the match
score from the original image is used as a baseline, it is impossible for the approxima-
tion methods to make the match score distribution any worse as the perturbation
will not be used if its performance is worse than the original image. Thus, the
various methods can only improve the distribution. As a result, one of the most
important metrics for grading an approximation is how close it comes to replicating
the minimum score method.
Let the true match score returned by the minimum score method, MinScore, be
the best possible performance that can be achieved by any approximation and let the
unperturbed true match score, OriginalScore, be the worst possible performance
that can be achieved. Then, for a given probe image, the quality of an approximation
method, ApproxQuality, may be determined by
ApproxQuality = 1− ApproxScore−MinScore
OriginalScore−MinScore(4.1)
where ApproxScore is the match score of the perturbation found by the search
method. The best possible score is 1.0 and represents finding the best possible
perturbation with the search method. When computed for every probe image, the
distributions of this performance metric can give information regarding the relative
performance of the different approximations.
Some sample distributions of ApproxQuality are shown in Figure 4.8. As these
distributions all appear to come from the same family of distributions, the mean is
used to compare them where better distributions will have means closer to 1.0. The
best performers arising from this comparison are shown in Table 4.2.
42
(a)
(b)
Figure 4.8. The approximation quality distributions for the 6D search method a)and the 2D2D(xp, xl)(yp)(yl, rl)(rp) method b). Note that the distribution of thebetter performer, 6D, has a mean closer to 1.0
.
43
TABLE 4.2
APPROXIMATION QUALITY FOR THE TEN BEST SEARCH METHODS
ACCORDING TO THE METRIC
Algorithm Approximation Quality6D 0.8715584
3D3D(xp, yp, rp)(xl, yl, rl) 0.83735943D3D(xp, yp, rl)(rp, xl, yl) 0.82280883D3D(xp, yp, xl)(rp, yl, rl) 0.81556773D3D(xp, yp, yl)(rp, xl, rl) 0.81182402D2D(xp, yp)(rp, rl)(xl, yl) 0.81031972D1D(xp, yp)(rl)(rp, xl)(yl) 0.79907772D1D(xp, yp)(rp)(yl, rl)(xl) 0.79833752D1D(xp, yp)(xl)(rp, rl)(yl) 0.79827292D2D(xp, yp)(rp, yl)(xl, rl) 0.7975337
4.9.2 ROC Analysis
A comparison of the various search methods is also performed using ROC analy-
sis. ROC curves were generated for all 291 search methods and confidence intervals
of two standard deviations were calculated using 2000 bootstraps of the score dis-
tributions. The ROC curves for each method are grouped according to the search
type. Every curve in the group is plotted against the original ROC curve in order to
demonstrate the statistically significant performance improvement over the original
recognition algorithm.
The ROC curves for the 2D1D search methods are presented in Figure 4.9.
Though some overlap of the error bars is present, there is still a statistically signif-
icant improvement present with every possible search order in this group. This is
verified by closer examination of the TAR at a FAR of 0.001 (T@F) for each of the
curves. With the null hypothesis that the T@Fs are equal and the alternative being
44
TABLE 4.3
P-VALUES CALCULATED FROM T@F DIFFERENCES BETWEEN 2D1D
METHODS AND THE MINIMUM SCORE METHOD
Algorithm T@F T@F Difference p-value2D1D(xp, xl)(yp)(yl, rl)(rp) 0.992841 0.001780 0.0316362D1D(xp, xl)(yp)(rp, rl)(yl) 0.992718 0.001813 0.030362D1D(xp, xl)(yl)(yp, rp)(rl) 0.992625 0.001884 0.0293662D1D(xp, xl)(yl)(yp, rl)(rp) 0.992747 0.001884 0.02892D1D(yp, xl)(xp)(rp, rl)(yl) 0.992632 0.001954 0.0283842D1D(xp, xl)(rp)(yp, rl)(yl) 0.992703 0.001835 0.0283142D1D(yp, xl)(rp)(xp, rl)(yl) 0.992706 0.001872 0.0274822D1D(xp, xl)(yp)(xp, yl)(rl) 0.992755 0.001830 0.027422D1D(xp, rp)(yp)(xl, rl)(yl) 0.992641 0.001911 0.0263582D1D(yp, yl)(xp)(rp, rl)(xl) 0.992426 0.002179 0.020376
that they are not equal, the test statistic is calculated as described in Chapter 3. A
large value of the test statistic corresponds to a small p-value which provides strong
evidence that the null hypothesis should be rejected. For every ROC curve in Figure
4.9, the calculated p-value is 0. Thus, very strong evidence exists to reject the null
hypothesis and support the statistical significance of the performance difference.
With the statistical significance of the T@F difference established, the next im-
portant question is whether or not a statistically significant difference exists between
the minimum score method and the search methods. The T@F performance differ-
ences between the minimum score method and the 2D1D search methods are much
less than between the original algorithm and the search methods. These differences,
along with the associated p-values, are shown in Table 4.3. In this case the, the p-
value is good indicator of the performance of the search method as a higher p-value
indicates that less of a difference between the algorithms exists.
These results indicate that the the null hypothesis should be rejected at a level
45
0.0000 0.0005 0.0010 0.0015 0.0020
0.92
0.94
0.96
0.98
1.00
2D1D ROCs
False Accept Rate
True
Acc
ept R
ate
2D1DOriginal
(a) ROC Curves
0.0008 0.0009 0.0010 0.0011 0.0012
0.95
0.96
0.97
0.98
0.99
1.00
2D1D ROCs
False Accept Rate
True
Acc
ept R
ate
2D1DOriginal
(b) Magnified View
Figure 4.9. The ROC curves a) of the 180 2D1D search methods compared to theoriginal method. There is very little overlap between the error bars of the ROCfor the original algorithm and any of the perturbation search methods indicatingall 2D1D search methods are significantly better than the original algorithm. Amagnified view centered at FAR = 0.001 is shown in b).
46
α = 0.05 level of significance, but cannot be rejected at the more restrictive signifi-
cance level of α = 0.01. Looking at the p-values alone would seem to indicate that
the minimum score method performs much better than all of the 2D1D search meth-
ods. However, examining the T@F difference shows that the performance difference
is actually quite small. This is counterintuitive as the small performance difference
would imply a large p-value, not a small one. The p-values, instead, are so small due
to the correlation between the different algorithms. Because all of the algorithms
being compared are very accurate, there is a very high correlation between their
results. Thus, even a tiny performance difference will greatly decrease the p-value.
Similar results were also found with the 3D3D methods, the 2D2D methods, and
the 6D method. The ROC curves for the 3D3D methods compared to the original
algorithm are presented in Figure 4.10. As was the case with the 2D1D search meth-
ods, when compared against the original algorithm, all p-values were 0 indicating
a statistically significant difference for every ordering. When compared with the
minimum score method, low p-values are again observed. The best performing or-
derings for the 3D3D methods when compared against the minimum score method
are shown in Table 4.4.
The p-values provide enough evidence to reject the null hypothesis at a α =
0.05 level of significance. Some of the methods, however, cannot be considered
statistically significantly different at a 0.01 level. From Table 4.4 though, it can be
seen that the 3D3D search methods are slightly poorer performers than the 2D1D
methods.
Finally, ROC curves are presented for the 2D2D methods and the 6D method.
The performance of the 2D2D methods are presented in Figure 4.11 and the 6D
method is presented in Figure 4.12. Like all of the methods presented previously,
the 2D2D methods and 6D method are statistically significantly better than the
47
0.0000 0.0005 0.0010 0.0015 0.0020
0.92
0.94
0.96
0.98
1.00
3D3D ROCs
False Accept Rate
True
Acc
ept R
ate
3DOriginal
(a) ROC Curves
0.0008 0.0009 0.0010 0.0011 0.0012
0.95
0.96
0.97
0.98
0.99
1.00
3D3D ROCs
False Accept Rate
True
Acc
ept R
ate
3D3DOriginal
(b) Magnified View
Figure 4.10. The ROC curves a) of the 20 3D3D search methods compared to theoriginal method. There is very little overlap between error bars of the ROCs for theoriginal algorithm and any of the perturbation search methods indicating all 3D3Dsearch methods are significantly better than the original algorithm. A magnifiedview centered at FAR = 0.001 is shown in b).
48
TABLE 4.4
P-VALUES CALCULATED FROM T@F DIFFERENCES BETWEEN 3D3D
METHODS AND THE MINIMUM SCORE METHOD
Algorithm T@F T@F Difference p-value3D3D(yp, rp, yl)(xp, xl, rl) 0.992524 0.002005 0.024973D3D(yp, xl, rl)(xp, rl, yl) 0.992449 0.002156 0.0161963D3D(xp, yp, yl)(rp, xl, rl) 0.992370 0.002188 0.0160483D3D(rp, xl, yl)(xp, yp, yl) 0.992094 0.002477 0.0134243D3D(xp, yl, rl)(yp, rp, xl) 0.992117 0.002443 0.0130583D3D(yp, rp, rl)(xp, xl, yl) 0.992010 0.002547 0.012263D3D(xp, rp, xl)(yp, yl, rl) 0.991987 0.002577 0.011383D3D(yp, xl, yl)(xp, rp, rl) 0.991936 0.002656 0.010923D3D(xp, yp, rl)(rp, xl, yl) 0.992043 0.002559 0.009753D3D(xp, rp, yl)(yp, xl, rl) 0.991967 0.002570 0.009608
original algorithm with p-values of 0. The results of testing the methods against
the minimum score method are shown in Table 4.5.
Once again, similar results are observed where the null hypothesis can be rejected
at a 0.05 significance level but not at the 0.01 level. If the p-value is used as a relative
performance measure, then the 6D method is the top performer.
4.10 Analysis of Results
The best performer according to ROC analysis from each of the search method
groups was chosen to determine which search method is best suited for approximat-
ing the minimum score method. From the previously discussed results, it is clear
that all 4 methods presented here do a good (if not statistically significant) job of
approximating the performance of the minimum score method.
The ROC curves of each of these are shown together in Figure 4.13. The un-
derlying true match score distributions are shown in Figure 4.14 plotted against the
49
TABLE 4.5
P-VALUES CALCULATED FROM T@F DIFFERENCES BETWEEN 2D2D
METHODS AND THE MINIMUM SCORE METHOD AND THE 6D METHOD
AND MINIMUM SCORE METHOD
Algorithm T@F T@F Difference p-value6D 0.992838 0.001782 0.03185
2D2D(xp, xl)(yp, rl)(rp, yl) 0.992750 0.001856 0.0271082D2D(xp, xl)(yp, rp)(yl, rl) 0.992638 0.002002 0.0215582D2D(yp, xl)(rp, yl)(xp, yl) 0.992359 0.002172 0.0195222D2D(yp, rp)(xp, rl)(xl, yl) 0.992343 0.002181 0.0186682D2D(rp, xl)(xp, yl)(yp, rl) 0.992226 0.002348 0.0173962D2D(yp, xl)(xp, yl)(rp, rl) 0.992372 0.002196 0.0167522D2D(xp, xl)(yl, rl)(yp, rp) 0.992432 0.002141 0.0166162D2D(yp, yl)(xp, rp)(xl, rl) 0.992334 0.002190 0.0166022D2D(xp, yp)(yl, rl)(xp, xl) 0.992400 0.002201 0.0165862D2D(yp, xl)(yl, rl)(xp, rp) 0.992345 0.002241 0.015714
50
0.0000 0.0005 0.0010 0.0015 0.0020
0.92
0.94
0.96
0.98
1.00
2D2D ROCs
False Accept Rate
True
Acc
ept R
ate
2D2DOriginal
(a) ROC Curves
0.0008 0.0009 0.0010 0.0011 0.0012
0.95
0.96
0.97
0.98
0.99
1.00
2D2D ROCs
False Accept Rate
True
Acc
ept R
ate
2D2DOriginal
(b) Magnified View
Figure 4.11. The ROC curves a) of the 90 2D2D search methods compared to theoriginal method. There is very little overlap between the error bars of the ROCfor the original algorithm and any of the perturbation search methods indicatingall 2D2D search methods are significantly better than the original algorithm. Amagnified view centered at FAR = 0.001 is shown in b).
51
0.0000 0.0005 0.0010 0.0015 0.0020
0.92
0.94
0.96
0.98
1.00
6D ROC
False Accept Rate
True
Acc
ept R
ate
6DOriginal
(a) ROC Curves
0.0008 0.0009 0.0010 0.0011 0.0012
0.95
0.96
0.97
0.98
0.99
1.00
6D ROC
False Accept Rate
True
Acc
ept R
ate
6DOriginal
(b) Magnified View
Figure 4.12. The ROC curves a) of the 6D search method compared to the originalmethod. There is very little overlap between the error bars of the ROC for theoriginal algorithm and the 6D perturbation search method indicating the 6D searchmethod is significantly better than the original algorithm. A magnified view centeredat FAR = 0.001 is shown in b).
52
TABLE 4.6
COMPARISON OF THE BEST PERFORMING SEARCH METHODS
Method 1 Method 2 T@F 1 T@F 2 p-value
2D1D2D1D 2D2D2D0.992841 0.992750 0.909928
(xp, xl)(yp)(yl, rl)(rp) (xp, xl)(yp, rl)(rp, yl)
2D1D2D1D 3D3D0.992841 0.992524 0.765092
(xp, xl)(yp)(yl, rl)(rp) (yp, rp, yl)(xp, xl, rl)
2D1D2D1D6D 0.992841 0.992838 0.974116
(xp, xl)(yp)(yl, rl)(rp)
2D2D2D 3D3D0.992750 0.992524 0.852752
(xp, xl)(yp, rl)(rp, yl) (yp, rp, yl)(xp, xl, rl)
2D2D2D6D 0.992750 0.992838 0.90184
(xp, xl)(yp, rl)(rp, yl)
3D3D6D 0.992524 0.992838 0.654802
(yp, rp, yl)(xp, xl, rl)
match scores from the original algorithm. The ROC curves and score distributions
overlap so much, that it appears difficult to choose a best method simply through
a visual inspection.
To further analyze any differences that may be present in these methods, an all
versus all difference of TAR at a FAR of 0.001 test was performed. The results are
shown in Table 4.6.
From these tests, there were no statistically significant differences found between
the performances of these search methods. In fact, the p-values of the tests very
strongly suggest that the performances are all about the same. However, evidence
suggests that 6D is likely the best. Referring back to the approximation quality
53
metric presented in Table 4.2, this search method outperformed the others in finding
perturbations that performed nearly as well as the minimum score method.
54
0.0000 0.0005 0.0010 0.0015 0.0020
0.92
0.94
0.96
0.98
1.00
Best Search Methods
False Accept Rate
True
Acc
ept R
ate
2D2D3D2D1D6D
Figure 4.13. The ROC curves of the best performing search methods. The curves arenearly identical indicating that no significant performance difference exists betweenthe best search methods.
55
0.0 0.1 0.2 0.3 0.4
0.00
0.05
0.10
0.15
0.20
0.25
0.30
Best Search Method Distributions
Match Score Bins
% in
bin
2D2D3D2D1D6DOriginal
Figure 4.14. The true match score distributions of the best performing search meth-ods. Note that the methods have similar performance with regards to shifting ofthe original score distribution.
56
CHAPTER 5
CONCLUDING REMARKS
This thesis proposed to improve the performance of an iris recognition algorithm
in a verification scenario by perturbing the segmentation information provided by the
software and creating multiple probe templates to match against gallery templates.
Initially, a huge number, 117649, of perturbed templates were created from a single
input image. These templates were then compared against the associated gallery
template and the minimum match score of all of the generated templates was chosen
as the match score for the probe image. This resulted in a statistically significant
improvement over the original algorithm.
Statistical significance was established through testing of the true accept rate
(TAR) at a false accept rate (FAR) of 0.001 in the ROC analysis of the different
algorithms. The background for this testing was provided in Chapter 3.
This improvement, however, came at a huge computational cost, because each
perturbation results in a template that must be independently matched against the
gallery. This results in a computational increase that is linear with regard to the
number of perturbations used. As a result, the minimum score method, the method
of creating all perturbed templates and then using the minimum match score, is
currently infeasible for use in most contexts.
Alternatives to creating every perturbed template were then explored. Envision-
ing the set of all perturbations as a space to be searched led to the idea that prune
57
and search methods may be able to arrive at best performing perturbations without
needing to create all 117649 of them for each probe image. With the segmenta-
tion defined by six parameters, various search methods were proposed that explored
subspaces of different dimensions spanned by different sets of parameters.
All search methods tried found perturbations that performed statistically signif-
icantly better than the original algorithm. This was also achieved with anywhere
from about 500 to 1000 times less computational cost than the minimum score
method. Having established that these methods were indeed better than the origi-
nal method, the next question was how well they approximated the minimum score
method.
The same statistical test was used to compare the best search methods with
the minimum score method. And while a significant difference was found at level
α = 0.05, the actual performance difference between the search methods and the
minimum score method was around 0.1%, about ten times less than the difference
between the search methods and the original algorithm. Thus, it was reasoned that
the statistically significant difference between the search methods and the minimum
score method arose mostly from the algorithms being incredibly highly correlated.
That is, the algorithms agreed so much that even a minute difference could be
considered statistically significant.
One of the search methods was chosen as the best performer. The six-dimensional
(6D) search method was found to perform the best in both the ROC analysis and
in the approximation quality metric that measured how much the raw match scores
approximated those of the minimum score method. Because this method performs
much better than the original algorithm and very nearly as well as the minimum
score method while needing to create only 191 perturbations, the 6D method is con-
sidered proof that segmentation perturbations may realistically be used to improve
58
the performance of an iris recognition algorithm.
5.1 Future Work
The perturbation method for recognition improvement can be applied to any of
a number of recognition systems. The only requirement is that the segmentation
algorithm must have easily perturbed parameters. In theory, this would include
advanced contour based segmentations [8] where each point on the contour could be
perturbed, but more practically is limited to shape based segmentation methods.
Along these lines, the obvious next step is to apply this method to ellipse based
segmentations. The process would be quite similar to perturbing circle based seg-
mentations. However, the parameter space for ellipses has more dimensions thus
requiring more time to perform each match.
With the increase in time required to find the best perturbation and match, a
parallel implementation of this process becomes increasingly beneficial. To address
this, an implementation of this concept has begun using the CUDA [1] library which
allows easily programmed general purpose computing on a GPU. Once completed,
this would allow for perturbation matching to occur in nearly as little time as single
template matching.
59
BIBLIOGRAPHY
[1] NVIDIA CUDA compute unified device architecture - programming guide.http://developer.download.nvidia.com/compute/cuda/1\_0/NVIDIA\_CUDA\_Programming\_Guide\_1.0.pdf, 2007.
[2] UIDAI : Unique Identification Authority of India. http://www.uidai.gov.in/, May 2011.
[3] Using the iris recognition immigration system (iris). http://www.ukba.homeoffice.gov.uk/travellingtotheuk/Enteringtheuk/usingiris/, May2011.
[4] A. Blake and M. Isard. Active Contours. Springer-Verlag, 1998.
[5] M. Carrasco, L. Pizarro, and D. Mery. Bimodal biometric person identificationsystem under perturbations. In Advances in Image and Video Technology, Proc.of PSIVT, pages 114–127, 2007.
[6] J. Daugman. The importance of being random: statistical principles of irisrecognition. Pattern Recogntion, 36(2):279–291, 2003.
[7] J. Daugman. How iris recognition works. IEEE Transactions on Circuits andSystems for Video Technology, 14(1), January 2004.
[8] J. Daugman. New methods in iris recognition. IEEE Trans. on Systems, Man,and Cybernetics, 37(2):1167–1175, 2007.
[9] B. Efron. An Introduction to the Bootstrap. CRC Press LLC, 1993.
[10] L. Flom and A. Safir. Iris recognition system. http://www.google.com/patents?hl=en&lr=&vid=USPAT4641349&id=4I4tAAAAEBAJ&oi=fnd&dq=flom+safir&printsec=abstract#v=onepage&q&f=false, 1987.
[11] H. Imaoka, A. Hayasaka, Y. Morishita, A. Sato, and T. Hiroaki. NEC’s facerecognition technology and its applications. NEC Technical Journal, 5(3):28–33, 2010.
[12] M. Kass, A. Witkin, and D. Terzopoulos. Snakes: Active contour models.International Journal of Computer Vision, 1(4):41–50, 2005.
[13] X. Liu, K. Bowyer, and P. Flynn. Experiments with an improved iris segmen-tation algorithm. In Proc. Fourth IEEE Workshop Automatic IdentificationTechnologies (’05), pages 118–123, 2005.
60
[14] L. Masek. Recognition of human iris patterns for biometric information, 2003.In fulfillment of Bachelor degree requirements.
[15] J. Min, K. Bowyer, and P. Flynn. Eye perturbation approach for robustrecognition of inaccurately aligned faces. Lecture Notes in Computer Science,(3546):41–50, 2005.
[16] P.J. Phillips, K.W. Bowyer, P.J. Flynn, X. Liu, and W.T Scruggs. The irischallenge evaluation 2005. In IEEE Second International Conference on Bio-metrics: Theory, Applications and Systems, 2008.
[17] T. Riopka and T. Boult. The eyes have it. In Proc. ACM SIGMM Biometricsmethods and applications (WBMA’03), page 9, 2003.
[18] T. Riopka and T. Boult. Classification enhancement via biometric patternrecogntion. In Proc. from Audio-Video Based Person Authentication, pages850–859, 2005.
[19] S.S. Shapiro and M.B. Wilk. An analysis of variance test for normality (com-plete samples). Biometrika, 52(3 and 4):591–611, December 1965.
[20] J.M. Smereka. A new method of pupil identification. IEEE Potentials, pages15–20, March 2010.
[21] K. A. Spackman. Signal detection theory: Valuable tools for evaluating in-ductive learning. In Proc. of the Sixth International Workshop on MachineLearning, pages 160–163, 1989.
[22] J.W. Thompson and P.J. Flynn. A segmentation perturbation method forimproved iris recognition. In 2010 Fourth IEEE International Conference onBiometrics: Theory Applications and Systems (BTAS), pages 1–8, 2010.
[23] R.P. Wildes, J.C. Asmuth, G.L. Green, S.C. Hsu, R.J. Kolczynski, J.R. Matey,and S.E. McBride. In Applications of Computer Vision, Proceedings of theSecond IEEE Workshop on, pages 121–128, December 1994.
[24] J.C. Wu, A.F. Martin, and R.N. Kacker. Measures, uncertainties, and signif-icance test in operational roc analysis. Journal of Research of the NationalInstitute of Standards and Technology, 116(1):517–537, January 2011.
[25] E. Yoruk, E. Konukoglu, B. Sankur, and J. Darbon. Shape-based hand recog-nition. IEEE Trans. on Image Processing, 15(7):1803–1815, 2006.
[26] J. Zuo and N.A. Schmid. On a methodology for robust segmentation of nonidealiris images. IEEE Transactions on Systems, Man, and Cybernetics, 40(3):703–718, June 2010.
61