Abstract:
A method for comparing two images including ridges with each other, comprising steps from i) to iv). 
     i) Calculating density value of each pixel of an image to be examined and reference image; ii) detecting a direction with minimal change between each pixel and adjacent one, concerning to each pixel; iii) dividing the image to be examined and reference image, calculating an index according to the direction with minimal change as to each block; iv) using the index, it is judged if the image to be examined and reference image substantially coincide to each other.

Description:
This is a continuation of application Ser. No. 07/724,928, filed on Jul. 2, 1991, which was abandoned upon the filing hereof. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to a method for comparing images including ridges, as applied to a fingerprint verification system. 
     BACKGROUND OF THE INVENTION 
     The process of a conventional verification method is as follows: 
     i) An image including fingerprint ridges is binarized; 
     ii) A ridge pattern is obtained by thinning the binarized image; 
     iii) Branches, edge points and curvature from the ridge pattern are extracted as main characteristics; 
     iv) A sample image (fingerprint image to be examined) is compared with a master image (reference fingerprint image). 
     SUMMARY OF THE INVENTION 
     In the conventional method outlined above, the quality of the ridge pattern used for extracting characteristics affects verification precision. Therefore, complete fingerprints have to be obtained by accurately positioning a finger when a sample image is input to a conventional fingerprint verification system. There have been a lot of restrictions on inputting a sample image. The present invention alleviates this problem and has an object to provide a comparison method for images having ridges which can ease many input restrictions. 
     An image comparison method according to the present invention is characterized in the following steps: 
     i) detecting a density value of each pixel in an image to be examined and in a reference image; 
     ii) for each pixel, detecting a direction to an adjacent pixel having a minimal change of density value; 
     iii) dividing the image to be examined and the reference image into plural blocks; 
     iv) for each block, calculating an index characterizing a direction for which pixels have minimal density changes; 
     v) judging whether the image to be examined coincides to the reference image using indices of step iv). 
     A second comparison method according to the present invention performs as follows: 
     i) detecting the density value of each pixel in an image to be examined and a reference image; 
     ii) for each pixel, detecting a direction to an adjacent pixel having a minimal change of density value; 
     iii) calculating the ratio of the direction with minimal change in the above concerning to the image to be examined and reference image; 
     iv) judging if the image to be examined substantially coincides to the reference image using the ratio of step iii). 
     As for an image comparison method of the present invention, comparison judgment over a wide view is performed, with maximal use of information in an image by processing input image of gray-level as it is, and by processing the image in every block. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows the block diagram of a fingerprint verification system using the image comparison method of the present invention; 
     FIG. 2 shows the diagram of the part touched a finger on the slope of right prism; 
     FIG. 3 shows an example of ridges of a fingerprint; 
     FIG. 4 (I) shows a histogram of minimum density change directions of pixels in area &#34;I&#34; in FIG. 3; 
     FIG. 4 (II) shows a histogram of minimum density change directions of pixels in area &#34;II&#34; in FIG. 3; 
     FIG. 5 a diagram illustrating the direction of a partial differential; 
     FIG. 6 is a diagram illustrating a method of dividing a fingerprint image into blocks; 
     FIG. 7 shows a histogram of pixels having coincident direction codes; and 
     FIG. 8 is a diagram illustrating direction codes. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Hereinafter, an embodiment of an image comparison method of the present invention is described with reference to the attached drawings. 
     FIG. 1 shows a fingerprint verification system using an image comparison method of the present invention. The fingerprint verification system comprises an image input system 10 and a comparison system 20. The image obtained by the image input system 10 is compared in the comparison system 20. Image input system 10 projects light from a light source 12 onto a right angled prism 11. A CCD camera 13 detects the reflected light. A surface 14 of prism 12 is the detecting surface. FIN of a finger to be detected is touched to surface 14. When a finger FIN is not touched, light is all reflected and a white image is detected by CCD camera 13. 
     The refractive index of the surface of the prism is changed at the points of the surface touched by a finger FIN 1 (i.e., the ridges of a fingerprint). As illustrated in FIG. 2, light passes through such surface points without refraction. Therefore, the ridges of the fingerprint are input to the CCD camera as dark lines. 
     Comparison system 20 includes an image processing portion 21 and card reader 22. By inserting an ID card 23 into the card reader 22, master data for the person to be examined is read out, and data input from the image input system 10 is compared with the master data. The comparison is executed in a computer 23. The comparison result is indicated on a display portion 24. The lock of a door 26 is released by an actuator 25 and the door can be opened when it is determined that the two fingerprints coincide to each other. Alternate methods can be adopted for specifying master data, such as input of an ID number from a keyboard by the person to be examined. 
     A histogram of directions is used as an index of direction for an area of an image. FIG. 3 illustrates ridges of a fingerprint, with arrows indicating directions of minimum density change. In area I, for example, most pixels have a direction of minimum density change inclined at a 45° angle (measured counterclockwise from horizontal). Histogram I of FIG. 4 illustrates the distribution of directions for area I. Similarly, most pixels in area II have a direction of minimum density change close to 90°. Histogram II of FIG. 4 illustrates the distribution of directions for area II. The direction of minimum density change can be conceptualized as a direction having a minimum partial differential of density. The following processes are executed to obtain such histograms. 
     First, a density value is detected for each pixel in a master image of a fingerprint image. The density value is stored in the memory of computer 23 as a master fingerprint image to be a reference for comparison with a sample image. 
     Next, partial differential values of densities among adjacent pixels is calculated for each pixel. Here, adjacent pixels include not only the pixels immediately adjacent to the one being processed, but also ones within a few pixel distances. Partial differences are calculated for pixels located in a range of 157.5° as shown in FIG. 5, i.e., the horizontal direction (number 1), directions rotated 22.5° counterclockwise in sequence from the horizontal direction (numbers 2 3, 4 and 5) and directions rotated 22.5° clockwise in sequence from the horizontal direction (numbers 6, 7 and 8). Using x-coordinates in the horizontal direction and y-coordinates in the vertical direction, and assuming the change of density to be Δd, &#34;z&#34; (partial differential) is calculated as: ##EQU1## 
     Partial differential values from a digital image are discrete--especially with respect to the distance element. It may be necessary to adopt relatively large distances for some directions. When the distance becomes too large, the differential is taken between one ridge and another ridge beyond a trough, and the fingerprint ridge characteristics is lost. Therefore, small distance values are to be adopted as much as possible, even when direction precision is enhanced. Image input system 10 in FIG. 1 needs amendment for elements in the Y direction in the image to be input to the CCD camera 13 in order to observe the fingerprint from the slant direction of 45°. Good results are obtained by using distances of 0° (Δx=2, Δy=0), 22.5° (Δx=2, Δy=1), 45° (Δx=2, Δy=2) and 67.5° (Δx=2, Δy=3) as the distances of partial differential considering the amendment. 
     When calculating partial differential values for a series of directions shown in FIG. 5, the smallest value is stored in memory by comparing the smallest partial differential already calculated with each newly calculated value. Therefore, the minimum partial differential value is stored in the memory when the calculations for 8 directions is completed. The minimum differential values for all pixels is calculated by performing the process for each pixel. 
     The number corresponding to the &#34;direction&#34; of the newly calculated partial differential value (the numbers from 1 to 8 in FIG. 5) is stored in the memory in image processing portion. Consequently, the direction with the minimum partial differential value is calculated for all pixels, and the distribution of directions with the minimal partial differential values is obtained for the whole image. In this way, the information of the original image can be used to maximum advantage, as direction elements from every part of image are extracted directly from a gray-level image. 
     When the distribution of directions with the minimal partial difference value is obtained in a sample image, it is possible to detect the trends of the fingerprint ridges. Fingerprint verification can be performed by comparing the distribution of a sample image with that of the master image. That is, using direction data obtained from every pixel in both a sample image and master image, the data is compared. The fingerprint comparison can be executed over a full image without dividing it into blocks. That is, a sample image can be judged to coincide with a master image when more than 80% of the pixels coincide in direction. 
     In the preferred embodiment, the image is divided into plural blocks, and an index is calculated for the directions of the minimal values. The sample image is compared with the master image using the index. This method is adopted to compare sample image and master image over a wide area. 
     FIG. 6 shows a way to divide a fingerprint 41 into blocks. The image 41 is divided into 15 blocks (A to O), each of which are divided into 16 subblocks (&#34;a&#34; to &#34;p&#34;) comprised of 16×16 pixels. In the present embodiment, a sample image is compared with a master image using characteristic values as discussed below. 
     A total variance is calculated in each subblock of &#34;a&#34; to &#34;p&#34;. It is defined by the following formula: ##EQU2## In the formula above, Θ is an angle between direction codes (as discussed below). Vm is a variance within classes in each block of a master image. Vs is a variance within classes in each block of a sample image. In the present embodiment, total-variance-RE is defined as the remainder left when the total variance (defined by the formula above) is subtracted from 1. That is, total-variance-RE is defined by the formula below: ##EQU3## 
     Variances within classes Vm in the master image and Vs in the sample image are calculated in order to calculate the total-variance-RE defined by formula (1). They are described with reference to FIG. 7 and FIG. 8. FIG. 7 shows a histogram of the number of pixels detected as having each direction code (as determined from differential values). FIG. 8 shows the definition of direction codes. The direction code in the vertical direction is &#34;1&#34; and it increases up to &#34;8&#34; as the direction rotates 22.5° clockwise from &#34;1&#34;. 
     Deciding the direction code &#34;1&#34; to be a provisional center point, direction lag is calculated in comparison with direction code &#34;1&#34;. (As discussed below, the provisional center is varied, and direction lags calculated with respect to multiple provisional centers.) The direction lags are 1, 2, 3, 4, 3, 2 and 1 for direction codes &#34;2&#34;, &#34;3&#34;, &#34;4&#34;, &#34;5&#34;, &#34;6&#34;, &#34;7&#34; and &#34;8&#34;, respectively (shown in parentheses in FIG. 7). As there is no reference, direction distinction between clockwise or counterclockwise, lags are the same for direction codes &#34;2&#34; and &#34;8&#34;, &#34;3&#34; and &#34;7&#34;, and &#34;4&#34; and &#34;6&#34;. 
     A weighted value T is calculated for a subblock. The histogram shows that each direction code has a corresponding number of pixels with that direction code. For each direction code, a weighting factor is determined as sin 2  (Θ) where Θ is the angle difference (direction lag) between the direction code and the provisional center point. The weighted value T is the sum of the products of the weighting factors (one for each direction code) times the numbers of pixels having that direction code. The variance within classes is calculated by dividing the weighted value T by 256 (the number of pixels in a subblock). Thus, the variance within classes V can be expressed by the following equation: ##EQU4## where n is a number of pixels in a subblock, d is a direction code, m is a number of direction codes and N(d) is a number of pixels having direction d. 
     Each of the eight directions is taken in turn as the provisional center. Eight variances are calculated, one for each provisional center. The provisional center having lowest variance is taken to be the direction of the subblock, and the lowest variance is taken as the variance for the subblock. In this way, variances are determined for each subblock &#34;a&#34; to &#34;p&#34;. 
     Variances Vm and Vs from equation 1 are determined for each block from variances of the respective subblocks. The variance of a block is the mean value of the variances of subblocks. Vm is the variance of a block taken from a master image. Vs is the variance of a block taken from a sample image. Similarly, the mean value of directions from each subblock is taken as the direction of the block. 
     The value Θ in equation 1 is the angle difference between the direction of a block in the master image and the direction of a block in a sample image. The angle may be determined as the numeric difference between direction codes (e.g., direction 7 minus direction 6 gives a difference of 1) and then converted into the equivalent number of degrees. 
     Direction lag is calculated as cos 2  (Θ/2) and is used in formula (1). The difference between the direction codes of the master image and the sample image in every block provides the angle Θ. For example, when the difference between direction codes of the master and sample images is 1, Θ is 22.5° and the direction lag is 0.96. When the difference is 2, direction lag is 0.85 for a Θ of 45°. When the difference is 3, direction lag is 0.69 for a Θ of 67.5°. When the difference is 4, direction lag is 0.5 for a Θ of 90°. 
     Using direction lags (a measure of variance between classes) and variance within classes Vm and Vs (obtained as above), total-variance-RE can be calculated through formula (1) for every block A to O. Total-variance-RE ranges from 0 to 1. For a sample image closely resembling a master image, it is close to 1. For example, when a sample image almost coincides with a master image, total-variance-RE is equal to or more than 0.8 in all blocks from A to O. On the other hand, when a sample image does not coincide with the master image, total-variance-RE is less than 0.7 in most blocks from A to O. When a sample image almost coincides to a master image but partially does not, total-variance-RE is equal to or more than 0.8 in almost all the blocks, but it is less than 0.7 in some of the blocks. 
     Correlation is calculated next as a characteristic. It is defined as the following formula: ##EQU5## where, COR is correlation, x (Θ i ) is the number of pixels in the master image having direction Θ and X (Θ i ) is the number of pixels in the sample image having direction Θ i . 
     The correlation of a block is the mean value of the correlations of the respective subblocks. The correlation ranges form 0 to 1: as a sample image resembles the master image, it becomes close to 1. 
     Distance between classes is calculated in every block from A to O. The distance between classes is defined by the following formula: ##EQU6## where, DG is distance between classes, x (Θ i ) is the number of pixels in the sample image having the direction of Θ i  (deg), and X (Θ i ) is the number of pixels in the master image having the direction Θ i . 
     Distance between classes is calculated in each subblock from &#34;a&#34; to &#34;p&#34;, and their mean value is the distance between classes of the corresponding block. Distance between classes changes from 0 to 1: as a sample image resembles the master image, it becomes close to 0. 
     As above, a total variance, correlation and distance between classes are calculated in every block from A to O of the master image and a sample image. For a judgment of substantial coincidence between the master image and a sample image, it is necessary for total variance to be equal to or more than 0.7, for correlation to be equal to or more than 0.96, and for distance between classes to be equal to or less than 0.1. In other words, when even one block is out of these limits, the sample image is judged to be different from the master image. In the fingerprint verification system shown in FIG. 1, the lock of the door 26 is released when a fingerprint to be examined (sample image) coincides with a reference fingerprint (master image). When a fingerprint to be examined is judged not to coincide, the person to be examined is required to input his fingerprint again, or a message denying entry is displayed without releasing the lock. 
     A fingerprint is not always within the ranges for all blocks A to O. For example, on a corner block, there is a possibility that pixel data in a subblock from &#34;a&#34; to &#34;p&#34; will be incomplete (less than 256 pixels). In such a case, the total variance, correlation and distance between classes are calculated by ignoring the pixel data in the incomplete subblock. When the ratio of invalid blocks is more than a predetermined value, the person to be examined is immediately required to input his fingerprint again. It is not necessary to use all the indexes of total variances, correlation and distance between classes. Only one or two of them may be used for a comparison of images. 
     As mentioned above, the present invention compares master image and sample image by i) calculating the direction with the minimal change of density value, and ii) calculating an index of direction for each block in each image. Therefore, each image can be compared over a wide view, and it is always possible to execute precise comparison on any quality of ridge pattern. That is, in the present invention, the limitations for inputting sample image are eased.