Fingerprint Mosaicking Algorithm to Improve the Performance of Fingerprint Matching System

Mosaicking in biometrics is a topic of great interest among researchers these days, since it is an important step towards solving the problem of security of data. This paper presents design and implementation of Mosaicking algorithm. This technique is beneficial for providing authentic access as well as security to the biometric image template. We have designed an algorithm for fingerprint mosaicking in order to achieve the required performance. The proposed algorithm provides the effective solution of security issues regarding biometrics techniques without affecting the fingerprint quality. Results discussion section depicts the efficacy of proposed algorithm.


Introduction
A fingerprint based verification system consists of two different stages: i) the enrolment stage where the fingerprint images acquired and stored in the database. In this stage multiple impressions captured for same fingerprint stored as template in database, and ii) the authentication stage in which a query template is matched against the stored fingerprint images for identification of the authorised user. Solid state sensors widely used these days in various applications as commercial, financial and many more. These sensors sense the limited amount of ridges and furrow those there on a fingertip. So, limited amount of information can be extracted from these fingerprints in comparison to the information extracted from elaborated fingerprints. In this scenario the matching performance of the fingerprint verification system is being affected since the small overlap region between the query template and stored template results in fewer corresponding points and increases the false rejection or may accept the false image.
To deal with the above stated problem, fingerprint mosaicking scheme is being designed in which multiple impressions of same fingerprint taken as input and a composite template of fingerprint is generated that has more information of the finger tip and requires less storage space in comparison to multiple fingerprint impressions. It helps in reducing the matching time as only one template exist corresponding to single finger tip.
It has been observed by the researchers that the contact a offered by the solid state fingerprint sensors less and hence do not provide sufficient information for high accuracy during verification of user [1]. Further, if multiple impressions acquired for same finger by these sensors, the overlap region available may be very small and hence affecting the matching performance of the verification system. Fingerprint mosaicking is a method that artificially constructs an approximation of a rolled image from a series of dab images. Dabbed images those fingerprint impression that captured through sensors when the user dabs (presses) the fingertip on it [23]. Fingerprint mosaicking is the reconciliation of the information to generate a composite template [6]. Merging a number of enrolment impressions into a super-fingerprint increases fingerprint a and accounts for low quality impressions [32]. Researcher had given a method in which a finger is rolled over a fingerprint sensor that captures a sequence of images. These images easily combined into a single larger image [26]. Another method is proposed to construct a composite fingerprint image from multiple impressions that taken at different moments [15]. A fingerprint template contains the unique features of the fingerprint image and can be used for fingerprint matching. The exact composition of the fingerprint template is dependent on the algorithm used to extract the unique features.
Fingerprint Mosaicking can be classified as a) Touch-based fingerprint mosaicking: The touched-based mosaicking of fingerprint is done with the images that being collected through the sensors on which human fingers actually come in contact. Image acquisition is done when users actually swipe or roll their fingers on the sensor. The multiple images collected of the same finger then used to compose the template. b) Touchless-based fingerprint mosaicking: In this mosaicking scheme the image of 143 fingerprint is captured through contactless technology. The human finger do not comes in contact with the sensor but the technology is designed such that the image is captured through the camera (eg. CCD) and stored in the databases. This technology comes in the existence because the image acquired through touch-based system may contain noise (due to non-uniform Pressure, Dirt, Skin Conditions Etc.).

Previous Work
When multiple impressions of the same fingerprint available, one can in principle expect to make more reliable decisions about the presence or quality of fingerprint features by combining information from the samples in some fashion [34]. Algorithms that combine multiple impressions based on two main approaches: (i) mosaicking, which combine the data at the image level [26 and 31], and (ii) template synthesis, which combine the data at the feature level [34]. Different researchers have posed different algorithms to achieve the task of mosaicking of fingerprint. Ratha et al. tiled the image sequence of a rolling fingerprint grabbed by a large a scanner. They had developed a mosaicking scheme to integrate multiple snapshots of a fingerprint. The multiple snapshots acquired as the user rolls the finger on the surface of the sensor and, therefore, a specific temporal order is imposed on the image frames when constructing the composite image. The authors examines five composition schemes that stack the gray scale images together and construct a composite mosaicked image, by associating a confidence value with every pixel. They evaluate the efficacy of these schemes by observing the a and quality (in terms of the number of valid minutiae points detected) of the composite image [26]. Jain et al. found that fingerprint mosaicking is a 3D surface registration problem that can be solved using a modified the Iterative Closest Point algorithm. Authors have given 5 steps to create the template and then using the composite template for the comparison with the query image. Steps involved -i) Pre-processing the Fingerprint Image: This step removes any undesirable "salt-and-pepper" noise that may be present in the valleys of the fingerprint image. ii) Fingerprint Segmentation: The purpose of segmentation is to separate the foreground regions (that have ridge and valley information) from the background regions (that have no fingerprint information) in the image. This distinction is necessary to prevent the ICP algorithm from choosing control points in the background regions (due to the homogeneity in intensity in these regions). iii) Fingerprint as a Range Image: The intensity values directly used as range values. The planar coordinate (x; y) is treated as the range value, z, at that location. Final Transformation matrix is calculated. iv) Constructing a Composite Image: The intensity images IP and IQ integrated into a new image IR by using final transformation matrix calculated in the above step to compute the new spatial coordinate of every pixel in IP. v) Augmenting the Minutiae Sets: If MP and MQ refer to the minutiae sets extracted from IP and IQ, respectively, then a composite minutiae set, MR, is obtained by augmenting MP and MQ. The minutiae orientation, θ, is not recomputed [1]. But this algorithm does not work for non-linear deformation of fingerprints.
A hybrid algorithm given by Zhang et al. mosaick the stream of swipe fingerprint frames. Algorithm works on hybrid mosaicking scheme for the stream of swipe fingerprint frames, which uses the minimum mean absolute error as the registration criterion to find an integer translation shift that registers two adjacent swipe fingerprint frames to the nest integral pixel coordinates while the extension phase correlation method with singular value decomposition is used to get sub-pixel precision [35]. The mosaicking scheme discussed assumes no rotation, scaling and shear effects present in individual frames of the swipe fingerprint images. Due to the nature of the skin, some amount of elastic deformation is expected which is a serious drawback of the given algorithm. Another method implemented by Choi et al. tries to mosaick different parts of a fingerprint collected by having the subject roll and slide his/her finger on the surface of small a fingerprint scanner [23]. The algorithm that is being proposed for elastic deformation present in constituent fingerprints before stitching them is given by Shah et al. [31]. The researchers have proposed an algorithm called Thin Plate Splines (TPS) which is a 2D spatial generalization of the cubic spline, is an effective tool for estimating the deformation in fingerprints based on landmark points. The algorithm consists of three main stepsi) Coarse Alignment ii) Fine Alignment iii) Blending. The composite image is then enhanced in order to obtain the mosaicked template [31]. This paper focuses on removal of elastic deformation but unable to identify the best pair of images suitable for mosaicking process. In [34], Jiang et al. created and updated a super-template as the user provided new samples during verification. They assigned a weight to each minutia according to its frequency of occurrence. Depending on the weight values, spurious minutiae can fade away over time or missing minutiae can appear at some point in time. The drawback was that they simply discard minutiae having weights less than a threshold. An improvement in accuracy relative to using individual templates was reported; however, a comparison with other fusion approaches was not provided. This reported problem was overcome by Tamer et al., their approach utilizes these weights for matching [32].
Fingerprint mosaicking refers to the process of combining two or more fingerprint images into one mosaicked template such that when a query fingerprint is matched against a mosaicked template fingerprint stored in database to establish the identity of an individual, the result of matching process yields the outcome in more accurate way. Various schemes have been implemented to combine the fingerprints and make a mosaic image of it for matching procedure. Ross et al. [5] had given that mosaicing can be accomplished at two distinct levels: (a) The image level (image mosaicing), (b) the feature level (feature mosaicing). Ratha et al. [3] have developed a mosaicking scheme to integrate multiple snapshots of a fingerprint. The multiple snapshots acquired 144 Fingerprint Mosaicking Algorithm to Improve the Performance of Fingerprint Matching System as the user rolls the finger on the surface of the sensor. The authors examine five composition schemes that stack the gray scale images together and construct a composite mosaicked image, by associating a confidence value with every pixel. They evaluate the efficacy of these schemes by observing the a and quality (in terms of the number of valid minutiae points detected) of the composite image. Jain et al. [4] found that fingerprint mosaicking is a 3D surface registration problem that can be solved using a modified Iterative Closest Point algorithm. Steps involved -Fingerprint image pre-processing, segmentation of the image on the basis of foreground and background regions, and then image representation. At the end a composite image is prepd and minutiae sets augmented. But this algorithm does not work for non-linear deformation of fingerprints.
The algorithm that had being proposed for elastic deformation removal is [2]. Shah et al. had given an algorithm called Thin Plate Splines (TPS) which is a 2D spatial generalization of the cubic spline, an effective tool for estimating the deformation in fingerprints based on landmark points. This paper focuses on removal of elastic deformation but unable to identify the best pair of images suitable for mosaicking process. Choi et al. [7] had given a Recursive Ridge Mapping algorithm which eliminates erroneous correspondences and decides how well the transformation is estimated by calculating the registration error with a normalized distance map. The method consists of three phases: feature extraction, transform estimation, and mosaicking. Zhang et al. [8] had given an algorithm that is not minutiae based. The image of fingerprint captured is a stream of swipe fingerprint frames, which contiguous and sh some mutual support. The frame data then 'stitched' or 'registered' together to form a fingerprint image. Researchers had used the Pixel level and sub-pixel level both as hybrid mosaicing for constructing the final image of the fingerprint. Another existing technology for fingerprint mosaicking is touchless based mosaicking which capture the data where fingerprint do not come in contact with the sensor. Choi et al. [9] had designed a touchless system which consists of a camera and two planar mirrors. Three different views captured and mosaicked to form a single template.

Material and Methods: System Modelling
In order to design an algorithm, two impressions stitched together to generate a composite image and minutiae points then detected from the image generated after mosaicking. The image is matched with the query template and result is stored for analysis. Now a fingerprint image from database of the same finger is fetched and used for matching followed by the minutia for extraction. The result generated is stored. The outcome of both matching process is compd and will be analyzed. We have demonstrated proposed algorithm in following steps: if (abs(fullXY1(1,i)-fullXY2(1,j)) < xyrange & abs(fullXY1(2,i)-fullXY2(2,j))<xyrange) angle = abs(fullXY1(3, i) -fullXY2(3, j) ); if or (angle < pi/3, abs(angle-pi) < pi/6) num_match = num_match+1; break; Step7: Comp and store the result Get the largest matching score current_match_percent=num_match; if current_match_percent > max_percent(1,1); max_percent(1,1) = current_match_percent; max_percent(1,2) = k1; max_percent(1,3) = k2; end; Step8: Perform analysis Figure 1 shows the process of fingerprint mosaicking in terms of different blocks those correspondingly depicts the steps those followed during the process.

Experimental Results
Fingerprint mosaicking ensures design of information presented by two or more impressions of a finger in order to generate composite information. It can be accomplished by blending these impressions into a single mosaic, or by integrating the feature sets (i.e. minutiae information) pertaining to these impressions [10].
The main aim is to develop a technique which identifies stable features from the image because the existing algorithm uses the minutiae as the initial factor for mosaicking and if it is being extracted wrong then remaining procedure conducted results in wrong result .
We have traversed various journal papers and conference papers in order to analyze the material and to get a complete understanding and historical data about extraction techniques for the fingerprint mosaicking technology.
For our research work we have collected information regarding different algorithms available for extraction. Apart from this, the database according to the research a is selected on which the algorithm designed is implemented and hence a comparison can be shown between the existing algorithm and the modified or designed algorithm. To achieve this step we have collected information about the availability of the globally available data-sets on the internet. Identification of individuals is a very basic societal requirement. Fingerprint verification and identification is used as a primary technique for identifying the individual's identity.
For applying the algorithm designed we need the fingerprint database to be created and database creation is a time consuming task for any biometric system. Therefore we have used an open access database Fingerprint Verification Competition (FVC) 2002 to implement our proposed algorithm. It helps in reduction of data collection time.
FVC2002 is an open access database and has been created by Fingerprint Competition Verification team (FVC) [48].
We have designed an algorithm for fingerprint mosaicking which takes two impressions as input and stitch it together to generate a composite image and minutiae points then detected from the image generated after mosaicking. Figure  1 shows the block diagram of mosaicking process where the image is matched with the query template and result is stored for analysis. Now a fingerprint image from database of the same finger is fetched and used for matching followed by the minutiae extraction process. The result generated is stored. The outcome of both matching process is compd and will be analyzed. The Extraction algorithm takes the input as fingerprint image (mosaicked fingerprint image or non-mosaicked fingerprint image), processes the image and gives the output after detecting the minutiae points in the fingerprint image. The matching algorithm matches the minutiae sets of the two images and give the output in percentage form that how much the images similar to each other or can say the matching percentage is the output of this algorithm.
Fingerprint Mosaicking can be classified as a) Touch-based fingerprint mosaicking: The touched-based mosaicking of fingerprint is done with the images that being collected through the sensors on which human fingers actually come in contact. b) Touchless-based fingerprint mosaicking: In this mosaicking scheme the image of fingerprint is captured through contactless technology. The human finger do not comes in contact with the sensor but the technology is designed such that the image is captured through the camera and stored in the databases. This technology comes in the existence because the image acquired through touch-based system may contain noise (due to non-uniform pressure, dirt, skin conditions etc.) in the fingerprint image.
The algorithm designed will help to improve the performance of fingerprint matching system by reducing the time of matching of images as the number of fingerprint images stored corresponding to one finger tip is reduced and the overlapping region between query template and composite template is more.  . Two years after the first edition, a new Fingerprint Verification Competition (FVC2002) was organized by the authors, with the aim of determining the state-of-the art in this challenging pattern recognition application [11]. In FVC, we have used four types of databases as DB1, DB2, DB3 and DB4 based on different sensors. Each set consisting of 10*8 fingerprint images and as a total 320 fingerprint images have been incorporated during system testing. The Running time of an algorithm depends on various factors as: i. Processor of Machine ii. Read/Write speed to memory iii. 32-bit v/s 64 bit iv. Input (Rate of growth of time with respect to the input) In our research work we have focused on Input to calculate the time complexity. As far as run time is concern, it varies at different stages of processing. Working time calculation is mentioned in this section as follows: At fingerprint image loading stage run time complexity is linear i.e. O (1), since execution takes unit time. Mosaicking process increased the complexity because of loop invariant and induction variable, that become O (n 2 ). Rest all of the stages as minutia extraction, matching with template, false minutia removal have linear complexities i.e. O (1). Hence, the overall complexity of algorithm is O (n 2). As far as noise is concerned we have also eliminated false minutia during minutia extraction process, as a means of noise free system. Snapshots after implementing proposed algorithm shown in the following figures: i.e. figure 2 to 12. Figure 2 shows the design of Graphical User Interface which is important to show the images at various stages during the whole process.  Figure 4 depicts mosaicked image generation. After stitching with other image mosaicked image can be generated. After mosaicking one need to compute the image with the authentic one. So, for that purpose, mosaicked image is saved in database for future reference. Thats is shown in Figure 5. Figure 6 shows the design of another GUI for matching purpose. Figure 8 and Figure 9 shows the minutia extraction process and real minutia extraction process correspondingly. For matching phase we have set a threshold value foe image matching that is 75 %. That means if 75% portion of a captured image is matched with stored image then we are going to consider captured image as an authentic image.
1) Graphical User Interface 2) After loading the fingerprint image 3) Mosaicked Image is generated 4) Image saved in the database for matching 5) For matching another GUI is created 6) Fingerprint image is loaded for matching with query template. Before matching pre-processing of the loaded image is done. 7) Minutiae extraction 8) False minutiae that exist in the above image removed and real minutiae that helpful in matching process extracted. 9) Save the minutiae extracted image 10) Matching procedure 11) Output of matching process

Performance Analysis
In FVC, we have used four types of databases as DB1, DB2, DB3 and DB4 based on different sensors. Each set consisting of 10*8 fingerprint images and as a total 320 fingerprint images have been incorporated during system testing. Different impressions of each of these fingers are obtained over different sessions. The impressions obtained from the first session are used to construct the composite template while the impressions obtained from the second session are used as query images during the test phase of the experiment. So, 160 pairs of images are used to construct minutia templates (extracting minutia from the mosaicked image) and the rest is used as query images. During performance analysis, when the composite template is used an improved performance is observed compared to using the individual templates. We have described a fingerprint template construction technique that integrates information available in two different impressions of the same finger, by using proposed algorithm. Experiments indicate that mosaicking the impressions together and then extracting the minutia, results in a better performance of matching system. Figure 13 duly reflects the performance analysis in terms of Genuine Acceptance Rate (GAR) and False Acceptance Rate (FAR).
The Running time of an algorithm depends on various factors as: i. Processor of Machine ii. Read/Write speed to memory iii. 32-bit v/s 64 bit iv. Input (Rate of growth of time with respect to the input) In our research work we have focused on Input to calculate the time complexity. As far as run time is concern, it varies at different stages of processing. Working time calculation is mentioned in this section as follows: At fingerprint image loading stage run time complexity is linear i.e. O (1), since execution takes unit time. Mosaicking process increased the complexity because of loop invariant and induction variable, that become O (n 2 ). Rest all of the stages as minutia extraction, matching with template, false minutia removal have linear complexities i.e. O (1). Hence, the overall complexity of algorithm is O (n 2). As far as noise is concerned we have also eliminated false minutia during minutia extraction process, as a means of noise free system.

Conclusion and Future Work
This research describes and discusses the mosaicking process in order to improve the quality of fingerprint images. Proposed algorithm shows that accuracy of matching process is increased with the help of fingerprint mosaicking. This is measured in terms of False Acceptance Rate (FAR) and False Rejection Rate (FRR). We have used an open access database Fingerprint Verification Competition (FVC 2002) in our experiments. In FVC, we have four types of databases as DB1, DB2, DB3 and DB4 based on different sensors. Each set consisting of 10*8 fingerprint images and as a total 320 fingerprint images, those have been incorporated during proposed algorithm execution. In order to reduce errors of 150 Fingerprint Mosaicking Algorithm to Improve the Performance of Fingerprint Matching System various types occurred during system execution, we have reduced False Acceptance Rate. We are working on the algorithm implementation and system installation in the security system for our university. After implementing the proposed method FRR is higher while FAR is reduced as shown in figure 13. Matching percentage is increased since FAR is decreased. Since the complexity of mosaicking algorithm is O (n 2 ), it will not make any adverse impact on the performance of fingerprint identification system.