16.1 Introduction

IrisCodeFootnote 1 has drawn considerable attention in the last 18 years [13] 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 [79].

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:

$$ {{h}_{\mathrm{Re}}} = 1\quad if\quad \mathrm{Re} \left( {\int\limits_{\rho } {\int\limits_{\varphi } {I(\rho, \varphi ){{e}^{\frac{ - {{{({{r}_0} - \rho )}}^2}}{{{\alpha}^2}}}}{{e}^{\frac{ - {{{({{\theta}_o} - \phi )}}^2}}{{{\beta}^2}}}}} {{e}^{{ - i\omega ({{\theta}_0} - \varphi )}}}\,\,\rho \textit{d} \rho \textit{d}\varphi } } \right) \geq 0, $$
(16.1)
$$ {{h}_{\mathrm{Re}}} = 0\quad if\quad \mathrm{Re} \left( {\int\limits_{\rho } {\int\limits_{\varphi } {I(\rho, \varphi ){{e}^{\frac{ - {{{({{r}_0} - \rho )}}^2}}{{{\alpha}^2}}}}{{e}^{\frac{ - {{{({{\theta}_o} - \varphi )}}^2}}{{{\beta}^2}}}}} {{e}^{{ - i\omega ({{\theta}_0} - \varphi )}}}\,\,\rho \textit{d}\rho \textit{d}\varphi } } \right) < 0, $$
(16.2)
$$ {{h}_{\mathrm{Im}}} = 1\quad if\quad \mathrm{Im} \left( {\int\limits_{\rho } {\int\limits_{\varphi } {I(\rho, \varphi ){{e}^{\frac{ - {{{({{r}_0} - \rho )}}^2}}{{{\alpha}^2}}}}{{e}^{\frac{ - {{{({{\theta}_o} - \varphi )}}^2}}{{{\beta}^2}}}}} {{e}^{{ - i\omega ({{\theta}_o} - \varphi )}}}\,\,\rho \textit{d} \rho \textit{d}\varphi } } \right) \geq 0, $$
(16.3)
$$ {{h}_{\mathrm{Im}}} = 0\quad if\quad \mathrm{Im} \left( {\int\limits_{\rho } {\int\limits_{\varphi } {I(\rho, \varphi ){{e}^{\frac{ - {{{({{r}_0} - \rho )}}^2}}{{{\alpha}^2}}}}{{e}^{\frac{ - {{{({{\theta}_o} - \varphi )}}^2}}{{{\beta}^2}}}}} {{e}^{{ - i\omega ({{\theta}_0} - \varphi )}}}\rho \textit{d}\rho \textit{d}\varphi } } \right) < 0, $$
(16.4)

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

$$ \textit{HD} = \frac{{\sum\nolimits_{{i = 1}}^{{2048}} {\left( {\left( {{{A}_i}\otimes {{B}_i}} \right)\cap \left( {A_i^M\cap B_i^M} \right)} \right)} }}{{\sum\nolimits_{{i = 1}}^{{2048}} {\left( {A_i^M\cap B_i^M} \right)} }}, $$
(16.5)

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

$$ {{M}_R}\left( {\rho, \varphi } \right) = {{e}^{{\frac{{ - {{{({{r}_0} - \rho )}}^2}}}{{{{\alpha}^2}}}}}}{{e}^{{\frac{{ - {{{({{\theta}_o} - \varphi )}}^2}}}{{{{\beta}^2}}}}}}\left( {\cos \left( { - \omega ({{\theta}_0} - \varphi )} \right)} \right), $$
(16.6)
$$ {{M}_I}\left( {\rho, \varphi } \right) = {{e}^{{\frac{{ - {{{({{r}_0} - \rho )}}^2}}}{{{{\alpha}^2}}}}}}{{e}^{{\frac{{ - {{{({{\theta}_o} - \varphi )}}^2}}}{{{{\beta}^2}}}}}}\left( {\sin \left( { - \omega ({{\theta}_0} - \varphi )} \right)} \right), $$
(16.7)

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:

$$ {{Z}_0} = Z\left( {\frac{{5\pi }}{4}} \right) = - \frac{{\left( {{{M}_R} + {{M}_I}} \right)}}{{\sqrt {2} }}, $$
(16.8)
$$ {{Z}_1} = Z\left( {\frac{{7\pi }}{4}} \right) = \frac{{\left( {{{M}_R} - {{M}_I}} \right)}}{{\sqrt {2} }}, $$
(16.9)
$$ {{Z}_2} = Z\left( {\frac{\pi }{4}} \right) = \frac{{\left( {{{M}_R} + {{M}_I}} \right)}}{{\sqrt {2} }}, $$
(16.10)
$$ {{Z}_3} = Z\left( {\frac{{3\pi }}{4}} \right) = - \frac{{\left({{M}_R} - {{M}_I}\right)}}{{\sqrt {2} }}. $$
(16.11)

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:

Fig. 16.1
figure 1

The four filters used in the IrisCode, (a) Z 0, (b) Z 1, (c) Z 2 and (d) Z 3

$$ j = \arg \mathop{\max}\limits_i\!\left({\int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{Z}_i}\textit{d}\rho \textit{d}\varphi } } } \right). $$
(16.12)

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.

Table 16.1 Comparison of IrisCode, winning index and coded winning index

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

$$ Z\left( \phi \right) = {{e}^{{ - {{{({{r}_0} - \rho )}}^2}/{{\sigma}^2}}}}{{e}^{{ - {{{({{\theta}_0} - \varphi )}}^2}/{{\beta}^2}}}}\cos \left( { - \omega \left( {{{\theta}_0} - \varphi } \right) - \phi } \right). $$
(16.13)

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

$$ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\rightharpoonup}$}}{Z}}\left( \phi \right) = \left( {\cos \left( \phi \right)\left\| {{{\vec{M}}_R}} \right\|{{\vec{v}}_R} + \sin \left( \phi \right)\left\| {{{\vec{M}}_I}} \right\|{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\rightharpoonup}$}}{v}}_I}} \right). $$
(16.14)

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

$$ \frac{{{{{\left( {\left\| {{{M}_R}} \right\|\cos (\phi )} \right)}}^2}}}{{{{{\left\| {{{M}_R}} \right\|}}^2}}} + \frac{{{{{\left( {\left\| {{{M}_I}} \right\|\sin (\phi )} \right)}}^2}}}{{{{{\left\| {{{M}_I}} \right\|}}^2}}} = 1. $$
(16.15)

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.

Fig. 16.2
figure 2

Illustration of the loci of \( \varphi \) and filters generated from Z

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

$$ \cos \left( \varphi \right)\int\limits_{\rho } {\int\limits_{\varphi } {\rho I{{M}_R}\textit{d}\rho \textit{d}\varphi } } + \sin \left( \varphi \right)\int\limits_{\rho } {\int\limits_{\varphi } {\rho I} {{M}_I}\textit{d}\,\,\rho \textit{d}\varphi }. $$
(16.16)

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.

Fig. 16.3
figure 3

Illustration of phase distance

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.

Fig. 16.4
figure 4

Pseudocode of the coding table

Table 16.2 The coding tables for (a) n = 3 and (b) n = 4

16.2.4 A Generalized Framework from the IrisCode

Many coding methods that are very similar to the IrisCode [1320] 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:

$$ h = 1\quad \mathrm{if}\quad \int\limits_{\rho } {\int\limits_{\varphi } {FI\textit{d}\,\,\rho \textit{d}\varphi \geq 0} }, $$
(16.17)
$$ h = 0\quad \mathrm{if}\quad \int\limits_{\rho } {\int\limits_{\varphi } {FI\textit{d}\,\,\rho \textit{d}\varphi < 0} }, $$
(16.18)

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

$$ j = \arg \;\mathop{{\max }}\limits_i \left( {\int\limits_{\rho } {\int\limits_{\varphi } {{{{( - 1)}}^{{i + 1}}}FI\textit{d}\,\,\rho \textit{d}\varphi } } } \right). $$
(16.19)

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.

Fig. 16.5
figure 5

A common framework employed by most of the existing coding methods

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. 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. 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. 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].

Fig. 16.6
figure 6

Genuine and impostor distributions for (a) the IrisCode, (b)–(d) precise phase representations for n = 3 − 5, respectively

Fig. 16.7
figure 7

ROC curves of the IrisCode and precise phase representations for n = 3, 4, and 5

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 [79]. If readers are interested in this theoretical development, please keep track of the author’s publications.