Abstract
IrisCode is the most successful iris recognition method. Developed for over 18 years, IrisCode still dominates the market even though numerous iris recognition algorithms have been proposed in the academics. Currently, more than 60 million people have been mathematically enrolled by this algorithm. Its computational advantages, including high matching speed, predictable false acceptance rates, and robustness against local brightness and contrast variations, play a significant role in its commercial success. To further these computational advantages, researchers have modified this algorithm to enhance iris recognition performance and recognize other biometric traits (e.g., palm print). Many scientific papers on iris recognition have been published, but its theory is almost completely ignored. In this chapter, we will report our most recent theoretical work on the IrisCode.
16.1 Introduction
IrisCodeFootnote 1 has drawn considerable attention in the last 18 years [1–3] because of its commercial success, and outstanding performance in terms of speed and accuracy. The success of IrisCode is due to the characteristics of the human iris (e.g., it contains rich texture information and is stable for a long period of time) and also its algorithmic design. IrisCode, which is an algorithm based on coarse phase information in irises, has a number of desirable properties, including rapid matching, binomial impostor distribution, robustness against contrast and brightness variations, and a predictable false acceptance rate. Therefore, researchers have modified this algorithm to enhance iris recognition performance and recognize other biometric traits. It is extremely important to completely understand IrisCode because over 60 million people are using this algorithm, and many other biometric algorithms are extended from IrisCode.
In the past two decades, numerous papers on iris recognition have been published, but our understanding of IrisCode is still very incomplete because very limited work has been devoted to its theory. In the original paper on the IrisCode, Daugman reported that the bits of “0” and “1” in IrisCodes are equally probable and the importer hamming distance of IrisCode follows a binomial distribution with a high degree of freedom [1]. In addition to Daugman, Yao et al. investigated the relationship between the distributions of bits and the bandwidth of the Gabor filter [4]. In contrast to Daugman’s conclusion, they stated that the bits of “0” and “1” in IrisCodes are not equally probable. Their study was based on a nonzero DC Gabor filter, while Daugman’s analysis was based on zero DC Gabor filters. Hollingsworth et al. attempted to look for the most stable bits in their codes, which were not generated from 2D Gabor filters [5].
Many people believe that the inequality generating bit pairs are the core of the IrisCode because they quantize the phase information in bitwise format for high-speed matching. Thus, some researchers have replaced the Gabor filters with other linear filters or functions to design their new coding methods. Due to the operators “≤” and “>,” some researchers claim that IrisCode is an ordinal feature. This claim is controversial because the bit pairs in IrisCodes are generated from a periodic feature of the Gabor phase (see Sect. 16.2 in this chapter). Furthermore, some researchers believe that the imposter distributions of their coding methods also follow binomial distributions [6]. One clear weakness of the current understanding is that only one bit of information can be extracted from each filtering. It is an inflexible representation. In this chapter, we will summarize our recent theoretical work for a better understanding of the IrisCode [7–9].
Before reporting on our theoretical work, we will offer a brief computational summary of the IrisCode [1] for the sake of presentation convenience and consistency of notations. Two-dimensional Gabor filters with zero DC are applied to an iris image in a dimensionless polar coordinate system, I(ρ, ϕ). The complex Gabor response is quantized into two bits by using the following inequalities:
where r 0, \( \theta \) 0, ω, α, and β are the parameters of the Gabor filters [2]. Initially, Daugman used the bitwise hamming distance defined as \( \textit{HD} = \sum\nolimits_{{i = 1}}^{{2048}} {{{{\left( {{{A}_i}\otimes {{B}_i}} \right)}} \left/ {{2048}} \right.}}, \) where A i and B i are the bits in two IrisCodes and ⊗ represents the bitwise operator, XOR. Currently, masks are employed to exclude the corrupted bits from eyelashes, reflections, eyelids, and low signal-to-noise ratios [2]. The hamming distance between two IrisCodes is redefined as
where A M and B M are the masks of IrisCodes A and B, respectively, and ∩ represents bitwise operator AND.
The rest of this chapter is organized as follows: Sect. 16.2 will report a recent theory on the IrisCode. Section 16.3 will demonstrate an application of the theory. Section 16.4 gives some concluding remarks.
16.2 Theoretical Properties of IrisCode
In this section, we will prove that the IrisCode is a clustering algorithm with four prototypes; the locus of a Gabor function is a two-dimensional ellipse with respect to a phase parameter and can be approximated by a circle in many cases; the Gabor function can be considered as a phase-steerable filter, and the bitwise hamming distance can be regarded as a bitwise phase distance. Moreover, we will present a unified framework to link different coding methods.
16.2.1 IrisCode Is a Clustering Process
Let us define a filter-generating function, \( Z(\varphi, \rho, \phi ) = (\cos (\varphi ){{M}_R}(\rho, \phi ) + \sin (\varphi )\\{{M}_I}(\rho, \phi )) \), where
represent the real and imaginary parts of a Gabor filter, respectively. For the sake of convenience, we use \( Z(\varphi ) \), \( {{M}_R} \), and \( {{M}_I} \) to denote \( Z(\varphi, \rho, \phi ) \), \( {{M}_R}(\rho, \varphi ) \), and \( {{M}_I}(\rho, \varphi ), \), respectively. The same notations for other symbols will be used in the rest of this chapter. It should be noted that \( Z(\varphi ) \) is a periodic function with respect to the phase parameter \( \varphi \), i.e., \( Z(\varphi ) = Z(\varphi + 2\pi ) \) and \( {{M}_R} \) are not a zero DC filter. In this chapter, we will suppose that the DC of iris patches for filtering has been removed, and therefore, we can retain the DC components in Eq. 16.6.
By substituting 5\( \pi \)/4, 7\( \pi \)/4, \( \pi \)/4, and 3\( \pi \)/4 to \( \varphi \), we can obtain four filters:
Note that \( {{Z}_0} = - {{Z}_2} \) and \( {{Z}_1} = - {{Z}_3} \). These four filters shown in Fig. 16.1 will be considered as four cluster centers. To cluster an input iris image, we define \( j = \arg \mathop{{\max }}\limits_i \int\limits_{\rho } {\int\limits_{\varphi } {{{{\rho I{{Z}_i}\textit{d}\rho \textit{d}\varphi }} \left/ {{\left\| {\rho I} \right\|\left\| {{{Z}_i}} \right\|}} \right.}} } \) as a clustering condition, where j is called the winning index and I is the iris image in the dimensionless polar coordinate system. The clustering condition is in fact the cosine measure between Z i and ρI. Because \( \left\| {{{Z}_u}} \right\| = \left\| {{{Z}_v}} \right\| \), for all u and v, the clustering condition can be simplified as:
To prove that \( \left\| {{{Z}_u}} \right\| = \left\| {{{Z}_v}} \right\| \) for all u and v, the orthogonal property between M R and M I , i.e., \( \int\limits_{\rho } {\int\limits_{\varphi } {{{M}_I}{{M}_R}\textit{d}\rho \textit{d}\varphi = 0} }, \) should be used. By using the coding table under heading “Coded winning indexes” in Table 16.1 to encode the winning indexes and comparing the resultant bits with the bits of IrisCodes, we can easily note that these two sets of bits are equivalent. In other words, IrisCode is a clustering process, in which the cosine measure is used as a clustering criterion and Z 0 , Z 1 , Z 2 , and Z 3 are the four prototypes.
16.2.2 Properties of the Filter-Generating Function
In this subsection, we will provide the properties of the filter-generating function. First of all, we will discuss the physical meaning of Z and then the locus of \( \varphi \). Next, we will demonstrate that filters generated from the filter-generating function can be regarded as phase-steerable filters. Finally, we will pinpoint the relationship between \( \varphi \) and \( {{\tan}^{{ - 1}}}\left( {{{{\int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_I}d\rho d\varphi } } }} \left/ {{\int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_R}d\rho d\varphi } } }} \right.}} \right) \) which is commonly employed as a feature in image-based applications.
16.2.2.1 The Physical Meaning of Z and the Locus of \( \boldsymbol{\upvarphi} \)
By substituting Eqs. 16.6 and 16.7 into Z and using a compound angle formula, we can derive that
Clearly, Z is a Gabor function, and \( \varphi \) is its phase.
Now, we will prove that the locus of \( \varphi \) is an ellipse. First, we discretize M R , M I , and Z to obtain three vectors, \( {{\vec{M}}_R} \), \( {{\vec{M}}_I} \), and \( \vec{Z}(\phi ) \), respectively. The unit vectors of \( {{\vec{M}}_R} \) and \( {{\vec{M}}_I} \) are defined as \( {{\vec{v}}_R} = {{\vec{M}}_R}/\left\| {{{\vec{M}}_R}} \right\| \) and \( {{\vec{v}}_I} = {{\vec{M}}_I}/\left\| {{{\vec{M}}_I}} \right\| \). By using them to decompose \( \vec{Z}(\phi ) \), we can obtain
Clearly, \( \vec{Z}(\phi ) \) is in a two-dimensional space spanned by \( {{\vec{v}}_R} \) and \( {{\vec{v}}_I} \), and its coordinate in this space is \( (\left\| {{{M}_R}} \right\|\cos (\phi ),\left\| {{{M}_I}} \right\|\sin (\phi )) \), which fulfills the equality
Equation 16.15 pinpoints that the locus of \( \varphi \) is an ellipse. It can be proven that \( \mathop{{\lim }}\limits_{{k\to \infty }} \left( {{{{\left\| {{{M}_R}} \right\|}}^2} - {{{\left\| {{{M}_I}} \right\|}}^2}} \right) = 0 \), where \( k = \omega \beta \), which is to say that the locus of \( \varphi \) is a circle because Eq. 16.15 can be simplified as \( {{\left( {\left\| {{{M}_R}} \right\|\cos (\phi )} \right)}^2} + {{\left( {\left\| {{{M}_I}} \right\|\sin (\phi )} \right)}^2} = {{\left\| {{{M}_R}} \right\|}^2} \). The proof is given in Appendix A. Figure 16.2 illustrates the loci and the filters.
16.2.2.2 Gabor Function and Phase-Steerable Filter
By substituting \( Z(\varphi, \rho, \phi ) = (\cos (\varphi ){{M}_R}(\rho, \phi ) + \sin (\varphi ){{M}_I}(\rho, \phi )) \) into \( \int\limits_{\rho } {\int\limits_{\varphi } \rho IZ(\varphi)} \) \( {{ \textit{d}\rho \textit{d}\varphi } } \), we can obtain
Equation 16.16 pinpoints that no matter how many filters are generated from Z, two filtering operations \( \int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_R}\textit{d}\,\,\rho \textit{d}\varphi } } \) and \( \int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_I}\textit{d}\,\,\rho \textit{d}\varphi } } \) are enough to perform the clustering calculation based on \( j = \arg \mathop{{\max }}\limits_i \int\limits_{\rho } {\int\limits_{\varphi }\, {{{{\rho IZ({{\varphi}_i})\textit{d}\,\,\rho \textit{d}\varphi }} \left/ {{\left\| {\rho I} \right\|\left\| {Z({{\varphi}_i})} \right\|}} \right.}} } \) because \( \left\| {Z({{\phi}_i})} \right\| \) can be precomputed. Clearly, Z is a phase-steerable filter.
16.2.2.3 The Difference Between Gabor Phase and \( \boldsymbol{\upvarphi} \)
Let \( {{\phi}_c} = {{\tan}^{{ - 1}}}\left( {{{{\int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_I}d\,\,\rho d\varphi } } }} \left/ {{\int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_R}d\,\,\rho d\varphi } } }} \right.}}\!\! \right) \) be a Gabor phase. Researchers generally consider \( {{\phi}_c} \) as a phase of a local patch, instead of \( \varphi \). Their relationship is not clear. It can be proven that \( \left| {\varphi - {{\phi}_c}} \right| \leq {{\tan}^{{ - 1}}}\left( {{{1} \left/ {{\sqrt {K} }} \right.}} \right) - {{\tan}^{{ - 1}}}\left( {\sqrt {K} } \right) \), where \( K = {{\left\| {{{M}_I}} \right\|}^2}/{{\left\| {{{M}_R}} \right\|}^2} \). This proof is given in [8], which is lengthy. Note that when K = 1, \( {{\phi}_c} = \varphi \) and the locus of \( \varphi \) is a circle.
16.2.3 Phase Distance and Its Relationship with Bitwise Hamming Distance
In this subsection, we will demonstrate that the phase distance can be represented as the bitwise hamming distance. Assume that we generate a number of filters from Z for clustering based on the cosine measure. If the number of filters are more than four, we need a new distance measure to compare the prototypes, i.e., \( \vec{Z}(\omega ) \) and \( \vec{Z}(\gamma ) \). In Sect. 16.2.2.1, we have already shown that Z is on a two-dimensional space and the locus of \( \varphi \) is an ellipse, and therefore, \( \vec{Z}(\omega ) \) and \( \vec{Z}(\gamma ) \) can be measured by the phase distance between ω and γ defined as \( \min \left( {\left| {\omega - \gamma } \right|,\;2\pi - \left| {\omega - \gamma } \right|} \right) \). If ω and γ are generated from uniform sampling, i.e., \( \omega = 2\pi p/2n \) and \( \gamma = 2\pi q/2n \), where p and q are two integers between 0 and 2n − 1, the phase distance can be rewritten as \( \min \left( {\frac{\pi }{n}\left| {p - q} \right|,\;\frac{\pi }{n}\left( {2n - \left| {p - q} \right|} \right)} \right) \). n is called the order of the coding scheme. This formula can be further simplified as \( \min \left( {\left| {p - q} \right|,\;\left( {2n - \left| {p - q} \right|} \right)} \right) \) if we consider \( \pi \) /n as one unit distance. Note that n is equal to 2 for the IrisCode because it uses four prototypes in the clustering process. Figure 16.3 illustrates the phase distance and winning indexes.
The relationship between the bitwise hamming distance employed in the IrisCode and phase distance based on the integer representations of ω and γ is still not clear. By using the coding scheme given in Fig. 16.4 to encode p and q, the phase distance can be computed through bitwise hamming distance, i.e., \( \sum\nolimits_{{i = 1}}^n {{{b}_{{i,q}}}\otimes {{b}_{{i,p}}}} = \min \left( {\left| {p - q} \right|,\;2n - \left| {p - q} \right|} \right) \). The proof of this equation is given in Appendix B. Table 16.2 shows the coding tables for n = 3 and n = 4. It clearly indicates that the difference between two adjacent winning indexes is only one bit, and most importantly, this coding scheme retains the phase distance. It should be emphasized that in rotating between any adjacent phase quadrant, only a single bit in the IrisCode changes, while in rotating between one phase quadrant to the opposite phase quadrant, both two bits in the IrisCode change, which is to say that the distances between phase quadrants in the IrisCode are also retained. By exploiting the relationship between the bitwise hamming distance and the phase distance, we can extend the IrisCode from using the four prototypes in the clustering process to using 2n prototypes and high-speed matching.
16.2.4 A Generalized Framework from the IrisCode
Many coding methods that are very similar to the IrisCode [13–20] have been proposed for iris and palm print recognition [10, 11]. A common approach is to substitute other linear transforms or filters for the Gabor filters in the IrisCode. We have already proven that the IrisCode is a clustering with four prototypes. It is not surprising that these coding methods can also be considered as clustering algorithms, but with two prototypes. Mathematically, these methods can be represented by the following two equations:
where h is a resultant bit and F is a linear filter employed in these methods. Let \( {{( - 1)}^{{\upsilon + 1}}}F \) be a filtering-generating function, where \( \nu \in \{ 0,\;1\} \). It can only generate two filters, F and –F. Note that these two filters have the same power, i.e., \( \left\| F \right\| = \left\| { - F} \right\| \); the clustering criterion based on the cosine measure can be simplified as
If \( \int\limits_{\rho } {\int\limits_{\varphi } {FI\textit{d}\,\,\rho \textit{d}\varphi } } > \int\limits_{\rho } {\int\limits_{\varphi } { - FI\textit{d}\,\,\rho \textit{d}\varphi } } \), j = 1 and \( \int\limits_{\rho } {\int\limits_{\varphi } {FI\textit{d}\,\,\rho \textit{d}\varphi } } > 0 \). If \( \int\limits_{\rho } {\int\limits_{\varphi } { - FI\textit{d}\,\,\rho \textit{d}\varphi } } > \int\limits_{\rho } {\int\limits_{\varphi } {FI\textit{d}\,\,\rho \textit{d}\varphi } } \), j = 0 and \( \int\limits_{\rho } {\int\limits_{\varphi } {FI\textit{d}\,\,\rho \textit{d}\varphi } } < 0 \). By using the first-order coding scheme defined in Fig. 16.4 to encode the winning index j, we get back Eqs. 16.17 and 16.18.
In addition to these coding schemes, other coding methods that use log Gabor filters and Gabor filters employ the order 2 coding scheme, which is to say that in their clustering processes, they have four prototypes, as with IrisCode [17, 20]. Our competitive code for palm print identification [12] uses the negative real part of a Gabor function as a filter-generating function to produce six filters for the clustering process. It is the first coding method that uses an order higher than 2. All of these coding methods can be put into a unified framework, which is composed of a filter-generating function, clustering, coding scheme, and bitwise phase matching as illustrated in Fig. 16.5.
16.3 An Application Based on the Theoretical Results
To demonstrate the theoretical results that have an impact on applications, an algorithm that uses higher precision to present the Gabor phase was designed to improve matching accuracy for iris recognition. Its computational steps are given below:
-
1.
Compute \( \int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_R}\textit{d}\,\,\rho \textit{d}\varphi } } \) and \( \int\limits_{\rho } {\int\limits_{\varphi } {\rho I} {{M}_I}\textit{d}\,\,\rho \textit{d}\varphi } \).
-
2.
Use the results in Sect. 16.2.2, i.e., \( \cos \left( {i\pi /n} \right)\int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_R}\textit{d}\,\,\rho \textit{d}\varphi } } + \sin \left( {i\pi /n} \right) \int\limits_{\rho } \int\limits_{\varphi } \) \( { {\rho I} {{M}_I}\textit{d}\,\,\rho \textit{d}\varphi } \) to compute the winning index, \( j = \arg \;\mathop{{\max }}\limits_i \int\limits_{\rho } \int\limits_{\varphi } {{{{\rho IZ\left( {i\pi /n} \right)\textit{d}\,\,\rho \textit{d}\varphi }} } } \Big/ \) \( {{\left\| {\rho I} \right\|\left\| {Z\left( {i\pi /n} \right)} \right\|}} \).
-
3.
Use the results in Sect. 16.2.3 to encode the winning indexes and bitwise hamming distance to perform high-speed matching.
The algorithm is called precise phase representation, which inherits the properties of the IrisCode (e.g., high-speed matching). The precision of the phase is controlled by the parameter n. In total, n bits are allocated for a phase value. Note that the IrisCode uses two bits.
16.3.1 Database
The CASIA-1 iris database that contains 756 images from 108 irises is used for this evaluation. One hundred and forty images were used to train the parameters of the Gabor filters. The remaining was used for the following tests. In these experiments, we used d′ index and receiver operating characteristic (ROC) curves as a plot of the genuine acceptance rates against the false acceptance rates for all possible operating points as performance indexes. The experimental results based on the West Virginia University (WVU) iris database are reported in [9].
16.3.2 Experimental Results
We compared the original IrisCode and precise phase representations for n = 3, 4, and 5 to demonstrate the effectiveness of the latter. Irises from the same and different individuals were matched to respectively obtain 1,848 genuine hamming distances and 187,572 impostor hamming distances for each representation. These distances were used to estimate the genuine and impostor distributions. The genuine and impostor distributions of the IrisCode and precise phase representations for n = 3, 4, and 5 are given in Fig. 16.6a–d, respectively. Figure 16.7 depicts the corresponding ROC curves for comparison. It shows that the precise phase representation of the order 4 always provides the best results. Its equal error rate is 0.32%. In a comparison of the IrisCode and the precise phase representation of the order 4, the latter has a 3.1% improvement in the genuine acceptance rate when the false acceptance rate is 5.3 × 10-4%. However, an increase in the precision of the phase does not always improve accuracy, because some encoded bits are in fact not stable. It is also the case in eigenface in which increasing numbers of principle components do not always increase accuracy. Note that the matching speed of the precise phase representation of the order 4 is slower than the IrisCode; roughly speaking, it is half of that of the IrisCode since the latter only uses two bits to represent a phase value while the former requires four bits. For some applications, such as identifying a person in a midsized company for access control, one million comparisons per second is not necessary. We can use the precise phase representation to obtain high accuracy for these applications. It should be emphasized that the precise phase representation is a flexible representation to balance speed and accuracy.
16.4 Conclusion
The IrisCode has been developed for nearly two decades, and more than 60 million people are using this algorithm. Although numerous papers on iris recognition have been published, our theoretical understanding of the IrisCode is not yet complete because only limited research efforts have been put into analyzing the IrisCode. In this chapter, we have summarized our recent work that fills this knowledge gap [7–9]. If readers are interested in this theoretical development, please keep track of the author’s publications.
Notes
- 1.
In this paper, IrisCode is used interchangeably for both the method and features of iris recognition developed by Daugman. Recently, this method has also been dubbed the Daugman algorithm.
References
Daugman, J.G.: High confidence visual recognition of persons by a test of statistical independence. IEEE Trans. Pattern Anal. Mach. Intell. 15(11), 1148–1161 (1993)
Daugman, J.: How iris recognition works. IEEE Trans. Circuit. Syst. Video Technol. 14(1), 21–30 (2004)
Daugman, J.: Probing the uniqueness and randomness of IrisCode: results from 200 billion iris cross-comparisons. Proc. IEEE 94, 11 (2006)
Yao, P., Li, J., Ye, X., Zhuang, Z., Li, B.: An analysis and improvement of an iris identification algorithm. Proceeding of the 18th ICPR vol. 4, pp. 362–365. IEEE, Piscataway, NJ (2006)
Hollingsworth, K.P., Bowyer, K.W., Flynn, P.J.: The best bits in an iris code. TPAMI 31(6), 964–973 (2009)
Masek, L.: Recognition of human iris patterns for biometric identification. Bachelor thesis, The University of Western Australia
Kong, A.W.K.: Palmprint identification based on generalization of IrisCode. PhD thesis, University of Waterloo (2007)
Kong, A.: An analysis of Gabor detection. International Conference on Image Analysis and Recognition (ICIAR), Halifax, Canada, 6–8 July 2009
Kong, A.W.K., Zhang, D., Kamel, M.: An analysis of IrisCode. IEEE Trans. Image Process. 19(2), 522–532 (2010)
Kong, A.W.K., Zhang, D., Kamel, M.: Palmprint identification using feature-level fusion. Pattern Recognit. 39, 478–487 (2006)
Zhang, D., Kong, W.K., You, J., Wong, M.: On-line palmprint identification. IEEE Trans. Pattern Anal. Mach. Intell. 25(9), 1041–1050 (2003)
Kong, A.W.K., Zhang, D., Kamel, M.: An analysis of brute-force break-ins of a palmprint authentication system. IEEE Trans. Syst. Man and Cybern. Part B 36(5), 1201–1205 (2006)
Ma, L., Tan, T., Wang, Y., Zhang, D.: Efficient iris recognition by characterizing key local variations. IEEE Trans. Image Process. 13(6), 739–750 (2004)
Krichen, E., Mellakh, M.A., Garcia-Salicetti, S., Dorizzi, B.: Iris identification using wavelet packets. Proc. Int. Conf. Pattern Recognit. 4, 226–338 (2004)
Noh, S.I., Bae, K., Park, Y., Kim, J.: A Novel Method to Extract Features for Iris Recognition System. Lecture Notes in Computer Science, vol. 2688, pp. 861–868. Springer, Berlin (2003)
Bea, K., Noh, S., Kim, J.: Iris Feature Extraction Using Independent Component Analysis. Lecture Notes in Computer Science, vol. 2688, pp. 838–844. Springer, Berlin (2003)
Zhang, P.F., Li, D.S., Wang, Q.: A novel iris recognition method based on feature fusion. In: Proceedings of the Third International Conference on Machine Learning and Cybernetics, pp. 26–29. IEEE, Piscataway, NJ (2004)
Ea, T., Valentian, A., Rossant, F., Amiel, F. Amara, A.: Algorithm implementation for iris identification. In: Proceeding of 48th Midwest Symposium on Circuits and Systems, pp. 1207–1210. IEEE, Piscataway, NJ (2005)
Park, C.H., Lee, J.J., Oh, S.K., Song, Y.C., Choi, D.H., Park, K.H.: Iris Feature Extraction and Matching Based on Multiscale and Directional Image Representation. LNCS, vol. 2695, pp. 576–583. Springer, Berlin (2004)
Rydgren, E., Amiel, T.E.A.F., Rossant, F., Amara, A.: Iris features extraction using wavelet packets. Proc. Int. Conf. Image Process. 2, 861–864 (2004)
Acknowledgments
We would like to thank CASIA for sharing their database. This work is partially supported by the Ministry of Education, Singapore, through AcRF Tier 1.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendices
16.1.1 Appendix A
This appendix proves that \( \left\| {{{M}_R}} \right\| = \left\| {{{M}_I}} \right\| \) when \( k\to \infty \),where \( k = \omega \beta \).
Considering \( {{\left\| {{{M}_R}} \right\|}^2} - {{\left\| {{{M}_I}} \right\|}^2} \)
Let \( \gamma = \frac{k}{\beta}\varphi \). Thus,
Let \( 2\gamma = \tau \)
\( {{\left\| {{{M}_R}} \right\|}^2} - {{\left\| {{{M}_I}} \right\|}^2} \) is always greater than zero because \( \alpha \), \( \beta \), and \( k \) are greater than zero. Note that \( \mathop{{\lim }}\limits_{{k\to \infty }} \left( {{{{\left\| {{{M}_R}} \right\|}}^2} - {{{\left\| {{{M}_I}} \right\|}}^2}} \right) = \mathop{{\lim }}\limits_{{k\to \infty }} \frac{1}{2}\alpha \beta \pi {{e}^{{ - \frac{{{{k}^2}}}{2}}}} = 0 \).
16.1.2 Appendix B
This appendix shows that the phase distance can be calculated through bitwise hamming distance.
Let two winning indexes be j − 1 and j − 1 + k, where \( 1 \leq j \leq j + k < 2n \). Their phase distance is \( \min (k,\;2n - k) \). By using the coding scheme given in Fig. 16.4, they are represented by the jth and j + kth column vectors of matrix B. We would like to prove that
Because all b i,j are either one or zero, \( \sum\nolimits_{{i = 1}}^n {{{b}_{{i,j}}}\otimes {{b}_{{i,j + h}}}} = \sum\nolimits_{{i = 1}}^n {{{b}_{{i,j}}} - {{b}_{{i,j + k}}}} \).
- Case 1::
-
If \( j \leq n \) and \( j + k \leq n \):
From the definition of A, we know \( \sum\nolimits_{{i = 1}}^n {\left| {{{b}_{{i,j}}} - {{b}_{{i,j + k}}}} \right| = k} \).
- Case 2::
-
If \( j > n \) and \( j + k > n \):
As in Case 1, we know \( \sum\nolimits_{{i = 1}}^n {\left| {{{b}_{{i,j}}} - {{b}_{{i,j + k}}}} \right| = k} \).
- Case 3::
-
If \( j \leq n \) and \( j + k > n \) and \( k \leq n \):
$$ \mathrm{Consider}\quad {{b}_{{i,j}}} = 1\quad \mathrm{and}\quad {{b}_{{i,j + k}}} = 1. $$(16.20)From the definition of A, we have \( 1 \leq i < j \) and \( j + k - n \leq i \leq n \).
Then, \( j + k - n \leq i < j \).
The number of i that satisfies condition (16.20) is
$$ \max \left( {0,\;j - \left( {j + k - n} \right)} \right). $$(16.21)Since \( k \leq n \), \( \max \left( {0,\;j - \left( {j + k - n} \right)} \right) = n - k \).
$$ \mathrm{Consider}\quad {{b}_{{i,j}}} = 0\quad \mathrm{and}\quad {{b}_{{i,j + k}}} = 0. $$(16.22)From the definition of A, we have \( i \geq j \) and \( i < j + k - n \).
Then \( j \leq i < j + k - n \).
The number of i that satisfies condition (16.22) is
$$ \max \left( {0,\;j + k - n - j} \right). $$(16.23)Since \( k \leq n \), \( \max \left( {0,\;k - n} \right) \)=0.
Thus, \( \sum\nolimits_{{i = 1}}^n {\left| {{{b}_{{i,j}}} - {{b}_{{i,j + k}}}} \right|} = n - \left( {n - k} \right) = k \).
- Case 4::
-
If \( j \leq n \) and \( j + k > n \) and \( k > n \):
$$ \mathrm{Consider}\quad {{b}_{{i,j}}} = 1\quad \mathrm{and}\quad {{b}_{{i,j + k}}} = 1. $$(16.24)From (16.21), the number of i that satisfies condition (16.24) is \( \max \left( 0,\;j\ - \right. \) \( \left.\left( {j + k - n} \right)\right) \).
Since \( k > n \), \( \max \left( {0,\;n - k} \right) = 0 \).
$$ \mathrm{Consider}\quad {{b}_{{i,j}}} = 0\quad \mathrm{and}\quad {{b}_{{i,j + k}}} = 0. $$(16.25)From (16.23), the number of i that satisfies condition (16.25) is \( \max \left( 0,\;j + \right. \) \( \left. k - n - j \right) \).
Since k > n, \( \max \left( {0,\;k - n} \right) = k - n \).
Thus, \( \sum\nolimits_{{i = 1}}^n {\left| {{{b}_{{i,j}}} - {{b}_{{i,j + k}}}} \right|} = n - (k - n) = 2n - k \).
Thus, \( \sum\nolimits_{{i = 1}}^n {{{b}_{{i,j}}}\otimes {{b}_{{i,j + k}}}} = k \) for Cases 1–3, and \( \sum\nolimits_{{i = 1}}^n {{{b}_{{i,j}}}\otimes {{b}_{{i,j + k}}}} = 2n - k \) for Case 4. Since \( 2n - k \geq k \) for Cases 1–3 and \( 2n - k < k \) for Case 4, \( \sum\nolimits_{{i = 1}}^n {{{b}_{{i,j}}}\otimes {{b}_{{i,j + k}}}} = \min \left( {k,\;2n - k} \right). \)
Rights and permissions
Copyright information
© 2013 Springer-Verlag London
About this chapter
Cite this chapter
Kong, A.W.K., Zhang, D., Kamel, M. (2013). An Introduction to the IrisCode Theory. In: Burge, M., Bowyer, K. (eds) Handbook of Iris Recognition. Advances in Computer Vision and Pattern Recognition. Springer, London. https://doi.org/10.1007/978-1-4471-4402-1_16
Download citation
DOI: https://doi.org/10.1007/978-1-4471-4402-1_16
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-4401-4
Online ISBN: 978-1-4471-4402-1
eBook Packages: Computer ScienceComputer Science (R0)