idm

advertisement
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
Improved Daugman’s Algorithm
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)
Iris segmentation methodology for noncooperative recognition
• Extension of Wilde’s method
• Fuzzy k-means clustering
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
Concerns
• 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 exclusion:
– Loss of valid data
– Inability to detect extreme
rotation
Implementation
• Utilized: Python, OpenCV,
Google Code, SVN
• Pupil
– Coarse and Fine combined
• Limbus
– Coarse
– Fine
• Main
– Combines all functions
– A variety of output options
Pupilic Localization
•
•
•
•
L=
DC
2  DC  128 

5 

128


Threshold as defined in paper:
128 proved to be a bad value
DC
L=

2  DC  x  
 5 

Solved for new values x and y:
y


With a high average gray value(DC):
DC = 190,
L = 55 : y = 110
190  x 
85
• With a low average gray value(DC):
DC = 120,
L = 30 :
y = 60
120  x 
30
• Solved for new threshold equation:
DC
L=
x = -8 y = 257
2  DC + 8 

5 


257

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 r =  A / π 
• Center coordinates are found by
calculating the average x and y
values of every pixel
• The integro-differential operator is
then used for fine-localization
Pupilic Localization Cont'd
• f (I ) = |I (x, y) − I (x − 1, y − 1)|
+ |I (x, y) − I (x, y − 1)|
+ |I (x, y) − I (x + 1, y − 1)|
+ |I (x, y) − I (x − 1, y)|
+ |I (x, y) − I (x + 1, y)|
+ |I (x, y) − I (x − 1, y + 1)|
+ |I (x, y) − I (x, y + 1)|
+ |I (x, y) − I (x + 1, y + 1)|
• ΔL =  f I  / 2
• If f(I) < ΔL , it is still in the pixel
Integro-differential operator
dr
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 Limbic
• Searches around coarse (x±9,y±8,r±9) for better fit
Fine
Coarse
Search Space
Result
Experiments
• 51 Images, provided by Dr. P.J. Flynn
• Center: Euclidean Distance
• Radii: Absolute Difference
Experiment Data
Centers: Euclidean Distances
Radii Difference
Limbic
Pupillic
Limbic
Pupillic
Median
10.22
4.06
6.00
6.82
Mean
15.93
10.80
13.56
10.69
Std Dev
15.82
14.69
16.78
2.00
Conclusions and comments
• OO
• C++ vs. Python
• What worked well?
– Integro-differential operator
– Threshold evaluator
• What didn’t work well?
– Delta(intensity) check on coarse pupil
Download