180 likes | 332 Views
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 Improved Daugman’s Algorithm Implementation Details Experimental Results
E N D
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 • 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 non-cooperative 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 extremerotation
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 • 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 = -8 y = 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 • 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)| • If f(I) < , it is still in the pixel
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 Result Search Space
Experiments • 51 Images, provided by Dr. P.J. Flynn • Center: Euclidean Distance • Radii: Absolute Difference
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