Development and Analysis of a Zeta Method for Low-Cost, Camera-Based Iris Recognition

Iris recognition is an alternative authentication method. Many studies have tried to improve iris recognition as a biometric-based alternative for secure authentication. Iris segmentation is an important part of iris recognition because it defines the image region that is used for subsequent processing such as feature extraction and matching, hence directly affects the overall iris recognition performance. This work focuses on the development of an authentication system using localization methods and half-polar normalization of the iris. The proposed Zeta method uses a new model of eye segmentation and normalization that can be used simultaneously on both eyes, considering different iris patterns in those two eyes. There are seven variants of the proposed and tested Zeta method: Zeta-v1, Zeta-v2, Zeta-v3, Zeta-v4, Zeta-v5, Zeta-v6, and Zeta-v7. Overall, the method achieved an average segmentation time performance of 0.0138427 seconds. The most accurate rate was by the Zeta-v1 method, with a value threshold of 100% on the wrong rejection rate and 94.9% on the correct acceptance rate. Keywords—Iris recognition; iris segmentation; Zeta; authentication; biometric; pattern recognition


I. INTRODUCTION
The biological characteristics of humans are widely used for security and authentication purposes. One of the most used body parts, due to its accuracy, is the eyes. In 1987, although they had not yet acquired the implementation methods, Leonard Flom and Alan Safir received patents for the use of eyes for bio-metric purposes [1]. In 1994, John Daugman successfully implemented this idea by using the iris, a method later called iris recognition [2].
After an image of the eyes has been acquired, there are five stages performed in the iris-recognition process: (1) iris and pupil localization, (2) iris segmentation, (3) normalization, (4) encoding, and (5) pattern matching [3]. Based on our previous work, the iris segmentation stage is the most resourceconsuming stage yet is the most critical process to determine the result of iris recognition [4]. The iris segmentation stage influences the accuracy of the system since the threshold of pattern matching is affected by how much of the iris area is processed, which is determined in this stage.
To acquire better performance and accuracy in iris recognition using a modified low-cost camera, our previous studies proved that half-polar iris localization and normalization methods could be implemented in our modified low-cost camera [4]. Half-polar iris localization uses parts of the eyes where eyelashes and eyelids do not interfere in distinguishing the border of the iris and sclera. In the biometric system, there are several things that must be fulfilled, namely accuracy, speed, and resource requirements, be harmless to the users, be accepted by the intended population, and be sufficiently robust to various fraudulent methods and attacks to the system [5]. In this work, we focused on improving of the half-polar iris segmentation method to enhance the performance of iris recognition that uses a modified low-cost camera. We propose Zeta iris segmentation, separated into seven unique segmentation methods to get the best segmentation in terms of accuracy and speed. The performance of each segmentation method was determined and then evaluated based on the level of accuracy and execution time.
The dataset from CASIA-IrisV1, introduced by the Chinese Academy of Sciences Institute of Automation in 2006, was used to conduct the test for the proposed method. CASIA-IrisV1 contains 756 iris images from 108 subjects. For each eye, 7 images are captured in two sessions with a homemade iris camera, where three samples are collected in the first session and four in the second session. The database contains the left eye and right eye. All images are stored as BMP format with resolution 320 * 280.
The remainder of this paper is organized as follows: In Section 2, introduces the related work of iris segmentation including deep-learning-based algorithm. Development of iris recognition in both eyes and describes some methods of localization and normalization that we propose are given in Section 3. In Section 4, the experiment results and analysis are described in detail. In Section 5, we present the conclusions.

II. RELATED WORKS
Iris recognition is commonly used for individual identification, with an accuracy range between 90 and 99 percent [6]. In general, there are trade-offs between the accuracy and speed of iris recognition. A more accurate method takes more processing time. In contrast, a seamless process with fast processing time tends to become less accurate. There are various algorithms and methodologies proposed to identify iris similarities. In this work we would like to focus on the methodologies for iris segmentation that become critical determinants during iris recognition.
Shah et al. proposed iris segmentation based on geodesic active contours [7]. Geodesic active contours segments based on the boundary of the iris. To determine the boundary of the segmented iris, this method does not use an approximated circle. Based on the active contours, the result of segmentation *Corresponding Author will produce adaptive output while considering surrounding distractions. This method is good for iris detection from different angles of view. However, because active contours are dynamic, the output may be inconsistent. Moreover, the process to determine active contours requires more processing time.
He et al. proposed an iris recognition process inspired by Daugman segmentation [8]. Basically, this method proposes four steps: noise removal, pupil localization, eyelid localization, and eyelash and shadow detection. The output of the segmentation is a segmented iris image with removed noise. This method has good accuracy with the proposed noise removal. However, this high accuracy still takes more processing time.
Kong et al. proposed noise detection before iris segmentation [9]. The main noises are eyelids, eyelashes, and reflections. Huang et al. also proposed iris segmentation based on iris noise removal, this work also focused on the removal of noise from eyelashes, eyelids, reflections and pupils. To remove the noises, this work proposed a fusion of the edge and region [10].
Recent iris segmentation research has proposed implementation of machine learning to increase the accuracy of iris segmentation. More and more researchers apply deep learning to iris image segmentation [11] [12][13] [14][15] [16]. CNN can be used to segment the iris image, which reduces the process of feature extraction and selection, and further improve the final accuracy [17].
Arsalan et al. focused on the challenge of blur, glint, image occlusion, and low resolution. These challenges from an image may bring less accuracy in iris recognition. To address these challenges, this work proposed a convolutional network to segment an iris [18]. Tobji et al. also proposed iris segmentation based on a fully convolutional network. The objective of the work was on the challenge of different image resolutions [19]. By implementing a convolutional network those works could increase their iris segmentation accuracy. However, in general the processing time was high due to the computation process of the neural network.
Compared to others research, our work aims to create fast iris recognition by a proposed determined zone for iris segmentation. By varying the selected iris segments, this method will produce a variation of accuracy and processing times. We aim to get optimum accuracy and processing time for iris segmentation.

III. METHODOLOGY
This section explains the development of iris recognition in a single eye to iris recognition in both eyes and describes some methods of localization and normalization that we propose. We separated section three into two parts. The first is the hardware material that we used to perform the experiments. The second is the methodology to run the experiments.

A. Camera Hardware Design
Cameras commonly used today are usually capable of capturing ultraviolet and infrared (IR) rays. However, these two rays, which cannot be seen by humans, do not enter the camera sensor because it is filtered. PS3 eye cameras are customized by removing the IR filter and replacing it with a lens without an IR filter so that the camera can capture black and white images. The customization of the PS3 camera and the captured images is shown in Fig. 1 and the IR LEDs are arranged in parallel and placed in front of the lens, as shown in Fig. 2.
In this work, we used a PS3 eye camera with a resolution capability of 640 × 480 pixels. The reason we chose this camera was that the resolution was sufficient to perform iris recognition at a considerably lower price with appropriate image quality. Compared to our previous work, this work improved by implementing double cameras to recognize both eyes in parallel.

B. Iris Recognition Process a) Acquisition of eye images:
In eye image acquisition, there are several requirements for the hardware. The iris scanner must be used without an IR filter. So, we removed the IR filter from the camera. Then to strengthen the IR light, we mounted IR LEDs on the camera. After the camera hardware is ready, the image can be taken. The resulting image should be clear. The eye parts, such as pupils, the iris, sclera, and eyelids, must be visible. To get clear results, the scanner camera must have high resolution, high acuity, and appropriate lighting conditions  321 | P a g e www.ijacsa.thesai.org b) Iris localization; Iris segmentation and localization are two different methods. Localization is a method for finding and isolating the iris in digital images, while segmentation is a method for selecting certain iris sections to be used for iris pattern matching. In localization and segmentation, there are several processes. The first process is obtaining the image processing kernel, which is a small matrix used for image processing (Fig. 3). This kernel is useful for determining the edges of images, smoothing images, and sharpening them.
The second process is color inversion. This process aims to make the image color negative. This function can be performed easily because the colors used in an IR unfiltered contain only three primary colors: black, white, and gray. To get a negative from the image, inverse black into white and vice versa.
The third process is Gaussian smoothing, a method to smooth the image. A smooth image is obtained by combining the kernel with this Gaussian method. Mathematically, the Gaussian smoothing function is shown in equation 1.
The fourth process is localization of the pupil by utilizing the results of the blurring process. After blurring is done, the contour of the received image is found. Several steps must be passed to get the center of the eye. In this case, the pupil becomes a reference to find the location of the iris. Localization of the iris is performed after the pupil location is obtained. We can find the iris by making the pupil become the center point of polar coordinates. The method used to make the pupil become the center point is image transformation, then line transformation is used to find the boundary between the sclera and the iris. This method allows us to obtain maximum results because it only uses values of -30° to 30° and 150° to 210°, where the angle is the side of the human eye not disturbed by the eyelashes and eyelids. Fig. 4 shows the process of getting the location of the iris.  c) Iris segmentation and normalization: Segmentation is the cutting of a specific part of the iris for normalization. This is because not all iris portions are visible in a digital image from the resulting image. In this work, we propose iris segmentation variations by picking a different area of the iris before the normalization process. The area selection also considers disturbances around the iris, such as eyelids and eyelashes. Fig. 5 shows the variance of iris segmentation from half-polar, Zeta-v1, Zeta-v2, Zeta-v3, Zeta-v4, Zeta-v5, Zeta-v6, and Zeta-7. Normalization aims to eliminate or update existing anomalies. In this work, we used the Daugman rubber sheet model to normalize a special image of a circle-like an irisand make it square. In Fig. 5, we can see the segmentation results of the half-polar segmentation method and the seven versions of the Zeta method. In the Daugman rubber sheet 322 | P a g e www.ijacsa.thesai.org (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 11, No. 7, 2020 model, the iris is mapped to the polar coordinate (r, θ), where θ starts from 0 to 359 with the same radius at each starting point, to form a full circle [20]. A polar coordinate map is obtained using equations 2 and 3: where rp is the radius of the pupil, r represents the iris radius, with θ being the turning angle. Fig. 6 shows the process of the rubber sheet model.

d) Encoding:
Iris encoding is used to change the image of the iris that has gone through the normalization process into a binary code form. The binary code obtained is the result of encoding features found on iris patterns extracted using the Gabor filter, a method offered by Daugman [21]. The disadvantage of the Gabor filter is the presence of a DC component when the bandwidth is higher than an octave (Field, 1987). However, a zero-value DC component can be obtained from any bandwidth by using a Gabor filter Gaussian in a logarithmic scale, called a log-Gabor filter [22].
The log-Gabor filter is a linear filter used to extract features from digital image data. These features can be textures or patterns. The way it worked was that the first iris image that was normalized was split into lines so that there was a onedimensional image of the row number of the image by changing the function from a time domain into a frequency domain using Fourier transform. It was then convolved with a self-defined log-Gabor kernel with equation 4: where f0 is the frequency in the middle, and σ affects the bandwidth of the filter or the existing kernel. f is worth {0, ..., 0.5} number of convolution image columns, f 0 is worth 18, and σ is 0.5 [22].
The phase of each image is shown in Fig. 7, which maps the binary code according to phase. The phase determination was compared to the amplitude, then analyzed because this amplitude value was highly dependent on external factors, for example, the illumination and contrast levels of the image [21]. An amplitude value close to 0 was ignored by changing the mask value to 1 [22]. The resulting binary code's length was twice its width. The following figures are the results of encoding in the small box method and the resulting mask. Fig. 8 shows the mask code of Zeta-v1 iris segmentation, and Fig. 9 shows the iris code. e) Pattern matching: Iris pattern matching compared the similarity of two iris binary codes by using the Hamming distance method's calculation. The use of Hamming distance is based on performance indicated after testing several different distance metrics. Of Euclidean distance, Hamming distance, and dZ distance, Hamming distance shows the best accuracyaverage performance reaches 99.6% [23]. Therefore, Hamming distance is the most popular metric distance for iris matching [24] [25]. The Hamming distance equation is shown in equation 5.
In equation 5, i 1 and i 2 are two bit-wise binary code templates to be compared. Noise mask, which is also in binary template form, is represented by m 1n and m 2n . N is the bit which is represented by each template. Fig. 10 shows the complete process of the iris recognition system.

A. Runtime Execution
In this work, the CASIA-IrisV1 dataset was used. The dataset is 108 images of the human iris. There are seven images of each iris: three from the first session and four from the second session. This experiment did not use all parts of the dataset but used a sample of 20 eye images that produced 120 iris codes for each type of localization and normalization. The programs were tested on computers with the following specifications: Intel Core i5 4200U processor, 4GB RAM, Ubuntu Operating System 16.04 lts, and OpenCV version 4.0.0.
A performance comparison for all segmentation methods is depicted in Fig. 11. The best performance was obtained by the Zeta-v7 method. This method encodes code more simply, thus making it work faster than the other methods. Although the minimum execution time of Zeta-v6 segmentation was lower than Zeta-v7, the maximum and average performance of Zeta-v7 was better than Zeta-v6. The average of Zeta-v7 was ±72 times iris matching in one second while Zeta-v6 was ±71.97. The half-polar method came third after Zeta-v7 and Zeta-v6. This shows that Zeta-v6 and Zeta-v7 methods are the best choices for overall system performance development.

B. Hamming Distance and Accuracy
The accuracy test conducted in this work was based on a dataset from CASIA-IrisV1. The objective of performing this test was to find the maximum and minimum threshold value to get the best iris recognition accuracy. In our previous work for half-polar segmentation, the Hamming distance 0.42 became the threshold for acceptance. A Hamming distance of more than 0.42 was rejected for not matching and was considered as an iris from a different eye. Otherwise, two irises with a Hamming distance less than 0.42 were accepted and determined as an iris from the same eye. To find the best accuracy we can alternate the Hamming distance value during the experiments.
From the CASIA-IrisV1 there are 72 iris data from different people. Each person is represented by three iris images. Overall there are 216 iris images from 72 people. With this data we ran eight different methods of iris segmentation. From the experiment we got a total Hamming distance value of 1,728. Based on this value, we determined the acceptance threshold of the Hamming distance. We also combined the data with our own iris dataset. We collected 20 sets of Zeta iris data from different eyes. We then compared these 1140 times with non-matching iris data. By comparing it with the wrong dataset, the results should be rejected. We defined the rejection of wrong iris data as the rejection rate. To find the optimum rejection rate, we also performed an adjustment on the Hamming distance value. To find the optimum performance of the Hamming distance, we determined the crossing value between the optimum acceptance and rejection rates. For example, as shown in Fig. 12, we obtained the optimum Hamming distance of 0.455. This value was obtained when the acceptance rate of correct data and rejection rate of wrong data both reached 98%. According to the experiment, we determined that 0.455 was the best Hamming distance to obtain correct data acceptance and wrong data rejection during iris comparison. However, it is also possible to determine the optimum Hamming distance based on the threshold of the wrong rejection rate and correct acceptance rate. In this work we focused on a threshold of 100% wrong rejection rate to prevent a false positive result. After eliminating the false positive we continued to minimize false negative outcomes by adjusting the threshold of correct acceptance rate to obtain the optimum Hamming distance.
The accuracy analysis of pupil localization and iris localization was performed using the CASIA-IrisV1 dataset. A total of 324 images were tested on each system function. The tested images consisted of 108 eye images taken in the first session, which is as much as three images for each eye. The localization function was a basic key to the accuracy of the Hamming distance data.
The pupil localization must succeed to proceed to the next process of iris localization. This localization was done by finding contours on the image of the treated eye image. The table below illustrates the results of manually manipulated localization experiments on the 324 eye images of the existing dataset. Table I shows the accuracy of pupil and iris localization of the dataset. Iris localization must be successful to obtain the right results for comparison.    Vol. 11, No. 7, 2020 The calculation results in Table I were one of the measurements of success in iris segmentation and Hamming distance calculation. This section excluded pupil localization because the pupil localization accuracy had already reached 100%. This experiment used eight iris segmentation methods as independent variables. The dependent variable was the performance of iris code matching time and the resulting Hamming distance value. The control variable was the CASIA-IrisV1 dataset, which took the iris code of 72 different people, and each person had three iris codes from the first capture in the dataset. To calculate the accuracy of each segmentation, equation 6 was used.
= 100 − 100 (6) From the experiment results, we obtained the table of maximum, minimum, and average Hamming distance for the reception, shown in Fig. 13. The average value and minimum value of Hamming distance using the Zeta-v7 segmentation method was the smallest while the maximum value did not show a significant difference between methods. The average value of Hamming distance from the Zeta-v7 segmentation method was 0.350347. In one second, 72.2 times iris matching was applied when using the Zeta-v7 segmentation method.
Based on the rejection and acceptance values, Zeta-v1 is the method with the highest percentage of accuracy, 94.90%. In Table II, we can see Zeta-v1 and Zeta-v5 segmentation had the highest value when using Hamming distance limits taken at the wrong rejection rate of 100%.   Table II shows the data when the wrong rejection rate is 100%. This means the rejection has a tolerance of 100% less than the value of the denial percentage in the segmentation. In Table III, the Zeta-v2 method shows the largest percentage of accuracy-98.24%, with an incorrect acceptance tolerance of 1.76%. The second highest percentage is shown by the Zeta-v5 method-97.01%, with a tolerance of 2.99%. In Table III, we can see that the decreasing percentage of the smaller the value of Hamming distance used as a threshold. The best accuracy with the smallest Hamming distance value is shown by Zeta-v6 and Zeta-v7. In Table IV we can see the accuracy at specific points and the Hamming distance values used in each method. Each iris code comparison used the same template so that the size or size of the obtained Hamming distance was related to the area of the segmented region. With the Zeta-v7 iris segmentation, we can see that the smallest Hamming distance value reached an accuracy of 60%. This means in Zeta-v7 the segmented area was smaller than the other methods.

V. CONCLUSIONS
Based on experiments running several proposed schemas for iris segmentation, we found iris segmentation method Zeta-v7 was the most effective for the execution. When we ran Zeta-v7 iris segmentation on 72 pairs of eyes from the dataset, 0.9936 seconds were required for the whole process. This means, on average, every execution only required 0.0138946 seconds.
From the perspective of accuracy, we found Zeta-v1 was the most effective when the wrong rejection rate was 100%. This method had a correct acceptance rate of 96.67%, with 325 | P a g e www.ijacsa.thesai.org 3.33% tolerance. Zeta-v2 became the most accurate with less tolerance. Zeta-v2 reached a correct acceptance rate of 98.25% with a Hamming distance of 0.458. Zeta-v2 had wrong tolerance of 1.755%.
From the perspective of Hamming distance, it is possible to use a smaller Hamming distance value compared to the Hamming distance of half-polar iris recognition. Methods Zeta-v6 and Zeta-v7 had the lowest possible Hamming distance values, respectively 0.374 and 0.396 with 100% wrong rejection and an accuracy of correct acceptance between 70-80%.
With the implementation of double cameras we got better accuracy compared to a single camera. With the double cameras, the angle of view became more stable compared to a single camera. In a single camera, the angle of view could change during the image acquisition process. Moreover, double cameras increased the accuracy of iris recognition, by comparing two iris images.
In the future, we plan to explore new methods for non-ideal conditions and use several different databases to evaluate the proposed architecture, so that the iris segmentation system is not only designed based on good iris images in the same database. We would also like to implement it on embedded platform like Odroid and Raspberry Pi to make it ready-made module.