Fast algorithm for determining pupil and iris boundaries Viktor Chigrinskiy Moscow Institute of Physics and Technology Advisor: Yuriy Efimov Supervisor: Ivan Matveev Intelligent Data Processing: Theory and Applications Barcelona, 2016 V. Chigrinskiy Determining of iris boundaries 1 / 26
Problem Purpose Building a fast algorithm to determine pupil and iris boundaries in eye image and approximate them by circles. Proposal It is proposed to perform three steps consequently: preprocess the eye image by morphological erosion and dilation, determine the pupil boundary via thresholding and determine the iris boundary using a density of the points distribution by their distances to the pupil center. V. Chigrinskiy Determining of iris boundaries 2 / 26
Problem solutions Circular shortest path method I. A. Matveev. Circular shortest path as a method of detection and refinement of iris borders in eye image, 2011 I. A. Matveev. Detecting precise iris boundaries by circular shortest path method, 2014 Hough transform and paired gradients I. A. Matveev, K. A. Gankin and A. N. Gneushev. Iris image segmentation based on approximate methods with subsequent refinements, 2014 Y. S. Efimov and I. A. Matveev. Iris border detection using a method of paired gradients, 2015 V. Chigrinskiy Determining of iris boundaries 3 / 26
Problem statement Input Monochromatic raster graphic image I 0 size of W × H , obtained by photographing wide-open eye in the near-infrared region by camera located approximately on the optical axis. Output Coordinates of centers and radiuses of two circles approximating pupil and iris boundaries: { ξ pupil , η pupil , ρ pupil } , { ξ iris , η iris , ρ iris } . Expert data For each image expert values of approximating circles is defined: ˜ ρ pupil , ˜ ξ pupil , ˜ η pupil , ˜ ξ iris , ˜ η iris , ˜ ρ iris V. Chigrinskiy Determining of iris boundaries 4 / 26
Input data examples V. Chigrinskiy Determining of iris boundaries 5 / 26
Quality criterion Absolute error Maximum among modules of parameters’ deviations: �� � � ξ pupil − ˜ S = max ξ pupil � , | η pupil − ˜ η pupil | , | ρ pupil − ˜ ρ pupil | , � � � � � � ξ iris − ˜ ξ iris � , | η iris − ˜ η iris | , | ρ iris − ˜ ρ iris | , � � Relative error S The ratio of the absolute error to the iris radius: e = . ρ iris ˜ Quality criterion The share of images on which the relative error does not exceed permissible value δ defined by expert. V. Chigrinskiy Determining of iris boundaries 6 / 26
Algorithm flowchart Determining the pupil parameters Primary Final Morphological determining determining processing the pupil the pupil parameters parameters Emphasizing Thresholding edges Determining the iris parameters No Deleting Determining Plotting unsuitable δ r < δ r bad ? the iris histogram points parameters Yes V. Chigrinskiy Determining of iris boundaries 7 / 26
General methods Mathematical morphology J. Serra. Image Analysis and Mathematical Morphology, 1983 J. Serra. Image Analysis and Mathematical Morphology, vol. 2: Theoretical Advances, 1988 Canny edge detector J. F. Canny. A computational approach to edge detection, 1986 V. Chigrinskiy Determining of iris boundaries 8 / 26
Primary determining pupil boundary Morphological processing Morphologically processed image I morph is obtained by consequent implementation of erosion and dilation of the initial image I 0 Thresholding Binary image is obtained according to the following rule: B ( T ; ξ, η ) = [ I morph ( ξ, η ) � T ], where T is threshold value. V. Chigrinskiy Determining of iris boundaries 9 / 26
Choosing threshold value The threshold value T is determined by the brute-force search which examines every pixel value in the image. Thresholded by the certain value τ image represented as a graph splits into N cc connectivity components. Effective radius of i -th component r eff ( τ ; i ) = max { ξ max ( τ ; i ) − ξ min ( τ ; i ) , η max ( τ ; i ) − η min ( τ ; i ) } . Quality of i -th component � � S ( τ ; i ) � � q ( τ ; i ) = 1 − � 1 − � . � � π r 2 eff ( τ ; i ) Quality of the threshold value τ Q ( τ ) = [ N cc ( τ ) > 0] max i q ( τ ; i ). Threshold value T T = arg max τ Q ( τ ). V. Chigrinskiy Determining of iris boundaries 10 / 26
Final determining pupil boundary Edge detection The image of the edges I edge is obtained by applying the Canny edge detector to the morphologically processed image I morph . Pupil edge detection The image of the pupil edges is obtained according to the following � ρ < 5 � rule: I pupil = 4 ρ pupil I edge , where ρ is distance between the point and the pupil center. V. Chigrinskiy Determining of iris boundaries 11 / 26
Density of the edge points distribution Real density If assume that binary image is continuous set of points, it can be stated that the density of these points distribution by their distatnces to the pupil center exists. Let it be f real ( ρ ) Effective density It is necessary to highlight the most probably iris radius because of the big amount of noise on a periphery of the image: f real ( ρ ) ν ( ρ pupil ; ρ ) f ( ρ ) = � + ∞ −∞ f real ( ρ ′ ) ν ( ρ pupil ; ρ ′ ) d ρ ′ µ = 5 2 ρ pupil , σ = 3 µ, σ 2 � � ν ( ρ pupil ; ρ ) ∼ N , 10 ρ pupil V. Chigrinskiy Determining of iris boundaries 12 / 26
Highlighting most probable value 0.18 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 50 100 150 200 250 300 350 400 450 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 50 100 150 200 250 300 350 400 450 V. Chigrinskiy Determining of iris boundaries 13 / 26
Iterative procedure for determining the iris boundary Initialization Those and only those edge points which can correspond to the iris � 5 � boundary remain: I (0) iris ( ξ, η ) = 4 ρ pupil < ρ < 5 ρ pupil I edge ( ξ, η ). k -th step � � f ( λρ + (1 − λ ) arg max ρ f ( ρ )) > 1 I ( k ) I ( k − 1) iris = ∀ λ ∈ [0 , 1] . iris ℓ Stopping criterion At each step remaining points are approximated by circle and standard deviation δ r ( k ) is calculated. The procedure repeats until this standard deviation exceeds the certain fixed value δ r . V. Chigrinskiy Determining of iris boundaries 14 / 26
Iterative procedure for determining the iris boundary 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 90 95 100 105 110 115 120 125 130 135 V. Chigrinskiy Determining of iris boundaries 15 / 26
Iterative procedure for determining the iris boundary V. Chigrinskiy Determining of iris boundaries 16 / 26
Computational approach for determining the iris boundary In fact, images are not continuous, but discrete finite-size matrices. To build a numerical approximation of the real density of the points distribution it is proposed to round all ρ values to the nearest integer ˜ ρ . Numerical approximation of the real density n (˜ ρ ) / 2 π ˜ ρ ˜ f real (˜ ρ ) = � n (˜ ρ ′ . ρ ′ ) / 2 π ˜ Numerical approximation of the effective density ˜ f real (˜ ρ ) ν ( ρ pupil ; ˜ ρ ) ˜ f (˜ ρ ) = � ˜ . f real (˜ ρ ′ ) ν ( ρ pupil ; ˜ ρ ′ ) V. Chigrinskiy Determining of iris boundaries 17 / 26
Smoothing Moving Average method h 1 ˜ � ˜ f smooth ( h ; ˜ ρ ) = f (˜ ρ + s ). 2 h + 1 s = − h 0.03 No smoothing 0.025 0.02 0.015 0.01 0.005 0 0 50 100 150 200 250 300 350 400 450 0.03 h = 2 0.025 0.02 0.015 0.01 0.005 0 0 50 100 150 200 250 300 350 400 450 V. Chigrinskiy Determining of iris boundaries 18 / 26
Smoothing 0.03 h = 5 0.025 0.02 0.015 0.01 0.005 0 0 50 100 150 200 250 300 350 400 450 0.03 h = 10 0.025 0.02 0.015 0.01 0.005 0 0 50 100 150 200 250 300 350 400 450 V. Chigrinskiy Determining of iris boundaries 19 / 26
Pseudocode Require: the image I 0 . Ensure: ξ pupil , η pupil , ρ pupil , ξ iris , η iris , ρ iris . I morph ← morphology( I 0 ) ⊲ Morphological processing for all values τ of pixel belonging I morph do B ( τ ) ← binary( I morph ; τ ) ⊲ Thresholding by τ for all connectivity component i do obtain effective radius r eff ( τ ; i ) obtain quality of connectivity component q ( τ ; i ) end for obtain quality of threshold Q ( τ ) end for choose threshold value T obtain binary image B choose connectivity component with the maximum q in the B emphasize edges I pupil of this component ξ pupil , η pupil , ρ pupil ← OLS( I pupil ) ⊲ Ordinary least squares V. Chigrinskiy Determining of iris boundaries 20 / 26
Pseudocode I edge ← Canny( I morph ) ⊲ Canny edge detector emphasize pupil edges I pupil ξ pupil , η pupil , ρ pupil ← OLS( I pupil ) initialization of iris edges I (0) iris k = 0 δ r (0) ← OLS( I (0) iris ) while δ r ( k ) > δ r bad do build approximation of the real density f real build approximation of the effective density f smooth the approximated density f smooth k ← k + 1 do iteration step I ( k ) iris δ r ( k ) ← OLS( I ( k ) iris ) end while I iris ← I ( k ) iris ξ iris , η iris , ρ iris ← OLS( I iris ) V. Chigrinskiy Determining of iris boundaries 21 / 26
Examples of the algorithm correct results V. Chigrinskiy Determining of iris boundaries 22 / 26
Recommend
More recommend