reports/final/content/finalproduct.tex

2010-03-19

author
francis
date
Fri Mar 19 09:11:02 2010 +0000
changeset 396
f190851b2dbb
parent 395
7f671b74a3a8
child 397
1260c9917f20
permissions
-rw-r--r--

Swap Final Results and conclusion

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


    

    

mercurial