5 months ago
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