1 Introduction

The Information technology (IT) has been passed through tremendous advances over the last few decades. Both hardware and software platforms have been improved significantly. Due to these advances, the research community has actively been engaged in developing new software applications, hardware gadgets, and IT-based solutions to numerous applications such as health and care, e-commerce, smart cities, etc. Due to current delicate security situations, the research community around the globe has also focused on the secure and reliable applications of the Biometric technology [2, 12, 15, 22]. In this concern, researchers have been working on improving the performance, scale and usability of this technology. For example, the India AADHAR program has been focused on its scale, the Apple Touch ID program focuses on its usability, the NIT DOCOMO mobile iris recognition aims on the user’s convenience and the UAE border control program is targeted on its performance evaluation [22]. Literature [22] reveals that market for the biometric systems expects to grow from an estimated 10 billion USD in 2015 to 25 billion USD by 2020. Due to these facts, the biometric technology has immense potential to be used for both covert and overt applications, e.g., border control, surveillance, law enforcement, service industry, military, robotics, smart cities and smart offices.

1.1 Iris biometric

Biometric technology is capable to recognize humans from their physical (e.g., ear, face and iris) and/or physiological (e.g., voice, smell and gait) traits using the pattern recognition techniques [2, 11, 12, 15, 22]. Biometric traits such as fingerprint, face and voice have long been in the field, however these traits do not remain stable with the passage of time [11, 13]. For example, the performance of a Fingerprint biometric system is highly susceptible to the scars, dirt, etc. [16]. Similarly, a Face biometric system is also prone to the beard, scars and aging affects [16]. Literature [5, 31] reveals that iris is relatively a stable and robust biometric trait compared with its other counterparts just mentioned. For this this reason, the relevant research community has constantly been working on devising resilient iris biometric systems for both overt (e.g., citizen registration) and covert (e.g., monitoring criminals) applications [2, 5, 22].

As shown in Fig. 1, iris is an externally visible organ protected by the cornea. It is an annulus sandwiched between the pupil and sclera. In specific, it is consisted of the muscle tissue that are made up of a sphincter and a group of dilator muscles [22]. The sphincter and dilator cause the pupil to contract and dilate, respectively. The exterior iris surface comprises two parts: inner pupillary and outer ciliary zones. These zones are separated by the collarette (a sinuous structure). The crypts (oval like structure) around collarette allows the fluids to enter and/or exit iris quickly while pupil is dilating or contracting. As shown in Fig. 1a, a group of streaks caused by the bands of connective tissue enclosing crypts becomes wavy and straighten when pupil dilates and contracts, respectively. Moreover, the concentric lines associated near the outer ciliary zone go deeper when pupil dilates. This act causes the iris to fold.

Fig. 1
figure 1

a and (b) Internal and external anatomy of iris, respectively [22]

As clear from Fig. 1, iris has quite complex structure. It includes features such as crypts, ridges, freckles, corona, furrows, and the arching ligaments. Notably, it is observed experimentally that the irises of any two individuals are not identical [11]. Most importantly, the left and right irises of the same individual also do not exhibit similarity. Literature [2, 11] reveals that iris of a person remains stable over his/hers entire life, except some minor changes occurring in the early life stages. Experimentations performed at large scale reveals that iris is a stable, unique, and non-invasive biometric trait [2, 5, 31]. Due to these facts, iris as a biometric is a suitable candidate for tremendous applications, e.g., border control, criminal investigation, citizen registration, banking, health and care, access to a desktop PC and network-based systems, etc.

1.2 Literature review

A typical Daugman-type [5] iris biometric system comprises four basic modules: (i) eyeimage acquisition, (ii) iris segmentation, (iii) feature extraction and (iv) matching and recognition. No doubt, each of these modules plays an essential role in the overall system’s performance. However, performance of the last two modules strongly rely on quality of the first two modules. Literature [2, 5, 31] reveals that quality of the first module is generally maintained while acquiring the image data from an individual through an audio and/or a visual aid and imposing some strict constraints on the involved person. For example, a subject is asked to stand at a very short distance from the image acquisition setup, glare directly into the camera view, do not breath for a while, etc. [2, 5, 31]. On other hand, maintaining quality of an iris segmentation is always a challenge for the research community. It is mainly because of the noise such as eyelids occlusion, eyebrows, eyelashes, wrinkles and hair, which generally surrounds iris in a human eyeimage (see Fig. 2). Iris segmentation comprises two tasks: (i) Iris boundaries demarcation and (ii) Noise removal. Though each task plays a crucial role, but iris localization plays a more decisive role in the overall system’s performance. It is because this task is responsible to demarcate the valid iris outer/inner contours in a human eyeimage. Literature [5, 29, 31] reveals around 60% valid-part of an iris is generally sufficient for the secure recognition of humans through their iris textures using the pattern recognition techniques. Due to various challenges inherited in iris localization, it is still a potential research area [27].

Fig. 2
figure 2

A human eyeimage showing various eye-parts [21]

Both Daugman [5] and Wildes [31] pioneered the iris biometric systems, which are parallel of each other. Daugman devised a well-known Integro-differential operator (IDO) to localize the iris contours and eyelids’ occlusion in the iris region [5]. This operator is often applied for iris segmentation. Though IDO has been reported with great precision in literature [5], it may take relatively longer if applied inefficiently [2, 11]. For example, Labati and Scotti in [7] offered an iris localization technique. First, this scheme used IDO to localize coarse iris boundaries. Next, it marked the true boundary-points in each linearized strip. Then, it regularized iris boundaries using the Fourier series [6]. This algorithm exhibited good results on some datasets. However, its main demerit lies is its computational cost. On the average, it consumed around 3 minutes to segment an iris in human eyeimage. It is observed that IDO consumed around 98% of the total-time while segmenting iris, which is mainly because of its inefficient application.

Wildes in [31] proposed the Hough transform for iris and eyelids demarcation. It is often applied in the machine vision applications to detect and mark boundaries of the two-dimensional (2D) binary objects, e.g., circle, parabola and ellipse. Literature [14] reveals that this transform is relatively non-sensitive to the broken contours of 2D objects in the binary image. It also exhibited relatively better results for iris localization [11]. It is evident from literature [2, 11], it may also take relatively longer for iris localization if applied inefficiently. For example, authors in Ref. [27] implemented the Masek iris localization scheme [18] and tested it on the CASIS-Iris-Interval V3.0 dataset [4]. On the average, it took around 20 s to demarcate the iris contours. Notably, this much localization time is generally a hurdle for contemporary schemes to be used for real-time applications such as immigrants registration at the Airports [2, 11]. It is evident from literature [2], researchers also devised the counterparts of Wildes and Daugman iris localization approaches. For this purpose, most researchers resorted towards the histogram and/or thresholding based techniques [16], which take relatively shorter as compared with the CHD/IDO based methods [2, 11]. Unfortunately, most thresholding-based schemes are not much flexible and thus perform well for the good quality images. It is mainly because of the flaws inherited in selecting a threshold for the purpose of binarizing input eyeimage [1, 16, 27]. In this concern, most authors applied a fixed threshold while binarizing input eyeimages, which generally results in poor performance when the image’s quality is not fair. For example, authors in [28] used a fixed threshold of 127. This act greatly boasted up the overall localization process, but it may perform poorly when image data has poor quality, e.g., low contrast, non-uniform illumination and excessive light reflections.

Ma et al. [17] published an iris localization method based on the Conformal geometric-algebra (CGA). It works as follows. First, authors extracted 2-thresholds using a histogram method based on the gray-level statistics of input eyeimage. Using these thresholds, they transformed input image to a 3-level image. Next, they obtained the edgemap of resultant image via the Sobel-gradient operator. Then, they applied a CGA-based circle for demarcating the iris inner/outer boundaries. To perform this, they applied the Priori-information of human-eye’s structure. However, they employed the CGA inner-product to finalize whether an edge-pixel from the candidate’s contour belong to the circle or not. This scheme has also used a defect-ratio, which indicates the completeness of each candidate-contour. Finally, boundaries with minimum defect-ratio were declared as iris contours. This scheme was validated on IITD V1.0 [9], MMU V1.0 [21] and CASIA-IrisV3-Interval [4]. This scheme has demonstrated satisfactory results on a set of 200-eyeimages chosen arbitrarily from each database. However, following are some flaws of this scheme. First, authors utilized a very rough scheme when computing two threshold values. In fact, they used the bimodal-property of the image’s histogram when extracting thresholds, which is unreliable. It is because in eyeimages where pupil is contaminated and/or surrounded by the eyebrows, eyelashes or black hairs-strips; then the corresponding edgemap may not be relatively useful. Secondly, it did not offer any scheme for noise removal. Finally, authors localized iris boundaries with a circle approximation. With this approximation, the localized iris part may contain some unwanted iris pixels or exclude some valid iris part.

Wan et al. [30] presented an iris segmentation scheme, which is centered on the Anisotropic diffusion. The anisotropic diffusion has been derived from the Partial-differential equation. The main objective of this article is to segment iris in the non-ideal eyeimages via a circular approximation. In this article, authors demarcate iris in two steps as follows. In the first phase, authors first used the Laplacian pyramid (LP) to reduce the size of input image. Next, they suppressed specular reflections, eyelashes and eyebrows using a combination of the morphological operators and anisotropic diffusion. After that, they computed the center of pupil using the concept of centroid in a binary image obtained via the Sobel gradient operator. Following that, a small image centered on pupil’s center is transformed to its polar-form where authors localized the iris inner boundary via an edge-detecting scheme. In the second phase, authors first transformed a selected region containing iris outer boundary to its polar form. Next, they enhanced contrast of the boundary between the sclera and iris using median filter. After that, they utilized a region-based curve-evolution scheme to demarcate iris outer boundary. This scheme was validated on the CASIA-IrisV3-Interval, CASIA-IrisV3-Lamp, MMU V1.0 and UBIRIS V1.0. The weak points of this article are as follows. The anisotropic diffusion scheme does not suppress reflections effectively; small dots could still be seen in the pupil center. Iris contours are localized with circular approximation. Moreover, no noise removal scheme is used to mark eyelids in localized irises.

Sardar et al. [25] presented an algorithm to localize iris in non-ideal eyeimages. To brief, this scheme strongly relies on a combination of the circular sector analysis (CSA) and rough entropy. In this article, authors applied the morphological operators supplemented with the rough-set theory while marking the iris inner contour. Next, they used the CSA-based scheme to mark the iris outer contour involving an image-patch being converted to polar form. Authors tested this scheme on IITD V1.0, MMU V1.0 and CASIA-IrisV3-Interval. It demonstrated good results on a set of 100-eyeimages chosen arbitrarily from each database. However, it has some drawbacks: (i) It was not validated on a big set of eyeimages, (ii) On average, it took more than one second while localizing iris in input eyeimage, (iii) It offers no noise removal scheme and (iv) Finally, the iris contours were demarcated with circle approximation only. In addition, some contemporary authors also applied the active contour models (also called snakes) to localize the actual non-circular iris boundaries [2, 23, 26]. Active contour models are often applied in the machine vision applications to segment objects, e.g., brain-tumors. These schemes exhibit good performance when segmenting objects having irregular shapes, however they may perform poorly if edges of a target object are relatively week; it may happen due to low contrast. It is because of the stopping criterion of the active contour model. Due to week edges, the process of active contours evaluation may not cease at the actual boundary and would thus result in the over segmentation. No doubt, this act may significantly affect the overall system’s performance [27].

Soliman et al. [27] proposed an efficient scheme for iris localization. First, authors reduced the effects of eyelashes using the morphological closing-operation. Next, they binarized the resultant eyeimage through a crude adaptive threshold. After that, they filled holes in the binary image caused by reflections. Following that, they considered a binary object with maximum area as the pupil object and then obtained it center’s coordinates using the centroid. Finally, authors applied IDO in a small region centered at pupil to mark iris inner/outer contours. This scheme was tested on CASIA-IrisV3-Interval [4]. The results are satisfactory, but it performed poorly for some relatively good quality eyeimages. It is mainly because of the flaws inherited in computing a threshold for image binarization. Authors computed this threshold as follows: (i) if the sum of pixels in the histogram-bins: 0 ~ 100 of a target image was greater than 30% of the total pixel in that image, then they assumed a fixed value of 50 as an adaptive threshold or ii) if sum of pixels in histogram-bins: 150 ~ 255 was greater than 75% of total pixel, then they took 115 as an adaptive threshold. Otherwise, they considered 85 as an adaptive threshold. It is evident, this scheme is robust, but it may be trapped easily when image data is contaminated with noise, e.g., non-uniform illumination, hair and eyeglasses. Besides, it took around 240 m-seconds (on the average) when localizing iris in a human eyeimage.

To address the above-mentioned issues, this study proposes a robust iris localization scheme. First, it preprocesses the input eyeimage using an order statistic-filter to soothe down the effect of eyelashes and sharp gray-level intensities if any. Next, it suppresses the specular reflections in resultant image using an effective scheme involving bilinear interpolation. Literature [14] reveals that IDO generally saturates at reflections. Besides, reflections can also cause spurious pixel/edges in the edgemap of the concerned input eyeimage. Notably, these spurious edges/pixels may result in more voting in the Hough transform accumulator while detecting a circle [2, 27, 31]. Consequently, the CHT-based iris localization schemes may take relatively longer if not used efficiently. After that, it extracts an adaptive-threshold from the histogram to binarize resultant eyeimage Following that, it processes resultant image using the morphological operators and extracts the pupil center and radius using the concept of centroid and 2D geometry. Following that, it marks the iris outer boundary using the CHT and an edgemap of a decimated version of the preprocessed eyeimage. For fast processing, edges inside the pupil and belonging to its boundary are removed. Finally, it extracts the non-circular iris boundaries through the Fourier series.

The rest of the paper is organized as follows. Section 2 presents some related work for the comfort of common readers. In this concern, it explains two pioneered iris localization schemes from the iris biometric paradigm. Section 3 explains the proposed iris localization scheme in explicit details. Section 4 elaborates the experimental results and discussion. Finally, Section 5 concludes the proposed work.

2 Related work

Literature [2] on the iris biometric systems reveals two pioneered iris localization schemes, which are proposed by the Daugman [5] and Wildes [31]. The following text details these schemes.

2.1 Daugman iris localization

Assuming the iris inner (pupillary) and outer (limbic) boundaries as two non-concentric circles (Fig. 3a), Daugman proposed the following well-known Integro-differential operator (IDO) for iris localization [5].

Fig. 3
figure 3

a Iris boundaries and eyelids localized with the circular and line versions of IDO, respectively. (b) Iris boundaries and eyelids localized with the circular and parabolic versions of Hough transform, respectively

$$ \underset{\left({x}_o,{y}_o,r\right)}{\max}\kern0.24em \left|\;{G}_{\sigma }(r)\ast \frac{\delta }{\delta r}{\oint}_{\left({x}_o,{y}_o,r\right)}\;\frac{I\left(x,y\right)}{2\pi r}\kern0.24em ds\right|, $$
(1)

where Gσ(r) represents a smoothing-function (e.g., Gaussian-filter) with scale σ. The symbol * represents the convolution operator. This operator searches over the entire image domain (x, y) to find the maximum blurred partial-derivative with respect to increasing radius r of the normalized contour integral of input eyeimage I(x, y) along a circular arc ds centered at (xo, yo, r). Here, r and (xo, yo) denote the radius and center of the circular arc, respectively. For iris localization, this scheme first applies IDO to mark the coarse limbic boundary. To avoid eyelids, it biased IDO for the horizontal direction. Next, it uses IDO to localize pupillary boundary within a small region centered at the coarsely marked iris. For this step, it biased IDO for the upper 270 cone. Notably, this act is done to avoid the specular reflections, which are generally superimposed in the lower 90 iris cone by an illuminator located beneath the camera. Then, it reuses IDO to demarcate the fine limbic boundary in a local region centered at pupil. Finally, it applies a line version of IDO to mark eyelids within localized iris (Fig. 3a).

2.2 Wildes iris localization

Wildes proposed a new scheme to localize iris in I(x, y). This scheme uses a combination of the edgemap of I(x, y) and Hough transform to localize iris boundaries and eyelids if any. First, it extracts an edgemap E(x, y) from I(x, y) by thresholding the magnitude of image intensity gradient defined as

$$ \left|\nabla G\left(x,y\right)\ast I\Big(x,y\Big)\right|. $$
(2)

Here, G(x, y) denotes a 2D Gaussian filter centered at (xo, yo), with standard deviation σ. This filter soothes down sharp gray-level contents in I(x,y), which results in the blurring of I(x,y) [8]. Similarly, ∇ represents a 2D gradient operator defined as \( \nabla \equiv \left(\raisebox{1ex}{$\delta $}\!\left/ \!\raisebox{-1ex}{$\delta x$}\right.,\raisebox{1ex}{$\delta $}\!\left/ \!\raisebox{-1ex}{$\delta y$}\right.\right) \).

For optimal results, Wildes suggested the biasing of ∇ in some specific directions while computing E(x, y). For example, he biased it in the vertical direction for localizing limbic boundary and in horizontal direction for the eyelid localization, assuming the subject’s head in upright position. After obtaining E(x, y), he used CHT to localize pupillary and limbic boundaries assuming them as two non-concentric circles.

Hough transform: It is often applied in the machine vision application to detect 2D objects, e.g., parabola, circle and ellipse. [2, 11, 22]. Literature [2] reveals that this transform is relatively tolerant to the broken contours of binary objects. For a circle centered at (xc, yc) and having radius (rc), its CHT accumulator (Hc) is defined as

$$ {H}_c\left({x}_c,{y}_c,{r}_c\right)=\sum \limits_{k=1}^nH\left({x}_k,{y}_k,{x}_c,{y}_c,{r}_c\right), $$
(3)

where n denotes the total number of edge-pixels in E(x, y) and:

$$ H\left({x}_k,{y}_k,{x}_c,{y}_c,{r}_c\right)=\left\{\begin{array}{l}1, if\;{h}_t\left({x}_k,{y}_k,{x}_c,{y}_c,{r}_c\right)=0\\ {}0, otherwise.\end{array}\right., $$
(4)

with ht(xk, yk, xc, yc, rc) = (xk − xc)2 + (yk − yc)2 − rc2. For each edge-pixel located at (xk, yk), k = 1, 2, 3, …, n, votes are polled in Hc for a circle radii-range (r1 : r2). Here, r1 and r2 denote the lower and upper radii-limits of (xc, yc, rc), respectively [11]. This radii-range is always required for circle localization using CHT [2, 31]. If a target pixel falls on circle described by (xc, yc, rc), then ht(xk, yk, xc, yc, rc) ← 1 else zero. Finally, a location described by (xc, yc, rc) for which Hc gets maximum votes is decided as a parameter vector of the desired circle. Similarly, Wildes demarcates eyelids occlusion in iris using a parabolic version of the Hough transform. Figure 3b shows a typical iris being localized through this scheme.

3 Proposed scheme

This section presents the proposed iris localization scheme. It comprises the following steps:

  • Preprocessing,

  • Marking coarse pupil region,

  • Extracting coarse iris contours, and

  • Refining iris contours

The following text explains these modules.

3.1 Preprocessing

In machine vision applications, preprocessing is often considered as a preliminary step. It is because it makes an input image ready for the targeted processing. In iris localization, the main objective is to mark the actual iris inner and outer contours in a fast way but with precision. Literature [2, 16, 28] reveals this task is not straight forward and offers numerous challenges to researchers. For example, iris in an eyeimage may be contaminated with the light reflections. Besides, it may contain occlusions from the eyelids, eyelashes, hair, contact lenses and/or eyeglasses. Besides, eye of an individual in her/his acquired eyeimages may also be oriented vertically, which may trap the iris localization schemes biased for horizontal direction only [16, 28]. Moreover, non-uniform illumination and poor contrast may also offer hurdles in the way of iris localization schemes. The following steps preprocess the input eyeimage I(x, y) efficiently.

3.1.1 Bilinear interpolation

In this section, the proposed iris localization scheme first complements the input eyeimage I(x, y). Next, it fills holes in the resultant image through the bilinear interpolation scheme [8]. A hole is a region of the dark-pixels surrounded by light-pixels [26]. Then, it complements again the resultant image. Literature [24] reveals that bilinear interpolation finds many applications in image processing. For example, it is used in the texture mapping, resampling, and image scaling. This process computes the gray-level value for a target pixel having modified gray-level value (e.g., original value contaminated with reflection) in a digital image by utilizing the known values of its 4 nearest neighbors. Notably, this computation process is subjected to the distances between the target pixel and its neighbors. Bilinear interpolation works as follows. Considering Fig. 4, suppose I(xo, yo) (red) represents a target pixel in a digital image whose gray-level intensity needs to be interpolated from its neighbors (green). First, this scheme computes the gray-level values I(x1, yo) (top-yellow) and I(x2, yo) (bottom-yellow) as

Fig. 4
figure 4

A typical Bilinear interpolation for a single pixel

$$ I\left({x}_1,{y}_o\right)={\left({y}_2-{y}_1\right)}^{-1}\left[\left({y}_2-{y}_o\right)I\left({x}_1,{y}_1\right)+\left({y}_o-{y}_1\right)I\left({x}_1,{y}_2\right)\right], $$
(5)
$$ I\left({x}_2,{y}_o\right)={\left({y}_2-{y}_1\right)}^{-1}\left[\left({y}_2-{y}_o\right)I\left({x}_2,{y}_1\right)+\left({y}_o-{y}_1\right)I\left({x}_2,{y}_2\right)\right]. $$
(6)

Then, it computes I(xo, yo) as

$$ I\left({x}_o,{y}_o\right)={\left({x}_2-{x}_1\right)}^{-1}\left[\left({x}_2-{x}_o\right)I\left({x}_1,{y}_o\right)+\left({x}_o-{x}_1\right)I\left({x}_2,{y}_o\right)\right]. $$
(7)

Figure 5a and b illustrates an original eyeimage I(x, y) taken from the CASIA-IrisV3-Interval [4] and the resultant image I(x, y) after suppressing reflections through bilinear process, respectively. Reflections are suppressed effectively.

Fig. 5
figure 5

a Original I(x, y). Resultant image I(x, y) after passing through bilinear interpolation. c Image \( \overset{\frown }{I}\left(x,y\right) \) after median-filter. d Preprocessed image O(x, y)

3.1.2 Order statistic filter

Order statistic filters are non-linear filters. First, these filters order (ranking) the pixels present in an image area encompassed by a relevant filter. Then, they replace the value of the center pixel with value that is determined from ranking results [8]. The best-known example of this class is the Median filter. It replaces the value of a target pixel by the median of pixels in its neighborhood; value of the target pixel is also considered while computing a new value. Literature [8] reveals that median filters offer excellent noise reduction abilities, with considerably less blurring than the linear smoothing filters having same window size. Median filter removes an object (replaces with median values) whose area is smaller than one-half of the filter’s window area. For better results, pass I(x, y) through a one-dimensional (1D) median filter (windows size [1 × 15] pixel) three times. It is observed experimentally that passing an image repeatedly through a median filter results in relatively better performance compared with first time processing. The resultant image \( \overset{\frown }{I}\left(x,y\right) \) is shown in Fig. 5b. It is evident that eyelashes have been suppressed significantly.

3.1.3 Contrast stretching

If the contrast of an eyeimage is poor, then it may also hurdle in the iris localization process. For this reason, the proposed iris localization scheme also stretches contrast of \( \overset{\frown }{I}\left(x,y\right) \) to its full dynamic range [0  255] if already not. It is performed as

$$ o\left(x,y\right)=255\cdot \left[\frac{\overset{\frown }{I}\left(x,y\right)-\overset{\frown }{I}{\left(x,y\right)}_{\mathrm{min}}}{\overset{\frown }{I}{\left(x,y\right)}_{\mathrm{max}}-\overset{\frown }{I}{\left(x,y\right)}_{\mathrm{min}}}\right], $$
(8)

where \( \overset{\frown }{I}{\left(x,y\right)}_{\mathrm{min}} \) and \( \overset{\frown }{I}{\left(x,y\right)}_{\mathrm{max}} \) are the minimum and maximum pixel intensities in \( \overset{\frown }{I}\left(x,y\right) \), respectively.

3.2 Marking coarse pupil

In this section, the proposed iris localization scheme computes an adaptive threshold (λ) from the histogram of the unprocessed original image I(x, y) as follows:

  1. a)

    First, it extracts the histogram (ϕ) of I(x, y).

  2. b)

    Next, it records a set of gray-level values of the starting 70 successive bins from ϕ into an array (B). This act subjects to the following constraint: frequency of the starting bin needs to be at least greater than 5. This act ensures the rejection of spurious pixels caused by noise such as salt and pepper noise, hair threads, etc.

  3. c)

    After that, it computes λ as

$$ \lambda =\left(\frac{1}{n}\right)\sum \limits_{i=1}^nB(i), $$
(9)

Where n represents the number of bins in B. Basically, Eq. (9) assigns the average gray-level intensity of the recorded bins to λ. Since for every new image these bins may carry different gray-level values, therefore λ can truly be called an adaptive parameter, because it may vary from the image to image according to the image gray-level statistics. Figure 6 shows the histogram of I(x, y). It is evident from this figure that λ belongs to the first ellipse that corresponds to the pupil region.

  1. d)

    Following that, it binarizes O(x, y) using λ as

Fig. 6
figure 6

Histogram of the original eyeimage I(x, y)

$$ b\left(x,y\right)=\left\{\begin{array}{l}1,\kern0.36em o\left(x,y\right)\le \lambda \\ {}0, otherwise\end{array}\right.\kern0.48em . $$
(10)

Equation (10) works as follows. If the gray-level value of a pixel in O(x, y) is less λ, then it assigns one to b(x, y) else zero.

  1. e)

    Now, it applies the morphological operators (e.g., erode followed by dilate) to remove the spurious pixels in b(x, y). Besides, it also uses the holes-filling morphological operators to fill holes in b(x, y). Next, it labels the number of objects in b(x, y) using the concept of 8-connected procedure [8]. After that, it searches b(x, y) for a binary object having relatively large circular area. Finally, it extracts the center coordinates \( \left({x}_p^{\prime },{y}_p^{\prime}\right) \) of this object (pupil) using the concept of centroid [27], see Fig. 7. In addition, it computes the coarse radius (rp) of pupil object by taking average of the one-half of its length and one-half of its width.

Fig. 7
figure 7

a Coarse pupil marked in b(x, y). b Coarse pupillary boundary marked in I(x, y)

3.3 Marking coarse iris contours

After localizing pupillary boundary, the next turn comes to localize limbic boundary. Literature [2, 16] reveals that this task also offers numerous challenges to contemporary iris localization algorithms. For example, its contrast compared with pupillary boundary is generally poor. Besides, the iris region may also be occluded by the eyelashes, eyelids, cosmetic lenses and the frame of eyeglasses. Due to this fact the gradient and thresholding-based schemes may perform poorly. Therefore, for robust limbic boundary localization, the proposed scheme utilizes the following steps:

  1. a)

    First, through the decimation process [8], it resizes the preprocessed image O(x, y) to 50% of its original size. Resultant image is O(x, y) (Fig. 8a). This act results in reducing the overall iris localization time.

Fig. 8
figure 8

a Decimated input image O(x, y). b Edgemap e(x, y). c Iris outer circular contour marked with (xi, yi, ri) in I(x, y). (d) Circular limbic boundary localized with CHT

  1. b)

    Next, it extracts an edgemap e(x, y) from O(x, y) using the Canny-edge detector R [6, 30] (Fig. 8b).

  2. c)

    After that, it removes all edges corresponding to pupil in e(x, y). Notably, this act also boosts up the overall system’s speed. It is because these pixels do not belong to the actual limbic boundary. Therefore, these points should be avoided from voting in the Hough accumulator while marking this boundary (Fig. 8c).

  3. d)

    Following that, it applies CHT to localize limbic described by (xi, yi, ri) [18]. Where, (xi, yi) and ri represent the iris’ center and radius coordinates, respectively. For CHT, consider a radii-range for the iris outer circle as (rmin : rmax) pixel. Where rmin and rmax represent the minimum and maximum radii-range for the iris outer circular boundary in O(x, y), respectively. Set rmin to (rp + 10) and rmax to one-half of the width of O(x, y). Note, such radii-range is generally necessary for IDO/CHT while localizing the iris contours [11].

  4. e)

    Now, it extracts a peak (ϕ) from the Hough transform accumulator and its corresponding parameter vector (xc, yc, rc) for the target circle. If the center (xc, yc) of this circle is close to the pupil center \( \left({x}_p^{\prime },{y}_p^{\prime}\right) \) by an offset of five pixels; and its radius is not more than (2 ⋅ rp) [11, 14, 16], then it is considered as the accurate circular limbic boundary. Otherwise, this peak is deleted and another one is tried in this concern. Notably, the top few peaks in the Hough transform generally correspond to an accurate limbic boundary [2, 31].

Figure 8d shows the limbic boundary being localized through CHT. It is evident that CHT did not localize the actual limbic contour. It is because that CHT attempts to localize iris contour with a circle approximation, but its actual contour for the current image is relatively elliptical. The following section resolves this issue.

3.4 Refining iris contours

Literature [2, 11, 14] reveals that iris inner and outer contours are neither circular nor elliptical. For this reason, those algorithms which segment iris with the circular/elliptical contours may affect the overall performance of a target iris biometric system. To address this issue, numerous researchers have devised contours regularization schemes to convert iris contours localized with circular/elliptical approximation to their non-circular counterparts [2, 11, 22, 23]. Jan et al. in Ref. [14] proposed an efficient and robust iris contours regularization scheme. It is based on a hybrid of the Fourier series and radial-gradients. Therefore, for the sake of brevity, the proposed scheme applies the method offered in [14] to extract the iris non-circular contours. Figure 9a and b shows the iris contours before and after application of this process.

Fig. 9
figure 9

a and b Iris contours before and after the regularization process, respectively

4 Experimental results and discussion

The proposed iris localization scheme has been simulated in the MATLAB Version: 8.5.0.197613 (R2015a). It was installed on a Laptop PC (Intel® Core™ i5-2430M CPU @ 2.4 GHz 2.4GHz), with 2 GB RAM and Windows Ultimate (64-bit operating system) as an operating system. The proposed scheme has been validated on a set of three public iris datasets: MMU V1.0 [21], IITD V1.0 [9] and CASIA-IrisV3-Interval [4]. Accumulatively, these databases offer noisy factors such as specular reflections, eyelids, eyebrows, eyelashes, poor contrast, non-uniform illumination, contact lenses, eyeglasses and vertically-oriented eye in eyeimages. The following text elaborates the experimental setup, results and limitations of the proposed scheme.

4.1 Iris databases

This section briefly details the public iris-databases that were involved in experimentations. It explains as to what type of the light illumination was used for the images acquisition, number of subjects involved, number of images taken from each subject, image storage format and resolution and noise (e.g., eyelids).

4.1.1 MMU V1.0

The Malaysia Multimedia University (MMU) has developed this database [21]. It contains total 460 eyeimages collected from 46 individuals using the LG IrisAccess®2200, which is equipped with the near-infrared (NIR) illuminators. In general, NIR images are preferred compared with the visible-wavelength (VW) images. It is because NIR illumination reveals relatively more iris texture compared with VW illumination. Besides, it is more suitable for both dark and light irises [5, 31]. While developing this database, a set of 10 eyeimages was acquired from each person. Images have been stored in the BMP format with resolution (320 × 240) pixel. This database exhibits noise such as reflections, eyelashes, vertically-oriented eyes and eyeglasses.

4.1.2 IITD V1.0

The Indian Institute of Technology Delhi (IITD) has developed this database [9]. It contains total 1120 eyeimages collected from 224 different individuals using the JIRIS, JPC1000, digital CMOS camera. This camera also uses NIR illuminators while acquiring image data. Persons involved were mostly students and staff working at the IIT Delhi (New Delhi, India). Each image was stored in the BMP format with resolution (320 × 240) pixel. It offers noisy factors including eyelashes, eyelids, eyebrows, contact lenses, focus and reflections.

4.1.3 CASIA-IrisV3-interval

The Chinese Academy of Sciences’ Institute of Automation (CASIA) has developed this database [4]. It contains total 2639 eyeimages collected from 249 different individuals using the CASIA’s made close-up iris camera. This device was equipped with a circular-array of eight NIR Light emitting diodes (LEDs) to illuminate the target place while acquiring image data. Most images were acquired in two-sessions from the CASIA graduate students. Each image was stored in the JPEG format with resolution (320 × 280) pixel. The pupil region in each image contains eight circularly oriented white-dots (i.e., reflections), which are mainly because of NIR illuminators.

4.2 Accuracy

In this section, we present accuracy results of the proposed iris localization algorithm through two metrics: (i) Subjective metric (manual evaluation) and (ii) Iris recognition. The following text highlights these two metrics in more details.

4.2.1 Subjective accuracy

Different accuracy metrics have been utilized by researchers while computing accuracy of their proposed iris localization schemes [2, 16]. If the ground-truth images for a public database are available, then researchers computed accuracy of the proposed scheme using these truth images [3]. Otherwise, they compute accuracy via subjective metric [11, 16, 17, 25, 27, 30]. To compute accuracy results of the proposed scheme subjectively, we utilized the Accuracy-rate (Ar) that is defined as

$$ {m}_r=\left(\frac{k_1}{k_t}\times 100\right). $$
(11)

Here, k1 is the total number of irises localized accurately and kt indicates all images involved in experimentation. Moreover, the mr also relies on the Accuracy-error (zerr) that is defined as

$$ {z}_{err}=\left(\frac{\left|{f}_1-{f}_2\right|}{f_1}\times 100\right). $$
(12)

Here, f1 and f2 are the actual and detected iris-pixels, respectively. In general, detected pixels are counted using a row-major scanning technique [16]. According to Eq. (11), authors consider a localized iris as correct if zerr is less than 10%, otherwise it is marked as false. Figure 10 shows some accurate iris localization results of the proposed scheme via this subjective metric. In addition, Fig. 12 shows some wrong iris localization samples whose reason has been identified in Section 4.4. Table 1 shows accuracy comparison of the proposed scheme with its contemporary counterparts. It is evident, the proposed scheme performed relatively better compared with contemporary schemes. It is mainly because of its iris boundaries regularization via the Fourier series and robust limbic boundary localization through the optimized CHT based scheme. The main reason as to why the accuracy results of contemporary schemes are lower is these schemes localized iris contours with just a circular approximation and did not refine the iris contours.

Fig. 10
figure 10

Rows 1, 2 and 3 show accurate iris localization results of the proposed scheme on the CASIA-IrisV3-Interval, IITD V1.0 and MMU V1.0, respectively

Table 1 Accuracy comparison with contemporary schemes. All results are shown in the percentage (%)

4.2.2 Recognition accuracy

In general, subjective metric is considered sufficient while evaluating accuracy of the proposed iris localization schemes [1, 14, 16]. However, the curiosity as to how much impact the proposed scheme would have on the overall efficiency of an iris biometric system remains high. For this reason, computing accuracy via iris recognition is generally favored [2, 5, 19, 31]. It is logical because its impact on the overall system’ performance is also observed. Due to this reason, we also computed accuracy of the proposed scheme through iris recognition. The following steps highlight this process.

Noise removal

As demonstrated in Fig. 10, a localized iris may contain the eyelids/eyelashes’ occlusions in the localized iris part. This issue may significantly deteriorate the overall system’s performance if not addressed properly. Due to this fact, almost all iris biometric algorithms either remove noise during the iris localization/segmentation process or before extracting features from the localized iris. The following steps are used to perform this job:

  1. a)

    Iris normalization: The physical orientation and quality of irises in eyeimages taken from an individual are not necessary to be 100% similar. It may happen because of the different image acquisition setups, pupil dilation, distance between subject and image acquisition device, etc. [6]. To address this issue, Daugman proposed a Rubber-sheet model [5, 18]. It transforms the annular iris i(x, y) into a fixed rectangular-strip p(r, θ) (Fig. 11). Here, r and θ are the radial and angular resolutions, which are experimentally set to 65 and 360, respectively.

Fig. 11
figure 11

Iris normalization

  1. b)

    Noise detection: It is clear from Fig. 11, normalized iris may contain noisy regions (i.e., eyelids and eyelashes). Literature [16] reveals that many contemporary researchers devised different noise-removal schemes to address this issue. For example, they used the line and parabolic versions of CHT/IDO while marking eyelids [2, 5, 19, 31]. Some of these schemes perform relatively better, but most of them paid little to no attention to the issue of specular reflection and eyelashes present in the normalized iris strip. To resolve this issue, Jan and Usman in [13] proposed an effective scheme to mark the positions of eyelids, eyelashes and reflections in the corresponding noise-mask. For the sake of brevity, here the noise removal scheme proposed in [13] was utilized to demarcate noisy regions. Figure 12 shows the noise-mask (NoiseMask) obtained corresponding to the normalized iris strip shown in Fig. 11. Notably, this mask is always required to match noise-free regions of two iris templates.

Fig. 12
figure 12

NoiseMask generated from p(r, θ)

Features extraction: This section employed the 1D Log-Gabor filter G(f) (Fig. 13a) for extracting features from p(r, θ). The G(f) is defined as

$$ G(f)=\exp \left({\frac{-\left(\log \left(\raisebox{1ex}{$f$}\!\left/ \!\raisebox{-1ex}{${f}_o$}\right.\right)\right)}{2{\left(\log \left(\raisebox{1ex}{$\sigma $}\!\left/ \!\raisebox{-1ex}{${f}_o$}\right.\right)\right)}^2}}^2\right), $$
(13)

where fo and σ are the center frequency and bandwidth of G(f), respectively. These parameters were experimentally set as σ = 0.026 and fo = 0.051. To extract the IrisCode (Fig. 13), the procedure proposed in [5] was utilized. The output of G(f) was then phase quantized into four levels. This quantization process produced a bitwise template (i.e., IrisCode). Its resolution equals to the product of the angular and radial resolution multiplied by 2, i.e., (65 × 360 × 2) = 46800. The resultant IrisCode is shown in Fig. 13b. The IrisCode and its corresponding NoiseMask are necessary components for the iris matching and recognition module.

Fig. 13
figure 13

a Real and imaginary view of the 1D Log-Gabor filter. b IrisCode generated from p(r, θ)

Matching: The Hamming distance (HD) given in Eq. (14) was used as a recognition metric [5, 18]. During matching, only those bits in the probe (X) (target) and gallery (Y) (stored in database) IrisCodes are matched that refer to the zero-bits in their noise-masks (Xn) and (Yn), respectively.

$$ HD=\frac{1}{\overline{N}-\sum \limits_{k=1}^{\overline{N}}\left({X}_{nk}\;(OR)\;{Y}_{nk}\right)}\sum \limits_{j=1}^{\overline{N}}\left({X}_j\;(XOR)\;{Y}_j\right)\kern0.5em (AND)\kern0.5em \left({X}_{nj}^{\hbox{'}}\;(AND)\;{Y}_{nj}^{\hbox{'}}\right), $$
(14)

where \( \overline{N} \) represents the number of bits in an IrisCode. \( {X}_n^{\hbox{'}} \) and \( {Y}_n^{\hbox{'}} \) represent the complements of Xn and Yn, respectively. If the head of a target person in the corresponding eyeimage was not upright, then this issue may result in the rotational inconsistency. Daugman addressed this issue by shifting one IrisCode and its associated NoiseMask to the left and right bitwise. During successive shifts, numerous HD values are recorded. This shifting process in the horizontal direction basically corresponds to a rotation of original iris region by an angle given by angular resolution. Notably, this act rectifies the misalignments issue. For best match between the target and stored IrisCodes, the algorithm selects HD with lowest value. The following text elaborates the iris recognition performance of our proposed scheme.

  1. a)

    Experimental Setup-I

In this setup, we used the CASIA-IrisV3-Interval database. Out of its 249 main folders, some subfolders do not contain images. For this reason, we involved 121 main-folders in experimentation, where each subfolder contains at least 4 images. With this scenario, 1452 intra class and 2,32,320 inter class comparisons were performed. Fig. 14a and b shows the intra- and inter class distributions, respectively. Moreover, Fig. 14c and d illustrates the equal error rate (EER) versus HD; and the genuine accept rate (GAR) versus false accept rate (FAR), respectively. Here, EER represents a point where both FAR and the false reject rate (FRR) gets equal. FAR represents the error rate of accepting an unenrolled individual as an enrolled one. Similarly, FRR represents the error-rate of denying an enrolled person as an unenrolled one. Besides, GAR represents the ratio of the enrolled persons accepted by system to the total enrolled persons input to it. However, for better performance, both FRR and FAR should be kept minimum. It is clear from Fig. 14c, EER attains a value of 0.05% around HD = 0.3625.

Fig. 14
figure 14

a and (b) Intra- and inter class distributions, respectively. c EER. d GAR versus FAR

In addition, Table 2 shows accuracy comparison of the proposed scheme with contemporary methods. It is evident, the proposed scheme achieved relatively better performance. It is because of its good noise (eyelids, eyelashes, and reflections) removal scheme that its counterparts may have not considered properly. Besides, it may also happen because of its contours-regularization scheme, which most contemporary schemes just skipped on.

Table 2 Recognition accuracy comparison
  1. b)

    Experimental Setup-II

In this setup, we utilized the IITD V1.0 iris database. Though this database has 224 main folders, however some folders do not have the same number of images after it was downloaded from its origin. For uniformity, three images from each folder were considered. This act resulted in total 672 intra- and 49,952 inter class comparisons. Figure 15a and b shows the intra- and inter class distributions, respectively. Similarly, Fig. 15c and d illustrates the EER versus HD; and GAR versus FAR, respectively. Here, EER attained value of 0.025% around HD = 0.342. Similarly, the Table 3 shows accuracy comparison of the proposed scheme with contemporary methods. On this database, the proposed iris localization scheme performed relatively better than the CASIA-IrisV3-Interval. The main reason for this fact is almost all images in IITD V1.0 offer good quality, i.e., significant texture, better contrast, etc.

Fig. 15
figure 15

a and (b) Intra- and inter class distributions, respectively. c EER (d) GAR versus

Table 3 Recognition accuracy comparison
  1. c)

    Experimental Setup-III

In this setup, we utilized the MMU V1.0. As stated above, it has total 460 images stored in 46 main folders equally. Each folder contains two subfolders labeled as ‘1’ and ‘2’; each contains five images acquired from the left and right eyes of same individual, respectively. For this setup, 460 intra- and 41,400 inter class comparisons were done. Figure 16a and b shows the intra- and inter class distributions, respectively. Similarly, Fig. 16c and d illustrates EER versus HD; and GAR versus FAR, respectively. For this case, EER attained value of 0.026 around HD = 0.385. The Table 4 shows accuracy comparison of the proposed scheme with contemporary methods. This database offers noise such as vertically-oriented eye in eyeimages, subjects wearing eyeglasses, eyelids and eyelashes occlusions, etc. In comparison with contemporary schemes, the proposed scheme performed relatively better. As stated earlier, this improvement has been because of the effective noise removal scheme of the proposed scheme, iris contours regularization, etc.

Fig. 16
figure 16

a and (b) Intra- and inter class distributions -, respectively. c EER. d GAR versus FAR

Table 4 Recognition accuracy comparison

4.3 Temporal analysis

The proposed iris localization scheme comprises four main tasks: (i) Preprocessing (Pre), (ii) Iris inner contour localization (IICL), (iii) Iris outer contour localization (IOCL) and (iii) Iris contours regularization (ICR). Using the MATLAB profiling facility, on the average, the proposed iris localization scheme took around 430-, 510-, and 230 m-seconds (mSec) on the CASIA-Iris3-Interval, IITD V1.0 and MMU V1.0, respectively (Table 5). It is evident from Table 4, the IOCL took relatively longer because it uses the CHT, which involves a voting-strategy for all pixels present in the corresponding edgemap while localizing iris outer contour with circular approximation. It implies that this stage could be further improved by eliminating the code redundancy if any or spurious pixels not belonging to this contour. Since different authors have used different machines, CPU speed, RAM, anti-virus, running load on CPU while perform simulations, operating systems, etc.; therefore, direct comparison with their results may not be appropriate. However, for the sake of comparison with contemporary schemes, we implemented the bench-mark iris localization schemes [5, 18] in the current experimental setup. Average localization time of these schemes were computed on a set of 100 eyeimages selected arbitrarily from each database. For CASIA-IrisV3-Interval, IITD V1.0 and MMU V1.0; the schemes in [5, 18] took 20-, 25- and 15 s and 15-, 18- and 10 s, respectively. It is evident, these bench-mark algorithm took significantly longer to localize iris contours. It is mainly because these schemes deploy the IDO/CHT operators to localize both inner and outer iris contours, whereas the proposed scheme marks the inner boundary via histogram and thresholding and the limbic one via a CHT-based optimized strategy. As the proposed scheme takes less than one second, therefore it could be deployed in the real-time iris biometric systems.

Table 5 Temporal details of proposed scheme (Intel Core i5, 2.4 GHz, 2GB RAM)

4.4 Limitations

The proposed scheme has the following limitations:

  • It performs well for the NIR eyeimages, but poorly for VW images where pupil is generally contaminated by more light reflections. It happens because the proposed scheme applies a thresholding-based technique to mark pupillary boundary and extract its center coordinates. Notably, this process is biased for NIR image data only. Therefore, for optimal performance, its thresholding-based module should be modified before its application on VW images.

  • This scheme may perform poorly for eyeimages where pupil is strongly connected with a dark strip of eyelashes, see Fig. 17b. It is because after thresholding, the corresponding pupil object in resultant binary image may not be compact, instead its length may be significantly longer than its width. This fact may result in the wrong pupil localization. To cope with this fact, its thresholding-based scheme should also be improved accordingly.

  • In case if CHT operator deviates significantly from the iris actual outer boundary, then the subsequent iris contours regularization process (based on Fourier series) may fail due its internal constrains (e.g., Fig. 17a and c).

Fig. 17
figure 17

a-c Wrong iris localization results for the CASIA-IrisV3-Interval, IITD V1.0 and MMU V1.0, respectively

5 Conclusion

In conclusion, this study proposed an efficient iris localization scheme for the iris biometric systems being equipped with the near infra-red (NIR) illuminators. The overall performance of an iris biometric system strongly relies on the accurate demarcation of iris contours and noise detection and removal from the valid iris part. The critical aspects of an iris localization scheme are its speed and accuracy. If accuracy is high but speed is poor, then the concerned algorithm may not be useful for its real-time applications and vice versa. The proposed scheme localizes iris contours as follows. First, it suppresses reflections through the bilinear interpolation scheme and minimizes the effects of eyelashes through an order-statistics filter. Next, it binarizes the preprocessed image via an adaptive-threshold. This threshold is computed adaptively utilizing the starting bins of the image-histogram. After that, it finds the pupil center and radius using a combination of the centroid and ordinary geometry. Besides, it marks iris inner (pupillary) boundary using a circle approximation. Following that, it localizes iris outer (limbic) contour in a decimated eyeimage using the circular Hough transform (CHT). For fast processing, it removes all pixels belonging to inside and/or boundary of pupil object from the edgemap. This act greatly boasts up the overall boundary localization process. It is because this act prevents many unwanted pixels from voting into the CHT accumulator. Then, it regularizes iris contours to extract the actual non-circular iris contours to some extent. This act may result in an increase in the overall iris recognition accuracy. Finally, it demarcates noise location in the iris polar-form using an existing effective scheme. The proposed scheme has been validated on the CASIA-IrisV3-Interval, IITD V1.0, and MMU V1.0. Experimental results obtained on these databases are relatively better compared with some state of the art in iris localization. To summarize, this work would be a great contribution for the relevant research community.