{'fraction_non_alphanumeric': 0.031060805475125033, 'fraction_numerical': 0.008291655698868123, 'mean_word_length': 5.016231195566112, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Biometric Recognition System (Algorithm)

Fingerprints are the most widely deployed form of biometric identification. No two individuals share the same fingerprint because they have unique biometric identifiers. This paper presents an efficient fingerprint verification algorithm which improves matching accuracy. Fingerprint images get degraded and corrupted due to variations in skin and impression conditions. Thus, image enhancement techniques are employed prior to singular point detection and minutiae extraction. Singular point is the point of maximum curvature. It is determined by the normal of each fingerprint ridge, and then following them inward towards the centre. The local ridge features known as minutiae is extracted using cross-number method to find ridge endings and ridge bifurcations. The proposed algorithm chooses a radius and draws a circle with core point as centre, making fingerprint images rotationally invariant and uniform. The radius can be varied according to the accuracy depending on the particular application. Morphological techniques such as clean, spur and H-break is employed to remove noise, followed by removing spurious minutiae. Templates are created based on feature vector extraction and databases are made for verification and identification for the fingerprint images taken from Fingerprint Verification Competition (FVC2002). Minimum Euclidean distance is calculated between saved template and the test fingerprint image template and compared with the set threshold for matching decision. For the performance evaluation of the proposed algorithm various measures, equal error rate (EER), Dmin at EER, accuracy and threshold are evaluated and plotted. The measures demonstrate that the proposed algorithm is more effective and robust.


Introduction
Biometric is the science of automatically and uniquely recognizing individuals based upon one or more instinctive physical or behavioral characteristics [12]. Present day biometric systems are becoming an essential component of effective personal identification. Fingerprints are the most widely adopted tool for personal identification among all biometrics due to easily acceptance, distinctiveness and permanence. Despite the ingenious methods improvised to increase the efficiency of the manual approach to fingerprint indexing and matching, the ever growing demands on fingerprint recognition quickly became overwhelming. Therefore, fingerprint identification is one of the main motives of various research endeavors in the field of Pattern recognition over the last few decades. The principle area of fingerprint identification includes law enforcement, criminal identification, fraud prevention, and computer access etc [15]. The main purpose of biometric recognition is to minimize the degree of forgery of the desired system and to improve one or more perceptual aspects of identification, such as the quality and/or matching accuracy so that the required service will be accessed by the legitimate user only [20]. A fingerprint is a unique pattern of ridges and valleys on the surface of a finger of an individual. A ridge is defined as a single curved segment, and a valley is the region between two adjacent ridges. The classification of fingerprint is based on micro and macro features [13]. Macro features include ridge patterns like loop, whorl and arc, along with core point, delta point and ridge count. Core point is found at the center of finger image and it is the uppermost of the innermost curving ridge whereas delta point is the meeting point of two or three ridges. Micro features include minutiae, it's orientation and position. Minutiae points are the local ridge discontinuities. These are of two types namely; terminations, which is the immediate ending of a ridge and bifurcations, which is the point on the ridge from which two branches derive [1]. A good quality image has around 40 to 100 minutiae [5]. Minutiae points are used for determining uniqueness of a fingerprint. Orientation refers to the direction in which a minutiae feature appears to be moving and position implies the relative location of the minutiae. The micro and macro features are shown in Fig. 1 and Fig. 2. Fingerprint recognition system is categorized as enrollment, verification, and identification process system [14]. Enrollment includes capturing image, extracting feature, creating templates and making database. Verification authenticates a person's identity by comparing captured biometric traits with previously enrolled biometric reference template, pre-stored in the system. It conducts one-to-one comparison. Identification or Authentication recognizes an individual by searching the entire  In this paper, Fingerprint matching system based on minutiae extraction is proposed to enhance the accuracy of the biometric system degraded by elements of noise and large variability in different impressions of same finger [4]. The minutiae points are determined by cross number [8,21]. The cross number is 1 for termination points and for bifurcation points, it is 3. Our first part of the problem is to identify fingerprints based on feature extraction. After getting minutiae as feature vector in region of interest (ROI), templates of fingerprint database are created. The minimum Euclidean distance is determined and based on certain threshold, matching will be decided with the database saved templates [7]. The proposed recognition algorithm allows in finding the best tradeoff between the radius of circle, matching accuracy and the space requirements in selection of radius in a perceptive view. The paper is systematized as follows. In Section 2, the review of Pattern based fingerprint recognition method is described with its connection in fingerprint matching. In Section 3, the Minutiae based finger print recognition approach is described. In Section 4, the simulation results, performance measures and analysis of proposed algorithm is detailed. Finally, paper is concluded in Section 5.

Pattern based Fingerprint Recognition Method:
Pattern based fingerprint recognition method compares the basic fingerprint patterns (arch, loop, and whorl) between a previously stored template and a test fingerprint. The necessity of this method is that the images should be aligned in the same orientation. To do this, the algorithm detects a central point in the fingerprint image and centers on that point. In this method, the template contains the type, size, and orientation of patterns within the aligned fingerprint image. The test fingerprint image is graphically compared with the previously stored template to determine the degree of match [3]. The major disadvantage of pattern based fingerprint recognition method is that they are sensitive to proper placement of finger and need large storage for templates [7]. Several variations of pattern based fingerprint recognition method have been proposed to overcome this problem. The pattern of fingerprint [16][17][18] is shown in Fig. 1.

Minutiae based Fingerprint Recognition Algorithm
The minutiae based fingerprint recognition algorithm is relatively stable, robust to contrast, image resolutions, and global deformation as compared to pattern based fingerprint recognition method [6]. This approach is the backbone of the current available fingerprint recognition system. Fingerprint identification with minutiae extraction is mainly based on the minutiae points i.e. the direction and location of the ridge endings and bifurcations along the ridge path [11]. It reduces the complex fingerprint recognition problem to a point pattern matching problem. The proposed algorithm includes pre-processing of fingerprint image, feature extraction, post-processing and finally matching decision. Essentially, the matching consists of finding the minimum difference of distance (D ) between the saved template and the test minutiae sets having maximum number of minutiae pairings. The test fingerprint matches if (D ) is lower than the set threshold.
Step-by-step description of Algorithm: Step 1: Input the fingerprint image, f (x, y).
Step 2: Conversion of image f (x, y) into grayscale image, f (x, y).
Step 4: Enhancing image using histogram equalization and wiener filter to improve quality, degraded by noise like smudgy area, break in ridge, wounds and sweat. The histogram of a digital image with gray levels in the range [0, L-1] is a discrete function, defined as [15] h(r ) = n (1) rk Gray level, n -Number of pixels in the image.
Step 5: Finding the core point of the fingerprint image f (x, y). The image is divided into a non-overlapping blocks of size 'w' 10 x 10. The horizontal gradient 'G (x, y)' and vertical gradient 'G (x, y)' at each pixel (x, y) is computed using Sobel mask of size 3 x 3 and the ridge orientation 'θ(x, y)' of each pixel is given by [2], θ(x, y) = tan Now, ridge orientation is smoothed using Gaussian low pass filter. As singular point has the maximum curvature. so, it is located by measuring strength of the peak. Further, applying thinning followed by Morphological closing and opening to locate singular point in original fingerprint image.
Step 6: Extraction of a circle of radius 'R' with core point as centre of the fingerprint image f (x, y) to get new image f (x, y) in the region of interest (ROI) because area near singular point contains correct and efficient information about fingerprint.
Step 7: Conversion of image f (x, y) into binary image f (x, y) by thresholding [10]. Pixel value above the threshold is assigned to 1 and below to 0. Here threshold = 160.
Step 8: Applying thinning operation on the image f (x, y) to get thinned image f (x, y). Thin operation reduces width of ridges to one pixel wide.
Step 9: Extracting minutiae points (terminations and bifurcations) of f (x, y) using Cross-number (CN) concept [8]. It is computationally efficient and inherently simple. The minutiae points are extracted by scanning the local neighborhood of each pixel in the ridge thinned image, using a 3 x 3 window (Fig. 4).

Fig 4. a) 3 × 3 window b) Ridge ending and c) bifurcation
The CN value [8] is defined as half the sum of the differences between pairs of adjacent pixels, P and P in the eight neighborhood and computed by, The ridge pixel is classified as a ridge ending and bifurcation having cross-number 1 and 3 respectively. Data matrix is generated to get the position, orientation and type of minutiae.
Step 10: Post-processing to remove spurious minutiae, observed due to undesired spikes, breaks, and holes. Morphological operation [9] namely clean, spur and H-break is employed on thinned image f (x, y) to get image f (x, y) as described, Step 11: Finding true minutiae points in ROI of f (x, y) to get final image f (x, y) after removing spurious minutiae [14] in the cases, if i) distance between a termination and a bifurcation is smaller than D ii) distance between two bifurcations is smaller than D iii) distance between two terminations is smaller than D 'D' is the average distance between minutiae points. Here D = 6.
Step 12: Representation of linear distance and angle of each minutia in ROI with respect to core point in polar form. The linear distance and angle between core point ( , ) and minutia ( , ) is given by, Step 13: Taking Fourier transform of (9) and saving the Fourier coefficients in '.dat' file.
Step 14: Creation of template of fingerprint database.
Step 15: Calculation of the parameter Euclidean distance (D ) between saved template and the test fingerprint template using (7).
Step 16: Minimum (D ) is compared with the set threshold to get result whether 'match' or 'not match'. The block diagram of the minutiae based fingerprint recognition algorithm is shown in Fig. 5.

Simulation and Results Analysis:
This section presents the simulation results and performance evaluation of the proposed algorithm, minutiae based fingerprint recognition. For simulations, we have employed MATLab software as the simulation platform. For the experimental purpose, the fingerprint samples have been taken from Fingerprint Verification Competition (FVC2002) [22], which is a publicly available fingerprint database and are usually used for benchmark experiments. FVC2002 comprises of four different image sized fingerprint database, collected by four different sensors or technologies. We have employed first database (DB1) due to good quality and image size of fingerprint samples. The resolution of fingerprint image is set to 500 dpi. We have taken gray scale fingerprint image samples for processing. Each fingerprint images have different and unique characteristics and therefore present a different impact on recognition system. Thus, to achieve a good number of minutiae pairings resulting in maximum accuracy, an appropriate radius of circle is drawn and processed as seen in Table 1 To test the performance of our proposed fingerprint recognition algorithm, the objective measurements like FAR, FRR, EER, D at EER, and Accuracy have been used. A false acceptance occurs when two images from different fingers are matched, and a false rejection occurs when two images from the same finger are not matched [19]. At equal error rate, both acceptance and rejection errors are equal and it is used to compare the accuracy of biometric system. The EER is calculated using the graph between FAR and FRR versus threshold, which lies in the expected range. The calculated values of these measuring parameters have been tabulated in Table 2. Further, the step-by-step simulation results of the minutiae based fingerprint recognition algorithm is shown in fig. 6. The FAR, FRR, EER and accuracy with probability and threshold at different radius and same Fourier descriptors are shown in fig. 7. From the extensive study, it is observed that for every increase in radius of circle (discussed in this paper), the value of input feature vectors or minutiae points of fingerprint image increases and the number of minutiae points is better for fingerprint image samples to identify legitimate user. The comparative results Equal error rate (EER), D at EER, Accuracy and Threshold, shown in Table 2, is for different values of radius of circle 'R' and different values of Fourier descriptors. The accuracy gradually increases as the radius of circle 'R' increases, at the same Fourier descriptors level. This means, we can varry radius 'R' according to the accuracy as required in particular application. The EER is minimum and has slight variation for the increasing value of radius of circle. The distance, D at EER has different values for different values of radius. There is no clear relation between the radius of circle and value of D due to non coherence but the minimum possible distance is considered for comparison. The overall accuracy is better for our proposed algorithm. The simulation results of the minutiae based fingerprint recognition algorithm is shown in Fig. 6.

Conclusion
In this paper, the Minutiae based Fingerprint Recognition algorithm was implemented to deal the accuracy of fingerprint matching. For the performance evaluation of the algorithm, different thresholds are set to obtain different level of accuracy.