METHOD AND APPARATUS FOR ANALYSING FINGERPRINTS

Abstract: Fingerprint analysis is carried out by dividing a fingerprint image into an array of portions (26) each of which is analysed as to its ridge or trough count to give a characteristic value for each portion. To obtain a measure of count, the pixel pattern of a portion is compared with successive patterns moving away from that portion, the distance moved for maximum correlation with the original portion being used as said value. Such values can be used for fingerprint identification and in a verification system, e.g. by storing a person's characteristic values on an identity card.

Description: Method and apparatus for analysing fingerprints This invention relates to fingerprint analysis and is applicable to identity verification, and more especially, but not necessarily, concerns apparatus and methods for encoding and storing information relating to fingerprints and for verifying the identity of a person. In International Application PCT/GB87/00262, information is obtained from a fingerprint by deriving data from an area of the fingerprint, that data relating to the number of ridges counted in a direction orthogonal to a line across the area, the count being obtained at each of a plurality of positions along the line. The data is derived by thresholding a grey level image of the fingerprint. While the above-mentioned application describes a simple and effective identity verification system, further improvements have now been made, particularly relating to obtaining values related to ridge (or trough) counts. According to one aspect of the present invention, it is proposed to obtain a measure of ridge count by measuring the distance between two ridges (or troughs). Only a small section of a fingerprint containing, say, two or three ridges can give such a measurement, the inverse of which relates directly to the number of ridges per unit distance in that section. Clearly, with only two or three ridges in a section, an integral count of ridges would not give a characteristic value. Moreover, by making such a measurement on a small section of a fingerprint, the measurement can be repeated for a plurality of other such sections, thus to give a relatively large set of characteristic values which together assist in more uniquely identifying the fingerprint. Moreover, several measurements can be made at different locations across an individual section and an average produced to give the value for that section. Preferably, the sections analysed are arranged in "rows" and "columns". Additional characterising values can be provided by obtaining values for ridge count along each of plurality of lines extending across the fingerprint image, again obtaining the count by measuring ridge spacing. According to one embodiment, there is provided apparatus for deriving characteristic data from a fingerprint, the apparatus comprising means for receiving a representation of an area of an image of the fingerprint and means arranged to scan a section of the area, in a given direction, to compare bit patterns of distinct portions of the section following one another in said direction with neighbouring bit patterns, thereby to obtain a series of values corresponding to the distances scanned from each distinct portion to that neighbouring bit pattern having maximum correlation with the distinct portion. By using such a pattern correlation technique, it is possible to find a maximum correlation, and hence a distance measurement, even though the section of the image may be relatively noisy and/or may contain a damaged portion of a fingerprint. Whatever means are used to determine the value corresponding to ridge count in a section, it will be apparent that a plurality of characteristic values can be obtained by splitting the image into a two- dimensional array of rows and columns of such sections and by obtaining a value for each such section, the sections selected for analysis not all being in the same column or row. Thus, according to a further embodiment of the invention, there is provided apparatus for deriving characteristic data from a fingerprint image and comprising means arranged to examine a plurality of predetermined ones of a number of sections of the area of the image to produce for each of the plurality of sections a value related to the number of ridges (or troughs) in a given direction across that section, said number of sections being arranged in rows and columns and the plurality of those sections examined not all being in the same row or column. It is desirable that the same area of a fingerprint be examined each time that a person has his fingerprint classified and so a preferred embodiment incorporates means for restraining a finger against longitudinal displacement and rotation. Moreover, the image taken of a fingerprint may be a grey scale image and the entirety of the processing may be carried out on that image. When the computational power is not available for such processing, then the grey scale image can be converted to a pure black and white binary image before the distance or count measurements are made. In either case it is preferable to enhance the grey scale image, for example by modifying the grey scale value of each pixel in dependence upon an actual or interpolated value of the maximum and minimum intensities in the neighbourhood of that pixel. For a better understanding of the present invention and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawings in which: Figure 1 shows a fingerprint recording and verifying arrangement; Figure 2 is a diagram of a fingerprint aligning arrangement of the apparatus of Figure 1 ; Figure 3 shows a modification of Figure 2 , Figure 4 is a diagram illustrating a portion of an image of a fingerprint being examined for image enhancement; Figure 5 is a diagram illustrating the area of a finger print image examined to obtain its characteristic values? Figure 6 is a flow chart illustrating fingerprint data derivation for storage on a card; and Figure 7 is a flow chart illustrating fingerprint verification. Figure 1 illustrates apparatus for capturing the image of a fingerprint, analysing it into characteristic values and then either storing those values on a card for future use or for comparing the characteristic values with those already stored on a card. For this purpose the apparatus comprises elements which are already on the market and consisting of a card read/write device 1 , a computer 2, an image digitiser 3 and a CCD camera 4. In addition to these elements the apparatus also comprises a right-angled prism 5 having a blackened surface 6, a hypotenuse surface 7 to be illuminated by a light source 8 and an upper surface 9 on which a finger is to be placed. As will be described in more detail in Figures 2 and 3, finger restraining means are provided more accurately to locate the finger, including a finger restraint 10 for longitudinal alignment of the finger. This restraint incorporates a micro-switch 11 arranged to be actuated when a finger has been placed on the prism in the position shown. A further micro-switch 12 is placed adjacent the prism. It will be apparent that, when the finger is correctly positioned, both micro- switches will be activated and this activation is detected by the computer 2, being represented by an AND gate 13 coupled to the computer. The AND gate 13 also activates the light source 8. Thus, when a finger has been placed correctly on the upper surface 9 of the prism, the light source 8 is activated and the computer is signalled that the image is ready for capture. Where the finger is not touching the face of the prism, the CCD camera will see either a dark or black portion of the image but where the finger is touching the face of the prism, the sweat of the finger causes the light to be reflected to the CCD camera which thus sees these portions as zones of relatively high illumination. This results in an image which has a high contrast between the ridges which are touching the prism and the troughs which are not. The image captured by the camera is sent to the image digitiser 3 which stores the image as a 256x256 array of pixels in memory, each pixel having a six bit value determined by the brightness at the corresponding image point. This memory can be accessed and modified by the computer 2. Turning now to Figure 2, it will be seen that the finger restraint 10 above the prism 5 is generally U- shaped to provide lateral and longitudinal restraint for a finger thereby to oppose rotation of the finger and also to ensure that the fingertip has correctly located against the bight of the finger restraint member 10. This latter feature enables the end of the finger to be used as a reference point and, in this particular embodiment, the image of the finger print which is processed commences a predetermined distance from this point, e.g. 4 to 8 mm. Thus, when the same person repeatedly uses the apparatus, his finger will be in substantially the same position relative to the prism at each occurrence. As will be described hereinafter, software within the computer 2 can make adjustments to the image to compensate for any small departures from the original position. Figure 3 is a plan view of an alternative arrangement of finger restraint. In this case the finger restraint member 10 is replaced by three elements, two side restraints 14 and 15 and a rotatable end locator and restraint 16. The element 16 has three alternative arcuate apertures for a large finger at 17, a medium sized finger at 18 and a small finger.at 19. Each of these arcuate recesses incorporates a ledge 20 to accommodate a fingernail. The element 16 is rotatably mounted on a cylindrical member 21 which contains an elliptical bore 22 in which a shaft 23 is mounted for lateral movement along the major.axis of the ellipse 22. Spring means 24 bias the shaft 23. The microswitch 11 is located on the major axis of the ellipse. It will be seen that when a finger is placed within one of the arcuate recesses 17, 18 or 19, and pressed forwardly, the member 16 will move in the direction of the major axis of the ellipse until the microswitch 11 is actuated, thus registering the correct finger placement. If a successful image capture is not obtained in this way, the user can rotate the element 16 to utilise one of the other arcuate recesses. Turning now to image processing, it has already been described that the image has been captured as an array of six bit pixel values. The subsequent computation may be carried out on such six bit pixels if sufficient computational power is available. However, in the present embodiment, this image is converted into a black and white binary image where each pixel is represented by a single bit. This process is performed in two steps the first of which is to equalise the intensities of the six bit pixels and the second of which is global thresholding. With regard to the first step, the image intensity varies across the image due to uneven lighting of the blackened prism face and the face of the prism that the finger is placed on. These variations are of an order of magnitude lower than the frequency of the ridges of a fingerprint. For the purpose of this processing step, the image is divided into 56 regions each region being of 16x16 pixels. In each such region, the software in the computer calculates the minimum (U) and the maximum (V) of the intensities and assigns this minimum and maximum to the centre point of 16x16 region. Figure 4 illustrates four such regions for which maxima are shown having values of M-j , M2, M3 and M4. For each point on the image, such as the point of intensity P at the point (x,y), the software calculates an approximate minimum and maximum by linear interpolation between the values for the points shown in Figure 4. The final recorded intensity for the point shown is then calculated to be S(P-U)/(V - U), where S is a suitable constant to allow the new value to be stored as an integer. Values that overflow are set to S and values that underflow are set to zero. The software utilizes an algorithm for the above-described interpolation and this might be as follows for the maximum value in the neighbourhood of the point (x,y): (1-y) (d - x)Mι + xM 2 ) + y ((1-x)M 3 + XM4). The minimum is calculated in a similar way. Although this calculation may look complicated it is a simple matter to work in increments of x and y in order to modify the value for the next point rather than calculate it from scratch each time. Having enhanced the image in this way, the computer software carries out the second step, which is global thresholding of the image. The mean of the intensity is found for a region known to contain ridges and troughs, e.g. a central region of the image area, and the whole image is thresholded about this mean. The resulting binary image is now stored in the internal memory of the computer. Digressing to Figure 6, this represents a flow chart of the software in the computer 2 and it will be apparent that the first three steps of Figure 6 correspond to the steps so far described. Turning now to Figure 5, this diagrammatically shows the area of the image stored in the computer memory and is an area 160 pixels wide (about 1.5 cm) and 192 pixels high (the width being in the x direction across the fingerprint and the height being in the y direction along the length of the fingerprint). As already indicated, this area is a fixed distance from the tip of the fingerprint, and is also centrally placed relative to the fingerprint. It will be apparent that, because of the optical arrangement employed, this rectangular image represents a trapezoidal area of the fingerprint. If desired this distortion can be removed by known techniques by mapping the image onto a trapezoid of reverse form so that the resulting image in memory is uniformly scaled relative to the original fingerprint. The area shown in Figure 5 and representing the data stored in the computer memory is sub-divided into 30 sections each of 32x32 pixels organised in 8 bit bytes arranged in rows in the x directions. The next step in the processing is to find a characteristic value for each of these 30 regions. A characteristic is found by taking the average of the ridge-to-ridge gaps found using a linear auto-correlation method for 16 points taken in a 4x4 grid in the section. The points are chosen at 8 pixel spacings, starting at the top left of the section. Considering this in more detail, reference will now be made by way of example to the section 25 in Figure 5. The first point taken is the top left hand corner and the portion of the image to be examined in relation to that point is the 16 x 16 pixel portion 26 shown in dotted lines. The size of each portion such as 26 is chosen to embrace at least 2, and preferably at least 3 y ridges and is an integral member of bytes wide. The bit pattern of the portion 26 is captured and compared with the successive 16x16 portions succeeding one another in the y direction. Each such portion may be 1 pixel displaced from the preceding one. It will be apparent that when the portion 26 is firstly compared with itself a very large value of correlation is found by the comparison. As the distance N increases from the starting point, the comparison will get poorer and a lower correlation value will be obtained until one has moved far enough to be comparing ridges with troughs in which case the comparison reaches a minimum correlation value. Further comparison of subsequent portions in the y direction would then normally give higher and higher correlations until a maximum is reached, whereafter the correlation value will again fall. In this particular embodiment, 27 successive comparisons are made, the objective being to defined a minimum and maximum. Comparison can be made by counting matching pixels, achieved by XORing corresponding bytes and counting the number of Os. To find the number of Os in a byte, a look-up table is used. If one were to plot the correlation value obtained against distance traversed, the general form of the graph would be that of a decaying sinusoid. In practice there will be several small minima and maxima owing to noise, so the process includes the further step of processing the correlation values obtained to achieve a certain amount of smoothing. The process then looks for a minimum followed by a maximum with a difference in value between the two greater than a preselected amount. The distance N travelled upto that maximum is taken as the characteristic value for this specific examination. It will be readily apparent that this value corresponds to the distance between ridges in the portion 26. It is sometimes the case that a local maximum cannot be found reliably by this method and in this case a "gap cannot be found" flag is set and this point is not used to determine the characteristic value of the overall section 25. Another method of finding the gap width is to attempt to fit shapes in the form of decaying sinusoids to the correlation v. distance data. The closest sinusoid has a frequency related to the ridge gap width. This process is repeated across the section 25 for each of the remaining 16 points spaced 8 pixels apart and illustrated as points in the section 25 in Figure 5. It will be apparent that up to 16 values are obtained for the one section 25 and those that have been determined as effected values (i.e. the flag has not been set) are averaged, or the median obtained ' ^to give an overall characteristic for the section 25. Each time the "gap cannot be found" flag is set, a count is incremented so that at the end of processing the entire image area, this count can be inspected. If it is greater than a predetermined value, then the processing of this image is rejected and the computer provides a message to the user that he should re¬ present his fingerprint. The processes just described correspond to the fourth, fifth and sixth steps of Figure 6. As will be apparent from Figure 6, if the data so far captured is regarded as adequate, processing continues in a further way. This further processing is carried out in order to obtain a ridge count for each of 24 scans in the x direction, these 24 scans being spaced 8 pixels apart. The first three of these scans are diagrammatically represented in Figure 5 by the arrows 27 emanating from points on the left hand boundary of the fingerprint image. At each such point a 16 x 16 pixel area is taken, as already described, and in this case a comparison is made in the x direction but not just across a single section but across the whole image, again using starting points at 8 pixel spacings. In this way a plurality of gap values is found for the points at 8 pixel intervals along the line and the reciprocals of these gap values are summed, and scaled by a constant, to give a value which represents the ■ ridge count for that particular line. In this regard, whilst referring to a line, this terminology is used to indicate the location and direction of scanning but the examination is carried out by the same correlation method as beforβ j i.e. between areas, rather than lines, as this is found to be more reliable. A line as such could well pass through a break in a ridge and hence omit ridge counts, whereas a pattern comparison over an area will, by correlation, be able to establish the ridge spacing even in such circumstances. Correlation in the y direction requires operations on bits of bytes. This is dealt with by storing the image data in a buffer and performing bit-wise rotations to align it. The result of this process is 30 values representing the gap characteristic for the 30 sections and 24 values representative of the ridge count along 24 lines. The 54 values are then output by the computer 2 to the card read/write device 1 where they are recorded on a magnetic stripe on a card. As thus described, the system has been utilised to capture a fingerprint image and obtain, as a series of 54 numbers, a characteristic of a fingerprint for recording on a card for subsequent use in a verification system. In a verification system, the equipment as shown in Figure 1 is still used. The card holder places his card into the card read/write device 1 from which the 54 values are read and stored in the internal memory of the computer. The card holder then places his finger on the prism as already described and the finger print is captured by the digitiser. With reference specifically to Figure 7, it will be seen that the first six steps are the same as those of Figure 6 with the addition of the initial card read. At this point, finger position is examined and corrections made if necessary. Despite the finger restraint, the finger may not be in exactly the same place as it was at encoding. To compensate for this the computer stores a list of 25 distinct areas each as shown in Figure 5 and each displaced from its neighbour by 1.6 mm, some in the x direction and some in the y direction. The 30 gap characteristic values are found for each of these 25 further areas. For each area, the 30 characteristic values are compared with the corresponding values on the card, weighting each comparison within a section of the image by the number of gaps found in the verification. The area that gives the best comparison is assumed to be the area that was examined during the original encoding. If the comparison is not close enough, using a preset threshold, then the verification is said to fail on the basis of image misalignment (although this of course may be because the fingerprint truly does not correspond with the one originally encoded). The comparison may be carried out according to the following algorithm: In this algorithm E^ represents the encoded value for section i (i goes from 1 to 30) , V_ represents the gap value found for the section i, and N j _ represents the number of gaps successfully found in section i (N^ is less than or equal to 16). If the magnitude of E_ - V^ is equal to or less than 2 pixels, this magnitude is set to 0. Once the program has successfully determined which image is the closest to that originally encoded, i.e. the image is now accurately aligned as far as possible, the 24 further values of ridge count across that area are found as described above and these are compared with the corresponding values on the card. If these counts compare within a set limit the verification is said to pass, otherwise the computer issues a fail result. Various thresholds, levels and limits are mentioned in the above description and it will be understood that these will be adjusted according to a particular application, depending upon the desired percentages of false accepts and false rejects. Finally it is mentioned that the camera could be replaced by a CCD array directly accessed by the computer.

Claims: CLAIMS 1. A method of deriving characteristic data from a fingerprint, the method comprising selecting a section of a fingerprint image and measuring the distance between ridges (or troughs) in a given direction across the section. 2. A method according to claim 1 wherein the measuring step comprises, for each of a plurality of distinct portions of the section, comparing the bit pattern of the portion with the bit patterns of further portions which follow one another in said direction, in order to obtain a value corresponding to the distance scanned from the distinct portion to that bit pattern having maximum correlation with the distinct portion. 3. A method according to claim 2, wherein each bit pattern is two-dimensional array of pixels. 4. A method according to claim 1 , 2 or 3 wherein the distance is measured for each of a plurality of sections arranged in a two-dimensional array in the image. 5. A method according to any one of the preceding claims wherein the distance is measured for each of a plurality of sections extending in line across the image and a value is produced as a function of the measured distances and representing the ridge count across that line, the method being repeated for a plurality of lines of the image. 6. An apparatus for deriving characteristic data from a fingerprint, the apparatus comprising means for receiving a representation of an image of an area of the fingerprint, and means for examining a section of the image to measure the distance between ridges (or troughs) in the given direction across that section. 7. An apparatus according to claim 6 wherein the examining means comprises means arranged for comparing the bit pattern of a portion of that section with the bit pattern of successive portions of the image taken in said direction to obtain a value corresponding to the distance scanned from that portion upto that successive portion having maximum correlation with the distinct portion. 8. An apparatus according to claim 7, wherein the scanning means is arranged to repeat its scan for a plurality of different portions of said section, thereby to obtain a series of values for that one section. 9. An apparatus according to claim 8 wherein the scanning means is arranged to scan said section in said direction along a plurality of scan zones. 10. Apparatus according to claim 9, wherein the scans are such that the scan zones overlap. 11. An apparatus according to claim 7,8,9 or 10, wherein the bit patterns are those of two-dimensional portions of said section. 12. . An apparatus according to any one of claims 6 to 11 and arranged to store the representations as binary words such that, with the section being considered as a plurality of rows and columns, each row is represented as a series of words, and the scan direction is in the direction of the columns. 13. An apparatus according to any one of claims 6 to 12 and organised to determine a characteristic value for a section or group of sections as an average of a plurality of distance values obtained at different portions of the section or group. 14. An apparatus according to any one of claims 6 to 13 and organised to determine a characteristic value for a group of sections across the image by determining the sum of reciprocals of a plurality of distance values obtained at different portions of the group of sections. 15. Apparatus for deriving characteristic data from a fingerprint, the apparatus comprising means for receiving a representation of an image of an area of fingerprint, and means arranged to examine a plurality of predetermined ones of a number of sections of said area to produce for each of the plurality of sections a value related to the number of ridges (or troughs) in a given direction across that section, said number of sections being arranged in rows and columns and the plurality of those sections not all being in the same row or column. 16. Apparatus according to claim 15, wherein said sections are contiguous sections of said area. 17. Apparatus according to claim 15 or 16, and comprising means arranged to produce a value, for each of a plurality of lines across said area in a direction different from said given direction, related to the number of ridges (or troughs) along the line. 18. Apparatus according to claim 15, 16 or 17, wherein the examining means has means to determine a value related to the number of ridges (or troughs) by a determination of the distance between image intensity maxima (or minima). 19. Apparatus according to claim 18, wherein the determining means comprises means for comparing the bit pattern of said portion with the bit pattern of successive portions in a given direction in order to find a maximum correlation between the two, the distance between those correlated portions being stored as the distance between maxima (or minima). 20. Apparatus according to claim 18 or 19 when appended to claim 17, wherein the producing means comprises means arranged to determine said distance for each of a plurality of portions of a line. 21. Apparatus according to claim 18, 19 or 20, wherein the determining means is arranged to determine said distance for each of a plurality of portions of each said section. 22. Apparatus according to claim 20 or 21 and organised to determine a value for a section or line as an average of a plurality of distance values obtained at different portions of the section or line. 23. Apparatus according to claim 20, 21 or 22 and organised to determine a value for a section or line by determining the sum of reciprocals of a plurality of distance values obtained at different portions of the selected section or line. 24. Apparatus according to any one of claims 6 to 23 and comprising means for recording determined values in a machine-readable form on an identity device. 25. A fingerprint verification apparatus according to any one of claims 6 to 23, and comprising means for reading characteristic values from an identity device, means for making a comparison between those values and values determined by the apparatus from a fingerprint image and means for issuing an accept or reject signal in dependence upon that comparison. 26. Apparatus according to any one of claims 6 to 25, wherein the representation of the image of a fingerprint is a digital representation in which pixels are each represented by a plurality of bits to provide a grey scale representation. 27. An apparatus according to claim 26, wherein the apparatus comprises thresholding means for converting that image into an image in which each pixel is represented by a single bit before carrying out measurement of distance or count. 28. An apparatus according to claim 25 or 26 and comprising means for processing the image in its multi- bit pixel form by adjusting pixel values (p) in dependence upon neighbourhood intensity minima (u) and maxima (v) in accordance with a function of the form (p-u)/(v-u). 29. An apparatus according to claim 28 and comprising means for determining intensity maxima and minima at discrete spaced-apart points and for interpolating values therebetween for adjusting the values of pixels between those points.

Inventors: JANSONS DAVIS, WHEATLEY RICHARD, JANSONS, DAVIS, WHEATLEY, RICHARD
Applicants: IMAGEPACK LTD, IMAGEPACK LIMITED
Application year: 1988
Main classification: G07C11
IPC codes: G06K9, G06T7, G07C9