In previous posts, we have walked through the history of the fingerprint as a method of identifying people, we have seen which are the peculiar characteristics that make them unique and ideal for that task and enumerated the scanners that technology offers us for getting fingerprints. Today at Umanick, we are going to talk about how these unique features are extracted from the fingerprint and how they are compared to a database. The methods for extracting the information from a fingerprint are two: the study of the minutiae points in relation to breaks between the undulations of the fingerprint and the study of the correlation of specific patterns of each fingerprint.

Reconocimiento de huella dactilar

Classic analysis of fingerprint. Vince Alongi with CC License.

The first one is the study of the minutiae points which locates the particular characteristics of the crests (bifurcations and terminations), assigning them XY coordinates and storing them in a file that will be used to create the template. After the scan of the fingerprint, the specific points founded are analyzed, with the use of mathematical algorithms, to then compare them with the templates stored in the database.

The second one is the study of correlations which examines the entire pattern of ridges and valleys of the fingerprint. The location of the curls, turns and arcs, as well as the direction in which they flow, is captured and stored. This information is processed and stored as an image or as an encoded algorithm, so that it can be compared later with other fingerprint records.

Storage of information

For an obvious security issue, none of the above methods directly stores the original image of the fingerprint, saving only data. In this way it is impossible to recreate the original trace, thus avoiding possible thefts or copies. The software uses a mathematical algorithm that encodes all that information extracted in a chain of characters, to facilitate its location in the database and also improving the search time.

On the other hand, to avoid fraud to the system with the use of prostheses that mimic a stolen fingerprint, many of the systems perform a blood pressure measurement or check the correct placement of the ridges on the edges of the fingers. This is called liveness detection.

Comparison of fingerprints

The matching of fingerprints is one of the most complex stages in the whole process. What usually happens is that the fingerprints to compare are not perfect; they may have suffered displacements, rotations and distortions, and even that the quality of the image capture is bad. At this time is when the comparison algorithm must demonstrate its quality and robustness against the variability in the fingerprints to be compared.

The main difficulties that a comparison algorithm finds are:

  • Displacement and rotation. The user places the finger in a different place on the sensor each time it is identified. Part of the fingerprint may be outside the capture area and, consequently, the fingerprints to be compared will not be complete or will present a smaller area in common with the real one. This problem affects sensors with a small capture area.
  • Differences in pressure or skin conditions. The capture can be different according to how we press the sensor or by the humidity, or dryness, of the skin. In addition, sweat or fat also affect the optimal data extraction.
  • Errors in the extraction of characteristics. Minutia extraction algorithms can produce false minutiae in low quality fingerprints, which can hide real minutiae.

When the acquired fingerprint is of good quality, the algorithms work mostly with great precision. However, the importance of algorithms to overcome problems when the fingerprint is of low quality is a determining factor in the success of the entire process.

This robustness of the algorithm is so important that, in fact, international competitions are held periodically in order to evaluate the performance of the fingerprint recognition systems. One example is the Fingerprint Verification Competition, which measures the speed and ability of algorithms to discern between low quality fingerprints or incomplete fingerprints.