Human fingerprints are unique to each person and can be regarded as some sort of signature, certifying the person's identity. The most famous application of this kind is in criminology. However, nowadays, automatic fingerprint matching is becoming increasingly popular in systems, which control access to physical locations, computer/network resources, bank accounts, or register employee attendance time in enterprises.
Straightforward matching between the fingerprint pattern to be identified and many already known patterns would not serve well due to its high sensitivity to errors (e.g. various noises, damaged fingerprint areas, or the finger being placed in different areas of fingerprint scanner window and with different orientation angles, finger deformation during the scanning procedure etc.). A more advanced solution of this problem is to extract features of so called minutiae points (points where capillary lines have branches or ends) from the fingerprint image, and check matching between the sets of fingerprint features.
However, the above outlined solution requires sophisticated algorithms for reliable processing of the fingerprint image, noise elimination, minutiae extraction, rotation and translation-tolerant fingerprint matching. At the same time, the algorithms must be as fast as possible for comfortable use in applications with large number of users. 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. Though many fingerprint identification algorithms are proposed, in reality, achieving satisfactory fulfillment of all the discrepant requirements is still important problem.
In 1998 Neurotechnologija developed VeriFinger, a fingerprint identification algorithm, designed for biometric system integrators. Since that time, Neurotechnologija has released 10 algorithm versions, with the current version, VeriFinger 5.0, providing the the most powerful fingerprint recognition algorithms to date:
- Reliability. Even earlier VeriFinger fingerprint identification algorithm versions consistently have shown some of the best results for reliability in several biometric competitions, including the International Fingerprint Verification Competition (FVC2004, FVC2002 and FVC2000) and the National Institute of Standards & Technology (NIST) Fingerprint Vendor Technology Evaluation (FpVTE 2003), where Neurotechnologija ranked among the top five companies for accuracy in single-finger tests. VeriFinger 5.0 provides major reliability improvements over these earlier versions.
- Fingerprint matching speed is one of the highest among the competing identification algorithms. Fingerprint enrollment time is 0.2-0.4 sec., and VeriFinger can match 40,000 fingerprints per second in 1:N identification mode. To confirm these results with your data, please try VeriFinger algorithm demo.
- VeriFinger algorithm includes image quality determination and features generalization which can be used during fingerprint enrollment to ensure that only the best quality fingerprint template will be stored into database.
- VeriFinger is offered for a competitive price. Developers can select from several types of SDK and licensing models. Each of these kits and models is intended for specific needs, and developers always can make an upgrade by paying the difference between the current and more powerful SDK.
VeriFinger fingerprint recognition algorithm follows the commonly accepted fingerprint identification scheme, which uses a set of specific fingerprint points (minutiae). However, it contains many proprietary algorithmic solutions, which enhance the system performance and reliability. Some of them are listed below:
- Adaptive image filtration algorithm allows to eliminate noises, ridge ruptures and stuck ridges, and extract minutiae reliably even from poor quality fingerprints, with processing time of about 0.2 - 0.4 seconds (all times are given for Pentium 4, 3 GHz processor). You can look at the screenshot of VeriFinger evaluation program showing an example of initial fingerprint image (left window), and the same image after the noise filtering and processing by VeriFinger (right window), with minutiae positions and directions marked by red circles and lines.
- VeriFinger functions can be used in 1:1 matching (verification), as well as 1:N mode (identification).
- VeriFinger includes a fast template matching algorithm that is tolerant to fingerprint translation, rotation and deformation. VeriFinger's proprietary fingerprint matching algorithm allows it to match up to 40,000 fingerprints per second and identify fingerprints even if they are rotated, translated, deformated and have only 5 - 7 similar minutiae (usually fingerprints of the same finger have 20 - 40 similar minutiae).
- VeriFinger does not require the presence of the fingerprint core or delta points in the image, and can recognize a fingerprint from any part of it.
- VeriFinger can use the database entries, which were pre-sorted using certain
global features. Fingerprint matching is performed first with the database entries having global features most similar to those of the test fingerprint. If matching within this group yields no positive result, then the next record with most similar global features is selected, and so on, until the matching is successful or the end of the database is reached. In most cases there is fairly good chance that the correct match will be found already in the beginning of the search. As a result, the number of comparisons required to achieve fingerprint identification decreases drastically, and correspondingly, the effective matching speed increases.
- VeriFinger has the fingerprint enrollment with features' generalization mode.
This mode generates the collection of the generalized fingerprint features from three fingerprints of the same finger. Each fingerprint image is processed and features are extracted. Then the three collections of features are analyzed and combined into a single generalized features collection, which is written to the database. This way, the enrolled features are more reliable and the fingerprint recognition quality considerably increases.
- VeriFinger 4.2 includes algorithm modes that help to achieve better results for specific scanner. Modes are following:
- Universal
- DigitalPersona U.are.U family scanners
- Cross Match Verifier 300 scanners
- Futronic FS80 scanner
- NITGEN Fingkey Hamster and Fingkey Hamster II scanners
- SecuGen Hamster III scanner
- Testech Bio-i scanner
- Startek FM200 scanner
- Tacoma CMOS scanner
- Fujitsu MBF200 scanner
- Identix DFR-2090 scanner
- UPEK TouchChip scanners
- Digent Izzix FD1000 scanner
- BiometriKa FX 2000 and FX 3000 scanners
- AuthenTec AES2501B sensor
- AuthenTec AES4000 and AF-S2 sensors
- LighTuning LTT-C500 sensor
- Atmel FingerChip sensor
VeriFinger has been tested using fingerprint sets from many scanners. Usually algorithm's recognition quality is expressed by receiver operating curves (ROC), which show the dependence of false rejection rate (FRR) on the false acceptance rate (FAR). We present ROC obtained from the databases collected with CrossMatch Verifier 300 and DigitalPersona U.are.U 4000 scanners. These ROC also compare VeriFinger 4.2 (red and yellow curves) and VeriFinger 5.0 (green curve) algorithms reliability:
Digital Persona U.are.U 4000
Click to enlarge
Cross Match Verifier 300 LC
Click to enlarge
As can be seen from the ROC, VeriFinger 5.0 false rejection rate is only 0.3 - 1% at the false acceptance rate of 0.001%. The other specifications of the algorithm are presented below. These parameters are given for a PC with 3 GHz Pentium 4 processor.
VeriFinger 5.0 algorithm technical specifications
Required fingerprint resolution: > 250 dpi (500 dpi recommended)
Fingerprint processing time: 0.2 - 0.4 seconds
Matching speed: * 40,000 fingerprints/second
Size of one record in the database: ** 150 - 300 Bytes (configurable)
Maximum database size: Unlimited
* VeriFinger 5.0, for sufficiently large databases (500 or more fingerprints). Use with smaller sample fingerprint database, typically yields lower speed.
** Average fingerprint with image size 300 x 300 pixels.
These results were also confirmed by the tests performed by our customers.
Click to enlarge
The VeriFinger demo application for Microsoft Windows 2000/XP/2003 can be downloaded for evaluation of the VeriFinger fingerprint recognition algorithm. The application enrolls and identifies fingerprints from image file or supported fingerprint scanner, and can calculate receiver operating curves (ROC) with custom fingerprint databases. Internet connection is not required to run the application.
Sample fingerprint images can be also downloaded for evaluation purposes. |