Human fingerprints are unique to each person, it stays with a person throughout his or her life and can be regarded as a sort of signature, certifying the person’s identity. Because no two fingerprints are exactly alike, this makes the fingerprint the most reliable kind of personal identification because it cannot be forgotten, misplaced, or stolen . The lines that create a fingerprint pattern are called ridges and the spaces between the ridges are called valleys. The process of identifying a fingerprint involves the comparison the pattern of these ridges and valleys which impressions on one fingerprint to those of another.
This first involves capturing the likeness of the fingerprint, either through use of a fingerprint scanner (which takes a digital picture of a live fingerprint), scanning a pre-existing paper-based fingerprint image or by pulling what is known as a “latent fingerprint” from a crime scene or other place of investigation, from which a digital image is created.
Once the fingerprint image is captured, the process of identification involves the use of complex algorithms (mathematical equations) to compare the specific features of that fingerprint to the specific features of one or more fingerprint images that have been previously stored in a database.
The most famous application of fingerprint recognition technology is in criminology. However, nowadays, automatic fingerprint matching is becoming increasingly popular in systems which control access to physical locations (such as doors and entry gates), computer/network resources or bank accounts, or which register employee attendance time in enterprises.
Straightforward matching of the to-be-identified fingerprint pattern against many already known fingerprint patterns would not serve well, due to the high sensitivity to errors in capturing fingerprints (e.g. due to rough fingers, damaged fingerprint areas or the way a finger is placed on different areas of a fingerprint scanner window that can result in different orientation or deformation of the fingerprint during the scanning procedure). A more advanced solution to this problem is to extract features of so called minutiae points (points where the tiny ridges and capillary lines in a fingerprint have branches or ends) from the fingerprint image, and check matching between these sets of very specific fingerprint features.
The extraction and comparison of minutiae points requires sophisticated algorithms for reliable processing of the fingerprint image, which includes eliminating visual noise from the image, extracting minutiae and determining, rotation and translation of the fingerprint. At the same time, the algorithms must be as fast as possible for comfortable use in applications with a large number of users.
Many of these applications can run on a PC, however some applications require that the system be implemented on low cost, compact and/or mobile embedded devices such as doors, gates, handheld computers, cell phones etc.). For developers who intend to implement the fingerprint recognition algorithm into a microchip, compactness of algorithm and small size of required memory may also be important.