by Anders Pearson <anders@columbia.edu>
date: 2001-04-20
url: http://thraxil.dhs.org/w4735/hw3.html
Color histograms of each iris were generated as described in the assignment. A 9x9 difference matrix was then calculated with entry [i,j] being the difference between the histograms of iris i and iris j. Since this matrix is symmetric about the diagonal and the diagonal itself is the difference between an iris and itself, only the 36 elements of the upper triangular part were calculated. The parameters B and R, corresponding to the number of high order bits of the color values and the sample rate respectively, were varied in an attempt to find the most efficient settings at which irises could still be discriminated. Table 1 shows the results.
| B | R | best match 1 | best match 2 | difference metric | ||
|---|---|---|---|---|---|---|
| 1 | 108 | iris3.ppm | iris4.ppm | 0.041667 | ||
| 2 | 183 | iris3.ppm | iris7.ppm | 0.083333 | ||
| 3 | 294 | iris1.ppm | iris3.ppm | 0.166667 | ||
| 4 | 412 | iris3.ppm | iris6.ppm | 0.250000 | ||
| 5 | 423 | iris2.ppm | iris5.ppm | 0.500000 | ||
| Table 1: Most efficient sample rate (R) for each bit value (B) where discrimination is still possible. Most similar irises found for each are displayed with the number of color levels and samples that were actually used for the comparison (scaled to 10 times actual pixel size for display). | ||||||
[note, I couldn't get it to work with B >= 6; the software segfaulted when attempting to allocate memory for the histograms in those cases]. As a control to this experimentation, I ran the software with R = 1 for each B and recorded the best match found. With R = 1, it is inefficient, but presumably most correct since the most information was used to make the comparison. In all cases but B = 1, this control found that iris5.ppm and iris7.ppm were the best matches (B = 1 gave iris1.ppm and iris5.ppm). Since none of the optimized settings in the table above found this same match, it is reasonable to conclude that too much information is lost with those settings to be very accurate. Pushing the boundaries of efficiency with only the check that some difference remains between irises appears to be a dangerous strategy.
At extremely low values of B and high values of R, the best matches found appeared to be almost random. With extremely low bit-rates, the images tended to be very similar colorwise since it only allowed for several different colors in all. With very high R's, very few pixels were sampled from each image. This meant that the color histograms were affected more by where in the image each of the samples happened to be taken from than by the actual color makeup of the images. Eg, an image could be mostly black but if one of the sample points happened to fall on the one white pixel, it would skew the resulting histogram greatly.
Ring and spoke structure was determined for each image as described in the assignment. W random rows in the top section of each image (above the iris) were sampled each at rate R. The mean intensity was subtracted from each row and negative/positive transitions were counted and divided by the total number of samples taken from the row to normalize for image size. These transition counts were then averaged together and a difference matrix calculated. For each W from 1 to 6, the maximum sample rate was found that didn't match any rows as being identical (ie, zero difference). These results are summarized in Table 2:
| W | R | most similar | (difference) | most different | (difference) | ||
|---|---|---|---|---|---|---|---|
| 1 | 14 | iris1.pgm | iris4.pgm | 0.023810 | iris2.pgm | iris6.pgm | 0.476190 |
| 2 | 14 | iris1.pgm | iris4.pgm | 0.023810 | iris2.pgm | iris6.pgm | 0.476190 |
| 3 | 14 | iris1.pgm | iris4.pgm | 0.023810 | iris2.pgm | iris6.pgm | 0.476190 |
| 4 | 14 | iris1.pgm | iris4.pgm | 0.023810 | iris2.pgm | iris6.pgm | 0.476190 |
| 5 | 14 | iris3.pgm | iris9.pgm | 0.014286 | iris2.pgm | iris6.pgm | 0.447619 |
| 6 | 14 | iris3.pgm | iris9.pgm | 0.007937 | iris2.pgm | iris6.pgm | 0.452381 |
| Table 2: highest sample rates (R) for each number of rows sampled (W) which still gave non-zero difference metrics along with corresponding most similar and most different images for each (W,R) set. | |||||||
Two things are immediately noticable from the above data. First, R = 14 was the maximum sample rate found for all values of W. Second, the results were much more stable than with the method used in step 1; 2 and 6 were considered the most different with all combinations of settings, 1 and 4 were considered the most similar by 1 <= W <= 4, and 3 and 9 were considered most similar by W = 5 and 6. Applying the algorithm with the lowest possible sample rate (R = 1) and thus, the most information used in the discrimination process, gave 3 and 9 as the most similar and 2 and 6 as the most different for all values of W. So the more efficient settings still seem to have worked well for finding the most dissimilar irises and agreed perfectly with the control for higher values of W.
The results seen from this method indicate that overall, the sample rate had much more impact on the effectiveness of the algorithm than the number of rows averaged together did (only the first 14 out of 500+ possible sample rates resulted in even remotely accurate results). This makes sense given the nature of the algorithm. The amount of information used in the discrimination is inversely proportional to the sample rate and directly proportional to the number of rows sampled. However, in most situations, the averaging of rows together should be somewhat redundant and its primary purpose is to counteract noise between the images.
The speckling analysis algorithm was implemented as described in the assignment. For each pixel in the region to the left of the iris in each image, the mean and standard deviation were calculated for an S x S square around the pixel. If the pixel was more than a standard deviation above the mean for the area, the speckle count for that image was incremented. This speckle count was then normalized for image size by dividing by the number of pixels tested, giving a number between 0 and 1. A difference matrix was then calculated with the difference between the normalized speckle counts for each image. The maximum and minumum differences were then found. The results for odd values of S between 3 and 15 are shown in Table 3:
| S | most similar | (difference) | most different | (difference) | ||
|---|---|---|---|---|---|---|
| 3 | iris2.pgm | iris4.pgm | 0.000264 | iris1.pgm | iris7.pgm | 0.058708 |
| 5 | iris5.pgm | iris9.pgm | 0.009788 | iris1.pgm | iris7.pgm | 0.270542 |
| 7 | iris2.pgm | iris6.pgm | 0.007485 | iris1.pgm | iris7.pgm | 0.274579 |
| 9 | iris2.pgm | iris5.pgm | 0.001836 | iris1.pgm | iris7.pgm | 0.218416 |
| 11 | iris4.pgm | iris6.pgm | 0.001619 | iris1.pgm | iris7.pgm | 0.174216 |
| 13 | iris4.pgm | iris5.pgm | 0.002109 | iris1.pgm | iris7.pgm | 0.147265 |
| 15 | iris2.pgm | iris9.pgm | 0.002201 | iris1.pgm | iris7.pgm | 0.124851 |
| Table 3: Speckling results with varied sample size S. | ||||||
The row for S = 5 contains the largest of the minimum differences, 0.009788, which is considered the "critical difference". For the next part, this S value was then used but the number of columns whose pixels were sampled was varied, cutting in half each time the number of pixels looked at in an attempt to find the most efficient settings for comparing irises with this method. The results of these calculations are shown in Table 4:
| portion of region | most similar | (difference) | most different | (difference) | ||
|---|---|---|---|---|---|---|
| 1 | iris5.pgm | iris9.pgm | 0.009788 | iris1.pgm | iris7.pgm | 0.270573 |
| 1/2 | iris5.pgm | iris9.pgm | 0.008107 | iris1.pgm | iris7.pgm | 0.266977 |
| 1/4 | iris6.pgm | iris9.pgm | 0.014204 | iris1.pgm | iris7.pgm | 0.279806 |
| 1/8 | iris3.pgm | iris5.pgm | 0.013114 | iris1.pgm | iris7.pgm | 0.292804 |
| 1/16 | iris3.pgm | iris8.pgm | 0.002212 | iris1.pgm | iris7.pgm | 0.325072 |
| 1/32 | iris6.pgm | iris8.pgm | 0.001001 | iris1.pgm | iris7.pgm | 0.382512 |
| 1/64 | iris2.pgm | iris6.pgm | 0.005750 | iris1.pgm | iris7.pgm | 0.449659 |
| 1/128 | iris6.pgm | iris9.pgm | 0.001256 | iris1.pgm | iris7.pgm | 0.544669 |
| Table 4: Speckling results with S fixed at 5 varied over the portion of the columns actually sampled. | ||||||
The most similar images found by this method vary over the entire table once it uses less than 1/2 the region. This indicates that too much information is probably being lost at these settings. This observation is further supported by noting that for 1/4 and 1/8, the difference between the most similar images exceeds the "critical difference" found to be 0.009788 above, thus indicating that the algorithm could not accurately call those images "matches". Interestingly, it performed quite stably in regards to finding the most dissimilar, identifying 1 and 7 in all cases. This indicates that for speckling, identifying similarities is perhaps a more subtle and difficult problem than finding differences.
For practical applications of iris recognition algorithms, none of the ones studied in this assignment seem particularly robust. A combination of two or more would likely yield better results. Intuitively, the second method, Ring and Spoke structure, would seem to be the most impervious to environmental factors and noise. Gross color matching would be seriously comprimised by the spectral characteristics of the ambient lighting; eg, the color differences between flourescent and incandescent lighting would likely change the color histogram enough to throw off the algorithm. Furthermore, I'm doubtful because of anecdotes i've heard at various times that peoples' eye colors can actually change over time; even a subtle change in iris color, perhaps triggered by a dietary change would render the algorithm useless. Speckle counting would be affected by focus and resolution of the camera being used; if it came slightly out of focus between shots, the image would blur and the speckle count would decrease dramatically. Overall, the ring and spoke structure algorithm seems more dependant on actual biological characteristics of the iris than the others.