design and fabrication of a computer-based … · 2019-08-02 · physiological attributes of a...
TRANSCRIPT
DESIGN AND FABRICATION OF A COMPUTER-BASED
FINGERPRINT SECURITY SYSTEM FOR RESTRICTED ACCESS
CONTROL
MAATO OMBABA JARED
I56/CE/14122/09
A thesis submitted in partial fulfillment of the requirements for the award of the Degree
of Master of Science (Electronics & Instrumentation) in the School of Pure and Applied
Sciences of Kenyatta University
October, 2018
ii
DECLARATION
I declare that the work presented in this thesis is my original work and has never been
presented for the award of any degree in any university.
Maato Ombaba Jared
Signature…………………………………………………..Date…………………………
Department of Physics
Kenyatta University
We confirm that the candidate carried out the work reported in this thesis under our
supervision
Supervisors:
Prof. Elijah Mwangi
Signature…………………….……………………..Date…………………………………..
School of Engineering
University of Nairobi/ Kenyatta University
Dr. Patrick Karimi
Signature………………………………………….Date…………………………………...
Institute of Energy Studies and Research
Kenya Power and Lighting Company
iii
DEDICATION
This thesis is dedicated to my parents
iv
ACKNOWLEDGEMENT
Let me start by expressing my profound gratitude to my supervisors, Prof. Elijah Mwangi
and Dr. Patrick M. Karimi for inspiring intellectual guidance, constructive criticism and
valuable suggestion throughout this research. I have also received assistance from several
lecturers and technicians in the Physics department and wish to thank them all.
I am very thankful to my family for the support they have given me in addition to being a
source of inspiration in my studies and I owe them immeasurable gratitude. Special
thanks to my brother Ben now a resident in Texas, USA.
To my M.Sc. colleagues: Wycliff Nyaberi, Newton Shivachi, Francis Kamau, Nancy
Wanja and Rose Mose, I wish to thank them for their support and encouragement
throughout my research. My colleague, John Lumumba assisted in the electromagnetic
lock fabrication and his contribution is hereby acknowledged.
I have also received support and encouragement from Mr Evans Nyantari, the Principal
of Ibeno Secondary School in Kisii and the entire staff. Special thanks to the twins
Evelyn and Paostinah of Ibeno Secondary School for their cooperation in the testing of
the system.
Finally, I thank the almighty God for keeping me in good health.
v
TABLE OF CONTENTS
DECLARATION ................................................................................................................ ii
DEDICATION ................................................................................................................... iii
ACKNOWLEDGEMENT ................................................................................................. iv
TABLE OF CONTENTS .................................................................................................... v
LIST OF FIGURES ........................................................................................................... ix
LIST OF TABLES ............................................................................................................. xi
ABBREVIATIONS AND ACRONYMS ......................................................................... xii
ABSTRACT ..................................................................................................................... xiv
CHAPTER 1 ....................................................................................................................... 1
INTRODUCTION .............................................................................................................. 1
1.1 Background to study .............................................................................................................. 1
1.2 Statement of the research problem ......................................................................................... 2
1.3 Objectives .............................................................................................................................. 2
1.4 Rationale for the research ...................................................................................................... 3
1.5 Scope of work ........................................................................................................................ 3
1.6 Organisation of the thesis ....................................................................................................... 3
1.7 Research publication .............................................................................................................. 4
CHAPTER 2 ....................................................................................................................... 5
LITERATURE REVIEW ................................................................................................... 5
2.1 Introduction ............................................................................................................................ 5
2.3 Computer-based door access control ..................................................................................... 5
vi
CHAPTER 3 ....................................................................................................................... 9
BIOMETRIC RECOGNITION SOLUTIONS AND COMPUTER INTERFACING ....... 9
3.1 Introduction ............................................................................................................................ 9
3.2 Biometric recognition ............................................................................................................ 9
3.2.1 Benefits of biometrics in access control ......................................................................... 9
3.2.2 False rejection rate and false acceptance rate ............................................................... 10
3.2.3 A brief overview of biometric solutions ....................................................................... 12
3.3 Fingerprint recognition ........................................................................................................ 13
3.3.1 Fingerprint patterns ....................................................................................................... 14
3.3.1.1 Basic patterns ......................................................................................................... 14
3.3.1.2 Minutiae features ................................................................................................... 14
3.3.2 Fingerprint sensors ........................................................................................................ 15
3.3.3 Matching algorithms ..................................................................................................... 17
3.4 The SM 630 fingerprint module .......................................................................................... 19
3.4.1 Introduction ................................................................................................................... 19
3.4.2 The SM630 technical specifications ............................................................................. 20
3.4.3 The SM630 electrical interface ..................................................................................... 20
3.4.4 SM630 communication protocol and coding method ................................................... 21
3.5 Computer ports..................................................................................................................... 22
3.5.1 Introduction ................................................................................................................... 22
3.5.2 Serial Port (RS-232) ...................................................................................................... 22
3.5.3 Parallel port (LPT) ........................................................................................................ 23
3.5.4 The universal serial bus port ......................................................................................... 25
vii
3.5.5 General purpose interface bus (IEEE 488).................................................................... 25
3.5.6 USB to UART Converter (UC00A) .............................................................................. 26
3.5.6.1 Introduction ............................................................................................................ 26
3.5.6.2 The UC00A pin definition ..................................................................................... 26
3.6 LabVIEW ............................................................................................................................. 27
3.6.1 Introduction ................................................................................................................... 27
3.6.2 Basic components of LabVIEW ................................................................................... 28
3.6.3 LabVIEW SubVI .......................................................................................................... 30
3.6.4 Virtual Instrument Software.......................................................................................... 30
3.6.5 The National Instrument Measurement and Automation Explorer ............................... 31
3.6.6 The NI vision acquisition software ............................................................................... 32
CHAPTER 4 ..................................................................................................................... 33
RESEARCH METHODOLOGY...................................................................................... 33
4.1 Introduction .......................................................................................................................... 33
4.2 The system block diagram ................................................................................................... 33
4.2.1 The SM630 to PC interface ........................................................................................... 34
4.2.2 Relay driver ................................................................................................................... 40
4.3 Software design .................................................................................................................... 41
4.3.1 Introduction ................................................................................................................... 41
4.3.2 A program code for sending a command to SM630 ..................................................... 42
4.3.3 A program code for receiving a command from SM630 .............................................. 42
4.3.4 A complete code for enrolment/ training ...................................................................... 43
4.3.5 A program code for verification .................................................................................... 45
viii
CHAPTER 5 ..................................................................................................................... 52
RESULTS AND DISCUSSIONS ..................................................................................... 52
5.1 Introduction .......................................................................................................................... 52
5.2 Training phase ...................................................................................................................... 52
5.3 Verification phase ................................................................................................................ 56
5.4 Comparison to other systems ............................................................................................... 60
CHAPTER 6 ..................................................................................................................... 62
CONCLUSION AND RECOMMENDATIONS ............................................................. 62
6.1 Conclusion ........................................................................................................................... 62
6.2 Recommendations ................................................................................................................ 62
REFERENCES ................................................................................................................. 64
APPENDICES .................................................................................................................. 68
1. THE VI CODE FOR ADDING TEMPLATES IN LIBRARY .................................... 68
2. A CODE FOR SEARCHING FINGERPRINTS IN THE LIBRARY ......................... 69
3. EXAMPLES ILLUSTRATING THE USE OF SM630 CODES ................................. 70
4. A PHOTOGRAPH OF A PROTOTYPE OF THE DESIGNED SYSTEM ................. 72
ix
LIST OF FIGURES
Figure 2.1: An illustration of the voice-based door access control system ....................... 6
Figure 2.2: An illustration of security system using facial recognition ............................. 7
Figure 2.3: An illustration of the system architecture ....................................................... 8
Figure 3.1: An example of error rate curves .................................................................... 11
Figure 3.2: Basic fingerprint patterns .............................................................................. 14
Figure 3.3: Minutiae features ........................................................................................... 15
Figure 3.4: Serial port (RS-232) DB-9connector. ............................................................ 23
Figure 3.5: Computer port (LPT) DB-25connector ......................................................... 24
Figure 3.6: The UC00A showing its pin layout ............................................................... 27
Figure 3.7: An example of the LabVIEW front panel and a block diagram.................... 29
Figure 3.8: A virtual instrument icon and connector. ...................................................... 30
Figure 3.9: A screen shot showing a typical NI MAX interface. .................................... 32
Figure 4.1: A block diagram showing the system hardware. ........................................... 34
Figure 4.2: Connection between the SM630 and UC00A. .............................................. 35
Figure 4.3 (a): A screen shot showing the device manager window. .............................. 36
Figure 4.3 (b): A screen shot indicating the COM port number...................................... 36
Figure 4.3 (c): A screen shot indicating the status of the device. .................................... 37
Figure 4.3 (d): A screen shot showing COM port settings. ............................................. 37
Figure 4.3 (e): A screen shot showing advanced COM port settings. ............................. 38
Figure 4.4 (a): A screen shot of the NI MAX window. ................................................... 39
Figure 4.4 (b): The NI MAX window showing COM port settings. ............................... 40
Figure 4.5: Relay driver switching circuit ...................................................................... 41
x
Figure 4.6: A simple code for sending a command to SM630. ....................................... 42
Figure 4.7: A simple code for receiving a command from SM630. ................................ 43
Figure 4.8: A VI block diagram showing a complete code for enrolment. ..................... 44
Figure 4.9: A front panel for enrolment. .......................................................................... 45
Figure 4.10: A flow chart of the main program. .............................................................. 46
Figure 4.11: A VI showing the detection cycle of the verification program. .................. 47
Figure 4.12: A code for the verification cycle of the main program. .............................. 48
Figure 4.13: A VI showing the code for relay control. .................................................... 49
Figure 4.14: A code for image capture. ........................................................................... 50
Figure 4.15: A complete VI of the main program. .......................................................... 51
Figure 4.16: A front panel for verification program ........................................................ 51
Figure 5.1: The front panel response during enrolment................................................... 53
Figure 5.2: The front panel response at the end of enrolment. ........................................ 54
Figure 5.3: The front panel response at the end of verification ....................................... 57
Figure 5.4: The system response timing diagram. ........................................................... 58
xi
LIST OF TABLES
Table 3.1: The SM630 technical specification................................................................. 20
Table 3.2: The SM630 pin definition ............................................................................... 21
Table 3.3: The pin definition of DB-9 ............................................................................. 23
Table 3.4: The pin definition of a common USB port ..................................................... 25
Table 3.5: The UC00A Pin definition .............................................................................. 27
Table 3:6: Physical connection of VISA resource string syntax ..................................... 31
Table 3.7: VISA resource names and their meanings. ..................................................... 31
Table 5.1: Training performance of the designed system ................................................ 55
Table 5.2: Access status for an authorised subject........................................................... 59
Table 5.3: A summary of comparison to other systems ................................................... 61
xii
ABBREVIATIONS AND ACRONYMS
ANFIS Adaptive – Network based Fuzzy Inference Systems
API Application Programming Interface
BM Base image
CTS Clear to send
DCD Data carrier detect
dpi Dots per inch
DSP Digital Signal Processor
FDTI Future Technology Device International
FAR False Acceptance Rate
FRR False Rejection Rate
GPIB General Purpose Interface Bus
IEEE Institution of Electrical and Electronic Engineers
IVI Interchangeable Virtual Instruments
LabVIEW Laboratory Virtual Instruments Engineering Workshop
LPT Line printer
MATLAB MATrix Laboratory
MAX Measurements and Automation Explorer
xiii
NI National Instruments
PIN Personal Identification Number
TTL Transistor-transistor logic
UART Universal Asynchronous Receiver Transmitter
USB Universal Serial Bus
VIs Virtual Instruments
VISA Virtual Instrument Software Architecture
xiv
ABSTRACT
The access to a restricted area within a premise is normally done through a manual
system of keys and locks. This has been automated through the use of personal
identification number (PIN) or passwords and smartcard technology. However, such
systems are faced with a number of limitations such as losing a smartcard, forgetting a
PIN, duplication of keys and impersonation. Thus, the use of an authentication system
such as biometric verification techniques has become an effective alternative for access
control. Biometric systems for access control currently in the market are expensive thus
restricting their wide usage. This is because they are available as embedded units made of
high cost sensors and hardware. In this research study, a prototype of a computer-based
fingerprint door access control is designed and presented. It consists of the SM630
fingerprint verification module and a relay-operated electromagnetic lock. The system
performs training and verification using a LabVIEW application program. After
verification of an authorised user, the result is passed onto the lock unit to grant physical
access to a restricted area. For an imposter, the system rejects access. It then captures an
imposter image and stores it thus enhancing security analysis. The system is finally tested
by performing training and verification. Training is done by enrolling subjects and
storing their fingerprint templates in a library. Verification, on the other hand, is done by
testing fingerprint inputs from both authorised and imposter subjects. With the help of the
LabVIEW front panel resource, enrolling a subject takes a maximum of 11 seconds while
verification process 2 seconds to give the feedback. Parameters such as false rejection
rate (FRR) and false acceptance rate (FAR) are computed.
1
CHAPTER 1
INTRODUCTION
1.1 Background to study
Access control is an important security arrangement in premises. One of the basic
security systems in a building is the door access control. It is a physical control that limits
access to specific persons and by keeping records of such entries (Wahyudi et al., 2007).
Access control is in most cases done manually using locks and keys. Others are
controlled by smartcards and personal identification numbers (PINs) (Osadciw et al.,
2002).
However, these methods have disadvantages such as losing a smartcard, forgetting a PIN
and duplication of keys. Thus, biometric verification options are used as an alternative for
access control because they are authentic. In biometric methods one or more
physiological attributes of a person are used in verification (Wahyudi et al., 2007).
Most biometric methods used for authentication include: facial recognition, voice
recognition, fingerprint recognition (Kung et al., 2004). While biometric systems have
been designed and installed within premises for access control purposes, the high cost has
limited their wide usage. Thus, researchers have been studying computer-based biometric
access system with the aim of coming up with cheap systems. This is because with the
advancement of computer technologies, interfacing sensors and other peripherals with the
PC have been made possible (Chaudhry et al, 2004).
2
In addition, various programming languages are currently available which enables
automation of these systems. An example is the LabVIEW programming language which
is used in this research work. It uses graphical icons as opposed to text-based
programming languages such as C, C++, C#, and JAVA. (Franz, 2003).
In this research a computer-based fingerprint access system is designed and fabricated. It
consists of an SM630 finger print module, a personal computer running a LABVIEW
program and an electromagnetic lock driven by a relay unit. When access is requested by
a user, the system performs verification with the end result being granting or rejecting
access.
1.2 Statement of the research problem
Biometric systems for restricted access control have been produced and put into use.
However, these systems are expensive thus limiting their wide usage. With the rapid
growth of computer technology and availability of sensors, a simple and cheap system for
restricted access control can be designed.
1.3 Objectives
Main objective
The main objective of this research work is to design a computer-based fingerprint
security system for restricted access control.
Specific objectives
The specific objectives for this research work are:
i. To design and fabricate an electro-mechanical locking unit comprising of a relay,
a transistor circuit and an electromagnetic lock.
3
ii. To develop a LABVIEW program to control the fingerprint module during
training phase and to switch relay during verification phase.
iii. To test the performance of the designed system during training and verification
using selected subjects‟ fingerprints
1.4 Rationale for the research
Most systems for restricted access control lack authentication. In addressing this
limitation, biometric verification systems have been considered as an alternative.
However biometric systems currently in the market are expensive thus restricting their
wide usage. This is because they are available as embedded units made of expensive
sensors and hardware. A system that employs the use of rapid growth of computer
technology, low cost sensors and the availability of numerous programming languages
which enhances automation is required. This is the motivation for this research work.
1.5 Scope of work
This research work presents computer interfacing and focusing on the use LabVIEW
programming language to control external devices. The external devices here are the
fingerprint reader verification module (SM630) and the electro-mechanical unit. Thus, it
should be noted that this work is more of the application of LabVIEW in control,
automation and data acquisition rather than fingerprint matching algorithm design.
1.6 Organisation of the thesis
This thesis has is organised into six chapters. Chapter 1 introduces the research work with
objectives, motivation and scope. Chapter 2 presents a discussion on the related works
done from relevant literature. Chapter 3 presents a theoretical background on biometric
4
recognition and computer interfacing techniques. Chapter 4 presents the research
methodology focusing on hardware layout and software design for this work. Chapter 5
presents a discussion of the research results. Chapter 6 presents the conclusion and
implication of the research results and gives a recommendation on further work.
1.7 Research publication
A scientific paper entitled “A low Cost Computer Based Fingerprint Security System for
Restricted Access Control Automation using LabVIEW” has been published in the
International Journal of Computer Applications.
5
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
Computer-based biometric access control has been studied and published in literature.
This chapter briefly describes some of these systems focusing on their design
methodology, results and recommendations. The study of these researchers‟ work gives
the basis of this research work.
2.3 Computer-based door access control
As discussed in chapter one that computer interfacing in control has become popular,
researchers have embarked on studying computer-based systems. Wahyudi et al. (2007)
designed a computer-based door access control system using adaptive-network-based
fuzzy inference systems (ANFIS) as illustrated in figure 2.1. A low-cost microphone was
used as a voice sensor. A voice-based verification system using Perceptual Linear
Prediction (LPC) coefficients was used.
The voice processing and verification algorithms were implemented using MATLAB. As
a result, a decision signal would be sent through the parallel port of the PC to open the
door lock. The system‟s false acceptance rate (FAR), on the average, was found to be
smaller than 10%. It was recommended that for high level security applications, a further
improvement be done so that the system produces a FAR less than 1%.
6
Figure 2.1: An illustration of the voice-based door access control system
(Wahyudi et al, 2007).
Arulogun et al. (2008) designed a computer-based security system using facial
recognition as illustrated in figure 2.2. The PC is used to compare different facial images
captured by a camera with those one in the database. The program then sends the decision
signal through the parallel port which triggers the operation of a mechanical sliding door
thus granting the physical access. The main program was written on a MATLAB
platform.
7
Figure 2.2: An illustration of security system using facial recognition (Arulogun et al,
2007).
Ashraf (2011) designed a computer-based biometric access control system using
fingerprint for restricted area as illustrated in figure 2.3. The system was designed to
register fingerprints in a database. A personal computer and a Bio Entry Plus Scanner
were the main components. A MATLAB code was used for image filtering and
processing while a C# one for matching. It was recommended that to increase security
level, a bimodal (fingerprint and eye) be used.
8
Figure 2.3: An illustration of the system architecture (Ashraf, 2011)
Iwasokun (2015) designed a fingerprint matching algorithm using minutiae-singular
point‟s network. The matching algorithms were designed on a MATLAB platform using
the Euclidian and spatial relationships to determine matching score for fingerprint
images. It was tested on different image qualities obtained from the FVC2002 Fingerprint
Database. The system gave a FAR of 0% with FRR in the range of 7-10%. The relatively
large FRR presented a high failure rate of the matching algorithm (Iwaskun, 2015).
From the above studies, it can be observed that researchers have attempted to design a
computer-based system for restricted access control. They have used biometric features
such as face and fingerprints. However, the reported failure rates make these systems
unreliable. Thus, this research aims at designing a system which is robust and reliable. It
presents a low failure rate hence suitable in restricted access control application.
9
CHAPTER 3
BIOMETRIC RECOGNITION SOLUTIONS AND COMPUTER INTERFACING
3.1 Introduction
The computer-based fingerprint security system is made of a fingerprint sensor and a lock
unit both interfaced to a computer running a LabVIEW program. Thus, this chapter
presents a theoretical background of biometric solution, fingerprint sensors, computer
interfacing techniques and LabVIEW.
3.2 Biometric recognition
Biometric recognition is the use of an individual‟s biometric attributes such as the
fingerprint, iris, voice, and the face for verification purposes. These attributes may be
used jointly but in most practical applications, they are used individually. The recognition
system establishes the identity of a subject or fails to if one is not enrolled in the system
library. Any human physiological or behavioural characteristic can be used as a biometric
identifier as long as it satisfies the following requirements: universality, distinctiveness,
permanence and collectability (Ashraf, 2011). Since biometric identifiers cannot be easily
forged, or shared, they are considered more reliable for person recognition than
traditional token or knowledge-based methods. (Pankanti et al, 2002).
3.2.1 Benefits of biometrics in access control
In biometrics, only authorised persons are allowed into a restricted area. A card-based
access system can recognise a card but not who is in possession of the it. Those systems
which use the PIN only require an individual to key in a specific number to gain entry
regardless of who actually enters the code. Biometrics can eliminate the need for cards.
10
While the cost of cards has dramatically reduced in the recent past, the true benefit of
eliminating them is realised through a reduced administrative effort. For instance, a lost
card must be replaced and re-issued by someone meaning there is a cost associated with
the time spent to complete the task (Kung et al., 2004).
3.2.2 False rejection rate and false acceptance rate
A biometric recognition system generally makes four possible decisions; these are:
i. An authorised person is accepted.
ii. An authorised person is rejected.
iii. An imposter is accepted.
iv. An imposter is rejected.
Thus, the accuracy of a biometric access system is specified based on the rate or
probability at which it rejects an authorised person or the one at which it accepts an
imposter. The probability that an authorised person is rejected is called false rejection rate
(FRR) and the one that an imposter is accepted is called false acceptance rate (FAR).
Both FAR and FRR are normally expressed in percentage using equation 3.1 and 3.2
(Wahyudi et al., 2007).
(3.1)
(3.2)
where NFR is the number of false rejects and NAA is the number of authorised persons‟
attempts. Similarly, NFA is the number of false acceptance and NIA is the number of
11
imposters‟ attempts. For achieving high security level in biometrics, both FAR and FRR
should be kept low.
The FRR and FAR can be affected by increasing or decreasing the sensitivity of the
device. The extent to which how much each error rate is affected by altering the
sensitivity is a characteristic of a manufacturer‟s device. For instance, a device may offer
an extremely low FAR at a given sensitivity, but the corresponding FRR may be totally
unacceptable. The balance of the two error rates for a given application is critical to the
success of a biometric system. Error curves such as the ones in figure 3.1 give a graphical
representation of the biometric device‟s performance. The point at which the FAR and
FRR intersect is called the Equal Error Rate (ERR). The corresponding sensitivity setting
for the ERR is found on the lower axis. It presents a good indication of the biometrics all-
around performance. A small ERR translates to a superior security system (Spence, 2013)
Figure 3.1: An example of error rate curves (Spence, 2013).
12
3.2.3 A brief overview of biometric solutions
Biometric solutions can be classified as either physiological or behavioural. Examples of
physiological biometrics are the fingerprint, the voice and the iris while the behavioural
ones are the keystroke dynamics, handwriting/ signature and also the voice (Biometric
Solutions, 2015).
(i) Face recognition
This recognition uses distinguishing features of the face such as a unique facial shape,
pattern and positioning to authenticate a subject. The advantage of face recognition is that
the face can be captured from a relatively long distance by a camera thus the subject may
not be aware about being observed.
However, the face recognition has limitations such as in situations where the face may be
covered by long hair or other head gears. In other cases, the subject may not look directly
into the camera thus making it hard for the software to recognise the face. Finally, the
face of a subject may change with ageing or in cases where plastic surgery is performed.
(ii) Voice recognition
This method is used for identifying a subject based on voice. Voice recognition involves
recording, feature extraction and matching. This recognition presents a number of
advantages: voice has several unique features and it is easy to record. However, cases of
voice impairment such being mute and change with ageing is a challenge to this type of
recognition.
13
(iii) Iris recognition
In this recognition, the subject is identified by analysing the pattern of the iris such as
furrows and rings existing in the coloured tissue around the pupil. It is a relatively recent
biometric solution even for commercial application due to previous patent limitations
(Biometric Solutions, 2015). The iris does not change with ageing. However, an issue
such as assurance of the subject‟s safety hinders its application. The subject may fear
losing sight due to excessive lighting.
(iv) Palm print recognition
This recognition involves analysis of the palm print features such as aspect ratio of the
fingers and palm thickness. The subject places and aligns the palm on the sensor which
reads the hand attributes. The resulting feature vector is computed and stored (Bolle, et al
2003). The main advantage of the hand geometry recognition is that it is convenient and
faster to use. However, it does not achieve the highest level of accuracy (Tripathi, 2011).
3.3 Fingerprint recognition
Fingerprint recognition is based on the comparison of two fingerprints. It is one of the
most used biometric solutions for authentication in access control, attendance systems
and electronic voting system (Kumar et al., 2013). The reasons for fingerprint recognition
being popular are the ease of acquisition, established use and acceptance when compared
to other biometrics (Maltoni et al., 2003).
14
3.3.1 Fingerprint patterns
3.3.1.1 Basic patterns
There are three basic patterns of fingerprint ridges namely: the arch, the loop, and the
whorl. An arch (Figure 3.2 a) is a pattern where the ridge enters one side of the finger,
then rises in the center forming an arch, and exits on the other side of the finger. A loop
(Figure 3.2 b) is where the ridge enters one side of the finger, then forms a curve, and
exits on the same side of the finger from which it entered. Loops are the most common
pattern in fingerprints. Finally, a whorl (Figure 3.2 c) is when ridges form circularly
around a central point (Ikinyokum et al., 2009).
(a) ( b) (c)
Figure 3.2: Basic fingerprint patterns with a (arch), b (loop) and c (whorl) (Tai et al.,
2008).
3.3.1.2 Minutiae features
Minutiae are specific points in a fingerprint. They are the most important features in
fingerprint recognition. There are three major types of minutiae features: the ridge
ending, the bifurcation, and the dot (also called short ridge). The ridge ending (Figure 3.3
15
a) is, as indicated by the name, a spot where the ridge ends. A bifurcation (Figure 3.3 b)
is the spot where the ridge splits into two. Dots (Figure 3.3 c) are ridges which are
significantly shorter than the average ridge length on the fingerprint (Jiang et al., 2000).
(a) (b) (b)
Figure 3.3: Minutiae features shown in (a), (b) and (c): ridge ending, bifurcation and dot
respectively (Jiang et al., 2000).
3.3.2 Fingerprint sensors
A fingerprint sensor is an electronic device that is used to capture a digital image of a
fingerprint pattern. The captured image is known as a live scan. It is processed to create a
biometric template (a collection of extracted minute points) which is stored and used for
matching as discussed in section 3.3.3. Matching algorithms are used to compare between
the previously stored fingerprint and the subject‟s for authentication purposes. This is
done by either comparing the two images or the minutiae features (Majid et al., 2003).
Fingerprint sensors have become a vital part in recognition systems. (Ashraf, 2011)
16
The commonly used fingerprint sensor technologies are optical, ultrasonic, capacitive and
thermal. A brief discussion on the technology behind their operation, the accuracy and
cost implication on each is discussed in sections (a), (b), (c) and (d).
(a) Optical sensors
Optical fingerprint readers are the most commonly used. They work on the principle of
optical sensing technology. An LED illuminates a fingerprint placed on the sensor
window. With the use of total internal reflection, the fingerprint image is captured in
grey-level thus giving a ridge pattern needed for analysis.
Optical readers are less expensive than others. However, they may result to a false accept
due to being impacted by dirty or marked fingers (Biometric Solution, 2015).
(b) Solid-state sensors
They are also referred to as capacitive sensors. A fingerprint is placed on a
semiconductor sensing chip. The image of fingerprint is formed by sensing differences in
capacitance. Being a one-chip sensor, it offers a low-cost implementation for thin
devices. However, these sensors can be susceptible to electrostatic discharge thus
creating insufficient sensitivity for dry and dusty fingers (Kaoru, 2005).
(c) Ultrasound sensors
These sensors use high frequency sound waves to form an image of the fingerprint. The
ultrasound can penetrate the epidermal layer of the skin thus they are not susceptible to
17
dirty or scarred surface. These fingerprint sensors are costly but due to their accuracy, the
ultrasound readers remain very popular (Biometric Solution, 2015).
(d) Thermal sensors
Thermal sensors work by measuring the temperature difference between fingerprint
ridges and valleys. These sensors are limited due to high power consumption and also the
fact that the performance depends on the ambient temperature.
3.3.3 Matching algorithms
Matching algorithms are used to compare stored fingerprint templates against those of the
subject for authentication purposes. It is based on the fact that no two fingerprints of the
same type from different subjects have been shown to be identical (Mazumdar et al.,
2013). There are two types of matching algorithms, namely: minutiae and pattern based.
The minutiae algorithm is the most widely used technique. It relies on recognition of the
minutiae points. The pattern matching, on the other hand, compares the basic fingerprint
patterns such as an arch, whorl and loop between a stored template and a subject‟s
fingerprint image. The two images must be aligned in the same orientation. This is done
by the algorithm finding a central point in the fingerprint images. The candidate‟s
fingerprint image is graphically compared with the stored template in order to determine
the degree to which they match and a score is generated (Jain et al., 2010). Due to the
nature of the scope of this research, a detailed mathematical analysis of matching
algorithms is limited.
18
Let t and q be the feature vectors representing minutiae points from the template and
query fingerprint respectively. Each element of these feature vectors is a minutiae point,
which may be described by different attributes such as location and angle of orientation.
The most common representation of a minutiae is the triplet x, y, and θ where (x, y) is the
minutiae location and θ is the minutiae angle (Kumar et al., 2013). Let the number of
minutiae in t and q be m and n, respectively.
(3.3 a)
(3.3 b)
The minutiae in t and in q are considered matching if the following conditions are
satisfied (Kumar et al., 2013):
(3.4 a)
(3.4 b)
where, and are the parameters of the tolerance window which are required to
compensate for errors in feature extraction distortions caused by skin plasticity. The
number of minutiae points can be maximised if a proper alignment (registration
parameters) between query and template fingerprints can be found. To correctly align two
fingerprint templates, a complex geometrical transformation function that maps the two
minutiae set (Q and T) is required and should be tolerant to distortion.
19
3.4 The SM 630 fingerprint module
3.4.1 Introduction
The SM630 is a fingerprint verification module manufactured by Miaxis Biometrics. It
consists of an optical fingerprint sensor, high performance digital signal processor (DSP)
and Flash memory. This module is used to perform fingerprint verification. The main
features of SM630 are:
i. It exhibits a high adaption to a wide range of fingerprints conditions. For instance,
when reading fingerprint images, it uses an adjustment mechanism to capture both
dry and wet fingers.
ii. It is a less expensive module because it adopts the Miaxis‟ optical fingerprint
collection device thus lowering the overall cost (Miaxis, 2008)
iii. The module consumes relatively low power since the operation current is less
than 80 mA.
iv. It is easy to use and expand given that the image processing algorithms are pre-
installed. Thus, one can easily develop powerful fingerprint verification systems
without necessarily developing the image processing software but instead use the
controlling commands.
v. Finally, the module is an integrated design meaning that all the fingerprint
collection components are packaged in the same device with only 4 cables
available for interfacing with a computer or a microcontroller.
20
3.4.2 The SM630 technical specifications
The module‟s technical specifications give an essential information required for
designing a system such as the voltage ratings, operating current, communication baud
rate etc. as summarised in table 3.1
Table 3.1: The SM630 technical specification (Miaxis, 2008)
Technical aspect Specifications
Operating voltage 4.3-6 V (exceeding 6.5 V will cause
permanent damage to the module)
Operating current 80 mA (for an input voltage of 5V)
Interface protocol Standard serial interface, (TTL level)
Communication baud rate 57600 bps
User flash memory 64 kB
3.4.3 The SM630 electrical interface
This section presents the SM630 pin definition and their function. When interfacing the
module, the pin definition helps in making the correct connections. Table 3.2 shows the
pin definition of the SM630.
21
Table 3.2: The SM630 pin definition (Miaxis, 2008)
Pin number PIN definition
1 To be connected to a +5V power supply
2 This is the module‟s transmit pin (Tx)
3 This is the module‟s receive pin (Rx)
4 To be connected to the –ve or ground of the
power source
3.4.4 SM630 communication protocol and coding method
When the SM630 is interfaced to a computer, the communication between the computer
and the module is done using codes. These codes are in form a string of bytes (referred to
as packets). One packet may contain several bytes thus it is convenient to express them in
hexadecimal number system. A single packet is made of the following:
i. Packet head (2 bytes)
ii. Packet flag (1 byte)
iii. Packet length (1 byte)
iv. Packet content (N bytes)
v. Check sum (1 byte)
When the SM630 module is powered on, it waits for a command. Once it receives the
correct command, the module processes it. After the process, it sends a feedback in form
of a response code. The feedback is useful in decision making. Appendix 3 gives
examples illustrating the operation of the module in terms of command codes and
possible responses.
22
3.5 Computer ports
3.5.1 Introduction
Ports are used to connect peripheral devices to a computer. This is known as computer
interfacing. Computers process information in binary numbers. A zero (0) represents a
low state while and a one (1) represents a high state in a voltage standard level called
transistor-transistor logic (TTL). Some examples of computer ports are: serial interface,
parallel interface, Universal Serial Bus (USB) interface, and General-Purpose Interface
Bus (GPIB).
3.5.2 Serial Port (RS-232)
The serial port is a nine-pin connector (as shown in Figure 3.4 and Table 3.3) which
transmits information one bit at a time, hence the term serial port. Before internal
modems became common, external ones were connected to computers via serial ports,
also known as „COM‟ ports. Computer mice and keyboards also use serial ports. Some
serial ports use 25-pin connectors, but the nine-pin type is more common. Serial ports are
controlled by a module known as the Universal Asynchronous Receiver Transmitter
(UART).
23
Figure 3.4: Serial port (RS-232) DB-9connector.
Table 3.3: The pin definition of DB-9
DB-9 Pin number Signal
1 DCD, data carrier detect
2 RXD, receive data
3 TXD, transmit data
4 DTR, data terminal ready
5 GND, signal
6 DSR, data set ready
7 RTS, request to send
8 CTS, clear to send
9 R1, ring indicator
3.5.3 Parallel port (LPT)
The LPT (Line Printing Terminal) is a common name given to a parallel port of a
computer. In most computers there are two LPT ports, although some may have up to
24
three such ports. These ports were designed primarily for printers. However, a wide
variety of peripherals can be connected to these ports (Peacock, 1998). A standard
parallel port transmits eight data bits at a time, unlike a serial port which transmits data
one bit at a time. Due to its speed advantage (2 Mb/s, at least) over the serial port, parallel
ports are commonly used in printers and even small computer networks. The port is
composed of 4 control lines, 5 status lines and 8 data lines as shown in figure 3.5. The
rest of the pins (18 – 22) are signal grounds.
Figure 3.5: Computer port (LPT) DB-25connector (Markham, 1993)
The status pins are used to allow the printer or other external circuit to signal the
computer. Control pins, on the other hand, are used to allow the computer to control the
printer or an external circuit. The data pins are used for sending or receiving data. They
may also be used, under some modification, in the same manner as the status and control
pins.
25
Since most of the recent computers are not equipped with the parallel port, A USB to
parallel converter interface is used to control peripheral devices. An example is the
FT245R USB to parallel interface (FTDI, 2016) used in this research for relay control.
3.5.4 The universal serial bus port
The USB port is an industry standard for short-distance digital data communications.
There is a growing use of the USB interface in the recent past because most peripherals
are equipped with this port. Examples of USB devices that are in the market today
include printers, scanners, digital cameras and scientific data acquisition.
The common USB port uses 4 shielded wires; two of which are for +5V and GND while
the rest are for differential data signals labeled D+ and D- as shown in table 3.4. The D+
and D- signals are transmitted on a twisted pair. No termination is needed. Half-duplex
differential signaling helps to combat the effects of electromagnetic noise on longer lines.
Table 3.4: The pin definition of a common USB port (Electus distribution, 2001)
Pin no. Name Cable colour Description
1 VCC Red +5 VDC
2 D- White Data-
3 D+ Green Data +
4 GND Black Ground
3.5.5 General purpose interface bus (IEEE 488)
The GPIB is an 8-bit parallel communication interface with data transfer rate of up to 8
MB/s. The bus provides one system controller for up to 14 instruments and cabling is
26
limited to 20m. Users can overcome both of these limitations by using GPIB expanders
and extenders.
3.5.6 USB to UART Converter (UC00A)
3.5.6.1 Introduction
The USB to serial converter is necessary when interfacing a microcontroller to the
computer. In the past, interfacing a microcontroller to the computer has been done
through serial port (RS-232). In this case, a signal level shifter was needed between these
interfaces because the RS-232 protocol applies high voltage swing while microcontrollers
use TTL voltage levels. However, in the recent past, the RS-232 ports of most computers
have been replaced with USB. Thus, vendors such as Cytron have developed the USB to
UART converter; the UC00A being such an example (Cytron, 2008).
3.5.6.2 The UC00A pin definition
The UC00A is a USB plug and play, direct interface with microcontroller and it provides
low current and 5V supply from the USB port of a computer. It has four pins (as shown
in figure 3.6 and table 3.5) namely Rx, Tx, positive (+) and ground. In the research work,
the UC000A is used as a bridge between the SM630 and the computer USB as presented
in chapter 4.
27
Figure 3.6: The UC00A showing its pin layout (Cytron, 2008).
Table 3.5: The UC00A Pin definition (Cytron, 2008)
Pin Label Definition Function
1 + It is a 5V power output
from the UC00A
The 5V from the USB can be an optional for user
to power an external device, not exceeding
200mA.
2 _ It is a ground or
negative.
It acts as a ground of power and signals. This pin
should be connected to a device‟s GND pin.
3 TX It is the UC00A UART
transmit signal
It should be connected to a device‟s receiver pin.
4 RX It is the UC00A UART
receive signal
It should be connected to device‟s transmitter
pin.
3.6 LabVIEW
3.6.1 Introduction
The term LabVIEW stands for Laboratory Virtual Instrument Engineering Workbench. It
is a graphical programming language developed and distributed by National Instruments
(NI). A LabVIEW Program is created using graphical notations unlike text-based
programming languages such as C, C++ and Java. Programming using LabVIEW enables
28
a programmer to easily develop powerful applications than using text-based languages. It
allows the programmer to concentrate on data flow within the application since its simple
syntax does not obscure the function of the program (Travis et al., 2006).
3.6.2 Basic components of LabVIEW
A LabVIEW program is made up two main parts: a front panel and a block diagram. The
front panel is the interactive user interface of a Virtual Instrument (VI). It contains
controls (which are user inputs) and indicators (which are program outputs) as shown in
figure 3.7 (a). Examples of controls are knobs, push buttons, and toggle switch; while
indicators are graphs, LEDs, and numeric among others. The VI block diagram (Figure
3.7 b) is the LabVIEW program‟s source code constructed by connecting wires to the
appropriate objects (graphical icons) together in order to define data. Front panel objects
have corresponding terminals on the block diagram where data can pass to and from the
user to the program.
Data transfer between the objects is done through wires. Each wire has a single data
source but it can transfer data to multiple functions and VIs. They are of different
colours, styles and thickness depending on the data type. If a wire is connected between a
source and destination of different data types, it will indicate an error. This making
debugging easier.
Structures are graphical representation of loops and case statements in text-based
programming platform. Structures are used for looping and decision making or branching
when certain program conditions are met. They include: the “for loop”, while loop,
sequence structure, case structure, formulae node, timed loop and stacked sequence
29
structure. Control and tools palette are used to modify the front panel and block diagram
objects. The control palette, for instance, contains the controls and indicators used to
create the front panel.
Figure 3.7: An example of the LabVIEW front panel and a block diagram in (a) and (b)
respectively (Vemulkar, 2013).
b
a
30
3.6.3 LabVIEW SubVI
A LabVIEW subVI is a program that is embedded in another. It is analogous to a
subroutine in text-based programming languages. In order to use a virtual instrument (VI)
as a subroutine in the block diagram of another program, it must have an icon with a
connector as shown in figure 3.8.
Figure 3.8: A virtual instrument icon and connector.
When a sub VI is used in the block diagram of another program, it appears as an object.
The VI‟s connector is then used to wire data into it.
3.6.4 Virtual Instrument Software
The VISA is a high-level API (Application Programming Interface) that calls into lower
level drivers. It is capable of controlling serial as well as parallel instruments and makes
the appropriate driver calls depending on the type of instrument being used. In order for
LabVIEW to communicate with any instrument, VISA needs to know the physical
connection of the instrument and its location. This information is done via VISA resource
string. Table 3.6 shows some syntax for constructing VISA resource strings while table
3.7 shows VISA resource names and their meanings.
31
Table 3:6: Physical connection of VISA resource string syntax (Travis and Kring, 2006).
Physical
connection
Visa resource string
VXI VXI[board]::VXI logical address[::INSTR]
GPIB GPIB[board]::primary address[::GPIB secondary address][::INSTR]
PXI PXI[bus]::device[::function][::INSTR]
Serial ASRL[board][::INTR]
Serial COM[port number]
TCP-IP TCPIP[board]::host address[::LAN device name][::INSTR]
TCP-IP (raw) TCPIP[board]::host address::port::SOCKET
USB USB[board]::manufacture ID::model cord::serial number[USB
interface number][::INSTR]
Table 3.7: VISA resource names and their meanings.
Visa resource name Description
Com 1 Serial Port on COM 1
ASRL3::INSTR Serial Port on COM 3
GPIB0::12::INSTR GPIB Board number 0, GPIB primary address 12
3.6.5 The National Instrument Measurement and Automation Explorer
The National Instruments Measurement and Automation Explorer (NI MAX) is a
graphical user interface used to configure interchangeable virtual instruments (IVI). It is
usually installed with one of the NI application development environments such as
LabVIEW or Measurement Studio (National Instruments, 2015). Figure 3.9 shows an
32
example of NI MAX screen shot having identified some devices. In chapter 4, a further
discussion on how the NI MAX is used for device configuration is presented.
Figure 3.9: A screen shot showing a typical NI MAX interface.
3.6.6 The NI vision acquisition software
The NI vision acquisition software is driver software for acquiring, displaying, logging,
and monitoring images from a multitude of camera types. This software is included with
all NI vision hardware. It also includes NI-IMAQ, a free driver for acquiring from digital
camera as well as NI-IMAQdx for acquiring from GigE vision, IIDC-compliant IEEE
1394 cameras, IP (Ethernet), and Direct show-compliant USB devices such as webcams,
microscopes, scanners, and many consumer-grade imaging products (National
Instruments, 2015).
Devices identified by NI
MAX
33
CHAPTER 4
RESEARCH METHODOLOGY
4.1 Introduction
The computer-based fingerprint system is made up of hardware units and the software.
The hardware provides the required signals to the computer in digital form and the
software within the computer analyses these signals to provide the desired output, which
in turn, control the peripheral units. In this research work, the hardware comprises of
fingerprint sensor module (the SM630), a relay and an electro-mechanical lock system.
This chapter, therefore, presents the procedure involved in the design and integration of
these parts.
4.2 The system block diagram
The hardware units mentioned in section 4.1 should be correctly interfaced to the
computer using appropriate interfacing standards and techniques. Figure 4.1 is a block
diagram showing the layout of these units, namely: the fingerprint module (SM630), the
USB to UART converter (UC00A), relay driver and an electromagnetic lock unit.
34
Figure 4.1: A block diagram showing the system hardware.
4.2.1 The SM630 to PC interface
Since the SM630 fingerprint module uses UART interface standard, a USB to UART
bridge is required in order to connect it to the computer. As shown in figure 4.2, the Tx
pin of SM630 is connected to Rx of UC00A. Similarly, the Rx of SM630 is connected to
Tx of UC00A.
Relay
driver
Electromagnetic lock
USB interface
USB to UART
converter
(UC00A)
SM630
fingerprint
module
UART interface
Computer
running a
LabVIEW
program
Decision signal
12 V dc
35
Figure 4.2: Connection between the SM630 and UC00A.
When the UC00A is plugged into the computer, a virtual serial port (COM) is created.
The first step is to install the virtual COM port drivers (VCP). After this installation, the
device manager is able to recognise the virtual COM port whose settings are done as
follows:
(i) On the Windows device manager, the section showing „ports (COM & LPT)‟ as
shown in figure 4.3 (a) is opened. Below it, a section bearing „USB serial port
(COM 7)‟ is displayed as shown in figure 4.3 (b). It is observed that the USB
serial port is currently set as COM 7. This can be changed with further settings as
presented in the next section.
36
Figure 4.3 (a): A screen shot showing the device manager window.
Figure 4.3 (b): A screen shot indicating the COM port number.
37
(ii) The current COM port is opened for further settings as shown in figure 4.3 (c), 4.3
(d) and 4.3 (e).
Figure 4.3 (c): A screen shot indicating the status of the device.
Figure 4.3 (d): A screen shot showing COM port settings.
38
Figure 4.3 (e): A screen shot showing advanced COM port settings.
In order for a LabVIEW program to access the virtual COM port resource, the (NI MAX)
is used to configure it. The followings steps are followed:
i) The NI MAX is opened to display the „devices and interfaces‟ as shown in figure
4.4 (a). it can be seen that the NI MAX has already detected devices and
interfaces such as the webcam and the COM port.
39
Figure 4.4 (a): A screen shot of the NI MAX window.
ii) Under the „devices and interfaces‟, the „ASRL3:: INSTR‟ is selected. It opens a
window displaying the port settings similar to those in the device manager as
shown in figure 4.4 (b). A deviation in port settings between the device manager
and NI MAX will lead to port conflict.
40
Figure 4.4 (b): The NI MAX window showing COM port settings.
iii) Finally, on opening the „validate‟ button, a VISA session is opened thus a
LabVIEW program can access the COM port resource.
4.2.2 Relay driver
A relay is required to energize the electromagnetic lock. The relay coil, used as a
normally open (NO) switch, is driven by a simple transistor circuit shown in the figure
4.5.
The decision signal from the USB-parallel data port (FT245R) is fed to an opto- coupler
via a current limiting resistor R1. When the decision signal is in HIGH state, the
transistor is driven to saturation thus energising the relay which subsequently opens the
lock. On the other hand, when the signal falls to a LOW state, the transistor falls to cut-
off thus the spring-latched lock closes.
41
Figure 4.5: Relay driver switching circuit
The choice of the values of the resistors is obtained from basic computations based on
transistor data sheet specifications and transfer characteristics.
4.3 Software design
4.3.1 Introduction
The computer-based access control system is comprised of two phases; training and
verification. The software, in conjunction with the hardware units, performs these phases.
The software design for both training and verification using LabVIEW programming
language is thus presented in this section. It performs the following functions:
i) Sending of commands to SM630 fingerprint sensor module.
ii) Reception of commands from the SM630.
iii) Interpretation of the received commands for decision making.
12V LOCK
D1IN4007
+V
V15V
SRDRLY1
12VSPDT
Q1BC337
R310k
R210k
R1270
DATA PORTU1
PC817
USB-parallel
(FT245R)
42
iv) Displaying information on the front panel/user interface.
4.3.2 A program code for sending a command to SM630
To write a simple code for sending a command to SM630, a VISA write function is
placed on the block diagram as illustrated in figure 4.6. Two important objects are wired
onto the VISA write function; that is VISA resource and a hex string constant. The string
constant carries the command to be sent to the SM630 while the VISA resource specifies
I/O port for which the SM630 is connected to, an example is COM 3.
Figure 4.6: A simple code for sending a command to SM630.
4.3.3 A program code for receiving a command from SM630
Once a command has been sent, the SM630 always responds by sending RS32 codes.
Therefore, it is necessary to include a “VISA read” function on the VI block diagram as
shown in figure 4.7. Three important objects are wired to the “VISA read” function,
among them include byte count and read buffer. The byte count instructs the “VISA read”
43
to wait for a specific number of bytes before passing it on to the “read buffer”. The
information read can be displayed on the front panel resource.
Figure 4.7: A simple code for receiving a command from SM630.
4.3.4 A complete code for enrolment/ training
This code is designed by placing more objects, Boolean functions, timed loops and sub-
VIs on the VI as illustrated in figure 4.8. The corresponding front panel resource, whose
purpose is to serve as user interface, is shown in figure 4.9.
The following program segments (sub VIs) are used to construct a complete code for
training:
i) Add thumbprint.vi
ii) Delete thumbprint.vi
iii) Search thumbprint.vi
iv) Empty library.vi
44
Some of these VIs are shown in appendix 1 and 2. Incorporating these subs VIs in the
program for enrolment helps enhance the front panel interaction with the user and
automation.
Figure 4.8: A VI block diagram showing a complete code for enrolment.
SubVI
45
Figure 4.9: A front panel for enrolment.
4.3.5 A program code for verification
This code serves the purpose of decision making during verification phase. It makes two
important decisions: to grant or reject access based on the commands it receives from
SM630. The verification program has been designed to work in the following steps as
summarised in the flow chart in figure 4.10:
i) Checks whether a thumbprint is placed on the sensor window of SM630.
ii) If the thumb is present, it moves to the next step otherwise it loops.
46
iii) The program checks whether the thumbprint matches with any in the system
library and makes appropriate decisions (as presented in chapter 5) and then loops
to step (i).
Figure 4.10: A flow chart of the main program.
In order to execute the steps illustrated in the flow chart (Figure 4.10), the verification
code has been designed by linking three program segments in the VI. The first segment,
called detection cycle, performs steps (i) and (ii). Its VI is shown in figure 4.11. The wire
47
indicated by the arrow is a Boolean for triggering the next program segment to execute.
As long as its Boolean value is false, the program loops as stated in step (ii).
Figure 4.11: A VI showing the detection cycle of the verification program.
The second segment executes depending on the decision coming from the previous one.
Its function is to execute step (iii). Its code is shown in figure 4.12. Again, the wires
indicated by the arrows carry Boolean values for decision making as discussed in chapter
5.
48
Figure 4.12: A code for the verification cycle of the main program.
49
The final segment in conjunction with the second one executes step (iii). It is called the
action cycle since it is the one which triggers actions such as image capture, relay
activation, ringing buzzer etc. Figure 4.13 is an example the action cycle code for relay
control while that of 4.14 is for image capture. The Boolean wires shown by the arrows
pointing upwards and downwards in figure 4.13 are for turning the relay on and off
respectively while the one in figure 4.14 points a file folder for storing the image.
Figure 4.13: A VI showing the code for relay control.
50
Figure 4.14: A code for image capture. The PC‟s webcam was used in this research.
When executed, it turns on the webcam, captures an image and stores it in file folder
named “DENIED”.
When all these segments are combined, a single VI results as shown in figure 4.15. The
corresponding front panel is shown in figure 4.16.
51
Figure 4.15: A complete VI of the main program.
Figure 4.16: A front panel for verification program
Detection cycle
Verification
Camera
Relay
52
CHAPTER 5
RESULTS AND DISCUSSIONS
5.1 Introduction
This chapter presents the test results obtained during training and verification phases
using thumbprints of selected subjects. These results are presented in form of front panel
display and tables. Based on these results, the effectiveness of the designed system in
restricted access control applications is evaluated.
5.2 Training phase
During training, the subject places and aligns the finger on the sensor window. A thumb
or an index finger is preferred because the fingerprint surface is large and its quality
better (Miaxis, 2008). In this work, the thumbprint is used due to its convenience.
An interactive front panel (user interface) is then used to enroll a subject as follows:
i) The program, enrolment.vi, is opened and set to run continuously.
ii) The position in the system library where the thumbprint template is to be
stored is chosen as shown in figure 5.1.
53
Figure 5.1: The front panel response during enrolment
iii) Next „ADD THUMB‟ is opened. If a template already exists in that position,
the system prompts the user whether to replace it or move to another free slot.
iv) Based on the decision the user makes (on iii above), the subject is then asked
to place the thumb print on the sensor window with a gentle pressing. The
system then processes template enrolment, displaying the results as shown in
figure 5.2.
Template lib position
54
Figure 5.2: The front panel response at the end of enrolment.
As shown in figure 5.2 (b), the status „ADD SUCCESSFUL‟ means that the template has
been successfully processed and stored in the system library. However, in some
instances, the template processing may fail particularly when the thumbprint quality is
poor or when it is not well aligned with sensor window. Therefore, in this research work,
a number of varying thumbprint conditions are used and the test results presented in table
5.1.
55
Table 5.1: Training performance of the designed system
Subject fingerprint condition System response
Subject 1: dry and clean fingerprint Training successful; fingerprint added to
system memory
Subject 2: wet fingerprint (water) Training successful; fingerprint added to
system memory
Subject 3: dusty with chalk Training successful; fingerprint added to
system memory
Subject 4: dusty with dry soil Training successful; fingerprint added to
system memory
Subject 5: dusty with mud Fingerprint quality is poor (process failure)
Subject 6: fingerprint with transparent cello
tape
Training successful; fingerprint added to
system memory
Subject 7: oily and scratched fingerprint
with used engine oil
Fingerprint quality is poor (process failure)
Subject 8: fingerprint with ink drops Training successful; fingerprint added to
system memory
Fingerprint image on paper obtained using
ink
No finger detected
As shown in table 5.1, a wide range of fingerprint conditions are successfully processed
during training. This is because; the SM630 fingerprint module is designed with a self-
adaptive parameter adjustment mechanism which improves imaging quality for both dry
and wet fingers (Miaxis 2008). Thus, training simply requires fairly clean fingerprints in
addition to correct alignment in the sensor window. For instance, fingerprints coated with
mud or oil are rejected during training. Interestingly, the system does not recognise a
fingerprint image on paper. This is because the sensor performs a live scan only.
56
5.3 Verification phase
In the verification phase, the program „verify.vi‟ is opened to run in a continuous mode.
The verification process then automatically executes as follows (Figure 5.4):
i) The front panel first displays the message; „welcome”.
ii) Shortly after, it displays, „press your thumb and wait‟.
iii) If the thumb is pressed, it displays „thumb detected‟ followed „processing‟.
iv) If the thumb is not pressed, it displays „thumb not detected‟ and then loops to (i).
Thus, the system cannot proceed to cycle 2 as shown in figure 5.4.
v) If the thumbprint is of an authorised subject, the system then grants access by
displaying „access allowed‟, turning LED green, ringing the buzzer and unlocking
the spring latch as shown in figure 5.3 (a). After 4 seconds, the system loops to
(i).
vi) If the thumbprint is of an imposter subject, the system then denies access by
displaying „access denied‟, turning LED red, ringing the buzzer, leaving the
spring latch locked and capturing the image of an imposter. After 4 seconds, the
system loops to (i).
57
Figure 5.3: The front panel response at the end of verification, with (a) showing
access allowed and (b) access denied.
b
a
58
Figure 5.4: The system response timing diagram.
In order to evaluate the effectiveness of the designed system in access control
applications, the FRR and FAR are computed. To compute the FRR, 100 subjects are
enrolled in the system library. These are the authorised subjects. On the verification
phase, the system is tested to determine whether the authorised subject is granted access
or rejected. It is observed all the authorised subjects are granted access. Thus, the number
of false rejects (NFR) is zero (0). Based on this number, FRR is computed as:
where NAA is the number of attempts by authorized users and is given as 100.
substituting;
giving FRR as 0 %
0 5 10 15 20
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
B
Time (s)
B
“Welcome”
“Press thumb and wait”
“Thumb detected”
Action
Detection cycle Verification cycle
59
However, it has been observed that an authorised subject may be denied access. This is
possible when, for instance, the subject‟s fingerprint print is dirty or not properly aligned.
Table 5.2 shows the system response on comparison between the subject‟s fingerprint
condition during training and verification.
Table 5.2: Access status for an authorised subject
Authorized subject thumbprint condition
Access status During training During verification
Dry and clean fingerprint Dry and clean fingerprint Allowed
Dry and clean fingerprint Wet fingerprint Allowed
Dry and clean fingerprint Dusty fingerprint Allowed
Dusty fingerprint Dry and clean fingerprint Allowed
Dry and clean fingerprint Oily fingerprint Denied
Dry and clean fingerprint Wrong alignment of thumb Denied
Fingerprint of a twin Fingerprint of an imposter twin Denied
From table 5.1, if subject is enrolled with a clean fingerprint, access is denied when a
dirty fingerprint is used. However, this does not mean a total rejection since after using a
clean fingerprint, access is now granted. Interestingly, it is observed that if a twin subject
is enrolled into the system, access is only granted to the authorised twin but rejects an
imposter twin.
60
To determine the FAR, 100 imposters are tested one at a time during verification. It is
observed that no imposter is granted access. This means the number of false accepts is
zero. Also based on this, FAR is computed as follows:
where NIA is the number of attempts by imposters and is given as 100.
substituting;
giving FAR as 0 %
The manufacturer‟s specified FRR for the SM630 is less than 0.01% while that for FAR
is less than 0.0001% (Miaxis 2008).
5.4 Comparison to other systems
The designed system has been compared to other systems as summarised in table 5.3. A
number of design aspects and experimental results as presented in chapter 2 are used in
the comparison.
61
Table 5.3: A summary of comparison to other systems
System Biometric
attribute
Hardware Software
platform
NO.of
subjects
FAR FRR
The
designed
system
Fingerprint The SM630,
PC, relay-
operated
lock
LabVIEW;
for
automation
and control;
matching
algorithm is
in-built
100 0% 0%
Iwasokun Fingerprint PC,
fingerprint
images
obtained
from
FVC2002
database
MATLAB;
for matching
algorithm
80
fingerprint
images
0% 7.765%
on
average
Ashraf Fingerprint PC, Bio
Entry Plus
Scanner;
also images
from the
FVC2002
database
MATLAB;
for filtering
and image
processing;
C# for
matching
Did not
report
Did not
report
Did not
report
Wahyudi
et al
Voice Microphone,
PC, relay-
operated
lock
MATLAB;
for voice
processing
and
verification
algorithms
9 16.6%
on
average
5.9%
on
average
Arulogun Face PC, digital
camera,
electro-
mechanical
unit to
open/close
door
MATLAB;
for image
processing
and
verification.
Did not
report
Did not
report
Did not
report
62
CHAPTER 6
CONCLUSION AND RECOMMENDATIONS
6.1 Conclusion
A computer-based security system for restricted access control has been designed,
implemented and tested. The system has been successfully tested for training and
verification performance. Quantities such as FRR and FAR have been computed.
Training takes approximately 11 seconds while verification (authentication process in
particular) is 2 seconds long. The designed system can be an alternative low-cost access
control to a restricted area in premises.
6.2 Recommendations
The designed system controls a single entrance for a restricted area. Further research
should be done to expand this system to control multiple entrances using one centralised
PC. Each entrance should have its own fingerprint sensor interfaced to the central
computer.
The SM630 is supposed to be off when not in use so as to improve its lifespan. Thus,
incorporating motion sensors at the entrance will assist in automatic powering of the
module in addition to loading the program automatically so as to save the computer‟s
CPU resources.
A combination of biometric attributes such as the face and fingerprint should be used. In
the face recognition, the image processing algorithms can be developed using LabVIEW
platform in conjunction with the IMAQ vision toolbox. The IMAQ vision toolbox has a
number of image acquisition and processing functions such as pattern matching, texture
recognition and image filtering. The image can be captured using a USB camera.
63
Finally, a fingerprint sensor utilising ultrasound technology should be used. This because
ultrasound sensors do not reject dirty or poor-quality fingerprints. With this type of
sensor, the subject can swipe a fingerprint thus improving the performance of the system
in terms convenience.
64
REFERENCES
Akinyokum, O.C. and Adegbeyeni, E.O. (2009). Scientific Evaluation of the Process
of Scanning and Forensic Analysis of Thumbprints on Ballot Papers. Proceedings of
Academy of Legal, Ethical and Regulatory Issues
Arulogun, O.T., Omidiora, E.O., Olaniyi, O.M, and Ipadeola, A. (2008).
Development of Security System using Facial Recognition. The Pacific Journal of
Science and Technology 9 (2): 377-385.
Ashraf, E.S. (2011). Design and Implementation Biometrics control system Using
Fingerprint for restricted area Based on Gabor Filter. The International Arab Journal
of Information Technology 8 :355-363.
Bill, S. (2013). Biometrics in Physical Access Control; Issues, Status and Trends.
Recognition Systems, Inc
Bolle, M.R., Connell, J.H., Pankanti, S., Nalini, K.R. and Andrew, W.S. (2003).
Guide To Biometrics.
Chaudhry, K.K. and Nakra, P. (2004). Instrumentation, Measurement and Analysis.
Tata McGraw-Hill, New Delphi.
Cytron Technologies (2008). USB to UART Converter UC00A User manual.
Electus Distribution, (2001). The USB or Universal Serial Bus. Electus Distribution
Reference Manuals
Iwasokun, G.B (2015). Fingerprint Matching Using Minutiae-Singular Points
Network. International Journal of Signal Processing, Image and Pattern Recognition.
8: 375-388
65
Franz, H. (2003). Use of Labview for Virtual Instrumentation Technology.
Proceedings of 2003 American Society for Engineering Education (ASEE) Annual
Conference and Exposition.
Kaoru, U. (2005). Detection and Recognition technologies, Fingerprint Identification.
The NEC journal of advanced technology 2 (1) :19-26.
Jain, A.K., Jianjiang, F. and Karthink, N. (2010). Fingerprint Matching. IEEE
Computer Society :36-44.
Jiang, X.D., and Yau, Y. (2000). Fingerprint minutiae matching based on the local
and global structures. 15th International Conference on Pattern Recognition
Proceedings, Barcelona, Spain, 2: 1038-1041.
Kumar D. and Ummal S. (2013). A Comparative Study on Fingerprint Matching
Algorithms for EVM. Journal of Computer Sciences and Applications 1 (4) :55-60.
Kung, S.Y., Mak, M.W. and Lin, S.H. (2004). Authentication: Machine Learning
Approach. Prentice Hall.
Majid, M. and Saeed, J. (2005). Validity and Acceptability of Results in Fingerprint
Scanners. International Conference on Mathematical methods and computational
techniques in electrical engineering, Sofia :27-29.
Maltoni, D., Maio, D., Jain, A.K. and Prabhakar, S. (2003). Handbook of Fingerprint
Recognition. Springer Verlag, New York.
Markham, M. R. (1993). An interface for controlling external devices via the IBM
PC/XT/AT parallel port. Behaviour Research Methods, Instruments, & Computers.
25(4): 477-478.
66
Mazumdar, S. and Venkata, D. (2013). Biometric Security Using Fingerprint
Recognition. University of California, San Diego
Miaxis Biometrics (2008). SM630 Fingerprint Verification Module User Manual.
http:// www.miaxis.com
Pankanti, S., Prabhakar, S. and Jain, A.K. (2002). On the individuality of fingerprints.
Osadciw, L., Varshney, P. and Veeramachaneni, K. (2002). Improving Personal
Identification Accuracy Using Multi sensor Application. Proceedings the Fifth
international conference for information Fusion :1176-1783.
Peackock, C. (1998). Interfacing Parallel Port. http://www.senet.com.au/~cpeacock
Travis, J. and Kring, J. (2006). LabVIEW for Everyone: Graphical Programming
Made Easy. Third Edition. Prentice Hall,USA.
Tripathi,K.P. (2011). A comparative Study of Biometric Technologies with Reference
to Human Interface. International Journal of Computer Applications 14: 0975-8887.
Wahyudi, Winda, A. and Mohamed, S. (2007). Intelligent Voice-Based Door Access
Control System Using Adaptive-Network-based Fuzzy Inference Systems (ANFIS)
for Building Security. Journal of Computer Science 3 (5): 274-280.
Vemukar, A. (2013). Intermediate LabVIEW Tutorial.
http://www.ni.com (2015). About NI MAX
http://www.ni.com (2015). About NI VISION
http://www.biometric-solutions.com (accessed August 2015).
67
http:// www.ftdichip.com/Drivers/VCP.htm (accessed January 2017).
http://www.ftdichip.com/products/ICs/FT245R.htm (accessed January 2016).
68
APPENDICES
1. THE VI CODE FOR ADDING TEMPLATES IN LIBRARY
69
2. A CODE FOR SEARCHING FINGERPRINTS IN THE LIBRARY
70
3. EXAMPLES ILLUSTRATING THE USE OF SM630 CODES
Example 1: to add a fingerprint at a designated library location
Suppose the fingerprint is being added at position 0 in library, the command code should
be: 4D 58 10 03 40 00 00 F8. Here the 1st two bytes constitute the packet head, the 3
rd -
packet flag, the 4th
-packet length, the 5th
, 6th and 7th
-packet content, and finally the 8th
-
check sum. The check sum is found by adding the first 7 packets and then taking the low
byte of the sum. Similarly, to add a fingerprint at position 1, the following command is
sent: 4D 58 10 03 40 00 01 F9 and so on.
It can be noted that when the module is performing an operation, it will not respond to the
command sent by the host. This is a very important consideration when designing the
controlling program. Again, if the check sum for the received command is wrong, the
module responds by sending a „receive error‟ code, otherwise it sends a „receive correct‟
one. The module‟s „receive correct‟ code is 4D 58 30 01 01 D7 while the „receive error‟
one is 4D 58 30 01 02 D8. During program development, each command code should be
tested so as to minimise errors.
Apart from the above response codes, more ones are generated during the entire process
of adding a fingerprint. Since they there are wait times, the controlling software must be
carefully developed to include timing functions.
71
Example 2: to delete a fingerprint from a designated library location.
Just like in the example 1, to delete a fingerprint from position 0, for instance, the
command code should be: 4D 58 10 03 42 00 00 FA.
Example 3: to search fingerprint database information
This command code is essential in finding out whether a specific library position is
occupied by a template or not. To determine whether the position 0 is occupied or
otherwise, this command code is used: 4D 58 10 03 4B 00 00 03. First the module
responds as “Rx correct” by outputting 4D 58 30 01 01 D7. If there is a fingerprint in the
ID 0, the module responds as: 4D 58 30 02 4B 37 59. If there is no fingerprint with ID 0,
the module responds as: 4D 58 30 02 4B 38 5A.
Example 4: to empty the fingerprint database
This command code is necessary when the module‟s library is supposed to be cleared of
all the templates. The command code should be: 4D 58 10 01 46 FC. Once the command
code has been executed, the module responds as “Rx correct” by out-putting 4D 58 30 01
01 D7. After deleting all fingerprints, the module outputs: 4D 58 30 02 46 31 4E.
72
4. A PHOTOGRAPH OF A PROTOTYPE OF THE DESIGNED SYSTEM
SM630
LOCK