Computer Vision and Image Understanding 115 (2011) 1239–1244
Contents lists available at ScienceDirect
Computer Vision and Image Understanding journal homepage: www.elsevier.com/locate/cviu
Iris recognition based on elastic graph matching and Gabor wavelets R.M. Farouk Department of Mathematics, Faculty of Science, Zagazig University, P.O. Box 44519, Zagazig, Egypt
a r t i c l e
i n f o
Article history: Received 1 October 2010 Accepted 22 April 2011 Available online 29 April 2011 Keywords: Iris recognition Segmentation Graph matching Feature extraction Gabor wavelets
a b s t r a c t In this paper, we present a new method for iris recognition based on elastic graph matching and Gabor wavelets. We have used the circular Hough transform to determine the iris boundaries. Individual segmented irises are represented as labeled graphs. Nodes are labeled with jets; edges are labeled with distance vectors. A similarity function is defined to compare two graphs, taking into account the similarities of individual jets and the relative distortion of the graphs. For matching and recognition, only jets referring to corresponding points are compared. Recognition results are given for galleries of irises from CASIA version 1 and UBIRIS databases. The numerical results show that, the elastic graph matching is a effective technique for iris matching process. We also compare our results with previous results and find out that, the elastic graph matching is an effective matching performance. Ó 2011 Elsevier Inc. All rights reserved.
1. Introduction Biometrics is inherently a more reliable and capable technique to determine a person’s identity by his or her own physiological or behavioral characteristics. The features used for personnel identification by current biometric applications include facial features, fingerprints, iris, palm-prints, retina, handwriting signature, DNA, gait, etc. [1,2]. The developments in science and technology have made it possible to use biometrics in applications, where it is required to establish or confirm the identity of individuals. Applications such as passenger control in airports, access control in restricted areas, border control, database access and financial services are some of the examples, where the biometric technology has been applied for more reliable identification and verification. The human iris is an annular part between pupil and sclera and its complex pattern contains many distinctive features such as arching ligaments, furrows, ridges, crypts, corona, and freckles. At the same time the iris is protected from the external environment behind the cornea and the eyelids. No subject to deleterious effects of aging, the small-scale radial features of the iris remain stable and fixed from about one year of age throughout one’s life. The reader’s two eyes, directed at this page, have identical genetics; they will likely have the same color and may well show some large scale pattern similarities; nevertheless, they have quite different iris pattern details. All these advantages let the iris recognition be a promising topic of biometrics and get more and more attention [3,4,6,7,8,14,16,27]. Even though iris is seen as the most reliable biometric measure, it
E-mail address:
[email protected] 1077-3142/$ - see front matter Ó 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.cviu.2011.04.002
is still not in everyday use because of the complexity of the systems. In an iris recognition system, iris location is an essential step that spends nearly more than half of the entire processing time [5,9]. The correctness of iris location is required for the latter processes such as normalization, feature extraction and pattern matching. For those reasons, to improve the speed and accuracy of iris location becomes nontrivial. The United Arab Emirates expellees tracking and border control system [10] is an outstanding example of the technology. 1.1. Related work The research in the area of iris recognition has been receiving considerable attention and a number of techniques and algorithms have been proposed over the last few years. Flom and Safir [11] first proposed the concept of automated iris recognition. Wildes [7] combines the method of edge detection with Hough transform for iris location. However, the parameters need to be precisely set and lengthy location time is required. Daugman [14] method is developed first using the integro-differential operator for localizing iris regions along with removing possible eyelid noises. In the past few years, some methods made certain improvement based on the Daugman’s method [5,9]. Boweyer et al. [1] recently presented an excellent review of these methods. However, at this time, essentially all of the large scale implementations of iris recognition are based on the Daugman iris recognition algorithms. The difference between a pair of iris codes was measured by their Hamming distance. Boles and Boashash [12] calculated a zero-crossing representation of one-dimensional wavelet transform at various resolution levels of a concentric circle on an iris image to characterize the texture of the iris. Iris matching was based on two dissimilarity functions.
1240
R.M. Farouk / Computer Vision and Image Understanding 115 (2011) 1239–1244
Huang et al. [13] decomposed an iris image into four levels using 2-D Haar wavelet transform and quantized the fourth-level high-frequency information to form an 87-bit code. A modified competitive learning neural network was adopted for classification. Tisse et al. [17] analyzed the iris characteristics using the analytic image constructed by the original image and its Hilbert transform. Emergent frequency functions for feature extraction were in essence samples of the phase gradient fields of the analytic image’s dominant components. Similar to the matching scheme of Daugman, they sampled binary emergent frequency functions to form a feature vector and used Hamming distance for matching. The correlation filter of each class was designed using the twodimensional Fourier transforms of training images Huang et al. [13]. If the correlation output (the inverse Fourier transform of the product of the input images Fourier transform and the correlation filter) exhibited a sharp peak, the input image was determined to be from an authorized subject, otherwise an impostor one. In another approach by Ma et al. [4] and even symmetry Gabor filters are used to capture local texture information of the iris, which are used to construct a fixed length feature vector. Also, in the last year only, the iris takes the attention of many researchers and different ideas are formulated and published. For example, Abhyankara and Schuckers [19] presented a bio-orthogonal wavelet based iris recognition system, which modified and demonstrated to perform off-angle iris recognition. An efficient and robust segmentation of noisy iris images for non-cooperative iris recognition is described by Tan et al. [20]. Iris image segmentation and sub-optimal images is discussed by Matey et al. [21]. Comparison and combination of iris matchers for reliable personal authentication are introduced by Kumar and Passi [22]. Noisy iris segmentation, with boundary regularization and reflections removal, is discussed by Labati and Scotti [23]. 1.2. Outline In this paper, we first present the circular Hough transform for iris preprocessing (segmentation step) which is a crucial step to the success of any iris recognition system. Since data that is falsely represented as iris pattern data will corrupt the biometric templates generated, thus resulting in poor recognition rates. Once the iris region is successfully segmented from an eye image, the next stage is to present each iris image as a graph of a fixed iris region so that it has fixed dimensions in order to allow comparisons.
rithm based on the circular Hough transform is employed by Wildes [7] and Tisse et al. [17]. The localization method, similar to Daugman’s method, is also based on the first derivative of the image. In the proposed method by Wildes, an edge map of the image is first obtained by thresholding the magnitude of the image intensity gradient:
jrGðx; yÞ Iðx; yÞj; Gðx; yÞ ¼
1 2pr2
ð1Þ
exp
! ðx x0 Þ2 þ ðy y0 Þ2 ; 2r2
ð2Þ
where Gðx; yÞ is a Gaussian smoothing function with scaling parameter r to select the proper scale of edge analysis. Firstly, an edge map is generated by calculating the first derivatives of intensity values in an eye image and then thresholding the result. From the edge map, votes are cast in Hough space to maximize the defined Hough transform for the desired contour. Considering the obtained edge points as for the parameters of circles passing through each edge points as ðxi ; yi Þ; i ¼ 1; 2; . . . ; n. These parameters are the center coordinates xc and yc, and the radius r, which are able to define any circle according to the equation:
x2c þ y2c ¼ r 2 :
ð3Þ
A Hough transform can be written as:
Hðxc ; yc ; rÞ ¼
n X
hðxi ; yi ; xc ; yc ; rÞ;
ð4Þ
i¼1
hðxi ; yi ; xc ; yc ; rÞ ¼
1 if 0
gðxi ; yi ; xc ; yc ; rÞ ¼ 0
otherwise
ð5Þ
where the parametric function. gðxi ; yi ; xc ; yc ; rÞ ¼ ðxi xc Þ2 þ ðyi yc Þ2 r2 Assuming a circle with the center (xc, yc) and radius r, the edge points that are located over the circle result in a zero value of the function g. The value of g is then transformed to 1 by the h function, which represents the local pattern of the contour. The local patterns are then used in a voting procedure using the Hough transform, H, in order to locate the proper pupil and limbus boundaries (see Figs. 1–3). In order to detect limbus, only vertical edge information is used. The upper and lower parts, which have the horizontal edge information, are usually covered by the two eyelids. The horizontal edge information is used for detecting the upper and lower eyelids, which are modeled as parabolic arcs.
2. Iris localization techniques (segmentation) 2.2. Detecting eyelids, eyelashes and noise regions It is the stage of locating the iris region in an eye image; where as mentioned the iris region is the annular part between pupil and sclera. The iris segmentation has achieved by the following three main steps. The first step locates the center and radius of the iris in the input image by using the circular Hough transform. Then a set of points is taken as pupil initialization from the nearby points to the iris center. The last step locates the pupil boundary points by using the region-based active contours.
The eyelids are detected by first fitting a line to the upper and lower eyelid using the linear Hough transform. A horizontal line is then drawn which intersects with the first line at the iris edge
2.1. Hough transform The Hough transform is a standard computer vision algorithm that can be used to determine the parameters of simple geometric objects, such as lines and circles, present in an image. The circular Hough transform can be employed to deduce the radius and center coordinates of the pupil and iris regions. For instance, recognition of a circle can be achieved by considering the strong edges in an image as the local patterns and searching for the maximum value of a circular Hough transform. An automatic segmentation algo-
Fig. 1. Segmentation of an optimal iris image: (a) the original iris image and (b) the final segmentation.
1241
R.M. Farouk / Computer Vision and Image Understanding 115 (2011) 1239–1244
congruency of a bank of log-Gabor filters [26]. The edge information is also infused with the region information to localize the noise regions (see Fig. 4). 3. Iris representation Let I(x) be the gray level distribution of the input segmented iris image (see Fig 5). Our image representation is based on the complex convolution Farouk [15]:
WIð~ k; ~ x0 Þ ¼ Fig. 2. Segmentation of a near optimal iris image: (a) the original iris image and (b) the final segmentation.
Z
2
w~k ð~ x0 ~ xÞIð~ xÞd x ¼ ðw~k IÞð~ x0 Þ:
ð6Þ
The operator W symbolizing the convolution with a family of wavelet kernels w~k
w~k ð~ xÞ ¼
~ k2
r2
! ~ k2~ x2 ~ exp expik~x : 2r 2
ð7Þ
Which are parameterized by the two-dimensional vector ~ k (the notation ~ k2 or ~ k~ x refers to the scalar product). These kernels have the form of a plane wave restricted by a Gaussian envelope function, ~ k determining wavelength and orientation of the wave. We have corrected for the DC value of the kernels (that is, a non-vanishR 2 ing value of the integral w~k ð~ xÞd ~ x, although it is negligible for the large window width r ¼ 2p we are using. For our images we employed a discrete lattice of ~ k values
~ kml ¼ Fig. 3. Segmentation of a sub-optimal iris image: (a) the original iris image and (b) the final segmentation.
that is closest to the pupil. A second horizontal line allows the maximum isolation of eyelid regions. Detecting eyelashes requires proper choice of features and classification procedure due to complexity and randomness of the patterns. The proposed eyelash detection by Kong and Zhang [24] consider eyelashes as two groups of separable eyelashes, which are isolated in the image, and multiple eyelashes, which are bunched together and overlap in the eye and applies two different feature extraction methods to detect eyelashes. Separable eyelashes are detected using 1-D Gabor filter, since the convolution of a separable eyelash with the Gaussian smoothing function results in a low output value. Thus, if a resultant point is smaller than a threshold, it is noted that this point belongs to an eyelash. Multiple eyelashes are detected using the variance of intensity. If the variance of intensity values in a small window is lower than a threshold, the center of the window is considered as a point in an eyelash. The two features combined with a connectivity criterion would lead to the decision of presence of eyelashes. In addition, an eyelash detection method is also proposed by Huang et al. [25] that uses the edge information obtained by phase
km cos jl km sin jl
! ;
mþ2
k m ¼ p 2 2 ;
jl ¼
l 2 f0; . . . ; 7g:
pl 8
;
m 2 f0; 1; 2; 3; 4g; ð8Þ
The wavelet transform yields a complex number of oscillating phase as a function of position. This leads to local similarity optima when matching stored wavelet features to the transform of an image. Instead of the linear wavelet transform we therefore use the absolute values
J ml ð~ x0 Þ ¼ jWIð~ kml ; ~ x0 Þj:
ð9Þ
It is this array of numbers that we use as feature vector to characterize the image at location ~ x0 . We will refer to this vector as a ‘‘jet’’. For two jets J1 and J2 a similarity value S(J1, J2) is defined as the normalized scalar product (considering jets simply as vectors):
SðJ 1 ; J 2 Þ ¼
J1 J2 : kJ 1 kkJ 2 k
ð10Þ
This is used when comparing jets taken from two images or from an image and an object model. The total system is composed of an image domain I and a model domain M. Images and object models are represented as labeled graphs. Labels on the nodes are jets. Edges connect neighboring nodes. In the work reported here we have treated the edge labels implicitly by just storing the positions of nodes as two-dimen-
Fig. 4. The iris localization, where black regions denote detected eyelids and eyelashes regions.
1242
R.M. Farouk / Computer Vision and Image Understanding 115 (2011) 1239–1244
Fig. 5. Original image at the top, the first column on the left shows real part of complex wavelet transform Eq. (6), the second column on the right shows imaginary part and the third column shows the absolute value for two different scales.
sional coordinates and creating distance information from coordinates whenever needed. Thus the natural substrate to represent an image graph is based on a jet and a pixel index pair. Permanently stored model graphs are formed from sparse subsets of pixels forming a circular graph with spacing of 7 pixels, linked by up to four edges per node. In our system we describe the relation of the model domain to the image domain with the help of a few binary variables that decide on the recognition status of a model and the visibility or occlusion (eyelashes and eyelids regions see Fig. 4) of its individual nodes, plus a single position vector for the placement of the model graph in the image. These variables will be introduced in the next section.
4. Elastic model graph formulation For elastic model graph formulation, the segmented iris images are represented as elastic model graph of nodes a spacing 7 pixels are selected in the image. For each of the selected nodes Jð~ xi Þ at ~ xi the similarity SðJ 1 ð~ xi Þ; J 2 ð~ xi ÞÞ between jets taken from input iris image and stored iris images, respectively, is computed according to Eq. (10). These similarity values are high within the area covered by the same object and low over the background. (Similarities for nodes inside an iris region but near its border are lower to the extent their wavelets reach over into the eyelids and eyelashes
region.) Now all graph nodes points are selected for which this similarity is above a threshold. The procedure may produce several mutually disconnected graphs. From among these, the largest is picked. (Two graphs are connected if their minimal distance is lattice spacing). This graph formation process has the advantage of positioning the nodes automatically in those regions of the object which are least sensitive against background variations. For example, the process avoids placing nodes in eyelashes and eyelids regions of an image. 5. Elastic graph matching When matching a template (the input iris graph) MT against the graphs of iris in database MI, replica of its set of node positions T f~ xM i g is placed in the image, or the corresponding image graph ~s MI creating the set of points f~ xIi g, where ~ xIi ¼ ~ xM i þ x with an offset vector ~ xs common to all nodes. The graph formed by the set of points f~ xIi g is called the image graph. The template graph MT is compared to the image graph MI with offset ~ xs in terms of the cost function
SðM T ; MI Þ ¼
1 X I M SðJ i ; J i Þ; NV i2V
ð11Þ
where JIi is the image jet taken at position f~ xIi g, V is the set of visible nodes and NV is their number. Now, the matching cost (11) is
Fig. 6. In the left, the matching of the template graph of an image in CASIA against stored model graph, and in the right a template graph of an image in UBIRIS against 140 stored model graphs, where SðJ Ii ; J M i Þ is the similarity between the two graph.
1243
R.M. Farouk / Computer Vision and Image Understanding 115 (2011) 1239–1244 Table 1 Failure analysis of locating iris for different Causes. Cause of failure
Number of images CASIA
Occlusion by eyelids Inappropriate eye positioning Occlusion by eyelash Noises within iris Total
Table 2 The correct recognition rates achieved by four matching measures using the CASIA and UBIRIS database.
31 21 23 6 81
UBIRIS 6 13 11 4 34
minimized by varying ~ xs . First, the offset is taken through all points on a square grid with spacing of five pixels for which the replica of the model graph lies entirely within the image. Around the lattice point with minimal cost a better minimum is then found for a finer lattice with spacing 1. When an iris is occluded to a large eyelid and eyelash region, the total cost of its match is degraded by the many nodes that come to fall out the iris region and that correspondingly have low average similarity values. It is decisive that this correct match cannot be outdone by a false match in some region of the image picked such that many nodes have above average similarity. The result of matching is illustrated in Fig. 6.
6. Iris database In this work we have used two large publicly and freely available iris databases, CASIA and UBIRIS. The CASIA iris database (CASIA-Iris version 3-Interval) is a large open iris database and we only use a subset for performance evaluation. This database includes 1992 iris images collected from 249 different eyes (hence, 249 different classes) with eight images captured for each person. Each image has a resolution of 320 280 in 8-bit gray level. Four images of each class are selected randomly to constitute the training set and the remaining images are the test set. In the preprocessing stage, we checked the segmentation accuracy of the iris boundaries subjectively and obtained an accuracy rate of 95:9% (81 images are not used), as shown in Table 1, which shows different causes resulting in the failure of iris locating. Therefore, there are 996 images for training and 915 images for testing. The UBIRIS iris database is composed of 1205 images collected from 241 persons (five images for each eye). Each image size has
Matching measure
Correct recognition rate (CRR)%
2D Gabor filter [14] Proposed EGM Fourier–wavelet feature, Huang et al. [13] Gaussian-Hermit moments, Ma et al. [18]
99.24 98.7 98.22 98.25
a resolution of 200_150 in JPEG format. For each iris class, we choose three samples at random for training and the remaining ones as test samples. After preprocessing, the obtained accuracy rate is 97:17% (34 images are not used), as shown in Table 1. Therefore, there are 723 images for training and 448 images for testing.
7. Results To evaluate the effectiveness and the performance of the proposed method for iris recognition, we have used the above described databases as the test and train dataset. The experiments are conducted in two modes: verification and identification. In the verification mode, the Receiver Operating Characteristic (ROC) curve that depicts the relationship of False Accept Rate (FAR) versus False Reject Rate (FRR) (see Fig. 7). The area under the ROC curve (denoted as Az) reflects how well the intra-class and extra-class distributions can be distinguished and the ranges are from 0.5 to 1. For an ideal ROC curve, the value of Az should be 1. It denotes that the intra and extra-class are inseparable while the Az value is equal to 0.5. Hence, the ROC curve is suitable for measuring the accuracy of the matching process and showing the achieved performance of a recognition algorithm. FAR is the probability of accepting an imposter as an authorized subject and FRR is the probability of a genuine authorized subject that is rejected as being an imposter. In the recognition mode, the Correct Recognition Rate (CRR) is adopted to assess the efficacy of the algorithm, as shown in Table 2. To assess the accuracy of the proposed algorithm, each test iris image in the database is individually matched to all the other iris images in the trained database. In the UBIRIS database, the total number of comparisons is 324351, where the numbers of intra-
Fig. 7. The ROC curves of the elastic graph matching with CASIA and UBIRIS databases.
1244
R.M. Farouk / Computer Vision and Image Understanding 115 (2011) 1239–1244
Fig. 8. The obtained ROC curves after applying different methods on UBIRIS database.
class and extra-class comparisons are 1792 and 322559 respectively. The EGM was tested by using 996 and 723 iris images from the CASIA and UBIRIS database respectively. The ROC curve (see Fig. 8) for the False Match Rate (FMR) and False Non-Match Rate (FNMR) are estimated. The EGM was found to give good correct recognition rates compared to other matching methods as shown in Table 2. 8. Conclusion Here we have presented a new and effective approach for iris recognition which operates using the Elastic Graph Matching (EGM). EGM approach is tested for different irises databases. All recognition rates are more than 95%. Therefore, the EGM method has demonstrated to be promising for iris recognition and is suitable for identification process. In future work, we will improve the processing method for iris templates to reduce the influence from light, eyelid, and eyelash. Also, we will try to solve the nodes lying on the boundary of iris which affects the matching process. Acknowledgment The author would like to thank Prof. Dr. Christopher von der Malsburg and all member of FLAVOR to give me the opportunity to learn EGM technique during Ph. D study in Germany. We would like also to thank K.A. Raid to reimplement Daugman’s algorithm. References [1] K.W. Boweyer, K. Hollingsworth, J.F. Patrick, Image understanding for iris biometrics: a survey, Computer Vision and Image Understanding 110 (2008) 281–307. [2] N. Duta, A survey of biometric technology based on hand shape, Pattern Recognition 42 (2009) 2797–2806. [3] J. Daugman, Statistical richness of visual phase information: update on recognizing persons by iris patterns, International Journal of Computer Vision 45 (1) (2001) 25–38. [4] L. Ma, T. Tan, Y. Wang, D. Zhang, Local intensity variation analysis for iris recognition, Pattern Recognition 37 (2004) 1287–1298. [5] J. Daugman, Demodulation by complex-valued wavelets for Stochastic pattern recognition, International Journal of Wavelets, Multiresolution and Information Processing 1 (1) (2003) 1–17.
[6] J. Daugman, How iris recognition works, IEEE Transactions on Circuits and Systems for Video Technology 14 (1) (2004) 21–30. [7] R.P. Wildes, Iris recognition: an emerging biometric technology, Proceedings of the IEEE 85 (9) (1997) 1348–1363. [8] X. Ye, Z. Zhuang, Y. Zhuang, A new and fast algorithm of iris location, Computer Engineering and Applications 30 (2003) 54–56. [9] J. Daugman, The importance of being random: statistical principles of iris recognition, Pattern Recognition 36 (2) (2003) 279–291. [10] M. Almualla, The UAE Iris Expellees Tracking and Border Control System, in: Biometrics Consortium September, Crystal City, VA, 2005. [11] L. Flom, A. Safir, Iris recognition system, US Patent 4 (1987) 394–641. [12] W. Boles, B. Boashash, A human identification technique using images of the iris and wavelet transform, IEEE Transactions on Signal Processing 46 (1998) 1185–1188. [13] P.S. Huang, C.S. Chiang, J.R. Liang, Iris recognition using Fourier-wavelet features, Lecture Notes in Computer Science 3546 (2005) 14–22. [14] J. Daugman, High confidence visual recognition of persons by a test of statistical independence, IEEE Transaction on Pattern Analysis and Machine Intelligence 15 (11) (1993) 1148–1161. [15] R.M. Farouk, Analytical analysis of image representation by their discrete wavelet transform, International Journal of Computer Science 3 (4) (2008) 216–221. [16] S. Lim, K. Lee, O. Byeon, T. Kim, Efficient iris recognition through improvement of feature vector and classifier, ETRI Journal 23 (2) (2001) 1–70. [17] C. Tisse, L. Martin, L. Torres, M. Robert, Person identification technique using human iris recognition, Proceedings of Vision Interface (2002) 294–299. [18] L. Ma, T. Tan, Y. Wang, D. Zhang, Efficient iris recognition by characterizing key local variations, IIEEE Transactions on Image Processing 13 (2004) 739–750. [19] A. Abhyankara, S. Schuckers, A novel biorthogonal wavelet network system for off-angle iris recognition, Pattern Recognition 43 (2010) 987–1007. [20] T. Tan, Z. He, Z. Sun, Efficient and robust segmentation of noisy iris images for non-cooperative iris recognition, Image and Vision Computing 28 (2010) 223–230. [21] J.R. Matey, R. Broussard, L. Kennell, Iris image segmentation and sub-optimal images, Image and Vision Computing 28 (2010) 215–222. [22] A. Kumar, A. Passi, Comparison and combination of iris matchers for reliable personal authentication, Pattern Recognition 43 (2010) 1016–1026. [23] R.D. Labati, F. Scotti, Noisy iris segmentation with boundary regularization and reflections removal, Image and Vision Computing 28 (2010) 270–277. [24] W. Kong, D. Zhang, Eyelash detection model for accurate iris segmentation, in: Proceeding of ISCA 16th International Conference on Computers and their Applications, 2001, pp. 204–207. [25] J. Huang, Y. Wang, T. Tan, J. Cui, A new iris segmentation method for recognition, Proceedings of the 17th International Conference on Pattern Recognition, vol. 3, ICPR, 2004, pp. 554–557. [26] V.A. Pozdin, Y. Du, Performance analysis and parameter optimization for iris recognition using log-Gabor wavelet, SPIE Electronic Imaging 6491 (2007) 649112–1649112-11. [27] J. Daugman, Biometric personal identification system based on iris analysis, US Patent 5 (1994) 291–560.