Iris Recognition Detecting The Iris 3
Iris Recognition Detecting The Iris 3
Bryan Lipinski
This work is produced by OpenStax-CNX and licensed under the
Creative Commons Attribution License 1.0
Abstract
A process for detecting the center and radius of an iris given the pupil center and radius.
1 Iris Detection
With the information on the pupil discovered the location of the iris can now begin. It is important to
note that the pupil and iris are not concentric. Consequently, the pupil information does not help directly
determine the same parameters for the iris. However, the pupil information does give a good starting point,
the pupil center.
Most modern iris detection algorithms use random circles to determine the iris parameters. Having a
starting point at the pupil, these algorithms guess potential iris centers and radii. They then integrate
over the circumference in order to determine if it is on the border of the iris. While this is highly accurate
the process can consume a lot of time. This module explains an alternate approach which is much more
lightweight but with higher error rates.
http://cnx.org/content/m12489/1.3/
(a)
(b)
Figure 1: The original image after running through a median lter. A median lter works by assigning
to a pixel the median value of its neighnors.
Now that the image is prepped the edge detection can be done. Since there is such a noticeable rising
edge in luminescence at the edge of the iris, ltering with a haar wavelet should act as a simple edge
detector. The area of interest is not just the single horizontal line through the iris, but the portion of that
line to the left of the pupil. This is so that the rising luminescence from the transition from iris to white is
the only major step.
(a)
(b)
(c)
Figure 2: By ltering the area of interest with a haar wavelet all rises in luminence are transformed
into high valued components of the output. The sharpness of change in luminence aects the overall
height of the component. (a) Haar Wavelet (b) The area of interest (c) The area of interest after ltering
with the haar wavelet
http://cnx.org/content/m12489/1.3/
The iris should represent the steepest luminence change in the area of interest. Consequently, this area of
the image should correspond to the highest valued componenet of the the output from the lter. By nding
this maximal value the edge of the iris to the right of the pupil should be found. It should be noted that
since the iris may not be concentric with the pupil the distance from the pupil center to this edge may not
correspond to the iris' radius.
Figure 3: The green point is the pupil center found using the pupil detection techniques of part 1. The
red point indicates the starting point of the area of interest. The blue point is the approximate radius
found. The yellow point is the padded radius for use in nding the actual iris parameters.
3 Iris Translation
Having acquired an approximate radius, a small pad of this value should produce a circle centered on the
pupil which contains the entire iris. Furthermore, with the perimeter of the pupil known, an annulus may
be formed which should have the majority of it's area lled by the iris. This annulus can then be unrolled
into cartestian coordinates through a straight discretized transformation. (r > y, > x) The details of
this procedure are described in Step 3.
If the iris is perfectly centered on the pupil, the unrolled image should have a perfectly straight line along
its top. However, if the iris is o center even a little this line will be wavy. The line represents the overall
distance the iris is at from the pupil center. It is this line which will help to determine the iris' center and
radius. Consequently, an edge detection algorith m must be run on the strip in order to determine the line's
exact location. Once again canny edge detection is used. However, before the edge detection can be run
the image should undergo some simple pre-processing to increase the contrast of the line. This will allow for
a higher thresholding on the edge detection to eliminate extraneous data.
http://cnx.org/content/m12489/1.3/
(a)
(b)
http://cnx.org/content/m12489/1.3/
(a)
(b)
Figure 5: The points selected on the strip to form the chords of the iris through the pupil
The center of the iris can be computed by examining the shift vectors of the chords. By looking at both
sides of a chord and comparing their lengths an oset can be computed. If the center was shifted by this
vector it would equalize the two components of the chord. By doing this with both of the chords two dierent
oset vectors can be computed. However, by just shifting the center through both of these vectors some
components of shift will be overcompensated for due to the vectors not being orthogonal. Thus, the center
should be shifted through the rst vector, and the orthogonal component of the second to the rst.
http://cnx.org/content/m12489/1.3/
Figure 6: The change vectors (black) represent the shift of the pupil (black circle) in order to nd the
iris center. By just adding the vectors (blue vector) the result (blue circle) is oset by any vector the two
change vectors share. Consequently, by adding the orthogonal component (gray vector) of one vector to
the other (red vector), the actual iris center (red circle) is found.
The diameter of the iris can now be estimated by simply averaging the two diameters of the chords.
While this is not a perfect estimate, that would require a single chord through the iris center, it is a very
good approximation.
Figure 7: The pupil center and perimeter, along with the original estimate of the iris perimeter and
the determined iris center and perimeter
5 Possible Improvements
Currently the algorithm only examines two static vectored chords. While these were chosen to work best
within the maximal orthogonality and minimal eyelash/eyelid interference constraint there are still many
cases where they do not work. It is possible for someone to have the entire upper half of their iris covered
and still have the rest of the iris code generation work since less then half of the iris surface is needed for
http://cnx.org/content/m12489/1.3/
an identication. Of course, if half of the eye is shut the chords will not intersect the iris edge and no result
will occur. Instead of these static vectors for chords, an adaptive algorithm could be used which starts from
the eye center and works progressively through angles to nd points near the eyelid interference region. In
this case the orthogonality would be maximized for that eye while still nding points on the iris edge.
Most modern iris detection algorithms produce what is known as an iris mask. This mask represents
the portion of the iris obstructed by the eyelid or eyelash. This portion can then be ignored when doing
the iris code comparison. In this way a user is not penalized for blocking a portion of their iris in the
overall authentication. This takes advantage of the need for only a fraction of the iris for identication. The
algorithm described in this module does not currently produce a mask. One way in which a mask could
be produced is during the iris extrapolation. After unrolling the iris the presence of discontinuities in the
line across the top the eyelids or eyelashes could be detected and a mask could be returned showing them.
Another way a mask could be generated is through the running of a edge detector around the edge of the
computed iris. In this way all sections of the perimeter which are messy could be found and masked.
http://cnx.org/content/m12489/1.3/