Enrolment and Matching of Fingerprints using Minutiae Tree

: Automated fingerprint matching is considered as the most challenging phase of fingerprint recognition since it can be affected by a variety of factors such as noise, skin condition, rotation, distortions and displacements. When there is a large database, the search time to get a matching fingerprint will be relatively high. To reduce the searching time in the database, we have proposed a minutiae tree based indexing method in this paper. The database is represented in the form of a minutiae tree and the fingerprint matching is done by visiting the nodes in the tree where the local configuration of the minutiae is stored. By using this tree structure it is found that the search time or matching time can be considerably reduced and the matching time is independent of the number of fingerprints enrolled in the database. Our framework is scalable and the experiments conducted explores its ability to find correct matches with minimal search time.


Introduction
Fingerprint verification and fingerprint identification are the two different modes of operations of a fingerprint based biometric system. Fingerprint verification is considered as a simple process of 1:1 matching whereas fingerprint identification is a complex process of 1:N matching (Jain et al., 2010). In both the modes fingerprint matching is an important step. In verification the acquired image is matched with the stored image. The matching algorithm will find the correspondence between the two images and gives a positive result if they are significantly similar. In identification the given probe image is matched with all the images in the dataset to generate a degree of similarity. The algorithm returns the name of the person who has a highest degree of similarity. Fingerprint matching is very challenging since two images acquired at different time exactly under same conditions need not be exactly the same. The difficulty in matching is due to several reasons (Sheng et al., 2007). The translation and rotation of the fingerprint images, application of a poor feature extraction algorithm, displaced, false and missing minutiae and the non linear deformations of the images are some of the reasons. To overcome these variations a powerful matching algorithm is needed. So the matching algorithm should be invariant to translation and rotation of the images. It should return the correct result while comparing fingerprints from the same finger even the feature extractor has missed some features or even when the fingerprint images are affected by non linear distortions.
The fingerprint matching algorithm can generally be classified into three different classes: • Correlation based matching algorithms (Hatano et al., 2002;Lindoso et al., 2007) which use superimpose two fingerprint images to find the correlation among pixels for different displacement and rotation • Minutiae based matching algorithms (Jiang and Yau, 2000;Luo et al., 2000) which use the extracted minutiae of two fingerprints to find the matching pairs of minutiae • Non minutiae based matching algorithms (Yang and Park, 2008;Nanni and Lumini, 2009) which use the orientation, shape or frequency of ridges to perform matching between two fingerprints Among the three classes minutiae based algorithms are the most common and minutiae based matching is considered as a point pattern matching problem.
Our goal is to develop a fingerprint matching algorithm which can reduce the database search time during matching. Towards this goal a minutiae tree based algorithm is proposed in this paper, which enrol the fingerprints at the leaf node of the tree and the matching is done by comparing the values related to each minutia at each node. A minutiae tree based indexing technique with fast retrieval rate is our contribution. The organization of this paper is as follows. After the introduction the related works are given. The following sections include the Proposed Method, Performance Analysis and Conclusion.

Related Works
The uniqueness of fingerprints has made them as the popularly using modality in automatic person identification (Sankaran et al., 2014). The features in a fingerprint are called minutiae which contain most reliable and discriminating information. Ridge ending and ridge bifurcation are the two most prominent minutiae used for automatic fingerprint matching. A set of minutiae are detected from the fingerprint during feature extraction and the minutiae set is characterized by the attributes like minutiae type (ridge end or ridge bifurcation), position of the minutiae (x and y coordinates) and the orientation of the minutiae. The minutiae list is considered as a pattern of points and so the fingerprint matching problem can be considered as a point pattern matching problem.
The most popular technique for fingerprint matching is minutiae based matching (Lahby et al., 2016). Each minutia is represented by a 3-tuple M = (x, y, θ) where (x, y) is the location and θ is the orientation of the minutiae. Let T be the template fingerprint and M T is the minutiae in template fingerprint. Similarly P is the probe fingerprint and M P is the minutiae in the probe fingerprint. A minutiae based matching algorithm goes through the following steps in general: • Define a tolerance box for M T in terms of the permitted maximum spatial distance and direction difference • M P is considered matched with M T if M P comes within the tolerance box of M T . This is repeated for all the minutiae in M P • A matching score for the two fingerprints is calculated Inorder to maximize the matching score an optimal displacement and rotation alignment should be obtained. The match or non-match decision is based on the threshold value which varies depending on the application.
The fingerprint database contain hundreds or thousands of images and one method applied to reduce the search space is to classify these images into different classes like left loop, right loop, arch, whorl etc. This approach will reduce the search space since the probe is matched only with the fingerprints which are enrolled in the same class.
Another technique to speed up the identification process is indexing. Fingerprint indexing is applied to reduce the search space and thus to reduce the search time in a large database. Lot of fingerprint indexing techniques have been proposed and applied by researchers to reduce the response time for improving the effectiveness of the identification system (Li et al., 2014;Iloanusi et al., 2011;Zhou et al., 2014;Mngenge et al., 2015). Another indexing method known as Minutiae Cylinder Code (MCC) uses a 3D data structure known as cylinder to speed up the fingerprint identification (Cappelli et al., 2010). The invariant distances and angles in the neighbourhood of each minutiae are used to develop the cylinder. This approach is a fixed radius approach and so the problem with spurious minutiae are efficiently handled. In this approach, a fixed length bit vector has been used for encoding the neighbour of each minutiae. Locality-Sensitive Hashing is used to index these bit vectors. The similarity between two fingerprints are found by considering the number of collisions of binary vectors. Experimental results have shown that MCC is more accurate than well known minutiae-only local matching techniques.
Multiple features can be used for fingerprint indexing as explained in (de Boer et al., 2001). In this approach the authors have made use of the registered directional field estimate, Finger Code and minutiae triplets for indexing. They have found that the database search is more effective by this method when searching in a large fingerprint database. An approach based on minutia neighbourhood structure for indexing is explained in (Liang et al., 2007). This is a more stable triangulation algorithm which is insensitive to fingerprint distortion. The minutia details and attributes of low-order Delaunay triangle are used for indexing. Experiments show that the proposed algorithm considerably narrows down the search space in fingerprint databases and is stable for various fingerprints.
A graph based fingerprint matching algorithm has been proposed in (Chikkerur et al., 2006). This approach is named as k-plet approach and in this approach a graph has been generated by considering multiple minutiae and their local patterns. For matching two fingerprints, the kplets are matched by local matching and the local matches are combined by a global coupled breadth first search (Chikkerur et al., 2006). The same idea has been used for indexing in (Mansukhani et al., 2010). In this approach, the fingerprints are enrolled as a global tree and for matching, the probe is matched against the tree. If the local match is a success, the match will be expanded to the nearest neighbourhood. Here, instead of k-plets a single minutiae is considered to reduce the complexity.

Proposed Method
Our algorithm is the modified version of the algorithm proposed in (Mansukhani et al., 2010) which uses a tree structure in which the fingerprint templates are enrolled at the leaf nodes. Mansukhani et al. (2010) an arbitrary minutiae is selected as the root of the tree and the features of the nearest minutiae relative to the root are calculated and the particular fingerprint is enrolled at the leaf node. The size of the tree will be very higher since one fingerprint is enrolled in many leaves.
Instead of starting with an arbitrary minutiae as root, the proposed algorithm starts with the core point in the fingerprint. If the fingerprint contains a core point we are making the core point as the root. The minutiae points in the fingerprint are considered in the increasing order of their Euclidian distance from the root (core). Then the required features of the minutiae points are considered and based on these features nodes are created for each minutiae in the fingerprint. For a fingerprint having n minutiae, our tree structure does not contain n enrolments. So the space required for the tree con be reduced considerably.
The proposed method has the following objectives: • Enrol the fingerprints on the minutiae tree using the local configuration of the minutiae • Perform the fingerprint matching efficiently by doing a search operation on the minutiae tree All the steps carried out in the proposed method are explained in detail in the following subsections.

Preprocessing
To improve the quality of the image by improving the clarity between the ridges and valleys, the following steps are applied to each fingerprint image. These steps are the preprocessing steps and will help the feature extraction process. The pre-processing steps applied are:

Normalization
The variation in the gray level values of ridges and valleys can be reduced by the process of normalization. Normalization is done on the image so as to get a pre specified mean and variance for the image. The normalized gray level N(I, j) of the pixel at (i, j) is calculated as: where, M 0 and V 0 denote the desired mean and variance, M I and V I denote the estimated mean and variance and I(i, j) is the gray level of the image I.

Segmentation
Segmentation is an important and unavoidable pre processing step in which the foreground and background of the fingerprint image is differentiated. Lot of segmentation algorithms have been proposed by researchers (Mehtre et al., 1987;Mehtre and Chatterjee, 1989;Bazen and Gerez, 2001). We have used the algorithm proposed in (Ratha et al., 1995) for segmentation. The input image is divided into non overlapping blocks of size w × w. Then the mean M(I) and standard deviation std(I) of each block are computed as: If the standard deviation of the block is greater than an empirically selected threshold, then the corresponding block is considered as the foreground region otherwise background.

Binarization
Binarization of the grey-scale image: the ridges and valleys of the fingerprint image are highlighted with black and white colors respectively. The intensity of each pixel in the grey-scale image is transformed to 0 or 1 which represent black or white in binary intensity. It can be done by using the equation: where, t is the global threshold.

Thinning
In this process the foreground pixels are successively eroded until the ridge width is reduced to one pixel size. An iterative algorithm explained in (Guo and Hall, 1989) is used for thinning.

Alignment
Alignment is a very important process to be done before fingerprint matching since the misalignment may lead to false results. Here we have applied a PCA based alignment algorithm (Kour et al., 2012). PCA can find the direction in which the data is spread more. The amount of spread is given by eigen values and the direction of spread is given by eigen vectors. The fingerprint alignment is done by using the following steps: • Find the mean of the coordinates of all points in the thinned image and find the covariance matrix • Find the eigen value and eigen vectors based on the covariance matrix • Compute the angle of rotation by finding the eigen vector corresponding to the maximum eigen value • Since it is assumed that fingerprints will not have rotation more than 60, if the obtained angle of rotation is more than 60, then use another eigen vector to find the angle of rotation • The fingerprint is rotated according to the angle of rotation

Ridge Orientation
We have used a gradient based algorithm (Hong et al., 1998) to find the orientation of ridges on the fingerprint. Using this algorithm, the local ridge orientation at each pixel (i, j) is computed as: where: φ x and φ y are the x and y components of the image vector field and w is a low pass filter of size l × l.

Minutiae Extraction
After preprocessing the minutiae are extracted from the image. The two types of minutiae that are extracted for the experiment are ridge ending and ridge bifurcation. The location of the minutiae are calculated by analysing each pixel in the thinned image. The crossing number method (Tamura, 1978) is applied to extract the minutiae as shown in Fig. 1. In this method a 3×3 window centred at pixel p is traversed circularly: where, P i is the neighbouring pixel of P. The neighbouring pixels of P are scanned in the anti-clockwise direction as shown below. Ridge endings will have a value 1 for cn and bifurcations will have a value 3. A set of minutiae are extracted and from the extracted minutiae the spurious minutiae are eliminated. The core points and the delta points are also extracted from the fingerprint images as core point is used as the root of the minutiae tree.

Core Point Detection
The detection of core point is very important since the minutiae tree is constructed by keeping the core point as the root of the tree. Poincare index method is a widely accepted method for finding the singular points in a fingerprint (Jirachaweng et al., 2011;Joshi et al., 2009;Kawagoe and Tojo, 1984;Karu and Jain, 1996). The Poincare index of a element θ ij in the orientation image at position (i, j) is calculated as: Here δ(k) is the ordered difference between neighbouring elements of θ ij and is calculated as: Under closed curves the Poincare index assumes one of the three values for singular points (Kumar et al., 2016). Then:

Pre-Enrolment Steps
After the preprocessing steps on each image, the required features are extracted from the images in the database. Our method extracts two kinds of features from each fingerprint: ridge ending and ridge bifurcation. Before enrolling the fingerprints, we need to carry out some steps which makes the enrolment easy and thus gives an efficient tree structure. The following are the steps carried out before enrolling each fingerprint: 1. Get the extracted core point and let the co-ordinates be (x, y) 2. Find the Euclidean distance between the core point and each minutia and arrange the points in the increasing order of their distance 3. Prepare the list of minutiae in the increasing order of their distance from the core point 4. For each minutia m i calculate two angles. (1) the angle between mi and m i+1 (2) the angle between mi and m i+2 5. Create a list of minutiae with required information (i.e., x, y, Euclidean distance, angle1 and angle2) We are not considering the fingerprints from which a core point cannot be detected. The minutiae points for enrolment are selected according to the Euclidean distance from the core point and we can select as many number of points as required. Since the searching time on a tree depends on the height/depth of the tree, this organization will give an improved search time with an average number of minutiae.
The fingerprints in the database are arranged in the form of a tree. A single tree is built to represent all the fingerprints and the fingerprints are enrolled at the leaf nodes. The root of the tree is the core point of the fingerprint. The minutiae points are arranged in the internal nodes and they are arranged based on the orientation and distance. The depth of each path in the tree depends on the number of minutiae points considered while enrolling the fingerprint. This arrangement provides an index structure for the database. For matching a fingerprint we traverse the tree from root and when we reaches a correct leaf we will obtain a perfect match. How to Create the Minutiae Tree?

Binning
The minutiae points are selected based on the Euclidean distance from the core point. The minutia which is very near to the core point is selected first and binned into one of the bins in the first level of the tree. For our experiment we have constructed 24 different bins based on the orientation and distance from the core point (6 for orientation and 4 for distance). The basic bin arrangement is shown in Fig. 3. The number of bins can be varied according to the maximum Euclidean distance allowed for enrolling. Here we have selected 60 pixels as the maximum distance and so the minutiae which are up to 60 pixels away from the core point are considered for enrolment. At each level of the tree, maximum n number of minutiae are binned where n is the number of fingerprint images in the dataset. Table 1 shows the range of values for orientation and distance that come under various bins. Figure 4 shows the structure of bins associated with each branch of the tree and Fig. 5 shows the dynamic list associated with each bin.
If more than one minutia is binned into a particular bin, then these minutiae can be maintained by using a dynamic list. The list keep the minutiae in the increasing order of their distance from the core point. Each minutiae in the list hold the x and y coordinates, the euclidean distance, the angles calculated.

Creating Minutiae Tree by Enrolling the Fingerprints
Let T is the template fingerprint which we want to insert in the tree which contain n minutiae points. Then T can be defined as a set of n minutiae which are arranged in the increasing order of the Euclidean distance from the core point. T can be represented as: is the type of the minutia of the fingerprint template T. The tree is constructed by creating nodes for each minutiae and thus for a fingerprint with n minutiae the corresponding branch of the tree grows up to a depth n, with the fingerprint enrolled at the leaf node. Our method applies the concept of bins for categorizing the minutiae. Each minutia is put in a particular bin by considering some of the features of minutia itself and also by considering some features relative to the root (core point). The branch selection is done by comparing the type of the minutia. Since we are considering only two types of minutiae, our minutiae tree is having only two branches in a high level view.
The high level structure of the minutiae tree is shown in Fig. 6. Each node in the tree is having a number of bins to accommodate the minutiae based on their relative feature values. After selecting the appropriate branch, our algorithm selects a suitable bin for the minutiae. The binning is done based on the orientation of the current minutia and the distance between the root and the current minutia. We have divided the orientation into 6 bins and distance into 4 bins. So in effect a minutia could enter in any one of the available 24 bins. Each bin in turn contains a dynamic list which can grow up to n. The list stores the required information about the minutia which falls in a particular bin.    For enrolling the fingerprints the minutiae list which is ordered based on the Euclidean distance is considered. The first minutia in the list is considered and the type of the minutia is checked. If the minutia is of type ridge ending; it will be stored as the left child of the root and if the minutia is of type bifurcation; it will be stored as the right child of the root. Then the orientation and the Euclidean distance of the minutia are compared with the range of values associated with the bins. A suitable bin is found out and the minutia is put in the dynamic list of that bin. The list is maintained with each bin to accommodate all the minutia falling in the bin. The structure of a node is shown in Fig. 7.
We have used the following algorithm for enrolling the fingerprints in the tree. The output of the preenrolment stage is used as input for the enrolment.

Algorithm:
Input: Core point and the list from the pre-enrolment stage Output: A minutiae tree with fingerprints enrolled as Leaves Steps: 1. Core point is made as the root of the tree 2. For each minutia in the list (a) if the type of minutia is end branch to left else branch to right (b) find a suitable bin according to the orientation and Euclidean distance (c) store the details of the minutia in the dynamic list of that bin 3. Enrol the corresponding fingerprint in the leaf node A general tree structure is implemented for enrolling the fingerprint. The core point in the fingerprint is made as the root of the tree. The minutiae points in the fingerprint are considered in the increasing order of their Euclidian distance from the root (core point). Then the required features of the minutiae points are considered and based on these features nodes are created for each minutiae in the fingerprint. Our algorithm enrols the fingerprint at the leaf nodes. At each level of the tree the values associated with each minutia are stored with a End Bifurcation pointer to the parent(previous minutia in the list) as well as a pointer to the child (or the next minutia in the list). For a fingerprint having n minutiae, our tree structure allows only one enrolment for the fingerprint. So the space required for the tree can be reduced considerably. Fig. 8 shows a sample tree created while enrolling a fingerprint with first five minutiae of the fingerprint. The internal organization of the tree is shown in Fig.  9. The root of the tree is having pointers to the left node and right node. Each node of the tree has 24 bins and each bin has a dynamic list associated with it to manage the entries. So each minutiae from N fingerprints is binned into any one of the 24 bins associated with a node at each level. The minutiae are stored in the dynamic list with parent address, child address and with the values related to the minutiae. The parent address and child address are stored to get the exact position of the minutiae in the bin. In each bin the values associated with the minutiae are stored along with the parent node address and the child node address which makes searching easier. Figures 10 and 11 shows the structure of the tree after enrolling two fingerprints. In this way all the fingerprints in the database are enrolled in the minutiae tree. The depth of the tree depends on the maximum allowed euclidean distance and the number of minutiae selected for enrolling. We can make the height of each path identical by selecting equal number of minutiae for enrolment.

Fingerprint Matching
The next important phase is matching a probe image. The pre-processing steps and the pre-enrolment steps are applied to the probe image prior to matching. Matching is done in a similar way enrolment is done. The list of minutiae of the probe image may contain p number of minutiae which are arranged in the increasing order of their distance from the core point. The first minutia in the list will be considered and based on the type of the minutia the appropriate branch of the tree is selected. Then based on the feature values of the current minutia the search is progressed towards a particular bin and hence to the list in that bin. The feature values of the current minutia of the probe image are now compared with the values in the list. A matched value will be found with the help of a threshold value and now the search or the matching process progresses with next minutiae by selecting the suitable branch from the previous minutia. This process continues and when the matching reaches the leaf node, that means a matched fingerprint is found.
For the minutiae values which are on the boundaries of the bins, the search will progress through multiple paths. This approach is helpful to increase the chances of finding the correct minutiae paths. Also in situations where the search process is unable to move further, backtracking is applied to find a correct path.

How to Handle Missing Minutiae
An important issue that can occur and which will lead to a wrong search path is the problem of missing minutiae. If the features extracted from the probe fingerprint miss some minutiae compared with the enrolled fingerprints, the matching process will not give a correct result. To overcome this situation we have applied a prediction logic in our method. By applying this prediction logic it is found that our algorithm progresses through the correct path even if some minutiae are missing and gives the correct result. Thus we are able to reduce the error rate up to an extent.
If m 1 , m 2 , …, m n is the minutiae set of the query fingerprint in the increasing order of the Euclidean distance from the root, at each node or with each minutiae we are recording the angle that m i and m i+1 makes with the root. When the query fingerprint comes, at each node this angle will be checked and if it is greater than a particular threshold it is assumed that the minutia m i+1 is missing in the query fingerprint and the search will be continued with the next node in the search path if the angle between mi and m i+2 in the enrolled fingerprint satisfies with that of the query fingerprint. By using this simple method it is found that the mismatch due to a missing minutia in the query fingerprint could be controlled. Suppose m T1 , m T2 , m T3 , m T4 are the minutiae of the template fingerprint and m P1 , --, m P3 , m P4 are the minutiae of the probe fingerprint. The --indicates a missing minutia. Let C T and C P be the core points of the template and probe fingerprints. When the first minutia is considered in the pre-enrolment stage the angles < m T1 C T m T2 and < m T1 C T mT 3 are calculated and stored in the corresponding bin of the minutia. When the first minutiae of the probe fingerprint is considered the angle < m P1 C P m P3 is calculated. The angles < m T1 C T m T2 and < m P1 C P m P3 are compared and since the second minutia is missing in the probe fingerprint these two will not match. So our algorithm will compare < m T1 C T m T3 and < m P1 C P m P3 which gives a positive result. So it is understood that the second minutia is missing in the probe fingerprint and the search is continued with the third minutia of the template omitting the second minutia.

Performance Analysis
The dataset used for this experiment is FVC 2002 in which the images are of size 300×300. The dataset contains 8 images each of different users.
The performance of the above described system is analysed in terms of running time and accuracy. In a single node of the tree there are 24 static bins and a dynamic list corresponding to each bin. A minutia based on its local feature values is added to one of the lists of these 24 bins. The matching time or searching time of the above mentioned system is same as the enrolment time. The maximum possible children for each node is n where n is the number of enrolled fingerprints. So the maximum possible size of the tree is O(nd) where d is the depth of the tree which is equal to the number of minutiae used to build the tree.

Running Time
The running time of the algorithm is comprised of the time required to enrol a fingerprint into the tree and the time required to carry out a search. The running time of the algorithm is found to be slightly increasing as the depth of the tree increases. Compared to the single path search, multiple path search takes more time as it need to search multiple paths. The running time of the algorithm is compared with previously proposed algorithm  (Mansukhani et al., 2010). The comparison of the average running time for single search path and multiple path search when the depth of the tree increases is given in Table 2 and 3. Figure 12 shows the comparison of running time of the proposed algorithm during single path search and multiple path search when the number of minutiae used for enrolling the fingerprint is increasing. It can be seen from the graph that the running time of the algorithm is slightly increasing as the number of minutiae is increasing.

Efficiency
From the database fingerprint images of 10 persons were selected. 8 images of the same finger per person are considered for constructing the tree. Then there will be 7 test cases for one instance of the fingerprint. So for one person, there will be (8*7)/2 = 28 test cases since we are avoiding repeated matching. So the total test cases for 10 persons is 28*10 = 280. The efficiency of the method is calculated as:

Number of positive matches Efficiency
Total number of text cases = The proposed method is tested by varying the number of minutiae selected for enrolling the fingerprints. We conducted various experiments for testing the efficiency of the proposed method. The experiments took 5, 10, 15, 20 and 25 minutiae which are near to the core point to create the tree. When the tree is created with 5 minutiae points for each fingerprint, the efficiency obtained is 258/280 = 91.07%. Hence the Genuine Acceptance Rate (GAR) is 91.07% and the False Rejection Rate (FRR) is 8.93%. Thu positive matches obtained with 10 minutiae points is 259. So the efficiency obtained is 92.5%. The GAR is 92.5% and FRR is 7.5%. The positive matches obtained when considering 15 minutiae points for constructing the tree and for matching is 258. Then the efficiency is 92.14%. The GAR is 92.14% and FRR is 7.86%. We got 260 positive matches when tried with 20 min points and so the efficiency is calculated as 92.85%. The GAR is 92.85% and the FRR is 7.15%. The positive matches obtained when considering 25 min points for constructing the tree and for matching is 260. Then the efficiency is 92.85%. The GAR is 92.85% and FRR is 7.15%. Table 4 shows the FRR and GAR values obtained for single path search.
When the minutiae are at the boarders of the bin, sometimes the search will progress through multiple paths. Table 5 shows the FRR and GAR values obtained during multiple path search. The FRR and GAR values obtained during single path search and multiple path search when the tree is created with varying number of minutiae are shown in Fig. 13.       Penetration rate is the average percentage of database searched over all test fingerprints. The penetration rate for the proposed method is given in Table 6 and 7 shows a comparison between the proposed method and some other indexing methods. The penetration rate of the proposed method is less compared to other methods since we have applied binning based on the relative features of the fingerprint minutiae by which the percentage of database searched is decreased.

Conclusion
Fingerprints have been used for personal identification from long back since they are very unique. Fingerprint matching plays an important role in fingerprint verification as well as in fingerprint identification. For a better response time or for getting a real time response we have to reduce the search space while matching. The method proposed in this paper considerably reduces the search space and thus reduces the matching time.
A fingerprint matching system with a tree based indexing structure has been implemented and tested. Our system is robust to translation and rotation of fingerprints. Another important quality of our system is that it is scalable and the time required for enrolling a fingerprint remains same irrespective of the size of the database. The searching or matching time found to be slightly increasing depending on the number of minutiae included in the tree. The penetration rate of the proposed method is found to be very less compared to other indexing techniques. The accuracy can be increased by including more relative characteristics of the minutiae.