Mathematical Explanation of Iris Recognition

An "IrisCode" is constructed by demodulation of the iris pattern. This process uses complex-valued 2D Gabor wavelets to extract the structure of the iris as a sequence of phasors (vectors in the complex plane), whose phase angles are quantized to set the bits in the IrisCode.

This process is performed in a doubly-dimensionless polar coordinate system that is invariant to the size of the iris (and hence invariant to the imaging distance and the optical magnification factor), and also invariant to the dilation diameter of the pupil within the iris.

The demodulating wavelets are parameterized with four degrees-of-freedom: size, orientation, and two positional coordinates. They span several octaves in size, in order to extract iris structure at many different scales of analysis. Because the information extracted from the iris is inherently described in terms of phase, it is insensitive to contrast, camera gain, and illumination level (unlike correlation methods). The phase description is very compact, requiring only 256 bytes to represent each iris pattern, plus control bytes that exclude artifacts such as eyelashes or reflections or data that is unstable or weak. The 2D Gabor wavelets are optimal encoders under the Heisenberg-Weyl uncertainty relation for extraction of information in conjoint spatial - spectral representations.

The recognition of irises by their IrisCodes is based upon the failure of a test of statistical independence. Any given IrisCode is statistically guaranteed to pass a test of independence against any IrisCode computed from a different eye; but it will uniquely fail this same test against the eye from which it was computed. Thus the key to iris recognition is the failure of a test of statistical independence.

The equations and the wavelet phasor diagram below summarize the pattern encoding process. Using a Boolean XOR similarity metric on the phasor bit strings generates similarity scores among different IrisCodes that are binomially-distributed and that therefore have tails that attenuate extremely rapidly. More detailed information about the complex-valued 2D Gabor encoding wavelets, about the test of statistical independence, and the table of False Match probabilities generated by IrisCodes, can be found in the published papers cited in the References at the bottom of this page or elsewhere on this website.


  1. Daugman J (2004) "How iris recognition works." IEEE Trans. CSVT, vol. 14, no. 1, pp. 21 - 30. (.pdf)

  2. Daugman J (2003) "Demodulation by complex-valued wavelets for stochastic pattern recognition." Int'l Journal of Wavelets and Multi-resolution Information Processing, vol. 1, no. 1, pp 1 - 17. (.pdf)

  3. Daugman J (2000) "Biometric decision landscapes." Technical Report No. TR482, University of Cambridge Computer Laboratory. (.pdf)

  4. Daugman J and Downing C J (1995) "Demodulation, predictive coding, and spatial vision." Journal of the Optical Society of America A, vol. 12, no. 4, pp 641 - 660.

  5. Daugman J (1993) "High confidence visual recognition of persons by a test of statistical independence." IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 15, no. 11, pp 1148 - 1160. (.pdf)

  6. Daugman J (1985) "Uncertainty relation for resolution in space, spatial frequency, and orientation optimized by two-dimensional visual cortical filters." Journal of the Optical Society of America A, vol. 2, no. 7, pp 1160 - 1169.

Back to Main Page.