Fingerprint Identification System
Intro | Why VeriFinger? | Algorithm | Tests and specifications | Demo | Related
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
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.
Neurotechnologija has developed fingerprint
identification algorithm VeriFinger 4.2, designed for
biometric system integrators. VeriFinger has the capabilities of the most
powerful fingerprint recognition algorithms:
Receiver operating curves (ROC) obtained with four standard databases,
given in the technical specifications section, were used in The
Fingerprint Verification Competition 2004. These ROC indicate that
VeriFinger reliability is one of the best at the
- 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 30000 fingerprints per second in
1:N identification mode. To confirm these results with your samples,
please try VeriFinger evaluation program.
- VeriFinger is available as
development kit (SDK), but source code may also
be made available for developers. VeriFinger source code is written in
ANSI C, well structured and documented (source code description,
optimization techniques description, mathematical function
representation, operating samples etc).
- VeriFinger is offered for competitive
price. Developers can select from several types of SDK.
Each of these kits is intended for the specific needs, and developers
always can make an upgrade only by paying the difference between the
current and more powerful SDK.
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
- 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
- VeriFinger is fully
tolerant to fingerprint translation and rotation. Such
tolerance is usually reached by using Hough transform-based
algorithms, but this method is quite slow and unreliable. VeriFinger
uses a proprietary fingerprint matching algorithm instead, which
currently enables to match 30000 fingerprints per second and identify
fingerprints even if they are rotated, translated and have only 5 - 7
similar minutiae (usually fingerprints of the same finger have 20 - 40
- VeriFinger does not
require 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:
Please note, that VeriFinger algorithm itself provides
parameters' optimization for scanners, but does not provide interface
for scanners. Please, check out VeriFinger
4.2 SDK for more information about interface with scanners.
- DigitalPersona U.are.U family scanners;
- Identix Touch View and DFR-2090 scanner;
- Cross Match Verifier 300 scanner;
- BiometriKa FX 2000 scanner;
- Precise Biometrics 100 SC scanner;
- KeyTronis Security Desktop scanner;
- ST Microelectronics TouchChip sensor;
- Identicator Technology DF-90
- AuthenTec AES4000 and AF-S2 sensors;
- Atmel FingerChip sensor;
- BMF BLP-100 sensor;
- SecuGen Hamster scanner.
Reliability test results and technical specifications
|VeriFinger was tested
with fingerprint sets from many scanners. The most interesting
testing results are those obtained with standard databases,
because in this case they can be compared with testing results of
other algorithms. Usually the algorithm recognition quality is
expressed by receiver operating curves (ROC),
which show the dependence of false rejection rate on the false
acceptance rate. We present ROC obtained from the databases used
Verification Competition (FVC2002).
As can be seen from the ROCs, VeriFinger false
rejection rate is only 0.75 - 5% at the false acceptance
rate of 0.001%. In real applications this result is even better
thanks to the feature generalization used in VeriFinger (FVC test scheme
did not allow to include it during these tests). The other specifications
of the algorithm are presented below. These parameters have been
determined for a PC with 3 GHz Pentium 4 processor.
|Required fingerprint resolution
||> 250 dpi
|Fingerprint processing time
||0.2 - 0.4 seconds
|Matching speed *
|Size of one record in the database **
||150 - 300 Bytes
|Maximum database size
* VeriFinger 4.2,
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.
VeriFinger demo could 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
There are two demo applications available for download:
- Windows 9x/ME/NT/2000/XP application that
supports input from DigitalPersona U.are.U (U.are.U Integrator
Gold 2.3 is required), SecuGen Hamster III, BiometriKa FX
2000, Startek FM200, Tacoma CMOS, Identix DFR2090, Cross Match
V300 USB and STMicroelectronics TCRU1C scanners, LighTuning
LTT-C500, Atmel FingerChip, AuthenTec AF-S2 and AES4000
sensors, TIFF and BMP image files.
- Linux application that supports input from
AuthenTec AF-S2 and AES4000 sensors, BiometriKa FX2000,
Startek FM200, Tacoma CMOS and Fujitsu MBF200 scanners or TIFF
Sample fingerprint images can be also downloaded
for evaluation purposes.
These products are based on VeriFinger algorithm: