160 likes | 313 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 Selected Technique 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 • 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)
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 localization: • Loss of valid data • Inability to detect extreme rotation
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 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 = -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 • 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