30-07-2012, 02:07 PM
Neural Networks for Fingerprint Recognition
Introduction
The fast, reliable, and computerized classification and matching of fingerprint
images is a remarkable problem in pattern recognition that has
not, to this date, received a complete solution. Automated fingerprint
recognition systems could in principle have an extremely wide range of
applications, well beyond the traditional domains of criminal justice and,
for instance, render the use of locks and identification cards obsolete. Our
purpose here is to give a brief account of our preliminary results on the
application of neural network ideas to the problem of fingerprint matching.
In particular, we shall describe the architecture, training, and testing
of a neural network algorithm that, when presented with two fingerprint
images, outputs a probability p that the two images originate from the
same finger.
There are several reasons to suspect that neural network approaches
may be remarkably well suited for fingerprint problems. First, fingerprints
form a very specific class of patterns with very peculiar flavor
and statistical characteristics. Thus the corresponding pattern recognition
problems seem well confined and constrained, perhaps even more
so than in other pattern recognition problems.
Data Base
Although there exist worldwide many fingerprint data bases, these are
generally not available for public use. In addition, and this is a crucial
issue for connectionist approaches, most data bases contain only one image
or template per finger whereas training a neural network to recognize
fingerprint images requires that several noisy versions of the same record
be available for training. Therefore, to train and test a neural network,
one must first construct a data base of digitized fingerprint images.
Such images can be obtained in a variety of ways, for instance by digital
scanner with inked fingerprints or by more sophisticated holographic
techniques (Igaki et al. 1990). We decided to build our own collection
device, using a simple principle. The device basically consists of a prism
placed in front of a CCD (charge coupled device) camera connected to a
frame grabber board installed on a personal computer (Fig. 1). When a
finger is positioned on the diagonal face of the prism, incoming rays of
light from one of the square sides of the prism are refracted differently
depending on whether they encounter a point of contact of the finger
with the prism (corresponding to a ridge) or a point of noncontact. This
creates a pattern of bright and dark ridges in the refracted beam that can
easily be focused, with a lens, on the CCD camera and then digitized
and stored in the computer. Our resulting images are 512 x 464 pixels
in size, with 8 bits gray scale per pixel.
Preprocessing Stage
Any algorithm for fingerprint recognition may start with a few stages
of standard preprocessing where the raw images may be rotated, translated,
scaled, contrast enhanced, segmented, compressed, or convolved
with some suitable filter. In our application, the purpose of the preprocessing
stage is to extract from each one of the two input images
a central patch called the central region and to align the two central regions.
Only the two aligned central regions are in turn fed to the decision
stage. The preprocessing itself consists of several steps, first to filter out
high-frequency noise, then to compensate for translation effects present
in the images and to segment them and finally to align and compress
the central regions. For ease of description, one of the input images will
be called the reference image and the other one the test image, although
there is no intinsic difference between the two.
Results and Conclusions
We have trained the network described in the previous sections using
300 pairs of images from our data base and only two different filter types
(Fig. 5). The network performance is then tested on 4650 new pairs. The
network usually learns the training data base perfectly. This is not the
case, however, when only one filter type is used. The separation obtained
in the output unit between matching and nonmatching pairs over the
entire population is good since 99% of the matching (or nonmatching)
pairs yield an output above 0.8 (or below 0.2). The error rate on the
generalization set is typically 0.5% with roughly half the errors due to
false rejections and half to false acceptances. In many applications, these
two types of error do not play symmetric roles. It is often the case, for
instance, that a false acceptance is more catastrophic than a false rejection.
If, by changing our decision threshold on p, we enforce a 0% rate of false
acceptances, the rate of false rejections increases to 4%.