FingerPrint Base Electronic Voting System

98 downloads 460761 Views 4MB Size Report
study. They developed in their research a prototype electronic voting machine using PHP programming language and MYSQL Server as the database and the ...
FingerPrint Base Electronic Voting System Haydar Imad Mohammed Telecommunication Engineering

A project submitted in partial fulfillment of the requirement of For the degree of BEng (Hons) in Telecommunication Engineering

ASIA PACIFIC UNIVERSITY OF TECHNOLOGY & INNOVATION FACULTY OF COMPUTING, ENGINEERING & TECHNOLOGY SCHOOL OF ENGINEERING

2013

Page 1 of 102

ACKNOWLEDGEMENT

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

In addition, I would like to express my gratitude to my loving parents and friends who have helped and given me encouragement for the completion of the project.

Page 2 of 102

ABSTRACT

This final year project deals with the design and development of a Fingerprint Electronic Voting System. The suggested fingerprint voting system allows the user to scan his fingerprint, in order to check his eligibility by comparing his current fingerprint with the one already stored in the 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 3 of 102

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

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

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

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

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

Page 4 of 102

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

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

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

Page 5 of 102

LIST OF FIGURES

FIGURE

TITLE

PAGE NUMBER

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

Figure 34: Orientation angle O (i,j) ................................................................................ 62 Figure 35: Regions for integrating .................................................................................. 63 Figure 36: Center point (reference point)........................................................................ 64 Figure 37: Rotation equation and figure ......................................................................... 65 Figure 38: The Sectorized image .................................................................................... 66 Figure 39: fingerprint image with suboptimal contrast ................................................... 67 Figure 40: fingerprint image after normalization ............................................................ 68 Figure 41: distance between the valleys and the parallel ridges ..................................... 69 Figure 42: 0 and 60 degree orientation for impulse response of Gabor filter ................. 69 Figure 43: Final result of Gabor filter ............................................................................. 70 Figure 44: Zeros function's code ..................................................................................... 72 Figure 45: Image normalization code ............................................................................. 73 Figure 46: 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 7 of 102

LIST OF TABLES

TABLE

TITLE

PAGE NUMBER

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

Page 8 of 102

LIST OF APPENDICES

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

Page 9 of 102

CHAPTER 1

INTRODUCTION TO THE STUDY

1.1

Project background

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

In order to convert the Middle East into democratic countries public opinion is the most important determinant to establish a government and voting is the process through which people display their opinion and help to setup a democratic government. So the voting system should be reliable, accurate and it must be secure. In the traditional elections a voter used to cast his vote by using ballot paper. This is a long time consuming process; 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 10 of 102

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

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

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

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

Page 11 of 102

1.2

Objective of the project

The project requires the voter to submit his/her Fingerprint at the election place. The Fingerprint technology will be used in this project to create the system. The primary goal of the project is to make a system that requests the voter to give his/her Fingerprint as a personality proof. The fingerprint voting system reads the 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 12 of 102

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

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

The matching algorithm going to be designed in this project will support the system with additional advantages. The fingerprint matching algorithm combine both local and global information are used for the purpose of fingerprint feature extraction. The result of the algorithm will be fingercode which is short length fixed code that will be stored in the 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 13 of 102

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

1.5

Summary

These days, providing precautionary actions is one of the complicated issues in the planet. Among the several field, providing the precautionary actions for voting system are the boring and costly one. To be able to make the inexpensive solutions to the above mentioned finger print electronic voting system this project is made. This offers the security by using finger prints which are already been stored in the database. After that the fingerprints have been already stored in the database will be checked, and only if both they matched then the voting system is allow the person to cast his vote. If it is not matched then the system will display that the person 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 14 of 102

CHAPTER 2

2. LITERATURE REVIEW

2.1 Introduction

Voting process is known as a process for a group by means of a meeting or democratic vote in orders to take a free decision. This manner consider as the best normally found in republic and democratic governments (IDEA international, 2012)

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

Page 15 of 102

Figure 2: An old voting machine

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

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

2.2 Domain research

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

2.2.1 Findings by others and similar projects

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

Voting Systems Available to Millions of Registered Voters Represented 70 60 50 40 30 20 10 0 Punch card

Optical scan: Touchscreen telephone-base assistive ballot marking

Push button

GSM

Paper ballots: Hand counting

Voting Systems Available to Millions of Registered Voters Represented

Figure 3: Availability of Voting Systems in 2013

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

Page 17 of 102

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

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

An extensive survey of electronic voting system has been provided in security enhancement of electronic voting system's study by (Shahram Mohammadi,2009), this study presents a research of latest educational and industrial projects in the electronic voting system field, furthermore to the 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 19 of 102

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

Figure 5: mobile phone/ internet voting system

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

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

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

2.3 Gaps and limitations of previous researches

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

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

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

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

attacked with virus. These viruses may attack the computer, the cell phone, the internet, the operation system, the control unit of the system. as well as it may infringe the ballot which is supposed to be secret and privet, change the vote result or the final result of the election without the 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 22 of 102

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

2.5

Technical research

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

2.5.1

Electronic voting system 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 23 of 102

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

2- MATLAB®

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

. 2.6 Fingerprint recognition

Biometrics now days consider as a very vital component used as personal identification, considering that the biometric identifiers impossible to be shared between people or lost and the 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 24 of 102

Fingerprint recognition is a term called for the electronic method of identifying or verifying fingerprint images belong to humans. As mentioned earlier fingerprints are considered most important forms of biometrics that have been used in order to check the individuals’ identity. An article belongs to (D. Ashok Kumar, 2011) shows the different types of fingerprint recognitions.

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

2.7 Fingerprint classifications

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

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

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

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

Radial loop (right thumb) Loop opens toward left or the radial bone.

Plain whorl

Central pocket whorl

Figure 6: Types of fingerprint

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

Page 26 of 102

Ridge ending

Bifurcation

Dot (or Island)

Figure 7: Identification character

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

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

2.8 Fingerprint algorithms

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

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

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

According to research done by (Krithika Venkataramani ,2009) extraction of minutiae features before matching require a multiple of processes, this comprise orientation calculation, segmentation, enhancement for the images, ,extraction for the ridge as well as filtering the image, etc. All the above processes come before the matching performing the matching.

Orientation

Ridge

Field

estimate

Minutiae

Minutiae

Matching

Filtering

Binarization

Thinning

Figure 8: Flowchart of the minutiae method

Page 28 of 102

Input image

Binarization image

Figure 9: Image enhancement using Binarization for minutiae algorithm

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

Figure 10: Minutia compering

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

In an article belong to (Hrechak, 2008) he proposed an improvement which was a good trade-off between performance and computational cost. He first built a minutiasimplex that contains a pair of minutiae as well as their related textures, with its invariant Page 29 of 102

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

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

Also there is a different method is the application of correlation 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 30 of 102

Training

Filter Design

Image

Correlation Filter

Fast Fourier

Inverse Fourier

Transform

Transform

Testing image

Correlation Output

Figure 11: Recognition process by Correlation Filters

Earlier work in the field of combining optical features with neural networks was done by (Gamble, 2009). He classified binary fingerprints by using technology known as HAVNET. The number of enrolled fingerprints is equal to the number of output nodes of HAVNET. Therefore at whatever time a new fingerprint is enrolled in to the system, output node should be added in to HAVENET. The manner 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

Page 31 of 102

algorithm or its alternatives, which is really far to be appropriate to adjustment the exploration in challenging search places. The figure shows genetic algorithm diagram.

Template Fingerprint

Query Fingerprint

Feature Extraction

Feature Extraction

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

Satisfy termination condition?

Selection Crossover Mutation

Maximum fitness value > Threshold?

No: Different fingerprint

Yes: Same fingerprint

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

2.9 Methodology

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

Start

Software Practicing Program Developme nt

System Designing

Hardware Research

Assemble Breadboard System Testing

Testing OK

NO

Troubleshooting

YES Printed Circuit Board

External Casing

Completion

Figure 13: Fingerprint Development Flow Chart

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

Page 33 of 102

2.10

Technical research conclusions

The technical research provides has been discussed the technical issue related to the project starting by the project component, software, program languages and finally the algorithm that use for the fingerprint matching. The technical literature provides a compression between the MATLAB® and C programming language. The compression shows that the MATLAB® is better since 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 34 of 102

CHAPTER 3

RESEARCH METHODOLOGY

In order to make any business decision collecting data and information is very important and this process known as research methodology. The research methodology may include many research techniques such as interviews, publication research and surveys, it 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 35 of 102

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

3.2 Research approach

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

Research Development

Relevance of Research Undertaken

Reseacrch

Problem

Approach

Identification

Critical Analysis

Figure 14: Research approach stapes

Page 36 of 102

3.3 Reasoning of design

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

3.4 Problem identification and specification of research objectives

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

1- Problem identification

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

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

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

Despite the fact that most critical systems are regularly examined and analyzed for security and correctness electronic voting machine aren't exposed to the same level of analysis. A variety of latest researches have indicated that most or all of the electronic voting machine getting used these days are fatally defective, and that their quality 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 38 of 102

The only device going to be used in this project is computer. This computer must have high specifications in order to handle the 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 39 of 102

3.5 Primary research and concept

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

The concept considered as the main structure of the fingerprint voting system in order to ensure that the system is fully secure and efficient which is valuable in 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 40 of 102

Research and study

Planning

Programming

Assembly hardware

Troubleshooting

No

Testing

Ok

Finalize and complete

Figure 15: Design Development Flow Chart

3.6.2 System development

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

Page 41 of 102

3.6.2.1

Ballot and control units block diagram

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

User registration False

Power

Personal

Control

User

supply

computer

program

identification

Beep

True Voting

page

Database

Figure 16: System ballot and control units block diagram

3.6.2.2

Software development

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

Page 42 of 102

3.6.2.3

Software user interface block diagram

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

Data Encoding

Data Loading

Data Sending

Data base

Data input

Figure 17: User interface software Block Diagram

3.6.2.4

Software fingerprint diagram

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

Data Acquisition

Image Preprocessing

Fingerprint Image Enhancement

Feature Extraction

Matching

Figure 18: Software Fingerprint Block Diagram

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

Page 43 of 102

GUI Registration

Matching

MATLAB

MATLAB

Database

Wait for vote

MATLAB

Database

Result

Figure 19: The whole integrated system

3.7 System structure (materials and component selection)

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

Page 44 of 102

3.7.1 Project tools

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

Table 1: Fingerprint voting ystem tools

Tasks Components

System tools

Program languages MATLAB® programming , MySQL software

MATLAB® 2009b, MYSQL workbench 5.2 CE, Wamp server 2.2, Notpad++, MS Word/Excel/PowerPoint, Google Docs, Word

hardware

Lenovo Laptop, processor core I7, 4G ram

3.8 Hardware and software system cost

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

3.8.1 Software cost

Table 2: Software cost

Software

Unit Price (RM)

MySQL Workbench

300.00

Matlab®

1600.00

Wamp Server

150.00

MS Word/Excel

90.00

3.9

Development system tools

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

1.

Personal computer

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

Page 46 of 102

2.

Fingerprint database

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

3.10

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 47 of 102

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

Find Core Point

Feature Vector

Crop Image

Gabor Filter

Sectorization

Normalization

Figure 20: Fingerprint algorithm flowchart

3.10.2

GUI design and layout the GUI

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

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

Page 48 of 102

Figure 21: GUIDE Quick Start to create new GUI

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

Figure 22: Working area of GUIDE

Page 49 of 102

By double click on any component the 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 50 of 102

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

Figure 24: GUI using programing method

The above M file has been made to make a push button that performs a function called fingerprint. The style of the button is push that means it is a push button. The position has four numbers, changing the values of these numbers to control the 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 51 of 102

CHAPTER 4

DESIGN/SYSTEM IMPLEMENTATION AND TESTING

4.1 Introduction to the design/system

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

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

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

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

4.2 The working process of the design/system

4.2.1 System architecture

Voting result

Feature extractor

System

User interface

Databas Feature

Feature

extractor

matcher

Yes No

Vote

Warning

Figure 25: Fingerprint voting system architecture

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

different type of fingerprint scanner instead of one type, as well to reduce the 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 54 of 102

4.2.3 System with proposed fingerprint voting system:

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

1- Context diagram (level 0):

Fingerprint Voting Voter

Ye

Voting Result

System No

Warning

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

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

2- High level diagram (level 1)

Page 55 of 102

Fingerprint scan/Fingerprint Database

Operations Identification

User Registration

Not allow to

False

Matching

Database

vote/Warning

Allow user to vote

True

Button

Candidate

Button

Candidate 2

Button

Candidate 3

Voting Result

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

3- Low level diagram (level 2): Page 56 of 102

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

Registration Mode Fingerprint Image

Image

Feature

Write

Processing

Extractio

templates

Template Data

Fingercode

Read

Identification Mode

Fingerprint Image

Fingercode Extraction

Image

Feature

Processin

Extractio

Template Fingercode Matching

Result

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

The diagram above shows that the fingerprint voting system has two modes where the registration is the first mode while the identification is the second mode. The identification mode starts by scanning the fingerprint of the voter followed by image processing to the fingerprint in order to enhance the image quality. After enhancing the image an algorithm will handle the process of extracting the 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): Page 57 of 102

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

Input

Find

Image

center

Crop

Gaborftt

Gabor Filter

Fingercod

Matching

Sectorize

Normalize

e Result

Figure 29: Low level Diagram (Level 3)

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

4.3 Database design

The figure below shows the database diagram of the fingerprint voting system. The 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 Page 58 of 102

registration table is Registration. It consists of 7 columns, ID, TP, Name, Lastname, Nationality, Phone and Picture. The other table which is the candidate table consists of two columns Candidates and votes. The specifications and the properties of these tables and columns are shown in the figure below.

Database

Fingerprint

Registration’s Table ID TP

Candidates’ Table Candidate Votes

Name Last name Nationality Phone Picture

Figure 30: Database design

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

Figure 31: Database specifications of registration part

Figure 32: Database specifications for voting part

4.4 The working process of the design/system

4.4.1 Algorithm: Page 60 of 102

The algorithm is designed to identify both global and local feature of the fingerprint using feature extraction scheme and this information will be represented in form of code, called feature vector or fingercode, and the Euclidean distance between these feature vectors will be the base of the identification mode. At the beginning and as a first step must determine the 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:

Input

Find

Image

Center

Crop

Sectori

Nor-

-zation

malized

Gabor

Gabor

Gabor

Gabor

Gabor

Gabor

22

45

67.5

90

112.5

135

Feature Vector Of Variances (Fingercode)

Database

Figure 33: Block diagram of the algorithm

4.4.2 Center point determination

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

upcoming processes going to be referenced around the reference point. Computing the fingerprint 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

𝑣𝑦 (𝑖, 𝑗) = ∑ 𝑢=𝑖−

1

𝑗+

𝑗+

𝜓 2

∑ ( 𝜕𝑥2 (𝑢, 𝑣)𝜕𝑦2 (𝑢, 𝑣))

𝜓 𝜓 𝑢=𝑗− 2 2 𝑣𝑦 (𝑖,𝑗)

𝑂(𝑖, 𝑗) = 2 𝑡𝑎𝑛−1 (𝑣

𝑥 (𝑖,𝑗)

) Page 62 of 102

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

Figure 35: Regions for integrating

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

Page 63 of 102

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

4.4.3 IMAGE ORIENTATION

A major obstacle in fingerprint recognition is that the images obtained are not usually perfectly aligned. Usually rotation and displacement of some sort is evident. Attempting to compare two fingerprints with different orientations will affect the result 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 𝑦1 − 𝑐𝑒𝑛𝑡𝑒𝑟 𝑦1 ) − 𝑡𝑎𝑛−1 ( ) 𝑥2 − 𝑐𝑒𝑛𝑡𝑒𝑟 𝑥2 𝑥1 − 𝑐𝑒𝑛𝑡𝑒𝑟 𝑥1

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

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

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

Figure 37: Rotation equation and figure

The method used to solve this problem is to do the reverse. For every pixel in the rotated image, calculate which pixel in the input maps to it. Doing this is simple because the negative of the angle of rotation can be used. When mapping back though the coordinates will also probably not be integers, though the closest neighboring pixel can be used. This implies that some output pixels will map to the same input, but this is acceptable as it is very 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 Page 65 of 102

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

𝑆𝑖 = {(𝑥, 𝑦) | 𝑏(𝑇𝑖 + 1) ≤ 𝑟 < 𝑏 ( 𝑇𝑖 + 2 ), 𝜃𝑖 ≤ 𝜃 < 𝜃𝑖+1 , 1 ≤ 𝑥 ≤ 𝑁, 1 ≤ 𝑦 ≤ 𝑀} Where 𝑇𝑖 = 𝑖 𝑑𝑖𝑣 𝐾, 𝜃𝑖 = (𝑖 𝑚𝑜𝑑 𝐾) × (

2𝜋 ), 𝐾

𝑟 = √(𝑥 − 𝑥𝑐 )2 + (𝑦 − 𝑦𝑐 )2 , 𝑦 − 𝑦𝑐 𝜃 = 𝑡𝑎𝑛−1 ( ) (𝑥 − 𝑥𝑐 )

The two pictures below shows the fingerprint image after sectorization.

Figure 38: The Sectorized image

Page 66 of 102

4.4.5 Normalization

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

Frequency distributio n

0 black

255 white

Figure 39: fingerprint image with suboptimal contrast

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

𝑀𝑜 + √ 𝑁𝑖 (𝑥, 𝑦) = {

𝑉𝑜 × (𝐼(𝑥, 𝑦) − 𝑀𝑖 )2 , 𝑖𝑓 𝐼(𝑥, 𝑦) > 𝑀𝑖 𝑉𝑖

𝑉𝑜 × (𝐼(𝑥, 𝑦) − 𝑀𝑖 2 ) 𝑀𝑜 − √ , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 𝑉𝑖 Page 67 of 102

Frequency distributio n

0

255

black

white

Figure 40: fingerprint image after normalization

4.4.6 Gabor Filter

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

−1 𝑥 ′2 𝑦 ′2 𝐺(𝑥 , 𝑦 ; 𝑓, 𝜃) = 𝑒𝑥𝑝 { [ 2 + 2 ] } cos(2𝜋𝑓𝑥 ′ ). 2 𝛿𝑥 𝛿𝑦 ′



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

During

this

Page 68 of 102

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

Figure 41: distance between the valleys and the parallel ridges

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

the figure below

shows the result of Gabor filters.

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

Page 69 of 102

Figure 43: Final result of Gabor filter

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

4.4.7 Fingercode (Feature Vector and Variance) Calculation

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

𝑃𝑖𝜃 =

1 ∑ 𝑆𝑖 𝑘 𝐾1

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

Where

K i Is the number of pixels in 𝑆𝑖 sector. Fiθ Is the sector of the filtered image. Piθ Is the mean of that sector.

4.4.8 Nearest Neighbor

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

As seen in many classification schemes, the average of nearest neighbor requires fewer calculations in order to produce the result. It uses less storage space, because it takes only one fingercode from each user.

4.5 Important codes Page 71 of 102

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

Figure 44: Zeros function's code

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

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

Page 72 of 102

Figure 45: Image normalization code

According to the normalization formulas which mentioned earlier, the formula shows two conditions for the normalized image the first one if I(x, y) > Mi the normalized 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 73 of 102

1

The above code has been written to write mean of formula sector’s 𝑃𝑖𝜃 = 𝑘 ∑𝐾1 𝑆𝑖 in form of code. The summation sign has been replaced with for loop in order to perform the summation task in this formula.

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

Figure 47: Fingerprint voting system database code

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

Page 74 of 102

4.6 Result

4.6.1.1

Algorithm test and result

In general, the algorithm had made to determine the center point gives accurate results. It has been applied to the three fingerprint images below. The central points of the three images are shown respectively. It is evident that the algorithm of the center point is very accurate and efficient. Low resolution and noise are also important factors that can directly affect the performance of the algorithm. Improvement of the central 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 75 of 102

Figure 49: Fingerprint before and after rotation

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

Page 76 of 102

Figure 50: Eight Gabor filters

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

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

Many challenges would make fingerprint identification hard such as wrong orientation, displacement, missing sections, and poor quality as well. Displacement and orientation issues arise as differences each time a fingerprint is digitized from the person.

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

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

Table 3: Compare class 1 fingerprint against all classes

Class

Euclidean distance

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 78 of 102

Figure 51: Stored template against first impression for different voters

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

Figure 52: Stored template against first impression for same user

4.6.3 Voting test and result

Page 79 of 102

The result of the voting test shows that after taking the voter fingerprint image and process it by the voting system. If the fingerprint matches then the voter has the right to cast his vote. If the fingerprint 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 80 of 102

Figure 54: Registration Page

The figure above shows the user registration page GUI. From this page the administrator can register new users to be eligible to perform his/her vote. The administrator should scan the 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 81 of 102

Figure 55: Database after registration

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

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

Page 82 of 102

Figure 56: Fingerprint identification Page

Figure 57: inserting fingerprint image to perform matching

Page 83 of 102

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

Figure 58: Computing the reference point/ center point

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

Figure 59: Adding the fingerprint image to the database

Page 84 of 102

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

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

Figure 60: The final result after matching

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

Page 85 of 102

Figure 61: voting page with voting result

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

Figure 62: No match exist in the database

Page 86 of 102

Figure 63: voting page with voting result

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

Page 87 of 102

CHAPTER 5

DISCUSSION

5.1 Interpretation of data

There is a said belong to Dr. Harrington state that, “The measurement considered as the first step that leads to control and control leads to improvenemt. You 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

FVC200 2

Monomoda l

Optical Optical Thermal sweeping

Image Size 388x37 4 296x56 0 300x30 0

Resolutio n 500 dpi

Subject s 110

#s . 3

sampl e 880

569 dpi

110

3

880

500 dpi

110

3

880

Page 88 of 102

synthetic FVC200 4

Monomoda l

Optical Optical Thermal sweeping synthetic

FVC200 6

Monomoda l

Capacitiv e Optical Thermal sweeping synthetic

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

500 dpi

110

3

880

500 dpi

110

3

880

500 dpi

110

3

880

512 dpi

110

3

880

500 dpi

110

3

880

250 dpi

150

3

1800

400x40 0 400x50 0 288x38 4

569 dpi

150

3

1800

500 dpi

150

3

1800

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 89 of 102

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

Number of minutia pairs that match Total number of minutia pairs

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

Matching Score =

Number of global pairs and local pairs that match Total number of global pairs and local pairs

In both formulas above, there will be the two probabilities which are: Two fingerprints from two different individuals may give a high Matching percentage (error); or two fingerprints from the same individual may give a low Matching percentage (error). So as in all systems there are two types of error: FAR known as “the ratio number of cases of pairs of different fingerprints found that 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 90 of 102

The genuine acceptance rate (GAR) is the measure of the likelihood that the fingerprint identification algorithm will correctly accept voting try by an illegible voter. A 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 FVC2002 DB1

FAR t=710 0.05

FRR t=710 0.1

GAR t=710 97.5

FAR t=715 0.03

FRR t=715 0.035

GAR t=715 97.7

FVC2002 DB2

0.04

0.08

97.7

0.02

0.024

97.8

FVC2002 DB3

0.02

0.05

97.8

0.01

0.013

97.9

FVC2004 DB1

0.06

0.08

97.4

0.03

0.084

97.7

FVC2004 DB2

0.04

0.06

97.6

0.02

0.066

97.8

Page 91 of 102

FVC2004 DB3

0.03

0.05

97.7

0.01

0.054

97.9

FVC2006 DB1

0.04

0.06

97.6

0.02

0.065

97.8

FVC2006 DB2

0.03

0.05

97.7

0.01

0.057

97.9

FVC2006 DB3

0.03

0.04

97.7

0.01

0.045

97.9

5.3 Discrepancy between theoretical and experimental results

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

5.4 Comparison with the previous research:

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

Page 92 of 102

Fingerprint Image

3,4,6 Gabor filter

Preprocessing

8 Gabor filter

Feature Extraction

Template in DB

Feature Extraction

Matching and calculate FAR1 & FRR1

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

Result

Figure 64: Block diagram of comparison with previous research

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

Page 93 of 102

Compare different Gabor filter algorithm speed 5 4 3 2 1 0 3

4

6

Time to register

8

Time of matching process

Figure 65: Comparison chart speed and number of Gabor filters

The above chart shows the speed result of different Gabor filter. The matching time of spatial 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

Page 94 of 102

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

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

Page 95 of 102

CHAPTER 6

CONCLUSION AND RECOMMENDATIONS

6.1 Introduction

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

Page 96 of 102

6.2 Limitations

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

Each fingerprint voting system depends on an important external factor which is the 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 97 of 102

be built around server architecture. As an improvement multiple client machines should be interacting with the server simultaneously. Clients will interact with the system through an interactive GUI, while the server serves the clients request and does the processing in the backend.

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

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

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

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

Page 98 of 102

6.4 Conclusion

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

Page 99 of 102

REFERENCES

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

Jawad Nagi, (2009). Design of an Efficient High-speed fingerprint Recognition System. Final Year Project Proposal. College of Engineering, Universiti Tenaga Nasional.

Meng, T. Y. (2008). Electronic Voting Systems: Security Implications of the Administrative Workflow. University of the Aegean, Samosl Greece.

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

A. Ross, S. Dass, and A. K. Jain (2010). A deformable model for fingerprint matching,Pattern Recognition. University of Michigan.

Z. Pan, H. Bolouri (2010). figerprint matching on Discrete Cosine Transform and Neural Networks. University of Hertfordshire, Herts, United Kingdom. Page 100 of 102

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

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

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

Phil Brimblecombe, (2005). finerprint identification Using Neural Networks, Bachelor Thesis. School of Electronics and Physical Sciences, Department of Electronic Engineering. University of Surrey.

Mayuree Lertwatechakul & Siriporn Thammawaja (2009). Design a Secure Electronic Voting System forhal and s Election. 94(2), 455-466.

Brunsilius,

J.,

et

al.

(2009).

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 101 of 102

Page 102 of 102

Suggest Documents