)
Pnnted in Great Britain. Pergamon Press Ltd
i 1986 Pattern Recognmon Sooet}
Abstract--A new algorithm for automated fingerprint encoding and matching is presented. The algorithm is
intended to be insensitive to imperfections introduced during fingerprint registration, such as noise.
distortion and displacement. A fingerprint is represented in the form of a graph whose nodes correspond to
ridges in the print. Edges of the graph connect nodes that represent neighboring or intersecting ridges. Hence
the graph structure captures the topological relationships within the fingerprint. The algorithm has been
implemented and tested using a library of real-life fingerprint images.
113
114 D.K. ISENORand S. G. ZAKY
o o o o o o
• o - ~ o
o o
/o o
o
o o
A0o o
o
o
o
o
~'- E N D I N G
k 1.......-
/
. . . . . . . ._]
3. MATCHING
The purpose of the matching algorithm is to deter-
mine whether two graphs represent the same finger-
print. Although much work has been done in the
area of graph isomorphism (25 28~ the basic methods
developed are not directly suitable for fingerprint
matching problems as defined above. This is because
SIDE NEIGHBOUR
available methods assume simple graph forms in
END NEIGHB:).R-- -
which nodes and edges contain no descriptive infor-
Fig. 8. Examples of fingerprint minutiae and their graph mation. Also, most graph matching algorithms define a
representation. match as being a perfect one-to-one mapping of one
Fingerprint identification using graph matching 117
3.2. Refinement
At the end of the partitioning step, each node in
J 2 ~ graph G A has anywhere from 0 to N nodes in graph Gn
• t-
as potential matches. The refinement step attempts to
decrease the number of nodes in each partition.
Ideally, there should be only one node in each partition
for a match, or none in any partition for a non-
match. To reduce the size of partition ai, the neighbors
of node a~ are compared with the neighbors of each
node bj in its partition. A mapping between a~ and bj is
retained only if the side neighbors of ai map onto the
corresponding side neighbors of bj. The refinement
Fig. 10. Special minutiae and the corresponding graph process is applied to all nodes in graph GA, and is
structure. repeated until no more nodes can be eliminated from
any partition.
graph to another. This is an unattainable goal when
During the refinement step, neighbors on each side
matching fingerprints, where each graph may have
of a ridge are considered separately. A mapping is
missing or extra nodes. Hence, the result of the
eliminated only if there is disagreement on both sides.
matching process should be some measure of the
If a mapping is eliminated due to a disagreement on
'goodness' of the match, not simply a yes or no
one side only, then a single error at a single node can
response.
propagate in successive iterations and cause many
Consider two graphs G A and GB, having nodes a~,
mappings to be eliminated. The requirement that a
a2.....a M and b 1, b2..... b N, respectively. In this section
mismatch exist on both sides before a mapping is
a matching process is described, which comprises three
eliminated increases the algorithm's tolerance to noise.
steps: partitioning, refinement and scoring. In the
partitioning step, all nodes in GB that are potential
matches for each node in GA are identified. Next, the re- 3.3. Scoring
finement pass reduces the number of possible match- At the end of the partitioning and refinement steps, a
es by examining the neighbors of the nodes involved. given node in graph GA may still map onto several
Finally, the scoring pass chooses those remaining nodes in graph G B. The scoring pass chooses a single
node-to-node matches that maximize the match score. node from each partition, such that no node is used
twice, and such that a score measuring the goodness of
the match is maximized.
3.1. Partitionin 9 Let us assume that node b~has been chosen from the
In the first step, a partitioning array, P, that has M a~ partition as a possible good match for node a~. We
rows and N columns is created, where M and N are the shall use the notation (a~, b~) to indicate this mapping.
numbers of the nodes in the two graphs G,t and Ga, Using a~ and bj as roots, a tree is traced in each graph.
respectively. Element P~j in the array is True whenever While tracing each tree, node l may be included as a
node bj is a possible match for node a~. Thus, each row son of node k only if node k has node I as a neighbor,
of P describes a partition of graph G a. Initially, all and if the level number of node I is higher than that of
elements of P are True. The value of P~j becomes False node k. Thus, each tree may grow only in the direction
if: of increasing level numbers. The two trees for the (a i, b j)
mapping are grown in parallel in the two graphs. As
(l) The corresponding ridges differ in length by more
they grow, they must be identical; that is, if a node in
than 30~,i. The 30~o margin allows for differences
the a~ tree has three sons, the same must be true for the
due to elastic distortion and any measurement
corresponding node in the bj tree, and each son node in
errors.
the a~ tree must map onto the corresponding son in the
(2) The numbers of neighbours on corresponding sides
bj tree. When the two trees have grown to the
of the ridges differ by more than one. The plus-or-
maximum size possible under these rules, a score is
minus-one condition allows for differences due to
calculated and assigned to the (al, b j) mapping. The
noise, which may devide one ridge into two, thus
score is based on the number and type of minutiae that
introducing extra nodes in the graph.
have been matched by the two trees.
Recall that some nodes are incomplete; that is, the Since trees grow in the direction of increasing level
corresponding ridges are not fully in the image. Thus, numbers, a tree starting at a node having the highest
the comparisons described above cannot be fully level number will consist of only one node. These trees
118 D.K. ISENORand S. G. ZAKV
4. EXPERIMENTALRESULTS
Fig. 11. A sample fingerprint image used in the experimental The encoding and matching algorithms presented
investigation. Print No. 1.
above were tested using a small library of digitized
prints obtained from the R.C.M.P. headquarters in
are grown first. Then trees are grown with roots at Ottawa. Figure 11 shows one of the prints used. This
successively lower levels. Trees with low numbered picture has been reproduced on a high resolution
roots will grow to include the smaller trees, for which screen from the digitized form. It consists of
the scores are already available. Thus the score for a 1536 x 1536 pixels, each represented by 8 bits of grey
new tree is calculated simply by adding the scores of scale information. Several overlapping windows were
the subtrees it consumes. It is possible that, in some extracted from each print, with each window contain-
cases, more than one tree can be grown starting at a ing 512 x 512 pixels. Figure 12 shows three such
given node as a root. In such cases all possible windows extracted from the print of Fig. I I. In the
alternatives are evaluated, and the tree yielding the subsequent discussion, each window will be identified
highest score is chosen. by a number of the form x- y, where x is the number of
When all possible trees have been grown, the one the original print, and y is the number of the subarea.
producing the highest score is selected as the final tree. A representative sample of the windows extracted
If more than one tree has the same high score, then the from the fingerprint images is given in Fig. 13. The
one using the fewest nodes is selected as the best. Since fingerprint of Fig. 11 has an arch structure. Those of
trees may not grow backwards, some nodes may not be Fig. 13 include an arch, two whorls and a loop.
included in the final tree. Small trees incorporating Chiralo's thresholding algorithm ~ 1~ was used to
these nodes are grown after the main tree has been reduce the images to an array of black and white pixels.
completed. If the new trees intersect the main one, they A simple two-dimensional low-pass filter was then
are merged with it. The resulting score is taken as a used to reduce each window to a 128 × 128-pixel
measure of the degree to which the two fingerprints array. A pixel in the reduced array is dark if the
match each other. majority of the pixels it replaces in the original image
are dark. The ridges were thinned to a one-pixel width
using a modified version of Deutsch's algorithm/~gJ
3.4. Computational complexity Each window was matched against itself and against
Consider the problem of matching two images, each every other window. The scores obtained for each of
having P x P pixels and representing a fingerprint these matches are given in Table 1. The scores along
that has N ridges. During the encoding process, the the diagonal of the table represent windows matched
number of times pixel information is examined or against themselves. As expected, these scores are the
modified is small and fixed. Hence, the computational highest in the table. The scores enclosed by the dotted
complexity of the encoding algorithm is of the order rectangles represent matches between windows ex-
O(P2). tracted from the same print. As the distance from the
The matching phase is a graph isomorphism prob- diagonal increases, the amount of overlapping area
lem, whose general case is known to have non- decreases, thus decreasing the number of matching
polynomial (NP) complexity. However, because of the minutiae. This is correctly reflected in the match
additional information associated with the graph scores.
nodes and edges, the complexity of the proposed Those scores falling outside the dotted rectangles
heuristic algorithm is substantially lower. During the represent matches between windows taken from differ-
matching process, there are N 2 mappings to be ent fingerprints. Of interest are the scores for matches
Fingerprint identification using graph matching 119
Fig. 12. Examples ofwindows extracted from the print in Fig. 12. Window No. 1.1. Window No. 1.2. Window
No. 1.3.
between windows 1.1 to 1.5 and windows 2.1 to 2.3. small scores for good matches are:
Fingerprints number 1 and 2 represent two separate
(1) Insufficient image size. In some cases, less than 15
registrations of the same finger, and should therefore
valid minutiae were present in a window. This is a
produce relatively high scores when matched against
very small number of minutiae to work with for
each other. Unfortunately, while this is the case, it is
matching purposes, even for a human expert.
only marginally so, There is no clear dividing line
(2) Small overlap. The offset from one window to
between the scores for matches of similar windows and
another was often large enough to reduce the
those for dissimilar windows.
number of matching minutiae to a very small
A more detailed examination of the results of each
number.
match showed that the tree building algorithm de-
(3) Poor image enhancement. Very little image pro-
scribed in Section 3.3 has correctly identified the
cessing was performed on the original prints. As a
matching areas of the two prints, whenever they
result, a considerable amount of noise was present.
existed. However, because of a combination of factors
a clear separation between the scores of good and bad Despite the above difficulties, the tree building algo-
matches was not possible, except in the cases of rithm was able to correctly identify matching minu-
identical graphs. A m o n g the factors that have lead to tiae. Hence, the absence of a well defined threshold in
120 D.K. ISENORand S. G. ZAKY
Fig. 13. Sample windows showing a variety of ridge structures. Window No. 2.3. Window No. 5.2. Window
No. 6.2. Window No. 7.1.
the match scores is most likely a result of the way in this paper uses the topological relationship among
which the scores are computed. This is currently being ridges as a means for encoding fingerprint information.
investigated. As a result, the encoding scheme is highly tolerant of
The software for the encoding and matching algo- distortion, rotation and translation of the fingerprint
rithms has been written in Euclid, and the above image.
tests were run on a VAX-780 computer. The average The tests conducted by the authors have shown that
encoding time for each window was 16.2 CPU seconds, the matching algorithm correctly locates matching
with a minimum of 12.7s and a maximum of 19.5s. areas, whenever they exist. However, the score used to
The matching stage took between 33.5 and 237 s, with indicate the goodness of a match between two prints
an average of 90 s. No comparable results are available did not exhibit a sharp threshold separating positive
to the authors at the present time to enable a from negative matches. At least in part, this has been a
meaningful comparison with the performance of other result of using small windows, containing very few
matching techniques. minutiae. It is hoped that the ability of the encoding
scheme to identify special minutiae and repair many
5. C O N C L U S I O N types of noise can be used to improve the score profile.
The fingerprint matching algorithm presented in This is currently being investigated.
Fingerprint identification using graph matching 121
Print n u m b e r
I.I 1.2 1.3 1.4 1.5 2.1 ..". ~ . 2.3. . 5.1 . 5.2
. . '~. ~ . 5.4 '~ '~ 6.1 6.2 6.3 7.1
1.3 47 86 171 67 19 , 20 23 20 13 11 9 I1 13 19 19 20 II
1.5 15 20 19 44 168 15 15 14 II 13 14 10 14 14 14 10 9
2.1 24 24 20 13 15 83 17 19 , 17 14 7 9 I1 14 12 I[ II
24 28 23 29 15 , 17 113 43 ' 13 9 11 13 8 I8 18 I4 7
5.2 14 16 II 13 13 14 6 13 36 403 14 II 12 I1 13 18 14
5.3 16 13 9 II 14 12 II II , 18 13 315 12 35 I0 20 9 10
6.1 21 18 19 11 14 14 18 II 15 II 10 9 19 , 197 88 35 9
6.2 23 16 19 14 14 12 18 14 15 13 10 11 12 88 216 30 9
6.3 13 18 20 10 10 11 15 II 12 14 9 10 17 35 30 172 10
7.1 11 II II II 15 11 10 10 10 14 II l0 12 9 9 I0 367
from negative matches. At least in part, this has been a Univ. of Kentucky, Lexington, Kentucky, pp. 213-220
result of the small print areas used in the test. Also, very (1973).
little pre-processing was carried out to improve the 13. T.Ch. Malleswara Rao. Feature extraction for fingerprint
classification. Pattern Recognition, g, 181-192 (1976).
quality of the images. The ability of the proposed 14. C. B. Shelman. Fingerprint classification--theory and
encoding scheme to identify and repair different types application, Proc. 1976 Carnahan Conf. on Crime Coun-
of noise can be used to improve the score profile. This termeasures. Univ. of Kentucky, Lexington. Kentucky,
is currently being investigated. pp. 131-138 (1976).
15. V. K. Singh, L. Gyergyek and N. Pavesic, Feature
recognition and classification in fingerprint patterns,
Proc. 1977 Carnahan Conf. on Crime Countermeasures.
REFERENCES Univ. of Kentucky, Lexington, Kentucky, pp. 241-248
1. Fingerprints. Royal Canadian Mounted Police, Ottawa, (1977).
Canada. 16. T. L Chang, Texture analysis ofdigitized fingerprints for
2. J.L. Muerle, C. W. Swonger and C. J. Tona, EDP security singularity detection. Proc. 5th Int. Conf. on Pattern
through positive identification, Proc. 1974 Carnahan Recognition. Miami, Florida, pp. 478-480 (1980).
Conf. on Crime Countermeasures, Univ. of Kentucky, 17. R. Bajscy, Matching of deformed images, Proc. 6th Int.
Lexington, Kentucky (1974). Conf. on Pattern Recognition. Munich, Germany, pp.
3. C.H. Bean and J. A. Prell, Personal Access Control, Proc. 351-353 (1982).
1977 Carnahan Conf. on Crime Countermeasures, Univ. of 18. D. K. Isenor, New algorithms for encoding and match-
Kentucky, Lexington, Kentucky, pp. 15-17 (1977). ing fingerprints by computer, M.A.Sc. Thesis, Univ. of
4. Lt. J. Woodard, Lt. J. Nelson. Lt. J. Ferrante and J. Toronto, Toronto, Ontario, Canada (1984).
Maier, Automated entry control: RADC technology 19. E. S. Deutsch, Thinning algorithms on rectangular,
development results and future plans, Proc. 1981 Car- hexagonal and triangular arrays, Comm. Ass. comput.
nahan Conf. on Crime Countermeasures. Univ. of Ken- Mach. 15 (9), 827-837 (1972).
tucky, Lexington, Kentucky, pp. 77-82 (1981). 20. J. P. Riganati, An overview of algorithms employed in
5. R. G. Bradley, Performance estimates for personnel automated fingerprint processing, Proc. 1977 Carnahan
access control systems, Proc. 1981 Carnahan Conf. on Conf. on Crime Countermeasures, Univ. of Kentucky,
Crime Countermeasures. Univ. of Kentucky, Lexington, Lexington, Kentucky, pp. 125-131 (1977).
Kentucky, pp. 23-27 (1981). 21. C.W. Swonger, Applications of fingerprint identification
6. M. Eleccion, Automatic fingerprint identification, Spec- technology to criminal identification and security sys-
trum, pp. 36-45, Sept. (1973). tems, Proc. 1973 Carnahan Conf. on Crime Counter-
7. D. H. McMahon, G. L. Johnson, S. L. Teeter and C. G. measures, Univ. of Kentucky, Lexington, Kentucky, pp.
Whitney, A hybrid optical computer processing tech- 190-212 (1973).
nique for fingerprint identification, IEEE Trans. Comp. 22. J.H. Wegstein, J. F. Rafferty and W. J. Pencak, Matching
24 (4), 358-369 (1975). fingerprints by computer, National Bureau of Standards
8. K. Millard, An approach to the automatic retrieval of Technical Note 466, U.S. Government Printing Office,
latent fingerprints, Proc. 1975 Carnahan Conf. on Crime Washington, D.C. (1968).
Countermeasures, Univ. of Kentucky, Lexington, Ken- 23. J. H. Wegstein, Automated fingerprint identification,
tucky, pp. 45-51 (1975). National Bureau of Standards Technical Note 538, U.S.
9. P. K. Shizume and C. G. Hefner, Jr, A computer Government Printing Office, Washington, D.C. (1970).
technical fingerprint search system, Proc. 1978 Carnahan 24. J. H. Wegstein, The M40 Fingerprint Marcher, National
Conf. on Crime Countermeasures. Univ. of Kentucky, Bureau of Standards Technical Note 878, U.S. Govern-
Lexington, Kentucky, pp. 121-129 (1978). ment Printing Office, Washington, D.C., July (1975).
10. T. K. Lindh, F. A. Ford and N. A. Boudreaux, An 25. D. H. Ballard and C. M. Brown, Computer Vision.
automated fingerprint retrieval system, Proc. 1981 Car- Prentice-Hall, Englewood Cliffs, NJ (1982).
nahan Conf. on Crime Countermeasures, Univ. of Ken- 26. R. C. Read and D. G. Corneil, The graph isomorphism
tucky, Lexington, Kentucky, pp. 71-75 (1981). disease, J. Graph Theory 1,339-363 (t977):
l 1. R.P. Chiralo and L. L. Berdan, Adaptive digital enhance- 27. D. G. Corneil, Graph isomorphism, Ph.D. Thesis, Tech-
ment of latent fingerprints, Proc. 1978 Carnahan Conf. on nical Report No. 18, Dept ofComp. Sci., Univ. of Toronto,
Crime Countermeasures. Univ. of Kentucky, Lexington, Toronto (1970).
Kentucky, pp. 131-135 (1978). 28. J. E. Hopcroft and J. K. Wong, Linear time algorithm for
12. C. B. Shelman and D. Hodges, A decimal Henry system, isomorphism of planar graphs, Sixth Annual A C M Syrup.
Proc. 1973 Carnahan Conf. on Crime Countermeasures, on Theory of Computing. Seattle, May (1974).
About the Author--DONALD K. ISENORholds a B.Sc. degree from the Technical University of Nova Scotia
and an M.A.Sc. degree from the University of Toronto, both in Electrical Engineering. He is currently with
CEMCORP, Toronto, Canada.
About the Author--SAFWAT G. ZAKYis a Professor in the Department of Electrical Engineering, University
of Toronto. His research interests are in the areas of computer architecture, computer hardware and
computer communications. Prior tO joining University of Toronto, he was with Bell Northern Research,
Bramalea, Ontario, Canada, where he worked on applications of electro-optics and magnetics to mass
storage and telephone switching.
Dr. Zaky holds a B.Sc. in Electrical Engineering and a B.Sc. in Mathematics, both from Cairo University.
He obtained his M.A.Sc. and Ph.D. degrees in Electrical Engineering from the University of Toronto. He is a
member of IEEE and of the Association of Professional Engineers of Ontario.