Other stuff

5 months ago

author
francis
date
Fri Mar 19 09:09:52 2010 +0000
changeset 395
7f671b74a3a8
parent 394
8d5828946f41
child 396
f190851b2dbb

Other stuff

reports/final/content/finalproduct.tex file | annotate | diff | revisions
reports/final/content/method.tex file | annotate | diff | revisions
     1.1 --- a/reports/final/content/finalproduct.tex	Thu Mar 18 20:08:44 2010 +0000
     1.2 +++ b/reports/final/content/finalproduct.tex	Fri Mar 19 09:09:52 2010 +0000
     1.3 @@ -6,36 +6,37 @@
     1.4  
     1.5  The final product can read in an 8-bit indexed, greyscale image and will attempt to
     1.6  automatically best-fit parameters for the location of the pupil, iris and eyelids with 
     1.7 -consideration for specular highlights and padding for eyelash interference. The user may 
     1.8 -choose to manually enter points to specify all of these locations, if the user does, he 
     1.9 +consideration for specular highlights and padding for eyelash interference. The entire auto-detection process takes a matter of milliseconds. The user may 
    1.10 +choose to manually enter points to specify all of these locations; if the user does, he 
    1.11  or she will receive appropriate visual feedback cues for repositioning elements in a 
    1.12  manner intuitive to any casual computer user.
    1.13  
    1.14 -From this point the user input is complete and the application will process the image data,
    1.15 -unwrap the iris using polar co-ordinates and mask appropriate regions of the unwrapped iris 
    1.16 -based on the autodetection sequence or user input.  This information is then extracted using 
    1.17 -Gabor wavelet convolution filters and the final output is a 2048-bit iris code containing
    1.18 -phase information of the valid iris pixel data.
    1.19 +From this point, the user input is complete and the application will process the
    1.20 +image data, unwrap the iris using polar co-ordinates and mask appropriate
    1.21 +regions of the unwrapped iris based on the auto-detection sequence or user
    1.22 +input.  This information is then extracted using Gabor wavelet convolution
    1.23 +filters and the final output is a 2048-bit iris code containing phase
    1.24 +information of the valid iris pixel data.
    1.25  
    1.26 -The iris code is stored in a local, new line delimited text database if unique or the 
    1.27 -prototype reports that the code has already been located in the database and a successful
    1.28 -match dialog is given.
    1.29 +The iris code is stored in a local, new line delimited text database if unique
    1.30 +or the prototype reports that the code has already been located in the database
    1.31 +and a successful match dialog is given.
    1.32  
    1.33 -\section{Benchmarking/Testing}
    1.34 -\subsection{Auto Detection}
    1.35 +\section{Auto Detection}
    1.36  
    1.37  %\subsubsection{Pupil}
    1.38  
    1.39 -Pupil detection in the application works to a very high degree of accuracy in every seen case.
    1.40 -The pupil has a fairly unique shade in comparison to the rest of the eye and its surrounding area;
    1.41 -this enables an intelligent threshold to be carried out with information from the image histogram
    1.42 -to isolate the pupil. This, unfortunately, is not a property shared by the iris, making it a lot
    1.43 -more difficult to isolate than the pupil.
    1.44 +Pupil detection in the application works to a very high degree of accuracy in
    1.45 +every seen case.  The pupil has a fairly unique shade in comparison to the rest
    1.46 +of the eye and its surrounding area; this enables an intelligent threshold to
    1.47 +be carried out with information from the image histogram to isolate the pupil.
    1.48 +This, unfortunately, is not a property shared by the iris, making it significantly more
    1.49 +difficult to isolate than the pupil.
    1.50  
    1.51  %\subsubsection{Iris}
    1.52  
    1.53  Currently the prototype makes an estimation of the location of the iris based on
    1.54 -concentricity (a potentially large source of error) with the pupil, and assumes
    1.55 +concentricity (a potential source of error) with the pupil, and assumes
    1.56  a detectable gradient ramp between the iris and the sclera. These complications
    1.57  hamper the accuracy of our current estimates and produce a successful detection
    1.58  rate on the CASIA database of around 70\%, though potential improvements to this
    1.59 @@ -52,21 +53,19 @@
    1.60  
    1.61  With the batch command line option of the application, it is possible to
    1.62  process a large amount of images of eyes. Using this option, 108 images of eyes
    1.63 -from the CASIA database were loaded into the application, auto-detecting the
    1.64 -location of the pupil, iris and eyelids to generate a bitcode which was stored
    1.65 -into the database. These were then compared to an alternative image of each eye 
    1.66 +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 
    1.67  to check for matches.
    1.68  
    1.69  
    1.70 -To further test for false matches, the first three images of each eye were
    1.71 +To further test primarily for false matches, the first three images of each eye were
    1.72  loaded into the database, and then compared to a fourth
    1.73  image for each eye. As there were originally three images for each eye, and
    1.74  then a comparison was performed on all of the extra 108 images, roughly 35,000
    1.75  iris comparisons took place ($(108 * 3) * 108$). 
    1.76  
    1.77  Our results of these tests are as follows: \begin{itemize} \item 0 false
    1.78 -		matches in ~35,000 comparisons \item 70\% (75 out of 108) match rate
    1.79 -		with Professor Daugman's suggested 0.32 hamming distance.
    1.80 +		matches in $\sim$35,000 comparisons \item 70\% (75 out of 108) match rate
    1.81 +		with Professor Daugman's suggested 0.32 Hamming distance.
    1.82  \end{itemize}
    1.83  
    1.84  The complete lack of any false matches and the incredibly high match rate are a
    1.85 @@ -76,7 +75,7 @@
    1.86  
    1.87  As a roughly 70\% match rate was achieved for the iris location, this percentage has, as
    1.88  predicted, been reflected in the overall match rate in the
    1.89 -database of images. Similarly to Daugman, we can also observe that the hamming
    1.90 +database of images. Similarly to Daugman, we can also observe that the Hamming
    1.91  distances produced by comparing different irides tends to follow a binomial distribution, with a mean around 0.46; see
    1.92  figure \ref{hd}.
    1.93  
    1.94 @@ -123,7 +122,7 @@
    1.95  testing phase, the software tended to fail recognition on images where it could
    1.96  not adequately locate the iris.
    1.97  
    1.98 -\subsection{Eyelashes}
    1.99 +\section{Eyelashes}
   1.100  In some images eyelashes can obscure parts of the iris. Detection and removal
   1.101  (marking as bad bits) of eyelashes could potentially improve the detection
   1.102  rate. A method is given in \cite{min2009} for eyelash detection. The method
   1.103 @@ -140,7 +139,7 @@
   1.104      \label{justaneye}
   1.105  \end{figure}
   1.106  
   1.107 -\subsection{Eyelids}
   1.108 +\section{Eyelids}
   1.109  The implementation of eyelid detection is based on the region obtained from the
   1.110  thresholding technique, as we saw in figure \ref{otsu-eyelids}. The system
   1.111  currently constructs a parabola from three points on the boundary of this
   1.112 @@ -150,7 +149,7 @@
   1.113  
   1.114  %TODO:? \subsection{Gaussian Derivative Encodings}
   1.115  
   1.116 -\subsection{Application Format}
   1.117 +\section{Application Format}
   1.118  Currently the system has a text file for storing iris encodings. This could be
   1.119  improved to mirror a real-world application deployment by interfacing with a
   1.120  database. Although due to the one-to-many searches involved with iris
     2.1 --- a/reports/final/content/method.tex	Thu Mar 18 20:08:44 2010 +0000
     2.2 +++ b/reports/final/content/method.tex	Fri Mar 19 09:09:52 2010 +0000
     2.3 @@ -1,5 +1,5 @@
     2.4  \chapter{Methodology}
     2.5 -To achieve automated iris recognition, there are three main tasks: First we must locate the iris in a given image. Secondly, it is necessary to encode the iris information into a format which is amenable to calculation and computation, for example a binary string. Finally, the data must be storable, to load and compare these encodings.
     2.6 +To achieve automated iris recognition, there are three main tasks: first we must locate the iris in a given image. Secondly, it is necessary to encode the iris information into a format which is amenable to calculation and computation, for example a binary string. Finally, the data must be storable, to load and compare these encodings.
     2.7  
     2.8  \section{Iris Location}
     2.9  When locating the iris there are two potential options. The software could
    2.10 @@ -127,7 +127,7 @@
    2.11  streamlined to accelerate the computation.
    2.12  
    2.13  Thresholding the input image has the inherent benefit of changing the virtual
    2.14 -bit-depth of the image to 1 (black or white), the implemented algorithm saves
    2.15 +bit-depth of the image to 1 (black or white). Furthermore, the implemented algorithm saves
    2.16  time by only operating on black pixels -- a greyscale implementation would
    2.17  significantly add to the processing time.  Additionally a search on the
    2.18  threshold result (figure \ref{pupil_step_3_thresh}) gives confident parameter

mercurial