Computer-implemented method for fine localization of iris of eye

By detecting the positions of the iris and pupils in the iris image, and combining the single-trigger detector model and gradient mapping technology for fine positioning, the fuzzy problem of iris positioning under long-distance capture is solved, and the positioning accuracy and identification accuracy are improved.

CN119625813APending Publication Date: 2025-03-14GEMALTO SMART CARDS TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311181352.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-13
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The prior art has problems of defocus blur and motion blur in long-distance captured iris images, resulting in mislocalization and affecting subsequent template creation and identification processes.

Method used

By detecting the position of the iris in the first image of the eye, cropping the image to obtain the second image, detecting the position of the pupil, performing a rough estimate, and finally fine-positioning of the iris is performed, and fine-positioning is performed using a single-trigger detector model and gradient mapping technology.

Benefits of technology

It effectively solves the fuzzy problem of iris positioning under long-distance capture, improves positioning accuracy, reduces the occurrence of wrong positioning, and ensures the accuracy of subsequent template creation and identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119625813A_ABST
    Figure CN119625813A_ABST
Patent Text Reader

Abstract

A computer-implemented method for fine localization of an iris of an eye is provided. The invention relates to a first computer-implemented method (1) for locating an iris (20.0) of an eye (2), where the first computer-implemented method (1) comprises: detecting a first position (B1) of the iris (20.0) within a first image (I1) of the eye (2), cropping the first image (I1) according to the first position (B1) in order to obtain a second image (I2), -detecting a second position (B2) of a pupil (20.1) of the eye (2) based on the second image (I2),-performing a coarse estimation of the pupil (20.1) based on the second position (B2) of the pupil (20.1),-performing a fine localization of the iris (20.0) based on the first image (I1) and the coarse estimation of the pupil.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a first computer-implemented method for locating the iris of an eye. Background Art

[0002] Today, iris recognition technology is used for biometric measurement. Because the human iris contains unique, rich and stable texture information, it is widely used in personal identification applications. The first computer-implemented method for iris localization is used within the iris recognition method, which includes the following three main stages:

[0003] - Iris localization, which obtains the position of the pupil, iris and eyelid,

[0004] - Template creation, which generates a template containing the distinctive features of the iris texture, which is saved in a database during the registration phase, and

[0005] - Template comparison, which compares the identified human iris with templates saved in a database during the identification phase.

[0006] One problem with this first computer-implemented approach is that iris images captured at long distances may contain defocus blur due to distance, as well as motion blur due to iris movement. Furthermore, glasses may cause large reflection spots on the iris area. This may cause mislocalization issues, affecting the subsequent template creation process and ultimately causing misidentification.

[0007] It is an object of the present invention to provide a first computer-implemented method for locating the iris of an eye, which solves at least one of the above mentioned problems. Summary of the invention

[0008] The present invention provides a solution to the above mentioned problem by a first computer implemented method for locating the iris of an eye according to claim 1, and a second computer implemented method for training a one shot detector model to detect the position of a target feature within the eye region according to claim 11. In the dependent claims, preferred embodiments of the invention are defined.

[0009] A first aspect of the present invention relates to a first computer-implemented method for locating an iris of an eye, wherein the first computer-implemented method comprises:

[0010] - detecting a first position of the iris within the first image of the eye,

[0011] - cropping said first image according to said first position so as to obtain a second image,

[0012] - detecting a second position of the pupil of the eye based on the second image,

[0013] - making a rough estimate of the pupil based on said second position of the pupil,

[0014] - Based on the first image and the rough estimate of the pupil, finely locate the iris.

[0015] According to a non-limiting embodiment of the present invention, the first computer-implemented method further includes the following features.

[0016] In one non-limiting embodiment, the first position of the iris is defined by a first center coordinate and by a width and a height of the iris, and the second position of the pupil is defined by a second center coordinate and by a width and a height of the pupil.

[0017] In one non-limiting embodiment, the coarse estimation outputs a circular parameter of the pupil calculated from the second center coordinates and from the width and height of the pupil.

[0018] In one non-limiting embodiment, the fine positioning of the iris includes:

[0019] - Finely locate the pupil in order to obtain fine pupil parameters,

[0020] - estimating the iris radius based on the refined parameters of the pupil,

[0021] - compute the iris gradient map,

[0022] - Calculating fine parameters of the iris based on the iris gradient map.

[0023] In one non-limiting embodiment, fine positioning of the pupil includes:

[0024] - calculation of pupil gradient map,

[0025] - Applying an integration operator on the pupil gradient map in order to obtain fine parameters of the pupil.

[0026] In one non-limiting embodiment, the iris gradient map is calculated in an annular region whose center is the center of the pupil and whose radius range is [r'1-Δ, r'1+Δ], where r'1 is the estimated iris radius and Δ is a variable.

[0027] In one non-limiting embodiment, the computer-implemented method further includes fine positioning of the eyelids of the eyes.

[0028] In one non-limiting embodiment, fine positioning of the eyelids includes:

[0029] - calculation of eyelid gradient maps,

[0030] - Applying an integration operator on said eyelid gradient map in order to obtain polynomial parameters of the eyelid.

[0031] In one non-limiting embodiment, the detection of the first position of the iris is performed by a one-shot detector model configured to receive as input a first image and output a prediction of the presence of an iris within the first image and the first position of the iris.

[0032] In one non-limiting embodiment, the detection of the second position of the pupil is performed by a single-shot detector model configured to receive as input the first position of the iris and the second image, and to output a prediction of the presence of the pupil within the second image and the second position of the pupil.

[0033] In one non-limiting embodiment, the first position of the iris is defined by a first bounding box.

[0034] In one non-limiting embodiment, the second position of the pupil is defined by a second bounding box.

[0035] In one non-limiting embodiment, the second center coordinates of the second location are transformed back to the coordinate system of the first image.

[0036] In one non-limiting embodiment, calculation of the pupil gradient map is performed on the second image.

[0037] In one non-limiting embodiment, the grayscale values ​​of the first image are normalized from [0, 255] to [-0.5, 0.5].

[0038] In one non-limiting embodiment, the first image is resized to have the same pixel dimensions in height and width.

[0039] In one non-limiting embodiment, the cropped iris image is resized to have the same pixel dimensions in height and width.

[0040] In one non-limiting embodiment, fine iris localization includes image preprocessing, which includes the following sub-steps:

[0041] - Binarization of the first image in order to find the reflection points,

[0042] - bilinear interpolation of neighboring pixels in order to replace said reflection point with said neighboring pixels,

[0043] In one non-limiting embodiment, bilinear interpolation is applied to the area near the pupil.

[0044] In one non-limiting embodiment, image pre-processing also includes gamma correction after bilinear interpolation.

[0045] In one non-limiting embodiment, the upper portion of the pupil center is deleted. This avoids the influence of the upper eyelid.

[0046] In one non-limiting embodiment, the iris gradient map is based only on the horizontal gradient map.

[0047] In one non-limiting embodiment, there is capping of the iris gradient map.

[0048] In one non-limiting embodiment, the one-shot detector model is trained to:

[0049] - receiving as input at the single shot detector model an input dataset of training images of a plurality of different eyes and, for each training image, receiving a corresponding label out of two labels, the two labels defining the presence and the absence of an iris in the eye, respectively,

[0050] - receiving as input at the one-shot detector model a target position of an iris for each training image of an input dataset, the target position defining a ground truth position,

[0051] - processing each training image of the input data set and the corresponding object location through a plurality of layers of the one-shot detector model, the plurality of layers having associated parameters,

[0052] - for each training image, generating a first output of the one-shot detector model, the first output being a prediction of the presence or absence of the iris in the eye,

[0053] - for each training image, generating a second output of the one-shot detector model, the second output being a predicted candidate location of the iris within the eye,

[0054] -For each training image, compare the first output to the corresponding label using a classification loss function,

[0055] -For each training image, compare the second output to the ground truth position using a regression loss function,

[0056] -Based on the comparison, adjusting parameters of the layer using an optimizer so as to minimize a global loss function consisting of a classification loss function and a regression loss function.

[0057] In one non-limiting embodiment, the one-shot detector model is trained to:

[0058] - receiving as input at the single shot detector model an input dataset of training images of a plurality of different eye irises and, for each training image, receiving a corresponding label out of two labels, the two labels defining respectively the presence and the absence of a pupil within the eye iris,

[0059] - receiving as input at the one-shot detector model a target position of the pupil for each training image of the input dataset, the target position defining a ground truth position,

[0060] - processing each training image of the input data set and the corresponding object location through a plurality of layers of the one-shot detector model, the plurality of layers having associated parameters,

[0061] - for each training image, generating a first output of said one-shot detector model, which first output is a prediction of the presence or absence of said pupil within the iris of an eye,

[0062] - for each training image, generating a second output of the one-shot detector model, the second output being a predicted candidate position of the pupil within the iris of the eye,

[0063] -For each training image, compare the first output to the corresponding label using a classification loss function,

[0064] -For each training image, compare the second output to the ground truth position using a regression loss function,

[0065] -Based on the comparison, adjusting parameters of the layer using an optimizer so as to minimize a global loss function consisting of a classification loss function and a regression loss function.

[0066] In one non-limiting embodiment, the one-shot detector model includes a VGG16 network as a backbone and a plurality of additional feature layers having channels whose number varies from 16 to 128.

[0067] In one non-limiting embodiment, the number of convolutional layers in the VGG16 network is four.

[0068] In one non-limiting embodiment, the additional feature layer is a first additional feature layer and a second additional feature layer.

[0069] Each convolutional layer output of the first additional feature layer is a first tensor as a feature map. In one non-limiting embodiment, for each cell in the feature map, a predetermined number of bounding boxes is set.

[0070] In one non-limiting embodiment, the predetermined number of bounding boxes is equal to four or six.

[0071] In one non-limiting embodiment, the width of the bounding box is equal to the height of the bounding box.

[0072] In one non-limiting embodiment, the SSDe model includes eleven first additional feature layers to detect target features.

[0073] In one non-limiting embodiment, the SSDe model includes six second additional feature layers, each with two convolutional layers, to obtain class confidence and bounding box location.

[0074] In one non-limiting embodiment, the first tensor is input to the next first additional feature layer and to two convolutional layers of the second additional feature layer.

[0075] In one non-limiting embodiment, the output of each of the six second additional feature layers is two second tensors, which are the prediction of the presence of the target feature and the location of the predicted candidate bounding box, respectively.

[0076] In one non-limiting embodiment, the SSDe model also includes two shaping and linking functions.

[0077] In one non-limiting embodiment, the SSDe model further comprises a NMS function applied on the result of one of the two reshaping and concatenation functions, the result in particular representing the coordinates of the predicted candidate bounding box.

[0078] In one non-limiting embodiment, NMS is based on the metric Intersection Over Union (referred to as IOU).

[0079] A second aspect of the present invention relates to a second computer-implemented method of training a one-shot detector model to detect the location of a target feature in an eye region, wherein the second computer-implemented method comprises:

[0080] - receiving as input at the single shot detector model an input dataset of training images of a plurality of regions of different eyes, each training image being annotated with one of two labels defining the presence and absence of a target feature in an eye region, respectively,

[0081] - receiving as input at the one-shot detector model a target position of a target feature for each training image of an input dataset, the target position defining a ground truth position,

[0082] - processing each training image of the input data set and the corresponding object location through a plurality of layers of the one-shot detector model, the plurality of layers having associated parameters,

[0083] - for each training image, generating a first output of the one-shot detector model, the first output being a prediction of the presence or absence of the target feature within the eye region,

[0084] - for each training image, generating a second output of the one-shot detector model, the second output being a predicted candidate position of the target feature within the eye region,

[0085] -For each training image, compare the first output to the corresponding label using a classification loss function,

[0086] -For each training image, compare the second output to the ground truth position using a regression loss function,

[0087] -Based on the comparison, adjusting parameters of the layer using an optimizer so as to minimize a global loss function consisting of a classification loss function and a regression loss function.

[0088] According to a non-limiting embodiment of the present invention, the second computer-implemented method further includes the following features.

[0089] In one non-limiting embodiment, the region is the entire eye and the target feature is the iris.

[0090] In one non-limiting embodiment, the ground truth location and the second output are bounding boxes.

[0091] In one non-limiting embodiment, an input dataset of training images is received according to a batch size of 128 images.

[0092] In one non-limiting embodiment, each training image is processed through a plurality of first additional feature layers using an activation function as ReLU.

[0093] In one non-limiting embodiment, the regression loss is a smoothed L1 loss.

[0094] In one non-limiting embodiment, the classification loss is cross entropy.

[0095] In one non-limiting embodiment, the adjustment of parameters is accomplished using back-propagation.

[0096] In one non-limiting embodiment, the optimizer is stochastic gradient descent.

[0097] In one non-limiting embodiment, the parameters are weights and biases.

[0098] In one non-limiting embodiment, the number of training iterations is approximately 300,000.

[0099] A computer-implemented method of training a one-shot detector model to detect the location of a target feature in an eye region is also provided, wherein the second computer-implemented method comprises:

[0100] - receiving as input at the single shot detector model an input dataset of training images of a plurality of regions of different eyes, each training image being annotated with one of two labels defining the presence and absence of a target feature in an eye region, respectively,

[0101] - receiving as input at the one-shot detector model a target position of a target feature for each training image of an input dataset, the target position defining a ground truth position,

[0102] - for each training image, generating a first output of the one-shot detector model, the first output being a prediction of the presence or absence of the target feature within the eye region, the generating comprising processing the training images and corresponding target locations of the input dataset through a plurality of layers of the one-shot detector model, the plurality of layers having associated parameters,

[0103] - for each training image, generating a second output of the one-shot detector model, the second output being a predicted candidate location of a target feature within an eye region, the generating comprising processing the training images and corresponding target locations of the input dataset through a plurality of layers of the one-shot detector model, the plurality of layers having associated parameters,

[0104] -For each training image, compare the first output to the corresponding label using a classification loss function,

[0105] -For each training image, compare the second output to the ground truth position using a regression loss function,

[0106] -Based on the comparison, adjusting parameters of the layer using an optimizer so as to minimize a global loss function consisting of a classification loss function and a regression loss function.

[0107] All features described in this specification (including claims, description and drawings) and / or all steps of the methods may be combined in any combination, except such mutually exclusive combinations of features and / or steps. BRIEF DESCRIPTION OF THE DRAWINGS

[0108] These and other features and advantages of the present invention will become clearly understood in view of the detailed description of the present invention with reference to the accompanying drawings, which becomes apparent from the preferred embodiments of the present invention, which are given by way of example only and are not limited thereto.

[0109] Figure 1a : The figure is a schematic organizational structure diagram of a first computer-implemented method for locating the iris of an eye according to a first non-limiting embodiment of the present invention, which shows its steps and the input and output of each step, wherein the first computer-implemented method includes iris position detection, pupil position detection, rough estimation of the pupil, and fine iris positioning.

[0110] Figure 1b : This is according to a non-limiting example Figure 1a Schematic detailed organizational diagram of a first computer-implemented method for fine iris localization.

[0111] Figure 2 :This figure shows the center coordinates of the pupil in different image coordinate systems, and the center coordinates are Figure 1a An output of a first computer-implemented method for pupil detection.

[0112] Figure 3 : The figure is a schematic organizational structure diagram of a first computer-implemented method for locating the iris of an eye according to a second non-limiting embodiment of the present invention, which shows its steps and the input and output of each step, wherein the first computer-implemented method includes iris position detection, pupil position detection, rough estimation of the pupil, iris fine positioning and fine eyelid positioning.

[0113] Figure 4 :This figure is based on a non-limiting example Figure 3 Schematic detailed organizational diagram of a first computer-implemented method for fine eyelid positioning.

[0114] Figure 5 :This figure is explained in Figure 1a or Figure 3 Illustration of gradients used in a first computer-implemented method for iris fine localization.

[0115] Figure 6 :This figure is used for Figure 1a or Figure 3 A global schematic diagram of a non-limiting embodiment of a single shot detector model for iris position detection and pupil position detection of a first computer implemented method.

[0116] Figure 7a : This figure is a detailed schematic diagram of the single-shot detector model in the above figure.

[0117] Figure 7b : This figure is a continuation of the detailed schematic diagram of the single-shot detector model in the figure above.

[0118] Figure 7c : This figure is a continuation of the detailed schematic diagram of the single-shot detector model in the figure above.

[0119] Figure 8 : This figure is a schematic organizational diagram of a second computer-implemented method for training a single-shot detector model to detect the location of a target feature in an eye region according to a non-limiting embodiment of the present invention.

[0120] Fig. 9 : This figure shows the detection error trade-off curve of the target feature position detection performed by the radial symmetry transformation method compared with Figure 8 A second computer-implemented method for performing target feature position detection is provided. DETAILED DESCRIPTION

[0121] As will be appreciated by those skilled in the art, aspects of the present invention may be embodied as a first computer-implemented method or a second computer-implemented method.

[0122] The invention relates to a first computer-implemented method 1 for locating an iris 20 . 0 of an eye 2 , which is described with reference to FIGS. 1 to 7 .

[0123] Before performing the first computer-implemented method 1, Figure 1a In an initial step E0 shown in , a first image I1 of the eye 2 is captured via the camera 3 .

[0124] Figure 1a A non-limiting example of such a first image I1 is shown. The eye 2 comprises an iris 20.0 and a pupil 20.1. In a non-limiting embodiment, this initial step E0 may be implemented by a first computer-implemented method 1 .

[0125] In a non-limiting embodiment, the first image I1 is a grayscale image. Hereinafter, it is also referred to as a gray-eye image I1. It is composed of pixels. The first image I1 has a width w and a height h. In a non-limiting embodiment, the size of the first image I1 is 640×480 pixels.

[0126] like Figure 1a As shown in , in a first non-limiting embodiment, a first computer-implemented method 1 comprises the following steps:

[0127] -E1: iris position detection,

[0128] -E2: Iris cropping

[0129] -E3: pupil position detection,

[0130] -E4: rough estimate of pupil,

[0131] -E5: Iris fine positioning.

[0132] These steps are described in detail below.

[0133] · Iris position detection

[0134] Iris position detection is used to improve the accuracy of the subsequent step of pupil position detection. It should be noted that it is not used for subsequent iris fine positioning.

[0135] exist Figure 1a In step E1 shown in F1(20.0, B1), a first position of the iris 20.0 within the first image I1 of the eye 2 is detected. The first position of the iris 20.0 is defined by a first bounding box B1. This first bounding box B1 gives a rough position of the iris 20.0.

[0136] The input to this detection step is a grayscale image I1 of the eye 2. In a non-limiting embodiment, the grayscale values ​​of the first image I1 are normalized from [0, 255] to [-0.5, 0.5] to simplify further calculations.

[0137] Figure 1a The output of this detection is shown, which is a first position of the iris 20.0 within the eye 2, represented by a first bounding box Bl focused on the iris 20.0.

[0138] The first bounding box B1 of the iris 20.0 is defined by the first parameter P1, which is the first center coordinates x1, y1 and the width w1 and height h1 of the iris 20.0. Figure 1a In FIG. 1 , the first bounding box B1 is shown as a white rectangle in the second image shown on the right side of the different steps. The first center coordinates x1, y1 are also referred to as coordinates x1, y1 hereinafter.

[0139] In one non-limiting embodiment, the first image I1 is resized to have the same pixel dimensions in height and width. In one non-limiting example, it will be resized to 300×300 pixels. This size is approximately 200 times the diameter of the iris.

[0140] In the non-limiting embodiment shown, the first bounding box B1 is a rectangle.

[0141] In one non-limiting embodiment, on the first image I1, (x1, y1) are the coordinates of the upper left corner of the detected rectangle of the iris 20.0, and w1 and h1 are the width and height of the detected rectangle, respectively. Figure 2 In the figure (a) in FIG. 1 , the upper left corner is shown by point A. In other non-limiting embodiments, (x1, y1) are the coordinates of the upper right corner or the lower left corner or the lower right corner.

[0142] In a non-limiting embodiment, the first position B1 of the iris 20.0 is performed by a single shot detector model SSD (hereinafter also referred to as SSD model). Therefore, the single shot detector model SSD receives the first image I1 as input and outputs a prediction of the presence of the iris 20.0 in the first image I1 and the first position B1 of the iris 20.0. The prediction involves two classes Cl. The first class Cl0 defines that the iris 20.0 is not present in the first image I1, and the second class Cl1 defines that the iris 20.0 is present. Therefore, the SSD model has been trained to detect the first bounding box B1.

[0143] The SSD model and the training of the SSD model are described later below.

[0144] · Cropping

[0145] exist Figure 1a In step E2 of F2 ( I1 , B1 ) shown in FIG. 1 , the first image I1 is cropped according to the first bounding box B1 so as to obtain a second image I2 of the iris 20 . 0 , also referred to as iris image I2 .

[0146] Therefore, from the first image I1, the interior of the first bounding box B1 is kept. The exterior is discarded.

[0147] Cropping permits to keep the detected rectangle and suppress the outside of the rectangle to enhance the performance of subsequent steps. This non-limiting embodiment is adopted in the following.

[0148] The cropped image I2 is Figure 2 The upper left corner of the cropped iris image I2 is A(0,0), and the lower right corner is B(w1-1,h1-1).

[0149] In one non-limiting embodiment, the cropped iris image I2 is resized to have the same pixel dimensions in height and width. In one non-limiting example, it will be resized to 300×300 pixels. For convenience, the same reference numerals and terminology “second image I2” are used for the cropped iris image and for images that are subsequently resized and are referred to as cropped and resized iris image I2 or cropped and resized image I2. Figure 2 The cropped and resized iris image I2 is shown in FIG. 1c. The upper left corner of the cropped and resized iris image I2 is A(0,0), and the lower right corner is B(299,299). As we can see, the coordinates of point A and point B are different on different images, that is, on different coordinate systems. Figure 2 as shown in .

[0150] · Pupil position detection

[0151] Pupil position detection is used in the subsequent step for a rough estimation of the pupil 20.1.

[0152] exist Figure 1a In step E3 shown in F3(20.1, B2), a second position of the pupil 20.1 of the eye 2 based on the second image I2 is detected. The second position of the pupil 20.1 is defined by a second bounding box B2. The second bounding box B2 gives a rough position of the pupil 20.1.

[0153] The input to this detection step is the second image I2 (which has been cropped and resized here) and the coordinates x1, y1 and the width w1 and height h1 of the first bounding box B1.

[0154] Figure 1a The output of this detection is shown, which is the position of the pupil 20.1 within the cropped and resized iris image 12, represented by a second bounding box B2 focused on the pupil 20.1.

[0155] The second bounding box B2 of the pupil 20.1 is defined by the second parameters P2, which are the second center coordinates x2, y2 and the width w2 and height h2 of the pupil 20.1. Figure 1a In FIG. 1 , the second bounding box B2 is shown as a white rectangle in the third image shown on the right side of the different steps. The second center coordinates x2, y2 are also referred to as coordinates x2, y2 hereinafter.

[0156] In one non-limiting embodiment, the second bounding box B2 is a rectangle.

[0157] In one non-limiting embodiment, (x2, y2) are the coordinates of the upper left corner of the detected rectangle of the pupil 20.1, and w2 and h2 are the width and height of the detected rectangle, respectively. Figure 2 The upper left corner of the second bounding box B2 is represented by Figure 2 In other non-limiting embodiments, (x2, y2) is the center coordinate of the upper right corner, the lower left corner, or the lower right corner.

[0158] It should be noted that in the unresized cropped image I2, the center coordinates of point C are (x2*w1 / 300, y2*h1 / 300), as shown Figure 2 As shown in the accompanying figure (b).

[0159] exist Figure 1a , for a better understanding, the entire first image I1 of the eye 2 has been kept. An iris image I2 is also shown.

[0160] In a non-limiting embodiment, the detection of said second position B2 of the pupil 20.1 is performed by a single shot detector model SSD. Thus, said single shot detector model SSD receives as input said first position B1 of the iris 20.0 and said second image I2, and outputs a prediction of the presence of the pupil 20.1 within said second image I2 and said second position B2 of the pupil 20.1.

[0161] The prediction involves two classes C1. A first class C11 defines the presence of a pupil 20.1 in the second image I2 and a second class C10 defines the absence of a pupil 20.1.

[0162] Therefore, the SSD model has been trained to detect the second bounding box B2.

[0163] The SSD model and the training of the SSD model are described later below.

[0164] Once we have the second position B2 of the pupil 20.1 in the coordinate system of the second image I2 (here the cropped and resized iris image I2), in a non-limiting embodiment, the second center coordinates x2, y2 of the second position B2 are transformed back to the coordinate system of the first image I1. Figure 2 As shown in the figure (a) of FIG. 1 , point C has coordinates (x1+x2*w1 / 300, y1+y2*h1 / 300, w2*w1 / 300, h2*h1 / 300) on the first image I1, and (x1, y1), w1, h1 are the coordinates of the first bounding box B1. The first image I1 is Figure 2 The upper left corner of the first bounding box B1 is A(x1, y1), and the lower right corner is B(x1+w1-1, y1+h1-1).

[0165] Since the input of the first computer-implemented method 1 is the first image I1 , the output position B2 should be on the first image I1 .

[0166] Therefore, the following process described below is then carried out on the first image I1:

[0167] - A rough estimate of the pupil,

[0168] - Fine iris positioning.

[0169] However, for the fine pupil localization sub-step performed in iris fine localization and to be described later, the gradient mapping is carried out on the second image I2 (here the cropped and resized image I2).

[0170] · Rough pupil estimation

[0171] The pupil rough estimation allows to output a rough estimated center c2 of the pupil 20.1, also called rough center c2. It is used to limit the search range in the further fine positioning step. Therefore, it reduces the calculation time. Without the rough estimation of the center, in the fine positioning step, the center of the pupil 20.1 needs to be searched in the entire first image I1, which is too time-consuming. With the rough estimation of the center c2, it is only necessary to search in the neighborhood of the rough estimation of the center c2.

[0172] In step E4 showing F4(20.1, B2, c2), there is a rough estimate of the pupil 20.1 based on the second bounding box B2 of the pupil 20.1. The rough estimate outputs a rough estimate of the center c2 of the pupil 20.1. Figure 1a , the roughly estimated center c2 is shown as a white circle in the fourth image shown on the right at a different step.

[0173] The input to the coarse estimate is the second parameter P2 of the second bounding box B2.

[0174] Figure 1a The output of the coarse estimation is shown. The coarse estimation outputs circular parameters P'2 = (x'2, y'2), r'2 (also called coarse parameters) of the pupil 20.1 calculated from said second center parameters P2 of the pupil 20.1, where x'2, y'2 are the coordinates of the coarse center c2 and r'2 is the radius.

[0175] Therefore, the calculation is as follows.

[0176] x'2=x1+x2*w1 / 300+w2 / 2

[0177] y'2=y1+y2*h1 / 300+h2 / 2

[0178] r'2 = α1.w2 + α2.h2, where the constant α1 = α2. In one non-limiting example, α1 = 0.23.

[0179] Since the center of the iris 20.0 is usually close to the center of the pupil 20.1, the center of the pupil is used to limit the search range for the center of the iris. A further step E4 can now be performed.

[0180] · Fine iris positioning

[0181] Finally, in step E5 , shown F5 ( 20 . 2 , I1 , c2 ), there is a fine positioning of the iris 20 . 0 based on said roughly estimated center c2 of the pupil 20 . 1 .

[0182] The inputs for fine iris localization are the rough parameters x'2, y'2, r'2 of the pupil 20.1 (ie the roughly estimated center c2) and the first image I1.

[0183] It is to be noted that if fine iris localization is processed on the cropped and resized iris image I2, the output should be transformed back to the coordinate system of the original image (ie the first image I1). However, this leads to a more complicated process.

[0184] Figure 1a The output of fine iris localization is shown.

[0185] It includes:

[0186] - Fine parameters of the pupil 20.1 P"2 = (x"2, y"2), r"2, which are circular parameters.

[0187] - Fine parameters of iris 20.0 P"1 = (x"1, y"1), r"1, which are circular parameters.

[0188] In one non-limiting embodiment, fine iris localization includes image preprocessing E50, which includes Figure 1b The following sub-steps are shown in:

[0189] - E50.1 showing F50.1(I1,Prx): binarization of the entire image of the eye 2 (ie on the first image I1) in order to find the reflection point Prx inside the eye 2,

[0190] - E50.2 showing F50.2 (Prx, Prxn): Bilinear interpolation of neighboring pixels Pxn to replace the reflection point Prx with the neighboring pixels Pxn. Bilinear interpolation is applied to the area near the pupil 20.1. In a non-limiting example, the area near the pupil 20.1 (also called the pupil area) is centered on the pupil center c2 and has a width and height that are four times the pupil radius r'2.

[0191] In a non-limiting embodiment, the image pre-processing further comprises a sub-step E50.2 showing F50.3 (G): gamma correction. In a non-limiting variant of the embodiment, the gamma correction is performed on the entire image of the eye 2 (ie the first image I1) or on the area around the pupil 20.1. It enhances the image.

[0192] Binarization, bilinear interpolation and gamma correction are known to those skilled in the art and will not be described in further detail.

[0193] exist Figure 1b A non-limiting example of an image obtained after image pre-processing is shown on the right side of the different sub-steps.

[0194] After this image preprocessing, iris fine positioning includes the following sub-steps:

[0195] -51: pupil fine positioning,

[0196] -52: iris radius estimation,

[0197] -53: Iris gradient map calculation,

[0198] -54: Calculation of iris fine parameters.

[0199] These sub-steps are described in detail below.

[0200] Since the center c1' of the iris 20.0 is usually close to the center c2' of the pupil 20.1, we use the pupil center c'2 to limit the search range of the iris center c'1.

[0201] Therefore, first perform the following sub-steps.

[0202] ο51: Fine positioning of pupil

[0203] Fine positioning of the pupil 20.1 allows obtaining fine parameters x"2, y"2, r"2 of the pupil 20.1 (i.e. the center c'2 of the pupil 20.1). Here, c'2 is the center of the pupil 20.1 with fine parameters x"2, y"2, r"2, and c2 is the coarse estimated center of the pupil 20.1 with coarse parameters x'2, y'2, r'2. Figure 1a , the center c'2 is shown as a white circle in the fifth image on the right at a different step.

[0204] Sub-step E51 Figure 1b It is shown as F51(G2,Int,c'2).

[0205] First, the pupil gradient map G2 is calculated. It is calculated on the second image I2 near the pupil area (i.e. in the rectangular area). It should be noted that it can be calculated on the entire first image I1, but this is not necessary.

[0206] The horizontal gradient map G2x and the vertical gradient map G2y are calculated using the following format.

[0207] G2 x (x,y)=I2(x+1,y)-I2(x-1,y); G2 y (x, y) = I2(x, y+1) - I2(x, y-1)

[0208] Where x is in the range of [x'2-r'2-DeltaP, x'2+r'2+DeltaP], y is in the range of [y'2-r'2-DeltaP, y'2+r'2+DeltaP], and x'2, y'2, r'2 are the rough estimated positions of the pupil 20.1. In one non-limiting embodiment, DeltaP is min(16, r'2 / 2).

[0209]

[0210] It allows retaining only the gradients of the pixels of the second image I2 whose direction points to the neighborhood of the center c′ 2 of the pupil 20 . 1 .

[0211] Then, an integration operator is applied on said pupil gradient map G2 in order to obtain the refined parameters x"2, y"2, r"2. It allows searching for the best circular parameters around the estimate of the pupil 20.1.

[0212]

[0213] When we locate the pupil boundary, the integral curve is defined as follows.

[0214]

[0215] For each possible parameter (x, y, r), a set of points (Sx, Sy) can be obtained by changing the angle θ. The integral is calculated by accumulating the gradients of these points.

[0216]

[0217] In a non-limiting embodiment, to avoid the influence of the upper eyelid, θ is in the range [-pi / 4, 5*pi / 4]. We delete the upper part of the circle that has been found.

[0218] Once we have found the pupil center c"2, we can efficiently find the iris center c'1.

[0219] ο52: Iris radius estimation

[0220] The goal of this sub-step is to estimate the possible range of the iris radius r'1. It will then be used to limit the search range of the iris fine parameters x"1, y"1, r"1. r'1 is the estimated iris radius, and r"1 is the fine iris radius. In a non-limiting embodiment, the search range of the fine iris radius r"1 is from 1.2.r'1 to min(w1,h1) / 2; where w1 is the width of the first bounding box B1, and h1 is the height of the first bounding box B1.

[0221] This sub-step 52 is Figure 1bIt is shown as F52(r'1).

[0222] The radius r'1 of the iris 20.0 is estimated based on the pupil fine parameters x"2, y"2, r"2.

[0223] have:

[0224]

[0225] Where r is in the range of [max(r"2+20,1.1*r"2),min(w,h) / 2]. r"2 is the refined estimation result of the pupil radius, and w and h are the width and height of the first image I1.

[0226] as well as

[0227]

[0228] This means that we get the average gray value along the radius and find the position with the maximum gradient value.

[0229] ο53: Iris gradient map calculation

[0230] This step 53 is shown as F53 (G1, c'2, r'1).

[0231] The iris gradient map G1 is calculated on the gray eye image I1 in an annular area whose center is the pupil center c″2 and whose radius range is [r′1-Δ, r′1+Δ], where r′1 is the iris radius estimate that has been previously calculated, and Δ is a variable. In a non-limiting embodiment, Δ=16 or 20. It depends on the quality of the first image I1. If the quality of the first image I1 is high, a small Δ value is used. In a non-limiting example, the value is 16. If it has low quality, a larger value is used. In a non-limiting example, the value is 20.

[0232] In one non-limiting embodiment, the iris gradient map G1 is based only on the horizontal gradient map G1x. Therefore, G1(x, y)=G1 x (x, y).

[0233] Indeed, the horizontal gradient is sufficient for iris fine localization. The vertical gradient map does not give much more information. On the contrary, it may introduce noise.

[0234] Therefore, we calculate:

[0235] G1(x,y)=G1 x (x, y) = I2(x+1, y) - I2(x-1, y)

[0236] when x″2 and y″2 are the centers of the pupil 20.1, and r′1 is the estimated result of the iris radius.

[0237] In one non-limiting embodiment, define: If x < x 2, then G1 x (x, y) = -G1 x (x, y).

[0238] This is to make the gradient on the left and right iris boundaries have the same sign.

[0239] In one non-limiting embodiment, the angle Less than or equal to π / 4. If the angle If it is larger, then G1x(x,y)=0.

[0240] Assume that dx = xx″2, dy = yy″2, gx = G1x(x, y), gy = G1y(x, y). Angle is the angle between the vectors (gx, gy) and (dx, dy).

[0241] angle Less than or equal to π / 4 means

[0242] Assume that c′2 is the center of pupil 20.1, PxA is a pixel on image I2 with coordinates x, y and gradient direction G, then the angle is the angle between G and the line pxA-c′2, such as Figure 5 as shown in .

[0243] In one non-limiting embodiment, there is a capping of the iris gradient map G1.

[0244] G1(x,y)=min(G1 x (x,y),0.6·max(G1 x ))

[0245] The capping operation allows reducing the impact of noise caused by reflection points, eyelashes and eyelids, which may produce strong gradients.

[0246] ο54: Calculation of fine iris parameters

[0247] This step 54 is shown as F54 (P1", G1, Int).

[0248] Iris fine parameters P1" ((x"1, y"1), r"1) are calculated based on the iris gradient map G1.

[0249] An integration operator is applied on the iris gradient map G1 in order to obtain the refined parameters x"1, y"1, r"1.

[0250]

[0251] When we locate the iris boundary, the integral curve is defined as follows.

[0252]

[0253] For each possible parameter (x, y, r), a set of points (Sx, Sy) can be obtained by changing the angle θ. The integral is calculated by accumulating the gradients of these points.

[0254]

[0255] In one non-limiting example, to avoid the influence of the two eyelids, we usually integrate over the left and right parts of the circle. In this case, in the above formula, θ is within the range.

[0256] Thus, at the end of the first non-limiting embodiment of the first computer-implemented method, Figure 1a The following results are shown in:

[0257] - the fine parameters of the iris 20.0 P"1 = (x"1, y"1), r"1, which are circular parameters,

[0258] - Fine parameters of the pupil 20.1 P"2 = (x"1, y"1), r"2, which are circular parameters.

[0259] · Fine eyelid positioning

[0260] exist Figure 3 In a second non-limiting embodiment of the first computer-implemented method 1 , the first computer-implemented method 1 further comprises, in step E6 , a fine positioning of the eyelids 23 , 24 of the eye 2 .

[0261] This step E6 is shown as F6 (23, 24).

[0262] Figure 3 Steps E1 to E5 shown in Figure 1a The steps shown in and described for the first embodiment of the first computer-implemented method 1 are the same.

[0263] Fine eyelid positioning is performed on the first image I1.

[0264] The inputs to the fine eyelid positioning are the fine circular parameters P"2 of the pupil 20.1 and the fine circular parameters P"1 of the iris 20.0, and the first image I1.

[0265] Figure 1aThe output including the polynomial parameters P3=(x3, y3, P3) of the upper eyelid 23 and the polynomial parameters P4=(x4, y4, P4) of the lower eyelid 24 is shown. Figure 3 In FIG. 2 , they are shown as two delimiting curves 23 and 24 on the sixth image of the eye 2 .

[0266] p3 = p3.0, p3.1, ... P3.n; and p4 = p4.0, p4.1, ... P4.n; where n is the order of the polynomial.

[0267] In a non-limiting embodiment, the polynomial parameters are parabolic parameters. In this case, in a non-limiting example, n=2.

[0268] like Figure 4 As shown in , step E6 includes the following sub-steps.

[0269] In a sub-step E61 showing F60 (G3, I1), an eyelid gradient map G3 is calculated in a region close to the iris (also called iris region) on the first image I1 of the eye 2. This means that we calculate a gradient map on the iris region.

[0270] Therefore, we have:

[0271]

[0272] Where Gx(x,y)=I1(x+1)-I1(x-1), Gy(x,y)=I1(y+1)-I1(y-1). x”1-r”1<=x<=x”1+r”1 and y”1-1.2*r”1<=y<=y”1+1.2*r”1. Note that in a non-limiting embodiment, the iris area is slightly larger in the vertical direction y. When the subject opens their eyes wide, the eyelids will not block the iris area. However, eyelashes may still block the iris area. Therefore, we expand the calculation slightly in the vertical direction.

[0273] To avoid the influence of the pupil 20.1, in a non-limiting embodiment, the gradient of a circular area of ​​the pupil 20.1 is set to zero, the circular area being centered at the center c"2 of the pupil and wherein the radius Rp is slightly larger than the radius r"2 of the pupil.

[0274] In one non-limiting embodiment, Rp=r"2+5.

[0275] It should be noted that if the gradient of the pupil area is not set to zero, the gradient of the pupil boundary may interfere with the positioning of the eyelids, because there is usually a strong gradient at the pupil boundary. Since the pupil boundary has a strong gradient, it may affect the positioning of the eyelids, especially the lower eyelid 24, because the gradient of the lower eyelid 24 may be much weaker than the gradient of the lower boundary of the pupil 20.1. In this case, it is likely that the integration operator obtains a maximum value at the lower boundary of the pupil 20.1.

[0276] Then, in Figure 4 In the sub-step E62 shown in F62(G3, Int), an integral operator is applied on the eyelid gradient map G3 in order to obtain polynomial parameters P3, P4 of the eyelids 23, 24. In a non-limiting embodiment, a parabola is used as the integral curve. Thus, parabola parameters are obtained.

[0277] Therefore, we have:

[0278]

[0279] When we locate the eyelid boundary and the iris boundary, the integral curve is defined as follows.

[0280]

[0281] The integral is calculated by accumulating the gradients at these points.

[0282] x0, y0, and p0 are the parameters of the parabola, as shown in the formula. x0, y0 are the coordinates of the vertex of the parabola, and p0 determines the shape of the parabola (opening up or down, and whether the opening is large or small).

[0283] For each [x0, y0, p0], we change the value of Sx, which ranges in [x'1-deltaX, x'1+deltaX], and we can get the Sy value according to the parabolic function. These points [Sx, Sy] consist of the parabolic curve that will be used as the integration curve.

[0284] To position the upper eyelid 23 and the lower eyelid 24:

[0285] - The search range of x0 is [x"1-deltaX, x"1+deltaX]. For both eyelids, in one non-limiting embodiment, deltaX=r"1, and

[0286] - In one non-limiting embodiment, for the upper eyelid 23, the search range of p0 is [4*r"1, 16*r"1], and for the lower eyelid 24, the search range of p0 is [-16*r"1, -4*r"1],

[0287] - In one non-limiting embodiment, for the upper eyelid 23, the search range of y0 is [y"1-1.2*r"1, y"1], and for the lower eyelid 24, the search range of y0 is [y"1, y"1+1.2*r"1].

[0288] Thus, at the end of the second non-limiting embodiment of the first computer-implemented method, Figure 3 The following results are shown in:

[0289] - the fine parameters of the iris 20.0 P"1 = (x"1, y"1), r"1, which are circular parameters,

[0290] - the fine parameters of the pupil 20.1 P"2 = (x"2, y"2), r"2, which are circular parameters,

[0291] - The fine parameters P3 = x3, y3, p3 of the upper eyelid 23 and the fine parameters P4 = x4, y4, p1 of the lower eyelid 24, which are parabolic parameters here.

[0292] like Figure 3 As shown in FIG. 1 , in the sixth image on the right side at a different step, the parabolic curve of the upper eyelid 23 is marked as c3, and the parabolic curve of the lower eyelid 24 is marked as c4.

[0293] In the following, the architecture of the SSD model and its training for detecting the location of a target feature 20 (also referred to as a target object 20) within an eye 2 is described in detail. In a non-limiting embodiment, the target feature 20 is an iris 20.0 or a pupil 20.1 of the eye 2. The location of the target feature 20 is defined by a bounding box B.

[0294] · Architecture of the SSD model

[0295] In a first non-limiting embodiment, the SSD model is a traditional SSD model including a VGG16 network (also referred to as VGG16). The VGG16 network is a traditional VGG16 network used as a backbone network, and several convolutional layers are added to obtain more feature maps for detection. Typically, the VGG16 network includes thirteen convolutional layers, five maximum pooling layers, and three dense layers. The three dense layers are also referred to as fully connected layers.

[0296] Feature maps with different resolutions and anchors with different scales and ratios are used to improve the ability to detect objects with different scales. For the convolution layer Conv, the number of channels in the traditional VGG16 network changes from 128 to 512. In other convolution layers Conv, it is as high as 1024 in the traditional SSD model. The SDD model is well known to those skilled in the art and will not be described in detail here. The multiple convolution layers have associated parameters. The associated parameters are weights and biases.

[0297] In a second non-limiting embodiment, the SSD model is an enhanced SSD model that includes a VGG16 network as a backbone network (also referred to as a backbone), which has a reduced number of convolutional layers Conv compared to the traditional SSD model, and an additional feature layer Conv with a reduced number of channels (also referred to as filters) to speed up detection without losing performance. In a non-limiting embodiment, the number of convolutional layers Conv in the VGG16 network is four. In a non-limiting embodiment, the number of channels in the SDD model varies from 16 to 128.

[0298] It is to be noted that the SSDe model detects a single object: iris 20.0 or pupil 20.1, while the traditional SSD using traditional VGG16 is used to detect multiple objects (such as cats, dogs, etc.).

[0299] In addition, the iris shape and pupil shape are relatively stable compared to the cat shape or dog shape. Combining the above two points, the SSDe model faces a simpler task than the traditional SSD, so the number of channels is reduced, and the relevant experiments show that the ideal detection performance can be achieved by using the number from 16 to 128.

[0300] Hereinafter, the enhanced SSD model is referred to as the SSDe model. The SSDe model has a small size of about 1.2 MB. Therefore, the memory used to store the SSDe model is reduced.

[0301] like Figure 6 As shown in , the SSDe model includes a VGG16 network as the backbone and an additional feature layer Conv as the convolutional layer Conv. Figure 6 An overview of the SSDe model with the last convolutional layer Conv of a VGG16 network and some extra feature layers Conv is shown.

[0302] Figure 7a , Figure 7b and Figure 7c The SSDe model with a VGG16 network and an additional feature layer Conv is shown in detail. Figure 7a and Figure 7b In the example, the VGG16 network and the extra feature layer Conv are regrouped in the first block Bx1.1 to Bx1.6, and the second block Bx2.1 to Bx2.2. The first block Bx1.1 is the VGG16 network. The first blocks Bx1.1, Bx1.2, and Bx1.3 are in Figure 7a Shown in. Figure 7b The first block Bx1.4, Bx1.5 and Bx1.6 are shown below. The second block Bx2.1 to Bx2.3 are shown below. Figure 7a Shown in. Figure 7b The second block Bx2.4 to Bx2.6 below is shown in FIG.

[0303] For the clarity of the figure, the corresponding parameters (weights and biases) of different convolutional layers Conv are not shown. In the following, the block Bx is also referred to as a set Bx.

[0304] ο VGG16 network

[0305] The VGG16 network includes multiple convolutional layers Conv, each of which is followed by a Relu layer (referred to as Relu in the figure) and / or a maximum pooling layer (referred to as MaxPool in the figure, or simply / 2 for a maximum pooling layer with a stride of 2) as an activation function. The maximum pooling layer is used for downsampling. The stride of the maximum pooling is 1 or 2. For simplicity, the convolutional layers of the VGG16 network and the additional feature layers added after the VGG16 network are referred to as Conv.

[0306] like Figure 7a As shown in , in one non-limiting embodiment, the VGG16 network includes 4 convolutional layers Conv, called Conv_0, Conv_3, Conv_6, Conv_9, where:

[0307] The convolutional layer conv_0 consists of 8 filters of size 3×3 and is followed by a Relu layer Relu_1 and a maximum pooling layer Max_pool_2 with a stride of 2.

[0308] The convolutional layer conv_3 includes 16 filters of size 3×3 and is followed by a Relu layer Relu_4 and a maximum pooling layer Max_pool_5 with a stride of 2.

[0309] The convolutional layer conv_6 includes 32 filters of size 3×3 and is followed by a Relu layer Relu_7 and a maximum pooling layer Max_pool_8 with a stride of 2.

[0310] - Convolutional layer conv_9, including 64 filters of size 3×3, followed by a Relu layer Relu_10 and a maximum pooling layer Max_pool_11 with a stride of 2.

[0311] ο First additional feature layer

[0312] The first additional feature layer permits detection of target features 20 .

[0313] In one non-limiting embodiment, the SSDe model includes eleven first additional feature layers (second blocks Bx1.2 to Bx1.6) to detect the target features 20.

[0314] The additional feature layers are convolutional layers Conv_12, Conv_15, Conv_17, Conv_19, Conv_32, Conv_23, Conv_25, Con_27, Con_29, Conv_31, and Conv_33.

[0315] like Figure 7a As shown in , the first block Bx1.2 includes:

[0316] - A convolutional layer Conv_12, which includes 64 filters of size 3×3, and is followed by a Relu layer Relu_13 and a maximum pooling layer Max_pool_14 with a stride of 1.

[0317] - A convolutional layer Conv_15 comprising 128 filters of size 3×3 and followed by a Relu layer Relu_16.

[0318] - A convolutional layer Conv_17 comprising 128 filters of size 1×1 and followed by a Relu layer Relu_18.

[0319] like Figure 7a As shown in , the first block Bx1.3 includes:

[0320] - A convolutional layer Conv_19 comprising 32 filters of size 1×1 and followed by a Relu layer Relu_20.

[0321] - A convolutional layer Conv_21, which includes 64 filters of size 3×3 and is followed by a max pooling with a stride of 2 and a Relu layer Relu_22.

[0322] like Figure 7b As shown in , the first block Bx1.4 includes:

[0323] - A convolutional layer Conv_23, which includes 16 filters of size 1×1 and is followed by a Relu layer Relu_24.

[0324] - A convolutional layer Conv_25, which includes 32 filters of size 3×3 and is followed by a max pooling with a stride of 2 and a Relu layer Relu_26.

[0325] like Figure 7b As shown in , the first block Bx1.5 includes:

[0326] - A convolutional layer Conv_27, which includes 16 filters of size 1×1 and is followed by a Relu layer Relu_28.

[0327] - A convolutional layer Conv_29, which includes 32 filters of size 3×3 and is followed by a max pooling with a stride of 2 and a Relu layer Relu_30.

[0328] like Figure 7b As shown in , the first block Bx1.6 includes:

[0329] - A convolutional layer Conv_31, which includes 16 filters of size 1×1 and is followed by a Relu layer Relu_32.

[0330] - A convolutional layer Conv_33, which includes 32 filters of size 3×3 and is followed by a max pooling with a stride of 2 and a Relu layer Relu_34.

[0331] Each additional feature layer Conv takes as input the output (also called feature map) followed by the Relu layer and / or max pooling layer of the previous convolutional layer Conv.

[0332] The VGG16 network (i.e. the first block Bx1.1) takes an input image I as input.

[0333] The input is 1×1×300×300, where the first “1” means the image number, the second “1” means the image has 1 channel, and “300×300” means the image resolution is 300×300 (width×height).

[0334] In the case where the target feature 20 is an iris 20 . 0 , the input image I is an image I1 of the eye 2 .

[0335] In case the target feature 20 is the pupil 20.1, in one non-limiting embodiment, the input image I is an iris image I2, which has been cropped and resized as described above.

[0336] Each convolutional layer Conv outputs the first tensor tr1 as a feature map. Figure 7a and Figure 7b In the figure, for simplicity, only the last convolutional layer Conv of each first block Bx1 has been labeled as the first tensor tr1.

[0337] For example, Figure 7a and Figure 7b As shown in , the output of the last convolutional layer of each first block Bx1 is the first tensor tr1, which has sizes of (1×64×38×38), (1×128×19×19), (1×64×10×10), (1×32×5×5), (1×32×3×3), and (1×32×1×1), with feature mapping resolutions of 38×38, 19×19, 10×10, 5×5, 3×3, and 1×1, respectively.

[0338] The first tensor tr1 is multidimensional. The last two dimensions represent the resolution of the feature map.

[0339] Except for the last first block Bx1.6, the output tr1 following the Relu layer of each first block Bx1 is used as the input of the next adjacent first block Bx1.

[0340] For example, the output of the first block Bx1.1, that is, the first tensor tr1 = 1×64×38×38, is used as the input of the next first block (i.e., Bx1.2). The output of the first block Bx1.2, that is, the first tensor tr1 = 1×128×19×19, is used as the input of the next first block (i.e., Bx1.3), and so on, until the last first block Bx1.6 (whose input is the first tensor tr1 = 1×32×3×3).

[0341] In a non-limiting embodiment, for each cell in the feature map, a predetermined number of bounding boxes B is set. In a non-limiting embodiment, it is equal to 4 or 6.

[0342] The bounding box is also referred to as an anchor point in the following.

[0343] In the case of iris 20.0, bounding box B is a first bounding box B1.

[0344] In the case of the pupil 20.1, the bounding box B is a second bounding box B2.

[0345] In one non-limiting embodiment, 4 is associated with resolutions 38x38, 3x3, and 1x1, and 6 is associated with resolutions 19x19, 10x10, and 5x5.

[0346] Note that 38×38, 3×3, 1×1 correspond to less common object sizes. Indeed, 300 / 38≈8 pixels, which is relatively small; 300 / 3=100 pixels, 300 / 1=300 pixels, which is relatively large. Therefore, 4 anchor points are used for each unit.

[0347] Note that 19×19, 10×10, 5×5 correspond to common object sizes. Indeed, 300 / 19≈16 pixels, 300 / 10=30 pixels, 300 / 5=60 pixels, which are relatively common sizes. Therefore, 6 anchor points are used for each unit.

[0348] It should be noted that for VGG16, no anchors are used for 300×300, 150×150, 75×75 because the corresponding sizes are too small.

[0349] The bounding box B exhibits scale and ratio.

[0350] In one non-limiting embodiment, for 38×38, 19×19, 10×10, 5×5, 3×3, and 1×1 feature maps, the scales are 30, 60, 111, 162, 213, 264, and 315, respectively.

[0351] In one non-limiting embodiment, for 38×3, 3×3, 1×1 feature maps, the ratios are [1, 1.2, 1.2*1.2, 1]; and for 19×19, 10×10, 5×5 feature maps, the ratios are [1, 1.2, 1.3, 1.2*1.2, 1.3*1.3, 1].

[0352] For example, the scale of the feature map 38×38 is 30, so the ratio is [30, 36, 43.2, sqrt(30*60)]. Therefore, the anchor size is calculated as scale*ratio, that is, [30(30*1), 36(30*1.2), 43.2(30*1.2*1.2), sqrt(30*60)]. Note that 30*1.2*1.2=43.2.

[0353] Note that the last "1" in [1, 1.2, 1.2*1.2, 1] also takes into account scale 60 to get more different anchor sizes, which can help improve detection performance. It indicates sqrt(30*60). Therefore, the anchor size is calculated using scale 30 and scale 60.

[0354] In one non-limiting embodiment, the width w of the bounding box B is equal to the height h of the bounding box B, and w = h = scale × ratio. It gives better results than when using w = scale × sqrt (ratio) and h = scale / sqrt (ratio) used in the traditional SSD model.

[0355] ο Second additional feature layer

[0356] In a non-limiting embodiment, the SSDe model also includes six second additional feature layers (second blocks Bx2.1 to Bx2.6) each with two convolutional layers Conv. These second blocks allow the number of channels to be adjusted to obtain the class confidence and the position, that is to say the coordinates and size (x, y, w, h) of the bounding box B.

[0357] For example, for Figure 7a The second block Bx2.1 shown in:

[0358] - In the case of convolutional layer conv_35: In the output 1×8×38×38, we have 8=4×2, where 4 means 4 anchor points and 2 means the class confidence of target feature / no target feature,

[0359] - In the case of convolutional layer conv_36: In the output 1×16×38×38, we have 16=4×4, where 4 means 4 anchor points and another 4 means the bounding box position (x, y, w, h).

[0360] The second block Bx2.1, Bx2.2 and Bx2.3 are Figure 7a Shown in.

[0361] The second block Bx2.4, Bx2.5 and Bx2.6 are Figure 7b Shown in.

[0362] Each second block Bx2 is associated with one first block Bx1. Second blocks Bx2.1 to Bx2.6 are associated with first blocks Bx1.1 to Bx1.6, respectively. Each of the two convolutional layers Conv of the second block Bx2 receives the first tensor tr1 of the associated block Bx1.

[0363] The output tr1 of each Relu layer of the first block Bx1 is used as the input of the two convolutional layers Conv of the second block Bx2. Figure 7a As shown in , in one non-limiting embodiment, the output tr1=1×64×38×38 of the first block Bx1.1 is applied as the input of the convolutional layers Conv_35 and Conv_36 of the second block Bx2.1.

[0364] In the same way, the output tr1 of the first block Bx1.2 is applied as input to the convolutional layers Conv_37 and Conv_38 of the second block Bx2.2, and so on, until the last block Bx1.6, where its output tr1 is applied as input to the convolutional layers Conv_44 and Conv_45 of the second block Bx2.6.

[0365] As shown in the non-limiting examples:

[0366] - The convolutional layer Conv_36 includes 16 filters of size 3×3,

[0367] - The convolutional layer Conv_35 includes 8 filters of size 3×3,

[0368] - The convolutional layer Conv_38 consists of 24 filters of size 3×3,

[0369] - The convolutional layer Conv_37 includes 12 filters of size 3×3,

[0370] - The convolutional layer Conv_40 includes 24 filters of size 3×3,

[0371] - The convolutional layer Conv_39 includes 12 filters of size 3×3,

[0372] - The convolutional layer Conv_42 includes 24 filters of size 3×3,

[0373] - The convolutional layer Conv_41 includes 12 filters of size 3×3,

[0374] - The convolutional layer Conv_44 includes 16 filters of size 3×3,

[0375] - The convolutional layer Conv_43 includes 8 filters of size 3×3,

[0376] - The convolutional layer Conv_46 includes 16 filters of size 3×3,

[0377] - The convolutional layer Conv_45 includes 8 filters of size 3×3.

[0378] like Figure 7c As shown in , the output of each second block Bx2 is therefore two second tensors tr2_1 and tr2_2, which are respectively:

[0379] - prediction of the presence of a target feature 20 (here the iris 20.0 or the pupil 20.1). This means having two classes C1, which respectively define the presence of a target feature 20 and the absence of a target feature 20, the latter being the background class,

[0380] - The location of the predicted candidate bounding box B associated with the class. In one non-limiting embodiment, the location is defined by coordinates as x, y and width w and height h.

[0381] In one non-limiting example, the class Cl defining the presence of the target feature 20 is class 1 referred to as Cl1, and the class defining the background is class 0 referred to as Cl0.

[0382] The shape of the second tensors tr2_1 and tr2_2 is: number of tensor images × number of tensor channels × tensor width × tensor height.

[0383] For example, for Figure 7a In the second block Bx2.1 shown in , the second tensors tr2_1, tr2_2 are 1×8×38×38 for the convolution layer conv_35 and 1×16×38×38 for the convolution layer 36, respectively.

[0384] Using the non-limiting example of feature maps of sizes 38×38, 19×19, 10×10, 5×5, 3×3, and 1×1, and 4 or 6 different associated anchor points B, we obtain:

[0385] 38×38×4+19×19×6+10×10×6+5×5×6+3×3×4+1×1×4=8732 predicted candidate bounding boxes B per category.

[0386] Therefore, the resolution of the feature map and the number of anchor points B are defined to provide enough candidate bounding boxes for the NMS process applied below to select the final predicted box B.

[0387] Reshaping and concatenation functions

[0388] In a non-limiting embodiment, the SSDe model also includes two shaping and connection functions RCF1 and RCF2. The purpose of these shaping and connection functions is to integrate the predictions of all categories and the candidate bounding boxes processed by NMS to select the final prediction box B.

[0389] The input of the reshaping and concatenation function RCF1 is all the second tensors tr2_1.

[0390] The input of the reshaping and concatenation function RCF2 is all the second tensors tr2_2.

[0391] The output of the first reshaping and concatenation function RCF1 is a first result Res1 having a shape of 8732×2 (8732 per class).

[0392] For example, for Figure 7a For the second block Bx2.1 shown in , the second tensor tr2_1 shape is 1×8×38×38 (tr2_1 output by convolution layer conv_35). After reshaping, the shape is 1×11552 (when calculating 8×38×38). For the second block Bx2.2, the second tensor tr2_1 shape is 1×12×19×19 (tr2_1 output by convolution layer conv_37). After the reshaping function, the shape is 1×4332 (when calculating 12×19×19), and so on for other second blocks Bx2.

[0393] This connection will get all the reshaped results as input and will output the first result Res1 with shape 1×(11552+4332+…)=8732×2.

[0394] The output of the second reshaping and concatenation function RCF2 is a second result Res2 having a shape of 8732×4 (8732 per coordinate).

[0395] For example, for Figure 7aFor the second block Bx2.1 shown in the figure, the second tensor tr2_2 has a shape of 1×16×38×38 (tr2_2 output by the convolutional layer conv_36). After reshaping, the shape is 1×23104 (when calculating 16×38×38). For the second block Bx2.2, the second tensor tr2_2 has a shape of 1×24×19×19 (tr2_2 output by the convolutional layer conv_38). After the reshaping function, the shape is 1×8664 (when calculating 24x19x19), and so on for the other second blocks Bx2.

[0396] This connection will get all the reshaped results as input and will output a second result Res2 with shape 1×(23104+8664+…)=8732×4.

[0397] The shaping and connection function RCF are well known to those skilled in the art and will not be described further here.

[0398] ο NMS

[0399] In one non-limiting embodiment, the SSDe model also includes a NMS function.

[0400] Once the two results Res1 and Res2 are output, non-maximum suppression (called NMS) is applied to the second result Res2, which specifically represents the coordinates of the predicted candidate bounding box B.

[0401] In one non-limiting embodiment, NMS is based on the metric intersection over union (referred to as IOU). The goal is to maximize the IOU. The closer it is to 1, the better it is. The IOU calculation is used to measure the overlap between the predicted candidate bounding box B and the ground truth position B'. Take the intersection of the predicted candidate bounding box B and the ground truth position B' and divide it by the union of the two surfaces formed by the predicted candidate bounding box B and the ground truth position B'. NMS is applied to the coordinates of the predicted candidate bounding box B. IOU is well known to those skilled in the art and is therefore not described here.

[0402] The result is that only the coordinates of the candidate bounding box B with the best prediction corresponding to class Cl1 are retained.

[0403] Therefore, at the end of the execution of the SSDe model, we have:

[0404] - A prediction of whether the target feature 20 (here the iris 20.0 or the pupil 20.1) is present, that is, class 0 or 1.

[0405] - If the target feature 20 is present, its position in the form of bounding box B coordinates and size.

[0406] As described above, in order to detect the target feature 20 using the conventional SSD model or SSDe model as an inference model, the SSD model or SSDe model must be trained.

[0407] The training is described in detail below.

[0408] · The SSD / SSDe model is trained to detect the location of the target feature 20 within the eye 2.

[0409] The SSD model is trained to detect target features 20 within a region R of an image I.

[0410] Detection means predicting the class C1 and location (also called position) of the target feature 20 within the region R of the image I. Therefore, the SSD model is trained to detect whether the target feature 20 exists and the location of the target feature 20 within the image I as the region R of the eye 2. The location B is defined as a bounding box B.

[0411] If there is no target feature 20, the category Cl is the background category ClO and the localization is ignored.

[0412] For the object detection task, the target feature 20 we want to detect within the eye 2 can be located anywhere in the image I and can have any size and shape. Therefore, it is necessary to set some predefined bounding boxes B with different scales and aspect ratios. When training the SSD model, the training samples are constructed with the ground truth positions from the bounding boxes. This means that the bounding boxes are used to preset possible target feature locations, and then the positions are adjusted based on the preset positions during training.

[0413] In one non-limiting embodiment, the target feature 20 is an iris 20.0 or a pupil 20.1.

[0414] In one non-limiting embodiment, when the target feature 20 is the iris 20 . 0 , the region R is the entire eye 2 .

[0415] In one non-limiting embodiment, when the target feature 20 is the pupil 20 . 1 , the region R is the iris 20 . 0 of the eye 2 .

[0416] Reference is made to the non-limiting examples Figure 8 A second computer-implemented method 7 of training a single shot detector model SSD to detect a position B of a target feature 21 within an eye 2 is described.

[0417] In the non-limiting embodiment shown, the SSD model being trained is the SSDe model described above. Therefore, the SSDe model will be used hereinafter.

[0418] It includes the following steps.

[0419] In step E71 shown F71 (D1, I3, R, Lb), the SSDe model receives as input a dataset D1 of training images I3 of a plurality of regions R of different eyes 2. Each training image I3 is annotated with a label Lb defining the presence or absence of a target feature 20 within a region R of the eye 2. Thus, the SSDe model receives each training image I3 of the input dataset D1 and its corresponding label Lb among two labels Lb0, Lb1 defining the presence or absence of a target feature 20, respectively.

[0420] In one non-limiting embodiment, the input data set D1 includes from about 2,000 samples to 300,000 samples. In a non-limiting variation of the embodiment, the input data set D1 includes about 50,000 samples to 65,000 samples. In another non-limiting variation of the embodiment, the input data set D1 includes about 300,000 samples for training.

[0421] In a non-limiting embodiment, the input dataset D1 of the training image I3 includes a plurality of first samples and a plurality of augmented samples, wherein the plurality of augmented samples s′ are obtained by random expansion, random cropping and / or random mirroring.

[0422] In one non-limiting embodiment, an input dataset D1 of training images I3 is received according to a batch size of 128 images.

[0423] Therefore, these annotated training images I3 are input to the VGG16 network of the SSDe model.

[0424] In step E72 shown as F72 (B', 20), the SSDe model also receives as input a target position B' of the target feature 20 of each training image I3 of the input dataset D1. This target position B' is the ground truth position.

[0425] These steps E71 and E72 are performed in parallel or in any order.

[0426] In a first non-limiting embodiment, the region R of the eye 2 is the entire eye 2. In this case, the target feature 20 to be detected is the iris 20.0 of the eye 2. In this case, the training image I3 is an image of the eye 2 with the position of the iris 20.0 as the bounding box B', or an image without the eye 2 and without a corresponding position.

[0427] In a second non-limiting embodiment, the region R of the eye 2 is the iris 20.0 of the eye 2. In this case, the detected target feature 20 will be the pupil 20.1 of the eye 2. In this case, the training image I3 is an image of the iris 20.0 with the position of the pupil 20.1 as the bounding box B', or an image without the iris 20.0 and without a corresponding position.

[0428] Therefore, these ground truth locations B’ are input to the VGG16 network of the SSDe model.

[0429] The object feature 20 in the training image I3 is the ground truth object feature.

[0430] In step E73 shown as F73 (I3, VGG16, Conv), the SSDe model processes each training image I3 and its corresponding target position B' through the VGG16 network and the aforementioned additional feature layer Conv. Parameters Pa are associated with each of the multiple layers Conv of the SSDe model.

[0431] In one non-limiting embodiment, as described above, the processing of each training image I3 through the multiple layers Conv of the first additional feature layer uses an activation function Ac that is a Relu function.

[0432] In step E74 showing F74(I3,O1(Cl0,Cl1)), for each training image I3, the SSDe model outputs a plurality of first outputs O1, which are predictions of the presence or absence of the target feature 20 in the region R of the eye 2. Thus, the prediction defines to which class Cl it corresponds: Cl0 the target feature 20 is absent, Cl1 the target feature 20 is present.

[0433] Therefore, the generation of the first output O1 is obtained by processing the training image I3 and the corresponding target position B′ through multiple layers Conv, wherein the multiple layers Conv have corresponding parameters Pa.

[0434] In step E75 showing F75(I3, O2(B)), for each training image I3, the SSDe model outputs multiple second outputs O2, which are predicted candidate positions B of the target features 20 within the region R of the eye 2 (ie, predicted candidate bounding boxes B).

[0435] In case the target feature 20 is an iris 20.0, the second output O1 is the first bounding box B1 described previously.

[0436] In case the target feature 20 is the pupil 20.1, the second output O2 is the second bounding box B2 described previously.

[0437] Therefore, the generation of the second output O2 is obtained by processing the training image I3 and the corresponding target position B′ through multiple layers Conv, wherein the multiple layers Conv have corresponding parameters Pa.

[0438] In step E76 showing F76 (I3, O1, Lb, Lss1), for each training image I3, the SSDe model compares each first output O1 with the corresponding label Lb of the training image I3. To do this, it uses the classification loss function Lss1 for the comparison. The classification loss function Lss1 is also called confidence loss.

[0439] In a non-limiting embodiment, the classification loss function Lss1 is a cross entropy. Such classification loss function is well known to those skilled in the art and will not be described here.

[0440] In step E77 showing F77 (I3, O2, B', Lss2), for each training image I3, the SSDe model compares each second output O2 with the ground truth position B'. To do this, it uses the regression loss function Lss2. The regression loss function Lss2 is also called the localization loss function.

[0441] In a non-limiting embodiment, the regression loss function Lss2 is a smooth L1 loss. This regression loss function is well known to those skilled in the art and will not be described here.

[0442] In step E78 showing F78(Pa, Op, Lssg), based on the comparison, the parameters Pa of the VGG16 network and the additional feature layer Conv are adjusted using an optimizer Op so as to minimize a global loss function Lssg consisting of the regression loss function Lss1 and the classification loss function Lss2.

[0443] The goal is to find the value of the parameter Pa that minimizes the global loss function Lssg, so as to make the predicted candidate position B of the target feature 20 closer to the ground truth position B'.

[0444] In a non-limiting embodiment, the parameter Pa is adjusted until the convergence of the SSDe model is reached. The convergence of the SSDe model means that the global loss function Lssg is minimized. The adjustment is done using back propagation.

[0445] It means that at the output of the SSDe model, the predicted candidate position B of the target feature 20 is closest (in particular, has the closest coordinates) to the ground truth position B' at the input of the SSDe model, and the corresponding category Cl found at the output is the same as the corresponding label Cl of the input training image I3.

[0446] In one non-limiting embodiment, Lssg=Lss1+α.Lss2, where α is a constant that helps balance the contribution of the localization loss function Lss2.

[0447] In a non-limiting embodiment, the optimizer Op is a stochastic gradient descent. This optimizer is well known to those skilled in the art and will not be described here.

[0448] In one non-limiting embodiment, the parameters Pa are the weights w and the biases b.

[0449] In one non-limiting embodiment, the number of training iterations is approximately 300,000.

[0450] After training, the SSDe model is tested.

[0451] In a non-limiting embodiment, for the testing phase, in a non-limiting embodiment, the input dataset D1 includes about 150,000 samples. In a non-limiting embodiment, the IOU intersection is used as a metric to evaluate the performance of the SSDe model for position detection of the target feature 20.

[0452] It is noted that the SSD / SSDe model is more stable on both good and poor quality images compared to multi-task segmentation networks, clustering methods, iterative methods, or traditional machine learning models. It allows a rough estimate of the pupil 20.1. It is data-driven and more robust. Since the SSD / SDDe model is a deep learning model, it can be automatically adjusted by the given data to adapt to different application environments.

[0453] Fig. 9 A detection error trade-off curve Cr of target feature position detection performed by the second computer-implemented method 7 is shown, compared with a detection error trade-off curve Cr' of target feature position detection performed by a radially symmetric transformation method, which is well known to those skilled in the art.

[0454] On the abscissa axis, the False Acceptance Rate (FAR) is found, and on the ordinate axis, the False Rejection Rate (FRR) is found. FAR means that the detection method detects the target feature 20 of the eye 2 and accepts it even if it is different from the ground truth B'. FFR means that the detection method detects the target feature 20 of the eye 2, but rejects it even if it is the same as the ground truth B'. As we can observe, the curve Cr is below the curve Cr'. For example, FAR = 10 -5 The FFR is reduced by about 35% when Fig. 9 ). Even in the case of lower quality images, it is reduced by about 10%. It means that the second computer implemented method 7 causes less error than the radial symmetry transformation method, so its performance is better.

[0455] It should be understood that the present invention is not limited to the above-described embodiments, and can be modified and amended without departing from the scope of the present invention. All statements of the principles, aspects and embodiments of the present invention and their specific examples are intended to cover their equivalents in this article. In this regard, the following comments are made.

[0456] Therefore, some embodiments of the present invention may include one or more of the following advantages:

[0457] - it allows to define an accurate fine localization of the iris 20.0 of the eye 2 for both high quality and low quality images. It is less constrained than detection methods that require looking directly at the camera at a short distance of about 30 cm; it allows longer distances between the camera and the eye 2; it allows to define a clear fine localization of the iris 20.0 even when the eye 2 is out of focus,

[0458] - it allows to discard noise such as light reflections on eyelids, eyelashes, glasses, and irises 20.0,

[0459] - the first computer-implemented method 1 performs better than detection methods that detect the pupil 20.1 directly and are affected by the type of eye, the background around the eye (eyelids, eyebrows, glasses),

[0460] - In contrast to detection methods that use the border of the iris 20.0 to assist in subsequent fine iris localization, the first computer-implemented method 1 uses a rough estimate of the pupil 20.1 to assist in subsequent fine iris localization in order to have an accurate fine localization of the iris 20.0. When using the border of the iris 20.0 to assist in subsequent fine iris localization, it may result in poor performance if the image of the eye 2 does not contain a clear border of the iris 20.0.

Claims

1. A first computer-implemented method (1) for locating an iris (20.0) of an eye (2), wherein the first computer-implemented method (1) comprises: - detecting a first position (B1) of the iris (20.0) in the first image (I1) of the eye (2), - cropping said first image (I1) according to said first position (B1) so as to obtain a second image (I2), - detecting a second position (B2) of the pupil (20.1) of the eye (2) based on the second image (I2), - making a rough estimate of the pupil (20.1) based on said second position (B2) of the pupil (20.1), - Based on the first image (I1) and a rough estimate of the pupil, fine positioning of the iris (20.0) is performed.

2. The first computer-implemented method (1) of claim 1, wherein a first position (B1) of the iris (20.0) is defined by a first center coordinate (x1, y1) and by a width (w1) and a height (h1) of the iris (20.0), and a second position (B2) of the pupil (20.1) is defined by a second center coordinate (x2, y2) and by a width (w2) and a height (h2) of the pupil (20.1).

3. A first computer-implemented method (1) according to the preceding claim, wherein the rough estimation outputs circular parameters (x'2, y'2, r'2) of the pupil (20.1), the circular parameters being calculated based on the second center coordinates (x2, y2) and based on the width (w2) and height (h2) of the pupil (20.1).

4. The first computer-implemented method (1) according to any one of the preceding claims, wherein the fine positioning of the iris (20.0) comprises: - fine positioning of the pupil (20.1) in order to obtain fine parameters of the pupil (x"2, y"2, r"2), - estimating the radius (r'1) of the iris (20.0) based on the fine parameters (x"2, y"2, r"2) of the pupil (20.1), - Calculate the iris gradient map (G1), - Calculating the fine parameters (x"1, y"1, r"1) of the iris (20.0) based on the iris gradient map (G1).

5. The first computer-implemented method (1) according to the preceding claim, wherein the fine positioning of the pupil (20.1) comprises: - calculation of pupil gradient map (G2), - Applying an integral operator on the pupil gradient map (G2) in order to obtain the fine parameters (x"2, y"2, r"2) of the pupil (20.1).

6. The first computer-implemented method (1) according to claim 4 or 5, wherein the iris gradient map (G1) is calculated in an annular region, the center of which is the center of the pupil (c"2) and the radius range is [r'1-Δ, r'1+Δ], where r'1 is the estimated iris radius and Δ is a variable.

7. The first computer-implemented method (1) according to any one of the preceding claims, wherein the computer-implemented method (1) further comprises fine positioning of eyelids (23, 24) of the eye (2).

8. The first computer-implemented method (1) according to the preceding claim, wherein the fine positioning of the eyelids (23, 24) comprises: - Calculate the eyelid gradient map (G3), - applying an integral operator to the eyelid gradient map (G3) in order to obtain polynomial parameters (P3, P4) of the eyelid (23, 24).

9. According to the first computer-implemented method (1) of any of the preceding claims, the detection of the first position (B1) of the iris (20.0) is performed by a single-shot detector model (SSD), which is configured to receive a first image (I1) as input and output a prediction of the presence of the iris (20.0) and the first position (B1) of the iris (20.0) within the first image (I1).

10. According to the first computer-implemented method (1) of any of the preceding claims, the detection of the second position (B2) of the pupil (20.1) is performed by a single-shot detector model (SSD), which is configured to receive the first position (B1) of the iris (20.0) and the second image (I2) as input, and output a prediction of the presence of the pupil (20.1) and the second position (B2) of the pupil (20.1) within the second image (I2).

11. A second computer-implemented method (7) for training a single shot detector model (SSD) to detect the position of a target feature (21) within a region (R) of an eye (2), wherein the second computer-implemented method (7) comprises: - receiving as input at the single shot detector model (SSD) an input dataset (D1) of training images (I3) of a plurality of regions (R) of different eyes (2), each training image (I3) being annotated with one label (Lb) out of two labels (Lb0, Lb1), the two labels (Lb0, Lb1) respectively defining the presence and the absence of a target feature (20) in a region (R) of an eye (2), - receiving as input at the single shot detector model (SSD) an object position (B') of an object feature (20) of each training image (I3) of the input dataset (D1), said object position (B') defining a ground truth position, - processing each training image (I3) of the input data set (D1) and the corresponding object position (B') by a plurality of layers (Conv) of the single shot detector model (SSD), the plurality of layers (Conv) having associated parameters (Pa), - for each training image (I3), generating a first output (O1) of the single shot detector model (SSD), the first output (O1) being a prediction (CI) of the presence or absence of the target feature (20) in the region (R) of the eye (2), - for each training image (I3), generating a second output (O2) of the single shot detector model (SSD), the second output (O2) being a predicted candidate position (B) of a target feature (20) within the region (R) of the eye (2), - For each training image (I3), the first output (O1) is compared with the corresponding label (Lb) using the classification loss function (Lss1), - For each training image (I3), the second output (O2) is compared to the ground truth position (B') using a regression loss function (Lss2), - Based on the comparison, adjusting the parameters (Pa) of the layer (Conv) using an optimizer (Op) so as to minimize a global loss function (Lssg) composed of a classification loss function (Lss1) and a regression loss function (Lss2).

12. The second computer-implemented method (7) of claim 11, wherein the region (R) is an iris (20.1) of an eye (2) and the target feature (20) is a pupil (20.0).

13. The second computer-implemented method (7) according to claim 11 or 12, wherein the region (R) is the entire eye (2) and the target feature (20) is the iris (20.1).

14. The second computer-implemented method (7) according to any one of the preceding claims 11 to 13, wherein the ground truth position (B') and the second output (O2) are bounding boxes.

15. A second computer-implemented method (7) according to any one of the preceding claims 11 to 14, wherein the single shot detector model (SSD) comprises a VGG16 network as a backbone and a plurality of additional feature layers (Conv), the plurality of additional feature layers (Conv) having channels whose number varies from 16 to 128.

Citation Information

Cited By

  • Fusion-based adaptive pupil interaction method

    CN121143633A