Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Iris Recognition full report
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Iris Recognition

[attachment=23408]


Introduction

Security and the authentication of individuals is necessary for many di erent areas of our
lives, with most people having to authenticate their identity on a daily basis; examples include
ATMs, secure access to buildings, and international travel. Biometric identi cation
provides a valid alternative to traditional authentication mechanisms such as ID cards
and passwords, whilst overcoming many of the shortfalls of these methods; it is possible
to identify an individual based on \who they are" rather than \what they possess" or
\what they remember" [4].
Iris recognition is a particular type of biometric system that can be used to reliably
indentify a person by analysing the patterns found in the iris. The iris is so reliable as
a form of identi cation because of the uniqueness of its pattern. Although there is a
genetic in
uence, particularly on the iris' colour, the iris develops through folding of the
tissue membrane and then degeneration (to create the pupil opening) which results in a
random and unique iris [5].
In comparison to other visual recognition techniques, the iris has a great advantage
in that there is huge variability of the pattern between individuals, meaning that large
databases can be searched without nding any false matches [1]. This means that irides
can be used to identify individuals rather than just con rm their given identity; a property
that would be useful in a situation such as border control, where it might be important
to not just show that an individual is not who they say they are but also to show exactly
who they are.
The objective of this project was to produce a working prototype program that functions
as an iris recognition tool using the algorithms described by Professor John Daugman
[1] and other techniques in order to implement this in an accurate and useful way
that is also user-friendly. Commercial iris recognition systems are available that implement
similar algorithms to these; however, there does seem to be an absence of open
source implementations. This is the hole that this project sets out to ll: providing a
fast, usable program that can easily be extended.


Minimum Requirements

At the outset of this project, some key tasks were identi ed that needed to be carried
out to ful l the aim of creating a working prototype of an iris recognition system. The
rst task was to read in an image of an eye and display this on screen. From this stage
the iris then needs to be isolated from the rest of the image; to do this accurately the
pupil, iris, and eyelids all need to be identi ed. This isolation was originally speci ed to
be carried out manually by the user by clicking points on the image.
The next task for the program was to calculate features of the iris pattern using the
algorithms described by Professor John Daugman[1]. The iris bitcodes that are obtained
from this can then be used to compare against a database of other such bitcodes to nd
the identity of the individual.


Extensions
A number of extensions to these requirements were also proposed in order to increase
the e ectiveness of the application if time permitted. The most desirable of these was
the implementation of a robust method for the automatic detection and isolation of the
iris; this would have the e ect of reducing the need for user input and hence reduce the
margin for error resulting from this to potentially improve the application's ability to
successfully identify an individual.


Methodology
To achieve automated iris recognition, there are three main tasks: rst we must locate
the iris in a given image. Secondly, it is necessary to encode the iris information into a
format which is amenable to calculation and computation, for example a binary string.
Finally, the data must be storable, to load and compare these encodings.
The decision was made to use C++ with the Qt framework for this project. C++ is
extremely fast and
exible for the large amount of calculations that need to be performed
for each iris. In the same vein, Qt is a comprehensive and well-established C++ toolkit
which provides a large amount of classes for producing elegant user interfaces. In addition
to this, it has several classes such as QPixmap and QImage for manipulating and loading
images easily. Qt is also a cross-platform toolkit, so the application will run on Linux,
Windows, and Mac desktops, adopting the operating system's native toolkit and giving
it an integrated feel on all platforms.


Iris Location
When locating the iris there are two potential options. The software could require the
user to select points on the image, which is both reliable and fairly accurate, however it is
also time consuming and implausible for any real-world application. The other option is
for the software to auto-detect the iris within the image. This process is computationally
complex and introduces a source of error due to the inherent complexities of computer
vision. However, as the software will then require less user interaction it is a major step
towards producing a system which is suitable for real-world deployment, and thus became
a priority for extending the program speci cation.
Locating the iris is not a trivial task since its intensity is close to that of the sclera1 and
is often obscured by eyelashes and eyelids. However the pupil, due to its regular size and
uniform dark shade, is relatively easy to locate. The pupil and iris can be approximated
as concentric and this provides a reliable entry point for autodetection.


Pupil
The pupil's intensity and location are fairly consistent in most images and so it lends
itself well to auto-detection. Detection of the pupil can be carried out by: removing noise
by applying a median blur, thresholding the image to obtain the pupil, performing edge
detection to obtain the pupil boundary and then identifying circles.
A median lter is a kernel based, convolution lter which blurs an image by setting
a pixel value to the median of itself with its neighbours. A nave approach to applying a
median lter would be to simply nd the median for a given area around each pixel by
sorting an array and nding the median to replace the current pixel with. This could be
implemented with a sorting algorithm which would have runtime O(n log n) on average.
However, since the software requires several median blurs on di erent images a more
ecient solution is required.