Implementation of Minutiae Based Fingerprint Identification System Using Crossing Number Concept

Biometric system is essentially a pattern recognition system which recognizes a person by determining the authenticity of a specific physiological (e.g., fingerprints, face, retina, iris) or behavioral (e.g., gait, signature) characteristic possessed by that person. Among all the presently employed biometric techniques, fingerprint identification systems have received the most attention due to the long history of fingerprints and its extensive use in forensics. Fingerprint is reliable biometric characteristic as it is unique and persistence. Fingerprint is the pattern of ridges and valleys on the surface of fingertip. However, recognizing fingerprints in poor quality images is still a very complex job, so the fingerprint image must be preprocessed before matching. It is very difficult to extract fingerprint features directly from gray scale fingerprint image. In this paper we have proposed the system which uses minutiae based matching algorithm for fingerprint identification. There are three main phases in proposed algorithm. First phase enhance the input fingerprint image by preprocessing it. The enhanced fingerprint image is converted into thinned binary image and then minutiae are extracted by using Crossing Number Concept in second phase. Third stage compares input fingerprint image (after preprocessing and minutiae extraction) with fingerprint images enrolled in data-base and makes decision whether the input fingerprint is matched with the fingerprint stored in database or not.


Introduction
In the field of biometric identification, fingerprints are the most widely used biometric feature for person identification and verification. The fingerprint of every individual is considered to be unique. No two persons have the same set of fingerprints; also finger ridge patterns do not change throughout the life of an individual. This property makes fingerprints an excellent biometric identifier. Therefore it is one of the popular and effective means for identification of an individual and used as forensic evidence. In recent years, significant performance improvements have been achieved in commercial automatic fingerprint recognition systems. Biometric Systems are systems that use distinctive anatomical (e.g., fingerprints, face, iris) and behavioral (e.g., speech) characteristics, called biometrics traits, to automatically recognize individuals. The word biometrics is derived from the Greek words bios (meaning life) and metron (meaning measurement); biometric identifiers are measurements from living human body [3]. Perhaps all biometric identifiers are a combination of anatomical and behavioral characteristics and they should not be exclusively classified into either anatomical or behavioral characteristics. For example, fingerprints are anatomical in nature but the usage of the input device depends on the person's behavior. Thus, the input to the recognition engine is a combination of anatomical and behavioral characteristics. Fingerprints are the patterns formed on the epidermis of the fingertip. Fingerprints are made up of series of ridges and valleys (also called as furrows) on the surface of the fingertip and have core around which pattern like swirls, loops or arches are curved to ensure that each print is unique [3]. The interleaved pattern of ridges and valleys are the most evident structural characteristic of a Minutiae are the discontinuities in local ridge structure. They are used by forensic experts to match two fingerprints. There are about 150 different types of minutiae [7]. Among these minutiae types "ridge ending" and "ridge bifurcation" are the most commonly used as all the other types of minutiae are combinations of ridge endings and ridge bifurcations. A ridge ending is defined as the ridge point where a ridge ends abruptly [3]. A ridge bifurcation is defined as the ridge point where a ridge forks or diverges into branch ridges [3]. Some common types of minutiae are shown in Figure 1.

Related Work
Lili Liu and Tianjie Cao proposed an efficient verification system based on biometrics. In this system they have used Gabor filter based Enhancement and CN concept for Minutiae Extraction [1]. Lin Hong et al. have designed and implemented an Identity Authentication system which operates in two stages: minutiae extraction and minutiae matching. An alignment-based elastic matching algorithm is proposed for minutiae matching [9]. Manvjeet Kaur et al. proposed Fingerprint Verification System using Minutiae Extraction Technique. In this System they have introduced combined methods to build a minutia extractor and a minutia matcher. Segmentation with Morphological operations used to improve thinning, false minutiae removal, minutia marking. For this system they have used Histogram Equalization and FFT for fingerprint image enhancement and CN Concept for Minutiae Extraction [8]. F. A. Afsar et al. presented the minutiae based Automatic Fingerprint Identification Systems. The technique is based on the extraction of minutiae from the thinned, binarized and segmented version of a fingerprint image. The system uses fingerprint classification for indexing during fingerprint matching which greatly enhances the performance of the matching algorithm [5]. Ishpreet Singh Virk and Raman Maini have used histogram equalization for fingerprint image enhancement, segmentation using Morphological operations, minutia marking by specially considering the triple branch counting, branch into three terminations, an alignment-based elastic matching algorithm minutia unification by decomposing has been developed for minutia matching were implemented. The proposed alignment-based elastic matching algorithm is capable of finding the correspondences between minutiae without resorting to exhaustive search [10].
Weiping Chen and Yongsheng Gao presented a new minutiae-based fingerprint matching algorithm using phase correlation. They define a new representation called Minutiae Direction Map (MDM). First, they convert minutiae sets into 2D image spaces. Then the transformation parameters are calculated using phase correlation between two MDMs to align two fingerprints to be matched. The similarity of two fingerprints is determined by the distance between two minutiae sets [11]. Anil Jain et al. develop a matcher that utilizes Level 3 features, including pores and ridge contours, for 1000dpi fingerprint matching. Level 3 features are automatically extracted using wavelet transform and Gabor filters and are locally matched using the ICP algorithm. Their experiments on a median-sized database show that Level 3 features carry significant discriminatory information. EER values are reduced (relatively ∼20%) when Level 3 features are employed in combination with Level 1 and 2 features [12]. Thrust literature survey and review concludes that existing methods are not only facing problems of poor quality fingerprint image but also their dataset dependency.

Proposed System
In real world environment, for fingerprint identification it is not always possible to provide idle quality fingerprint image and also it not possible to provide homogeneous dataset. These major challenges in fingerprint identi- fication is accepted and overcome in proposed system. Proposed fingerprint identification system is mainly divided into three modules like fin-gerprint image preprocessing, minutiae extraction and minutiae matching as shown in Figure 2.

Fig. 2. Work Flow Diagram of Proposed Fingerprint Identification System
The input fingerprint image is processed for skeleton image by the fingerprint image preprocessing stage and subsequently processed by minutiae extraction stage for extracting minutiae using crossing number concept. After minutiae extraction stage if input fingerprint image is processed for enrollment then the skeleton image is saved as template fingerprint image in database, otherwise skeleton image is given to matching stage. In matching stage system compares skeleton image with template fingerprint images from database and make decision whether input fingerprint matched or not. The working of proposed system is as follows: Step 1: Load the input fingerprint image.
Step 2: Perform normalization on the input fingerprint image to standardize the intensity values in fingerprint image.
Step 3: Perform segmentation using Variance Thresholding method on Normalize fingerprint image to separate foreground region and background region.
Step 4: Next, enhance the fingerprint image using Gabor filter.
Step 5: After enhancement convert the image into binary image using global threshold of zero method.
Step 6: Perform thinning operation on binary image to create skeletonised version of the binary image.
DOI: 10.12948/issn14531305/18.1.2014.02 Step 7: Extract minutiae from thinned image using crossing number concept and go to step 8 if input fingerprint image is processed for enrollment otherwise go to step 9 if it is processed for identification.
Step 8: If input fingerprint image is processed for enrollment then enroll it into database.
Step 9: Use minutiae based algorithm to match input fingerprint image with all template images stored in database if matching is successful then fingerprint is identified, display information related to matched fingerprint otherwise it is not identified.
The main modules of proposed system are explained in following sections.

Normalization
In this stage normalization is performed on input fingerprint image. Normalization is used to standardize the intensity values in fingerprint image by adjusting the range of grey-level values so that it lies within a desired range of values. Let I (i, j) represent the grey-level value at pixel (i, j), and N (i, j) represent the normalized grey-level value at pixel (i, j). The normalized image is defined as [5]: where M and V are the estimated mean and variance of I(i; j), respectively, and M0 and V0 are the desired mean and variance values, respectively.

Segmentation
Segmentation is the process of separating the foreground regions in the image from the background regions. In fingerprint image the foreground regions correspond to the fingerprint area containing the ridges and valleys, which is our area of interest and background corresponds to the regions outside the borders of the fingerprint area, which do not contain any valid fingerprint information. When minutiae extraction algorithms are applied to fingerprint image due to the background regions of an image, extraction algo-rithm extract noisy and false minutiae. Therefore in this stage segmentation is employed to discard these background regions, which facilitates the reliable extraction of minutiae. In a fingerprint image, the background regions generally exhibit a very low grey-scale variance value, whereas the foreground regions have a very high variance. Hence a method based on variance Thresholding [7] is used to perform the segmentation. Firstly, the image is divided into blocks and the greyscale variance is calculated for each block in the image. If the variance of block is less than the global threshold, then the block is assigned to be a background region; otherwise, it is assigned to be part of the foreground. The grey-level variance for a block of size W×W is calculated as: where V(k) is the variance for block k, I(i, j) is the grey-level value at pixel (i, j), and M(k) is the mean grey-level value for the block k.

Fingerprint Image Enhancement
In this stage fingerprint image is enhanced using method employed by Hong et al. [7]. The configuration of parallel ridges and valleys with well-defined frequency and orientation in a fingerprint image provide useful in-DOI: 10.12948/issn14531305/18.1.2014.02 formation which helps in removing undesired noise. Gabor filters have both frequencyselective and orientation-selective properties and have optimal joint resolution in both spatial and frequency domains. Therefore, it is appropriate to use Gabor filters as band pass filters to remove the noise and preserve true ridge/valley structures.

Binarization
Most minutiae extraction algorithms operate on binary images where there are only two levels of interest: the black pixels that represent ridges, and the white pixels that represent valleys. Binarization is the process that converts a grey level image into a binary image. This improves the contrast between the ridges and valleys in a fingerprint image, and consequently facilitates the extraction of minutiae.
In this stage grayscale fingerprint image is converted into binary image using a global threshold. [4] The Binarization process involves examining the grey-level value of each pixel in the enhanced image and if the value is greater than the global threshold, then the pixel value is set to a binary value one; otherwise, it is set to zero. The outcome is a binary image containing two levels of information, the foreground ridges and the background valleys. Let I (x, y) represent the intensity value of enhanced grayscale image at pixel position (x, y). Let Tp be the threshold value. In case of fingerprint images Tp represents the differentiating intensity between the background pixels and ridge pixels. BW(x, y) represent the binary image obtained by the equation.

Thinning
In this stage thinning operation is performed on binary image to create skeletonised version of the binary image. Thinning is a morphological operation that successively erodes away the foreground pixels in binary image until they are one pixel wide [2]. A standard thinning algorithm is employed, which performs the thinning operation using two subiterations. This algorithm is accessible in MATLAB via the 'thin' operation under the bwmorph function. [2] The skeleton image is then used in the subsequent extraction of minutiae.

Minutiae Detection
The most commonly employed method of minutiae extraction is the Crossing Number (CN) concept. This method involves the use of the skeleton image where the ridge flow pattern is eight-connected. The minutiae are extracted by scanning the local neighborhood of each ridge pixel in the image using a 3×3 window. The CN value is then computed, which is defined as half the sum of the differences between pairs of adjacent pixels in the eight-neighborhood. According to Rutovitz the CN for a ridge pixel P is given by: [6] [10] where Pi is the pixel value in the neighborhood of P. For a pixel P, its eight neighboring pixels are scanned in an anti-clockwise direction as follows: puted, the pixel can then be classified according to the property of its CN value. Using the properties of the CN as shown in Table 2, the ridge pixel can then be classified as a ridge ending, bifurcation or non-minutiae point. For example, a ridge pixel with a CN of one corresponds to a ridge ending, and a CN of three corresponds to a bifurcation. where m and n denote the number of minutiae in T and I, respectively. A minutia m′j in I and a minutia mi in T are considered "matching", if the spatial distance (sd) between them is smaller than a given tolerance r0 and the direction difference (dd) between them is smaller than an angular tolerance θ0 [3].

Experimental Results
The proposed system is implemented using MATLAB 7.10 (R2010a) and tested on database which is contains total 440 fingerprint images out of which 160 images are from FVC 2000 (DB1 and DB2) [13], 160 images are from FVC 2002 (DB1 and DB2) [14] and 120 fingerprint images (size 260×300) are scanned using SecuGen Hamster plus. This scanner employs a high-performance and maintenance-free optical sensor. To evaluate the performance of proposed system FAR and FRR of proposed system are calculated. Table 3 shows the FAR and FRR of proposed fingerprint identification system. At first we have enrolled 440 fingerprint images in database, and then to calculate FRR of the proposed system we have tested the system by giving 440 input fingerprint images for identification. The system is also tested by giving 200 imposter fingerprint images as input.  Figure 4 shows experimental results of various stages in proposed system. Figure 4(a) shows original images, Figure 4(b) shows fingerprint image after normalization, Figure  4(c) shows fingerprint image after segmentation using variance Thresholding, Figure 4

Conclusions and Future Work
The performance of a fingerprint feature extraction and matching algorithms heavily depends upon the quality of the input fingerprint image. Gabor filters has both frequency selective and orientation-selective properties. It is observed that Gabor filter method of fingerprint image enhancement is giving better results. Minutiae extraction algorithm can detect all the minutiae, including both true and false minutiae, using the Rutovitz Crossing Number (CN) on the skeleton images after thinning stage. The performance of proposed system is evaluated by calculating FAR and FRR. The proposed system has 0% FAR and 0.23% FRR which shows that the accuracy of proposed system is high. The proposed system is simulated on 2.30 GHz Intel core i5 general purpose system using MATLAB 7.10. The proposed minutiae based fingerprint identification shows better performance in identifying the fingerprint, till it takes more time. The time required for detection and recognition could considerable be reduced by implementing the same system on dedicated hardware using low or middle level language such as C and C++. In future, we will try to implement the same system using C language. Also it is observed that thinning process sometime breaks the ridges which results in increasing number of false minutiae so there is scope to improve thinning algorithm so that it will reduce number of false minutiae and increase accuracy of the system.