38
FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB CHAPTER 1 1 INTRODUCTION As our everyday life is getting more and more computerized, automated security systems are getting more and more important. Today, most of the banking transactions can be performed over the Internet and soon they can also be performed on mobile devices such as cell phones and PDAs. This rapid progress in wireless communication system, personal communication system and smart card technology in our society makes information more susceptible to abuse. Due to the growing importance of the information technology and the necessity of the protection and access restriction, reliable personal identification is necessary. The key task of an automated security system is to verify that the users are in fact who they claim to be. There are three main methodologies when performing this verification. The security system could ask the user to provide some information known only to the user, it could ask the user to provide something only the user has access to or it could identify some sort of trait that is unique for the user. Identifying some trait that is unique for the user is known as biometric security.[6] A biometrics system is a pattern recognition system that Dept. 0f ECE, MCE, HASSAN Page 1

FINGER PRINTINGS

Embed Size (px)

Citation preview

Page 1: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

CHAPTER 1

1 INTRODUCTION

As our everyday life is getting more and more computerized, automated security systems

are getting more and more important. Today, most of the banking transactions can be performed

over the Internet and soon they can also be performed on mobile devices such as cell phones and

PDAs. This rapid progress in wireless communication system, personal communication system

and smart card technology in our society makes information more susceptible to abuse. Due to

the growing importance of the information technology and the necessity of the protection and

access restriction, reliable personal identification is necessary.

The key task of an automated security system is to verify that the users are in fact who

they claim to be. There are three main methodologies when performing this verification. The

security system could ask the user to provide some information known only to the user, it could

ask the user to provide something only the user has access to or it could identify some sort of

trait that is unique for the user. Identifying some trait that is unique for the user is known as

biometric security.[6] A biometrics system is a pattern recognition system that establishes the

authenticity of a specific physiological or behavioral characteristic possessed by a user.

Fingerprint biometric is an automated digital version of the old ink-and-paper method

used for more than a century for identification, primarily by law enforcement agencies. The

biometric device requires each user to place a finger on a plate for the print to be read.

Fingerprint biometrics currently has three main application areas: large-scale Automated Finger

Imaging Systems (AFIS) generally used for law enforcement purposes; fraud prevention in

entitlement programs; and physical and computer access. A major advantage of finger imaging is

the longtime use of fingerprints and its wide acceptance by the public and law enforcement

communities as a reliable means of human recognition. Others include the need for physical

contact with the optical scanner, possibility of poor-quality images due to residue on the finger

such as dirt and body oils (which can build up on the glass plate), as well as eroded fingerprints

from scrapes, years of heavy labor or mutilation.[1]

Dept. 0f ECE, MCE, HASSAN Page 1

Page 2: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

We are introducing two domains for the processing of an image. They are

1. Spatial domain

2. Frequency domain

1. Spatial domain refers to the image plane itself, and approaches in this category are basedon

direct manipulation of pixels in an image. The term spatial domain refers to the aggregate of

pixels composing an image. Spatial domain methods are procedures that operate directly on these

pixels. Spatial domain processes will be denoted by the expression[9]

g(x,y)=T[f(x,y)];

Where f(x,y) is the input image, g(x,y) is the processed image, and T is an operator on f, defined

over some neighborhood of (x,y);

2. Frequency domain processing techniques are based on modifying the Fourier transformof an

image.

Enhancement techniques based on various combinations of a method from these two categories

are not usual. There is no general theory of image enhancement. When animate is processed for

visual interpretation, the viewer is the ultimate judge of how well particular method works.

Visual evaluation of image quality is a highly subjective process, thus making the definition of a

“good image” an elusive standard by which to compare algorithm performance.

1.1 Biometric classification

Biometric characteristics can be divided in two main classes, as represented in the following

figure:[2]

Physiological are related to the shape of the body. Examples include, but are not limited

to fingerprint, face recognition, hand and palm geometry and iris recognition.

Behavioral are related to the behavior of a person. Characteristic implemented by using

biometrics are signature verification, keystroke dynamics, and voice

Dept. 0f ECE, MCE, HASSAN Page 2

Page 3: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

Fig1.1 Biometric classification

1.2 Characteristics of Biometrics:

To compare the relative merits of fingerprint as a biometric, we consider the following

characteristics of what constitute a good biometric:

1. Universality - each person has the characteristic

2. Uniqueness - the characteristic is unique per person

3. Permanence - characteristic remains the same over time

4. Collectability - how easy is it to measure the characteristic

5. Performance - accuracy, speed, and resource requirements

6. Acceptability - culturally accepted by the population

7. Circumvention - robust against fraudulent attacks

Dept. 0f ECE, MCE, HASSAN Page 3

Page 4: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

1.3 Applications of biometrics

1. Commercial applications such as computer network login, electronic data security, e-

commerce, Internet access, ATM or credit card use, physical access control, mobile phone, PDA,

medical records management, distance learning, etc.[3]

2. Government applications such as national ID card, managing inmates in a correctional facility,

driver’s license, social security, welfare-disbursement, border control, passport control, etc.

3. Forensic applications such as corpse identification, criminal investigation, parenthood

determination, etc

1.4 Biometric fingerprint

Fingerprint biometric is an automated digital version of the old ink-and-paper method used

for more than a century for identification, primarily by law enforcement agencies. The biometric

device requires each user to place a finger on a plate for the print to be read. Fingerprint

biometrics currently has three main application areas: large-scale Automated Finger Imaging

Systems (AFIS) generally used for law enforcement purposes; fraud prevention in entitlement

programs; and physical and computer access. A major advantage of finger imaging is the long-

time use of fingerprints and its wide acceptance by the public and law enforcement communities

as a reliable means of human recognition. Others include the need for physical contact with the

optical scanner, possibility of poor-quality images due to residue on the finger such as dirt and

body oils (which can build up on the glass plate), as well as eroded fingerprints from scrapes,

years of heavy labor or mutilation.[4]

Fingerprints are produced by sweat glands in the fingertip that coats the ridges of the

fingerprint. This solution leaves behind a facsimile of the fingertip ridges called a latent print,

when it comes in contact with a surface. In fingerprint literature, the terms ridges and valleys are

used to describe the higher and lower parts of the papillary lines that we can see on our fingertip.

The frictional ability of the skin is the reason we have ridges and valleys on our fingers. A fetus’

Dept. 0f ECE, MCE, HASSAN Page 4

Page 5: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

fingerprint ridges are fully developed at the age of seven month. After formation, an infant’s

growing fingerprint ridges are like drawing a face on a balloon with a ballpoint pen and then

inflating the balloon to see the same face expand uniformly in all direction. This means the

characteristic of the fingerprint does not change throughout the lifetime except for injury, disease

or decomposition after death. However after a small injury on the fingertip, the pattern will grow

back as the fingertip heals.[5]

Sir Francis Galton, a British anthropologist scientifically proved in the late 19th century that

no two fingerprints are exactly alike. According to his calculations, the odds of two individual

fingerprints being the same are 1 in 64 billion. No identical twins will have the same fingerprints.

A fingerprint can be looked at from different levels: the global level, the local level and the very

fine level. At the global level, you find the singularity points, called core and delta points. These

singularity points are very important for fingerprint classification, but they are not sufficient for

accurate matching. Figure 2.1 shows the core and delta points of two fingerprint’s pattern; loop

and whorl. Loops have one delta, whorl have two.

Fig 1.2: Core and delta points

2.2 show a fingerprint image with sweat pores and minutiae points visible. The black lines

correspond to the ridges in the fingerprint and the white line corresponds to the valley. The white

dots in the ridges correspond to the sweat pores and are marked with empty circles on a single

ridge line. Minutiae details are marked with black-filled circles. In order to establish comparison

between fingerprint images, AFIS’s often rely on procedures based on local features. Global

features are mainly employed to reduce the computational cost associated to fingerprint

comparison procedure.

Dept. 0f ECE, MCE, HASSAN Page 5

Page 6: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

Figure 1.3: Sweat pores

1.5 Fingerprint classification

There are three main structures that make up fingerprints. These are loops, whorls and arches.

[7]

Loops

Loops are comprised of one or more ridges entering from one side, curving, and then going

out the same side it entered. The ridges in loops double back on themselves. All loops have

elements called a delta and a core. The delta is a triangular area usually shaped like a T-junction,

while a core is the centre of the pattern. About 65% of fingerprints have loops.

Loops can be divided into two groups:

Radial loops – these flow downward and toward the radius (or the thumb side)

Fig.1.4 Radial loop

Ulnar loops – which flow toward the ulnar (or the little finger side). The ulnar loop is more

common.

Fig.1.5 Ulnar loop

Dept. 0f ECE, MCE, HASSAN Page 6

Page 7: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

Whorls

Whorls have a circular pattern and have at least two deltas and a core. Whorls look a little like

target shapes or whirlpools – circles within circles. Whorls make up 35% of patterns seen in

human fingerprints and can be sub-grouped into four categories:

Plain whorls – which are either concentric circles like a bull’s eye or spirals like a wound

spring.

Fig.1.6 Plain whorl

Central pocket loop whorls – these resemble a loop with a whorl at its end.

Fig.1.7 Central pocket loop

Double loop whorls – these occur when two loops collide to produce an “S” shaped pattern.

Fig.1.8 Double loop

Accidental loop whorls – these are slightly different from other whorls and are irregular.

Fig.1.9 Accidental loop whorl

Arches

Arches are the least common pattern making up only 5% of all pattern types. Arches are

ridgelines that rise in the centre and create a wave like pattern. The ridges enter from one side

and exit the other side with a rise in the middle. They do not have a delta or a core and can be

broken into two sub-groups:

Dept. 0f ECE, MCE, HASSAN Page 7

Page 8: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

Plain arch – which has a gentle rise.

Fig.1.10 Plain arch

Tented arches - have a steeper rise than plain arches.

Fig.1.11Tented arches

1.6 Objective of the project

From the discussion above, this project has set two objectives.

1. To design and develop a fingerprint biometric template system that can process every

fingerprint image inserted by the user.

2. To implement the fingerprint biometric template system in GUI of MATLAB software.

1.7 Methodology

1. Input fingerprint images are stored in an image repository on the host pc. In software

development, this project uses 256 gray-sales bitmap images with sizes of 400 pixels x 500 pixels

as a test vector. .

2. The Fingerprint Biometric Template will process and enhance the image at the image

processing stage.

3. A simple matching system using point matching is designed to validate the system.

Dept. 0f ECE, MCE, HASSAN Page 8

Page 9: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

1.8 Literature survey

There is archaeological evidence that fingerprints as a form of identification have been used at

least since 7000 to 6000 BC by the ancient Assyrians and Chinese. Clay pottery from these times

sometimes contain fingerprint impressions placed to mark the potter. Chinese documents bore a

clay seal marked by the thumbprint of the originator. Bricks used in houses in the ancient city of

Jericho were sometimes imprinted by pairs of thumbprints of the bricklayer. However, though

fingerprint individuality was recognized, there is no evidence this was used on a universal basis

in any of these societies. In the mid-1800’s scientific studies were begun that would established

two critical characteristics of fingerprints that are true still to this day: no two fingerprints from

different fingers have been found to have the same ridge pattern, and fingerprint ridge patterns

are unchanging throughout life. These studies led to the use of fingerprints for criminal

identification, first in Argentina in 1896, then at Scotland Yard in 1901, and to other countries in

the early 1900’s.

1.9 ORGANIZATION OF THE REPORT

This project gives information about the identification of person by using fingerprint in special

domain using matlab code.

chapter 1 covers the introduction of the project and classification of fingerprint and meaning of

the fingerprint

Chapter 2 covers the implementation of the finger print in special domain and description of the

block diagram

Chapter 3 covers the experimental results ,applications, advantages and challenges

Chapter 4 covers the conclusion of this project and references

Dept. 0f ECE, MCE, HASSAN Page 9

Page 10: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

CHAPTER 2

2 IMPLIMANTATION IN SPATIAL DOMAIN

Spatial domain refers to the image plane itself, and approaches in this category are based on

direct manipulation of pixels in an image. The term spatial domain refers to the aggregate of

pixels composing an image. Spatial domain methods are procedures that operate directly on these

pixels. Spatial domain processes will be denoted by the expression[2]

g(x,y)=T[f(x,y)];

Where f(x,y) is the input image, g(x,y) is the processed image, and T is an operator on f, defined

over some neighborhood of (x,y);

2.1 Block Diagram

Fig.1.12 Block Diagram for fingerprint verification in Spatial Domain

Dept. 0f ECE, MCE, HASSAN Page 10

Page 11: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

2.2 Image Acquisition

The task of acquisition is to enroll persons and their fingerprints into the system. When the

fingerprint images and the user name of a person to be enrolled are fed to the processing, the

images will be enhanced and thinned at the image processing stage. The following code is used

for image registration which is present in the address ’c:\Documents and settings\Admin\

Desktop\folder name\Image name’.[6]

a=imread ('C:\Documents and Settings\Admin\Desktop\a\b.bmp');

figure (1), imshow (a);

*NOTE: The finger print images must be present in the above mentioned address. In the above

code ‘a indicates the folder name and ‘b.bmp’ indicates the image name which is in .bmp format.

2.3 Low pass filtering

We are convolving the output of the previous process with a properly defined masking matrix

is:[4]

h= (1/25)*ones (5, 5);

A low pass filter is the basis for most smoothing methods. An image is smoothed by

decreasing the disparity between pixel values by averaging nearby pixels (see Smoothing an

Image for more information).

Using a low pass filter tends to retain the low frequency information within an image while

reducing the high frequency information. An example is an array of ones divided by the

number of elements within the kernel, such as the following 3 by 3 kernel:

Dept. 0f ECE, MCE, HASSAN Page 11

Page 12: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

(The above array is an example of one possible kernel for a low pass filter. Other filters may include

more weighting for the center point, or have different smoothing in each dimension)

The acquired image is passed through low pass filter to reduce the noise for further processing.

We are convolving the input image with a properly defined masking matrix is

h= (1/25)*ones (5, 5);

Image filtering is useful for many applications, including smoothing, sharpening,

removing noise, and edge detection. A filter is defined by a kernel, which is a small array applied

to each pixel and its neighbors within an image. In most applications, the center of the kernel is

aligned with the current pixel, and is a square with an odd number (3, 5, 7, etc.) of elements in

each dimension. The process used to apply filters to an image is known as convolution, and may

be applied in either the spatial or frequency domain.

Noise elimination is the process that removes all the undesired pixels in the image (black

pixel that occur as noise in the image). These undesired images can destroy the quality of the

image and thus will reduce the ability and accuracy of the feature extraction process. These

undesired pixels are meaningless and can create false minutiae in minutiae extraction process.

The sizes of the structuring elements that have been used are 5 x 5 structuring element

and 3 x 3 structuring elements. Each structuring elements has its own condition for identifying

the noise.

Fig 1.12 low pass filtering process

2.4 Binarization

Binarization is the process that converts a gray scale image, which has 256 of gray-level (0 to

255) to a black and white (0 and 1) binary images. This is important because binary images are

Dept. 0f ECE, MCE, HASSAN Page 12

LOW PASS FILTERING MODULE

LOW PASS FILTERING MODULE

Page 13: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

very simple to store and manipulate, as each pixel is represent by a single bit. The binary images

are also very easy to generate compared to a gray scale image.[7]

To convert a gray scale image to a binary image is not an easy task. A reasonable threshold

to separate the black pixel from the white pixel is very difficult to find. This is because for a

given gray value, it can represent ridges in some area but it may represent valley in the other

area.

The average gray value can be used as a threshold value for the Binarization process. If the

gray value of a particular pixel is lower than the threshold value, then the new value assigned for

that pixel is ‘0’(representing the ridges), else the new value is set to ‘0’(representing the valleys).

Where Vmean is the average gray value, V(x,y) is the gray value of the particular pixel and r.c

is the total pixels in the image.

1.13 Binarization process

2.5 Thinning

Thinning process is used to skeletonized the binary image by reducing all lines to a single

pixel thickness. There are two main approaches to find the skeleton of a binary region. The first

approach basically calculates the distance to the region edge for all pixels belonging to the

region. Then those pixels that have the largest distance to the region edge are selected to belong

to the region skeleton. Although the approach is simple and yields an intuitively pleasing

skeleton the method is seldom implemented in its pure form since it is very computationally

expensive.

The second approach instead iteratively deletes edge point pixels from the region until just the

skeleton remains. For a pixel to be deleted, the following conditions must hold

Dept. 0f ECE, MCE, HASSAN Page 13

BINARIZATIONBINARIZATION

Page 14: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

• The pixel is not an endpoint.

• The removal does not break the connectedness of the skeleton.

• The removal does not cause excessive erosion of the region.

The method used in this system takes on the second approach. It uses a modified version

of the thinning algorithm first suggested by Zhang and Suen(Zhang and Suen, 1984). The

method consists of removing all pixel of the image except those pixels that belong to the

skeleton. In order to preserve the connectivity of the skeleton, all iteration is divided into two

subiterations. A pixel p0 is defined to have at least one pixel in its eight-connectivity

neighborhood that belongs to the background. A pixel is marked for deletion in the first

subiteration if all of the following conditions hold for its eight-connectivity neighborhood:

The number of neighbors that belong to the region must be between two and six. This

ensures that the endpoint pixels of a skeleton line are preserved.

All neighbors that belong to the background must be connected. This prevents the

deletion of those pixels that lie betweens the end point pixels of a skeleton line.

p1, p3 or p5 must belong to the background.

p3, p5 or p7 must belong to the background.

If all conditions are met, the point is marked for deletion. However, the point is not deleted

until all region points are processed to ensure that the data structure is not changed during the

execution of the step.For a point to be marked for deletion in the second subiteration of the

algorithm, the first two conditions still must hold, but third and fourth conditions are changed as

follows

p1, p3 or p5 must belong to the background.

p1, p3 or p7 must belong to the background.

As mentioned above, the algorithm had to be modified to apply to fingerprint ridge thinning.

The problem lies in what is defined to be a one-pixel width skeleton.

In the case of fingerprint ridges a ridge point that is not a minutia is only allowed to have two

neighbors that belong to the ridge. This fact conflicts with the second condition in the original

thinning algorithm. The problem arises in 16 special cases where not all neighbor pixels, which

belong to the background, are connected but

where the pixel still should be deleted.

Dept. 0f ECE, MCE, HASSAN Page 14

Page 15: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

Image thinning plays an important role in image processing as it simplifies object

representation and pattern analysis. The skeleton is defined via the medial axis transformation

(MAT) proposed by Blum. In this definition, the skeleton of an image is defined as the set of the

centers of all maximal inscribed discs. An essential property of skeletons in digital space is that

they include all or part of these centers, defined with respect to Euclidean or other distances. The

MAT definition is equivalent to the intuitive definition in terms of “prairie fire simulation”.

However, direct implementation of MAT is expensive computationally. So there has been

considerable interest in finding new methods to rapidly thin images.

Fig 1.14 Thinning process

2.6 High pass filtering

We are convolving the output of thinning process with a properly defined masking matrix is

j=[-1 -1 -1;0 0 0;1 1 1]; [6]

A high pass filter is the basis for most sharpening methods. An image is sharpened when

contrast is enhanced between adjoining areas with little variation in brightness or darkness (see

Sharpening an Image for more detailed information).

A high pass filter tends to retain the high frequency information within an image while

reducing the low frequency information. The kernel of the high pass filter is designed to increase

the brightness of the center pixel relative to neighboring pixels. The kernel array usually contains

a single positive value at its center, which is completely surrounded by negative values.

Dept. 0f ECE, MCE, HASSAN Page 15

THINNINGTHINNING

Page 16: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

Fig1.15 High pass filtering process

2.7 Distance measurement

Distance is measured between the adjacent pixels of the fingerprints . These distances are used

for further matching purposes.

2.8 Matching

The method used for fingerprint matching is

• Correlation-based matching: two fingerprint images are superimposed and the correlation (at

the intensity level) between corresponding pixels is computed for different alignments (e.g.,

various displacements and rotations).

If A is a template stored in database and B is a template from test fingerprint,and

• A TYPE = B TYPE

• Euclidean Distance (A,B) _ Df

• Angle (A,B) _ Af

then (A,B) is a pair of matched templates. Df and Af are maximum tolerance for translation and

rotation respectively.

Each template should not be matched more than once. If Sm is a set of matched template

pairs, each elements in Sm has the form of (Ai,Bi) where Ai are templates stored in database and

Dept. 0f ECE, MCE, HASSAN Page 16

HIGH PASS FILTERING

HIGH PASS FILTERING

Page 17: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

Bi are templates from test fingerprint. All Ai in Sm should be different and all Bi should be

different too.

In order to match two set of templates, a maximum number of paired templates, Smax is to be

found. The procedure to do this is

• Let Sm be empty

• Select template A from database and template B from test fingerprint.

If template A and template B can be matched and pairing of A and B can be added to Sm, add it.

• Repeat second step until no any pair could be added to Sm.

• If current number of paired template in Sm are maximum, save the current Sm as Smax.

• Backtrack to search other combination.

The similarity measure, M between two fingerprint images is defined as

where N1 and N2 are the number of templates from database and test fingerprint respectively,

Nm are the number of paired templates in Smax.

The similarity measure M for two images from the same fingerprint is close to 1. In practice,

if the calculated M is bigger than a predefined reasonable threshold, then it can be said that the

two images originated from the same fingerprint.

We are accurately specified the distances of same user of different fingerprints and these

values are used for comparison purposes, if above mentioned distances are obeyed then matching

occurs, Otherwise not matching.

Dept. 0f ECE, MCE, HASSAN Page 17

Page 18: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

2.9 Steps to be followed to execute the M-file:

1. Load the program to MATLAB workspace.

2. Specify the correct path for loading the image form our mentioned database.

3. Save the program and then press the RUN button on the M-file to run the program.

4. Processing is done automatically, and then a Euclidian distance is obtained for mentioned

fingerprints and check for 1 to 1 matching.

5. For displaying the result message window appears.

2.10 MATLAB CODE

clc; %Clears the command window screen.

clear all; %Removes all the variables in the workspace.

close all; %Closes all the previously opened windows.

a=imread('C:\Documents and Settings\Lenovo\Desktop\Fingerprint\A\

1.bmp');%Reads the first fingerprint image from the mentioned

address.

figure,imshow(a); %Shows the figure of the input

fingerprint image.

h=(1/25)*ones(5,5); %Defining a mask matrix for LPF

z=imfilter(a,h,'same'); %Performs two-dimensional

fingerprint low pass image filtering.

figure,imshow(z);

bw=im2bw(z,0.4); %Converts the gray scale

fingerprint image to a binary fingerprint image.

figure,imshow(bw);

bw1=bwmorph(~bw,'thin','info');%Performs thinning on the

binarized fingerprint image.

figure,imshow(~bw1);

j=[-1 -1 -1;0 0 0;1 1 1]; %Defining a PREWITT masking

matrix.

Dept. 0f ECE, MCE, HASSAN Page 18

Page 19: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

m=convn(bw1,j,'same'); %Applying the PREWITT mask on the

obtained thinned fingerprint image. it performs the high pass

filtering .

figure, imshow(m);

a1=imread('C:\Documents and Settings\Lenovo\Desktop\Fingerprint\

B\1.bmp');%Reads the second fingerprint image from the mentioned

address.

figure,imshow(a1); %Shows the figure of the input

fingerprint image.

h1=(1/25)*ones(5,5); %Defining a mask matrix for LPF

z1=imfilter(a1,h1,'same'); %Performs two dimensional

fingerprint low pass image filtering.

figure, imshow(z1);

bw2=im2bw(z1,0.4); %Converts the gray scale

fingerprint image to a binary fingerprint image.

figure,imshow(bw2);

bw3=bwmorph(~bw2,'thin','info');%Performs thinning on the

binarized fingerprint image.

figure,imshow(~bw3);

j1=[-1 -1 -1;0 0 0;1 1 1]; %Defining a PREWITT masking

matrix.

m1=convn(bw3,j1,'same'); %Applying the PREWITT mask on the

obtained thinned fingerprint image.it performs the high pass

filtering.

figure,imshow(m1);

v=reshape(m,[],1); %Reshapes the output of masking

of the first fingerprint image.

w=reshape(m1,[],1); %Reshapes the output of masking

of the second fingerprint image.

Dept. 0f ECE, MCE, HASSAN Page 19

Page 20: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

y=[v w]; %Combining of the taken two

fingerprint images.

f=0; %Initialising a variable.

for i=1:200000

f=f+((y(i,1)-y(i,2))^2); %Determines the Euclidean

distance.

end

k=double(f); %Finds the double value.

s=sqrt(k) %Finds the square root value of

the obtained double value.

if (s>305.61 && s<305.63)

msgbox('MATCHED');

elseif (s>319.17 && s<319.19)

msgbox('MATCHED');

elseif (s>375.21 && s<375.23)

msgbox('MATCHED');

elseif (s>370.55 && s<370.57)

msgbox('MATCHED');

elseif (s>407.59 && s<407.61)

msgbox('MATCHED');

elseif (s>341.30 && s<341.32)

msgbox('MATCHED');

elseif (s>421.28 && s<421.30)

msgbox('MATCHED');

elseif (s>407.94 && s<407.96)

msgbox('MATCHED');

elseif (s>378.18 && s<378.20)

msgbox('MATCHED');

elseif (s>362.41 && s<362.43)

msgbox('MATCHED');

Dept. 0f ECE, MCE, HASSAN Page 20

Page 21: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

elseif (s>372.46 && s<372.48)

msgbox('MATCHED');

elseif (s>348.60 && s<348.62)

msgbox('MATCHED');

elseif (s>384.86 && s<384.88)

msgbox('MATCHED');

elseif (s>416.04 && s<416.06)

msgbox('MATCHED');

elseif (s>375.97 && s<375.99)

msgbox('MATCHED');

elseif (s>381.82 && s<381.84)

msgbox('MATCHED');

elseif (s>404.55 && s<404.57)

msgbox('MATCHED');

elseif (s>366.50 && s<366.52)

msgbox('MATCHED');

elseif (s>375.57 && s<375.59)

msgbox('MATCHED');

elseif (s>345.38 && s<345.40)

msgbox('MATCHED');

elseif (s>372.75 && s<372.77)

msgbox('MATCHED');

elseif (s>374.33 && s<374.35)

msgbox('MATCHED');

elseif (s>390.06 && s<390.08)

msgbox('MATCHED');

elseif (s>408.37 && s<408.39)

msgbox('MATCHED');

else

errordlg('NOT MATCHED','Error');

end

Dept. 0f ECE, MCE, HASSAN Page 21

Page 22: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

CHAPTER 3

3.1 EXPERIMENTAL RESULTS

Here by comparing the threshold value we can identify the person the below

table shows the threshold values of ten people after the high pass filtering process

we obtain this results

THRESHOLD VALUES FOR 1 TO 1 MATCHING

Person number Threshold values

1 305.6141

2 319.1708

3 375.2173

4 370.5644

5 407.5954

6 341.3034

7 421.2861

8 407.9485

9 378.1878

10 362.4141

Dept. 0f ECE, MCE, HASSAN Page 22

Page 23: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

3.2 Advantages

1. Increases the accuracy of verification

2. Is the most economical biometric PC user authentication technique

3. This allows one to use the same sensor for taking fingerprint of different fingers

4. Appears to be the best solution for lower cost, reduced complexity and improved

performance

3.3 Applications

1. Computer network login

2. Electronic data security

3. Govt. application such as national ID

4. Criminal investigation

5. Passport control

3.4 Challenges

1. If the given Fingerprint present in database is destroyed then we can’t identify that

person

2. It can make mistakes with the dryness or dirty of the finger’s skin, as well as with the

age(children)

Dept. 0f ECE, MCE, HASSAN Page 23

Page 24: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

CHAPTER 4

4.1CONCLUSION

The proposed Fingerprint Biometric Template system is an DSP system that is part of a

fingerprint recognition system based on spatial domain. The system extracts the local

characteristic of a fingerprint which is in template based. The proposed DSP system consists of

component; the MATLAB software. The software contains two stages; image processing and

matching stage. This appears the best solution for lower cost, reduced complexity and improved

performance.

4.2 Recommendation of Future work

The work in this project suggests that future enhancement can be carried out to further

improve the design to achieve better performance or a more complete operation. Below are some

of the proposed future works:

The first recommendation is the improvement of the image processing stage. The image

processing stage result can be improved by using adaptive threshold values for image

segmentation and binarization process. Image segmentation process can be done by applying

histogram-based image segmentation for every image. Therefore an image will have different

threshold value than other image. For binarization process, an adaptive average thresholding can

be used. For every pixel in the image, the average gray value of the pixels in the 5 x 5

neighborhood of the pixel is calculated and used as the threshold value.

The first method suggests that the template minutiae should be used as reference point. They

should be tried as reference point one by one starting by the one closest to the center of the

image. The center image can be set up by finding the global representation of fingerprint such as

delta and core first. After the template minutiae have been used as a reference point, the position

Dept. 0f ECE, MCE, HASSAN Page 24

Page 25: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

and angle of the reference point should be used to align the second set of minutiae. The second

method is suggested by Jia .

BIBLIOGRAPHY

[1] Gonzalez R. C. and Woods R. E. (1993). Digital Image Processing.

[2]Eriksson, M. Biometrics: Fingerprint Based Identity Verification. Umea University:

Master Thesis.

[3]. Miller, Christiansen 1995; commercialization of fingerprint technologies.

[4]Mehtre, B. M. Fingerprint Image Analysis for Automatic Identification.

[5]L. O'Gorman, \Fingerprint veri_cation," in Biometrics: Personal Identification in

a Networked Society (A. K. Jain, R. Bolle, and S. Pankanti, eds.), Kluwer

Academic Publishers.

[6]Maltoni, D. Maio, A. K. Jain, and S. Prabhakar, Handbook of Fingerprint Recognition,

Springer-Verlag.

[7] Prabhakar and Jain; Introduction to Biometric Recognition Technologies and

Applications.

[8]Miller, Christiansen 1995; commercialization of fingerprint technologies.

[9]Hong L., Wan Y., and Jain A., “Fingerprint Image Enhancement: Algorithm and

Performance Evaluation," IEEE Trans. Pattern Analysis and Machine Intelligence, vol.

20, no.8, pp. 777-789,1998.

[10]Jain Anil, Prabhakar Salil, and Hong Lin, “A Multichannel Approach to Fingerprint

Classification,' IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 21,

pp. 348-359, 1999.

[11] Younhee Gil, Access Control System with high level security using

fingerprints,IEEE the 32nd Applied Imagery Pattern Recognition Workshop (AIPR ’03)

Dept. 0f ECE, MCE, HASSAN Page 25

Page 26: FINGER PRINTINGS

FINGERPRINT BASED PERSON VERIFICATION IN SPATIAL DOMAIN USING MATLAB

[12] Jain, A.K., Hong, L., and Bolle, R.(1997), “On-Line Fingerprint Verification,” IEEE

Trans. On Pattern Anal and Machine Intell, 19(4), pp. 302-314

Dept. 0f ECE, MCE, HASSAN Page 26