A fast dual-iris detection method, apparatus and electronic device

By segmenting and extracting features from the image to be detected, and scanning only a portion of the image, the problem of high computational cost in existing technologies is solved, achieving efficient iris detection.

CN116665286BActive Publication Date: 2026-05-05BEIJING WANLIHONG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING WANLIHONG TECH CO LTD
Filing Date
2023-05-27
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

Existing iris detection technology requires simultaneous identification and detection of both visual regions, resulting in high computational demands and reduced detection efficiency.

Method used

A fast detection model is used to segment the image to be detected, detect the frame containing the iris, and determine the region where the iris is located based on the diameter and center point coordinates of the frame. Only a part of the image is scanned to reduce the amount of computation.

Benefits of technology

It improves the efficiency of iris detection, reduces the difficulty and computational load of detection, and enhances the accuracy and reliability of detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116665286B_ABST
    Figure CN116665286B_ABST
Patent Text Reader

Abstract

This application provides a fast binaural iris detection method, apparatus, and electronic device. The method, applied to a server, includes: acquiring an image to be detected; inputting the image to be detected into a trained fast detection model, and segmenting the image into a first image and a second image according to a preset method, wherein the first image contains a first iris and the second image contains a second iris; scanning the first image to detect a first iris bounding box containing the first iris; acquiring the coordinates and diameter of a first center point of the first iris bounding box, and determining the region where the second iris is located based on the coordinates and diameter of the first center point; and scanning the region where the second iris is located to detect a second iris bounding box containing the second iris. This application improves the efficiency of binaural iris detection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of image detection, specifically to a rapid dual iris detection method, apparatus, and electronic device. Background Technology

[0002] Iris detection is a biometric technology that analyzes the unique characteristics of the human iris to achieve identity recognition and authentication. Iris detection technology is highly accurate and secure, and difficult to imitate or forge, therefore it is widely used in security, financial payments, and access control.

[0003] Currently, conventional iris detection typically involves simultaneously detecting both irises in a facial image. First, the positions of both eyes in the face are identified simultaneously. Then, the regions of both eyes are scanned simultaneously to extract features. Based on the extracted features, the presence of irises is determined, and if present, the positions of the two irises are further identified. Because it requires simultaneous identification of both eyes and detection of both irises, the computational load is high, reducing the efficiency of iris detection.

[0004] Therefore, a method is needed to improve the efficiency of dual iris detection. Summary of the Invention

[0005] This application provides a rapid dual iris detection method, apparatus, and electronic device, which improves the efficiency of dual iris detection.

[0006] A first aspect of this application provides a rapid dual iris detection method, the method being applied to a server, comprising:

[0007] Acquire the image to be detected;

[0008] The image to be detected is input into a trained fast detection model, and the image to be detected is divided into a first image and a second image according to a preset method. The first image contains a first iris, and the second image contains a second iris.

[0009] The first image is scanned to detect a first iris frame containing the first iris;

[0010] Obtain the diameter of the first iris frame and the coordinates of the first center point, and determine the area where the second iris is located based on the diameter and the coordinates of the first center point, wherein the first center point is the center point of the first iris frame;

[0011] Scan the area where the second iris is located to detect a second iris frame containing the second iris.

[0012] By adopting the above technical solution, the server only needs to scan a portion of the image to detect the first iris frame containing the first iris, instead of scanning the entire image, which greatly reduces the detection difficulty and improves detection efficiency. Secondly, after detecting the first iris frame, the server directly calculates the region containing the second iris based on the diameter of the first iris frame and the coordinates of the first center point. Therefore, only this region needs to be scanned to detect the second iris frame containing the second iris, instead of scanning the entire second image, thereby reducing computational load and improving the efficiency of dual iris detection.

[0013] Optionally, scanning the first image to detect a first iris frame containing the first iris specifically includes:

[0014] The first image is divided into multiple image blocks;

[0015] Each of the aforementioned image blocks is sampled using multiple square sliding frames of different sizes to generate multiple sampled samples;

[0016] Feature extraction is performed on each of the sampled samples to obtain the iris frame and confidence score corresponding to each sampled sample;

[0017] The iris frame corresponding to the confidence score that meets the preset conditions is selected as the first iris frame. The confidence score that meets the preset conditions is the confidence score that is greater than the preset first threshold among the various confidence scores, or the confidence score that meets the preset conditions is the highest confidence score among the multiple confidence scores.

[0018] By adopting the above technical solution, the server divides the first image into multiple image blocks and then samples each image block, which can effectively reduce the amount of computation required by the server in a short time. At the same time, using square sliding frames of different sizes for sampling can cover irises of different sizes, improving the versatility of the detection method.

[0019] Optionally, the step of sampling each image patch using multiple square sliding frames of different sizes to generate multiple sampling samples specifically includes:

[0020] Select a first image block, wherein the first image block is any one of the plurality of image blocks;

[0021] The first square slider is controlled to start from any vertex of the first image block and slide alternately using the first sliding method and the second sliding method to obtain a sample. The first square slider is any one of the multiple square sliders of different sizes.

[0022] The first sliding method is to slide from a first starting point to a first direction. After the first square sliding frame slides to the edge of the first image block, it returns to the first starting point. The first square sliding frame then moves a first preset distance in a second direction. The first direction is parallel to any side of the first image block, and the second direction is perpendicular to the first direction. The position of any vertex is the first starting point, and the position of the first starting point after moving a first preset distance in the second direction is the second starting point.

[0023] The second sliding method is to slide from the second starting point to the second direction. After the first square slider slides to the edge of the first image block, it returns to the second starting point. Then the first square slider moves a second preset distance in the first direction.

[0024] By adopting the above technical solution and alternating different sliding methods, the iris at different positions and of different sizes within different image blocks can be comprehensively sampled, thereby improving the accuracy and reliability of iris detection.

[0025] Optionally, obtaining the diameter of the first iris frame specifically includes:

[0026] An iris image frame is generated based on the first iris frame, wherein the iris image frame is the outer rectangle of the first iris frame;

[0027] Obtain the width and height dimensions of the iris image frame;

[0028] The diameter of the first iris frame is calculated based on the width and height dimensions.

[0029] By adopting the above technical solution, the server calculates the diameter of the iris frame based on the size and position of the iris image frame, providing a data basis for the subsequent acquisition of the area where the second iris is located.

[0030] Optionally, obtaining the coordinates of the first center point of the first iris frame specifically includes:

[0031] Obtain the vertex coordinates of any vertex of the iris image frame;

[0032] The coordinates of the first center point are calculated based on the vertex coordinates and the width and height dimensions.

[0033] By adopting the above technical solution, the server calculates the coordinates of the center point of the first iris frame based on the size and position of the iris image frame, which further provides a data basis for the subsequent determination of the area where the second iris is located.

[0034] Optionally, determining the region where the second iris is located based on the coordinates of the first center point and the diameter specifically includes:

[0035] Calculate the pupillary distance based on the diameter;

[0036] Based on the coordinates of the first center point and the interpupillary distance, the coordinates of the second center point are calculated. The second center point is located in the second image and is at the same horizontal level as the first center point. The second center point is the center point of the second iris frame.

[0037] Using the second center point as the center and the preset width and height dimensions as the side lengths, the area where the second iris is located is generated.

[0038] By adopting the above technical solution, the server calculates the approximate position of the second iris frame based on the position of the first iris frame, and generates a rectangular area based on the approximate position. The server only needs to scan the rectangular area to detect the second iris frame, without needing to scan the second image, which effectively reduces the amount of computation.

[0039] Optionally, before acquiring the image to be detected, the method further includes:

[0040] Acquire multiple iris samples and non-iris samples;

[0041] The initial fast detection model is trained using the iris sample and the non-iris sample to obtain the trained fast detection model.

[0042] By employing the aforementioned technical solution, and training an initial fast detection model using multiple iris and non-iris samples, a fully trained fast detection model is obtained, providing fundamental data and model support for iris image detection. This process can provide accurate data and reliable model support for subsequent iris recognition and comparison, improving the accuracy and reliability of iris recognition and comparison.

[0043] Optionally, after scanning the area where the second iris is located and detecting the second iris frame containing the second iris, the method further includes:

[0044] Obtain the first size of the first iris frame and the second size of the second iris frame;

[0045] Determine whether the first size is within a first preset range, and whether the second size is within a second preset range;

[0046] If it is determined that the first size is within the first preset range and the second size is within the second preset range, then the image to be detected is cropped according to the first iris frame and the second iris frame to obtain a first cropped image and a second cropped image;

[0047] The first cropped image and the second cropped image are scaled and stitched together to obtain the processed image;

[0048] Obtain the iris frame integrity score of the processed image;

[0049] Determine whether the iris frame integrity score is greater than a preset second threshold. If the iris frame integrity score is greater than the second threshold, then determine the first iris frame and the second iris frame as the final predicted frames.

[0050] By adopting the above technical solution, the server can verify the detection results. First, by determining whether the sizes of the two iris frames are both within a preset range, the accuracy of the detection results is initially determined. Further, after confirming that the sizes of the two iris frames are within the preset range, the processed image after scaling and stitching is verified. By judging the relationship between the iris frame integrity score of the processed image and the second threshold, the integrity of the iris frame is further determined, thereby verifying whether the detection steps are correct.

[0051] A second aspect of this application provides a rapid dual iris detection device, which is installed on a server and includes an acquisition module, an image segmentation module, an image recognition module, and a processing module, wherein:

[0052] The acquisition module is used to acquire the image to be detected;

[0053] The image segmentation module is used to segment the image to be detected into a first image and a second image according to a preset method. The first image contains a first iris and the second image contains a second iris.

[0054] The image recognition module is used to scan the first image and detect a first iris frame containing the first iris.

[0055] The processing module is used to obtain the diameter of the first iris frame and the coordinates of the first center point, and based on the diameter and the coordinates of the first center point, to determine the area where the second iris is located, where the first center point is the center point of the first iris frame;

[0056] The image recognition module is also used to scan the area where the second iris is located and detect the second iris frame containing the second iris.

[0057] A third aspect of this application provides an electronic device including a processor, a memory, a user interface, and a network interface, wherein the memory is used to store instructions, the user interface and the network interface are both used to communicate with other devices, and the processor is used to execute the instructions stored in the memory to cause the electronic device to perform the method as described in any of the foregoing.

[0058] In summary, one or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:

[0059] The server first only needs to scan a portion of the image to detect the first iris bounding box containing the first iris, instead of scanning the entire image, greatly reducing the detection difficulty and thus improving detection efficiency. Secondly, after detecting the first iris bounding box, the server directly calculates the region containing the second iris based on the diameter of the first iris bounding box and the coordinates of the first center point. Therefore, it only needs to scan this region to detect the second iris bounding box containing the second iris, instead of scanning the entire second image, thereby reducing computational load and improving the efficiency of dual iris detection. Attached Figure Description

[0060] Figure 1 This is a schematic flowchart of a rapid dual iris detection method disclosed in an embodiment of this application;

[0061] Figure 2 This is a schematic diagram of a segmentation method for an image to be detected disclosed in an embodiment of this application;

[0062] Figure 3 This is a schematic diagram of a scenario for a rapid dual iris detection method disclosed in an embodiment of this application;

[0063] Figure 4 This is a schematic diagram of a scenario of a first sliding method disclosed in an embodiment of this application;

[0064] Figure 5 This is a schematic diagram of a scenario of a second sliding method disclosed in an embodiment of this application;

[0065] Figure 6 This is a schematic diagram of a sliding sampling method disclosed in an embodiment of this application.

[0066] Figure 7 This is a schematic diagram of the structure of a rapid dual iris detection device disclosed in an embodiment of this application;

[0067] Figure 8 This is a schematic diagram of the structure of an electronic device disclosed in an embodiment of this application.

[0068] Explanation of reference numerals in the attached figures: 701, acquisition module; 702, image segmentation module; 703, image recognition module; 704, processing module; 801, processor; 802, communication bus; 803, user interface; 804, network interface; 805, memory. Implementation

[0069] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0070] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.

[0071] In the description of the embodiments of this application, the term "multiple" means two or more. For example, multiple systems means two or more systems, and multiple screen terminals means two or more screen terminals. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.

[0072] Iris recognition is one of the most widely used biometric identification technologies. In iris recognition, iris detection is one of the most fundamental and crucial steps. Currently, conventional iris detection typically involves simultaneous detection of both irises in a face image. Iris detection generally involves the following steps: First, the server needs to identify the binocular regions in the face image. This process is usually achieved through face detection algorithms and eye localization algorithms.

[0073] Next, the presence of a complete double iris is detected. Iris detection typically uses a classifier to detect the presence of a complete double iris. Commonly used iris classifiers include SVM (Support Vector Machine) and neural networks.

[0074] If a complete binaural iris is determined, the positions of the two irises need to be further determined. This process typically uses iris localization algorithms to analyze and process iris texture, find the iris boundaries, and determine key parameters such as the iris's center point and diameter. The iris detection described above requires simultaneous recognition and detection of both eyes, thus incurring a large computational burden and reducing the efficiency of iris detection.

[0075] This embodiment discloses a rapid dual iris detection method, referring to... Figure 1 It includes the following steps:

[0076] S110, acquire the image to be detected.

[0077] Specifically, the server acquires the image to be detected that needs to be iris detection, which can be a face image captured by the camera component.

[0078] In one possible implementation, before acquiring the image to be detected, the method further includes: acquiring multiple iris samples and multiple non-iris samples. An initial fast detection model is then trained using the multiple iris samples and multiple non-iris samples to obtain a trained fast detection model.

[0079] Specifically, iris samples are image samples containing genuine irises that have undergone biometric acquisition and image processing. Non-iris samples can be images of other areas outside the iris (such as the skin area around the eyes) or forged images containing fake irises (such as irises generated through printing or digital synthesis techniques). A random number of iris and non-iris samples are fed into an initial fast detection model, which extracts features from the samples and determines whether they are irises. After the determination, human feedback is received, and adjustments are made based on the results to complete the training and obtain the trained fast detection model.

[0080] The fast detection model is a deep learning-based object detection model, comprising an interpupillary distance (IPD) regressor, a binaural iris classifier, and a multi-batch convolutional network classifier. The IPD regressor utilizes machine learning-based image processing algorithms to measure the interpupillary distance (IPD) of the human eyes. It processes the input face image and uses a machine learning model to predict the IPD between the two eyes, thus achieving automated IPD prediction. The binaural iris classifier is a biometric recognition model for identifying the irises of both eyes. It processes and analyzes iris images to extract iris texture information, thereby identifying whether it is an iris. The convolutional network classifier is an image classification model based on convolutional neural networks. It extracts features from the input image by performing multiple convolution and pooling operations. The extracted features are then fed into fully connected layers for classification output. Convolution operations effectively capture local features, while pooling operations preserve feature invariance and reduce data size.

[0081] S120, the server receives the image to be detected and inputs it into the trained fast detection model, and divides the image to be detected into a first image and a second image according to a preset method. The first image contains the first iris and the second image contains the second iris.

[0082] Specifically, after the server inputs the image to be detected into the trained fast detection model, the fast detection model first segments the image. A preset method includes segmenting along the vertical axis of symmetry of the image to be detected, dividing it into a first image and a second image, thus ensuring that both the first and second images include the complete iris. The first image may include the left iris (i.e., the first iris), and the second image may include the right iris (i.e., the second iris). Alternatively, the first image may include the right iris (i.e., the first iris), and the second image may include the left iris (i.e., the second iris).

[0083] Reference Figure 2 The preset method also includes segmenting the image along the vertical direction of the image to be detected, with the segmentation position offset to the right of the axis of symmetry by a certain distance. The left region of the image to be detected is then the first image. Similarly, segmenting along the vertical direction of the image to be detected, with the segmentation position offset to the left of the axis of symmetry by a certain distance, results in the right region of the image to be detected being the second image. Alternatively, segmenting along the vertical direction of the image to be detected, with the segmentation position offset to the right of the axis of symmetry by a certain distance, results in the left region of the image to be detected being the second image. Similarly, segmenting along the vertical direction of the image to be detected, with the segmentation position offset to the left of the axis of symmetry by a certain distance, results in the right region of the image to be detected being the first image. The "certain distance" can be set according to the size of the image to be detected, and this embodiment does not impose a specific limitation. Through the above segmentation methods, it can be ensured that at least one complete iris frame exists in the first image, or at least one complete iris frame exists in the second image. The following example illustrates segmentation along the vertical axis of symmetry of the image to be detected, where the first image includes the first iris and the second image includes the second iris.

[0084] S130, the first image is scanned to detect the first iris frame containing the first iris.

[0085] In one possible implementation, scanning the first image to detect a first iris frame containing the first iris specifically includes: dividing the first image into multiple image blocks; sampling each image block using multiple square sliding frames of different sizes to generate multiple sampling samples; extracting features from each sampling sample to obtain the iris frame and confidence score corresponding to each sampling sample; selecting the iris frame corresponding to the confidence score that meets the preset conditions as the first iris frame, wherein the confidence score that meets the preset conditions is the confidence score among the confidence scores that is greater than a preset first threshold, or the confidence score that meets the preset conditions is the highest confidence score among the multiple confidence scores.

[0086] In one possible implementation, multiple image blocks are sampled using multiple square sliding frames of different sizes to generate multiple sampled samples. Specifically, this includes: selecting a first image block, which is any one of multiple image blocks; controlling a first square sliding frame to slide alternately from any vertex of the first image block using a first sliding method and a second sliding method to obtain sampled samples; the first square sliding frame is any one of multiple square sliding frames of different sizes. The first sliding method involves sliding from a first starting point towards a first direction, the first square sliding frame sliding to the edge of the first image block and then returning to the first starting point, then moving the first square sliding frame a first preset distance in a second direction. The first direction is parallel to any side of the first image block, and the second direction is perpendicular to the first direction. The position of any vertex is the first starting point, and the position after moving the first starting point a first preset distance in the second direction is the second starting point. The second sliding method involves sliding from the second starting point towards a second direction, the first square sliding frame sliding to the edge of the first image block and then returning to the second starting point, then moving the first square sliding frame a second preset distance in the first direction.

[0087] Specifically, the following instructions use the example of the first image including the left iris (i.e., the first iris) and the second image including the right iris (i.e., the second iris) for illustration. (Refer to...) Figure 3 First, the server segments the first image into multiple image blocks, with each block preferably having an area half the area of ​​the first image. The segmentation direction is preferably along the width of the first image. Segmentation can be done along the axis of symmetry or by segmenting the central rectangular region of the first image. The area of ​​the resulting rectangular region must conform to a preset rule, and overlapping areas are permissible among the multiple image blocks. The area of ​​the overlapping areas can be adjusted according to the actual situation. Then, multiple square sliding frames of different sizes are generated sequentially based on the size of the image blocks. The shape of the square sliding frames is preferably square, and their size is determined by the size of the image block. For example, if the image block size is 512*512 pixels, the size of the first square sliding frame is preferably 500*500 pixels, the second square sliding frame is preferably 400*400 pixels, and so on, with the size of the subsequent square sliding frames gradually decreasing until the size reaches a set threshold. In different embodiments, the size of the square sliding frames can be determined according to the actual situation; this embodiment does not impose a specific limitation.

[0088] The server then selects a first image patch, which can be any one of multiple image patches. The server controls each square slider to slide from any vertex of the first image patch. Adjacent square sliders of the same size can overlap, meaning the distance between two adjacent sampling points is less than the width of the square slider, to ensure sufficient samples are collected to completely capture the iris frame within the current image patch. The overlap rate between adjacent square sliders can be set according to actual conditions, ensuring complete sampling of the image patch. Sampling occurs once every preset pixel distance, capturing the image content of the first image patch within each square slider. Each time a sample is obtained from a sample obtained by each square slider, the server calculates the confidence score corresponding to that sample. As the iris frame captured by the sliding frame gradually becomes more complete, the confidence score gradually increases. When the most complete iris frame within the first image patch is captured, i.e., the size of this iris frame is the largest relative to the sizes of the iris frames of other samples, the corresponding confidence score is the highest. As sliding sampling continues, the score gradually decreases. At this point, sampling of the first image patch is stopped, and the iris frame corresponding to the sample with the highest confidence score is set as the prediction box. The preset pixel distance can be adjusted according to the size of the first image patch and the size of the sliding frame; this embodiment does not impose a specific limitation.

[0089] By using the above technical solution, when the most complete iris frame is captured in the current image block, that is, when the size of the iris frame is the largest relative to the size of the iris frames of other samples, sampling of the current image block is stopped. This eliminates the need to sample all parts of the current image block and calculate the confidence score, thereby greatly reducing the computational load on the server.

[0090] For any given sample, the server first extracts features to obtain the corresponding feature vector. Multiple feature vectors are then simultaneously fed into a multi-batch convolutional network classifier. The classifier determines whether the received sample contains an iris. If it determines that the sample contains a complete iris frame, it assigns a higher confidence score. The iris frame is the outline of the iris's edge, typically elliptical, but can be equivalent to a circle. If the classifier determines that the sample does not contain an iris frame or contains an incomplete iris frame, it assigns a lower confidence score. The techniques involved in calculating the confidence score corresponding to the iris frame are merely standard practices in the relevant field and will not be elaborated upon further here.

[0091] The following example uses the first square slider to slide from the top left corner of the first image block. Figure 4 The first square slider is initially placed at the first starting point. It slides from left to right until its right side aligns with the right side of the first image block, then returns to the first starting point and moves downwards a first preset distance. The new position is the second starting point. (Refer to...) Figure 5 The first square slider then slides downwards from the second starting position until its bottom edge coincides with the bottom edge of the first image block. It then returns to the second starting position and moves a second preset distance to the right to obtain a new starting point. (Refer to...) Figure 5 The first square sliding frame then slides from left to right from a new starting point, and so on. The first and second sliding methods alternate. Each time a sample is sampled, a confidence score is calculated, and the confidence score is compared in real time with a preset first threshold. When the confidence score is less than or equal to the first threshold, sampling continues; when the confidence score is greater than the first threshold, sampling stops. The iris frame corresponding to that confidence score is then set as the predicted bounding box for the current image patch. Similarly, multiple predicted bounding boxes are obtained for multiple different image patches. The specific value of the first threshold is not specifically limited in this embodiment; other embodiments can set it according to actual conditions.

[0092] Alternatively, for the same image patch, a confidence score is obtained by sampling once for each sliding of a square bounding box of different sizes. As the iris frame within the square bounding box gradually becomes complete, its corresponding confidence score gradually increases. As the sliding continues, the iris frame within the square bounding box gradually disappears, and the corresponding confidence score gradually decreases. The iris frame with the highest score is then selected as the prediction box for the current image patch. Similarly, multiple prediction boxes are obtained for multiple different image patches.

[0093] In this embodiment, the specific values ​​of the first preset distance and the second preset distance are not specifically limited, and other embodiments can be adjusted according to actual conditions. It should be noted that in other embodiments, the square sliding frame can also start from the lower left corner, upper right corner, or lower right corner of the image block, and the order of the first sliding method and the second sliding method can also be customized.

[0094] In the above steps, since the iris bounding boxes captured from image patches at different locations may not be complete, further processing of multiple predicted boxes is necessary. Among these predicted boxes, multiple overlapping predicted boxes may have iris bounding boxes with the same level of completeness. Therefore, non-maximum suppression (NMS) is first performed on these overlapping predicted boxes to remove them, retaining only one predicted box, which is then designated as the preferred predicted box. The confidence scores of these preferred predicted boxes are then compared, and the preferred predicted box with the highest confidence score has the most complete iris bounding box; this preferred predicted box is then designated as the first iris bounding box. NMS is a commonly used post-processing operation in object detection tasks. In object detection, an object may be contained within multiple candidate boxes; to remove overlapping candidate boxes and retain the optimal detection result, NMS is used.

[0095] Through the above technical solution, the square sliding frame alternates between different sliding methods, stopping the sliding sampling when the complete iris frame is acquired. Subsequent sliding sampling of the entire image block is unnecessary, thus reducing sampling time. Furthermore, using square sliding frames of different sizes can accommodate iris frames of varying sizes, thereby improving the versatility of the iris detection method.

[0096] S140, obtain the diameter of the first iris frame and the coordinates of the first center point, and determine the area where the second iris is located based on the diameter and the coordinates of the first center point, where the first center point is the center point of the first iris frame.

[0097] In one possible implementation, obtaining the diameter of the first iris frame specifically includes: generating an iris image frame based on the first iris frame, wherein the iris image frame is the circumscribed rectangle of the first iris frame; obtaining the width and height dimensions of the iris image frame; and calculating the diameter of the first iris frame based on the width and height dimensions.

[0098] Specifically, refer to Figure 3 After detecting the first iris frame, the second iris frame needs to be detected. First, the server circumscribes the first iris frame into a rectangle, generating an iris image frame. The server then obtains the width and height dimensions of the iris image frame and calculates the diameter of the first iris frame based on these dimensions. The specific calculation formula is as follows:

[0099]

[0100] Where bboxw is the width of the iris image frame and bboxh is the height of the iris image frame.

[0101] In one possible implementation, obtaining the coordinates of the first center point of the first iris frame specifically includes: obtaining the vertex coordinates of any vertex of the iris image frame; and calculating the coordinates of the first center point based on the vertex coordinates and the width and height dimensions of the iris image frame.

[0102] Specifically, refer to Figure 3 First, the server obtains the vertex coordinates (x, y) of any one of the iris image frames. Since the actual iris frame is not a perfect circle, and its corresponding circumscribed rectangle is not a perfect square, the server needs to obtain the width and height dimensions of the first iris frame. For the first iris frame, one of the longer axes is the major axis, and the other is the minor axis. The width usually refers to the length of the major axis, and the height usually refers to the length of the minor axis. The width of the corresponding circumscribed rectangle is the width of the first iris frame, and the height of the circumscribed rectangle is the height of the first iris frame. Finally, the server calculates the coordinates of the first center point of the first iris frame based on the vertex coordinates, using the following formula:

[0103]

[0104] Where x1 is the x-coordinate of the center point of the first iris, y1 is the y-coordinate of the center point of the first iris, w is the width of the first iris frame, and h is the height of the first iris frame. x is the x-coordinate of a vertex of the iris image frame, and y is the y-coordinate of a vertex of the iris image frame.

[0105] When the vertex coordinates obtained by the server are the coordinates of the top-left vertex of the iris image frame, the following formula is used for calculation:

[0106]

[0107] When the vertex coordinates obtained by the server are the coordinates of the upper right corner vertex of the iris image frame, the following formula is used for calculation:

[0108]

[0109] When the vertex coordinates obtained by the server are the coordinates of the lower left corner vertex of the iris image frame, the following formula is used for calculation:

[0110]

[0111] When the vertex coordinates obtained by the server are the coordinates of the lower right corner vertex of the iris image frame, the following formula is used for calculation:

[0112]

[0113] In one possible implementation, the region where the second iris is located is determined based on the coordinates of the first center point and the diameter, specifically including: calculating the interpupillary distance based on the diameter; calculating the coordinates of the second center point according to the coordinates of the first center point and the interpupillary distance, wherein the second center point is located in the second image and is at the same horizontal height as the first center point, and the second center point is the center point of the second iris frame; and generating the region where the second iris is located with the second center point as the center and the preset width and height dimensions as the side length.

[0114] Specifically, refer to Figure 3 The diameter of the first iris frame is input into the pupillary distance (PD) regressor. The PD regressor calculates the pupillary distance (C) based on the ratio between the diameter and the PD. Typically, the PD is 3-5 times the diameter of the iris frame. After training the PD regressor with a preset number of samples, it will calculate an accurate ratio for subsequent PD calculations based on the iris frame diameter. For example, if the calculated PD after training is 4.61 times the diameter of the first iris frame, then in practical applications, any PD will be 4.61 times the corresponding iris frame diameter.

[0115] The server then calculates the coordinates of the second center point based on the coordinates of the first center point and the interpupillary distance. The specific calculation formula is as follows:

[0116]

[0117] Where x2 is the x-coordinate of the second center point, y2 is the y-coordinate of the second center point, x1 is the x-coordinate of the first center point, y1 is the y-coordinate of the first center point, and C is the interpupillary distance. Finally, the server generates the area containing the second iris, centered on the second center point and with preset width and height dimensions as side lengths. The specific lengths of the preset width and height dimensions are not specifically limited in this embodiment, as long as they are both greater than the diameter of the first iris frame.

[0118] S150, scan the area where the second iris is located and detect the second iris frame containing the second iris.

[0119] Specifically, the scanning method for the region containing the second iris is the same as that for the image patch described above. Multiple square sliding frames of different sizes are used to sample this region, generating multiple sampled samples. Feature extraction is then performed on each sampled sample to obtain the corresponding iris frame and confidence score. Finally, the iris frame corresponding to the highest confidence score is selected as the second iris frame.

[0120] The server first only needs to scan a portion of the image to detect the first iris bounding box containing the first iris, instead of scanning the entire image. This significantly reduces the computational load of the detection process, thereby improving detection efficiency. Secondly, after detecting the first iris bounding box, the server directly calculates the region containing the second iris based on the diameter of the first iris bounding box and the coordinates of the first center point. Therefore, it only needs to scan this region to detect the second iris bounding box containing the second iris, instead of scanning the entire second image, thus reducing computational load and improving the efficiency of dual iris detection.

[0121] The previously mentioned method involves segmenting the image according to a preset pattern. The segmentation is performed vertically along the image to be detected, with the segmentation point slightly to the right of the axis of symmetry. The left region of the image is then considered the first image. Similarly, segmenting vertically along the image to the left of the axis of symmetry results in the right region being the second image. Alternatively, segmenting vertically along the image to the right of the axis of symmetry results in the left region being the second image, and vice versa. This segmentation method may result in either the first or second image containing two complete irises. If the first image contains two complete irises, the detection steps remain the same: first, a square sliding frame is used to detect the left iris frame; then, the region containing the second iris is calculated based on the first iris frame, and this region is scanned to detect the second iris frame. If the second image contains two complete irises, the detection steps remain the same. When detecting the first image first, the iris frame cannot be detected. Then, the second image is detected. First, a square sliding frame is used to detect the first iris frame on the left in the first image. Then, the region where the second iris is located is calculated based on the first iris frame, and the region is scanned to detect the second iris frame. Since the specific detection method is the same as the one described above, it will not be explained further here.

[0122] In one possible implementation, after scanning the area containing the second iris and detecting the second iris frame, the method further includes: obtaining a first size of the first iris frame and a second size of the second iris frame; determining whether the first size is within a first preset range and whether the second size is within a second preset range; if it is determined that the first size is within the first preset range and the second size is within the second preset range, then cropping the image to be detected according to the first iris frame and the second iris frame to obtain a first cropped image and a second cropped image. The first cropped image and the second cropped image are scaled and stitched together to obtain a processed image; the iris frame integrity score of the processed image is obtained; it is determined whether the iris frame integrity score is greater than a preset second threshold; if it is determined that the iris frame integrity score is greater than the second threshold, then the first iris frame and the second iris frame are determined as the final predicted frames.

[0123] Specifically, the server inputs the images of the first and second iris frames into a binaural classifier for verification. First, the binaural classifier identifies portions within the first and second iris frames to determine if both contain irises. Then, it obtains the first size of the first iris frame and the second size of the second iris frame, and then determines whether the first size falls within a first preset range and the second size falls within a second preset range. The first preset range is the possible size range of the first iris frame, and the second preset range is the possible size range of the second iris frame. These preset ranges are obtained by training the model with a large number of iris frame samples; the specific method for obtaining them is conventional and will not be elaborated further here. If the first iris frame is not within the first preset range, it indicates that the size of the first iris frame is not within the normal iris frame size range, and the preceding detection steps may be incorrect. Similarly, if the second iris frame is not within the second preset range, it indicates that the size of the second iris frame is not within the normal iris frame size range, and the preceding detection steps may be incorrect. If the first iris frame is not within the first preset range, and the second iris frame is not within the second preset range, it indicates that the dimensions of both the first and second iris frames are not within the normal range, and the preceding detection steps may be incorrect. If the first iris frame is within the first preset range and the second iris frame is within the second preset range, it can be preliminarily determined that the dimensions of both iris frames are within the normal range.

[0124] The server then crops the image to be detected based on the position and size of the first and second iris frames, removing the portion outside the iris frames to obtain a first cropped image containing the first iris frame and a second cropped image containing the second iris frame. Finally, the server scales and stitches the first and second cropped images to the same size, resulting in a processed image. This processed image is then input into a dual iris verification module to determine the presence of complete dual iris frames. The dual iris verification module verifies the completeness of the dual iris frames. In the scaled and stitched processed image, the dual iris frames form a horizontal "8". The module assigns an iris frame completeness score to the processed image based on the completeness of the dual iris frames; the more complete the two iris frames, the higher the score. The techniques involved in assigning an iris frame completeness score to the processed image based on the completeness of the dual iris frames are conventional techniques in the relevant field and will not be elaborated further here.

[0125] Furthermore, the server determines the relationship between the iris frame integrity score and a preset second threshold. If the iris frame integrity score is less than or equal to the second threshold, it indicates that the integrity of the double iris frames does not meet the preset standard, suggesting a possible error in the preceding detection steps, requiring further verification by relevant technical personnel. If the iris frame integrity score is greater than the second threshold, it indicates that the integrity of the double iris frames meets the preset standard, further confirming the correctness of the preceding detection steps. After successful verification, the server determines the first and second iris frames as the final predicted frames for subsequent iris recognition.

[0126] This embodiment also discloses a rapid dual iris detection device, which is installed on a server, as shown in the following example. Figure 7 It includes an acquisition module 701, an image segmentation module 702, an image recognition module 703, and a processing module 704, wherein:

[0127] The acquisition module 701 is used to acquire the image to be detected.

[0128] The image segmentation module 702 is used to segment the image to be detected into a first image and a second image according to a preset method. The first image contains a first iris and the second image contains a second iris.

[0129] The image recognition module 703 is used to scan the first image and detect the first iris frame containing the first iris.

[0130] The processing module 704 is used to obtain the diameter of the first iris frame and the coordinates of the first center point, and to determine the area where the second iris is located based on the diameter and the coordinates of the first center point, wherein the first center point is the center point of the first iris frame.

[0131] The image recognition module 703 is also used to scan the area where the second iris is located and detect the second iris frame containing the second iris.

[0132] In one possible implementation, the image segmentation module 702 is used to divide the first image into multiple image blocks.

[0133] The image recognition module 703 is used to sample each image block using multiple square sliding frames of different sizes, generating multiple sampled samples.

[0134] The processing module 704 is used to extract features from each sample to obtain the iris frame and confidence score corresponding to each sample. The iris frame corresponding to the confidence score that meets the preset conditions is selected as the first iris frame. The confidence score that meets the preset conditions is the confidence score that is greater than a preset first threshold among the confidence scores, or the confidence score that meets the preset conditions is the highest confidence score among multiple confidence scores.

[0135] In one possible implementation, the acquisition module 701 is used to select a first image block, which is any one of a plurality of image blocks.

[0136] The processing module 704 controls a first square sliding frame to slide from any vertex of the first image block, alternately using a first sliding mode and a second sliding mode to obtain sampled samples. The first square sliding frame is any one of multiple square sliding frames of different sizes. The first sliding mode involves sliding from a first starting point towards a first direction. After sliding to the edge of the first image block, the first square sliding frame returns to the first starting point and then moves a first preset distance in a second direction. The first direction is parallel to any side of the first image block, and the second direction is perpendicular to the first direction. The position of any vertex is the first starting point, and the position after moving the first starting point a preset distance in the second direction is the second starting point. The second sliding mode involves sliding from the second starting point towards a second direction. After sliding to the edge of the first image block, the first square sliding frame returns to the second starting point and then moves a second preset distance in the first direction.

[0137] In one possible implementation, the image recognition module 703 is used to generate an iris image frame based on a first iris frame, wherein the iris image frame is the circumscribed rectangle of the first iris frame.

[0138] The acquisition module 701 is used to acquire the width and height dimensions of the iris image frame.

[0139] The processing module 704 is used to calculate the diameter of the first iris frame based on its width and height dimensions.

[0140] In one possible implementation, the acquisition module 701 is used to acquire the vertex coordinates of any vertex of the iris image frame.

[0141] The processing module 704 is used to calculate the coordinates of the first center point of the width and height dimensions based on the vertex coordinates.

[0142] In one possible implementation, the processing module 704 is used to calculate the interpupillary distance based on the diameter. Based on the coordinates of the first center point and the interpupillary distance, the coordinates of a second center point are calculated. The second center point is located in the second image and is at the same horizontal level as the first center point; the second center point is the center point of the second iris frame.

[0143] Using the second center point as the center and the preset width and height as the side length, generate the area where the second iris is located.

[0144] In one possible implementation, the acquisition module 701 is used to acquire multiple iris samples and non-iris samples.

[0145] The processing module 704 is used to train the initial fast detection model using iris samples and non-iris samples to obtain the trained fast detection model.

[0146] In one possible implementation, the processing module 704 is used to obtain a first size of the first iris frame and a second size of the second iris frame; determine whether the first size is within a first preset range and whether the second size is within a second preset range; if it is determined that the first size is within the first preset range and the second size is within the second preset range, then the image to be detected is cropped according to the first iris frame and the second iris frame to obtain a first cropped image and a second cropped image.

[0147] The image segmentation module 702 is used to scale and stitch the first cropped image and the second cropped image to obtain the processed image.

[0148] The acquisition module 701 is used to acquire the iris frame integrity score of the processed image.

[0149] The processing module 704 is used to determine whether the iris frame integrity score is greater than a preset second threshold. If it is determined that the iris frame integrity score is greater than the second threshold, then the first iris frame and the second iris frame are determined as the final predicted frames.

[0150] This embodiment also discloses an electronic device, as shown in the reference. Figure 8 The electronic device may include: at least one processor 801, at least one communication bus 802, user interface 803, network interface 804, and at least one memory 805.

[0151] The communication bus 802 is used to enable communication between these components.

[0152] The user interface 803 may include a display screen and a camera. Optionally, the user interface 803 may also include a standard wired interface and a wireless interface.

[0153] The network interface 804 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface).

[0154] The processor 801 may include one or more processing cores. The processor 801 connects to various parts of the server using various interfaces and lines, and performs various server functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in the memory 805, and by calling data stored in the memory 805. Optionally, the processor 801 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 801 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also not be integrated into the processor 801 and may be implemented as a separate chip.

[0155] The memory 805 may include random access memory (RAM) or read-only memory. Optionally, the memory 805 may include a non-transitory computer-readable storage medium. The memory 805 may be used to store instructions, programs, code, code sets, or instruction sets. The memory 805 may include a program storage area and a data storage area. The program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory 805 may also be at least one storage device located remotely from the aforementioned processor 801. As shown in the figure, the memory 805, as a computer storage medium, may include an operating system, a network communication module, a user interface 803 module, and an application program for a fast dual iris detection method.

[0156] exist Figure 8In the electronic device shown, the user interface 803 is mainly used to provide an input interface for the user and to obtain the user input data; while the processor 801 can be used to call an application program of a fast dual iris detection method stored in the memory 805. When executed by one or more processors 801, the electronic device performs one or more methods as described in the above embodiments.

[0157] This application also provides a computer-readable storage medium storing instructions that, when executed by one or more processors 801, cause an electronic device to perform one or more methods as described in the above embodiments.

[0158] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0159] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0160] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be through some service interfaces; indirect couplings or communication connections between apparatuses or units may be electrical or other forms.

[0161] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0162] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0163] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, portable hard drives, magnetic disks, or optical disks.

[0164] The above are merely exemplary embodiments of this disclosure and should not be construed as limiting the scope of this disclosure. Any equivalent changes and modifications made in accordance with the teachings of this disclosure shall still fall within the scope of this disclosure. Those skilled in the art will readily conceive of other embodiments of this disclosure upon considering the specification and the disclosure of practical truth. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not described in this disclosure. The specification and embodiments are considered exemplary only, and the scope and spirit of this disclosure are defined by the claims.

Claims

1. A rapid dual iris detection method, characterized in that, The method is applied to a server and includes: Acquire the image to be detected; The image to be detected is input into the trained fast detection model, and the image to be detected is processed according to a preset method. The image is segmented into a first image and a second image, the first image containing a first iris and the second image containing a second iris; the first image is scanned to detect a first iris frame containing the first iris. Obtain the diameter of the first iris frame and the coordinates of the first center point, and based on the diameter and the coordinates of the first center point... The coordinates of the first center point are used to determine the area where the second iris is located, and the first center point is the center point of the first iris frame; the area where the second iris is located is scanned to detect the second iris frame containing the second iris.

2. The rapid dual iris detection method according to claim 1, characterized in that, The step of scanning the first image to detect a first iris frame containing the first iris specifically includes: The first image is divided into multiple image blocks; Each of the aforementioned image blocks is sampled using multiple square sliding frames of different sizes to generate multiple sampled samples; Feature extraction is performed on each of the sampled samples to obtain the iris frame and confidence level corresponding to each sampled sample. Degree fraction; The iris frame corresponding to the confidence score that meets the preset conditions is selected as the first iris frame. The confidence score that meets the preset conditions is the confidence score that is greater than the preset first threshold among the various confidence scores, or the confidence score that meets the preset conditions is the highest confidence score among the multiple confidence scores.

3. The rapid dual iris detection method according to claim 2, characterized in that, Each of the aforementioned image blocks is sampled using multiple square sliding frames of different sizes to generate multiple sampled samples, specifically including: Select a first image block, wherein the first image block is any one of the plurality of image blocks; The first square slider is controlled to start from any vertex of the first image block and alternately apply the first sliding method. The sampling sample is obtained by sliding in the first and second sliding methods, where the first square sliding frame is any one of the multiple square sliding frames of different sizes. The first sliding method is to slide from a first starting point to a first direction, and the first square sliding frame slides to the first... After the edge of the image block returns to the first starting point, the first square slider moves a first preset distance in the second direction. The first direction is parallel to any side of the first image block, and the second direction is perpendicular to the first direction. The position of any vertex is the first starting point, and the position after moving a first preset distance from the first starting point to the second direction is the second starting point. The second sliding method is to slide from the second starting point to the second direction, and the first square sliding frame slides to... After the edge of the first image block returns to the second starting point, the first square slider moves a second preset distance in the first direction.

4. The rapid dual iris detection method according to claim 1, characterized in that, Obtaining the diameter of the first iris frame specifically includes: An iris image frame is generated based on the first iris frame, wherein the iris image frame is the circumscribed rectangle of the first iris frame. box; Obtain the width and height dimensions of the iris image frame; The diameter of the first iris frame is calculated based on the width and height dimensions.

5. The rapid dual iris detection method according to claim 4, characterized in that, Obtaining the coordinates of the first center point of the first iris frame specifically includes: Obtain the vertex coordinates of any vertex of the iris image frame; Based on the vertex coordinates and the width and height dimensions, calculate the coordinates of the first center point.

6. The rapid dual iris detection method according to claim 1, characterized in that, Determining the region where the second iris is located based on the diameter and the coordinates of the first center point specifically includes: Calculate the pupillary distance based on the diameter; Based on the coordinates of the first center point and the interpupillary distance, the coordinates of the second center point are calculated. The second center point is located in the second image and is at the same horizontal level as the first center point. The second center point is the center point of the second iris frame. Using the second center point as the center and the preset width and height dimensions as the side length, the area where the second iris is located is generated.

7. The rapid dual iris detection method according to claim 1, characterized in that, Before acquiring the image to be detected, the method further includes: Acquire multiple iris samples and non-iris samples; The initial fast detection model is trained using multiple iris samples and multiple non-iris samples to obtain the trained fast detection model.

8. The rapid dual iris detection method according to claim 1, characterized in that, After scanning the area where the second iris is located and detecting the second iris frame containing the second iris, the method further includes: Obtain the first size of the first iris frame and the second size of the second iris frame; Determine whether the first size is within a first preset range and whether the second size is within a second preset range; If it is determined that the first size is within the first preset range and the second size is within the second preset range, then the image to be detected is cropped according to the first iris frame and the second iris frame to obtain a first cropped image and a second cropped image; The first cropped image and the second cropped image are scaled and stitched together to obtain the processed image; Obtain the iris frame integrity score of the processed image; Determine whether the iris frame integrity score is greater than a preset second threshold. If the iris frame integrity score is greater than the second threshold, then determine the first iris frame and the second iris frame as the final predicted frames.

9. A rapid dual iris detection device, characterized in that, The device is installed on a server and includes an acquisition module (701), an image segmentation module (702), an image recognition module (703), and a processing module (704), wherein: The acquisition module (701) is used to acquire the image to be detected; The image segmentation module (702) is used to segment the image to be detected into a first image and a second image according to a preset method. The first image contains a first iris and the second image contains a second iris. The image recognition module (703) is used to scan the first image and detect the first iris frame containing the first iris; The processing module (704) is used to obtain the diameter of the first iris frame and the coordinates of the first center point, and based on the diameter and the coordinates of the first center point, to determine the area where the second iris is located, wherein the first center point is the center point of the first iris frame; The image recognition module (703) is also used to scan the area where the second iris is located and detect the second iris frame containing the second iris.

10. An electronic device, characterized in that, Includes a processor (801), memory (805), user interface (803), and The network interface (804), the memory (805) for storing instructions, the user interface (803) and the network interface (804) for communicating with other devices, and the processor (801) for executing the instructions stored in the memory (805) to cause the electronic device to perform the method as described in any one of claims 1-8.

Citation Information

Patent Citations

  • Eye region detection device and program

    JP2010102504A

  • Iris recognition system, a method thereof, and an encryption system using the same

    US20080219515A1