Iris matching with configurable hardware

Abstract Iris recognition systems have recently become an attractive identification method because of their extremely high accuracy. Most modern iris recognition syst ems are currently deployed on traditiona l sequential digital systems, such as a computer. However, modern advancements in configurable hardware, most notably Field-Programmable Gate Arrays (FPGAs) have provided an exciting opportunity to discover the parallel nature of modern image processing algorithms. In this study, iris matching, a repeatedly executed portion of a modern iris recognition algorithm is parallelized on an FPGA system. We demonstrate a 19 times speedup of the pa rallelized algorithm on the FPGA system when compared to a state-of-the-art CPU-based version. Keywords: Iris recognition algorithms, reconfigurable computin g, parallel computing, hamming distance, biometrics 1. INTRODUCTION Iris recognition stands out as one of the most accurate biom etric methods in use today. On e of the first iris recognition algorithms was introduced by pioneer Dr. John Daugmann [1]. An alternate iris recognition algorithm, referred to as the Ridge Energy Direction (RED) algorithm [2] will be the basis for this work. The iris is the colored part of the eye, protected by the cornea that extends from the pupil to the white of the eye. Its patterns remain stable over a lifetime. An example iris image is depicted in Figure 1. Once a digital image of the iris is captured, the system begins processing the image to transform it from a two dimensional array of pixels to a two dimensional encoded string of bits for comparison (see Segment Iris into Polar Coordinates in Figure 1). In this, the first step is to identify the iris among other facial elements such as the eyelids, sclera (white part of the eye), pupil (dark circle in the center of the eye) and ey elashes. The algorithm accomplishes this via the segmentation method described in prior art [3]. This establishes the central point of the iris within the images x and y coor dinates, allowing the computer to extract only the meaningful portions of the iris. Once the iris is segmented, the algorithm takes the iris and divides it into m concentric annuli and n radial lines, which results in an m x n representation of the iris. This step is effectively a rectangular to po lar coordinate conversion. The energy of each pixel is merely the square of the value of the infrared intensity with in the pixel and is used to distinguish features within the iris. The next step is to encode the iris image from two dimensional brightness data down to a two dimensional binary signature, referred to as the template (Template Generation in Figure 1) To accomplish this, the energy data are passed into two directional filters to determine the existence of ridges and their orientation. The RED algorithm uses directional filtering to generate the iris template , a set of bits that meaningfully represents a persons iris. To help perform this filtering, the energy data passed from the iris segmentation process is made periodic in the horizontal dimensions to account for edge effects when perf orming the rectangular to polar conversion. The filter passes over this periodic array taking in 81 (9x9) values at a time ( note, in [2], 11x11 is used). More specifically, the result is computed by first multiplying each filter value by the corresp onding energy data value. Then a summation is performed, and the result is stored in a memory location that corresponds to the centroid of the filter. This process repeats for each pixel in the energy data, stepping right, column-by-column, and down, row-by-row, until the filtering is complete as shown in Figure 2. Finally, the template is generated by comparing the results of two different directional filters (horizontal and vertical, see Figure 1) and writing a single bit that represents the filter with the highest output at the equivalent location. The output of each filter is compared and for each pixel, a 1 is assigne d for strong vertical content or a 0 for strong horizontal content. These bits are concatenated to form a bit vector unique to the iris signal that conveys the identifiable information. In this study, we assume a template consists of 2048 bits, representing the uniqueness of the iris.