0% found this document useful (0 votes)
14 views

Finger Print Project

This document outlines a biometrics project focused on Fingerprint Recognition, detailing its implementation and accuracy verification using the SIFT detector for feature identification. It includes an introduction to biometric systems, objectives, scope, and a literature survey of various fingerprint recognition techniques. The project aims to enhance user security through accurate fingerprint matching and discusses system specifications, methodologies, and testing processes.

Uploaded by

Kevin Roshan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Finger Print Project

This document outlines a biometrics project focused on Fingerprint Recognition, detailing its implementation and accuracy verification using the SIFT detector for feature identification. It includes an introduction to biometric systems, objectives, scope, and a literature survey of various fingerprint recognition techniques. The project aims to enhance user security through accurate fingerprint matching and discusses system specifications, methodologies, and testing processes.

Uploaded by

Kevin Roshan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

ABSTRACT

This biometrics project focuses on Fingerprint Recognition and how such a

system would be implemented, This system would confirm the level of accuracy of

fingerprint matching the identity of each individual attending to gain access to a

given amount of precision. Here each fingerprint is sub-classified into several

minutiae and hereby we used SIFT detector which allows identification of localized

features (keypoints) in sample image also known as Object Recognition in Images.

KEYWORDS USED: Patterns, Arch, Loop, Whorl, Minutia, Bifurcation, Ridges,


Minutiae, Binarization, Block Filter, SIFT

i
TABLE OF CONTENTS

CHAPTER TITLE PAGE NO.


ABSTRACT V LIST OF FIGURES IX LIST OF TABLES
X LIST OF ABBREVIATIONS XI
1. INTRODUCTION 1
1.1. OBJECTIVE 4
1.2. SCOPE OF THE PROJECT 4
1.3. LITERATURE SURVEY 5
2. SYSTEM ANALYSIS 11
2.1. EXISTING SYSTEM 12
2.1.1. Disadvantages 12
2.2. PROPOSED SYSTEM 13
2.2.1. Advantages 13
2.3. FEASIBILITY STUDY 14
2.3.1. Technical Feasibility 15
2.3.2. Economic Feasibility 15
2.3.3. Social Feasibility 15
3. SYSTEM SPECIFICATIONS 16
3.1. SOFTWARE SPECIFICATIONS 17
4. SOFTWARE DESCRIPTION 18
4.1. FRONT END & BACK END 19
4.1.1. FINGERPRINT SCANNER 19

4.1.2. PYTHON CORE SOFTWARE 20


4.1.3. OPENCV LIBRARY 22

ii
5. MODULE DESCRIPTION 24
5.1. PROJECT DEFINITION 25
5.2. OVERVIEW OF THE PROJECT 25
5.3. METHODOLOGY 25
5.4. ARCHITECTURE DIAGRAM 26
5.5. MODULES 27
5.5.1. Biometrics 27
5.5.2. Fingerprint 28
5.5.3. Fingerprint Sensing 29
5.5.4. Algorithm Used 31
5.5.5. Fingerprint Sensors 31
5.5.6. Verification and Authentication
35
5.5.7. Minute Score Matching 36

5.5.8. Limitations 37

5.5.8. DATASETS 37

6. SYSTEM TESTING 38
6.1. CODE REVIEW 39
6.2. TESTING PROCESS 39

6.2.1. System Testing 40

6.2.2. Unit Testing 40


6.2.3. Integration Testing 41
6.2.4. Acceptance Testing 41
6.3. EXPERIMENTAL OUTCOME 42
7. SYSTEM IMPLEMENTATION 43
7.1. IMPLEMENTATION PROCEDURE 44
iii
7.2. STEPS TO BE FOLLOWED 45

8. CONCLUSION AND FUTURE ENHANCEMENTS 46


8.1. CONCLUSION 47
8.2. FUTURE ENHANCEMENTS 47
APPENDICES 48
APPENDIX-1 SCREENSHOTS 49
APPENDIX-2 IMPLEMENTATION CODE 53
REFERENCES 56

LIST OF FIGURES

FIGURE NO. NAME PAGE NO.

5.1 Architecture diagram 26

5.5.1 Capacitive Solid-State Sensor 30

5.5.2 Optical Scanner 30

5.5.3 Latent Fingerprint 31

5.5.4 Scale Space Detection 33

5.6 Datasets 37

7.2 Matching Architecture 45

A.1 Screenshot of OpenCV version 49

iv
A.2 Datasets 50

A.3 Single Modified Sample 50

A.4 Searching for Match 51

A.5 Output 52

A.6 Best Match and Score 52

LIST OF TABLES

TABLE NO. NAME PAGE NO.

6.1 Experiment Result 42

v
LIST OF ABBREVIATIONS

ABBREVIATION FULLFORM

SIFT Scale Invariant Fourier Transform

OPENCV Open Source Computer Vision Library


Integrated development and learning
Environment
IDLE

UID Unique Identification numbers

NREGA National Rural Employment Guarantee Act

vi
CHAPTER 1

INTRODUCTION
INTRODUCTION

The biometric phrase means life measurement in the Greek language . That is
any technique used for measuring biological information for recognition goals called
biometric. There are various kinds of biometrics being used, these include
Fingerprint, Face, Speaker/Voice, Infrared thermogram (facial, hand or hand vein),
Gait, Keystroke, Odor, Ear, Hand geometry, Retina, Iris, Palmprint, Signature, DNA,
Knuckle crease, Brain/EEG, Heart sound/ECG. Defining humans using biometric
can even be behavioral or physiological biometrics. The difference between them is
that behavioral biometric can be affected with the progress of the time such as
signature, gait, speech, and keystroke but the physiological biometric are constant
during human life. Fingerprint, face, iris, and palmprints are examples of
physiological biometric. A Biometric system is reliable because it cannot be stolen,
borrow, bought, or forgotten like a password or ID.

The fingerprint is a physical biometric aspect. It is used to identify a person’s identity


due to its uniqueness where no two persons can share the same fingerprint. Besides,
a fingerprint is unchangeable with time and can be easily recognized during the
whole life of the individual. The fingerprint is an impression or model of ribs and
valleys at the top of a person’s fingers. Figure 1 shows a fingerprint pattern.
Fingerprint recognition is the automatic prosses of comparing saved fingerprint
1
pattern with the input fingerprint to determine human characters. Although
fingerprint recognition was deployed from decade it became one of the most
common biometric nowadays. The fingerprint identification system is a cheap but
solid mechanism at the same time. Moreover, it’s a simple way to identify humans
speedily and accurately . Many applications applied fingerprint recognition such as
the military, judiciary, health, teaching, civic serving, mobiles and laptop log-in, and
many more. Modern techniques and approaches are used recently as a substituted of
old ink to capture the fingerprint. These technologies differ in terms of accuracy,
effectiveness, speed, advantages, and challenges.This chapter discusses, compares
and analyses several authors work regarding the fingerprint recognition.

Along of various biometrics techniques, In the past few decades, human-beings have
been addicted to various technologies such as captured photos, scanned signatures,
bar code systems, verification Id & so on. Also, Biometrics is one of the applications
in Image processing which refers to technologies that used physiological or
behavioral characteristics of human body for the user authentication. The biometric
authentication system based on two modes: Enrolment and Recognition. In the
enrolment mode, the biometric data is acquired from the sensor and stored in a
database along with the person’s identity for the recognition. In the recognition
mode, the biometric data is re-acquired from the sensor and compared to the stored
data to determine the user identity. Biometric recognition based on uniqueness and
permanence. The uniqueness means that there is no similarity of feature between two
different biometrics data. For example, there are no two humans having the same
fingerprint feature even if they are twins. And when the features of biometrics do not
change over the lifetime or aging, it is called permanence. Biometrics can have
physiological or behavioral characteristics. The physiological characteristics are
included in the physical part of body such as (fingerprint, palm print, iris, face, DNA,
hand geometry, retina... etc).

2
1.1 OBJECTIVE

The major objectives of the project are as follows:

The Goal of the project is to provide user’s security enhancement in Fingerprint


Recognition and to implement the matching of sample fingerprint with the variety of
real fingerprint provided with correct accuracy by using the SIFT(Scale Invariant
Fourier Transform) Detector in OpenCV Python.

1.2. SCOPE OF THE PROJECT

The scope of the project is to provide enhanced security features to the users and the
sample fingerprint which is obtained can be used in the project to check and detect the
user fingerprint with the sample by using various fingerprint samples This biometrics
project focuses on Fingerprint Recognition and how such a system would be
implemented, This system would confirm the level of accuracy of fingerprint matching
the identity of each individual attending to gain access to a given amount of precision.
Here each fingerprint is sub-classified into several minutiae and hereby we used SIFT
detector which allows identification of localized features (keypoints) in sample image
also known as Object Recognition in Images.

3
1.3. LITERATURE SURVEY

Fingerprint recognition is the procedure of comparing known and unknown fingerprints


to prove that the it is from the same person or not [8]. Today, many approaches,
techniques, and systems are used to match fingerprints and solve related problems. This
section is focused on analyzing and categorizing different author’s work in the
fingerprint recognition area. Table 1 provides a summary of various papers in the current
literature. First column determines the Reference of the papers by author names and
year of publication. Second column gives the summary of the work in the corresponding
paper, and the third column describes the implemented approaches used to solve
fingerprint recognition issues. The author names and the year of publication will be used
as an identifier for the rest of the tables in the chapter showing other details of the
referred literature. Reference Brief of the summary Approaches adopted Explains
different biometrics structures that are used for certification and recognition purpose
with submitting their advantages and disadvantages.Knowledge-based approach Token
based approach

Biometric based approach

A general explanation of various types of fingerprint recognition systems and patterns


depending on the minute-based technique. Focused on Pattern recognition, wavelet, and
wave atom mechanisms. Complications related to the wave atom method are studied.
Histogram Equalization Band pass Filtering Gabor Filtering Binarization and Thinning
2D Fourier Transform Wavelet based Transformation Wave atom Transform and MCS
optimization algorithm Explains the differences between various fingerprint matching
techniques particularly local minutiae-based matching algorithms. It provides an

4
experiment about fingerprint identification and authentication using the minutiae-based
matching method with analyzing the outcomes.
topology of local structure

Type of consolidation usage of


additional features
minutiae peculiarities
parameter learning.

Discuses fingerprint authentication using minutiae extraction technique and covering


all related systems and processes. Load image Histogram Equalization of Fast Fourier
Transformation Binarization Region of Interest Thinning Extraction with False
Minutiae Removal Beneficent of minutiae-based fingerprint verification system by
suggesting a route for the feature extraction step which depends on reexamining the
gray-scale profile can increase the matching performance by 4%. Also, the proposed
feature refinement step that allocates class labels for every 31qmintiae will improve the
performance by 3%. Both steps will develop the whole fingerprint verification system
be 8%. Sequential approach. Execution and assessment of Biometric Image Software
(NBIS) for fingerprint recognition developed by the National Institute of Standards and
Technology (NIST). the NBIS is implemented in the MATLAB environment.
Pre-processing
Minutiae Extraction processing, Design minutia extractor by using different
techniques. Some improvements in the thinning, false removal approach, and image
segmentation is implemented in the work. Segmentation using Morphological
operations Thinning False minutiae removal methods Minutia markingMinutia
unification by decompose-ng a branch into three termination Matching in the unified x-
y coordinate system Combining minutia and correlation-based approaches to evolve an
automatic fingerprint recognition system. By using this hybrid, the performance of the

5
minutiae algorithm is grown. Minutiaextraction,Post-processing,Minutiae
Matching,Filtering,Feature Present Fingerprint Recognition using the Minutia Score
Matching method (FRMSM). It implements Block Filter for fingerprint thinning. Also,
it compares with available algorithms. Thinning Image binarizing Noise removal. A
summary of several biometrics techniques as well as explaining the unimodal and
multimodal with their pros and cons. Sensor modulMatching module Decision-making
modul Feature extraction module Explaining some biometrics and dividing them to
currently in use biometrics, limited used biometrics, and understudy biometrics .
Analignment-based minutia-matching algorithm has been developed to increase the
speed and accuracy by ability determining the matches between input minutiae and
Stord one without the need for detailed study. Michigan State University and the
National Institute of Standards and Technology NIST 9 fingerprint databases have been
used. The result shows that the full verification process takes 1.4 seconds a Sun ULTRA
1 workstation. Alignment-based minutiae-matching algorithm. Applying fingerprint
identification by employing a gray level watershed process to find out the ridges present
on a specific fingerprint image. The result display that this system is accurate and fast
when matching 7 images in the database.

Image acquisition
Discussing fingerprint recognition biometric in detail and explaining deferent
types of algorithms like negative Laplace filter and the non-stationary analysis, and a
flexible algorithm with calculating the matching test results.
Image acquisition Segmental-on Minutia detection

Biometric matching
Developing a novel algorithm for fingerprint matching based on local structures
to elicit neighboring minutiae features effectively. The presented algorithm is tested on
FVC2002 and the results show the reliability of the system.Novel topology-based
6
representation technique. Mixing the density map matching with minutiae-based
matching where the density data can be used in the matching process to reduce extra
storing cost. The outcomes approved that combining both approaches will improve
performance. Region estimation, Orientation filed estimation,Fingerprint
enhancement,Coarse density map extraction,Weighted polynomial approximation. An
adequate wat to press the template size with a reduction ratio of 94% by applying tow
reduction algorithms the Column Principal Component Analysis and the Line Discrete
Fourier Transform feature reductions. Also, a fast minutiae-based matching algorithm
can be accomplished throw spectral minutiae fingerprint recognition system which
shows matching speed with 125000 comparisons per second on a PC with Intel Pentium
D processor 2.80 GHz and 1 GB of RAM. Column Principal Component
Analysis (Column-PCA)

Line Discrete Fourier Transform (Line- DFT)

Novel core point detection method that uses the detection algorithm to examine the
core point and determine local frame for minutiae close to it. Then tow fingerprint
corresponding points will be earned and used to match the global class then make the
final diction. Core-based structure matching algorithm. New topology-based algorithms
to match fingerprint and address the local matching, tolerance to deformation, and
global matching. The experiment outcomes approve that time and performance is
improved using the algorithm. Topology-matching algorithm. Provide a hybrid
matching algorithm that matches fingerprints using minutiae inputs and texture inputs
together. The matching performance improved when testing 2560 images by collecting
both texture-based and minutiae-based matching scores.hybrid matching approach
(minutiae-based representation with a texture-based representation). Suggesting ridge
feature-based approach for fingerprint recognition that provides good results for low-
quality fingerprint images. Matching fingerprint images based on ridgeline features

7
extracted by using contextual filtering and two pass thinning. Histogram approach is
used to match the fingerprint. The experiments show how the performance developed
using this approach.
Contextual filter
Single pass thinning algorithm Image preprocess Gabor filtering. Novel
enhancement algorithm that split the input fingerprint image to set of filtered images
which will help in producing orientation field and quality mask. The evaluation process
of the algorithm is done on an online fingerprint verification system using the MSU
fingerprint database that consists of 600 fingerprint images and the test demonstrates
that the enhancement algorithm improves the performance of the online fingerprint
verification system. Ridge extraction algorithm Voting algorithm.Submit a fingerprint
recognition algorithm depending on phase-based image matching. Which uses the phase
components in 2D (two-dimensional) discrete Fourier transforms of fingerprint images
to reach strong fingerprint recognition with a low-quality fingerprint. The test used a
group of fingerprint images captured from fingertips with a bad case. The results show
an effective recognition performance using this approach. 2D (two-dimensional)
Fourier transform. The correlation-based fingerprint verification system uses the richer
gray-scale information of the fingerprints. In the beginning, the system chooses
appropriate templates in the primary fingerprint, employs template matching to locate
them in the secondary print, and match the template positions of both fingerprints. The
test describes the performance of correlation-based fingerprint against other systems.

Overview of the literature


The accuracy and performance in percentage. It also mentions the identification
and verification measures. Identification and verification are matching techniques for
fingerprint recognition. In the verification, the person enrolls his fingerprint to the
system and the templet stored it in the database. Every time the person accesses the
system, he has entered his fingerprint to verify himself. It’s a one to one relationship

8
where the input fingerprint is compared with the stored one. On the other hand,
identification is one to many relationships because the human fingerprint is matched
with the fingerprints database to determine who is that person. While the performance
measures used for identification depend on the accuracy, recognition rate, rank K, etc.,
the performance measures for verification are False Match Rate (FMR), False
NonMatch Rate (FNMR), False Accept Rate (FAR), False Rejection Rate (FRR), and
Equal Error Rate (EER). The researchers in describe the meaning of the authentication
parameters. FAR happens when the system recognizes person erroneous. But when the
system rejects entry to approve person that means the FRR is happening. FMR is the
amount of fraud assessments with threshold value ‘T’ divided by the total quantity of
fraud similarities. FNMR is the quantity with unaffected comparisons with threshold
value ‘T’ divided by the total quantity of open comparisons. Last one is EER, it
describes the error.

9
CHAPTER 2
SYSTEM
ANALYSIS

SYSTEM ANALYSIS

2.1. EXISTING SYSTEM

• Traditional Ink Fingerprinting- The process of identifying a person’s unique


fingerprint pattern from official ink and roll fingerprint cards but it may not be
successful at all times because the ink on the card can get smudged and might
also fail to get all the ridges on each finger.

• The most of the fingerprint sensors used till now are optical readers these are the
common type of fingerprint readers. The type of sensor in an optical reader is a
digital camera that acquires a visual image of the fingerprint. Advantages are that
optical readers start at very cheap prices.

2.1.1. Disadvantages

• The accuracy and working of system is affected by skin conditions of people.

• There are health issues involved due to touching of single scanning sensor
device by countless number of individuals. This has serious implications in
pandemic situations such as COVID-19 etc.

10
• It is difficult to capture complete and accurate fingerprint image in some cases
based on age and occupation.

• In case of Traditional Ink fingerprint, the ink pad are necessary to enroll our
fingerprints

• E-Fingerprints cannot be transferred over state borders, therefore one can only
use them if users get their fingerprints taken in the state where they intend to
work.

2.2. PROPOSED SYSTEM

• Live scan is an proposed system which is an ink-less fingerprinting method that


delivers fingerprint information electronically in seconds. There is no ink or card
involved with live scan fingerprinting.
• Digital fingerprinting is less complex than traditional ink fingerprinting. The prints
are detected on a glass plate. The fingerprints are forwarded to the appropriate
location once they have been captured digitally.
• An electronic copy of fingerprints is also more difficult to lose or destroy than a
tangible copy.
• The digital fingerprint offers greater security than a Ink-fingerprint.

2.2.1. Advantages
• It provide good security mechanism than all other security methods
• It never fails in security constraints.
• In public locations such as banks and airports a large number of people transit every
day including known criminals. Face recognition systems attached to video
surveillance systems are supposed to help catch them.
• Fairly small storage space is required for the biometric template, reducing the size
of the database required.
• It is one of the most developed biometrics, with more history, research, and design.
11
• Each and every fingerprint including all the figures are unique, even identical twins
have different finger prints.
• Sound potential for enrich use as most of the countries have existing fingerprint
databases.
• Relatively inexpensive and offers high levels of accuracy

2.3. FEASIBILITY STUDY


The feasibility of the project is analyzed in this phase and project proposal is put
forth with a very general plan for the project and some cost estimates. During system
analysis the feasibility study of the proposed system is to be carried out. This is to ensure
that the proposed system is not a burden to the company. For feasibility analysis, some
understanding of the major requirements for the system is essential.

2.3.1. Economic Feasibility

This study is carried out to check the economic impact that the system will have
on the organization. The amount of fund that the company can pour into the research and
development of the system is limited. The expenditures must be justified. Thus the
developed system as well within the budget and this was achieved because most of the
technologies used are freely available. Only the customized products had to be
purchased.

2.3.2. Technical Feasibility

This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on the
available technical resources. This will lead to high demands on the available technical
resources. This will lead to high demands being placed on the client. The developed

12
system must have a modest requirement, as only minimal or null changes are required
for implementing this system.

2.3.3. Social Feasibility

The aspect of study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The user must
not feel threatened by the system, instead must accept it as a necessity. The level of
acceptance by the users solely depends on the methods that are employed to educate the
user about the system and to make him familiar with it. His level of confidence must be
raised so that he is also able to make some constructive criticism, which is welcomed, as
he is the final user of the system.

13
CHAPTER 3

SYSTEM SPECIFICATIONS
3.1. SYSTEM SPECIFICATIONS

• Software Tool : IDLE


• Library Used : OpenCV-Python
• Operating System : Windows 10
• Processors : Any Intel or AMD X86-64 processor
• RAM : Minimum 4GB
• Graphics Card : No Specific graphics card required

CHAPTER 4

SOFTWARE DESCRIPTION

SOFTWARE DESCRIPTION

14
4.1 FRONT END & BACK END:

4.1.1. FINGERPRINT SCANNERS

A Fingerprint Scanner is a type of electronic security system that uses fingerprints


for biometric authentication to grant a user access to information or to approve
transactions. Human fingerprints are practically unique, which is why they’re
successful at identifying individuals. It’s not just law enforcement agencies that
collect and maintain databases of fingerprints. Many types of occupations that
require professional licensing or certification (e.g. financial advisors, stockbrokers,
real estate agents, teachers, doctors/nurses, security, contractors, etc.) mandate
fingerprinting as a condition of employment. It's also typical to provide fingerprints
when having documents notarized.
Fingerprint scanners work by capturing the pattern of ridges and valleys on a finger.
The information is then processed by the device’s pattern analysis/matching
software, which compares it to the list of registered fingerprints on file. A successful
match means that an identity has been verified, thereby granting access. The method
of capturing fingerprint data depends on the type of scanner being used, There are
four types of fingerprint scanners: optical scanners, capacitance scanners, ultrasonic
scanners, and thermal scanners. The basic function of every type of scanner is to
obtain an image of a person's fingerprint and find a match for it in its database The
measure of the fingerprint image quality is in dots per inch (DPI).
1. Optical scanners take a visual image of the fingerprint using a digital camera.
2. Capacitive or CMOS scanners use capacitors and thus electrical current to
form an image of the fingerprint. This type of scanner tends to excel in terms
of precision.
3. Ultrasonic fingerprint scanners use high frequency sound waves to
penetrate the epidermal (outer) layer of the skin.

15
4. Thermal scanners sense the temperature differences on the contact surface,
in between fingerprint ridges and valleys.

All fingerprint scanners are susceptible to be fooled by a technique that involves


photographing fingerprints, processing the photographs using special software, and
printing fingerprint replicas using a 3D printer.

4.1.2. PYTHON CORE SOFTWARE

Python is an interpreter, high-level, general-purpose programming language.


Created by Guido van Rossum released in 1991, Python's design philosophy
emphasizes code readability with its notable use of significant whitespace. Its
language constructs and object-oriented approach aim to help programmers write
clear, logical code for small and large-scale projects. Python is dynamically typed
and garbage-collected. It supports multiple programming paradigms, including
procedural, object-oriented, and functional programming. Python is often described
as a "batteries included" language due to its comprehensive standard library.
Python is an elegant and robust programming language that delivers both the power
and general applicability of traditional compiled languages with the ease of use (and
then some) of simpler scripting and interpreted languages. It allows you to get the
job done, and then read what you wrote later. You will be amazed at how quickly
you will pick up the language as well as what kind of things you can do with Python,
not to mention the things that have already been done. Your imagination will be the
only limit. Although it has been around for well over fifteen years, some feel that
Python is still relatively new to the general software development industry. We
should, however, use caution with our use of the word "relatively," as a few years
seem like decades when developing on "Internet time." There are three different
ways to start Python. The simplest way is by starting the interpreter interactively,
16
entering one line of Python at a time for execution. Another way to start Python is
by running a script written in Python. This is accomplished by invoking the
interpreter on your script application. Finally, you can run from a graphical user
interface (GUI) from within an integrated development environment (IDE). IDEs
typically feature additional tools such as an integrated debugger, text editor, and
support for a wide range of source code control tools such as CVS. You can run
Python from a graphical user interface (GUI) environment as well. All you need is a
GUI application on your system that supports Python. If you have found one,
chances are that it is also an IDE (integrated development environment). IDEs are
more than just graphical interfaces. They typically have source code editors and trace
and debugging facilities. Two primary ways that Python "does things" for you:
statements and expressions (functions, equations, etc.). Most of you already know
the difference between the two, but in case you need to review, a statement is a body
of control which involves using keywords. It is similar to issuing a command to the
interpreter. You ask Python to do something for you, and it will do it. Statements
may or may not lead to a result or output.

4.1.3. OpenCV Library

OpenCV (Open Source Computer Vision Library) is an open source computer


vision and machine learning software library. OpenCV was built to provide a
common infrastructure for computer vision applications and to accelerate the use of
machine perception in the commercial products. Being a BSD-licensed product,
OpenCV makes it easy for businesses to utilize and modify the code. The library has
more than 2500 optimized algorithms, which includes a comprehensive set of both
classic and state-of-the-art computer vision and machine learning algorithms. These
algorithms can be used to detect and recognize faces, identify objects, classify human
actions in videos, track camera movements, track moving objects, extract 3D models
17
of objects, produce 3D point clouds from stereo cameras, stitch images together to
produce a high resolution image of an entire scene, find similar images from an
image database, remove red eyes from images taken using flash, follow eye
movements, recognize scenery and establish markers to overlay it with augmented
reality, etc. OpenCV has more than 47 thousand people of user community and
estimated number of downloads exceeding 18 million. The library is used
extensively in companies, research groups and by governmental bodies. Along with
well-established companies like Google, Yahoo, Microsoft, Intel, IBM, Sony,
Honda, Toyota that employ the library, there are many startups such as Applied
Minds, VideoSurf, and Zeitera, that make extensive use of OpenCV.
OpenCV’s deployed uses span the range from stitching streetview images together,
detecting intrusions in surveillance video in Israel, monitoring mine equipment in
China, helping robots navigate and pick up objects at Willow Garage, detection of
swimming pool drowning accidents in Europe, running interactive art in Spain and
New York, checking runways for debris in Turkey, inspecting labels on products in
factories around the world on to rapid face detection in Japan. It has C++, Python,
Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS.
OpenCV leans mostly towards real-time vision applications and takes advantage of
MMX and SSE instructions when available. A full-featured CUDA and OpenCL
interfaces are being actively developed right now. There are over 500 algorithms and
about 10 times as many functions that compose or support those algorithms.
OpenCV is written natively in C++ and has a templated interface that works
seamlessly with STL containers.

18
CHAPTER 5

MODULE DESCRIPTION
MODULE DESCRIPTION

19
5.1. PROJECT DEFINITION

The project is a fingerprint recognition system which detects skin fingerprints based
on the minutiae. The proposed system integrated with SIFT algorithm, this algorithm
which matches the sample fingerprint with the variety of fingerprints provided
through the datasets and find the best exact match based on the minutia score
matching, It is easy to implement. It has the highest accuracy among all algorithms
that predicts keypoints.

5.2. OVERVIEW OF THE PROJECT

In this section, the fingerprint samples collected in the datasets, which are extracted
from the fingerprint scanners and they are pre-processed and feature extractor is
used to get rid from the thinning ridges of samples thus it gives the high quality of
the extracted images and the template is generated and the sample is matched using
algorithm and thus the perfect match among the dataset is to be found easily with
minute score match.

5.3. METHODOLOGY
• BIOMETRICS
• FINGERPRINT
• FINGERPRINT SENSING
• ALGORITHM USED
• FINGERPRINT SENSORS
• VERIFICATION AND AUTHENTICATION
• MINUTE SCORE MATCHING
• LIMITATIONS

20
5.4. ARCHITECTURE DIAGRAM

Fig. 5.1: Architecture diagram

5.5. MODULES

21
5.5.1. Biometrics

Biometrics is the measurement and statistical analysis of people's unique physical


and behavioral characteristics. The technology is mainly used for identification and
access control or for identifying individuals who are under surveillance. The basic
premise of biometric authentication is that every person can be accurately identified
by intrinsic physical or behavioral traits. The term biometrics is derived from the
Greek words bio, meaning life, and metric, meaning to measure. Authentication by
biometric verification is becoming increasingly common in corporate and public
security systems, consumer electronics and point-of-sale applications. In addition to
security, the driving force behind biometric verification has been convenience, as
there are no passwords to remember or security tokens to carry. Some biometric
methods, such as measuring a person's gait, can operate with no direct contact with
the person being authenticated.

Components of biometric devices include the following:

• a reader or scanning device to record the biometric factor being authenticated;


• software to convert the scanned biometric data into a standardized digital
format and to compare match points of the observed data with stored data; and
• a database to securely store biometric data for comparison.

Biometric data may be held in a centralized database, although modern biometric


implementations often depend instead on gathering biometric data locally and then
cryptographically hashing it so that authentication or identification can be
accomplished without direct access to the biometric data itself.
Behavioral identifiers include the unique ways in which individuals act, including
recognition of typing patterns, mouse and finger movements, website and social
media engagement patterns, walking gait and other gestures. Some of these
behavioral identifiers can be used to provide continuous authentication instead of a
22
single one-off authentication check. While it remains a newer method with lower
reliability ratings, it has the potential to grow alongside other improvements in
biometric technology.

5.5.2. Fingerprint

Fingerprints are the tiny ridges, whorls and valley patterns on the tip of each finger.
They form from pressure on a baby's tiny, developing fingers in the womb. No two
people have been found to have the same fingerprints -- they are totally unique.
There's a one in 64 billion chance that your fingerprint will match up exactly with
someone else's. Fingerprints are even more unique than DNA, the genetic material
in each of our cells. Although identical twins can share the same DNA -- or at least
most of it -- they can't have the same fingerprints. Fingerprinting is one form of
biometrics, a science that uses people's physical characteristics to identify them.
Fingerprints are ideal for this purpose because they're inexpensive to collect and
analyze, and they never change, even as people age. Although hands and feet have
many ridged areas that could be used for identification, fingerprints became a
popular form biometrics because they are easy to classify and sort. They're also
accessible. Fingerprints are made of an arrangement of ridges, called friction edges.
Each ridge contains pores, which are attached to sweat glands under the skin. You
leave fingerprints on glasses, tables and just about anything else you touch because
of this sweat.

5.5.3. Fingerprint Sensing

Fingerprint sensing techniques can be of two types – off-line scanning and


livescanning. In off-line sensing fingerprints are obtained on paper by “ink
23
technique” which are then scanned using paper scanners to produce the digital
image. Most AFISs use live-scanning where the prints are directly obtained using an
electronic fingerprint scanner. Almost all the existing sensors belong to one of the
three families: optical, solid-state, and ultrasound.
Optical sensors, based on the frustrated total internal reflection (FTIR) technique
are commonly used to capture live-scan fingerprints in forensic and government
applications. They are the most common fingerprint sensors.
An important breakthrough in sensor technology was the development of optical
sensors based on fiber-optics, leading to sensor miniaturization and enhanced
portability.

5.5.1. Capacitive Solid-State Sensor

24
5.5.2. Optical Sensor

A special case of off-line sensing is the acquisition of a latent fingerprint from a


crime scene [19]. Used extensively in forensics, latent prints are accidental
impressions left by friction ridge skin on a surface, due to natural secretions of the
eccrine glands present on skin. While tremendous progress has been made in plain
fingerprint matching, latent fingerprint matching continues to be a difficult
problem. Poor quality of ridge impressions, small finger area, and large non-linear
distortion are the main difficulties in latent fingerprint matching, compared to plain
fingerprint matching

5.5.3. latent fingerprint

5.5.4 Why Fingerprint Recognition?

25
▪ Pin's and passwords may be forgotten
▪ The fingerprints in twins are not the same.
▪ Relies on the concept that no two people have identical fingerprints.
▪ More secure.
A person's fingerprint will not naturally change structure after about one year after
birth.

5.5.5 Algorithm Used

There are mainly four steps involved in SIFT algorithm. They are mentioned below,

1. Scale-space Extrema Detection

From the image above, it is obvious that we can't use the same window to detect
keypoints with different scale. It is OK with small corner. But to detect larger corners
we need larger windows. For this, scale-space filtering is used. In it, Laplacian of
Gaussian is found for the image with various σ values. LoG acts as a blob detector
which detects blobs in various sizes due to change in σ. In short, σ acts as a scaling
parameter. For eg, in the above image, gaussian kernel with low σ gives high value
for small corner while gaussian kernel with high σ fits well for larger corner. So, we
can find the local maxima across the scale and space which gives us a list of (x,y,σ)
values which means there is a potential keypoint at (x,y) at σ scale.

But this LoG is a little costly, so SIFT algorithm uses Difference of Gaussians which
is an approximation of LoG. Difference of Gaussian is obtained as the difference of
Gaussian blurring of an image with two different σ, let it be σ and kσ. This process
is done for different octaves of the image in Gaussian Pyramid.

Once this DoG are found, images are searched for local extrema over scale and
space. For eg, one pixel in an image is compared with its 8 neighbours as well as 9

26
pixels in next scale and 9 pixels in previous scales. If it is a local extrema, it is a
potential keypoint. It basically means that keypoint is best represented in that scale.
It is shown in below image:

5.5.4. Scale-space Detection

Regarding different parameters, the paper gives some empirical data which can be
summarized as, number of octaves = 4, number of scale levels = 5, initial σ=1.6,
k=2–√ etc as optimal values.

2. Keypoint Localization

Once potential keypoints locations are found, they have to be refined to get more
accurate results. They used Taylor series expansion of scale space to get more
accurate location of extrema, and if the intensity at this extrema is less than a
threshold value (0.03 as per the paper), it is rejected. This threshold is called
contrastThreshold in OpenCV

DoG has higher response for edges, so edges also need to be removed. For this, a
concept similar to Harris corner detector is used. They used a 2x2 Hessian matrix
(H) to compute the principal curvature. We know from Harris corner detector that
for edges, one eigen value is larger than the other. So here they used a simple
function,

27
If this ratio is greater than a threshold, called edgeThreshold in OpenCV, that
keypoint is discarded. It is given as 10 in paper.

So it eliminates any low-contrast keypoints and edge keypoints and what remains is
strong interest points.

3. Orientation Assignment

Now an orientation is assigned to each keypoint to achieve invariance to image


rotation. A neighbourhood is taken around the keypoint location depending on the
scale, and the gradient magnitude and direction is calculated in that region. An
orientation histogram with 36 bins covering 360 degrees is created (It is weighted
by gradient magnitude and gaussian-weighted circular window with σ equal to 1.5
times the scale of keypoint). The highest peak in the histogram is taken and any peak
above 80% of it is also considered to calculate the orientation. It creates keypoints
with same location and scale, but different directions. It contribute to stability of
matching.

4. Keypoint Descriptor

Now keypoint descriptor is created. A 16x16 neighbourhood around the keypoint is


taken. It is divided into 16 sub-blocks of 4x4 size. For each sub-block, 8 bin
orientation histogram is created. So a total of 128 bin values are available. It is
represented as a vector to form keypoint descriptor. In addition to this, several
measures are taken to achieve robustness against illumination changes, rotation etc.
5. Keypoint Matching

Keypoints between two images are matched by identifying their nearest neighbours.
But in some cases, the second closest-match may be very near to the first. It may
happen due to noise or some other reasons. In that case, ratio of closest-distance to

28
second-closest distance is taken. If it is greater than 0.8, they are rejected. It
eliminates around 90% of false matches while discards only 5% correct matches, as
per the paper.

Now to calculate the descriptor, OpenCV provides two methods.

1. Since you already found keypoints, you can call sift.compute() which
computes the descriptors from the keypoints we have found. Eg: kp,des =
sift.compute(gray,kp)
2. If you didn't find keypoints, directly find keypoints and descriptors in a single
step with the function, sift.detectAndCompute().

5.5.6 Verification and Authentication


This refers to the automated method of verifying a match between two human
fingerprints. The analysis of fingerprints for matching purposes generally are of two
types 1)Patterns
The three basic patterns of fingerprint ridges
They are:
a) Arch
b) Loop
c) Whorl
a. Arch: The ridges enter from one side of the finger, rise in the center
forming an arc, and then exit the other side of the finger.
b. Loop: The ridges enter from one side of a finger and then exit on that
same side.
c. Whorl: Ridges form circularly around a central point on the finger.
2)Minutia
The major Minutia features of fingerprint ridges are
29
a) Ridge ending
b) Bifurcation.
c) Short Ridge (Dot).
a) Ridge ending
The ridge ending is the point at which a ridge terminates
b)Bifurcation
Bifurcations are points at which a single ridge splits into two ridges.
c)Short ridges
Short ridges (or dots) are ridges which are significantly shorter than
the average ridge length on the fingerprint.

5.5.7 Minute Score Matching


A good quality fingerprint contains 25 to 80 minutiae depending on sensor resolution
and finger placement on the sensor. The false minutiae are the false ridge breaks due
to insufficient amount of ink and cross-connections due to over inking. It is difficult
to extract reliably minutia from poor quality fingerprint impressions arising from
very dry fingers and fingers mutilated by scars, scratches due to accidents, injuries.
Typical fingerprint recognition methods employ featurebased matching, where
minutiae (i.e., ridge ending and ridge bifurcation) are extracted from the registered
fingerprint image and the input fingerprint image, and the number of corresponding
minutiae pairings between the two images is used to recognize a valid fingerprint
image.

5.5.8 Limitations
• It needs high memory space in the back end.
• Collect data for security is difficult
30
• Some times fails the security with right users
• Any time data loose in database high effect for security mechanism.
• So many equipments are needed for provide this technology.
• It highly expensive

5.6. DATASETS

In this project, the samples of about 6000 fingerprints are stored in the datasets, which is
used to match the requested sample image with the real images , Here we have stored all
the samples in the folder of SOCOFING it have three levels of altered fingerprint samples
Altered-easy, Altered-medium, Altered-hard.

5.6. Datasets

31
CHAPTER 6

SYSTEM TESTING
SYSTEM TESTING

6.1. CODE REVIEW

After successful completion of coding, Code review was done with the objective
of identifying and correcting deviations from standards, Identifying and fixing
logical bugs and fall through and recording code walk through findings .The
programs were checked and the code structure was made readable. The variable
names were meaningful .It follows certain naming conventions, which makes the
program readable.

• Variable names are prefixed with their scope and data type

• Checking out for the correct scope for various function

32
• All possible explanation for the code were given as comment

• Sufficient labels and comments were included in the code as the description
of it for the benefit of the developer and other programmers who might
examine it later.

• Checking out the connectivity of the database

• Code optimization was carried out

Software testing is a survey conducted to provide interested parties with information


about the quality of the software product or service being tested. Software testing
can also provide an objective, independent view of the software, allowing the
business to understand and understand the risks associated with implementing
software. Test methods include the process of running a program or application to
detect software errors and verify that the software product is usable.

6.2. TESTING PROCESS

• Testing is the process of executing the program with the intent of finding an
error

• A good test has a high probability of finding an as yet undiscovered error.

• A successful test is one that uncovers an as yet undiscovered error.

The objective is to design tests that systematically uncovers different classes of error
and do so with the minimum amount of time and effort .Testing cannot show the
absence of defects, it can only show that the software defects are present.

6.2.1. System Testing


System testing is performed on the entire system in the context of a
specification of functional requirements or a specification of system requirements,
33
or both. System testing checks not only the design but also the behaviour and even
the effected person expectations. It is also designed to test before and outside the
limits specified in the specification of software or hardware requirements.

6.2.2. Unit Testing

Test modules are software test methods that test individual source code
modules, set up one or more modules for computer programs, and control data, usage
procedures, and work procedures to determine whether they are compatible to use.
Unit tests are usually performed as part of a combination of code and the software
life cycle module testing phase, although unusual coding and unit testing will be
performed as two separate phases.
Test strategy and approach
Field testing will be performed manually and functional tests will be written in detail.
Test objectives
• To test about the sample fingerprint which matches with the Dataset provided.
• Then depends upon the minute score matching, The score of the output will
be predicted.

6.2.3. Integration Testing

Software integration testing is the incremental integration testing of two or


more integrated software components on a single platform to produce failures caused
by interface defects. The task of the integration test is to check that components or
software applications, e.g. components in a software system or – one step up –
software applications at the company level – interact without error. Test Results
All the test cases mentioned above passed successfully. No defects encountered.

34
6.2.4. Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires
significant participation by the end user. It also ensures that the system meets the
functional requirements.
Test Results
All the test cases mentioned above passed successfully. No defects encountered.

6.3. EXPERIMENTAL OUTCOMES


Table 6.1: Experimental Result

Images Fingerprints Overall Image Count Approx. Accuracy

Trained 1 selected out of 6000 (70.00% and above)


6000 samples Depends upon the
Tested 6000 match of minutiae

35
CHAPTER 7

SYSTEM IMPLEMENTATION
SYSTEM IMPLEMENTATION

7.1. IMPLEMENTATION PROCEDURE

Implementation is the stage of the project when the theoretical design is turned
out into a working system. Each program is tested individually at the time of
development using the data and has verified that this program linked together in the
way specified in the programs specification, the computer system and its
environment is tested to the satisfaction of the user. The final stage is to document
the entire system which provides components and the operating procedures of the
system.

To implement the project we require these technologies:

1. Python: Python is the programming language or high level language which


helps us in performing very big tasks by very short coding. And also is more secure
which makes the language better to be used in the system. In this project python will
perform all the backend tasks such as storing and retrieving data from the database
and performing algebraic solution.

36
2. OpenCV2: OpenCV (Open Source Computer Vision Library) is a library of
programming functions mainly aimed at real-time computer vision. The library is
cross-platform and free for use under the open-source BSD license. This will help us
in faster preprocessing of the fingerprint scan.

7.2 STEPS TO BE FOLLOWED:

• The system should be pre-installed with the python library OpenCV to


implement this project this is the main pre-requisites of this project
• Next with the help of the library import the library files and implement the
code for the desired result

Fig. 7.1: Block Diagram

37
7.2 Matching architecture

38
CHAPTER 8

CONCLUSION AND FUTURE


ENHANCEMENTS
CONCLUSION AND FUTURE ENHANCEMENTS

8.1. CONCLUSION

Security is not just about putting big locks on the front door; it also involves
making sure all the windows are shut. Each one can be individually fooled, but
the comparison makes the system more secure as a whole. Biometrics are have its
own advantages and disadvantages. It high expensive but it provides good
security. Money is not important than security. It is more useful for confidential
maters. Our Identity is more important than money so it is necessary to implement
biometrics authentication for all our personal needs like homes, offices etc.,

8.2. FUTURE ENHANCEMENTS

The future enhancement depends on the quality of the fingerprint readers, the
ultrasonic with high resolution camera reads fingerprints ridges accurately without
any error in detection, so this can be implemented in all security enabled online
transaction over the internet. But still, issues such as fingerprint authentication at a
distance, real-time identification in large-scale applications with billions of
fingerprint records, developing secure and revocable fingerprint templates that
preserve accuracy, and scientifically establishing the uniqueness of fingerprints will
likely remain as grand challenges in the near future.
39
APPENDICES
APPENDIX - 1

SCREENSHOTS

Step 1: To start the project, install OpenCV library and ensure that OpenCV is
installed successfully on your system by importing cv2 and check its version by
cv2.__version__ .

Screen shot of the version of OpenCV installed on system

40
Fig. A.1: Screenshot of OpenCV version

Step 2: If OpenCV was installed on system, the IDLE will show the version of cv2
installed in our system

Step 3: Now, select File New then import the python package of OpenCV like
import cv2

Step 4: Then type the following implementation code for this project which is
described below

Step 5: Now in the implementation code, the input image which is a sample image
is collected from the dataset which contains of modified (smudges, image rotation,
blurring) version of several fingerprints

41
A.2 Datasets

Step 6: A Single modified fingerprint image is collected and used as a sample and
algorithm used here which detect the key points of the sample and search for the
correct match in the dataset

A.3. Single modified sample

42
Step 7: Thus, it checks with all the images stored in the dataset, If the sample matches
with the dataset, then it produces the best match with its file name of the dataset,
then it also computes the score matched with minutia score matching.

A.4. Searching for Match

43
Step 8: Thus, the Output of the program is given below,
A.5. Output

A.6.Best match and score

44
APPENDIX-2

IMPLEMENTATION CODE

import os
import cv2

sample=cv2.imread("D:/archive/SOCOFing/Altered/AlteredEasy/100__M_Left_i
ndex_finger_Obl.BMP")

best_score=0
filename=None image=None
kp1,kp2,mp=None,None,None

counter=0 for file in[file for file in


os.listdir("D:/archive/SOCOFing/Real")]: if counter % 10 ==0:
print("Searching for correct match") print(file)
fingerprint_image = cv2.imread("D:/archive/SOCOFing/Real/"+ file)
sift=cv2.SIFT_create()

keypoints_1,descriptors_1 = sift.detectAndCompute(sample,None)
keypoints_2,descriptors_2 =
sift.detectAndCompute(fingerprint_image,None)

matches=cv2.FlannBasedMatcher({'algorithm':1,'trees':10},{}).knnMatc
h(descriptors_1,descriptors_2,k=2)

match_points = []

45
for p,q in matches: if
p.distance < 0.1 * q.distance:
match_points.append(p)

keypoints=0 if len(keypoints_1)<
len(keypoints_2):
keypoints= len(keypoints_1)
else:
keypoints =len(keypoints_2) if
len(match_points)/keypoints*100>best_score:
best_score = len(match_points)/keypoints*100
filename=file image=fingerprint_image
kp1,kp2,mp=keypoints_1,keypoints_2,match_points print("Best
match: "+ filename)
print("Score: "+str(best_score))

result=cv2.drawMatches(sample,kp1,image,kp2,mp,None)
result = cv2.resize(result,None,fx=4,fy=4)
cv2.imshow("Result",result) cv2.waitKey(0)
cv2.destroyAllWindows()

46
IMPLEMENTATION CODE SCREENSHOT

47
REFERENCES

[1] E. Henry, Classification and Uses of Finger Prints, Routledge, London, 1900.
[2] A. K. Jain, L. Hong, and R. M. Bolle, ―On-line fingerprint verification‖, IEEE
Trans. on Pattern Analysis and Machine Intelligence, 19(4):302–313, April 1997.
[3] D. Maltoni, D. Maio, A. K. Jain & S. Prabhakar, Handbook of Fingerprint
Recognition, Springer, 2003.
[4] P. Komarinski, Automated Fingerprint Identification Systems, Elsevier
Academic Press, 2004
[5] S. Pankanti, S. Prabhakar, and A. K. Jain, ―On the Individuality of
Fingerprints‖, IEEE Transactions on PAMI, Vol. 24, No. 8, pp. 1010-1025, 2002.
[6] Golfarelli M., Maio D., and Maltoni D., ―On the Error-Reject Tradeoff in
Biometric Verification Systems‖ IEEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 19, no.7, pp. 786-796,1997.
[7] A. K. Jain, S. Prabhakar and S. Pankanti, ―Matching and Classification: A Case
Study in Fingerprint Domain‖, Proc. INSA-A (Indian National Science
Academy), Vol. 67, A, No. 2, pp. 223-241, March 2001.
[8] Anil Jain, Yi Chen, and Meltem Demirkus, ―Pores and ridges: fingerprint
matching using level 3 features,‖ 18th International Conference on Pattern
Recognition, pp. 477 – 480, 2006.
[9] K. Kryszczuk, A. Drygajlo, and P. Morier, ―Extraction of level 2 and level 3
features for fragmentary fingerprints,‖ Proc. of the 2nd COST275 Workshop,
Vigo, Spain, pp. 83-88, 2004.
[10] D. Florencio and C. Herley, ―A large-scale study of web password habits,‖
Proceedings of the 16th International conference on the World Wide Web, 2007.

48
49

You might also like