improved daugman’s method
DESCRIPTION
Team Beta Bryan Chamberlain Kyle Barkes Daniel Lohmer Patrick Braga-Henebry CSE30332 Programming Paradigms Professor Patrick Flynn. Improved Daugman’s Method. Outline. Problem statement Literature Review Selected Technique Implementation Details Experimental Results - PowerPoint PPT PresentationTRANSCRIPT
Improved Daugman’s Method
Team Beta
Bryan Chamberlain
Kyle Barkes
Daniel Lohmer
Patrick Braga-Henebry
CSE30332 Programming Paradigms
Professor Patrick Flynn
Outline
• Problem statement
• Literature Review
• Selected Technique
• Implementation Details
• Experimental Results
• Conclusions and Comments
Problem Statement
• Our team sought to create an efficient iris localization algorithm through both research and self-testing.
Literature Review• How Iris Recognition Works (John Daugman)• Image understanding for iris biometrics: A survey
(Kevin W. Bowyer, Karen Hollingsworth, Patrick J. Flynn)• An Improved Method for Daugman's Iris Localization
Algorithm (Xinying Ren, Zhiyong Peng, Qinging Zeng, Chaonan Peng, Jianhua Zhang, Shuicai Wu, Yanjun Zeng)
• Efficient Iris Recognition through Improvement of Feature Vector and Classifier (Shinyoung Lim, Kwanyong Lee, Okhwan Byeon, and Taiyun Kim)
• Iris recognition: An emerging biometric technology (Richard P. Wildes)
• Iris segmentation methodology for non-cooperative recognition (Hugo Proença, Luís A, Alexandre)
other paper...
An Improved Method for Daugman's Iris Localization Algorithm
• Localization of pupillary boundary– Coarse, then fine
• Localization of limbus boundary– Coarse, then fine, based on right and left
canthus
• Localization of upper and lower eyelid boundaries– excludes area most likely to
be noise
• With pupil boundary detection:– Ability to set accurate threshold value
• With limbus boundary detection:– Noise getting in the way of edge detection on
either side of the eye
• With eyelid localization:– Loss of valid data
– Inability to detect extreme rotation
Concerns
Implementation• Utilized: Python, OpenCV, Google Code,
SVN
• Pupil– Coarse and Fine wrapped in one
• Limbus– Coarse
– Fine
• Main– Combines all functions
– A variety of output options
Pupilic LocalizationL= DC
5−2∗DC−128
128
L= DC
5−2∗DC−x
y
DC=204, L=83 : y=166204−x 211
DC=156, L=56 : y=112204−x 124
L= DC
5−2∗DC168
293
• Threshold as defined in paper:• 128 proved to be a bad value• Solved for new values x and y:• With a high average gray value(DC):
• With a low average gray value(DC):
• Solved for new threshold equation:x = -168 y = 293
Pupilic Localization Cont'd• Compare each pixel, to threshold value
• If I(x,y) < L, then it is considered to be in the pupil• Radius is determined using the
number of pixels found and the area of a circle
• Center coordinates are found by calculating the average x and y values of every pixel
r= A/
• The integro-differential operator is then used for fine-localization
Integro-differential operator
def max_circ_diff(src, x0, y0, rmin = 0, rmax = 200, d_r = 9, theta_min = 0, theta_max = 2*pi, theta_steps = 24, debug = 0):
Coarse Limbic
• Uses pupilic (x,y,r) to find limbic for L/R arcs
• Increments radius, keeps max(IDO)
• Averages L/R (x,y,r)
Fine
• Searches around coarse (x,y,r) for better fit
Experiments
• Describe data set and their size
• Provide measure allows evaluation of the quality of the results.
• Include table that summarizes the results
Experiment Data
• Put a table here...
Conclusions and comments
• Assess overall work
• Discuss lessons learned
• Do Differently? OO, C++
• What worked well? – Integro-differential operator
– Threshold evaluator
• What didn’t work well?– Delta(intensity) check on pupil coarse