Anda di halaman 1dari 10

Pattern Recof4nition Vol. 19, No. 2, pp. 113 122. 1986. 0031 3203 86 S30,)+ (W.

)
Pnnted in Great Britain. Pergamon Press Ltd
i 1986 Pattern Recognmon Sooet}

F IN GER P R IN T IDENTIFICATION USI NG


GRAPH MATCHING*
D. K. ISENOR and S. G. ZAKYt
Department of Electrical Engineering, University of Toronto. Toronto, Ontario, Canada, M5S IA4

(Received 20 August 1984: in revisedJbrm 8 April 1985)

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.

Fingerprint recognition Identification Graph matching Encoding

I. I N T R O D U C T I O N representation. In the next stage, image enhancement


techniques may be used to improve the quality of the
Fingerprints have been used as a means of identifying image. ~1~ Also, an attempt may be made to detect
individuals for a very long time. The early Egyptians areas of bad data, caused by dirt, cuts, scars, poor
and Chinese are known to have used them to identify inking, etc., and to repair the damage. Then, a
criminals and to record business transactions. ~1) The thresholding algorithm is applied to produce a binary
use of computers in the fingerprint matching process is image, consisting of an array of black and white pixels.
highly desirable in many applications. Examples in- In the encoding step, the image is reduced to a form
clude building security systems (2-5)and police work, In that the matching algorithms can handle. In a criminal
the latter, computers can be used to simplify the task of identification system, an optional classification step
searching large files of fingerprintsJ 6-1°~ may be included. 112-15)This is followed by a file search
Figure 1 shows the steps performed by a general- to obtain a match, or a list of potential matches. Some
purpose digital fingerprint matching system. First, systems may incorporate a verification step that
some device senses and digitizes the fingerprint, or involves a human operator.
inked card, producing a pixel array, with grey-level The matching process, whether manual or auto-
matic, is based on the identification and matching of
fingerprint minutiae. These are irregularities such as
FINGERPRINT J ridge endings and joinings, whose types and locations
are unique for every individual. In most existing
SENSING J fingerprint matching systems, the encoding step starts
with the identification ofall minutiae present in a given
I
ENCHANCEMENT
print/~ 6) by means that may not be entirely automatic.
The minutiae locations, and possibly the correspond-
ing ridge directions, are recorded relative to an x - y
ENCODING grid that is superimposed on the print. Then, matching
I is handled by an algorithm that determines the degree
of correlation between the minutiae locations and
I CLASSIFICATION directions in two prints.
The problems faced by digital matchers arise mostly
d-j from the use of an x - y grid, and from the inevitable
I FILE SEARCH MATCHING
presence of noise. The finger may be displaced, rotated,
1 stretched or compressed during fingerprinting. All
VERIFICATION

*This work was partially supported by the Natural


RESPONSE
Sciences and Engineering Research Council of Canada, under
grant No. A8994.
Fig. I. Steps taken by a general-purpose fingerprint marcher. ~"To whom correspondence should be addressed.

113
114 D.K. ISENORand S. G. ZAKY

such movements change the coordinates and direc- END2 END1


tions of the minutiae on the grid. Thus the problem of
fingerprint matching is, in fact, one of matching
deformed images, Similar to that reported in Baj-
scy. (17) Also, noise, in the form of dirt, scars, bad
inking, etc., causes loss of information or creation of END 2

false information. Matching algorithms must antici-


Fig. 3. Ridge orientation.
pate these situations and compensate for them.
This paper introduces encoding and matching algo-
rithms that are insensitive to finger orientation and unique number. The total number of pixels that
stretching, and to many types of noise. The proposed- constitute a ridge is taken as a measure of the length of
encoding scheme obviates the need for an x - y grid. that ridge. Since elastic distortion of the finger may
Instead, it uses the fingerprint ridges themselves to cause significant changes in this parameter, it is used
form an intrinsic coordinate system, relative to which only as an approximate measure during the matching
the minutiae are described. The salient aspects of the process.
proposed technique are described below. Further In the next step an ordering is assigned to the two
details can be found in Isenor. (~s) sides and two ends of each ridge. Initially, one end of a
ridge is arbitrarily chosen to be end 1, and the other
2. T H E E N C O D I N G SCHEME end to be end 2. The ordering for the two sides of the
ridge is chosen such that, starting from end 1 and
Fingerprint minutiae represent points at which progressing clockwise around the ridge, the numbers
ridges end (called endings) or at which several ridges encountered are end 1, side 1, end 2 and side 2,
intersect (called bifurcations or joinings). The scheme respectively. Thus, there are two possible orderings for
presented in this paper is based on the premise that the ends and sides of a given ridge, depending upon
minutiae locations can be encoded by describing the which end is chosen as end 1, as shown in Fig. 3. The
topological relationships of fingerprint ridges. A print choice of a particular ordering for a given ridge will be
is encoded in the form of a graph, in which nodes referred to as the orientation ofthat ridge. Initially, the
represent ridges and edges represent ridge adjacency orientation assigned to all ridges is arbitrary.
information. The resulting representation is much less In order to capture ridge-adjacency information, the
sensitive to noise, rotation or distortion than a descrip- concept of neighbors is introduced. Neighbors come in
tion involving x - y coordinates. two varieties: end neighbors and side neighbors. End
Starting with a digitized fingerprint, in which valleys neighbors are those ridges that share a common
appear as light pixels and ridges as dark pixels, a ridge- joining. Thus, referring to the example in Fig. 4, end-2
thinning algorithm t~9) is used to reduce all ridges to a neighbors of ridge R 1 are R 5 and R 6. End 1 of ridge R~
thickness of one pixel. Then, ridge endings and joinings is outside the print. Side neighbors are defined as
are identified by examining the state of adjacent pixels follows. Ridge R i is said to "see" ridge R~ as a neighbor
of each dark pixel. An example is shown in Fig. 2. An if a perpendicular emanating from some point on Ri
ending is a dark pixel that has exactly one adjacent intersects Rj without crossing any other ridge. Thus,
dark pixel, and a joining has at least three. Pixels on the ridge R 1 in Fig. 4 sees ridges R2, R 3 and R 4 as its side- 1
print boundary are not identified as endings, because neighbors and R6 and R7 as its side-2 neighbors. Ridge
different prints of the same finger will not necessarily Rs is not a neighbor of ridge R1, because no per-
have the same boundaries. It should be noted that this pendicular to R~ intersects Rs without crossing an-
processing step is simplified by the fact that ridges are other ridge. It should be noted that the neighbor
only one pixel thick, hence the need for the thinning relationship is not necessarily reciprocal. For example,
step mentioned above. Pixels that belong to the same while ridge R t sees R4 as a neighbor, R4 does not see
ridge are identified as such, and each ridge is given a R t as a neighbor. No perpendicular emanating from a
point on R 4 intersects R~.
RIDGE 1 JOINING ,,.-RIDGE2 After identifying all neighbors of a given ridge, R, the
"overlap" length is determined for each neighbor. This
o ° _ o o/. o is defined as the total length, measured in pixels, over
which each neighbor runs parallel and adjacent to

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

Fig. 4. An example illustrating side- and end-neighbors of


Fig. 2. Identification of fingerprint features. ridge R I.
Fingerprint identification using graph matching 115

ridge R. It is obtained by counting the number of pixels $1


on ridge R from which perpendiculars can be drawn to
intersect the neighbor. As in the case of ridge length,
the overlap length is regarded only as an approximate
measure.

2.1. Level numbering Fig. 6. Example of proper ridge orientation.


The idea of neighbors describes the topology in the
vicinity of a given ridge of a fingerprint. The concept of meets end 2 of the neighbor, and end 2 of R meets
levels is introduced to provide global information end 1 of the neighbor. This rule applies only to
about the location of each ridge within the print. It is neighbors not affected by rules 1 and 2, and only if
based on the observation that a fingerprint is a layered none of the ridges involved are side neighbors of
structure of ridges. Each layer, or level, is given a each other.
sequential number. Figure 5 shows a fingerprint, with The result of applying the above rules is that side I of
the levels numbered in increasing order from top to any ridge usually sees side 2 of its neighbors, as
bottom. illustrated in Fig. 6.
For the concept of levels to be useful, it must be Once all ridges have been properly oriented, level
possible to derive the level numbers in a consistent and numbers can be assigned. The main criteria used in this
repeatable way. This is accomplished by the level step are that, given a ridge R with level number L, all its
numbering algorithm. First, the orientation of all side-1 neighbors must be of level L - 1 or lower, and all
ridges is adjusted so that the direction of increasing its side-2 neighbors must be of level L + 1 or higher.
level numbers is always from.side I to side 2. Because of Also, the ridges defined in rule 3 of the orienting
the randomness of the initial selection of which side is routine given above must be at level L. The level
side 1, the orientation of some ridges may have to be numbers shown in Fig. 5 are consistent with these
reversed to satisfy this requirement. This is dealt with rules.
by the encoder in the following way. A ridge is selected The level numbers assigned to the ridges are depen-
that runs along the top or left-hand side border of the dent on the choice of the starting point. If two im-
picture. It is identified by the fact that it has no pressions of the same finger do not have the same
neighbors along one side. If that side is side 1, then all is boundaries, level numbers in the two prints will be
well; but if it is side 2, then side 1 is exchanged with side shifted relative to each other. Moreover, some inter-
2, and end 1 is exchanged with end 2, a process called mediate levels in one print may be missing in the other.
flipping. This ridge is now noted to be in its proper This effect is illustrated by the level numbers in Fig. 7.
orientation. With this ridge as a starting point, the The print in this figure corresponds to the section
following rules are applied recursively to orient the rest enclosed by the dotted-line boundary in Fig. 5. Level
of the ridges: LI in Fig. 7 corresponds to level L3 in Fig. 5, and level
Given a properly oriented ridge, R: L5 in Fig. 5 is missing in Fig. 7. It is important to note,
(1) All side-2 neighbors of ridge R that have R as a however, that although the absolute values have
neighbor on one side only are flipped, if necessary, changed, the relative positions of the levels in Fig. 7
so that that side is side 1. They are then marked as have not changed. That is, the sequence of increasing
properly oriented. levels is preserved, even though some items in the
(2) All side-I neighbors of ridge R that have R as a sequence may be lost. It is this property that makes the
neighbor on one side only are flipped, if necessary, concept of levels useful.
so that that side is side 2. They are then marked as
properly oriented. 2.2. Graph representation
(3) The first clockwise neighbor on end 2 of R, and the Having identified all ridges and their parameters, a
first counter-clockwise neighbor on end 1 of R, are directed graph representing the print is defined. Each
forced to mate with R's ends such that end 1 of R node in the graph corresponds to one ridge. An edge
emanating from node i and terminating at node j is
created whenever ridge i sees ridge j as a neighbor.

k 1.......-
/

. . . . . . . ._]

Fig. 7. Level numbering for the subarea within the dotted-line


Fig. 5. A section of a fingerprint showing level numbers. boundary of Fig. 5.
116 D.K. ISENORand S. G. ZAKV

Graph edges are labelled to indicate whether the nodes I 1


they interconnect are side neighbors or end neighbors.
For each ridge, R, the following information is also
recorded as part of the description of the correspond-
ing node in the graph:
~ ~2+3
the ridge length;
whether the ridge is complete; that is whether both
ends of the ridge appear in the print. Complete
ridges are given more importance in the matching
process; 1+2
(b) "--'TTT-'-"-~
nature of the minutiae at each end (ending or
joining). In the case of a joining the number of ridges
involved is recorded;
~\- -%
"._,~ ~ ~1,2
the clockwise order of the ridge neighbors, starting
from end 1; -- ~3+~.
the overlap length for each neighbor. Fig. 9. Repairing fingerprint defects.(a) Ridge break. (b) Ridge
The graph representation captures all the infor- join.
mation needed in the matching process. In particular,
fingerprint minutiae appear as substructures in the can be easily recognized in the graph representation of
graph. Two minutiae types and their graph represen- a fingerprint. It appears as two nodes, each with ridge
tations are given as examples in Fig. 8. Thus, the ending minutiae, that are consecutive neighbors of
fingerprint matching problem has been reduced to the another ridge. All such breaks are repaired by simply
problem of matching two graphs of the type described merging the two nodes into one, as shown in Fig. 9a.
above. The descriptive information attached to the Figure 9b illustrates a ridge join resulting from dirt
nodes and edges of the graph is used in the matching or ink forming a bridge between two ridges. Such
process, as will be explained in Section 3. First, the way defects can also be recognized from the graph repre-
in which some commonly encountered fingerprint sentation. They are repaired by breaking them. It
defects are handled is discussed. should be noted that a valid minutiae known as a
crossover may appear in some fingerprints. It results
2.3. Noise and special minutiae from two ridges crossing each other. Because of its
The graph representation provides a mechanism by rarity, a crossover is an important identification
which many fingerprint defects can be recognized and feature. Unfortunately, it is indistinguishable from a
repaired. Such defects include false minutiae intro- false join of the type shown in Fig. 9b. Since false joins
duced during the fingerprinting process, in the form of are much more common than crossovers, the safe
ridge breaks and joins. Ridge breaks are usually choice is to break all joins of this type.
ignored by human experts, because they represent Other special minutiae, such as islands or lakes, may
unreliable information. They are also deleted from the also appear in fingerprints. Such minutiae are difficult
minutiae lists generated in most existing computerized to recognize in grid-based systems: s.tS,22 241 In the
fingerprint matching systems: 8" 1~.2o. 2 ~) A ridge break proposed graph representation, they can be recognized
as specific substructures, as shown in Fig. 10, and used
to enhance the reliability of the matching process.
However, such capabilities have not been included in
the prototype implementation of the matching algo-
rithm presented below.

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

1 2 implemented on all nodes. Also, the number of end


neighbors is not used in the comparisons, because end
neighbors may be the result ofjoinings introduced by
noise.

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

considered. Thus, the partitioning step is of order


O(N2). Because of the iterative nature of the refinement
step, it has a theoretical complexity of O(N3). Similarly,
the scoring step requires the construction of up to N 2
trees, each having a maximum of N nodes. This leads
to a complexity of O(N3). In practical problems,
however, the complexity of the refinement and scoring
steps is expected to be considerably lower. In all cases
tested by the authors, the number of refinement passes
seldom exceeded two. Also, during the scoring step, the
scores for larger trees are computed from already
existing scores of smaller trees. Thus, only a few nodes
are examined while constructing a new tree. As a result,
the overall complexity of the matching process is much
closer to O(N2), where N is number of ridges in the
fingerprint.

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

T a b l e I. S c o r e s f o r all print-to-print comparisons

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.1 136 108 47 26 15 24 24 28 20 I0 16 14 15 21 23 13 II

1.2 I08 126 90 64 20 , 24 28 26 19 12 13 15 14 18 16 18 II

1.3 47 86 171 67 19 , 20 23 20 13 11 9 I1 13 19 19 20 II

1.4 26 60 67 173 44 ' 13 29 22 14 13 II II 16 II 14 10 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

2.3 31 30 18 22 16 ' 23 47 160 ' 19 13 I1 8 15 14 14 12 13


Print
number 5.1 20 19 13 14 11 17 13 15 ' 287 36 12 12 18 15 15 12 10

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

5.4 14 15 10 9 10 II 13 t2 ' 12 II I1 400 14 II 13 10 10

5.5 15 14 13 16 14 I1 8 12 ' 18 13 21 14 316 19 12 17 12

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

SUMMARY edges pointing to its closest neighbors. Identifying


information, such as ridge length and the number and
This paper introduces a new algorithm for encoding type of associated minutiae, is included in the descrip-
and matching of fingerprints. One of the problems tion of each node. The result is an encoded print with a
encountered by many existing systems for fingerprint low sensitivity to rotation and elastic distortion, and
matching is that they are highly sensitive to imperfec- with a predictable, and often repairable, reaction to
tions introduced during fingerprinting. Such imperfec- dirt, scars and other sources of noise. Defects, such as
tions include distortion, rotation and noise caused by ridge breaks and ridge joins, can be recognized as
the inking process. Because of distortion and rotation, special patterns in the graph. Lakes, islands and other
an x - y grid is not a convenient coordinate system for special minutiae can also be recognized.
describing the locations of the fingerprint minutiae. At the end of the encoding process, the problem of
The encoding scheme proposed in this paper is matching two fingerprints reduces to one of matching
based on describing the topological relationships of the corresponding graphs. The matching algorithm
fingerprint ridges. After identifying all ridges in a consists of three stages: partitioning, refinement and
fingerprint, the side and end neighbors of each ridge scoring. The first two stages are intended to reduce the
are determined. The idea of neighbors allows ridges to number of potential mappings for each node of the
be located relative to each other; the next step is to graph. A scoring scheme based on matching minutiae
locate the ridges relative to the rest of the print. The in the two graphs is then used as a measure of the
concept of levels, or layers, is used to capture this goodness of the match. A tree representing matching
information. This approach is based on the obser- nodes is grown in such a way as to maximize this score.
vation that a fingerprint is a layered structure of ridges. A number of tests of the proposed encoding and
A numbering scheme is introduced that results in a matching algorithms have been conducted by the
level number being assigned to each ridge. The neigh- authors on real-life fingerprints. They have shown that
bor information together with the level number pro- the matching algorithm correctly locates matching
vide a basis for an intrinsic coordinate system against minutiae, whenever they exist. However, the score used
which various features of the fingerprint are recorded. to indicate the goodness of a match between two prints
Each ridge is encoded as a node in a graph, with did not exhibit a sharp threshold separating positive
122 D.K. 1SENORand S. G. ZAKY

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.

Anda mungkin juga menyukai