reports/final/content/finalproduct.tex

2010-03-19

author
francis
date
Fri Mar 19 09:09:52 2010 +0000
changeset 395
7f671b74a3a8
parent 393
352b1179b4f7
child 396
f190851b2dbb
permissions
-rw-r--r--

Other stuff

     1 \chapter{Conclusions}
     2 \section{Final Product}
     3 The final prototype is a functional iris detection application, which provides the 
     4 user with visual prompts and feedback and also some supplementary information about 
     5 the loaded image for debugging purposes.
     7 The final product can read in an 8-bit indexed, greyscale image and will attempt to
     8 automatically best-fit parameters for the location of the pupil, iris and eyelids with 
     9 consideration for specular highlights and padding for eyelash interference. The entire auto-detection process takes a matter of milliseconds. The user may 
    10 choose to manually enter points to specify all of these locations; if the user does, he 
    11 or she will receive appropriate visual feedback cues for repositioning elements in a 
    12 manner intuitive to any casual computer user.
    14 From this point, the user input is complete and the application will process the
    15 image data, unwrap the iris using polar co-ordinates and mask appropriate
    16 regions of the unwrapped iris based on the auto-detection sequence or user
    17 input.  This information is then extracted using Gabor wavelet convolution
    18 filters and the final output is a 2048-bit iris code containing phase
    19 information of the valid iris pixel data.
    21 The iris code is stored in a local, new line delimited text database if unique
    22 or the prototype reports that the code has already been located in the database
    23 and a successful match dialog is given.
    25 \section{Auto Detection}
    27 %\subsubsection{Pupil}
    29 Pupil detection in the application works to a very high degree of accuracy in
    30 every seen case.  The pupil has a fairly unique shade in comparison to the rest
    31 of the eye and its surrounding area; this enables an intelligent threshold to
    32 be carried out with information from the image histogram to isolate the pupil.
    33 This, unfortunately, is not a property shared by the iris, making it significantly more
    34 difficult to isolate than the pupil.
    36 %\subsubsection{Iris}
    38 Currently the prototype makes an estimation of the location of the iris based on
    39 concentricity (a potential source of error) with the pupil, and assumes
    40 a detectable gradient ramp between the iris and the sclera. These complications
    41 hamper the accuracy of our current estimates and produce a successful detection
    42 rate on the CASIA database of around 70\%, though potential improvements to this
    43 method are suggested in future work (\ref{furtherwork}).
    45 %\subsubsection{Eyelids}
    47 The prototype manages to detect the top edge of the eyelids in the vast
    48 majority of cases. With the small amount of padding added to accommodate the
    49 thickness of the top eyelid, it can be seen that, although not perfect, a very
    50 reasonable estimate of the eyelid boundary is found automatically.
    52 \chapter{Final Results}
    54 With the batch command line option of the application, it is possible to
    55 process a large amount of images of eyes. Using this option, 108 images of eyes
    56 from the CASIA database were loaded into the application; the pupil, iris and eyelids were auto-detected to generate a bitcode and store it in the database. These were then compared to an alternative image of each eye 
    57 to check for matches.
    60 To further test primarily for false matches, the first three images of each eye were
    61 loaded into the database, and then compared to a fourth
    62 image for each eye. As there were originally three images for each eye, and
    63 then a comparison was performed on all of the extra 108 images, roughly 35,000
    64 iris comparisons took place ($(108 * 3) * 108$). 
    66 Our results of these tests are as follows: \begin{itemize} \item 0 false
    67 		matches in $\sim$35,000 comparisons \item 70\% (75 out of 108) match rate
    68 		with Professor Daugman's suggested 0.32 Hamming distance.
    69 \end{itemize}
    71 The complete lack of any false matches and the incredibly high match rate are a
    72 testament to the robustness and feasibility of an iris recognition system. The
    73 tests have suggested that in virtually any case where the iris boundary is
    74 correctly located, the iris should be correctly identified.
    76 As a roughly 70\% match rate was achieved for the iris location, this percentage has, as
    77 predicted, been reflected in the overall match rate in the
    78 database of images. Similarly to Daugman, we can also observe that the Hamming
    79 distances produced by comparing different irides tends to follow a binomial distribution, with a mean around 0.46; see
    80 figure \ref{hd}.
    82 \begin{figure}
    83   \centering
    84     \includegraphics[width=0.55\textwidth]{hd}
    85     \caption{The distribution of Hamming distances for one run of all the irides in the database}
    86     \label{hd}
    87 \end{figure}
    89 \newpage
    91 \section{Source Code}
    92 The source code is freely available under the GPL licence from \url{http://projectiris.co.uk}.
    94 \chapter{Future Work}
    95 \label{furtherwork}
    96 Throughout development the focus was on producing a functioning piece of software capable of 
    97 fast, consistent and reliable iris recognition. There are other possible routes for extension
    98 and exploration within this project. There are alternative ideas for the format of the
    99 application and unexplored avenues within auto-detection techniques.
   101 \section{Otsu Thresholding for Iris/Sclera Separation}
   102 As we have seen before on average the iris has a lower intensity than the
   103 sclera. Hence it could potentially be beneficial to explore the use of Otsu
   104 thresholding for separation of the iris and sclera. Similar to the methods
   105 implemented for eyelid detection, if we remove eyelids and pupil intensities
   106 from the Otsu thresholding process then we obtain the image shown in figure
   107 \ref{otsu-iris}. Although to the human eye this image looks to hold more
   108 information than the implemented technique (see figure \ref{iris-threshold})
   109 the image contains a large amount of noise and would require further filtering
   110 and refinement to be useful.
   112 \begin{figure}
   113   \centering
   114     \includegraphics[width=0.35\textwidth]{anothereye}
   115         \hspace{1cm}
   116     \includegraphics[width=0.35\textwidth]{otsui}
   117     \caption{Image before and after an Otsu threshold.}
   118     \label{otsu-iris}
   119 \end{figure}
   121 This would be the first recommended route for extension since, during the
   122 testing phase, the software tended to fail recognition on images where it could
   123 not adequately locate the iris.
   125 \section{Eyelashes}
   126 In some images eyelashes can obscure parts of the iris. Detection and removal
   127 (marking as bad bits) of eyelashes could potentially improve the detection
   128 rate. A method is given in \cite{min2009} for eyelash detection. The method
   129 relies on two characteristics of eyelashes: firstly, that they have a relatively
   130 low intensity compared to surrounding features, and secondly that the eyelash
   131 regions have a large variation in intensity due to the thin shape of the
   132 eyelashes (see figure \ref{justaneye}). The method uses these characteristics
   133 by combining a standard-deviation filter and a thresholding technique.
   135 \begin{figure}
   136   \centering
   137 	\includegraphics[width=0.35\textwidth]{justaneye}
   138 	\caption{The eyelashes have a relatively low intensity and the eyelash region has high variation in intensity.}
   139     \label{justaneye}
   140 \end{figure}
   142 \section{Eyelids}
   143 The implementation of eyelid detection is based on the region obtained from the
   144 thresholding technique, as we saw in figure \ref{otsu-eyelids}. The system
   145 currently constructs a parabola from three points on the boundary of this
   146 region. Accuracy in eyelid detection could potentially be improved by using the
   147 Hough technique for parabolas. This again would allow more accurate marking of
   148 non-iris regions and hence improve overall recognition rate.
   150 %TODO:? \subsection{Gaussian Derivative Encodings}
   152 \section{Application Format}
   153 Currently the system has a text file for storing iris encodings. This could be
   154 improved to mirror a real-world application deployment by interfacing with a
   155 database. Although due to the one-to-many searches involved with iris
   156 recognition database querying could potentially become a bottle neck.
   158 Another area worth exploring is implementing the software with a client/server
   159 architecture whereby the iris is encoded client side, and compared server side.
   160 Again, this more accurately mirrors real-world deployment of an iris recognition
   161 software. This would then require further investigation into security and encryption methods
   162 for the system.

mercurial