evm

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

Upload: rj

Post on 03-Dec-2015

4 views

Category:

Documents


0 download

DESCRIPTION

EVM FINGER PRINT BASED

TRANSCRIPT

Page 1: EVM

Seediscussions,stats,andauthorprofilesforthispublicationat:http://www.researchgate.net/publication/268657819

FingerPrintBaseElectronicVotingSystem

THESIS·JUNE2012

DOI:10.13140/2.1.1108.4481

READS

579

1AUTHOR:

HaydarImadMohammed

PutraUniversity,Malaysia

2PUBLICATIONS0CITATIONS

SEEPROFILE

Availablefrom:HaydarImadMohammed

Retrievedon:29October2015

Page 2: EVM

Page 1 of 102

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 3: EVM

Page 2 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 4: EVM

Page 3 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 system’s 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 5: EVM

Page 4 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

System’s design ............................................................................................ 47

Conclusion: ................................................................................................... 51

CHAPTER 4 ................................................................................................................... 52

DESIGN/SYSTEM IMPLEMENTATION AND TESTING .................................................................... 52

Page 6: EVM

Page 5 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 7: EVM

Page 6 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 8: EVM

Page 7 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: Summation’s 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 9: EVM

Page 8 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 10: EVM

Page 9 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 11: EVM

Page 10 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; it’s 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 12: EVM

Page 11 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 13: EVM

Page 12 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 fingerprint’s 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 didn’t 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 system’s 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 14: EVM

Page 13 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 system’s 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 15: EVM

Page 14 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 doesn’t 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 16: EVM

Page 15 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 17: EVM

Page 16 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 18: EVM

Page 17 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.

Figure 3: Availability of Voting Systems in 2013

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

010203040506070

Punch card Optical scan:telephone-baseassistive ballot

marking

Touchscreen Push button GSM Paper ballots:Hand counting

Voting Systems Available to Millions of Registered Voters Represented

Voting Systems Available to Millions of Registered Voters Represented

Page 19: EVM

Page 18 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 computer’s 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 20: EVM

Page 19 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 area’s 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

fingerprint 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 21: EVM

Page 20 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 22: EVM

Page 21 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 don’t provide enough security and are easily

Page 23: EVM

Page 22 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 voter’s 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 user’s 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 can’t 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 24: EVM

Page 23 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 equipment’s

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 25: EVM

Page 24 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 individual’s 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 26: EVM

Page 25 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 27: EVM

Page 26 of 102

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.

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

Page 28: EVM

Page 27 of 102

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

Ridge ending Bifurcation Dot (or Island)

Page 29: EVM

Page 28 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.

Figure 8: Flowchart of the minutiae method

Orientation

Field

Ridge

estimate

Binarization

Thinning Minutiae

Filtering

Minutiae

Matching

Page 30: EVM

Page 29 of 102

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 minutia-

simplex that contains a pair of minutiae as well as their related textures, with its invariant

Input image Binarization image

Page 31: EVM

Page 30 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 filters to the

fingerprint identification. Correlation filters 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 fingerprints

of the same finger. The distortions can be significant 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 filter for elastic distorted fingerprint

verification. K.Venkataramani showed that filters such as MACE and OTSDF give

extremely good performance in fingerprint verification without requiring any

preprocessing. Below is the flow chart of correlation filters.

Page 32: EVM

Page 31 of 102

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 isn’t 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

Training

Image Filter Design

Correlation

Filter

Fast Fourier

Transform

Inverse Fourier

Transform

Correlation

Output Testing image

Page 33: EVM

Page 32 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.

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 project’s process.

Template Fingerprint Query Fingerprint

Feature Extraction Feature Extraction

Maximum fitness

value > Threshold?

Satisfy termination

condition?

Selection

Crossover

Mutation

Chromosome representation and

initialization of population P

Compute fitness value for each

hypothesis in p

No: Different fingerprint

Yes: Same fingerprint

Page 34: EVM

Page 33 of 102

Start

System

Designing

Software

Practicing

Hardware

Research

Program

Developme

nt

Assemble

Breadboard

Testing OK

Printed Circuit

Board

Completion

External Casing

System

Testing

TroubleshootingNO

YES

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 35: EVM

Page 34 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 it’s 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 36: EVM

Page 35 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 doesn’t

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 37: EVM

Page 36 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:

Figure 14: Research approach stapes

Reseacrch

Approach

Research Development

Problem

Identification

Critical

Analysis

Relevance of

Research

Undertaken

Page 38: EVM

Page 37 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 39: EVM

Page 38 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 didn’t

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 40: EVM

Page 39 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 system’s operation especially when the

MATLAB® program need big RAM and high processor. Also the algorithm’s 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 system’s 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 41: EVM

Page 40 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 today’s

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 42: EVM

Page 41 of 102

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.

Research and study

Planning

Programming Assembly hardware

Testing

Ok

Finalize and complete

Troubleshooting

No

Page 43: EVM

Page 42 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.

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.

Power

supply

Personal

computer

Control

program

User

registration

User

identification

Voting

page Database

Beep

True

False

Page 44: EVM

Page 43 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 chart’s process have been done as shown below.

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.

Figure 18: Software Fingerprint Block Diagram

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

Data AcquisitionImage

PreprocessingFingerprint Image

EnhancementFeature

ExtractionMatching

Data input Data Loading Data Encoding

Data Sending Data base

Page 45: EVM

Page 44 of 102

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 type’s hardware and software components.

GUI

Registration Matching

MATLAB MATLAB Database

Wait for

vote

MATLAB Database

Result

Page 46: EVM

Page 45 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 47: EVM

Page 46 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 48: EVM

Page 47 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 System’s 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 49: EVM

Page 48 of 102

handle the identification process after converting the image to fingercode. The figure

below shows the algorithm design flowchart.

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.

Find Core Point Crop Image Sectorization

Normalization Gabor Filter Feature Vector

Page 50: EVM

Page 49 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 51: EVM

Page 50 of 102

By double click on any component the component’s 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 52: EVM

Page 51 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 button’s

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 53: EVM

Page 52 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 54: EVM

Page 53 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

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

Feature

extractor

Feature

extractor

Feature

matcher

System

Databas

Voting result

Vote

Warning

Yes

No

User interface

Page 55: EVM

Page 54 of 102

different type of fingerprint scanner instead of one type, as well to reduce the system’s

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 user’s fingerprint and matches it with the database’s 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

doesn’t 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 0’s 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 doesn’t

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 56: EVM

Page 55 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):

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)

Voter

Voting

Result

Warning

Fingerprint Voting

System

Ye

No

Page 57: EVM

Page 56 of 102

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

3- Low level diagram (level 2):

Fingerprint scan/Fingerprint Database

Matching Database

Voting Result

Candidate

Candidate 2

Candidate 3

Button

Button

Button

False Not allow to

vote/Warning

True Allow user to vote

Identification

User

Registration

Operations

Page 58: EVM

Page 57 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.

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 image’s 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):

Image

Processing

Feature

Extractio

Write

templates

Image

Processin

Feature

Extractio

Fingercode Read

Template

Registration Mode

Identification Mode

Fingerprint

Image

Fingerprint

Image

Template

Data

Fingercode

Extraction

Result

Fingercode

Matching

Page 59: EVM

Page 58 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.

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

database’s 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

Input

Image

Find

center

Crop Sectorize

Fingercod

e

Gaborftt Gabor Filter Normalize

Matching

Result

Page 60: EVM

Page 59 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.

Figure 30: Database design

The figure below shows the specifications each table, column and type of the rows of the

fingerprint voting system’s database. The operator of this database is Wamp server

version 2.2.

Registration’s

Table Candidates’

Table

Last name

Nationality

Fingerprint

Database

Phone

Name

TP

ID

Picture

Candidate

Votes

Page 61: EVM

Page 60 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 62: EVM

Page 61 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 fingerprint’s 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:

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

Input

Image

Find

Center Crop

Sectori

-zation

Nor-

malized

Gabor

22

Gabor

45

Gabor

67.5

Gabor

90

Gabor

112.5

Gabor

135

Feature Vector Of Variances (Fingercode)

Database

Page 63: EVM

Page 62 of 102

upcoming processes going to be referenced around the reference point. Computing the

fingerprint image’s orientation map is very important in this stage because the orientation

map is fingerprint’s 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 system’s computation

power decides the blocks’ size. The importance of the blocks comes from the fact that the

pixels that don’t 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 block’s local orientation which is centered at pixel (𝑖, 𝑗) going to

be estimated.

𝑣𝑥(𝑖, 𝑗) = ∑ ∑ 2𝜕𝑥(𝑢, 𝑣)𝜕𝑦(𝑢, 𝑣)

𝑗+𝜓2

𝑢=𝑗−𝜓2

𝑖+𝜓2

𝑢=𝑖−𝜓2

𝑣𝑦(𝑖, 𝑗) = ∑ ∑ ( 𝜕𝑥2(𝑢, 𝑣)𝜕𝑦

2(𝑢, 𝑣)

𝑗+𝜓2

𝑢=𝑗−𝜓2

𝑖+𝜓2

𝑢=𝑖−𝜓2

)

𝑂(𝑖, 𝑗) =1

2𝑡𝑎𝑛−1 (

𝑣𝑦(𝑖,𝑗)

𝑣𝑥(𝑖,𝑗))

Page 64: EVM

Page 63 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 it’s coordination to the reference

point. The picture below shows the center point of an image.

Page 65: EVM

Page 64 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 significantly.

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𝑥2 − 𝑐𝑒𝑛𝑡𝑒𝑟 𝑥2

) − 𝑡𝑎𝑛−1(𝑦1 − 𝑐𝑒𝑛𝑡𝑒𝑟 𝑦1𝑥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 66: EVM

Page 65 of 102

integer values, and that certain output pixels will not get mapped by any input pixels. The

resulting output would be completely inaccurate.

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 difficult to observe and is significantly 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

x = R * Cos(a)

y = R * Sin(a)

x' = R * Cos(a + q)

y' = R * Sin(a + q)

Page 67: EVM

Page 66 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 68: EVM

Page 67 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.

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)

𝑉𝑖, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

Frequency

distributio

n

0 black 255 white

Page 69: EVM

Page 68 of 102

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

𝛿𝑦2 ] } cos(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

Frequency

distributio

n

0

black

255

white

Page 70: EVM

Page 69 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 71: EVM

Page 70 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 72: EVM

Page 71 of 102

𝑃𝑖𝜃 =1

𝑘∑𝑆𝑖𝐾1

𝑉𝑖𝜃 = √∑(𝐹𝑖𝜃(𝑋, 𝑌) − 𝑃𝑖𝜃)2

𝐾1

Where

Ki 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 73: EVM

Page 72 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 74: EVM

Page 73 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 image’s

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: Summation’s representation code

Page 75: EVM

Page 74 of 102

The above code has been written to write mean of formula sector’s 𝑃𝑖𝜃 =1

𝑘∑ 𝑆𝑖𝐾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 76: EVM

Page 75 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 point’s

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 77: EVM

Page 76 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 78: EVM

Page 77 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 79: EVM

Page 78 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

1 52195

2 95817

3 125299

4 86804

5 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, that’s 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 it’s belong to two different voters. The two

fingerprints in the figure below have a minimum distance of 1713.35, that’s means these

two fingerprints are different and belong to different persons, even if the two fingerprints

appear similar.

Page 80: EVM

Page 79 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 81: EVM

Page 80 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 wasn’t stored in the system’s database, a warning message is

shown, so the voter can’t 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 82: EVM

Page 81 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 user’s 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

user‘s 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 83: EVM

Page 82 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 84: EVM

Page 83 of 102

Figure 56: Fingerprint identification Page

Figure 57: inserting fingerprint image to perform matching

Page 85: EVM

Page 84 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 86: EVM

Page 85 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 87: EVM

Page 86 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 88: EVM

Page 87 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 89: EVM

Page 88 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 can’t understand

something without measure it. And you can’t control it if you don’t understand it. You

can’t improve it if you can’t 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 Image

Size

Resolutio

n

Subject

s

#s

.

sampl

e

FVC200

2

Monomoda

l

Optical 388x37

4

500 dpi 110 3 880

Optical 296x56

0

569 dpi 110 3 880

Thermal

sweeping

300x30

0

500 dpi 110 3 880

Page 90: EVM

Page 89 of 102

synthetic 288x38

4

500 dpi 110 3 880

FVC200

4

Monomoda

l

Optical 640x48

0

500 dpi 110 3 880

Optical 328x36

4

500 dpi 110 3 880

Thermal

sweeping

300x48

0

512 dpi 110 3 880

synthetic 288x38

4

500 dpi 110 3 880

FVC200

6

Monomoda

l

Capacitiv

e

96x96 250 dpi 150 3 1800

Optical 400x40

0

569 dpi 150 3 1800

Thermal

sweeping

400x50

0

500 dpi 150 3 1800

synthetic 288x38

4

500 dpi 150 3 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 91: EVM

Page 90 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 aren’t 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 92: EVM

Page 91 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 system’s 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 database’s images. The mean values of false accept rate and false reject rate of the

images in all levels are taken both, making false acceptance rate’s average and genuine

acceptance rate’s average for the particular level. During the test of the system’s

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 detection’s percentage, and the percentage of

relevant images returned belongs to the correct detection’s 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 score’s threshold will decide either to accept

or reject the match which been set for performance’s 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 FAR

t=710

FRR

t=710

GAR

t=710

FAR

t=715

FRR

t=715

GAR

t=715

FVC2002 DB1 0.05 0.1 97.5 0.03 0.035 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 93: EVM

Page 92 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 94: EVM

Page 93 of 102

Figure 64: Block diagram of comparison with previous research

This comparison will be done in term of process’s 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.

Fingerprint Image

3,4,6 Gabor filter 8 Gabor filter Preprocessing

Feature Extraction

Result

Feature Extraction Template in DB

Matching and

calculate FAR2 & FRR2

Matching and

calculate FAR1 & FRR1

Compare FAR1,

FRR1& FAR2, FRR2

Page 95: EVM

Page 94 of 102

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 domain’s 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 that’s 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 1 5.2 94.8

Gabor with 6 filters 1 3.1 96.9

Gabor with 8 filters 0.06 0.08 97.4

0

1

2

3

4

5

3 4 6 8

Compare different Gabor filter algorithm speed

Time to register Time of matching process

Page 96: EVM

Page 95 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 97: EVM

Page 96 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 98: EVM

Page 97 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 fingerprint’s 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 doesn’t 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 99: EVM

Page 98 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 100: EVM

Page 99 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 system’s accuracy came from the image enhancement by

removing or reducing the noise and Gabor filter.

Page 101: EVM

Page 100 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 102: EVM

Page 101 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). A 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 103: EVM

Page 102 of 102