GB1577797A - Fingerprint identification method and apparatus - Google Patents

Fingerprint identification method and apparatus Download PDF

Info

Publication number
GB1577797A
GB1577797A GB25961/77A GB2596177A GB1577797A GB 1577797 A GB1577797 A GB 1577797A GB 25961/77 A GB25961/77 A GB 25961/77A GB 2596177 A GB2596177 A GB 2596177A GB 1577797 A GB1577797 A GB 1577797A
Authority
GB
United Kingdom
Prior art keywords
file
minutiae
fingerprint
fingerprints
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
GB25961/77A
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Calspan Corp
Original Assignee
Calspan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Calspan Corp filed Critical Calspan Corp
Publication of GB1577797A publication Critical patent/GB1577797A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V10/7515Shifting the patterns to accommodate for positional errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Collating Specific Patterns (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Description

(54) FINGERPRINT IDENTIFICATION METHOD AND APPARATUS (71) We, CALSPAN CORPORATION, a Corporation of the State of New York having its offices at 4455 Genesee Street, Buffalo, New York 14221, United States of America, do hereby declare the invention, for which we pray that a patent may be granted to us, and the method by which it is to be performed, to be particularly described in and by the following statement:- The present invention relates to a method and apparatus for searching through a file of encoded fingerprints for the fingerprints whose minutiae are most similar to that of the inquiry fingerprint.
Fingerprints consist of a pattern of lines corresponding to the pattern of epidermal ridges and valleys on the fingers. The points where the ridges end or fork are called minutiae and are considered to uniquely identify individuals. The X and Y location of minutiae and their angles, 0, relative to a co-ordinate system can be encoded and stored as digital information as described in our U.K. Patent No.
1,452,810. A fingerprint identification system based on minutiae matching must determine whether a set of minutiae from a query or "search" print matches any one of the sets of minutiae on file. Many existing minutiae-matching processes require that the co-ordinate systems relative to which the.co-ordinates of the search and file minutiae are measured be in angular alignment, or in "registration" so that the X and Y location of a minutiae on one print is similar to the X and Y location of the same minutiae on a matching print. However, the major source of minutiae data is from automatic fingerprint card reading equipment whose coordinate systems are aligned with the card edges, not the fingerprint on the card.
Consequently, the problem in a minutiae matching process is to automatically position the minutiae data, for example the search minutiae data in relation to the file minutiae data so that the co-ordinate system of the search and file minutiae are in angular alignment. The problem is particularly acute for prints whose patterns do not have easily identified features which can be used for alignment; e.g. arches.
Also, for partial or latent prints, positioning of the co-ordinate system as described may be impossible.
With the foregoing in mind we provide in accordance with the invention, a method of locating from a file of fingerprints that fingerprint which has a predetermined degree of match with a search fingerprint under investigation, which method includes providing from the search fingerprint sets of data representing respectively for each of a plurality of minutiae of the search fingerprint, the disposition, relative to a first pair of co-ordinate axes, of each minutiae, providing from each of a plurality of file fingerprints, sets of data representing respectively for each of a plurality of minutiae of at least a portion of each respective file fingerprint, the disposition, relative to a second pair of coordinate axes for each respective file fingerprint independent of the first or any second pair of co-ordinate axes, of each minutiae independently of the disposition of the other said minutiae, comparing, for each of the said file fingerprints, each said set of data representing the disposition of each minutia of the search fingerprint with each said set of data representing the disposition of each minutia of the said at least a portion of the file fingerprint to derive a plurality of sets of comparison data, and on the basis of the statistical distribution of the sets of comparison data for each of the said plurality of file fingerprints, selecting one or more file fingerprints having a predetermined degree of match with the search fingerprint.
Additionally we provide a device for comparing fingerprints and selecting ones with a high degree of matching with a given search fingerprint, which includes means specially adapted to receive encoded data representing respectively for each of a plurality of minutiae of the search fingerprint, the disposition, relative to a first pair of co-ordinate axes, of each minutia, to receive from each of a plurality of file fingerprints, sets of data representing respectively for each of a plurality of minutiae of at least a portion of each respective file fingerprint, the disposition, relative to a second pair of co-ordinate axes for each respective file fingerprint independent of the first or any second pair of co-ordinate axes, of each minutia independently of the disposition of the other said minutiae, to compare for each of the said file fingerprints, each said set of data representing the disposition of each minutia of the search fingerprint with each said set of data representing the disposition of each minutia of the said at least a portion of the file fingerprint to derive a plurality of sets of comparison data, and on the basis of the statistical distribution of the sets of comparison data for each of the said plurality of file fingerprints, to select one or more file fingerprints having a predetermined degree of match with the search fingerprint.
The procedure may be repeated with prints from other fingers, and the relevant fingerprint files.
In the practice of the invention, for determining whether two sets of minutiae data are from the same fingerprint, the two sets of X, Y and 8 minutiae data from two fingerprints are loaded into two separate data buffers. One buffer constitutes the "search" buffer and the other buffer constitutes the "file" buffer. Pairs of "file" and "search" minutiae are sequentially loaded into a sub-assembly, as hereinafter described, which computes the extent of lateral and angular displacement of the search print co-ordinate system necessary to register the search minutiae over the file minutiae. This procedure is repeated for every possible combination of search minutiae and file minutiae. If there are N, search minutiae and N, file minutiae, the total number of computations would be NsxN.
For each computation involving two sets of minutiae, data; i.e. search and file minutiae data, three registration parameters, X" Y, and 8, are generated. These parameters are used to address a third data file called a "histogram" file. This file has an address corresponding to every possible expected combination of X" Y, and Or, where the units of X" Y, and Or are so chosen to occur at predetermined intervals within a range which extends over the maximum extent of displacements and rotations expected.
Each time a particular combination of registration parameters X" Y, and Or occurs it is counted. Each combination of registration parameters may be viewed as a data cell in the histogram file. At the start of a comparison or "matching" process, the count at each location or cell in the histogram file is set to zero. As the process proceeds, with each computation of registration parameters X" Y, and Or, the histogram file is addressed and the count in the associated cell is increased by one each time that registration parameter is registered.
When the matching process has been completed, the histogram file is examined to find the locations or cells with the highest counts. In conducting the matching process, if the search and file minutiae data compared are from nonmatching prints, the registration parameters will tend to be more or less uniformly distributed over many different locations or cells of the histogram file. If the search and file minutiae compared are from matching prints, then the registration parameters for the matching minutiae will be all nearly the same and will tend to all fall in a small number of locations or cells in the histogram file. Thus, there will tend to be a cluster of locations in the histogram file that have higher counts for matching prints than the rest of the locations that contain registration parameters from non-matching prints. Standard cluster-finding techniques can be used to locate the cluster of locations with the highest total count. For example, the histogram file may be searched to find the cluster of locations which have contiguous registration parameters X" Y, and Or and that have the highest total count for any Nh contiguous locations where Nh is a selectable number such as 10.
This maximum total count is a measure of the degree of match of the two fingerprints. The minutiae data for the file prints may be stored in a disk memory or on magnetic tape and, under the control of a small minicomputer, selected segments of the disk or tape may be read by the matcher and compared with the minitiae data for the search prints.
Objects and advantages of the invention will become apparent from the following disclosure of embodiments of the invention described with the aid of the accompanying drawings, in which: Figure 1 illustrates the descriptors of a ridge ending; Figure 2 illustrates the descriptors of a valley ending; Figure 3 is a representation of the location of a minutiae on a file card; Figure 4 is a representation of the location of a minutiae on a search card; Figure 5 is a flow diagram of the matching process; Figure 6 is a representation of Figure 4 superimposed on Figure 3 and oriented to match minutiae; Figure 7 is similar to Figure 6 and illustrates the derivation of the transformation equations; Figure 8 is a histogram of the three-dimensional registration parameter space; Figure 9 is a geometric interpretation of a cluster of registration parameters in a histogram cell;; Figure 10 is a generalized flow diagram of the registration-invariant matching procedure; Figure 11 is a block diagram of the fingerprint identification system; Figure 12 is a block diagram of the hardware minutiae matcher of Figure 11; Figure 13 is a block diagram of the arithmetic unit and threshold circuit of Figure 12; Figure 14 is a block diagram of the comparator and address storage of Figure 12; and Figure 15 is a block diagram of the comparator of Figure 14.
The operation of the minutiae matching process will be best understood if considered first in terms of a manual matching operation as will now be described.
Figures 1 and 2 illustrate how a ridge ending and a valley ending or bifurcation are encoded. Figure 3 represents a file minutiae from a file print located at X=Xf, Y=Yf. The minutiae (X,, Y,) represents the end or bifurcation of a ridge and is represented by a circle having a tail extending in the direction of the ridge or valley ending. Figure 4 represents a search minutiae from a search print located at X=Xs, Y=Y . Also shown in Figure 4 is the point (Xb, Yb) which is called the bench mark.
The location of this point is a parameter of the matching process and is a fixed constant. It is to be understood that a file print and a search print will contain many minutiae and that only one has been shown in Figures 3 and 4 for purpose of disclosure.
The matching process can be described in terms of six steps as illustrated in Figure 5. The first step consists of a plurality of computations of pairs of file minutiae and search minutiae. One such computation is illustrated in Figure 6 wherein the search print of Figure 4, for example, is superimposed on the Figure 3a file print, and oriented as shown in Figure 6 so that the minutiae, Xs, Y8, is superimposed on the minutiae Xf, Y, with their tails extending in the same direction.The counterclockwise angle through which the search print must be rotated to achieve superposition is represented ,a,. The point (X" Y,) in the file coordinate system directly under the "benchmark" (Xb, Yb) on the search co-ordinate system, together with the angle r' are sufficient information to completely describe the registration or orientation of the search print relative to the file print so that the search and file minutiae are in juxtaposition in both position and angle.
The registration parameters X, Y, and , which position a search minutiae over a file minutiae can also be defined mathematically instead of graphically. In terms of Xs and Ys, and X, and Yf, the X and Y locations of the search and file minutiae respectively, os and 8,, the angles of the search and file minutiae respectively, the registration-defining parameters X" Y, and ,u, with the aid of Figure 7, can be calculated from the following equations:: X,=XF-(X,-X,) cos ,u,+(Y,Yb) sin r Y,=Y,-(X,-X,) sin CL,-(Y,-Y,) cos ,u, 4 fas Step 1 of the matching process of Figure 5 consists of performing the above described registration process using either a manual or a mathematical method (the hardware of Figure 12 hereinafter described being used for the mathematical method) on all different possible pairs of search and file minutiae. If there are Ns search minutiae and N, file minutiae, then there are NsxNf such computations. The registration parameters Xr, Yr and jElr are stored for each computation in a list.
Once all computations have been completed and the registration parameters have been stored in the list pursuant to Step 1, Step 2 of the matching processes is started. Steps 2, 3, 4, 5 and 6 consist of processing the list of X" Y, and r registration parameters stored in Step 1. The computations for those file and search minutiae pairs, derived from matching search and file prints, will result in similar registration parameters and form a tight cluster, the existence of which is tested in the remaining Steps of the matching process. The number of computations which resulted in registration parameters in the cluster is a measure of the degree to which the search and file prints match.The location of the cluster; I.e. the nearly equal values of the registration parameters which occur repeatedly, provides angular registration information which can be used in conjunction with high confidence matching algorithms in a general purpose minicomputer.
A process which implements the above objectives is described below.
The registration parameters X" Y, and ur may have a range of values divided into a group of adjacent non-overlapping intervals constituting cells. Each interval or cell represents a location that can be given a unique code number. A histogram of a three-dimensional registration parameter space made up of intervals or cells is shown in Figure 8.
For example, three code numbers may be used for labeling a cell in a histogram as illustrated in Figure 9. Thus, the registration parameters Xr Y, and , resulting from each computation in Step 1 can be assigned three code numbers which indicate which intervals the X" Y, and ,u, for that computation fell in, or stated differently, which histogram cell contains the registration parameters. Step 2 of the matching process consists of determining the number of the histogram cell in which the computation in Step 1 fell in.
The third step is to count the number of times each set of three code numbers occurred in the list. At the end of this process, it would be known, for example, that no registration parameter sets had the code number 0, 0, 0, two parameter sets had the code number 0, 0, 1, and so forth.
In the fourth Step, the cell counts established in the preceding step are used to determine the location of the histogram cell to be called the center of the cluster of registration parameters, if it exists. There are many ways to accomplish this function. A simple method is to locate the histogram cell with the highest count, such as is illustrated in Figure 9. A modification, for example, is to locate the cell whose count when summed with one half the sum of the 26 cell counts in the immediate neighborhood (those whose code numbers differ by no more than 1) is the highest.
In Step 5, the cluster about the center cell is "scored". That is, a number is developed which indicates the degree two prints match. The score should reflect the number of registration parameters about the center. Again, there are many ways to achieve this function. One method is to divide the largest count by the geometric average of the number of file and search minutiae. A second method is to sum the counts of each of 27 cells at or adjacent to the center cell and subtract from that sum 27 times the 10th largest cell count over the histogram.
In Step 6, the single set of three registration parameters Xc, Yc and ss which will be said to best represent the registration of the search print upon the file print is then determined as a secondary result of the matching process for later use. A simple method is to take the midpoint of the intervals of the cells with the highest count as the registration parameters. Other methods taken into the calculations the count weighted registration parameters of the histogram cells adjoining the cell termed the center to take into account that the cluster may straddle two or more cells.
A simple process to implement the registration-invariant matcher is shown in Figure 10 and is described as follows.
A double loop is established to sequence the index I (the search minutiae) and the index J (the file minutiae) so that all possible pairs (1, J) of search and file minutiae will eventually be accessed.
Within the innermost loop, computations are performed on the Jth file minutiae and Ith search minutiae. More specifically, the registration parameters Xrl" Y,,j and rI required to register the Ith search minutiae over the Jth file minutiae are computed. For example, if X,jj and Y,,, are each allowed to assume 32 states then the number of words of memory as hereinafter described, would be 32x32=1024. Accordingly, if X"; or Yrii is outside the range of, for example 0 to 1024, or if , is outside the range, for example, -60 to +60 degrees, no more processing is done.Otherwise, the parameters are used to address a cell in a three dimensional histogram (as shown in Figure 8) which is incremented by one. After all pairs of search and file minutiae have been considered, the largest histogram cell count is a measure of the degree of matching.
The equations used in the registration-invariant matching algorithm (RIM) to compute the registration parameters needed to register the ith search minutiae over the jth file minutiae were given previously as: X"j=Xfl(XslXb) Cos (0fl9si)+(Ys,Yb) Sin (zOfli9,,) Y,,,=Y,-(X,,-X,) Sin (OfiOaI)(YsiYb) Cos (H" 9sl) Mril=0flosl The registration parameters for each matching minutiae pair should form a cluster in parameter space which is detectable by cluster finding techniques. The size of the cluster is not a function of print registration; the number of matches in the cluster is.
The before mentioned process is capable of taking two fingerprints in any orientation and developing a "registration" matching score indicating the degree the two prints match. The process is not a perfect measure of the degree two prints match due to print distortion and histogram discreteness. For file prints whose matching score exceeds a threshold, a more discriminating matching algorithm can be utilized. Because the matching process generates the registration parameters defining how the search print minutiae should be translated in position and angle to align with the file print minutiae, the search print can be translated digitally. This enables matching algorithms which are not registration invariant to be used.
In Figure 11, the numeral 20 generally designates a minicomputer. A small, commercially available unit with no high-speed or large memory requirements would be suitable since a 32,000 word core would be adequate for a 200,000 card file. A teletypewriter 10 is a standard console unit with a keyboard for entering data and a typewriter for printing results. Data entered into the teletypewriter 10 is communicated to minicomputer 20 via line 13 and the output of minicomputer 20 is communicated to teletypewriter 10 via line 12. A minutiae-encoding console 16 which consists of an opaque copy projection system, a data digitizer tablet and a teletypewriter is connected to minicomputer 20 via lines 18 and 19.A hardware minutiae matcher 26 which is capable of computing a matching score from the minutiae for two prints in several milliseconds is connected to the minicomputer 20 via lines 22, 23 and 24 for communicating matching scores from matcher 26 to the minicomputer 20 and for communicating from the latter search and file print minutiae data and classification to the hardware matcher 26. Mass storage device 30 which may include magnetic tape cartridges or the like is connected to minicomputer 20 via lines 28 and 29.
When the system of Figure 11 is installed, the disk-packs or other magnetic storage units contained in the mass storage deveice 30 contain fingerprint minutiae data and the minicomputer 20 is programmed, the operation would be as follows: 1. An inquiry card would first be manually classified using the extended secondary Henry classification system or any other equivalent system so that each category should have no more than about 300 entries. The classification, entered manually into the system by the keyboard of teletypewriter 10 (or by means of minutiae encoding console 16), will specify to the system which segment, or segments in the case of partial prints, of the stored data file in mass storage device 30 will be searched for possible matching cards.
2. The card will then be positioned in the projection area of minutiae-encoding console 16 so that a magnified projection of, for example, fingerprint #1, is visible on a ground-glass table surface which forms a part of minutiae-encoding console 16.
3. The X and Y position of approximately 40 minutiae in a circular region centered on the print "center point" are encoded. Encoding is performed by moving a small positionable device (pen, scribe or cursor), such as GRAPH/PEN which is marketed by Science Accessories Corporation, Southport, Conn., about the table surface upon which the fingerprint is projected. A grid or spiral pattern may be superimposed on the magnified fingerprint to assist in systematically encoding the minutiae as the pen is moved about, the exact position of the pen being determined via pressure operated transducers. When the pen is depressed the instantaneous X and Y positions of the pen and therefore the position of the minutiae can be transferred to the minicomputer 20. By "encoding" preselected grids at the edge of the screen, the operator may encode selected data under program control.The minutiae angles o are encoded by entering a second point for each minutiae. The X, Y and 8 coefficients of the selected minutiae are stored in the minicomputer 20 until selected parts of the print are completely encoded.
4. The encoded minutiae or minutiae set stored in minicomputer 20 as a result of Step 3 is then matched by means of hardware minutiae matcher 26 against all file prints of the same finger number in the same classification bin, or if a latent print is involved that is not classifiable, the print is matched against all prints on file in the mass storage device 30. The card identification numbers of the cards with the highest matching scores are stored in a list in the minicomputer memory. Typically, 100 card numbers would be stored.
5. Steps 2 through 4 are repeated for the remaining four fingerprints of the right hand. Fewer fingers can be used in some applications.
6. The card identification numbers which appear in (typically) three of the five lists are presented to the operator on the teletypewriter console 10. These cards can then be obtained from the card file for final human verification.
The above procedure indicates one way of processing the outputs of the system to select the candidate fingerprint cards for subsequent human verification by the fingerprint technician. Additional processing can be performed in the general purpose minicomputer 20 to reduce the number of fingerprint cards requiring human checking. For example, angular registration information, which is an inherent by-product of the system, may be used to enable the use of highconfidence matching algorithms in the general purpose minicomputer 20. These algorithms run relatively slowly, typically one print per second, but they do allow a trade-off between computer time and technician time.
An overall view of the hardware minutiae matcher 26 which matches the minutiae set of prints to be identified against the file prints in the mass storage device 30 is illustrated in Figure 12. Matcher 26 is composed of file registers 36 and 38 which may be implemented in either shift registers or random access memory, a high speed arithmetic unit 46 which is capable of performing the required computations to predeterminedly orient the search minutiae in relation to the file minutiae as shown in Figure 6, a thresholding circuit 70, random access memory 80 and adder 84 for generating a histogram of potential matching minutiae and comparator and address storage registers 90 for storing the memory locations containing the cells with the ten largest number of points in the histogram.By having all processing and computations performed serially, hardware requirements, assembly time and package size will be minimized.
Hardware minutiae matcher 26 receives a first input from mass storage device(s) 30 via minicomputer 20 and lines 24. This input representing X, Y and 0 file print minutiae information is supplied as an input to data selector gate 32. Gate 32 is connected via lines 33 and 34 with file registers 36 and 38, respectively, which are in turn connected to select gate 43 via lines 40 and 41, respectively, and select gate 43 is connected to arithmetic unit 46 via line 45. Although lines 24, 33, 34, 40, 41 and 45 are represented as single lines, they transmit X, Y and H minutiae information and in actual practice are each made up of three lines.The minutiae data from the file prints are loaded into either file register 36 or 38, but both will be used with selection between them via gate 32 so that one register can be loaded with minutiae data for the next file print while data from the previous print is being processed. File minutiae data (X,, Yfl, 0n) will then be received by data selector gate 32 from mass storage device 30 via lines 28, minicomputer 20, lines 24 and will be transmitted to select gate 43 either via lines 33, file register 36 and lines 40, or via lines 34, file register 38 and lines 41. The output of gate 43 (Xn, Yfl, Of) representing the file minutiae is communicated to arithmetic unit 46 via lines 45.A second input signal derived from the search print is supplied from minicomputer 20 to minutiae matcher 26 via lines 23 and provides a first input to gate 48 and represents the search minutiae data (X,;, Y,l, flus) The output of gate 48 is supplied to search register 50 via line 49, the search register showing the search minutiae data. The output of search register 50 (X51, Y,l, Os;) is supplied via lines 52 and 53 to provide a second input to arithmetic unit 46 and a feedback, second input, to gate 48. Lines 23, 49, 52 and 53, although represented by single lines, like other lines represented as carrying X, Y and H information, would be made up of three lines in actual practice. The arithmetic unit 46 processes the inputs supplied via lines 45 and 53 and produces outputs (Xrlj, Yrii, rii) which are supplied to lines 56, 57 and 58, respectively, and are represented by the equations Xr@@=X@@-Xsi cos rij+Ysi sin rij Yr@=Yfi-X@@ sin rij-Ysi cos rij rij=#fj-#si where Xfl, Yfj, #fj and X51, Ysl, 05, represent the file and search print respectively. (It is assumed that the search minutiae co-ordinates Xs, and Ysl are relative to an XY co-ordinate system whose origin is at the "center of gravity" of the set of search minutiae and the bench marks Xb, Yb are both zero).
The outputs (Xrij, Yrij, uri) of arithmetic unit 46 represent to what extent the search print must be rotated to match the file print and are supplied as inputs to address register 81 which is the address input of random access memory 80 and are supplied via lines 56, 57, 58, 60, 61 and 62 to thresholding circuit 70 and are supplied via lines 56, 57, 58, 87, 88 and 89 to comparator and address store 90.
Thresholding circuit 70 receives reference signals MX, MY and My via lines 64, 65 and 66, respectively, and compares them with the computed values of Xrij, Yrij and uru If the absolute values of signals Xrij ,Yriandurii are each less than or equal to MX, My and Mu, the thresholding circuit 70 will generate a pass signal which will be supplied to random access memory 80 via line 72. The values of Xrij, Yrlj and ur that satisfy the constraints imposed by the thresholding circuit 70 provide unique address locations for random access memory 80. The thresholding circuit 70 thereby guarantees that excessively large values of Xrii, Yrij and ur will cause the data to be discarded instead of stored in an erroneous location, i.e. cell in the histogram.
Random access memory 80 will operate in the split cycle (read-modify-write) mode. Each time a location of the memory 80 is addressed by Xril, Yrij and S l the contents are read and incremented by "1" by adder 84 being rewritten back into memory 80 via lines 85 and 86. Each combination of Xri, Yr" and ,urj, as previously noted can be thought of as representing one cell of a three-dimenslonal histogram and an entry is made into a cell of the histogram each time that cell is addressed.
This is pictorially represented by the circles in Figure 8. The size of memory 80 is dictated by the number of unique cells in the histogram and is the product of the number of discrete values of Xrii, Yrij and rij.If Xrij and Yrij are each allowed to assume 32 states, and jurll is segmented into 15 slices of 8 degrees each, then the number of words of memory required would be: 32x32x15=15,360 words Hence, a 16,000 word memory 80 would be suitable for matcher 26.
The output of adder 84 is delivered as an input to comparator and address storage register 90 via lines 85 and 86. A record of the ten (Xdi: Yri, rij) locations or cells containing the largest number of entries is determined and stored by comparator and address storage registers 90. With each update of the histogram (access to memory 80) the number of points in the cell is compared to the smallest value in the comparator and address storage register 90. If the new value is larger, the smallest stored value in register 90 is replaced by the new value. After all combinations of minutiae data from the search print have been processed, or matched, against all file prints in the appropriate classification bin, the contents of the comparator and address storage registers are read into minicomputer 20.
Minicomputer 20 causes the final output data from the hardware minutiae matcher 26 to be displayed by teletype 10. The address register 81 is comprised of standard flip-flops with one flip-flop used for each bit in Xrlj, Yrij and uri Address register 81 is used to supply the addressing information for the random access memory 80. The random access memory 80 provides storage for the histogram information generated during the matching process. This memory can be core, bipolar or MOS as long as it is compatible with the operating speed of the system. Word addressing is provided by address register 81. As previously indicated, the memory is operated in a read-modify-write cycle with initiation of the cycle being in response to a signal received via line 72. During the read portion of the cycle, data appears at data path, or line, 83.During the write portion of the cycle, data is supplied to the random access memory 80 via data path 86.
Operation of the Arithmetic Unit and Thresholding Circuit of Figure 12 More Specifically Shown in Figure 13 The equations of Xrii, Yrij and yrll for a set of file and search prints can be solved by the high speed arithmetic unit 46 in a time period not exceeding one microsecond. The outputs of gate 43 X Y, and 0", are supplied via data paths 45a, 45b and 45c, which together make up line 45, to provide first inputs to adders 160 and 161 and subtractor 102, respectively, of arithmetic unit 46.Similarly, the outputs of search register 50, X51, Y., and @si, are respectively supplied via data paths 53a and 53a' as first inputs to multipliers 104 and 108, via data paths 53b and 53b' as first inputs to multipliers 106 and 110 and via data line 53c as a econd input to subtractor 102. The output of subtractor 102, rij, is supplied to line 58 and via lines 58, 112, 114 and 116 to provide inputs to function generators 118 and 119, respectively. The output of function generator 118, cos FUrli is supplied via lines 121, 122, 123 and 124 to provide second inputs to multipliers 104 and 110 and the output of function generator 119, sin ,uril, is supplied via lines 126, 127, 128 and 129 to provide second inputs to multipliers 106 and 108.The output of multiplier 104, Xsl cos y"l, and the output multiplier 106, Y., sin and jUrijs are supplied via lines 132 and 133, respectively, to subtractor 136 which supplies a second input, via line 138, to adder 160 which in turn produces an output, Xrii, which is supplied to line 56. The output of multiplier 108, Xsi sin rij, and the output of multiplier 110, Ysl cos , are supplied via lines 140 and 141, respectively, to adder 144 which supplies a second input, via lines 146, to adder 161 which in turn produces an output, Yrij, which is supplied to line 57.
The outputs of arithmetic unit 46, Xrij, Yrl; and "1 are supplied as first inputs to comparators 170, 180 and 190 of thresholding circuit 70 via lines 60, 61 and 62, respectively. Reference signals, MX, My and My, are supplied via lines 64, 65 and 66 to supply second inputs to comparators 170, 180 and 190, respectively. The computed values of Xrlj, Yrij and ril supplied to comparators 170, 180 and 190 are compared against the fixed values MX, My and My and the results of the comparisons are supplied via lines 175, 185 and 195, respectively to AND gate 198.
If the outputs of comparators 170, 180 and 190 are supplied to AND gate 198 indicate that Xrij#|MX|, Yrij#|MY| and rij#|M |then a pass, or cycle initiate, signal will be generated and supplied to line 72 which is connected to random access memory 80.
Operation of the Comparator and Address Storage Registers of Figures 14 and 15 Referring to Figure 14, the address storage 210 of comparator and address storage registers 90 provides storage for the 10 cells with the largest number of points in them. The number of points in each of the 10 cells in address storage 210 are supplied to comparator 214 via line 212 (which is actually ten lines, 212a#i, as shown in Figure 15). The address of the cell having the smallest count is supplied to address storage 210 by comparator 214 via line 213. Comparator 214 supplies the smallest count, via line 216, as a first input to comparator 218. The new values supplied via line 86 and 200 as a first input to gate 202. Lines 87, 88 and 89 supply the Xrjl, Yrij and jUrli information, respectively, to gate 202.If comparator 218 indicates that the value on line 86 is larger than that on line 216, comparator 218 supplies a signal to gate 202 via line 220. In response to a signal supplied via line 220, gate 202 supplies the signals of lines 86, 87, 88 and 89 to address storage 210 via lines 204, 205, 206 and 207, respectively. Thus, the smallest cell in address storage 210 is replaced with the new value from random access memory 80 via line 86 and the new address, Xrl" Yrii and ,,,, from arithmetic unit 46 via lines 87, 88 and 89, respectively. If comparator 218 indicates that the value on line 86 is equal to or smaller than the value on line 216, gate 202 is not enabled and no change takes place in the contents of address storage 210.
After the matching sequence has been completed, in accordance with the sequence shown in Figure 10 with the hardware of Figure 12, the addresses of the 10 largest cells can be read from address storage 210 via data path 22 by minicomputer 20.
The operation of the comparator 214 can best be understood with reference to Figure 15. The number of points (or counts) in each of the 10 cells in address storage 210 are supplied to comparators 241-245 of comparator 214 via lines 212a#j and to gates 251-255 via lines 212a7! and 212a'-/'. The outputs of comparators 241-245 are supplied via lines 246-250 to gates 251-255 and via lines 246-250 and 246'-250' to decoder 285. The outputs of gates 251 and 252, respectively, are supplied via lines 258 and 259 to comparator 260 and via lines 258' and 259' to gate 262.The output of comparator 260 is supplied via line 261 to gate 262 and via lines 261 and 261' to decoder 285. The outputs of gates 253 and 254, respectively, are supplied via lines 264 and 265 to comparator 266 and via lines 264 and 265' to gate 268. The output of comparator 266 is supplied via line 267 to gate 268 and via lines 267 and 267' to decoder 285. The outputs of gates 262 and 268, respectively, are supplied via lines 271 and 272 to comparator 274 and via lines 271' and 272' to gate 276. The output of comparator 274 is supplied via line 275 to gate 276 and via lines 275 and 275' to decoder 285. The outputs of gates 276 and 255, respectively, are supplied via lines 277 and 278 to comparator 280 and via lines 277 and 278' to gate 282.The output of comparator 280 is supplied via line 281 to gate 282 and via line 281 and 281' to decoder 285.
In the operation of comparator 214, the number of points in each of the 10 cells in address storage 210 are initially supplied in pairs to comparators in a degression producing the least number of points in the 10 cells as an output of gate 282 and which is supplied as a first input to comparator 218 via line 216. The outputs of each of the comparators is supplied to decoder 285 to identify the cell having the least number of points. Decoder 285 provides the address of the cell having the least number of points to address storage 210 via line 213.
Although a preferred embodiment of the present invention has been illustrated and described, other changes will occur to those skilled in the art. For example, it will be obvious that the implementation of the hardware minutiae matcher depends on its functions. The matching of the fingerprints may take place in two stages with the first stage being a coarse, but rapid, testing of the file fingerprints to identify candidate file prints followed by a slower, more exacting processing of the previously identified file prints to reduce the number of candidate file prints for further/manual processing. The size of the area of the fingerprints encoded and/or the number of minutiae encoded may be varied. The minutiae-encoding console 16 may include a TV camera and monitor.It is therefore intended that the scope of the present invention is to be limited only by the scope of the appended claims.
WHAT WE CLAIM IS: 1. A method of locating from a file of fingerprints that fingerprint which has a predetermined degree of match with a search fingerprint under investigation, which method includes providing from the search fingerprint sets of data representing respectively for each of a plurality of minutiae of the search fingerprint, the disposition, relative to a first pair of co-ordinate axes, of each minutia, providing from each of a plurality of file fingerprints, sets of data representing respectively for each of a plurality of minutiae of at least a portion of each respective file fingerprint, the disposition, relative to a second pair of coordinate axes for each respective file fingerprint independent of the first or any second pair of co-ordinate axes, of each minutia independently of the disposition of the other said minutiae, comparing, for each of the said file fingerprints, each said set of.data representing the disposition of each minutia of the search fingerprint with each said set of data representing the disposition of each minutia of the said at least a portion of the file fingerprint to derive a plurality of sets of comparison data, and on the basis of the statistical distribution of the sets of comparison data for each of the said plurality of file fingerprints, selecting one or more file fingerprints having a predetermined degree of match with the search fingerprint.
2. A method according to Claim 1 in which the said data representing the disposition of the minutiae includes for each respective minutia the Cartesian coordinates of location and the orientation of that minutia relative to the said set of co-ordinate axes respective to the fingerprint from which the said minutia comes.
3. A method according to Claim 1 or 2, wherein the relevant fingerprint file for each of the other fingers under investigation is similarly processed.
4. A method according to any one of the preceding claims, wherein in comparing each of the minutiae of the search fingerprint with each of the minutiae of at least a portion of the file of fingerprints there is generated a set of registration parameters for each pair of search and file fingerprint minutiae compared, generating a histogram indicating the results of each comparison of minutiae pairs from the search fingerprint and the file fingerprint by recording in which cell of the histogram the registration parameters of each comparison fall, determining the number of registration parameters falling within each histogram cell; locating the histogram cell which best represents any resulting cluster of histogram cells
**WARNING** end of DESC field may overlap start of CLMS **.

Claims (10)

**WARNING** start of CLMS field may overlap end of DESC **. lines 246-250 and 246'-250' to decoder 285. The outputs of gates 251 and 252, respectively, are supplied via lines 258 and 259 to comparator 260 and via lines 258' and 259' to gate 262. The output of comparator 260 is supplied via line 261 to gate 262 and via lines 261 and 261' to decoder 285. The outputs of gates 253 and 254, respectively, are supplied via lines 264 and 265 to comparator 266 and via lines 264 and 265' to gate 268. The output of comparator 266 is supplied via line 267 to gate 268 and via lines 267 and 267' to decoder 285. The outputs of gates 262 and 268, respectively, are supplied via lines 271 and 272 to comparator 274 and via lines 271' and 272' to gate 276.The output of comparator 274 is supplied via line 275 to gate 276 and via lines 275 and 275' to decoder 285. The outputs of gates 276 and 255, respectively, are supplied via lines 277 and 278 to comparator 280 and via lines 277 and 278' to gate 282. The output of comparator 280 is supplied via line 281 to gate 282 and via line 281 and 281' to decoder 285. In the operation of comparator 214, the number of points in each of the 10 cells in address storage 210 are initially supplied in pairs to comparators in a degression producing the least number of points in the 10 cells as an output of gate 282 and which is supplied as a first input to comparator 218 via line 216. The outputs of each of the comparators is supplied to decoder 285 to identify the cell having the least number of points. Decoder 285 provides the address of the cell having the least number of points to address storage 210 via line 213. Although a preferred embodiment of the present invention has been illustrated and described, other changes will occur to those skilled in the art. For example, it will be obvious that the implementation of the hardware minutiae matcher depends on its functions. The matching of the fingerprints may take place in two stages with the first stage being a coarse, but rapid, testing of the file fingerprints to identify candidate file prints followed by a slower, more exacting processing of the previously identified file prints to reduce the number of candidate file prints for further/manual processing. The size of the area of the fingerprints encoded and/or the number of minutiae encoded may be varied. The minutiae-encoding console 16 may include a TV camera and monitor.It is therefore intended that the scope of the present invention is to be limited only by the scope of the appended claims. WHAT WE CLAIM IS:
1. A method of locating from a file of fingerprints that fingerprint which has a predetermined degree of match with a search fingerprint under investigation, which method includes providing from the search fingerprint sets of data representing respectively for each of a plurality of minutiae of the search fingerprint, the disposition, relative to a first pair of co-ordinate axes, of each minutia, providing from each of a plurality of file fingerprints, sets of data representing respectively for each of a plurality of minutiae of at least a portion of each respective file fingerprint, the disposition, relative to a second pair of coordinate axes for each respective file fingerprint independent of the first or any second pair of co-ordinate axes, of each minutia independently of the disposition of the other said minutiae, comparing, for each of the said file fingerprints, each said set of.data representing the disposition of each minutia of the search fingerprint with each said set of data representing the disposition of each minutia of the said at least a portion of the file fingerprint to derive a plurality of sets of comparison data, and on the basis of the statistical distribution of the sets of comparison data for each of the said plurality of file fingerprints, selecting one or more file fingerprints having a predetermined degree of match with the search fingerprint.
2. A method according to Claim 1 in which the said data representing the disposition of the minutiae includes for each respective minutia the Cartesian coordinates of location and the orientation of that minutia relative to the said set of co-ordinate axes respective to the fingerprint from which the said minutia comes.
3. A method according to Claim 1 or 2, wherein the relevant fingerprint file for each of the other fingers under investigation is similarly processed.
4. A method according to any one of the preceding claims, wherein in comparing each of the minutiae of the search fingerprint with each of the minutiae of at least a portion of the file of fingerprints there is generated a set of registration parameters for each pair of search and file fingerprint minutiae compared, generating a histogram indicating the results of each comparison of minutiae pairs from the search fingerprint and the file fingerprint by recording in which cell of the histogram the registration parameters of each comparison fall, determining the number of registration parameters falling within each histogram cell; locating the histogram cell which best represents any resulting cluster of histogram cells
containing a relatively high number of matches, and developing a score indicating the size of each resulting cluster and thereby the degree to which the compared file fingerprint matches the search fingerprint.
5. A method according to Claim 4, wherein to increase the accuracy of the comparison of the file prints the comparing and subsequent procedures are repeated.
6. A device for comparing fingerprints and selecting ones with a high degree of matching with a given search fingerprint, which includes means specially adapted to receive encoded data representing respectively for each of a plurality of minutiae of the search fingerprint, the disposition, relative to a first pair coordinate axes, of each minutia, to receive from each of a plurality of file fingerprints, sets of data representing respectively for each of a plurality of minutiae of at least a portion of each respective file fingerprint, the disposition, relative to a second pair of co-ordinate axes for each respective file fingerprint independent of the first or any second pair of co-ordinate axes, of each minutia independently of the disposition of the other said minutiae, to compare for each of the said file fingerprints, each said set of data representing the disposition of each minutia of the search fingerprint with each said set of data representing the disposition of each minutia of the said at least a portion of the file fingerprint to derive a plurality of sets of comparison data, and on the basis of the statistical distribution of the sets of comparison data for each of the said plurality of file fingerprints, to select one or more file fingerprints having a predetermined degree of match with the search fingerprint.
7. A device according to Claim 6, including means for encoding the location and direction of the minutiae of the search fingerprint and means for sorting encoded minutiae location and direction data defining the file of encoded fingerprints, said means specially adapted to receive encoded data receiving data representing the disposition of minutiae of the search fingerprint from said encoding means and data representing the disposition of minutiae of the file fingerprints from said storing means.
8. A device according to any one of Claims 6 and-7, wherein means are provided for selecting the portion of the fingerprint file to be searched for each of the search fingerprints.
9. A method of locating from a file of fingerprints that fingerprint which most nearly matches a search fingerprint under investigation substantially as hereinbefore described.
10. A device for comparing fingerprints and selecting ones with a high degree of matching with a given search fingerprint, substantially as hereinbefore described with reference to the accompanying drawings.
GB25961/77A 1976-07-19 1977-06-21 Fingerprint identification method and apparatus Expired GB1577797A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US70672876A 1976-07-19 1976-07-19

Publications (1)

Publication Number Publication Date
GB1577797A true GB1577797A (en) 1980-10-29

Family

ID=24838812

Family Applications (1)

Application Number Title Priority Date Filing Date
GB25961/77A Expired GB1577797A (en) 1976-07-19 1977-06-21 Fingerprint identification method and apparatus

Country Status (7)

Country Link
JP (1) JPS5312235A (en)
AU (1) AU2648577A (en)
BR (1) BR7704703A (en)
DE (1) DE2732382A1 (en)
FR (1) FR2358866A1 (en)
GB (1) GB1577797A (en)
ZA (1) ZA773718B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0090377A2 (en) * 1982-03-26 1983-10-05 Fingermatrix Inc. Finger-print identification system
WO2001048681A2 (en) * 1999-12-23 2001-07-05 National University Of Singapore Automated fingerprint identification system
EP1197912A3 (en) * 2000-10-11 2004-09-22 Hiroaki Kunieda System for fingerprint authentication

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4135147A (en) * 1976-09-10 1979-01-16 Rockwell International Corporation Minutiae pattern matcher
WO1982001434A1 (en) * 1980-10-20 1982-04-29 Rockwell International Corp Fingerprint minutiae matcher
CA1181176A (en) * 1980-10-27 1985-01-15 John C. Elsey Fingerprint minutiae matcher
AU567678B2 (en) * 1982-06-28 1987-12-03 Nec Corporation Device for matching finerprints
JPS6024674A (en) * 1984-06-29 1985-02-07 Hitachi Ltd Fingerprint collating input device
DE10260638B4 (en) * 2002-12-23 2005-08-11 Siemens Ag Method for determining a number of matching minutiae of two fingerprints

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5136141B2 (en) * 1971-11-10 1976-10-06

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0090377A2 (en) * 1982-03-26 1983-10-05 Fingermatrix Inc. Finger-print identification system
EP0090377A3 (en) * 1982-03-26 1984-03-28 Fingermatrix Inc. Finger-print identification system
WO2001048681A2 (en) * 1999-12-23 2001-07-05 National University Of Singapore Automated fingerprint identification system
WO2001048681A3 (en) * 1999-12-23 2002-02-07 Univ Singapore Automated fingerprint identification system
EP1197912A3 (en) * 2000-10-11 2004-09-22 Hiroaki Kunieda System for fingerprint authentication
US7035444B2 (en) 2000-10-11 2006-04-25 Hiroaki Kunieda System for fingerprint authentication based of ridge shape

Also Published As

Publication number Publication date
JPS5312235A (en) 1978-02-03
AU2648577A (en) 1979-01-04
BR7704703A (en) 1978-04-04
FR2358866A1 (en) 1978-02-17
DE2732382A1 (en) 1978-01-26
ZA773718B (en) 1978-05-30

Similar Documents

Publication Publication Date Title
US4185270A (en) Fingerprint identification method and apparatus
US4087788A (en) Data compression system
US3419287A (en) Fingerprint classification by coordinate system
US6941003B2 (en) Method of fast fingerprint search space partitioning and prescreening
Yang et al. A performance evaluation of correspondence grouping methods for 3D rigid data matching
Chua et al. Point signatures: A new representation for 3d object recognition
JP3053388B2 (en) Fingerprint image special color correlator
US4156230A (en) Method and apparatus for automatic extraction of fingerprint cores and tri-radii
JPH0355869B2 (en)
US6014461A (en) Apparatus and method for automatic knowlege-based object identification
KR890002581B1 (en) Complex pattern recognition method and system
EP1090275B1 (en) A computer system and process for explaining behaviour of a model that maps input data to output data
Kovalevsky Image pattern recognition
CN109726746B (en) Template matching method and device
US5020113A (en) Maskable bilevel correlators
JPS6182271A (en) Data correlation decision method and system
GB1577797A (en) Fingerprint identification method and apparatus
US3558864A (en) Reference point determining system
US6671403B1 (en) Pattern recognition apparatus and method utilizing conversion to a common scale by a linear function
CN101553825B (en) Pattern recognizing device for recognizing input pattern by using dictionary pattern
US8005262B2 (en) System and method for video object identification
JP2002288667A (en) Pattern collating device, method and program
US3434109A (en) Multifield comparator adjustable to compare any combinations of fields and to provide selectable bases of comparison
Hu et al. Shape-driven coordinate ordering for star glyph sets via reinforcement learning
CN113763505A (en) Graph generation method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
CSNS Application of which complete specification have been accepted and published, but patent is not sealed