Sunteți pe pagina 1din 103

See

discussions, stats, and author profiles for this publication at: http://www.researchgate.net/publication/268657819

FingerPrint Base Electronic Voting System


THESIS JUNE 2012
DOI: 10.13140/2.1.1108.4481

READS

579

1 AUTHOR:
Haydar Imad Mohammed
Putra University, Malaysia
2 PUBLICATIONS 0 CITATIONS
SEE PROFILE

Available from: Haydar Imad Mohammed


Retrieved on: 29 October 2015

FingerPrint Base Electronic Voting System


Haydar Imad Mohammed
Telecommunication Engineering

A project submitted in partial fulfillment of the requirement of


For the degree of
BEng (Hons) in Telecommunication Engineering

ASIA PACIFIC UNIVERSITY OF TECHNOLOGY & INNOVATION


FACULTY OF COMPUTING, ENGINEERING & TECHNOLOGY
SCHOOL OF ENGINEERING

2013

Page 1 of 102

ACKNOWLEDGEMENT

I would like to thank everyone who had contributed to the success of completion of this
project. I would like to express my gratitude to my research supervisor DR. THANG KA
FEI, for his invaluable advice guidance and his patience throughout the development of
the project.

In addition, I would like to express my gratitude to my loving parents and friends


who have helped and given me encouragement for the completion of the project.

Page 2 of 102

ABSTRACT

This final year project deals with the design and development of a Fingerprint Electronic
Voting System. The suggested fingerprint voting system allows the user to scan his
fingerprint, in order to check his eligibility by comparing his current fingerprint with the
one already stored in the systems database, by the use of MATLAB using Gabor
algorithm. Gabor algorithm shows better result if it compared with other algorithms that
depend on Minutiae technique because it combines both local and global features. Once
the users complete the identification process, they will be allowed to cast their vote using
friendly geographical user interface. The counting of the votes will be immediately and
that makes the voting process efficient, fast, and secure.

Table of Contents
Page 3 of 102

CHAPTER 1 ................................................................................................................... 10
INTRODUCTION TO THE STUDY ............................................................................................................. 10

Project background ....................................................................................... 10


Objective of the project................................................................................. 12
Justification for the research ......................................................................... 12
Outline of the thesis ...................................................................................... 13
Summary ....................................................................................................... 14
CHAPTER 2 ................................................................................................................... 15
2.

LITERATURE REVIEW ....................................................................................................................... 15

Introduction ................................................................................................... 15
Domain research ........................................................................................... 17
Gaps and limitations of previous researches................................................. 21
Conclusion to the domain research ............................................................... 22
Technical research ........................................................................................ 23
Fingerprint recognition ................................................................................. 24
Fingerprint classifications ............................................................................. 25
Fingerprint algorithms .................................................................................. 27
Methodology ................................................................................................. 32
Technical research conclusions .................................................................... 34
CHAPTER 3 ................................................................................................................... 35
RESEARCH METHODOLOGY ..................................................................................................................... 35

Introduction ................................................................................................... 35
Research approach ........................................................................................ 36
Reasoning of design ...................................................................................... 37
Problem identification and specification of research objectives .................. 37
Primary research and concept ....................................................................... 40
System design and development ................................................................... 40
System structure (materials and component selection)................................. 44
Hardware and software system cost.............................................................. 45
Development system tools ............................................................................ 46
Systems design ............................................................................................ 47
Conclusion: ................................................................................................... 51
CHAPTER 4 ................................................................................................................... 52
DESIGN/SYSTEM IMPLEMENTATION AND TESTING.................................................................... 52

Page 4 of 102

Introduction to the design/system ................................................................. 52


The working process of the design/system ................................................... 53
Database design ............................................................................................ 58
The working process of the design/system ................................................... 60
Important codes............................................................................................. 71
Result ............................................................................................................ 75
Simulation and data analysis......................................................................... 80
CHAPTER 5 ................................................................................................................... 88
DISCUSSION ..................................................................................................................................................... 88

Interpretation of data ..................................................................................... 88


Sample calculations ...................................................................................... 89
Discrepancy between theoretical and experimental results .......................... 92
Comparison with the previous research: ....................................................... 92
CHAPTER 6 ................................................................................................................... 96
CONCLUSION AND RECOMMENDATIONS .......................................................................................... 96

Introduction ................................................................................................... 96
Limitations .................................................................................................... 97
Recommendation/ further research ............................................................... 97
Conclusion .................................................................................................... 99
References ..................................................................................................................... 100

Page 5 of 102

LIST OF FIGURES

FIGURE

TITLE

PAGE NUMBER

Figure 1: "The first vote" A.R. Waud, Wood engraving 1867. ...................................... 11
Figure 2: An old voting machine .................................................................................... 16
Figure 3: Availability of Voting Systems in 2013 ......................................................... 17
Figure 4: Optical voting system with ballot paper .......................................................... 18
Figure 5: mobile phone/ internet voting system .............................................................. 20
Figure 6: Types of fingerprint ......................................................................................... 26
Figure 7: Identification character .................................................................................... 27
Figure 8: flowchart of the minutiae method .................................................................... 28
Figure 9: Image enhancement using Binarization for minutiae algorithm .................... 29
Figure 10: Minutia compering ........................................................................................ 29
Figure 11: Recognition process by Correlation Filters ................................................... 31
Figure 12: Block diagram of GA- based for fingerprint identification ........................... 32
Figure 13: Fingerprint Development Flow Chart............................................................ 33
Figure 14: Research approach stapes .............................................................................. 36
Figure 15: Design Development Flow Chart .................................................................. 41
Figure 16: System ballot and control units block diagram ............................................. 42
Figure 17: User interface software Block Diagram ........................................................ 43
Figure 18: Software Fingerprint Block Diagram ............................................................ 43
Figure 19: The whole integrated system ......................................................................... 44
Figure 20: Fingerprint algorithm flowchart .................................................................... 48
Figure 21: GUIDE Quick Start to create new GUI ......................................................... 49
Figure 22: Working area of GUIDE................................................................................ 49
Figure 23: Properties of the selected item ....................................................................... 50
Figure 24: GUI using programing method ..................................................................... 51
Figure 25: Fingerprint voting system architecture .......................................................... 53
Figure 26: Fingerprint voting system context diagram (Level 0) ................................... 55
Figure 27: Fingerprint voting system high level diagram (Level 1) ............................... 56
Figure 28: Registration and identification modes Diagram (level 2) .............................. 57
Figure 29: Low level Diagram (Level 3) ........................................................................ 58
Figure 30: Database design ............................................................................................. 59
Figure 31: Database specifications of registration part ................................................... 60
Figure 32: Database specifications for voting part ......................................................... 60
Figure 33: Block diagram of the algorithm ..................................................................... 61
Page 6 of 102

Figure 34: Orientation angle O (i,j) ................................................................................ 62


Figure 35: Regions for integrating .................................................................................. 63
Figure 36: Center point (reference point)........................................................................ 64
Figure 37: Rotation equation and figure ......................................................................... 65
Figure 38: The Sectorized image .................................................................................... 66
Figure 39: fingerprint image with suboptimal contrast ................................................... 67
Figure 40: fingerprint image after normalization ............................................................ 68
Figure 41: distance between the valleys and the parallel ridges ..................................... 69
Figure 42: 0 and 60 degree orientation for impulse response of Gabor filter ................. 69
Figure 43: Final result of Gabor filter ............................................................................. 70
Figure 44: Zeros function's code ..................................................................................... 72
Figure 45: Image normalization code ............................................................................. 73
Figure 46: Summations representation code .................................................................. 73
Figure 47: Fingerprint voting system database code....................................................... 74
Figure 48: Results of center point algorithm on different images .................................. 75
Figure 49: Fingerprint before and after rotation ............................................................. 76
Figure 50:Eight Gabor filters .......................................................................................... 77
Figure 51: Stored template against first impression for different voters ........................ 79
Figure 52: Stored template against first impression for same user ................................. 79
Figure 53: Voting process and result .............................................................................. 80
Figure 54: Registration Page ........................................................................................... 81
Figure 55: Database after registration ............................................................................. 82
Figure 56: Fingerprint identification Page ...................................................................... 83
Figure 57: inserting fingerprint image to perform matching .......................................... 83
Figure 58: Computing the reference point/ center point ................................................. 84
Figure 59: Adding the fingerprint image to the database ................................................ 84
Figure 60: The final result after matching....................................................................... 85
Figure 61: voting page with voting result ....................................................................... 86
Figure 62: No match exist in the database ...................................................................... 86
Figure 63: voting page with voting result ....................................................................... 87
Figure 64: Block diagram of comparison with previous research .................................. 93
Figure 65: Comparison chart speed and number of Gabor filters ................................... 94

Page 7 of 102

LIST OF TABLES

TABLE

TITLE

PAGE NUMBER

Table 1: Fingerprint voting ystem tools .......................................................................... 45


Table 2: Software cost ..................................................................................................... 46
Table 3: Compare class 1 fingerprint against all classes................................................. 78
Table 4: Fingerprint's database parameters ..................................................................... 88
Table 5: FAR, FRR, GAR system's result ...................................................................... 91
Table 6: Comparison table FAR, FRR, GAR of different Gabor filters ......................... 94

Page 8 of 102

LIST OF APPENDICES

Appendix A: Log sheets


Appendix B: Gantt chart
Appendix C: Draft proposal
Appendix D: Project specification form
Appendix E: Learning contract
Appendix F: Ethics form

Page 9 of 102

CHAPTER 1

INTRODUCTION TO THE STUDY

1.1

Project background

The great evolution of the Arab Spring led to the toppling of many regimes so that the
Middle East countries finally got its chance to beam and shine. Nevertheless, if cares and
efforts are not taken, this chance going to be lost from the hands of the Middle East
countries and instead, what will prevail is a situation of grave chaos and seriousness. The
Middle East countries are on crossroads. This revolution can be completely successful by
converting these countries into true democracy and let the people govern themselves and
express their choices regarding particular issues, pieces of legislation, constitutional
amendments, citizen initiatives, choosing the person as well as the policies they want to
set the course of those countries in the years ahead.

In order to convert the Middle East into democratic countries public opinion is the
most important determinant to establish a government and voting is the process through
which people display their opinion and help to setup a democratic government. So the
voting system should be reliable, accurate and it must be secure. In the traditional
elections a voter used to cast his vote by using ballot paper. This is a long time consuming
process; its really takes long time and the probability of error is very high. This situation
remains till the scientists discovered the different types of electronic voting machine. The
electronic voting systems are utilized much more as a device to help people to cast their
opinion and vote. To let the exercising of the right, just about all voting machine all over
Page 10 of 102

the globe consist of voter identity and authorization, the voting and saving of the votes
cast, counting the votes and finally give the election final results.

Figure 1: "The first vote" A.R. Waud, Wood engraving 1867.

Source: http://www.loc.gov/rr/program/bib/ourdocs/15thamendment.html

The using of fingerprint as an ID is an excellent strategy considering that just


about every person in the globe is born with unique fingerprint even twins born with
totally different fingerprints. The fingerprint is naturally unchangeable throughout life.
The representation scheme of the fingerprints either based on global or local information
such as ridges ends and ridges branches (minutiae). In this project matching algorithm
combine extracting of local and global information going to be design. This matching
algorithm is necessary in two stages of the electoral where the first for people registration
to identify the right to elect and later on, at voting time, to allow voters to cast their vote
by confirming if the man or woman meets all the requirements required to vote and that
known as authentication.

Page 11 of 102

1.2

Objective of the project

The project requires the voter to submit his/her Fingerprint at the election place. The
Fingerprint technology will be used in this project to create the system. The primary goal
of the project is to make a system that requests the voter to give his/her Fingerprint as a
personality proof. The fingerprint voting system reads the fingerprints data and compares
it with the data previously stored inside the database. If the data exists in the database
meets with the previously stored data, the voting system will enables the voter to enter
into the system and give his/her vote. If the data of the Finger didnt meet with the stored
data, then the system will instantly trigger the display and the authorities will come to
take an action.

In order to achieve the primary goal of this project, matching algorithm need to
be designed in efficient way in order to increase systems accuracy. The proposed
matching based on Gabor liner filter bank which consists of 8 filters which will extract
the local and global feature of the fingerprint and convert the extracted information into
variant vector (fingercode). The performance of liner filters is not accurate if the
fingerprint image not clear. For that another objective is added to this project which is
reducing the noise of the fingerprint image using sectorization and normalization.

All the above mentioned objectives can be summarized by developing a


MATLAB base secure voting system. This voting system is made of a Fingerprint
model, and computer to run and compile the program, The MATLAB program has
registration mode and voting mode where the registration mode is used to register the
eligible voters while the voting mode is used to enabling the voters to cast their votes.
1.3

Justification for the research

Fingerprint electronic voting system has provided a range of advantages to the voting
process. It assists perform voting in much more successful and efficient way, such as
Page 12 of 102

minimizing the cost of the ballot's printing and employing more staff. Fingerprint
Election system also can make voting tallies faster as well as much more effectively than
tired polling staff; they minimize human being mistakes in voting final result as well as
minimize the expenses of the election. The significant advantages of electronic election
might be reviewing in the following points: much more participation, fast process, lower
costs, and precision placing and better access and versatility for the disable.

Essential reason fingerprint readers are widely used is, they offer a fast, simple,
powerful, and secure access by means of a person with the good access rights can
authenticate. The advocate of electronic voting provides that the comfort, flexibility,
speed, cost effectiveness, and versatility and these are the main advantages of the
electronic voting machine. Considering that this system has every one of these properties,
it can be used almost everywhere, by the government authorities, organizations, courts,
shopping malls even in the colleges and universities.

The matching algorithm going to be designed in this project will support the
system with additional advantages. The fingerprint matching algorithm combine both
local and global information are used for the purpose of fingerprint feature extraction.
The result of the algorithm will be fingercode which is short length fixed code that will
be stored in the systems database and it will be used during the matching. The fingercode
provide another advantage to the system by making the matching process faster, by taking
the Euclidean distance between two fingercodes.

1.4

Outline of the thesis

The fingerprint voting system project contains six chapters the description of these
chapters as listed below.

Page 13 of 102

Chapter1: The first chapter of this project includes introduction to the project, objective
of the project and existing similar problems of the project.
Chapter 2: The second chapter involves findings by others, limitations that exist in these
projects and the problems of other researches, list the gaps which exist in the topic,
Contribution to the research problem and compare between researches. Similar systems,
Design/methodology developed by the researchers and Summary.
Chapter 3: this chapter contains project design and components selection.
Chapter 4: the project implementation.
Chapter 5: this chapter contains the system testing as well as the results.
Chapter 6: this chapter contains future work suggestion and project conclusion.

1.5

Summary

These days, providing precautionary actions is one of the complicated issues in the planet.
Among the several field, providing the precautionary actions for voting system are the
boring and costly one. To be able to make the inexpensive solutions to the above
mentioned finger print electronic voting system this project is made. This offers the
security by using finger prints which are already been stored in the database. After that
the fingerprints have been already stored in the database will be checked, and only if both
they matched then the voting system is allow the person to cast his vote. If it is not
matched then the system will display that the person doesnt has the authorization to
perform the voting and it will enables the buzzer. With fingerprint technique the voting
process appears to be very much easier as well as the reliability is great. The fingerprint
voting system offers cost effective in addition to efficient security for the whole election
process.

Page 14 of 102

CHAPTER 2

2. LITERATURE REVIEW

2.1 Introduction

Voting process is known as a process for a group by means of a meeting or democratic


vote in orders to take a free decision. This manner consider as the best normally found in
republic and democratic governments (IDEA international, 2012)

Common elections systems are already exist since hundred years ago. All those
earlier election systems, however they had been considered being acceptable in past days,
they started to reveal its disadvantages, day after day. These disadvantages, lead to a huge
development in the design and style of electronic voting machine. Previously back to
1960, the election systems used were all run manually. This involves, the election system
that use paper, were the voters' votes casted and counted by hands. During 1961, the
design of voting systems developed from manual base to electronic base where the first
electronic voting system was the electronic punch card system (Giovanni, 2008).

Page 15 of 102

Figure 2: An old voting machine

Currently info and communication technologies (ICT) have grown and became an
important in every aspect of human been lives. The Information and communication
technologies have wide range of applications starting from the entertainment, to
applications in the areas of business, transportation, communications and etc. Even in
medicine or nuclear manufactures' controlling, are now converted to automated systems.
The supporters of the technology may believe that computer systems are effective, trusted
and much more accurate, than humans, while the others believe that getting the humans
guidance out of the scenario will increase the possibility big errors may occur unnoticed.
It is very important to stand over what the previous researchers have already done before
to be able to defeat the flaws of their e-voting machines and minimizing the problems
may perhaps occur during the election process (Anthony Lonergan, 2007).

Electronic voting machines consist of three actors: people who will make the
votes, registration authorities and tallying authorities. All the Voters have the right for
voting; have to be register before the Election Day in order to be eligible voters. These
authorities make sure of only authorized people give their vote and they must vote only
one time during the election and then all the votes will be casted and show the final results
of the voting (Cetinnkaya, 2007).
Page 16 of 102

2.2 Domain research

Domain research is a normal research on similar previous project that can be


helpful. Domain research include comparison between the already exist project base on
the projects features in order to achieve the best design for the fingerprint voting system.
The research will analysis the previous projects and discusses the researchers
recommendations in order to preventing the pervious project mistakes and in that way the
proposed design will minimize or prevent the problems. Fingerprint voting system consist
of hardware and software, a deep research will be made including the hardware as well
as the software.

2.2.1 Findings by others and similar projects

In an articles belong to (Simao, 2006) he said that the term electronic voting system is
referring to the use of any computerized voting equipment to cast ballots in an election
for example the use of computers or mobile. This term usually used especially to refer to
voting that happen over the Internet, GSM using touch screen or fingerprint technique.
All types of electronic voting systems are used to register voters at the beginning after
that tally ballots and finally record votes and show the final result of the election.

Voting Systems Available to Millions of


Registered Voters Represented
70
60
50
40
30
20
10
0
Punch card

Optical scan: Touchscreen


telephone-base
assistive ballot
marking

Push button

GSM

Paper ballots:
Hand counting

Voting Systems Available to Millions of Registered Voters Represented

Figure 3: Availability of Voting Systems in 2013

Source: Commission on Federal Election Reform, www1.american.edu, Sep. 2005

Page 17 of 102

In her article on optical voting system, (Jones Ronald, 2009) stipulates that every
optical scanning device must include special computer software as well as hardware. The
hardware part perform task of capturing a picture for the ballot card while software handle
the conversion of the picture to data that the computer can understand (binary data). A
ballot card will be given to each voter, these ballot cards contain the names of candidates
printed on it. There is a symbol printed next to each candidate, such as a stars, triangle or
uncompleted arrows. The voter can choose his preferable candidate by filling in the
appropriate star or triangle or by completing the arrow. Directly after complete that action
the voter should put the card inside the vote tabulating system. The computer tabulating
device have the ability to recognizes the marks have been made by voters which is exist
on the ballot cards and according to that the computer will record the vote. All the votes
will be recorded and inserted in the computers database and finally give the final total
results.

Figure 4: Optical voting system with ballot paper

(Charles K. Ayo, Uyinomen O. Ekong, 2007) presents the electronic voting


system using internet technology after they made a research about many types of optical
voting system and they realized the weakness and peculiar problems of each adopted
Page 18 of 102

optical electronic voting system to avoid these problems in their project. The internet
considered as one of the most adopted means of communication the countries have been
developed and the developing countries. Therefore, it could be considered a good
candidate for voting system around the world. Their paper investigates internet voting
system with a view to improved participation, and benefit of voters in Africa as a case
study. They developed in their research a prototype electronic voting machine using PHP
programming language and MYSQL Server as the database and the electronic voting
system has been tested using the mobile explorer emulator.

An extensive survey of electronic voting system has been provided in security


enhancement of electronic voting system's study by (Shahram Mohammadi,2009), this
study presents a research of latest educational and industrial projects in the electronic
voting system field, furthermore to the areas recommendations regarding the problems.
It recognizes risks, possible sources of attack and what method use for attack in similar
voting machine. In addition, it determines protection objectives as well as requirements
of the e-voting machine.

(Yang Feng and Scarlet Schwiderski, 2009) proposed an electronic voting system
that combine two technologies the GSM and the internet in order to make advance
electronic mobile voting system where the internet was handle the server and the database
of electronic voting system, while the GSM authorization system is utilized to give voter
authentication and enhance person who want to vote mobility. The researcher also
attempted to improve the security and give much more flexibility and comfort to voters.
They make the privacy of the voter secured by using a blind signature; they provided the
basic structure of the proposed GSM voting machine. In future work, they said they want
to implement biometric technology in their system such as fingerprint.

For more related researcher for wider vision (Meng, 2008) has been developed a
ngerprint electronic voting system which brings the application of fingerprint towards
voting from the mobile device towards voting where people can vote to any party of their
choice from anywhere and also registration can be done over the internet from mobile
device itself except for registering the fingerprint where you have to visit the electoral
Page 19 of 102

office. Also for future development, an additional biometric feature could be added to
strengthen security such as eye. In addition the security features at database level should
be strengthened too towards accessibility of government database.

Figure 5: mobile phone/ internet voting system

Source: www.http://140friday.com/?p=413

(Sherif Yacoub, 2011) conducted experiments over a two years period they used
record simulator in order to evaluate the performance of electronic voting systems. By
using a decision tree the simulator expands all possible decisions. The simulator have
been used in order to examine the performance of different electronic voting methods in
terms of the accuracy of the electronic voting system, the possibility of getting an assent,
faith in the unanimity, sureness in the output, and sureness in the accuracy of the output.
Page 20 of 102

They found that most if not all the electronic voting systems that already exist have
problems and weaknesses. They also recommend the other researcher to expand their
experiments on the fingerprint voting system since the results of their analysis on different
types of voting system shows that the fingerprint base voting system defeat the internet
base and GSM base voting systems as well as the defeat the other electronic voting system
but it also has its own problems and weaknesses.

2.3 Gaps and limitations of previous researches

Pervious researchers and developers have phased some shortages, challenges, troubles
and limitation which assist in creating system that vast the vision of the current problems
to overcome these troubles.

Despite the specific benefits to electronic voting machine , experts of e-voting


argue about the protection issue and the unequal access chances to world wide web are
the main disadvantages to the system especially Internet service is a not free technology
(chargeable). Inventory problems of electronic voting machine in the four points which
is Inequality problem, difficult to be secure, it may suffer from service attack and different
kind of viruses.

Inequality trouble it is obvious that the people with low salary may not be able to
pay for the devices or tools used for electronic voting especially the mobile phone or the
smart tags. As well as there are some people who are not able to use the computer may
possibly lose their right of vote and give their opinion.

Different kinds of viruses have the ability to do huge harm to the electronic voting
system. By using specific operation system the server can easily be secured against the
viruses. But the PCs, cell phones may dont provide enough security and are easily
Page 21 of 102

attacked with virus. These viruses may attack the computer, the cell phone, the internet,
the operation system, the control unit of the system. as well as it may infringe the ballot
which is supposed to be secret and privet, change the vote result or the final result of the
election without the voters acknowledgement, and minimize the justice of the voting
process. If a huge number of voter's systems (computers or cell phones) are attacked by
trojan, then the election should be canceled and make the remake the election from the
beginning.

Denial of service attack a denial of service is recognized by that an attacker


prevents eligible users from using their resources in order to perform their votes. An
attacker perhaps attempt to flood a network and thus reduce a legit users bandwidth,
as well as preventing access to a service, or interrupt service to a specific system or a user.

When the scientific applying new technology in order to solve one issue they may
create other troubles such as, electronic voting machine have been made in order to
remove ballot paper and a lot of other problems, but without having the ballot paper, the
voters cant check out their votes if they are correctly recorded or not and they cannot
separately validate votes totals (Mark and Wang, 2007).

2.4 Conclusion to the domain research

As the above points which been presented and dissections, variety of technologies in a
different application have been used to make and design electronic voting systems. These
electronic system can be used in, organizations, universities as well as democratic
countries many researches has been done to improve these systems and reduce the errors
may occurs during the election process.
Fingerprint is a new technology many researchers now days do projects related to
fingerprint. The researchers came up with different algorithms for the fingerprint
Page 22 of 102

identification and matching process. The goal of the researcher these days is to increase
the efficient of the fingerprint algorithm.

2.5

Technical research

The technical research is the second type of this literature review which is show deep
technical research related to this project. This include the software, the program
languages, the algorithms, and the user interface in order to help in choosing the suitable
component of this project to achieve the desire goal which is designing and implementing
the fingerprint voting system

2.5.1

Electronic voting system equipments

There are many tapes of biometric can be used for the electronic voting system such as
eyes recognition, voice recognition and fingerprint recognition. Many researches exist
related to these types of biometric recognition but for the voting system the best one will
be the fingerprint. The literature below shows the software and languages that can help in
designing the fingerprint voting system.

2.5.1.1

Language

In order to make the voting system work properly and perform his task a program
language is needed to write the program and implement it in the system. The program can
be written using either MATLAB or C programming language (Vaibhav Kumar Singh,
2005).

1- C Language
Page 23 of 102

The C programming languages is a powerful language and widely used in this field many
hardware programmers use it to program the different type of ICs. The programs have
been made using this program language need a compiler to compile the program. The
hardware programmers prefer the C language because it is powerful and light as well as
provide high speed performance (Kumar Aook, 2010).

2- MATLAB

MATLAB described as a strong 4th generation programming language. It is an


environment for numerical computing. It is use for plotting any function or data, it is very
strong tool for matrix manipulation and it is the best program language for algorithm
implementation. MATLAB provides a number of toolbox such as image acquisition and
database toolboxes (Vaibhav Kumar Singh, 2005).

.
2.6 Fingerprint recognition

Biometrics now days consider as a very vital component used as personal identification,
considering that the biometric identifiers impossible to be shared between people or lost
and the individuals identity can be represented by them. Biometric identification indicate
to the use of eye, fingerprint, faces of the human been as well as speech characteristics.
One of the most important parts of biometric process is the use of fingerprint. It is a very
complicated issue, because of variations in unique impressions even in the same finger.
There is one problem with the finger print which is different fingerprint impression seems
to be similar, while the fingerprint impression belong to same person look different. That
why the fingerprint matching is a big deal.

Page 24 of 102

Fingerprint recognition is a term called for the electronic method of identifying or


verifying fingerprint images belong to humans. As mentioned earlier fingerprints are
considered most important forms of biometrics that have been used in order to check the
individuals identity. An article belongs to (D. Ashok Kumar, 2011) shows the different
types of fingerprint recognitions.

There are two mode used in fingerprint recognition systems the first one is the
verification mode while the second mode called identification mode. In other word the
fingerprint can be designed to operate either in identification mode or verification mode.
The verifies process in the verification mode done by make a comparison between the
input fingerprint of the person with his own template which is saved in the database of
the system. While on the other hand the identification mode the system search the
fingerprint template has been stored in the database which is belong to the users in order
to identify an individual. There are some techniques used in the fingerprint identification
system to make the search process faster. These techniques called fingerprint
classification and indexing technique. The algorithms that used in both verification and
identification model are almost same. In other word same algorithm can be used for the
verification and identification model.

2.7 Fingerprint classifications

The fingerprints have been classified upon their visual pattern into three definite classes
for all fingerprints: loops, arches, and whorls. Each fingerprint type is subdivided into
smaller classes. Arch is the first type of fingerprint 5% of people has his type of
fingerprint, it divided into two types either plain arch or tented arch. The second type of
fingerprint known as loop fingerprint, 60% of people has his type of fingerprint. It also
subdivided into two types either radial Loop or ulnar loop. The third type of fingerprint
known as whorl, 35% of people has his type of fingerprint. This type is subdivided into
plain whorl, central pocket whorl, and double loop whorl and accidentical (Abhishek,
2009). The figures below show the different type of fingerprint.
Page 25 of 102

Plain Arch
Ridges enter on one side and
exit on other side.

Tented Arches
Similar to the plain arch, but
has a spike in the center.

Delta
Ulnar loop (right thumb)
Loop opens toward right or
the ulna bone.

Radial loop (right thumb)


Loop opens toward left or the
radial bone.

Plain whorl

Central
pocket whorl

Figure 6: Types of fingerprint

The features of ridges which belong to fingerprint known as minutia, the


fingerprint feature or minutia are basically dot, bifurcation and ridge ending. The ridge
terminated point known as the ridge ending. Bifurcations called when a single ridge split
and become two different ridges while the very small ridge is known as dot. These three
different types of features or minutiae are very important for the identification process
because all the algorithms built in order to read these features and later make the
comparison (Moayer, 2002). The figure below shows the three different types of
fingerprint minutiae.

Page 26 of 102

Ridge ending

Bifurcation

Dot (or Island)

Figure 7: Identification character

Source: http://www.sciencedirect.com/science/article/pii/S0077831320311001750

There are two factors use to measure the accuracy of the fingerprint matching algorithms.
FAR: It stands for false acceptance rate. It is defined as the ratio of the number of impostor
images considered as authentic by the algorithm to the total number of impostor images.
FRR: It stands for false rejection rate. It is defined as the ratio of the number of authentic
images not considered qualified by the algorithm to the total number of authentic images.
When both false acceptance rate and false rejection rate has the same value, it known as
equal error rate (ERR). The terms of ERR use to measure the performance of an
algorithm.

2.8 Fingerprint algorithms

Valleys and ridges are global features use to measure the uniqueness of the fingerprint.
Also there are local features called minutiae which refer to the ridge ending and ridge
bifurcation (Abhishek, 2009).
Previous work in this area has been done by (Moayer,2002), two methods has
been mentioned in this research the first one consider the fingerprint as 1D string of
character while the other method consider the finger print as 2D tree and verifying two
Page 27 of 102

fingerprints by grammar matching. These two methods failed on low quality image but it
worked perfectly for rough classification, and therefore, they are not suitable for an
identification system.

Among the many existing fingerprint matching algorithms such as genetic


algorithms based aching, transform feature based matching, correlation filters based
matching, minutiae based matching , graph based matching , and hybrid feature based
matching and other local and global methods, fingerprint that depend on minutiae
matching is prevailing. A detailed reference for the various techniques can be found in
(Ishtiaq Usman, 2009). The local features which are mentioned above are used by the FBI
for their fingerprint identification system. Scanning the image by using fingerprint
preprocessing, produce the minutiae. Generally the finding the similar fingerprint is
determined by computing all the matching minutiae for that they called this technique
minutiae matching.

According to research done by (Krithika Venkataramani ,2009) extraction of


minutiae features before matching require a multiple of processes, this comprise
orientation calculation, segmentation, enhancement for the images, ,extraction for the
ridge as well as filtering the image, etc. All the above processes come before the matching
performing the matching.

Orientation

Ridge

Field

estimate

Minutiae

Minutiae

Matching

Filtering

Binarization

Thinning

Figure 8: Flowchart of the minutiae method

Page 28 of 102

Input image

Binarization image

Figure 9: Image enhancement using Binarization for minutiae algorithm

An earlier popular minutiae based technique was introduced by (Bebis, 2008).


Using the delay triangulation method while (Jai, 2008) use ridge patterns in fingerprint
matching. They used ridge information to help with alignment. For a pair of template and
query minutiae, the template minutiae was rotated and translate taking the coordinates of
this pair as origin and axes along and perpendicular to its direction. However the
computational cost involved with method was still high. Minor modifications to reduce
the computational cost and establish better minutiae correspondence have been
introduced over the time.

Figure 10: Minutia compering

Source: http://www.sciencedirect.com/science/article/pii/s320311001750

In an article belong to (Hrechak, 2008) he proposed an improvement which was a


good trade-off between performance and computational cost. He first built a minutiasimplex that contains a pair of minutiae as well as their related textures, with its invariant
Page 29 of 102

relative features and transformation variant are employed for the full similarity
measurement and parameter estimation, respectively. By the second step, they used the
ridge-based nearest neighborhood among minutiae to represent the ridge-based relative
features among minutiae. Finally, they modeled the relationship between transformation
and the comprehensive similarity between two fingerprints in terms of histogram for
initial parameter estimation.

In another article belong to (Wang, 2009) he proposed a new feature called


polyline to extract ridge information. For each ridge sampling point, three transformation
invariant features were calculated and matching was based on these features. However, it
did not perform very well when the distortions were present. Graph based fingerprint
matching algorithm was presented by( Isener, 2009) This method however, is time
consuming and complicated as complex algorithms like graph isomorphism has to be
adopted in the system.

Also there is a different method is the application of correlation lters to the


fingerprint identication. Correlation lters have added features like closed form
expressions built in shift invariance as well as trade off discrimination for the distortion
tolerance. The one-to-one correlation of fingerprints on a large set of data yields poor
results for fingerprint matching because of the elastic distortions between two ngerprints
of the same nger. The distortions can be signicant enough that the correlation cannot
recognize elastic distorted versions of the same fingerprint and cannot discriminate
between a matching fingerprint and a non-matching fingerprint of the same class. (C.I.
Watson, 2008) proposed a distortion-tolerant lter for elastic distorted fingerprint
verication. K.Venkataramani showed that lters such as MACE and OTSDF give
extremely good performance in fingerprint verication without requiring any
preprocessing. Below is the flow chart of correlation lters.

Page 30 of 102

Training

Filter Design

Image

Correlation
Filter

Fast Fourier

Inverse Fourier

Transform

Transform

Testing image

Correlation
Output

Figure 11: Recognition process by Correlation Filters

Earlier work in the field of combining optical features with neural networks was
done by (Gamble, 2009). He classified binary fingerprints by using technology known as
HAVNET. The number of enrolled fingerprints is equal to the number of output nodes of
HAVNET. Therefore at whatever time a new fingerprint is enrolled in to the system,
output node should be added in to HAVENET. The manner isnt able to differentiate
fingerprints that come with similar forms. Furthermore research in this field was made by
(Wilson, 2008).

During the last few years, some genetic algorithm based approaches have been
suggested. (Tan, 2010) proposed a straightforward Genetic Algorithm that use for
fingerprint identification. These methods try to identify the optimal global alignment
between two fingerprints. Nevertheless, the convergence is possible to proceeds much
time especially for the reason of that these methods work either the basic evolutional

Page 31 of 102

algorithm or its alternatives, which is really far to be appropriate to adjustment the


exploration in challenging search places. The figure shows genetic algorithm diagram.

Template Fingerprint

Query Fingerprint

Feature Extraction

Feature Extraction

Chromosome representation and


initialization of population P
Compute fitness value for each
hypothesis in p

Satisfy termination
condition?

Selection
Crossover
Mutation

Maximum fitness
value > Threshold?

No: Different fingerprint

Yes: Same fingerprint

Figure 12: Block diagram of GA- based for fingerprint identification

2.9 Methodology

By using chart technique this section of project will show the development process and
identification. The chart has been used in order to simplify the understanding. The
flowchart will has been used which is basically a diagram consists of graphic symbols to
show the flow of the projects process.
Page 32 of 102

Start

Software
Practicing
Program
Developme
nt

System
Designing

Hardware
Research

Assemble
Breadboard
System
Testing

Testing OK

NO

Troubleshooting

YES
Printed Circuit
Board

External Casing

Completion

Figure 13: Fingerprint Development Flow Chart

All the above stapes should be done one by one in order to achieve the final result
of this project which is designing and implementing the fingerprint voting system. These
processes will start by the hardware and software research and end by the external casing.

Page 33 of 102

2.10

Technical research conclusions

The technical research provides has been discussed the technical issue related to the
project starting by the project component, software, program languages and finally the
algorithm that use for the fingerprint matching. The technical literature provides a
compression between the MATLAB and C programming language. The compression
shows that the MATLAB is better since its much simpler. Many algorithms
technologies have been discussed in this chapter. All these algorithms have weaknesses.
For that reason developing algorithms for this project is an important issue.

Page 34 of 102

CHAPTER 3

RESEARCH METHODOLOGY

In order to make any business decision collecting data and information is very important
and this process known as research methodology. The research methodology may include
many research techniques such as interviews, publication research and surveys, it doesnt
depend on the present information but it may depend on the historical information as well
(Marzuki, 2008).

3.1 Introduction

The aim and the objective are clearer due to the data and information has been gathered
from the previous literatures. The design model is the result of the hardware and software
integration. The design model shows the prototypes, elements, architecture and
components of the system. However in order to make this project successful the hardware
and the software must be well integrated and organized.
Page 35 of 102

Finding the answers to some possible questions that may come up in the primary research
is the aim of the secondary research. In order to achieve successful project, solution form
the researcher is necessary. In order to develop fingerprint voting system, enormous
research must be done to find the suitable software that is capable to meet the project
requirements. Furthermore, some technical element has to be taken into account during
developing the hardware and implementing the software into the hardware.

3.2 Research approach

This research has to go through lot of steps in order to accomplish the desire fingerprint
voting system. The research will be divided to 4 stapes, which shown in the figure below:

Research
Development

Relevance of
Research
Undertaken

Reseacrch

Problem

Approach

Identification

Critical
Analysis

Figure 14: Research approach stapes

Page 36 of 102

3.3 Reasoning of design

The project has been introduced to realize and defeat the problems that occur in many
electronic voting systems; The reason behind this project is to create fully secure,
efficient, accurate and reliable electronic voting system using fingerprint technology, the
system must be able to read human fingerprint in any condition with an accuracy of more
than 97% using fingerprint detection algorithm.
1. Data acquisition
2. Image preprocessing
3. Fingerprint image enhancement
4. Feature extraction
5. Matching
6. Database

3.4 Problem identification and specification of research objectives

During this part will found the problems of the project as well as the project specification.

1- Problem identification

Different electronic voting machines have already been introduced previously to enhance
the election process. Since the beginning, they were questionable because the
technologists as well as the community noticed that they are losing their control through
an essential part of the election process.

A quote linked to Stalin states that: "People who cast the votes decide nothing at
all while the people who count the voters votes decide everything." It is actually obvious
Page 37 of 102

that a great voting machine signify a crucial component of a good democracy. Even
though the repercussions of a not efficient electronic voting machine are not as easily
obvious as those for train traffic control system or atomic energy plant control systems,
they may be in the same way important, simply because the wellbeing of a community
relies upon on them.

Despite the fact that most critical systems are regularly examined and analyzed
for security and correctness electronic voting machine aren't exposed to the same level of
analysis. A variety of latest researches have indicated that most or all of the electronic
voting machine getting used these days are fatally defective, and that their quality didnt
fit the importance of the task they should to conduct. From this point of view the most
important task in creating and developing this project is to develop, enhance and improve
the protection and the security of the voting system. This can be achieved by improving
the safety measures by consider variety of security actions and avoid the mistakes existing
in previous machines.

2- System specification

This part will describe the fingerprint voting system specification. In order to make the
report more professional the desire system specification will be describe as well as the
recommended hardware component in addition to the software will be used. All the
components will be described in the next paragraphs.

a- Hardware

All the hardware components going to be used in this project will selected to be more
efficient in order to get best result.

Page 38 of 102

The only device going to be used in this project is computer. This computer must
have high specifications in order to handle the systems operation especially when the
MATLAB program need big RAM and high processor. Also the algorithms speed
depends on the performance of the computer. Lenovo laptop with core I7 processor and
4GB ram going to be used in this project.

b- Software

The fingerprint voting systems hardware is useless without implementing software in it;
two types of software are going to operate the fingerprint voting system. MATLAB
programing to design the geographical user interface also to program the identification
algorithm and to program the voting process. MySQL are going to be used in order to
build the database of the fingerprint voting system.

c- MATLAB

MATLAB described as a strong 4th generation programming language. It is an


environment for numerical computing. It is use for plotting any function or data, it is very
strong tool for matrix manipulation and it is the best program language for algorithm
implementation. MATLAB provides a number of toolbox such as image acquisition and
database toolboxes.

d- MySQL

MySQL is a database workbench made by Microsoft Company to help the programmer


to build different type of databases using and link it to different application using different
types of programming languages. It can be linked to PHP programing language, Visual
basic, C#, and MATLAB. In this project the MySQL database going to be linked to
MATLAB.
Page 39 of 102

3.5 Primary research and concept

Primary researches give more detail and information about the topic which is fingerprint
voting system according to (Roger Lowe, 2009) it is based on scientific results already
done before.

The concept considered as the main structure of the fingerprint voting system in
order to ensure that the system is fully secure and efficient which is valuable in todays
technologies, as well as the security of this system can provide safety to the democratic
process.

3.6 System design and development

The system is designed at the beginning then research has been done about the component
that will be used in the project to achieve the task.

3.6.1 System design

The design of the fingerprint voting system will contain hardware which is the personal
computer that going to operate the fingerprint voting program and software which will
handle the identification process and the voting process. All the components of the system
will be integrated together and the PC will operate the system .The MATLAB
programming language will be used in order build the system. The figure below shows
the system design process:

Page 40 of 102

Research and study

Planning

Programming

Assembly hardware

Troubleshooting

No

Testing

Ok

Finalize and complete

Figure 15: Design Development Flow Chart

3.6.2 System development

In this part a block diagram will be created in order to show the main parts of the
fingerprint voting system and give a closer look to the component that will be used to
create the system. The block diagrams below shows the main parts of the fingerprint
voting system.

Page 41 of 102

3.6.2.1

Ballot and control units block diagram

The system consists of ballot and control units. The control unit will be designed using
The MATLAB and run by personal computer and it will be used to insert information
to the system. The ballot unit consists of GUI page allows he voters to give their vote ant
choose their preferable candidate by pressing one buttons of the GUI. Each button in the
GUI refers to one candidate.

User
registration
False

Power

Personal

Control

User

supply

computer

program

identification

Beep

True
Voting

page

Database

Figure 16: System ballot and control units block diagram

3.6.2.2

Software development

Different software has been used in this project in order to build the finger print voting
system. The MATLAB will be used to assemble the fingerprint recognition and
matching and to build the user interface to let them insert their information in to the
system. The figure below shows the software operation while the system assembles and
programming will be discussed in next chapter.

Page 42 of 102

3.6.2.3

Software user interface block diagram

The Database for the fingerprint voting system has been developed using MySQL
languages the flow charts process have been done as shown below.

Data Encoding

Data Loading

Data Sending

Data base

Data input

Figure 17: User interface software Block Diagram

3.6.2.4

Software fingerprint diagram

The fingerprint algorithm for the voting system has been develop using MATLAB
program as mentioned earlier.

Data Acquisition

Image
Preprocessing

Fingerprint Image
Enhancement

Feature
Extraction

Matching

Figure 18: Software Fingerprint Block Diagram

The whole integrated system will work as shown in the figure below

Page 43 of 102

GUI
Registration

Matching

MATLAB

MATLAB

Database

Wait for
vote

MATLAB

Database

Result

Figure 19: The whole integrated system

3.7 System structure (materials and component selection)

The table below shows the system development and system component. These
components have been used to make the desire fingerprint voting system. The component
divided into two types hardware and software components.

Page 44 of 102

3.7.1 Project tools

1. Fingerprint databases from the internet


2. Programming Language: MATLAB
3. Framework: MATLAB simulator
4. GUI: MATLAB
5. Database: MySQL Server
6. Database: WAMPSERVER Version 2.2
7. Network: OPNET
8. Documentation: MS Word/Excel/PowerPoint, Google Docs, Word
Processor/Spreadsheet/Presentation
9. Platform: Microsoft Windows 8

Table 1: Fingerprint voting ystem tools

Tasks Components

System tools

Program languages MATLAB programming , MySQL


software

MATLAB 2009b, MYSQL workbench 5.2 CE, Wamp server


2.2, Notpad++, MS Word/Excel/PowerPoint, Google Docs,
Word

hardware

Lenovo Laptop, processor core I7, 4G ram

3.8 Hardware and software system cost

The table below shows the cost of the whole system including the software and the
hardware.
Page 45 of 102

3.8.1 Software cost

Table 2: Software cost

Software

Unit Price (RM)

MySQL Workbench

300.00

Matlab

1600.00

Wamp Server

150.00

MS Word/Excel

90.00

3.9

Development system tools

System development tools are combination of tools and instruments used with the
hardware and software modules in order to make the desirable machine. The explanation
of these tools will be explained below.

1.

Personal computer

The computer is considering one of the main devises in fingerprint voting system. The
personal commuter will work as an interface between the user and the system. The
personal computer will operate the program in order to allow the voter to insert his
information in to the system and to make the voting process.

Page 46 of 102

2.

Fingerprint database

The biometrics research depends heavily on the availability of the data collected. The
growth experienced by the field in the last two decades has led to the emergence of a
growing number of biometrics' databases. There are two types of databases; the first one
is one biometric trait sensed and the other one is multimode (two or more biometric
features detected). In research projects it is much better to use the fingerprint database
instead of live fingerprint scanning because of the variety of databases available on the
Internet, these databases was taken different types of scanners, some of biometric
databases more accessible to the public or single mode or multimode, which includes the
function of fingerprint sensors acquired live-scan. All the databases were used in this
project to provide better testing and evaluate the system's response with great variety and
different databases. The performance of the fingerprint voting system using these
databases will be discussed in chapter 4 and 5.

3.10

Systems design

The design of the fingerprint voting system is divided into GUI design and identification
algorithm design. The geographical user interface will provide friendly front-end in order
to make the voting process easier for the users also to attract the users and increase their
participation. The identification algorithm design is very important since this algorithm
will decide the individuals authority.

3.10.1

Algorithm design

The algorithm will be written using MATLAB program. This algorithm includes
preprocessing such as image enhancement in order to make the fingerprint template clear
and to reduce the noise of the fingerprint image because the noise will affect the
performance of the matching algorithm. After the image enhancement Gabor filter will
Page 47 of 102

handle the identification process after converting the image to fingercode. The figure
below shows the algorithm design flowchart.

Find Core Point

Feature Vector

Crop Image

Gabor Filter

Sectorization

Normalization

Figure 20: Fingerprint algorithm flowchart

3.10.2

GUI design and layout the GUI

Using the GUIDE Layout Editor, the GUI can be lay out easily by the use of clicking and
dragging geographical user interface components for example drag and drop, text bar,
buttons, menu bar and etc into the geographical user interface area. The GUI will be
stored as gif format file

Start GUIDE by clicking the GUIDE button which exists at MATLAB tool bar.
By clicking that button the GUIDE Quick Start dialog box will appear. Layout Editor will
appear which consider as control panel of GUI options. The figure below shows blank
template of GUIDE.

Page 48 of 102

Figure 21: GUIDE Quick Start to create new GUI

The above figure shows the start page of the GUIDE, it has two buttons at the
upper left side. The first button shows the GUIDE templates. Make new GUI by pressing
the first option, the blank GUI (default). The second button is open exist GUI, this button
used to modify any exist project.

Figure 22: Working area of GUIDE

Page 49 of 102

By double click on any component the components parameters and properties will be displayed as shown below. All these parameters can be changes
by the user as wanted in order to get the desirable result.

Figure 23: Properties of the selected item

Page 50 of 102

The second way has been used to develop the GUI is by writing a program in an
M file instead of using the GUIDE. This way consider more professional but more
complex than the GUIDE way. The figure below shows a code of making a push button
to perform a function.

Figure 24: GUI using programing method

The above M file has been made to make a push button that performs a function
called fingerprint. The style of the button is push that means it is a push button. The
position has four numbers, changing the values of these numbers to control the buttons
size and position. The name of the push button is matching as shown above. The full GUI
design will be shown at chapter 4.

3.11

Conclusion:

As a conclusion the research methodology is considered one of the most important parts
of every project. A lot of research method has and technologies have been discussed in
this chapter. All the information and knowledge observed from this chapter will be helpful
when the time of implementation come. All the important part will be used in this project
has been clearly defined and the cost of the component and the software has been
calculated.
Page 51 of 102

CHAPTER 4

DESIGN/SYSTEM IMPLEMENTATION AND TESTING

4.1 Introduction to the design/system

The project will be discussed on the basis of what has been done in the previous chapter.
Simulation of e-voting system is also included in this chapter. In addition, the discussion
of how to achieve the goals and the objectives and do the project very well explained.

Linear filter known as Gabor filter is applied for fingerprint recognition, in this
electronic voting system line filter was used in order to perform the fingerprint
identification. This fingerprints identification technique simulated after intensive studies
on various types of algorithms. The proposed electronic voting system consists of
software and hardware, the software program will deal with the process of analyzing the
voter fingerprint image and perform the matching farther more allowing the voter from
casting his/her vote, while the hardware consists of optical fingerprint scanner which will
be connected to personal computer with high specifications (processor and video card) to
handle the operation of the software program. In this project, an optical fingerprint
scanner is replaced by fingerprint database exist on the Internet, because these databases
provide a wide range of fingerprints taken from different types of fingerprint scanners
Page 52 of 102

with different quality and size, also due to the lack of such equipment in the Malaysian
market and high cost, if imported from another country. The fingerprint image will be
passed to the identification program. The identification and authentication will be done
using program which been designed and simulated using MATLAB. A database
containing the information of the voters as well as the candidates will be updated
accordingly when the users give their votes. So, electronic voting system will enable
automatic counting of voters against the candidate.

This section provides a detailed review of the design, which applies the developed
system. It includes system architecture, data flow diagram and deployment diagram.

4.2 The working process of the design/system

4.2.1 System architecture

Voting result

Feature
extractor

System

User interface

Databas
Feature

Feature

extractor

matcher

Yes
No

Vote

Warning

Figure 25: Fingerprint voting system architecture

The fingerprint voting system has a fingerprint scanner as a user interface which will be
replaced by fingerprint databases exist in the internet in order to test the system with
Page 53 of 102

different type of fingerprint scanner instead of one type, as well to reduce the systems
cost. The system has two modes, the enrolment and authentication modes. The enrolment
mode handles the registration process in order to register the eligible users in the system;
the output of the enrolment mode will be store in the database of the system. The second
mode which is the authentication mode handles the process of checking the eligibility of
the user by taking the users fingerprint and matches it with the databases fingerprints;
if the system found any similar fingerprint in the database then the user is eligible to cast
his vote. The vote of the user will be count and store in the database. At the end of the
voting process the user can check the election result by clicking the result button.

4.2.2 Data flow diagram and flowchart

Data flow diagram basically is a diagram that demonstrates how the data manipulated by
a system flows through the different processes. It does not provide any information about
the ordering of operations or timing, or about whether processes going to be operate in
parallel or in sequence. Thus it is quite different from a flowcharts, which show the flow
of controlling process done by an algorithm, allowing a reader to determine what
operation going to be performed, in what exact order, and in what conditions, but it
doesnt shows what kind of data going to be input to the system and what data going to
be output from the system.

The fingerprint voting machine will be shown at three levels of data flow
diagram, level 0s block diagram is considered as low level diagram. Level 0 involves
just the core process which contains all the outside objects, and their dataflow. It doesnt
have additional details. Then it will be followed by the next level of data flow diagram
which is level one, high level diagram (HLD) where the data stores going to be shown
and the core process of the low level diagram going to brock down to main processes that
done by the fingerprint voting system and the dataflow between these processes. The last
level is the third level which is level 2 of data flow diagram; the small, main processes
will be break down into children processes in other word smaller processes in order to
make the work easer

Page 54 of 102

4.2.3 System with proposed fingerprint voting system:

The figures below show the levels of the proposed system data flow that will be
operating on fingerprint voting system.

1- Context diagram (level 0):

Fingerprint Voting
Voter

Ye

Voting
Result

System
No

Warning

Figure 26: Fingerprint voting system context diagram (Level 0)

The diagram above shows that the voter who wants to cast his vote will scan his
fingerprint using the fingerprint voting system. The fingerprint voting system will
perform many processes to the voter fingerprint image in order to check the authority of
the voter. The output of the fingerprint voting system either true or false, if the output is
true that means the voter can cast his vote if it was false then the system will activate a
warning.

2- High level diagram (level 1)

Page 55 of 102

Fingerprint scan/Fingerprint Database

Operations
Identification

User
Registration

Not allow to

False

Matching

Database

vote/Warning

Allow user to vote

True

Button

Candidate

Button

Candidate 2

Button

Candidate 3

Voting Result

Figure 27: Fingerprint voting system high level diagram (Level 1)

3- Low level diagram (level 2):


Page 56 of 102

In this level the main process going to be explode or break down into smaller processes.
Here will examine the operations which have two processes the registration and the
identification processes because these are the processes where the fingerprint
identification and most of the project work will be take place.

Registration Mode
Fingerprint
Image

Image

Feature

Write

Processing

Extractio

templates

Template
Data

Fingercode

Read

Identification Mode

Fingerprint
Image

Fingercode
Extraction

Image

Feature

Processin

Extractio

Template
Fingercode
Matching

Result

Figure 28: Registration and identification modes Diagram (level 2)

The diagram above shows that the fingerprint voting system has two modes where
the registration is the first mode while the identification is the second mode. The
identification mode starts by scanning the fingerprint of the voter followed by image
processing to the fingerprint in order to enhance the image quality. After enhancing the
image an algorithm will handle the process of extracting the images features. These
features will be converted to fingercode and then it will be stored in the database. The
fingercode will be called from the database during the matching process.

4- Low level diagram (level 3):


Page 57 of 102

In this stage the image processing, feature extracting and matching blocks from the
previous diagram will be breaking down into more children processes as shown below.

Input

Find

Image

center

Crop

Gaborftt

Gabor Filter

Fingercod

Matching

Sectorize

Normalize

e
Result

Figure 29: Low level Diagram (Level 3)

The diagram above shows that the image processing will be break down into
finding the center of the image, cropping, sectorizing and normalizing the fingerprint
image. The feature extracting will be breaking down into Gabor filter, Fast Fourier
Transform Gabor filter and fingercode (feature vector) followed by matching process and
finally viewing the voting result.

4.3 Database design

The figure below shows the database diagram of the fingerprint voting system. The
databases name is Fingerprint. This database consists of two tables the first table for the
registration process, while the other table responsible of the voting process. The name of
Page 58 of 102

registration table is Registration. It consists of 7 columns, ID, TP, Name, Lastname,


Nationality, Phone and Picture. The other table which is the candidate table consists of
two columns Candidates and votes. The specifications and the properties of these tables
and columns are shown in the figure below.

Database

Fingerprint

Registrations
Table
ID
TP

Candidates
Table
Candidate
Votes

Name
Last name
Nationality
Phone
Picture

Figure 30: Database design

The figure below shows the specifications each table, column and type of the rows of the
fingerprint voting systems database. The operator of this database is Wamp server
version 2.2.
Page 59 of 102

Figure 31: Database specifications of registration part

Figure 32: Database specifications for voting part

4.4 The working process of the design/system

4.4.1 Algorithm:
Page 60 of 102

The algorithm is designed to identify both global and local feature of the fingerprint using
feature extraction scheme and this information will be represented in form of code, called
feature vector or fingercode, and the Euclidean distance between these feature vectors
will be the base of the identification mode. At the beginning and as a first step must
determine the fingerprints center point as well as the region of interest. The (ROI) which
is the region of interest will be located around the reference point. Sectorization and
normalization will be applied on the fingerprint image. The region of interest will be
filtered using Gabor filter. This Gabor filter will be tuned in eight directions. In order to
define the feature vector (Fingercode), the average unconditional deviation of the gray
values in each sector in the filtered fingerprint image will be computed. Finally the
Euclidean distance between the stored template and the first impression will decide
whether the two images belong to same person or not. This algorithm can be shown as
follows:

Input

Find

Image

Center

Crop

Sectori

Nor-

-zation

malized

Gabor

Gabor

Gabor

Gabor

Gabor

Gabor

22

45

67.5

90

112.5

135

Feature Vector Of Variances (Fingercode)

Database

Figure 33: Block diagram of the algorithm

4.4.2 Center point determination

The reference point is a point which has a maximum curvature of the ridge line. At the
beginning, the center point or reference point should be determined and then the
Page 61 of 102

upcoming processes going to be referenced around the reference point. Computing the
fingerprint images orientation map is very important in this stage because the orientation
map is fingerprints feature representation. The orientation map demonstrates the ridges
local orientation just like vector area.

Figure 34: Orientation angle O (i,j)

Firstly the image (I) will be divided into non-overlapping blocks has the size of
10 x 10 and pixel (, ) will be the center of it. The speed of this process depends on the
size of the blocks where big blocks give faster computation and the systems computation
power decides the blocks size. The importance of the blocks comes from the fact that the
pixels that dont belong to any ridge, never process an orientation. That means each pixel
located at any block is given to the ridges orientation. The gradients (i, j) and
(i, j) will be computed at each and every pixel. By using the below three formulas
each non-overlapping blocks local orientation which is centered at pixel (, ) going to
be estimated.
+

(, ) =
=

2 (, ) (, )

=
2
2

(, ) =
=

( 2 (, )2 (, ))

=
2
2
(,)

(, ) = 2 1 (

(,)

)
Page 62 of 102

(, ) is the elementary orientation of the x direction and (, ) is the


elementary orientation of y direction. O is the orientation map which is basically a matrix
that has the angle of the orientation of each pixel(, ). The orientation has to be converted
to vector field in order to be ready for smoothing. The smoothing of the orientation will
be done by applying low pass filter to the vectored field. Computing images which contain
only the component and these components belong to the smoothed orientation field
will be by using (, ) = sin( (, )) formula. For all pixels in, the element,
integrate pixel density in regionsI and regionsI II which shown at the figure below and
give the identical pixels in , the value of their difference.

Figure 35: Regions for integrating

Finally finding the highest value in A and give its coordination to the reference
point. The picture below shows the center point of an image.

Page 63 of 102

Figure 36: Oriented image, smoothing the oriented image and detect the center point

4.4.3 IMAGE ORIENTATION

A major obstacle in fingerprint recognition is that the images obtained are not usually
perfectly aligned. Usually rotation and displacement of some sort is evident. Attempting
to compare two fingerprints with different orientations will affect the result signicantly.
To adjust for this, rotation of the input image is performed. To rotate an image both the
angle of rotation and the origin point are needed. To find the angle of rotation, 4 points
are needed: center point of image in database and input image, and location of the same
minutiae point for both images. Then the angle is calculated using the following equation.

Angle of rotation = 1 (

2 2
1 1
) 1 (
)
2 2
1 1

The origin point to rotate around will be the center point of the input image. The
initial technique was to go through each pixel of the input image, and use the rotation
equations below to find the corresponding rotated position (x, y). This technique has
problems though, when the corresponding coordinates are found they are not usually
integer values. This implies that the resulting rotated image will only have pixels at
Page 64 of 102

integer values, and that certain output pixels will not get mapped by any input pixels. The
resulting output would be completely inaccurate.

x = R * Cos(a)
y = R * Sin(a)
x' = R * Cos(a + q)
y' = R * Sin(a + q)

Figure 37: Rotation equation and figure

The method used to solve this problem is to do the reverse. For every pixel in the
rotated image, calculate which pixel in the input maps to it. Doing this is simple because
the negative of the angle of rotation can be used. When mapping back though the
coordinates will also probably not be integers, though the closest neighboring pixel can
be used. This implies that some output pixels will map to the same input, but this is
acceptable as it is very difcult to observe and is signicantly better than unmapped
pixels.

4.4.4 Sectorization

The sectorization function gives appropriate pre-processed fingerprint image for the liner
filter. In the Gabor liner filter based fingerprint identification method, according to center
point, region of characteristic ridges and valleys which known as region of interest are
divided to a number of sectors according location of the pixel. The formulas below use
Page 65 of 102

for fingerprint image sectorization. The formulas below used to calculate the region of
interest.

= {(, ) | ( + 1) < ( + 2 ),
< +1 , 1 , 1 }
Where
= ,
= ( ) (

2
),

= ( )2 + ( )2 ,

= 1 (
)
( )

The two pictures below shows the fingerprint image after sectorization.

Figure 38: The Sectorized image

Page 66 of 102

4.4.5 Normalization

Different pressure on the fingerprint module and different lighting can give different
image quality for the same person. In other word different pressure and lighting may
produce image with different color scale. In other word optical scanner convert the
scanned fingerprint image to gray scale, the gray scale represented by 256 shades of gray
where the value of the gray run from zero to 255 where zero is the black color and 255 is
the white color. Therefore the contrast of the color depends on the pressure and lighting
during the fingerprint scanning and this cause suboptimal contrast.

Frequency
distributio
n

0 black

255 white

Figure 39: fingerprint image with suboptimal contrast

In order to protect Gabor filter result from the effect of image with bad color
contrast, the image will be normalized. The Normalization will be applied on each sector
of the fingerprint image.as a normalization result the dark images will be converted to
become lighter while light mages will be converted to become darker as shown in the
figure below. The mathematical formula of the normalization is below.

+
(, ) =
{

((, ) )2
, (, ) >

((, ) 2 )

,

Page 67 of 102

Frequency
distributio
n

255

black

white

Figure 40: fingerprint image after normalization

4.4.6 Gabor Filter

Eight different Gabor liner filter have been applied on the normalized fingerprint image
In order to detect specific information in particular direction. The following formulas
have been implemented of Gabor liner filter.

1 2 2
( , ; , ) = { [ 2 + 2 ] } cos(2 ).
2

= sin + cos ,
= cos sin ,
At the Gabor filter formula there are three important variables , and where
is sinusoidal plane wave frequency along the x direction of the orientation while the
Gaussian envelope width along x and y axis given this symbol. All the above mentioned
variables will be given values as will be explained later. These values have a huge impact
on the performance of the filter. The sinusoidal plane wave frequency has been set to be
1/10 because the average distance between the valleys and the parallel ridges is around
10 pixels. So this conceded as average period of the valleys and ridges.

During

this

Page 68 of 102

function eight different (33x33) kernels Gabor filter are produced. The normalized
fingerprint images have been convolved by those kernels. 153x153 images is the output
of each convolution. Following images is one example of the results of Gabor filtering.

Figure 41: distance between the valleys and the parallel ridges

The value of should be compromised during the performance test of the system
because setting small value will make the fake valleys and ridges unlikely to be generated
during the process but the filter will be not that efficient during the removal of the noise
while setting large value will make the filter very efficient during the noise removal but
it will create generate spurious ridges. For these reasons the value will be compromised.
The orientation of the filter depend on the number of Gabor filter been applied. In this
project eight Gabor filter orientations are applied to the in order to get efficient
performance = 00 , 22.50 , 450 , 67.50 , 900 , 122.50 , 1350 , 157.50

the figure below

shows the result of Gabor filters.

Figure 42: 0 and 60 degree orientation for impulse response of Gabor filter

Page 69 of 102

Figure 43: Final result of Gabor filter

Fast Fourier Transform has been applied to the normalized image and to the Gabor
filter, in order to speed up the process. Speeding up the filtering has been done by using
multiplication.

4.4.7 Fingercode (Feature Vector and Variance) Calculation

After obtaining the eight Gabor filtered images, the variance of pixel values in each sector
will be calculated. This variance gives information of the concentration of ridges in each
direction in that sector. Higher variance values imply that the ridges in the sector were in
a more similar direction to that angle of the Gabor liner filter, while lower variance values
imply that the ridges were in other directions and were thus filtered out. A variance value
was obtained for each sector and for eight of the filtered images. Therefore, a total of 80
variance values are obtained and they represent the feature vector of the fingerprint. The
following equation is used to calculate the variance for each sector:
Page 70 of 102

= ( (, ) )2
1

Where

K i Is the number of pixels in sector.


Fi Is the sector of the filtered image.
Pi Is the mean of that sector.

4.4.8 Nearest Neighbor

The nearest neighbor has been chosen to be the classifier. A fingercode (feature vector)
for all the users has been calculated during the registration and then the fingercode has
been stored in the database of the system to be ready for the matching. The fingercode
has been taken from images which have the best quality. For a given fingerprint, the
Euclidean distance between the fingercode of the target image and stored fingercode of
each person which exist in the database has been calculated. The user that has the lowest
Euclidean distance will be chosen and identified as same person. As we have looked into
many classification schemes, the mean nearest neighbor requires the least calculations to
yield a result. It also consumes the least storage space since it takes only one feature
vector from each person.

As seen in many classification schemes, the average of nearest neighbor requires


fewer calculations in order to produce the result. It uses less storage space, because it
takes only one fingercode from each user.

4.5 Important codes


Page 71 of 102

The fingerprint identification algorithm has been translated into code and simulated using
MATLAB different programing technique has been used during the simulation process
of the fingerprint voting system. This system is function base system which means it is a
combination of functions and all these functions work together in order to perform the
desire task. There are two types of functions was implemented in order to design the
system. The first type of functions are general functions designed by MATLAB
company and by writing the name of the function in any program, the MATLAB will
callback the function to do particular task, on the other hand there functions designed
especially for this project. The figure below shows a general function known as zeros,
which been implemented in the fingerprint voting system code. This type of functions is
very helpful because it save time and effort.

Figure 44: Zeros function's code

The function zeros which been implemented in Gabor filter code in order to create
array of matrix and make it executed very fast. Vector_tem1 refers to template of the first
finger. Here a matrix of zeros with name of vector_temp1 has been created using zeros
function. This matrix has number of rows same equal to the multiplication result of
gabor_num and sector_num, and it has only one column. The exact same thing goes for
vector_temp2. All the matrixes above consider as preparation for the matching process.

The other type of functions has been made specifically for this project. These
functions basically are combinations of codes, for example the sectorization and
normalization functions. The normalization function has been made by converting the
normalization formula into code shown in the figure below.

Page 72 of 102

Figure 45: Image normalization code

According to the normalization formulas which mentioned earlier, the formula shows two
conditions for the normalized image the first one if I(x, y) > Mi the normalized images
formula will be M_o + ((V_o (I(x, y) M_i )^2)/V_i ) otherwise the formula will be
changed to M_o ((V_o (I(x, y) M_i)^2)/V_i ). Each character in this
formula has been set as an variable in order to convert this formula into MATLAB code
as shown at the figure above. In the code above If statement has been to represent the
conditions of the normalized image. The square root of the formula has been replaced by
power of 0.5 in the MATLAB code.

The square root and some other symbols cannot be represented directly in
MATLAB. It needs profession programing skills to make it the figure below shows the
summation representation code in MATLAB.

Figure 46: Summations representation code

Page 73 of 102

The above code has been written to write mean of formula sectors = 1
in form of code. The summation sign has been replaced with for loop in order to perform
the summation task in this formula.

There are some toolboxes has been used in this project such as MySQL database
and Image acquisition toolboxes. Each toolbox has number of functions related to one
area. For example all the codes in the database toolbox related to database. The figure
below shows MATLAB code has been written in order to store register new user in to
the system and to store the fingerprint information in the database.

Figure 47: Fingerprint voting system database code

At the beginning a connection to the database has been made using conn function
by writing the information of the database (Database name, username and password).
Then program will take the num2ste(min_pos) which represent ID of the fingerprint and
it will be store in the database using exdata1 function. And finally the data will be store
in the database using insert function. The name of the selected column specified by
(colname1) followed by the name of the column.

Page 74 of 102

4.6 Result

4.6.1.1

Algorithm test and result

In general, the algorithm had made to determine the center point gives accurate results. It
has been applied to the three fingerprint images below. The central points of the three
images are shown respectively. It is evident that the algorithm of the center point is very
accurate and efficient. Low resolution and noise are also important factors that can
directly affect the performance of the algorithm. Improvement of the central points
algorithm should give a better image quality. However, the algorithm used is generally
accurate.

Figure 48: Results of center point algorithm on different images

After performing a rotation on the image on the left, the image will be in better
orientation. Anyway, since the input is 256x256 the quality of the image after rotation
will be good as the original input. If the resolution is higher, that would make the resulting
smooth image impressively. Due to the mapping of the pixels of images that have low
resolution, the result may not have the same quality as the original image. Nevertheless,
the resulting image is still acceptable and can be processed for fingerprint matching. It
would have been much better if testing it using higher quality images.
Page 75 of 102

Figure 49: Fingerprint before and after rotation

After performing, sectorization and normalization, the brightness and contrast


throughout the images became constant. There were no variations apparent. The results
of the 8 Gabor filters are shown in the figure below. Using of such filters will reduce the
noise, and the ridges in a same direction to any filter were preserved. The performance of
the algorithm is very fast because fast Fourier transform has been applied on the Gabor
filter. By performing the filtering in the frequency domain the time and memory
requirements has been reduced significantly.

Page 76 of 102

Figure 50: Eight Gabor filters

A test has been made using database of 5 individuals and 60 fingerprints each,
these prints have been partitioned into a training set (the fingerprint which exist in the
database) and a testing set. The 5 individuals all had the same type of fingerprint, loop
fingerprint. This made it more complex to do verification among the fingerprints because
the same classification fingerprint. The training set fingerprint images are also used to
determine the threshold for rejection which will be discussed later on chapter five of this
project. A few of the other prints, many of which were of bad quality, were used as the
testing set.

In order to determine a threshold value for the identification process, it was


necessary to compare a fingerprint from one class to each one of the five classes. By
looking at the Euclidean distance values, it should be obvious to determine which class
the fingerprint belongs. Then after redoing the process a few times, a threshold can be
expected.

Many challenges would make fingerprint identification hard such as wrong


orientation, displacement, missing sections, and poor quality as well. Displacement and
orientation issues arise as differences each time a fingerprint is digitized from the person.

Perfect alignment while scanning is not possible every single time. When
identifying a fingerprint, it is rejected if the quality is not well enough causing the
Page 77 of 102

classifier to give a Euclidean distance that is much greater than threshold. Table below
shows a sample of the results from the classifier when identifying fingerprint from class
1 against all the training set.

Table 3: Compare class 1 fingerprint against all classes

Class

Euclidean distance

52195

95817

125299

86804

83989

As seen at the table above the smallest distance among the results is for Class one.
This implies that the fingerprint most closely matched Class 1, which is correct.
Nevertheless, from the results obtained the identification system seemed to perform
extremely well by taking into consideration the fingerprints were all belong to the same
type.

4.6.2 Performance testing and result

4.6.2.1

Matching

In the figure below two fingerprint images have similar shape are shown. These two
fingerprint images belong to two different voters. The fingercode of these two images
will differentiate them even if they have similar looking. The threshold has value of 715
and its represent the minimum distance between the fingercode of these two images. If
the minimum distance between two fingerprints is lesser than 715, thats mean the two
fingerprint are matched and belong to the same person while if the value is more than 715
then the two fingerprint is different and its belong to two different voters. The two
fingerprints in the figure below have a minimum distance of 1713.35, thats means these
two fingerprints are different and belong to different persons, even if the two fingerprints
appear similar.
Page 78 of 102

Figure 51: Stored template against first impression for different voters

On the other hand 2 fingerprint images and their corresponding fingercodes belong to
the same person shown in the figure below. The minimum distance between these two
fingerprint images is 420.2 which are lesser than the threshold value, that means these 2
fingerprint images belong to the same person and the person is eligible to cast his vote.

Figure 52: Stored template against first impression for same user

4.6.3 Voting test and result

Page 79 of 102

The result of the voting test shows that after taking the voter fingerprint image and process
it by the voting system. If the fingerprint matches then the voter has the right to cast his
vote. If the fingerprint wasnt stored in the systems database, a warning message is
shown, so the voter cant perform his vote, or in case the voter aimed to votes another
time, the system going to give a warning message, in order to alter the security of the
election. There are four candidates exist at the voting page, during the voting process,
checking the voters identity will be the first step in the process, then the voter will be
asked to vote for his favorite candidate by clicking on the button which located beside
each nominee. The figure below shows the election results. The figure below is a picture
was taken during the voting process testing.

Figure 53: Voting process and result

4.7 Simulation and data analysis


Page 80 of 102

Figure 54: Registration Page

The figure above shows the user registration page GUI. From this page the administrator
can register new users to be eligible to perform his/her vote. The administrator should
scan the users fingerprint first then take picture to the person and fill all the user
information in ID, TP number, First name, Last name, nationality and Contact number
text bars. By clicking the register button the user will be registered and all the information
will be stored in the database.

It also shows the process of registering new user; the administrator scanned the
users thumb fingerprint of the left hand and took a picture to the user as a step toward
the registration process of the voters/users of the fingerprint voting system. The figure
shows that the administrator fills the entire requirement of registering new user and by
clicking the register button all the information will be store in the database.

Page 81 of 102

Figure 55: Database after registration

The above figure shows the database of the system which contain all the users
whom eligible to cast their votes.

The figure below shows the fingerprint identifying GUI. This page will allow the
administrator from checking the eligibility of the user whether he is allowed or not
allowed to cast his vote. The administrator will scan the user fingerprint as a first step. In
this project instead of scanning the fingerprint, it will be called from fingerprint database
due to the absence of the fingerprint scanner. By clicking the matching button the program
will search for any similar fingerprint image in the system database, if there is a similar
fingerprint the system will allow the person to cast his vote otherwise the person is not
eligible to perform his vote.

Page 82 of 102

Figure 56: Fingerprint identification Page

Figure 57: inserting fingerprint image to perform matching

Page 83 of 102

The above picture shows that the administrator loaded the person fingerprint to
the system in order to check his eligibility.

Figure 58: Computing the reference point/ center point

This picture above shows that the system calculated the center point of the
fingerprint which will be explained earlier in this chapter.

Figure 59: Adding the fingerprint image to the database

Page 84 of 102

By clicking add to the database the registration page will be appear to allow the
administrator from adding new person to the system.

The figure below shows the result of the matching. If the person is exist in the
system database, the system will show the scanned fingerprint on the left side of the GUI
and it shows the use fingerprint which is exist in the system database on the upper right
side of the GUI while the lower right side of the GUI shows the person picture. Also pop
up will be appear to show the ID of the person and finally the initial test will show the
ratio of the similarity between fingerprint templates.

Figure 60: The final result after matching

The figure below shows that the person is not eligible to perform the voting. The initial
text shows no matched fingerprint in the database and the best nearest fingerprint has
distance of 819.5441 which is not acceptable. An pop up will be appear to show that there
is no such fingerprint exist in the system database and the person is not allowed to cast
his vote.

Page 85 of 102

Figure 61: voting page with voting result

If the administrator clicks the matching button without load any picture to the
system. In this case the system will show an error and ask the administrator to add
fingerprint image to the system before do the matching.

Figure 62: No match exist in the database

Page 86 of 102

Figure 63: voting page with voting result

The figure above shows the voting page of the system. This GUI page shows that
there are four candidates and the voter is free to vote for any one of these four candidates.
If the voter has a doubts or any question about the system, he can simply refer to any poll
worker or he also can press the help button to read the common questions.

Page 87 of 102

CHAPTER 5

DISCUSSION

5.1 Interpretation of data

There is a said belong to Dr. Harrington state that, The measurement considered as the
first step that leads to control and control leads to improvenemt. You cant understand
something without measure it. And you cant control it if you dont understand it. You
cant improve it if you cant control it. So, that the collection of the data has a main role
for the interpretation of data. In this section, the fingerprint voting system going to be
tested using different databases each database has different parameters as shown in table
below.

Table 4: Fingerprint's database parameters

Name

Type

Sensor

FVC200
2

Monomoda
l

Optical
Optical
Thermal
sweeping

Image
Size
388x37
4
296x56
0
300x30
0

Resolutio
n
500 dpi

Subject
s
110

#s
.
3

sampl
e
880

569 dpi

110

880

500 dpi

110

880

Page 88 of 102

synthetic
FVC200
4

Monomoda
l

Optical
Optical
Thermal
sweeping
synthetic

FVC200
6

Monomoda
l

Capacitiv
e
Optical
Thermal
sweeping
synthetic

288x38
4
640x48
0
328x36
4
300x48
0
288x38
4
96x96

500 dpi

110

880

500 dpi

110

880

500 dpi

110

880

512 dpi

110

880

500 dpi

110

880

250 dpi

150

1800

400x40
0
400x50
0
288x38
4

569 dpi

150

1800

500 dpi

150

1800

500 dpi

150

1800

5.2 Sample calculations

In this project a liner filter known as Gabor filter has been used to perform the fingerprint
identification. This filter is a combination of filters could be 3, 4, 6 or 8 filters. In this
project Gabor with 8 filters has been used. The time of registration and identification
processes increase when the number of filters increases. The time of these processes
should not be more than 5 to 6 seconds. In order to speed up the process time Gabor filter
has been applied on frequency domain instead of spatial domain because applying Gabor
filter on spatial domain t is very slow.

To compute and check the algorithm applicability in term of speed and accuracy,
FVC 2002, FVC 2004, FVC 2006 fingerprints databases were chose for the task. Each
database has (800) images; of (100) different fingers, and each one of these (100) has (8)
impressions.

Page 89 of 102

Matching percentage need to be flexible because (100%) of matching percentage


is very hard to occur if it is not impossible, for this reason, the matching percentage is
depending on determined a threshold value, in this project threshold is equals to (715), so
if the two global patterns or two local patterns are in box and there is no scaling for them,
then they are matched. In traditional matching rate calculated as in the equation bellow:
Matching Score =

Number of minutia pairs that match


Total number of minutia pairs

In this project the formula will be bit different, because of the minutia in this
project are global and local pairs only. So, the formula in our case is:

Matching Score =

Number of global pairs and local pairs that match


Total number of global pairs and local pairs

In both formulas above, there will be the two probabilities which are: Two
fingerprints from two different individuals may give a high Matching percentage (error);
or two fingerprints from the same individual may give a low Matching percentage (error).
So as in all systems there are two types of error: FAR known as the ratio number of cases
of pairs of different fingerprints found that arent matched to the total number of match
attempts. FRR known as the ratio number of cases of pairs of similar fingerprints found
that are not match to the total number of match attempts (John Trader, 2010).

FNR =

Number of successful independent fraud attempts against a person n


Number of all independent fraud attempts against a person n

FRR =

Numbr of rerjected identification attempts for a qualified person n


Number of all identification attempts for a qualified person n

Page 90 of 102

The genuine acceptance rate (GAR) is the measure of the likelihood that the
fingerprint identification algorithm will correctly accept voting try by an illegible voter.
A systems genuine acceptance rate known as, the ratio of the number of correct
acceptance divided by the number of identification attempts (John Trader, 2010).

The purpose of calculate the false accept rate and false reject rate is to compare
the databases images. The mean values of false accept rate and false reject rate of the
images in all levels are taken both, making false acceptance rates average and genuine
acceptance rates average for the particular level. During the test of the systems
performance, an image has been selected and compared against five other images which
belong to the same individual and then the result displayed. The amount of the irrelevant
images returned belongs to the incorrect detections percentage, and the percentage of
relevant images returned belongs to the correct detections percentage.

False accept rate and false reject rate very important in order to measure the
performance of the fingerprint voting system. By evaluating and measuring the false
accept rate and false reject rate, the matching scores threshold will decide either to accept
or reject the match which been set for performances optimization. By taking lower
threshold value it means the probability of accepted image will be high and rejected image
will be low and due to this, error occurrence will be increased and vice versa. Obtained
results are shown in table below:

Table 5: FAR, FRR, GAR system's result

Database
FVC2002 DB1

FAR
t=710
0.05

FRR
t=710
0.1

GAR
t=710
97.5

FAR
t=715
0.03

FRR
t=715
0.035

GAR
t=715
97.7

FVC2002 DB2

0.04

0.08

97.7

0.02

0.024

97.8

FVC2002 DB3

0.02

0.05

97.8

0.01

0.013

97.9

FVC2004 DB1

0.06

0.08

97.4

0.03

0.084

97.7

FVC2004 DB2

0.04

0.06

97.6

0.02

0.066

97.8

Page 91 of 102

FVC2004 DB3

0.03

0.05

97.7

0.01

0.054

97.9

FVC2006 DB1

0.04

0.06

97.6

0.02

0.065

97.8

FVC2006 DB2

0.03

0.05

97.7

0.01

0.057

97.9

FVC2006 DB3

0.03

0.04

97.7

0.01

0.045

97.9

5.3 Discrepancy between theoretical and experimental results

The main and the most challenge part in this project is the fingerprint identification, for
that it is important to state the discrepancy between theoretical and experimental result.
Since there is no available formula given in order to calculate the theoretical result of the
algorithm, the acceptable matching percentage which is 96% according to Dr. Salil
Prabhakar from Michigan State University will be considered as theoretical result, and
this result will be compared with the experimental result. The above section of this chapter
shows the FAR, FRR, GAR and the accuracy percentage of the matching algorithm. The
experiment result shows that the system has an accuracy of 97.4% which is 1.4% higher
than the acceptable percentage.

5.4 Comparison with the previous research:

The figure below shows the comparison process between Gabor with 3, 4, 6 filters
(spatial domain) and the identification algorithm of this project which is based on Gabor
with 8 filters on frequency domain. The comparison will be done after the result of
matching process of each algorithm. In other word a comparison between result of
identification algorithm base on spatial domain Gabor filter taken from an article belong
to (Dr. Muhammad Younus,2009) and the result of identification algorithm of this project.

Page 92 of 102

Fingerprint Image

3,4,6 Gabor filter

Preprocessing

8 Gabor filter

Feature Extraction

Template in DB

Feature Extraction

Matching and
calculate FAR1 & FRR1

Matching and
calculate FAR2 & FRR2
Compare FAR1,
FRR1& FAR2, FRR2

Result

Figure 64: Block diagram of comparison with previous research

This comparison will be done in term of processs speed, efficiency and accuracy.
As mentioned earlier the liner Gabor filter consists of combination of filters could be
3,4,6,8, or 16. Increasing the filters lead to increase the process time, in order to fast up
the algorithm Gabor filter has been applied on frequency domain instead of spatial domain
because applying Gabor filter on spatial domain makes the algorithm slow. The figure
below shows a comparison between Gabor with 3, 4, 6 filters (spatial domain) against
Gabor with 8 filters on frequency domain in term of speed.

Page 93 of 102

Compare different Gabor filter


algorithm speed
5
4
3
2
1
0
3

Time to register

Time of matching process

Figure 65: Comparison chart speed and number of Gabor filters

The above chart shows the speed result of different Gabor filter. The matching
time of spatial domains Gabor with 3 filters is about 1.1 second, by increasing the number
of filters to 4 the matching time became 1.6 second, and when the filters increased to 6
the matching time became 2 second. In this project Gabor with 8 filters has been applied
on frequency domain instead of spatial domain and the chart above shows thats the
matching time is about 1 second, that means it is much faster than the previous research
which belongs to Dr. Muhammad Younus.

Another comparison has been made to show the result of false acceptance rate
and false rejection rate between this project and the previous research. The table below
shows the comparison result.

Table 6: Comparison table FAR, FRR, GAR of different Gabor filters

Database

FAR

FRR

GAR

Gabor with 3 filters

3.1

6.25

93.75

Gabor with 4 filters

5.2

94.8

Gabor with 6 filters

3.1

96.9

Gabor with 8 filters

0.06

0.08

97.4

Page 94 of 102

The table above shows that the identification algorithm of this project gave much
better result than the previous research.

Finally the overall result of the comparison shows that this fingerprint voting
system is very accurate and efficient. The algorithm perform the process very fast it takes
about one second to complete the matching and it has very low false rejection rate and
very high GAR.

Page 95 of 102

CHAPTER 6

CONCLUSION AND RECOMMENDATIONS

6.1 Introduction

The electronic fingerprint voting system aims and objective included developing strong
matching algorithm using MATLAB and link it to MySQL database. Furthermore it
also has GUI designed using MATLAB to control the whole application. In relation to
the research work achieved, all of the goals and objectives of the specific area of research
has been accomplished positively. There is a say belong to Winston Churchill state, To
improve is to change; to be perfect is to change often. Therefore improvement always
has to be done in order to make a system to be perfect. The recommendation section below
view the improvement and suggestion can be done to the system to enhance the
performance more and more.

Page 96 of 102

6.2 Limitations

The success of any project depends critically on the effort, care and skills one applies in
its initial planning. In the planning of this project, a work breakdown structure, followed
by the task and time allocation has been done so as to effectively manage the different
individual tasks involved in it as can be seen from the Gantt chart in figure 1.2.

Each fingerprint voting system depends on an important external factor which is


the fingerprints image. The resolution and the quality of the image have huge impact to
the system. This system is working perfect with low quality image but it doesnt work
well with very low quality image. Very low quality image leads to rejecting the image or
to false rejection.

Do to the absence of fingerprint scanner in Malaysian market the MATLAB


code of fingerprint electronic voting system has been designed to work in offline mode.

Database Images have a large size it has resolution of eight bits per pixel.
Uploading a large number of fingerprints image to the database demands a large memory
space as well as large number of voters mean more fingerprint picture must be uploaded
in to the database and that makes the database response slower the leads to slower voting
process.

6.3 Recommendation/ further research

In big elections there are huge number of people want to cast their votes, in order to avoid
the congestion at the voting point there is need to provide number of personal computers
each one will be connected to the main computer/server in order to allow many people to
perform voting at the same time and prevent congestion. Therefore this application should
Page 97 of 102

be built around server architecture. As an improvement multiple client machines should


be interacting with the server simultaneously. Clients will interact with the system
through an interactive GUI, while the server serves the clients request and does the
processing in the backend.

For the future, an improved center point determination algorithm that is more
accurate should be considered. The registration in the FingerCode extraction is based on
the detection of the reference point. Even though our multi-resolution reference point
location algorithm is accurate and handles the poor quality fingerprint images gracefully,
it fails to detect the reference point in very low quality images leading to either a rejection
of the image or even worse, a false rejection in the verification system. A more robust
feature extraction algorithm should not rely on a single reference point alone. As a
possible solution, multiple reference point candidates can be located and representations
corresponding all of these reference points can be stored as multiple templates.

Reducing the number of Gabor filters from 8 filters to 4 filters will be good idea
in order to speed up the algorithm taking into account maintaining the efficiency of the
algorithm during the identification process.

The current implementation of filterbank representation extraction takes longer


than a typical minutiae-extraction algorithm. The convolution operation can be made
significantly faster by dedicated DSP processors. These implementation issues need to be
addressed to make the FingerCode matching system real-time.

This fingerprint electronic voting system is considered as a PC based fingerprint


voting system. For future work, it will be better to design a fingerprint voting machine
works dependently without need for PC to perform the voting in order to decrease the
project cost.

Page 98 of 102

6.4 Conclusion

Fingerprints considered as one of the most popular biometric methods used for human
recognition. Every person in the globe is born with unique fingerprint even twins born
with totally different fingerprints and fingerprint is naturally unchangeable throughout
life. For that reason fingerprint voting system has been made and the person ID has been
replaced with his fingerprint. This fingerprint voting system is implemented and
evaluated successfully. The evaluation of the system is made using different PCs with
different specifications in order to stand on system strength and weaknesses. The final
result of the fingerprint voting system was amazingly significant and computable with
other voting system. The systems accuracy came from the image enhancement by
removing or reducing the noise and Gabor filter.

Page 99 of 102

REFERENCES

Articles
D. Maio, D. Maltoni, A. K. Jain, and S. Prabhakar (2003). Handbook of
FingerprintRecognition. Springer Verlag.
Jain, K, Ross, A, Prabhakar, S (2004). An Introduction to Biometric Recognition. New
York, USA.
Farah Azirar, (2011). Fingerprint Recognition. Bachelor Thesis. School of
Electronics and Physical Sciences, Department of Electronic Engineering, University
of Surrey.

Jawad Nagi, (2009). Design of an Efficient High-speed fingerprint Recognition


System. Final Year Project Proposal. College of Engineering, Universiti Tenaga
Nasional.

Meng, T. Y. (2008). Electronic Voting Systems: Security Implications of the


Administrative Workflow. University of the Aegean, Samosl Greece.

Phil Brimblecombe, (2005). Face Detection Using Gabor filter, Bachelor Thesis.
School of Electronics and Physical Sciences, Department of Electronic Engineering.
University of Surrey.

A. Ross, S. Dass, and A. K. Jain (2010). A deformable model for fingerprint


matching,Pattern Recognition. University of Michigan.

Z. Pan, H. Bolouri (2010). figerprint matching on Discrete Cosine Transform and


Neural Networks. University of Hertfordshire, Herts, United Kingdom.
Page 100 of 102

Ziad M. Hafed and Martin D. Levine (2009). Face Recognition using Discrete Cosine
Transform. Center for Intelligent Machines, McGill University.

Yuan Fan, (2002). Face Recognition System based on Self-Organizing Maps and
Multilayer Perception Networks. Class Project. Engineering Faculty, Michigan State
University.

Xiao Yun Jing and David Zhang (2009). A fingerprint Recognition Approach Based
on minutiae DCT Feature Extraction. Nanjing University of Science.

Phil Brimblecombe, (2005). finerprint identification Using Neural Networks,


Bachelor Thesis. School of Electronics and Physical Sciences, Department of
Electronic Engineering. University of Surrey.

Mayuree Lertwatechakul & Siriporn Thammawaja (2009). Design a Secure


Electronic Voting System forhal and s Election. 94(2), 455-466.

Brunsilius,

J.,

et

al.

(2009).

Biometric-Secure

e-Voting

System

for

ElectionProcesses. Digest of Technical Papers.\


L. L., & Davie, B. D. (2011). Computer Networks, Fifth Edition: A Systems Approach
(The Morgan Kaufmann Series in Networking). Morgan Kaufmann; 5 edition.
M. H. Hassoun. Fundamentals of Artificial Neural Networks. The MIT Press,
Cambridge, Massachusetts, United States of America, 1995.

Books
Jalal M. Fadili . ( 2010). Sparse Image and Signal Processing. In C. Bruce, Research
students' early experiences of the dissertation literature review (pp. 217-229).
Routledge, Jean-Luc Starck, Fionn Murtagh.
Bakshi U.A., Bakshi A.V., Bakshi K.A. (2007), Digital Image Processing, 1st ed. Pune:
Technical Publications.

Page 101 of 102

Page 102 of 102

S-ar putea să vă placă și