Sie sind auf Seite 1von 36

Palmprint Recognition

LIST OF EQUATIONS

1. Unsharp Mask for an image


2. Enhanced image after unsharp masking
3. Gradient of image in X direction
4. Gradient of image in X direction
5. Magnitude of the gradient
6. Direction of the gradient
7. Complex variable zcom
8. Discrete fourier transform of an image
9. Skeleton of the gabor filter
10. Carrier function for gabor filter
11. Envelope function for gabor filter
12. 2 – Dimensional Gabor Filter
13. Fourier Transform of the image
14. Crossing Number of a pixel for minutiae detection
15. Clustering criteria for K-Means clustering
16. Euclidean distance between two points
17. Distance between cluster points
18. Ratio of distance between a cluster centre and two other cluster centres
19. Distance between a minutiae point and its nearest neighbours
20. Ratio of distance between a minutiae point and two other minutiae points.

Delhi Technological University Page 1


Palmprint Recognition

ABSTRACT

Biometrics recognition and verification is one of the most secure forms of entity authentication. It consists of a
lot of human features as fingerprint, face-recognition, signature, iris scan etc. The palm itself consists of
principal lines, wrinkles (secondary lines), and epidermal ridges. It differs from a fingerprint in the way that it
also contains other information such as texture, indents and marks which can be used when comparing one palm
to another and resulting in higher amount of precision. In this Major Project, we attempt to implement a couple
of palmprint recognition and verification techniques. The first technique that we see matches palmprints based
on the Fourier Descriptors of the image of the palmprint taken from a low resolution scanner. The second
technique; however uses a palmprint image obtained by a high resolution scanner to perform a minutiae based
matching of the palmprint images.

Delhi Technological University Page 1


Palmprint Recognition

INTRODUCTION

Entity authentication – authorizing a user or determining and ensuring that a user is actually and truly who
he/she claims to be – is often the first step in any communication system. An entity can be authenticated using
one or more of the following elements:

 Something or a secret that a user is aware of,

 Some physical or virtual entity that a user has or is in possession of,

 Something that is intrinsic to the user or something that permanently defines a user.

The secret element can be of the form of passwords, one time passwords, or PIN (Personal Identification
Number) that the user himself establishes and is known only by the user himself/herself apart from someone who
is authenticating the user.

The physical or virtual entity can be of the form of Credit Cards, Debit Cards, Access Cards, RF ID Tags, etc.
These entities can authenticate a personnel only when they are physically presented to the authenticating entity.

The last class of entity authentication elements is based on the basic, permanent, physical or behavioral
characteristics that are intrinsic to the entity. Using these, an entity can be authenticated by just presenting that
intrinsic quality to the authenticating body. This is the most secure class of entity authentication, the reason being
that these are the hardest to copy and obtain illegitimately. But, a security mechanism based on this class is also a
little bit more complex and computationally more demanding.

BIOMETRICS is also one of the members of the last class of the entity authentication techniques. It is a word
made of two subparts – BIO : relating to human body; METRIC : meaning measurement. So, Biometric is a term
that is used to define the qualitative and quantitative measurement of a human body’s physical or behavioral
characteristics. These traits are very much inherent or embedded inside a human body or brain. For example a
person’s fingerprint remains same throughout the lifetime of the person unless some explicit reconstruction
surgeries aren’t done. Biometrics, as defined above take into account two types of characteristics : Physical and
Behavioral. While physical characteristics include fingerprint, iris, face, etc., behavioral traits include
characteristic properties like signature, voice, heartbeat, handwriting etc. Security-wise, physical traits re
preferred because of the fact that these are difficult to reproduce illegitimately and are equally difficult to copy
or masquerade than the behavioral traits.

Delhi Technological University Page 2


Palmprint Recognition

Overview of our work

In this major project we are trying to implement some palm print matching techniques. Palmprint recognition
systems have a high degree of accuracy and robustness against noisy images. Also, as compared to fingerprint,
palmprints have a higher quantity of information like primary lines, ridges and some other minutiae details. In
this project we first pre-process the images using an unsharp masking. This unsharp or blurred mask is then used
to sharpen the image. Then a thresholding is done on the image. This helps us in the subsequent process of
template generation.

For template generation and then the actual matching process, we use the technique of Fast Fourier Transform.
After creating the template of the database images, we attempt to match the input images against the templates
database images. For matching we use the Euclidean distances between the templates and the input image. The
database used while implementing this method consists of images of palmprint captured using a low resolution
scanner.

We attempt to match the palmprints using a minutiae based matching algorithm as well. For this minutiae based
matching we use images of palmprint obtained from a high resolution scanner. The exact methods are discussed
in the following sections.

Delhi Technological University Page 3


Palmprint Recognition

BIOMETRICS

Biometrics is that field of science which deals with the qualitative and quantitative measurement and analysis of
human traits. These traits are inherent and intrinsic to an individual. Also, these traits are, by and large, unique to
an individual and cannot be forged easily by even the most sophisticated of methods and technologies. Thus,
Biometric authentication is used as a means of granting access to the authorized individuals and the
identification of such individuals. Biometric authentication is also a long time favourite of the law enforcing
agencies to keep track of anti-social elements and identify repeat offenders.

Biometric identifiers are those quantifiable and typical characteristics that are unique to an individual and are
used for the identification of the individuals. These identifiers are classified as Physiological and Behavioural
characteristics. Physiological or physical characteristics are those that have something to do with the shape and
structure of human body. Examples of such physical traits include (but are not limited to just the following)
fingerprint, iris, palm veins, heartbeat rhythm, palm print, DNA, face recognition etc. Behavioural traits are
those characteristics that are related to how a person behaves or does certain tasks. These traits include signature,
voice patterns, typing rhythm etc.

Selection of a Biometric

The selection of a particular Biometric trait is a task of great deliberation. It depends on a large variety of factors.
These factors affect the suitability of the use of biometric authentication. These factors are:

 Universality: everyone who uses that trait should have that trait or at least sufficiently large number of
people should possess that trait,
 Uniqueness: the characteristic that is chosen should be unique to each and every person and should be
sufficiently different from the same characteristic of others,
 Permanence: the trait that is chosen should be permanent in the sense that for a particular person, the
trait remains constant over a large period of time,
 Measurability: the trait should be easy to measure and collect from the individuals. The data collected
should be in the form that is easily processable.
 Performance: the selected trait should be accurate and robust to noise and other anomalies. Also the
processing of the trait should quick, accurate and fast.
 Acceptability: the trait should be acceptable to the people in the sense that the general public should
have no problem getting that trait registered with the biometric authorities.
 Circumvention: relates to the comparative easy by which one may replicate or masquerade a trait using
some synthetic mechanisms.

Delhi Technological University Page 4


Palmprint Recognition

Modes of Biometric system

There are two basic modes of operation of a Biometric Systems.

 Verification
 Identification

Verification compares the input biometric trait against only one of the templates stored in the database. Thus,
there is a one to one mapping between the input and the template images. This is to check that a person is
actually who he/she claims to be and not an imposter. This mode has three steps:

o Calculation of template models: in this step, we create a template of the images that we are going to
verify an input against. The template creation is based on some reference model that is decided before
going starting to implement the system.
o Threshold determination: In this step, we have to determine the threshold that will be used for
matching. Thus, for this step we will match some sample input images with the templates that we
created in the above step. This would help us to calculate the template matching scores and the
threshold.
o Testing: Here the system is tested for robustness.

Identification mode’s aim is to identify a person from amongst the template images that we have. In this mode
the input image is compared against all the templates that we created. Here also the three steps stated above are
followed. Templates of all the images are created and then the input is matched against all the above templates to
identify a particular person.

Identification modes have been used for positive as well negative recognition. In positive recognition the mode
matches an input image against the ones in the templates to determine if a person is who he/she claims to be.
Negative recognition mode the algorithm determines whether a person is who he/she claims not to be.

The advantages of using these modes for identification and verification is based on the fact that a Biometric is
very difficult to replicate and duplicate for an authorised personnel because the characteristic that we use are
inherent to an individual. This is because these traits are derived from the DNA of the person.

The disadvantages lie in the computation and matching algorithms are not very fast and efficient. Also not all
people involved may feel comfortable about giving up their biometric characteristic.

Delhi Technological University Page 5


Palmprint Recognition

The field of biometrics is a vast field with new techniques of recognition surfacing by the day. Currently a few
biometrics are used for biometric recognition namely:

 Fingerprints
 Iris
 Palmprint
 Signature
 Ears
Every one of these biometrics have some quality in them which makes them unique. Of these Fingerprint
detection, Earolgy (study of outer ear), and PalmPrint are the most unique. A person's fingerprint is very unique
and has a very low chance of being same with some other person, with a probability of 1:65,000,000,000.
Further, palmprint raises the uniqueness bar simply because we have a larger area to verify against. Outer ear
also has similar kind of probability but the field is very new and not much is known about the ear to be
implemented as a solid biometric system.

PalmPrint recognition can be as accurate as 99.8 percent in certain scenarios with very good security which
makes it an interesting choice for most agencies relying on biometric detection. But sometimes palmprints aren't
enough, or maybe recognition isn't proper because of rashes on skin, then we switch to Multi-modal biometrics.

Multi-modal biometrics are a combined system where most of the biometric recognition systems work together
to give a better sense of security and reduce the amount of false negatives/positives.

MultiModal Biometric Systems

MultiModal Biometric systems are used to overcome the problems that are associated with unimodal systems.
For instance a fingerprint of someone who has had an injury in the fingers may be rendered useless for a brief
amount of time. So we use multiple sensors to capture more than one biometric trait. Most systems employ more
than one characteristic for identification and verification of an individual. This also helps in giving the system an
extra layer of security as making duplications of more than one trait for someone is very much unlikely.

Delhi Technological University Page 6


Palmprint Recognition

Figure 1: Block Diagram to illustrate Basic Modes of Biometric system

This particular scripture is a report on a biometric system which takes Palmprint as the modal for the system. We
have used Palmprint because it is one of the most reliable physiological characteristic used to distinguish
between various individuals. There were many techniques or algorithms where we tried to detect various people
on the basis of their Palmprint.

Delhi Technological University Page 7


Palmprint Recognition

LITERATURE REVIEW

Palmprint recognition and verification has been an area of active research simply due to the fact that palmprints
have a greater degree of uniqueness and that palmprint image processing is a tedious task that is resource
intensive.

Our research on Palmprint recognition started with a research journal published in Science Direct by Jiaa,
Huanga and Zhang in the year 2008 titled “Palmprint verification based on robust line orientation code” has
proposed a robust line orientation method for the palmprint verification. It modified the finite Radon transform
which has been used for feature extraction that extracts orientation feature. For matching of the test image from
the images in the database an algorithm based on pixel-to-area algorithm was used.

The research paper published in IEEE by J. You, W. Kong, D. Zhang, and K. Cheung in the year 2009 titled “On
hierarchical palmprint coding with multiple features for personal identification in large databases” has proposed
a scheme which is dynamic in nature due to introduction of global texture feature measurement and the detection
of local interesting points. The study conducted showed that the palmprint feature extraction can be described by
the textures as well. The texture energy was measured and analysis was done, the results showed that there is a
large variance between different classes while retaining high compactness within the class. To reduce the further
processing at fine level the coarse level classification is done by global texture features which is both effective
and essential. The system efficiency is further improved by guiding the search for the best matching based on
interesting points.

The research journal published in IEEE by A. Gyaourova and A. Ross in the year 2012 titled , “Index codes for
multi biometric pattern retrieval” has proposed a new indexing method that can either use another independent
matcher or employ a another biometric matcher that was already present. Using the corresponding matcher
new codes are generated for each modality. During the retrieval, the index code of the test image is compared
against the images in the database which used a similarity measure to retrieve the candidate list identities for
biometric matching. The proposed indexing technique help in the reduction of the search space by an average of
84% at a 100% hit rate on a chimeric multimodal database. The main factor for the better performance during
identification was rate of the indexing.

The research paper published in IEEE by Dai and Zhou in the year 2012 titled “Robust and Efficient Ridge-
Based Palmprint Matching” which proposed a method for high resolution palmprint recognition having multiple
features extraction. Many features are considered such as density, minutiae, orientation, and principal lines are
taken in account for feature extraction. For the estimation of the orientation two methods are used namely, DFT
and Radon-Transform-Based Orientation Estimation. For extraction of the minutiae, a filter named as Gabor
filter is used for the enhancement of the ridges according to the density of local ridge and its direction. Density
map is calculated by using the combining many algorithms such as, Gabor filter, Hough transform. And for

Delhi Technological University Page 8


Palmprint Recognition

extraction of the principal line features, the applied transform was Hough Transform. For the fusion SVM is
used for the verification system and for the identification system heuristic rule is used.

This research journal that was published in IEEE by Wei Li, Bob Zhang, Member, IEEE, Lei Zhang, Member,
IEEE, and Jingqi Yan in the year 2012 titled “Principal Line-Based Alignment Refinement for Palmprint
Recognition” was also studied. This paper investigates to increase the accuracy of the Palmprint recognition by
increasing the accuracy of image alignments. Generally, the Palmprint alignment methods recognizes some key
points between the palm boundary and the fingers. It then establishes the local coordinate system to identify
Region of Interest (ROI). The Region of Interest (ROI) is then used for further processing like feature extraction
and matching. This paper presents a new efficient Palmprint alignment refinement method. It suggests that after
the extraction of the principal lines from the Palmprint image, apply the iterative closest point method to all the
principal lines to estimate the translation and rotation parameters between two images to be compared. The
calculated estimated parameters are used to refine the alignment of feature maps in the Palmprint which
increases accuracy.

This research journal was studied which was published in IEEE by Eryun Liu, Anil K. Jain, Fellow, IEEE, and
Jie Tian, Fellow, IEEE in the year 2013 titled “A Coarse to Fine Minutiae-Based Latent Palmprint Matching”.
This research was focused on the high resolution palmprint recognition. This journal investigates the way of
recognition on the basis of minutiae based fingerprint matching technique. In this research journal, a new
technique was developed especially for palmprint matching. Here the matching strategy was a coarse to fine
matching strategy based on minutiae match propagation and minutiae clustering. Due to large number of
minutiae, a clustering algorithm is designed based on local feature minutiae clustering algorithm to cluster
minutiae. A more rigid or coarse matching is then performed to within the cluster to establish minutiae
correspondences between the two palm prints.

Many research journals were analyzed during the making of the project and some of their techniques have been
utilized in the project. All the research papers and journals utilized during the project have been citied wherever
used and have been referenced at the end of this scripture.

Related Work

In the research paper published in TECHNIA by K.Y. Rajput, Mellissa Amanna, Mankhush Jagawat and Mayank
Sharma in the year 2011 titled “Palmprint Recognition Using Image Processing”, first the testing image is
obtained by an input device, may be scanner. In this step the FFT (Fast Fourier Transform) of each of the image
of the palm stored in the database is obtained. After taking the FFT (Fast Fourier Transform) of the image the
plot of the result is observed. It was noticed that the majority of the energy of the signal is carried by lower order
coefficients and very less signal energy is carried by the higher order coefficients. So the higher order
coefficients can be discarded so that the speed and efficiency of the operation is increased. How is this done?

Delhi Technological University Page 9


Palmprint Recognition

First each image is taken from the database and is masked by applying DIS (Difference in Strength) mask. The
masked image is then scanned pixel by pixel. If the pixel value of each pixel has the value greater than 200, then
the x-coordinate of that pixel is stored in, let’s say, ‘u’ array and its y-coordinate is stored in let’s say ‘v’ array.
Then the complex variable, let’s say, ‘comz’ is defined by the values stored in ‘u’ and ‘v’ arrays. The complex
variable will look like, comz= u + jv. Now since we have got the complex variable we will take its FFT (Fast
Fourier Transform). The feature vector is then generated from the FFT (Fast Fourier Transform) of the complex
variable by only taking lower 1024 coefficients from the output of FFT. The first part here is completed with us
having the feature vector.

The second part of the algorithm is testing using the generated FD’s (Fourier Descriptors). Here first the testing
image is obtained by an input device, may be scanner. All the steps explained above for creating the feature
vector are repeated only for this test image. Now we have obtained the feature vector for this input image as
well. The Euclidean distance is calculated between the feature vector of test image and the all the feature vectors
of the images in the database. The distances are sorted and then the smallest Euclidean distance is compared with
the predefined threshold value (that depends on the accuracy required). If the smallest distance is smaller than
the threshold then a match is found else there is not match for the input palmprint in the database.

Another algorithm was the Kekre’s Fast Codebook Generation algorithm. In this algorithm, first each image is
taken and then is masked by applying DIS (Difference in Strength) mask. The masked image is then divided into
windows with each window of size 2x2. Now the feature vectors are generated from these windows by putting
them in a row to get four values per vector. Training set is generated by collecting all these feature vectors. From
the feature vectors in initial cluster or training set the mean (Code Vector) is generated. The first element of the
code vector is compared with the first vector of the training vector and the initial cluster is divided into two
parts. In both the clusters the mean (Code Vector) is computed. And both the clusters are again split each into
two parts by comparing the second element of the code vectors with the second element of the training vectors.
This process of comparing and splitting the clusters is repeated till we get the codebook of size 8x4 is generated.
The resulting codebook is stored in the database as the codebook for the image under consideration form
database. This is how the codebook is generated in Kekre’s Fast Codebook Generation (KFCG) algorithm.

The research paper which was published in IET Biometrics by Ruifang Wang, Daniel Ramos, Raymond Veldhuis,
Julian Fierrez, Luuk Spreeuwers and Haiyun Xu3 in the year 2013 titled “Regional fusion for high-resolution
Palmprint recognition using spectral minutiae representation”. This paper investigates a new technique for high
resolution which improves the performance of the spectral minutiae representation. Spectral minutiae
representation method is invariant to minutiae rotation and translation and also has low computational
complexity. To improve the performance of the method mention earlier i.e. spectral minutiae-based Palmprint
matching, the new method present an anatomically inspired fusion along with SMC. It divided the palm region
into three regions namely hypothenar, interdigital and thenar. Then the Spectral Minutiae Representation (SMC)

Delhi Technological University Page 10


Palmprint Recognition

was applied to each region while comparing palm prints and the regional discriminability was studied. Then a
region fusion at score level was implemented by combining the scores of different regional comparison in the
palm using two fusion methods, one logistic regression and other sum rule. Then region-to-region comparison
and regional fusion is evaluated on the basis of spectral minutiae matching. Both the automatic segmentation and
the manual segmentation is was performance to get three regions for each Palmprint. The method had significant
performance advantage cause of the regional fusion that both manually and automatically segmented regions.

Delhi Technological University Page 11


Palmprint Recognition

FAST FOURIER TRANSFORM BASED MATCHING

PREPROCESSING OF IMAGES

The initial step in any image processing system is preprocessing. This step helps in the enhancement of the
images and helps in the removal of noise from the images. For preprocessing the following steps were carried
out:

 Enhancement: This step is used to sharpen the images and minor noise removal.

 Thresholding: This step is used to convert a multiple intensity level into a two – intensity level that is
helpful in the subsequent template creation and recognition.

Enhancement

Image Enhancement helps to improve the quality of the image in general. In our implementation, it is done to
make the boundaries between the shades of gray, that represent the actual contour lines in the palm print, and
white, that represent the palm background, more prominent.

We use unsharp masking for the image enhancement. In layman's terms, we first create a mask by blurring the
original image and then subtract the created mask from the original image. The effect is that the image is
sharpened and the contour lines in our palm print database are emphasized. The mask M(x,y) is given by:

…..(1)

where f(x,y) is the pixel intensity of the original image at position (x,y).

The final enhanced image g(x,y) is given by:

….. (2)

Another step that we carry out in the enhancement stage is Sobel Edge Detection on the images.

Delhi Technological University Page 12


Palmprint Recognition

(a) (b)

(c) (d)

Figure : Unprocessed input images (a) and (b). Images after applying a DIS mask (b) and (d) respectively.

Sobel Edge Detection

Sobel Edge Detection is named after Irwin Sobel who developed an operator called Sobel Operator to find edges
within an image. Sobel operator is a discrete difference operator that is used to calculate the gradient of image
intensity values in various directions. A discrete integer filter is convolved with the image in the X and Y
directions.

Delhi Technological University Page 13


Palmprint Recognition

The gradient of the image in X direction is given by:

….. (3)

Where * is a symbol for convolving the operator G(x) with image I.

The gradient of the image in Y direction is given by:

….. (4)

Where * is a symbol for convolving the operator G(y) with image I.

The magnitude of the gradient of the image is calculated using:

….. (5)

The direction of the gradient is given by:

….. (6)

This direction is perpendicular to the direction of the edge at that point.

The subsequent steps contain thresholding of the edge direction and completion of broken edges in a particular
edge direction.

Thresholding

In the thresholding image, we convert the image to a two intensity level grayscale image based on a certain
condition. Pixels with intensity level greater than 185 are set to intensity level corresponding to black intensity,
otherwise to white intensity level.

Delhi Technological University Page 14


Palmprint Recognition

(a) (b)

(c) (d)

Figure: (a) and (c) show images after the DIS masking process. (b) and (d) show the corresponding images
after applying the Sobel Edge Detector and thresholding process.

Delhi Technological University Page 15


Palmprint Recognition

TEMPLATE GENERATION

This step is the foremost step in the actual palm print recognition. The aim is to build a template of all the palm
images in the database. The template is formed by extraction of some features from the image and then
quantifying the images in some appropriate way. The extracted features from each image are stored separately
and then input image (during recognition) is compared against the created templates.

In this step, the Fast Fourier Transform of each palm image is determined. Most of the information about the
palm print image energy is carried by the coefficients of lower order. The higher order coefficients are thus
discarded to enhance the speed of the system that generates the templates of the database image as well as that of
the input images. The following steps are carried out on the pre processed images:

 Each pixel of the image is checked and when a pixel with intensity value corresponding to black pixel is
observed, the x – coordinate of the pixel is stored in an array ‘u’ and y – coordinate is stored in the array
‘v’.

 Now, we define a complex variable ‘zcom’ that is defined as:

…..(7)

Where u and v arrays are the ones described above.

 Fast Fourier Transform is carried out on this zcom variable.

 A feature vector for the image is carried out using the lower n (here we use 1024) FFT coefficients.

The Fast Fourier Transform computes the same output as the Discrete Fourier Transform which, for complex
numbers x0, x1,…,xN-1, is given by:

…..(8)

Here Xk is the output and k = 0, 1, 2,…, N-1.

Delhi Technological University Page 16


Palmprint Recognition

IDENTIFICATION AND VERIFICATION

In the previous step we created a template corresponding to each image in the database. This template consisted
of the features of the palm image that will now be used to identify a person’s palm and confirm his/her identity.
The algorithm that was followed is given by:

Fast Fourier Transform Method

 The image of the palm of the person to be identified / verified is captured using the sensor.
 This image is then preprocessed using unsharp masking then edge detection, followed by thresholding.
 Each pixel of the image is checked and when a pixel with intensity value greater than 200 is observed,
the x – coordinate of the pixel is stored in the row array and y – coordinate is stored in the column array.
 A complex variable is defined from the row and column arrays in similar manner as the template
generation.
 Fast Fourier Transform is carried out on the complex variable and the lower n (here 1024) coefficients
are extracted.
 The Euclidean distance between the feature vectors of the input image and the database images is found
out.
 If the smallest Euclidean distance is less than a specific threshold, then the input palm image is said to
match the corresponding database image. The identity of the said person is then confirmed
 Otherwise the palm image does not match any of the images of the database. The said person is then
considered to be an illegal entrant.

Delhi Technological University Page 17


Palmprint Recognition

MINUTIAE BASED MATCHING METHOD

PREPROCESSING OF IMAGES

The preprocessing of the palmprint images before the actual template generation and verification / identification
using minutiae matching consisted of the following steps:

 Enhancement: to make features such as ridge endings and bifurcations more prominent.
 Binarization: so that the image contains only two intensity values, one corresponding to black and other
to white as opposed to several grayscale intensity levels.
 Thinning: so that the ridges on the palmprint were depicted as lines of single pixel thickness rather than
multiple pixels’ thickness.

Enhancement

Image enhancement consists of techniques used to bring out specific features within our image. It is also used for
noise removal from the images amongst various other jobs. The final aim in any image enhancement is that the
final image obtained after various image enhancement steps is more suitable than the image from which we
started. Image enhancement techniques are highly application specific and depend on the final image that we
want before processing of the image.

Here we use a novel technique that is the combination of two filters: Gabor Filter and Fast Fourier Transform.

Gabor Filter

Gabor filter is a linear bandpass filter that is named after Dennis Gabor. This filter is often stated as the closest
approximation to how a human being processes visual data. Gabor filters are at the core of the fingerprint
detection and recognition implementations. They are able to process similar image data both in the intensity as
well as the frequency domain. A Gabor filter contains a modulator in the form of the Gaussian function. This
function modulates the sinusoidal function values of a particular intensity and orientation. It is given as:

…..(9)

Where

= the carrier which is a complex sinusoidal function;

= the envelope which is a two dimensional Gaussian function.

Delhi Technological University Page 18


Palmprint Recognition

Also, the carrier has the following form:

…..(10)

The envelope function, i.e. the two dimensional Gaussian function has the following form:

…..(11)

Thus, a two dimensional Gabor filter takes the following form:

…..(12)

Fast Fourier Transform

Apart from adopting the basic approach of applying the Gabor filter for image enhancement, we apply a Fast
Fourier Transform[5] to the un-enhanced image. This helps in improving the ridge structure (the lines that appear
in a typical fingerprint) of the fingerprint. We use the local neighbourhood information for this purpose. The
image is divided into blocks of 32 x 32 pixels and then the processing is done. The Fourier Transform is applied
in accordance to the following equation:

…..(13)

Then the pixels of a single 32 x 32 block are multiplied by the magnitude of the Fourier Transform that was just
calculated. Due to this the pixels of a block were multiplied by the dominant frequencies in that block.

Delhi Technological University Page 19


Palmprint Recognition

Binarization

Until now, the palmprint images taken from a high resolution scanner have a full range of grayscale intensity
values. Our aim, while doing binarization, is to obtain an image that has only two levels of intensity values: one
each for white and black (1 or 0 in normalized form). This makes the computation and matching of minutiae
obtained in the subsequent steps easier and less resource intensive. Also, here we are concerned only about the
ridge lines being sufficiently differentiated from the background of the image. So the binarization process id
applied that gives the ridge lines a black colour and the background a white colour.

The problem while binarizing the fingerprint images is that the contrast levels are not uniform throughout the
image. To alleviate this problem the following steps are to be followed:

1. Divide the image into block of 16 x 16 pixels


2. Calculate the mean intensity of each block
3. If the pixel intensity is greater than the mean intensity, the pixel in consideration is given the white
colour intensity.
4. Otherwise the pixel in consideration is given the black colour intensity.

(a) (b)

Delhi Technological University Page 20


Palmprint Recognition

(c) (d)

Figure: (a) and (c) show the unprocessed images from the database. (b) and (d) show the images after the
enhancement and binarization processes.

Thinning

The image obtained after binarization, although has only two pixel intensity levels throughout, but it also has
many duplicate values corresponding to the ridge lines. So we need to eliminate these duplicate values to obtain
ridge lines that are devoid of any duplicate pixel values and are only single pixel thick. This is done by eroding
the ridges with a suitable structuring element, but the erosion is performed repeatedly until what we get is a
single line skeleton image. Considering the fact that dilation is a dual operator of erosion, another approach to
thinning is dilation of the background to obtain the thinned image.

Delhi Technological University Page 21


Palmprint Recognition

(a) (b)

(c) (d)

Figure : (a) and (c) show images after the enhancement and binarization phases. (b) and (d) show
corresponding images after the thinning phase.

Delhi Technological University Page 22


Palmprint Recognition

MINUTIAE DETECTION

The term Minutiae, in its literal sense means the small, precise and trivial details about anything and in our case
the palmprints. Minutiae, for palmprint matching, have the same meaning except for the fact that minutiae are no
linger trivial and are instrumental in matching the palmprints. The important minutiae in palmprints that we
intend to use are :

 Ridge endings: a ridge line that comes to an abrupt end within the palmprint, and
 Bifurcations: a ridge line that forms the basis of subdivision of two ridge lines.

Figure : Ridge Endings and Ridge Bifurcations

Minutiae Detection Process

Minutiae detection is the process of finding out the coordinate values of the position of the ridge endings and
bifurcations in the binarized and thinned palmprint image. We use the Crossing Number determination method
to detect minutiae.

Crossing Number of a pixel P whose 8-connected neighbours are P1, P2, ... , P8 is given by:

…..(14)

Where P9 = P1.

P4 P3 P2

P5 P P1

P6 P7 P8

Figure : 8-connected neighbours selected for calculating Crossing Number

Delhi Technological University Page 23


Palmprint Recognition

The algorithm that was followed to calculate the crossing no. was as follows:

Let F(row, column) = Image pixel intensity at (row,column)

F(x-1,y-1) F(x-1,y) F(x-1,y+1)

F(x,y-1) F(x,y): the pixel in consideration F(x,y+1)

F(x+1,y-1) F(x+1,y) F(x+1,y+1)

Crossing Number (Number of rows of pixels in the image, Number of columns of pixels in the image)

M = Number of rows of pixels in the image

N = Number of columns of pixels in the image

for i = 2 to M-1

for j= 2 to N-1

D1= |F(i,j+1) – F(i-1,j+1)|

D2= |F(i-1,j+1) – F(i-1,j)|

D3= |F(i-1,j) – F(i-1,j-1)|

D4= |F(i-1,j-1) – F(i,j-1)|

D5= |F(i,j-1) – F(i+1,j-1)|

D6= |F(i+1,j-1) – F(i+1,j)|

D7= |F(i+1,j) – F(i+1,j+1)|

D8= |F(i+1,j+1) – F(i,j+1)|

D (i,j)= 0.5 * (D1+D2+D3+ D4+ D5+ D6+ D7+ D8)

Delhi Technological University Page 24


Palmprint Recognition

To ensure that we get only genuine ridge endings and the endings at the end of a fingerprint are not detected, we
eliminate the ridge endings that we obtain from the edge of the fingerprints by making an approximation where
the ridge endings within 40 pixels from the border of the image are not recorded.

In our implementation we see that:

 A Crossing Number of 1 corresponds to Ridge Endings.


 A Crossing Number of 3 corresponds to Ridge Bifurcations.

Delhi Technological University Page 25


Palmprint Recognition

MINUTIAE MATCHING AND VERIFICATION

Template Creation

In all image processing applications that involve matching or verification of two or more images, direct pixel to
pixel comparison is neither viable nor the correct approach to go about it. Instead certain features of the images
are chosen. Features of an image are nothing but certain characteristics of the image that can be quantified and
expressed mathematically. In addition to this, features of an image must have certain qualities. Not every
characteristic of an image can be chosen as a feature and used to verify or match against various images. Some
of the most important points to be taken into consideration while selecting features for verification from an
image are:

 Universality: The feature that we select should be present in all the instances of the image. Another
approach may be that there shouldn’t be lot many exceptions.
 Robustness: Noise or any other kind of disturbance shouldn’t affect the quality of the feature beyond
the acceptable limit. For example if the illumination of a particular instance of an image is greater than
another instance of the same image, even then there should not be much difference between the features
of the image.
 Quantifiability: Quantifiability or measurability of features means that the selected feature can be
expressed in mathematical terms or in any other suitable form that make it easy to compare and
contrast.
 Performance: Performance of a feature means how easy it is to process the feature, and how easily a
feature can be incorporated within a model / template.

Typically more than one feature is selected from the image to attempt to form a template. A set of features forms
a feature vector. A feature vector is nothing but an array of features extracted from the image.

Template literally means a pattern or a mould that serves as a representation of something. For image processing
templates are used to perform similar tasks. They are a representation of the actual images. It may also be
defined as a model that is used in the comparison of images. Typically this model is formed from performing
some mathematical functions or applying one or more algorithms on the feature vector we obtained in the
previous step. A template is then stored in the database instead of the actual image. This is due to the fact that
computing the template each time for every image whenever a matching application arrives is both resource-
intensive and wasteful. So, it makes sense to pre-compute all the templates for all the images and store them in
the database. Also, we do not need to store the entire dataset of images and saving these templates takes a lot less
space on the disk as compared to saving images. As a crude example, in our implementation, an image is of the
order of 19 kilobytes and 900 kilobytes for the low resolution and high resolution images; whereas their
templates take up as low as 9 kilobytes and 100 kilobytes respectively as disk space.

Delhi Technological University Page 26


Palmprint Recognition

In this implementation of the palmprint matching we chose minutiae points as features and a feature vector was
set of all points of ridge endings and ridge bifurcations.

Since palmprint has a larger area than the fingerprint, so we have a large number of minutiae points in the
palmprint image, around 12000 in an image. So the conventional methods to compare minutiae points are
computationally very expensive and take a lot of time to generate a single template. So we had to choose a
different method to create and match templates.

To overcome this issue, we tried a novel way to create and match templates. This method first involved reducing
the number of the minutiae points so that only the minutiae points that are inside the main area of the palm. This
is due the fact that when the palmprint scanner is used to capture images of the palm, then at the top, bottom,
right and left edges of the image, we observe that there are ridge endings for every ridge line. This is because the
image of the palm isn’t captured beyond this point. So we have no way of knowing whether that ridge ending
was a genuine minutiae point or a false minutiae point that was induced due the limitations of the image
capturing device. Also, it is safe to ignore these ridge endings that occur inadvertently towards the extreme ends
of the palmprint image. This increases the accuracy of our implementation and decreases the processing time.

Clustering

Processing 12000 points on an average in a palmprint is a resource-intensive process and is unnecessary in many
cases where the palmprints can be regarded as not matching straightaway without an ounce of doubt. So to
reduce this processing time, yet keep the accuracy as it is, we turn to the process of clustering the minutiae
points.

Clustering is a process of finding, determining and grouping the objects according to natural groups existing in
our dataset. This grouping is based on some criteria such as distance of data points from one another etc.
Clustering has a final aim of reducing the inter-cluster similarity between the data sets. Also it aims to increase
the intra-cluster similarities between the object. What it means that the data points most similar to each other will
be the part of same cluster and those which are most dissimilar to each other are associated with different cluster.
Each cluster has a cluster centre that is used to define the most generalized features of the data points in the
cluster. Thus a cluster centre may be regarded as the representative of a cluster.

In our implementation we use K – Means Clustering Algorithm to cluster the minutiae points. Euclidean distance
between minutiae points was used as the clustering criteria and cluster centres were obtained.

The K – Means clustering algorithm that we used to cluster minutiae points into 10 clusters and obtain cluster
centres is:

Delhi Technological University Page 27


Palmprint Recognition

Input : Set V containing the coordinates of all the minutiae points.

Ouput : Set U containing the cluster centres.

Set C containing the information about cluster to which each minutiae point is allocated.

K – Means Clustering

1. Determine the number of clusters we need to divide our dataset into. Here we use 10 clusters to group all
the data points.
2. Now for each cluster centre we assume a cluster centre. Here cluster centres are 10 randomly chosen
points from the set of minutiae points. Let the cluster centres be denoted by µ1, µ2, µ3 , … , µ10 .
3. For each point v in the set of minutiae point calculate:

…..(15)

i = 1, 2, 3, … , 10.

And the Euclidean Distance between two points is given by:

…..(16)

xp , xq are the x-coordinates of points p and q respectively.

yp , yq are the y-coordinates of points p and q respectively.

4. Let p be cluster centre for which the Euclidean distance is minimum for a point q. Then the
point q is assigned to the cluster that is represented by the cluster centre q. This is done for each
point in the set of minutiae points.
5. Now the new cluster centres are calculated as the point that defines the centroid of the points in
the cluster.
6. Steps 3, 4 and 5 are repeated till the cluster centres no longer change or till a certain threshold
criteria is met.

Delhi Technological University Page 28


Palmprint Recognition

Ratio, Angle pair generation for cluster centres

The steps carried out till now are only a precursor to the actual template generation. For populating the template,
the first step is processing the cluster centres using the following steps:

Let the list U contain all the cluster centres. Then the following steps are carried out on the elements of the list
U:

1. For each point u in list U:


a. Calculate distance between point u and every other point v in the list U.
b. The distances calculated here are Euclidean distances which is given by:

…..(17)

2. Now, for each point p in the list U, a table C(p) – cluster centres is populated using the following steps:
a. Calculate the following ratios:
(p – p1) : (p – p2), (p – p1) : (p – p3), (p – p1) : (p – p4), … (p – p1) : (p – p10),
(p – p2) : (p – p3), (p – p2) : (p – p4), (p – p2) : (p – p5), … (p – p2) : (p – p10),
(p – p3) : (p – p5), (p – p3) : (p – p6), (p – p3) : (p – p7), … (p – p3) : (p – p10),
(p – p4) : (p – p5), (p – p4) : (p – p6), (p – p4) : (p – p7), … (p – p5) : (p – p10),
.
.
.
(p – p8) : (p – p9), (p – p8) : (p – p10), (p – p9) : (p – p10).
Where a ratio (p – pN) : (p – pM) is given by:

…..(18)

b. Now for a cluster centre point p and the two points used in calculating the ratio
(p - pM) : (p - pN), calculate the angle that points pM and pN subtend at the point p.
By doing the above two steps we calculate relative distance ratios and angles amongst the
cluster centres.

Delhi Technological University Page 29


Palmprint Recognition

Figure : Calculating the angle pM – p – pN


c. Now store these distance ratios and angles in a tuple corresponding to C(p) – cluster centres.

The steps just mentioned are carried out on all the images in our database. The table C(p) – cluster centre is
calculated. This table acts as a pre match screening table.

Finding out common cluster centres

Once we get the input image from the user, the above steps are carried out on the input image as well to obtain
the C(p) – cluster centres’ tuples for the input image as well. We compare these tuples against the tuples in the
templates. A record in the input tuple is said to match a record in the template if two or more ratios as well as
corresponding angles match with a certain degree of error acceptance rate. The matched points are called as the
candidate common points. This way we consider only the relative distances and ratios. This eliminates the need
to align the two images if they are not aligned correctly. This is due to the fact that the relative distances and
angles shall remain the same even if the alignments are different.

Delhi Technological University Page 30


Palmprint Recognition

Ratio, Angle pair generation for minutiae points

Once the image passes the pre – minutiae match screening i.e. the cluster centres’ relative distance ratios and
angle match in the template and the input image, we move to deliver the final verdict whether the given image of
palmprint is a match to one of those in our database.

Let the list N contain all the minutiae points in a cluster.

Then the following steps[2] are carried out on the list N:

1. For each minutiae point p in the list N:


a. Calculate the distance to every other minutiae point in the list N.
b. Take up the points that have five least distances from amongst the distances taken from above.
Let these five points be p1, p2, p3, p4, p5.
The distances calculated here are Euclidean distances which is give by:

…..(19)

2. Then we calculate the M(p) in the following way:


a. Calculate distances p – p1, p – p2, p – p3, p – p4, p – p5. Here also the distance denoted by p –
pN is the Euclidean Distance between the points p and pN.
b. Now calculate the following 10 ratios:
(p – p1) : (p – p2), (p – p1) : (p – p3), (p – p1) : (p – p4), (p – p1) : (p – p5),
(p – p2) : (p – p3), (p – p2) : (p – p4), (p – p2) : (p – p5), (p – p3) : (p – p4),
(p – p3) : (p – p5), (p – p4) : (p – p5).
Where a ratio (p – pN) : (p – pM) is given by:

…..(20)

c. Now for a minutiae point p and its two nearest neighbours that are used in the ratio
(p – pN):(p – pM), calculate the angle formed by pN – p – pM.

Delhi Technological University Page 31


Palmprint Recognition

Figure 10: Calculating the angle pM – p – pN


d. Now store the angles corresponding to the respective ratios in a tuple called M(p) – tuple for a
minutiae point p.
The above steps are carried out for minutiae points in each of the cluster.

This completes the template for a single palmprint image of our database.

So, the template that we create for the purpose of verification of palmprint consists of the following elements:

 C(p) – cluster centre table: This table contains the relative distance ratios and relative angles between
all the cluster centres of the minutiae points in the palmprint image. So each record consists of
coordinates of the cluster centre and (D, Θ) pairs where D = the relative distance ratio and Θ =
corresponding relative angle for the rest of the cluster centres.
 M(p) table: This table contains the relative distance ratios and relative angles between the nearest
neighbours of minutiae points. So each record consists of coordinates of the minutiae point under
consideration, and (D, Θ) pairs where D = the relative distance ratio and Θ = corresponding relative
angle for the nearest neighbours of the minutiae.

Delhi Technological University Page 32


Palmprint Recognition

Finding out the Common points

Once we get the input image from the user, the above steps are carried out on the input image as well to obtain
the M(p) tuples for the input image as well. We compare these tuples against the tuples in the templates. A record
in the input tuple is said to match a record in the template if two or more ratios as well as corresponding angles
match with a certain degree of error acceptance rate. The matched points are called as the candidate common
points. This way we consider only the relative distances and ratios. This eliminates the need to align the two
images if they are not aligned correctly. This is due to the fact that the relative distances and angles shall remain
the same even if the alignments are different.

Building a tree from the common points

The algorithm considers only those points that are in the Candidate Common List from all the points in the base
image to create the tree. The remaining points in the set N(Template) are listed in the set N’(Template)
consideration, a tree like structure is drawn from bottom up. Similarly from N(Input Image Template), the
algorithm considers points that are in the Candidate Common Point List of the input image to create the tree and
the remaining points form the set N’(Input Image Template). From Candidate Common Points of both the
images are considered. The lowest common point in both the images is considered to be the origin of an X –Y
co-ordinate system. All the other points in the Candidate Common List are sorted in the increasing order of the Y
(lower the value of the Y coordinate lower the Order, origin is of Order0, and so on) and when the two points in
the list have the same value of Y coordinate the lower value of X will be given lower.

After ordering all the Candidate Common Point in both the lists, they are connected in bottom up manner. Then,
the algorithm eliminates the spurious minutiae points by following the steps:

In both the tree structures, we consider the vertices as the Candidate Minutiae Points and the lines connecting
those points as edges. The algorithm uses the information contained in each edge

1. The quadrant to which the edge is moving.


2. The ratio of its own length with the previous connecting edge. The ratio will always be greater than 1.
3. The angle created by the edge with the interpolated previous connecting edge.

The information is calculated for each of the edges in the tree structure. If there are n points in the tree structure
then there will be n-1 edges. The information of the edges in the input image tree is compared with the
corresponding edge in the template tree. If the target vertex doesn’t match then the point is removed from the
Candidate Common Point List. If the match is not found then the minutiae point “i +1” is removed in one of the

Delhi Technological University Page 33


Palmprint Recognition

images and the entire procedure is tested, and if the problem occurs again, minutiae “i+1” is removed in the
other image and the procedure is tested. Even after the following the above two procedures there isn’t a match
then that point is removed from both the tree. These steps were repeated until no points can further be removed.
The Candidate Common Point set in updated. The points that were not identified by the phase 1 due to spurious
minutiae in its vicinity, the algorithm tried to find them out and add them to the Candidate Common Point List.
The procedure follows as, for each minutiae in the set N’(Template), the 5 nearest points that are present in the
current updated Candidate Common Points are found, and corresponding tuples are created. Similarly, for each
minutiae in the N’(Input Image Template) set , corresponding tuples are created. The newly created tuples are
matched to find any new Candidate Common Point. If any such points are found, they are added to the tree and
the matching procedure by comparing edges and removing spurious points is once again followed till no edges
can further be removed. Now, essentially what the algorithm has resulted in is a tree whose vertices feature in
the Confirmed Common Points List, which in turn indicates the common minutiae points in both the images. If
C (N) is the number of points in the Confirmed Common Points List and N is the Maximum {Number of points
in the [template, input] images}, then C (N) >= (N/2). If this is true, then the two images are said to be the same,
else a negative score is displayed.

Delhi Technological University Page 34


Palmprint Recognition

REFERENCES

1. K.Y. Rajput, Melissa Amanna, Mankhush Jagawat, Mayank Sharma, “Palmprint Recognition Using
Image Processing”, International Journal of Computing Science and Communication Technologies,
VOL. 3, NO. 2, Jan. 2011.
2. L. Fang, M.K.H. Leung, T. Shikhare, V. Chan, K.F. Choon, “Palmprint classification”, IEEE
International Conference on Systems, Man and Cybernetics, 2006.
3. Koichi Ito, Takafumi Aoki, Hiroshi Nakajima, Koji Kobayashi, Tatsuo Higuchi “A Phase-Based
Palmprint Recognition Algorithm and Its Experimental Evaluation”, ISPACS2006, 2006
4. Nassir Salman, “Image Segmentation Based on Watershed and Edge Detection Techniques”, The
International Arab Journal of Information Technology, Vol. 3, No. 2, April 2006
5. Han, C.C., Cheng, H.L., Lin, C.L. and Fan, K.C., “Personal authentication using palm-print features”.
Pattern Recognition v36(2), 2003
6. Li, W., Zhang, D. and Xu, Z., “Palmprint identification by Fourier transform”. International Journal of
Pattern Recognition and Artificial Intelligence. v16(4). 417-432, 2002

Delhi Technological University Page 35

Das könnte Ihnen auch gefallen