Detection and Management System of Digitized Images of Fingerprints

This article describes the computer system developed for the detection of minutiae in fingerprints images. The system described can perform automatic and manual extraction of important data from the fingerprints images, storing that information in the internal database. The statistical calculations, including calculations for cumulative frequency analysis, generated by the system are very important for calculating distinction rates. The system is also capable to differentiate by male or female gender, finger, fingerprint type and sector that has been divided the fingerprint.


Introduction
The main objective is developing a comprehensive management system for fingerprints digitalized images and minutiae, extracting the minutiae automatically and providing functionality to system users to make manual corrections at any time. All these operations will be recorded in the system database, which will compile the information of the minutiae and fingerprints for subsequent statistical analysis.
The second objective is to seek a complementary method for fingerprint identification by the automatic calculation of frequencies of the characteristic points. The minutiae of the fingerprint image are located by determining the number of ridges that are crossed by an imaginary line that connects each minutia and fingerprint center and also by a Cartesian grid that can generate a variable size environment defined by the user.

System Description
The system for management and minutiae recognition has been implemented as an application that lets the user interact with digital images of fingerprints of different formats, including WSQ format designed by the FBI, which is a compressed format specially dedicated for fingerprints. The application architecture is built as a main program incorporating a number of libraries where all the features of the system are implemented. There is also a connection to a database that stores information of individuals, their fingerprints stored as digital images and the minutiae extracted of the fingerprints.

Processing Digital Images of Fingerprints
The system can perform a complete processing of the fingerprint image; including a large number of filters and other operations for improving the quality of the images. It is very important that the quality of the images managed by the system is high. The fingerprint images should not be damaged and the ridges and valleys of the fingerprints should be well differentiated for a good further automatic extraction of characteristic points. Ideally, the dactylogram presents this quality from the beginning for high rates of success in extracting minutiae; otherwise the filtering functions can overcome some shortcomings of the image. Among the filtering techniques in the system are included: [1] • Gamma: The image sensor in a scanner is a linear device; the output signal is directly proportional to the illumination of what is scanned. However, the materials that are used to make screens of monitors usually are nonlinear. Typically, these materials have a lower electric return for dark signal and the opposite for clear signals. As the input voltage increases the brightness does not change similarly because it is affected by electrostatic effects, this means that if the input is a linear signal, the images on the screen are not and therefore become darker with loss of detail in the shaded areas. To lessen this effect, the monitor adjusts the input signal by raising the dark areas and lowering the light areas.
This ensures that the combination of scanner and monitor working together produces a linear effect. This process of adjusting the incoming signal is called Gamma Correction. Gamma concept is used because the brightness is proportional to the input voltage to the power of 2.5. The filtering technique included in the system performs the same operation to clear ink smudges in the fingerprints images. • Smooth: This filter repair damaged or low quality fingerprints images, softening gray boundaries of the entire image. The smoothing filter, as others used in the system, can be considered as a 2D linear filter. The filters use a two-dimensional convolution matrix whose structure is usually 3x3 or 4x4, which stores the filter coefficients. • Medium: Type filter medium is a non-linear filter which calculates the median value of the substitution of each image by the median of the values in a window surrounding. The window size is usually 5x5. This filter has been used in the system to clean the smudges from the edges of the ridges and valleys in the image of dactylogram. • Erosion: This filter enhances the darkness of the edges to try to recover the image areas where information was lost by poor finger rolling. • Dilatation: This filtering technique performs the reverse operation of the previous filter, dilates the areas corresponding to the valleys where the ink has stained these areas.
In addition to filtering operations there are other operations relating to display that allows interact with dactylogram image in different ways. These include the rotation of fingerprint image, investment of colors, performing horizontal or vertical mirror of the image and crop a part of the image, convert to grayscale, reduce or increase the number of bits per pixel, zoom in or out and view the histogram of the image among others.

Extraction of Minutiae in Fingerprints Images
A direct comparison of an image of a fingerprint to be identified against the images stored in a database would not work reliably due to its high sensitivity to errors (for example, the image noise, the damaged areas of the fingerprint images, different positions in the finger situation, different angles of orientation or distortion of the finger due to the flexibility of the skin during acquisition of the image). An advanced solution to this problem is to extract features of characteristic points or minutiae from the fingerprint image and compare these sets of features. This solution requires sophisticated algorithms for reliable processing of the fingerprint image, noise elimination, minutiae extraction, and translation and rotation tolerance. At the same time, the algorithms must be as fast and efficient as possible to ensure their use in applications with high demand.
The minutia extraction is the final process to obtain the template of the fingerprint or the biometric pattern. Extraction operations by applying sophisticated algorithms achieve the recovery of a data template; this is non reversible mathematical model with the following features: • Little memory space required, typically between 300 and 800 bytes.
• Encryption, the structure of the template ensures high security.
• Mechanisms of integration and fast search. These reasons make the extraction of minutiae is the best known method today for fingerprint identification. This is an area in which the research takes place continuously and nowadays can be performed with different techniques: • Extraction of characteristic points from the preprocessed fingerprint image: In this technique before the extraction of minutiae in the fingerprint image some preprocessing operations are performed. After preprocessing the operations for seeking to identify patterns on the image start. The extraction algorithms work with a width of the ridges of one pixel. The preprocessing of the fingerprint image allows the extraction system can work with a wide range of qualities, the disadvantage is the time expended for the preprocessing, but the use of efficient algorithms makes the task is not too expensive in time in the overall process. This is the most traditional and typical technique for performing minutiae extraction and can be improved using heuristics [2].
• Extraction of characteristic points on the image of the fingerprint in grayscale: The extraction is performed in this technique over the original image and not on the thinned image like in the previous technique. This generates more problems and makes the extraction slower, more inaccurate and more dependent on the quality of the original image. The stages of equalization, binarization, thinning and different filtering operations in the technique of extracting minutiae of the image preprocessed allow working with a set of low-quality images. In addition working directly on the grayscale fingerprint causes that a large number of false minutiae are detected and many others real minutiae will not be detected, this extraction process is not widely used [3].
• Minutiae extraction by Gabor filter bank: This is a fairly new technique and uses an extraction of the minutiae of fingerprints based on a Gabor filter bank. This technique is used to recognize automatically useful information in the channel bands of the image and separate the information into orthogonal components in spatial frequencies. This technique is fairly accurate, but the extraction rate has low results, always worse than the more classical extraction techniques [3].  Over this logical representation of the fingerprint works the neural networks to recognize patterns within the entire fingerprint image. This technique is also very affected on the quality of the fingerprint image for working on the same grayscale image. It also pays higher execution times for extraction the minutiae as shown in the following Table 1 [4]. After analyzing the different techniques of minutiae extraction the classical technique, with preprocessing of the fingerprint image, was chosen for being implemented on the system. This choice was made because the classical technique nowadays is the fastest one for extracting the characteristic points, and speed is essential target for the system. Although it may have a success rate slightly lower than other techniques, in some specific cases, because the preprocessing can cause loss of information, this decrease in precision is insignificant and the technique guarantees working with a wide range of qualities of fingerprint larger than other techniques. In addition to reducing the loss of information in preprocessing, the system allows also work on the original fingerprint image in the algorithm to check at any time if the preprocessed dactylogram is very close to the original fingerprint.
The described system is also equipped with a complete set of tools for manual editing of the minutiae of the template by the fingerprint expert to reduce the loss of information on the fingerprint image, so the system has an automatic extraction manual and minutiae.
Before the system can extract the minutiae, the user must manually enter the center of the dactylogram generating a Cartesian axes grid, typically of 0.75 mm quadrant side, because to 1 mm can be more than one minutia per quadrant [5,6] this value is configurable by the system user. The Cartesian grid is used to determine the position of the points which are extracted later. After the user selects where is located the center of the fingerprint image, the system generates a grid that differentiates those parts where there is no fingerprint image not to post these grids for the generation of statistics. To separate areas where no fingerprint peaks and valleys are located to quadrants where there are really located the mask of the fingerprint image is used. For the extraction of the mask of fingerprint the system calculates optimal gray threshold that determines which gray values belong to the bottom of the image and which ones belong to the peaks and valleys of dactylogram image.
Some operations are performed in the fingerprint image for preparing the dactylogram image for automatic extraction of minutiae; this is the preprocessing of the image. Image operations flush its imperfections, to finally get the thinned image, at this point the image is fully prepared to automatically search features that make it unique from any other. Preprocessing algorithms have been developed to improve the quality of the fingerprint image, to try to reduce the noise of the digital image without affecting the original structure of peaks and valleys, these preprocessing consists of the following stages: • Equalization process increases the contrast of the image and thus the details. • Restoration reduces the possible degradations that arise in the acquisition that can manifest as noise, loss of definition and image fidelity.
• Binarization process clearly differentiates the peaks of the valleys. The peaks are assigned to black pixels and all the other to white. • The thinning process reveals the skeleton of the image, the black lines are formed by printing the ridges as thin as possible, to have a width of 1 pixel.
After the preprocessing of the fingerprint image the system can automatically extract the minutiae, the extraction algorithm for performing this operation has two phases. First a sweep of the full preprocessed image is performed to detect those points that are candidates to be considered as minutiae and after each candidate is determined, the orientation is measured to determine the subtype (i.e. for ridge endings there are the initial, terminal, top or bottom subtypes).
The sweep that detects minutia candidate builds in each black color pixel a variable window size according to each region of the fingerprint image. This window is obtained from the preprocessed image where the width of the ridge is equal to one pixel. To calculate the size of the window in each region is determined by the amplitude between the valleys of the ridges.
Over this window a comparison of patterns is performed to determine if exists a minutia candidate. For example, in the case of ridge ending, pattern matching is driven by comparing a number of transitions of the central pixel of the window with the neighbors around it. This requires defining the concept of neighborly relations between the pixels and the number of crossings. The pixels adjacent to a pixel "A" are defined as the neighbors of "A". If the window is 5x5, as in the previous Figure 6, then you can consider three types of neighbors, the 8-neighbors, the 8-neighbors and the 24-diagonal neighbors.  • 8-neighbors of pixel "A" are represented as N8 (A (x, y)), the pixels A1, A9, A3, A13, A5, A17, A7 and A21. • 8-neighbors that are called diagonals of "A" and are represented as ND (A (x, y)), the pixels A2, A11, A4, A15, A6, A19, A8 and A23.
• 24-neighbors that are called "A" and are represented as N24 (A (x, y)), the pixels A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 , A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23 and A24.  The crossing number is defined as the total number of transitions 0-1 and 1-0 in the pixels on the periphery of a neighborhood of size NxN. Using the crossing number, it is possible to determine whether a point is a ridge ending or not. In the following Table 3, which represents the window of the previous Figure 6, there is a crossing number equal to 1 if we move around with radius 1 or 3x3 subwindow. If we move along the periphery with radius 2 also get a 5x5 crossing number equal to 2 is obtained.
In general a ridge ending will be considered potential or candidate if the system finds a crossing number equal to 2 in several radius of its window. For other morphologies of minutiae these relationships of crossing neighborhood will be different. After selecting a pixel as a ridge ending candidate the system confirms the subtype of the ridge ending (initial, terminal, superior or inferior) for performing this task the system uses the fingerprint directional image at each pixel according to the direction of every ridge of the fingerprint. The system automatically extracts eighteen different types of characteristic points, as shown in the following Table 4.
When the system has finished the extraction of characteristic points all they are marked over the original image of the fingerprint. It is possible exchange at any time from the original image to equalized, restored, binarized and thinned images of the same dactylogram image at any moment.
To identify any minutia entered manually by the user or extracted automatically by the algorithm, the system uses two main measures of position. The first is to determine the position of every minutia in the quadrant in the x and y-axis. To determine the position of a point with this technique, the system just has to plot the position of the point in absolute pixel of the fingerprint image accounting from the center of the dactylogram given the size of the grid converted to pixels.
It is not possible locate a minutia for its position of pixels in the image instead of using a Cartesian grid with a center because the same fingerprint can be captured in different times with different image sizes and with different positions and angles. This would have fatal consequences in determining the position of each point, so that there would be no way to ensure whether two characteristic points are located on the same position within the same dactylogram in different images. This is reduced using the Cartesian grid generated around the central point, although the images were displaced, the central point set by the user, could also be moved in the same level and the points would have the same position. This way of identifying the position of the minutiae also has some points against it, the most important is that the skin is flexible, depending on the pressure exerted by a finger when capturing their image ridges and valleys may be more or less wide or narrow. This can affect if the grid is so small enough that a point can be located in different quadrants according to the pressure exerted by the individual.
To overcome this disadvantage, the system also uses a way of measure completely related with the morphology of the fingerprint, thereby determining the position of a point by the number of ridges between the minutia and the center of the dactylogram. The system automatically generates an imaginary line between the location of the minutia and the central point. Traveling through the line it is possible to determine the number of ridges crossed. The system analyzes pixel by pixel if the line travels over more than one black or white pixel in the binarized image of the fingerprint, which is more reliable than using the original image grayscale.
In this way the system counts the black and white series and determines whether a series of white or black is formed by two or more pixels of that color in a row. By measuring changes between sets of black and white pixels can be determined with great accuracy the number of ridges between minutiae and the central point of the dactylogram. This positioning is used as a supplement to the previous one, since it is possible that several characteristic points are located at the same number of peaks for the central point and therefore cannot be identified, although the distribution of all points and the number of ridges to the center is unique to each fingerprint.
Other information concerning to the minutiae is stored in the system database, in addition of the position of the characteristic point; the most important data that are saved are the type of minutiae. There are not a large number of computer systems that manage and work on alternative methods that are raised in this paper. However, studies [7] which has a similar approach to the application of filters to reduce noise dactylogram image, but on the minutiae extraction using wavelet transformation in the analysis of image sub windows about the central point of the dactylogram. In the system described in this paper we decided use a classical approach of pattern matching, because it was identified the need to work with partial fingerprints where the Core Point could not be present and the range of types of minutiae to be extracted was large.
Comparative minutiae detection algorithms focus on the quality of the source image [8] indicate that the ridge valley clarity approach, as used in the system preprocessing of the image fingerprint implemented with local thinned clarity score, have the advantage of that clarity between ridges and the valleys can be calculated by counting the misclassified pixels, while the weakness is in the region of high curvature as in some points of singularity. This extraction technique is among the best success for a wide range of fingerprint image qualities.

Generation of Statistics
With the minutiae extraction data stored the system can generate a wide range of statistics that allows further study of fingerprints processed by the system to obtain relevant information to indicate whether the fingerprints vary significantly between men and women, each of fingers of left and right hands or classification of the same fingerprint. The computer application is able to generate the following statistics: 1. Graphs and tables of the frequencies of different minutiae as the number of ridges that separate them from the central point.     With these statistical tools it was performed an analysis of biometric data over more than 6.000 fingerprints with three main targets: • Calculating the frequencies of appearance of the characteristic points by morphology, orientation and location in the dactylogram. • Find out if there are significant differences in the frequency of occurrence of the minutiae between sexes, fingers, hands, fingerprint types and different areas fingerprints.
• Establish a fingerprint identification method which can calculate, for each case, the level of discrimination, thereby providing science-based response to the demands of the courts.

Conclusions and Lines of Future Work
The most important and complex process of the system is the extraction of fingerprint minutiae. This automatic process is built as a detection algorithm in the image feature points preprocessed using features automatic pattern recognition in digital images. As success rates of these automated processes are moderate, especially if dactylogram quality is not high, can be improved in future work. In addition to the characteristic points shown can be edited manually by the user and dactylogram center to make corrections if consider necessary.
The generation of stored data statistics can be considered as the ultimate goal of the system. Thus, the application offers the possibility to make statistical studies of fingerprints stored in the system to obtain important information on whether the characteristic points oscillate significantly between men and women, each of the fingers or according to their classification.
It is also possible to calculate the frequency of each of the feature points and also the cumulative frequencies of a set of selected points, the calculation to determine the rates of differentiation in fingerprint identifications. When dactylogram also is classified, allowing comparison with other fingerprints stored in the database, which shows some statistics that indicate the degree of similarity between fingerprints compared.
In the statistical analysis section with more than 6.000 fingerprints has been observed a Gaussian distribution as the location of the most frequent in each sector and large differences in cumulative frequencies depending on the morphology of the estimated points on a dactylogram. For a total cumulative frequency of 12 points selected over different fingerprints images a result frequency of 2.1438197699138006e-014, it means that there would be two fingers matching for 100 billion fingers or what is the same 1 equivalent per 5 billion people. This shows that the selection of 12 points on a dactylogram is a method of identification with high reliability and low rate of duplicity Further improvement of the automatically extraction of minutiae is recommended to have more precision, accuracy and efficiency, here is expected that the use of neural networks is the best option [10] especially in low-quality images, but is also expected that the high success rates cannot be generalized to all fingerprints, since the results are not guaranteed. The evolution of the application also goes for using it in a client-server environment with access to different users to a common database, strongly considering the security requirements for remote access [11].