Eye tracking device and method
By triangulating the geometric representation of the limbus structure from multiple images, the method achieves accurate eye tracking without user calibration, addressing the limitations of traditional eye tracking technologies in measuring eye movement and tracking visual features.
Patent Information
- Application Number
- JP2021543374
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-01-29
- Filing Date
- 2020-01-27
- Publication Date
- 2025-04-09
- Estimated Expiration
- 2040-01-27
AI Technical Summary
Existing eye tracking technologies struggle to accurately measure the six degrees of freedom of eye movement and track visual features of the eyes, particularly due to distortion caused by the corneal lens and limitations in feature detection and calibration requirements.
The method involves receiving image data of the user's eye, identifying areas associated with the limbus, and determining the three-dimensional position and gaze direction by triangulating the geometric representation of the limbus structure from multiple images, eliminating the need for user calibration.
This approach provides accurate eye tracking with an accuracy range of about 1/6 to 1/60 degrees without requiring user calibration, effectively overcoming the limitations of traditional methods in measuring lateral eye movement and tracking visual features.
Smart Images

Figure 0007659148000001 
Figure 0007659148000002 
Figure 0007659148000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an eye tracking device and method for measuring eye position and / or gaze direction. [Background technology]
[0002] The following documents are considered to be relevant as background to the subject matter of the present disclosure. 1. U.S. Patent Application No. 2013 / 120712 2. International Publication No. 9418883 3. U.S. Patent Application No. 2014 / 180162 4. U.S. Patent Application No. 2001 / 035938 5.Constable PA, Bach M, Frishman LJ, Jeffrey BG, Robson AG, International Society for Clinical Electrophysiology of Vision.ISCEV Standard for clinical electro-oculography(2017 update).Doc Ophthalmol.2017;134(1):1-9 6.McCamy,Michael & Collins,Niamh & Otero-Millan,Jorge & Al-Kalbani,Mohammed & Macknik,Stephen & Coakley,Davis & Troncoso,Xoana & Boyle,Gerard & Narayanan,Vinodh & R Wolf,Thomas & Martinez-Conde,Susana.(2013).Simultaneous recordings of ocular microtremor and microsaccades with a piezoelectric sensor and a video-oculography system.Peer J.1.e14.10.7717 / peerj.14
[0003] The mention of the above documents in this specification should not be inferred as implying that they are in any way relevant to the patentability of the subject matter of the present disclosure.
[0004] Traditionally, various eye tracking devices, such as remote eye trackers and head-mounted eye trackers, and various eye tracking methods are known. The first eye trackers were created at the end of the 19th century. However, they were difficult to create and uncomfortable for the subjects. Specially designed rings, contact lenses, and suction cups were placed on the eyes to help measure eye movements. The first photo-based eye trackers, which examined the light reflected from various parts of the eye, were introduced at the beginning of the 20th century. They were much less invasive and a new era of eye research began. For most of the 20th century, researchers created their own eye trackers, but they were expensive and difficult to obtain. It was not until the 70s that commercial eye trackers appeared. Starting around the 50s, researchers developed a number of different techniques that are still used today, such as contact lenses with mirrors (suction cups, to be precise), contact lenses with coils, electro-oculography (EOG) [5], and piezoelectric sensors [6]. However, by their nature, these methods can only measure angular eye movements and not lateral eye movements (mirrors, coils, and EOG can only measure angles), and these systems are stationary and require the user's head to be stabilized, making them unsuitable for studying eye movements in more natural environments.
[0005] In the second half of the 20th century, much less invasive illumination and light sensor based approaches became mainstream. However, the main limitation of this approach is that the cameras are relatively slow due to the exposure and processing power required to extract eye movement data. Position sensitive photodetector (PSD) and quad based approaches were developed in the mid 20th century. Dual Purkinje imaging eye tracker systems were developed in the 70s and are still in use today. However, they are very expensive, stationary, heavy cameraless (PSD based) systems with a relatively low recording angle. Since the 80s, with the advancement of camera sensors and computer technology, the eye tracking market has been dominated by so-called video oculography (VOG) systems. VOG systems usually capture images of the user's eyes and identify certain features of the eye based on the captured images. They are non-invasive and usually based on illuminating the eye with infrared light so as not to cause any impairment or discomfort to the user. Some of these systems rely on small, lightweight, wearable cameras, but the more sophisticated systems are stationary, as are most of the systems mentioned above. The frame rate of these systems is limited by the fact that good lighting (but below safety levels) is required, and by the exposure requirements of the camera sensor.
[0006] The combined pupil / corneal reflection (1st Purkinje) eye tracker approach (both stationary high end and wearable low end) involves illuminating the eye with many infrared diodes, imaging the eye surface with one or more (usually to increase frame rate) cameras, and segmenting the pupil (as the darkest part of the eye) and the 1st Purkinje image of the diodes. Changes in the pupil position relative to the 1st Purkinje image of the IR diodes indicate eye movement. To calculate the actual angle, a user calibration must be used. Typically, the user needs to focus on several targets moving on a known path to calibrate the system.
[0007] The accuracy and precision of this method is relatively low because the pupil position is distorted by the cornea, pupil dilation further reduces the measurement accuracy, and ambient reflections from the cornea confuse the image processing algorithm. Additional factors include different eye colors, long eyelashes, and contact lenses, which further complicate the image processing system. As a result, these systems are usually noisy, have an angular movement accuracy of less than one degree, and do not provide information about lateral eye movements. Furthermore, recalibration is required if the system is moved relative to the head. There are several other less common approaches, such as retina imaging, bright pupil imaging, and MRI devices to study eye movements. These approaches have limitations and are less common. Eye trackers and eye tracking methods generally require constant precision, accuracy, low latency, and compact size. Furthermore, as eye trackers are integrated into various devices such as computers, cars, and virtual reality glasses, there is a need to provide flexible and very compact eye tracking devices.
[0008] Eye tracking systems may specifically track the limbus (the boundary between the sclera and iris regions) or the boundary between the pupil and the iris to measure relative eye rotation. Tracking the limbus provides accurate results because it is not affected by the refractive power of the cornea. Furthermore, the limbus forms a straight plane. The limbus defines the connection area between the muscles of the iris, so there is a direct correlation between the three-dimensional parameters of the limbus and the three-dimensional parameters of the eye. Unfortunately, the limbus is not a sharp boundary, but a transition zone between the cornea and the sclera. Previous limbal trackers have not been successful because the limbus is a poor candidate for methods that rely on so-called feature point or edge detection. Therefore, its poorly defined edges and shapes, which appear to be deformed by rotation, make it difficult to extract the signal from the noise. As a result, methods that rely on edge detection or feature point detection of the limbus may not provide the required precision or accuracy. While a proper tracking response may be possible using known “pinpoint” limbal trackers with photodetectors precisely positioned and aligned along the edge of the iris / sclera border, providing and / or maintaining such alignment adds additional system components and complexity, especially considering the variability of eye geometry between different patients. Some techniques for tracking the limbus rely on a set of two quadrant detectors as position-sensitive photodetectors (PSDs). The simple fact that the iris surrounded by the limbus is darker than the sclera allows a system to be constructed that consists of one or more quads that inspect the border of the iris / sclera area, i.e., the limbus. As the eye moves, the image of the iris also moves on the PSD, and thus the causative eye movement can be inferred. Despite the fact that the laser can be stabilized on the cornea, it cannot directly indicate where the eye is looking, and calibration by the user is required to obtain this data. Also, many factors that can be controlled during eye surgery, such as eyelid movement, eyelashes, and slight lighting changes, affect the accuracy of this approach, making it unsuitable for eye studies. The PSD-based limbus tracker measures the centroid of the location of the light spot, due to the contrast between the white sclera and the dark iris.As the eye moves relative to the system, the light spot on the PSD moves accordingly. Such a system only controls that the image of the iris is in the same place on the PSD, but does not measure, let alone estimate, the actual eye position. Summary of the Invention
[0009] Eye tracking refers to the process of tracking eye movements and determining where a user is looking. The various techniques mentioned above can approximately estimate the magnitude of eye movements and indicate that a movement has occurred. However, they do not measure the six degrees of freedom of eye movement. Furthermore, those systems do not track the visual features of the eye. One of the problems with tracking the visual features of the eye is that the most distinctive part of the eye is the iris. Both the pupil and the iris are strongly distorted by the corneal lens. The shape of this lens varies from person to person, making it difficult to know exactly where those features are. Astigmatism (corneal asymmetry) further complicates this problem. The limbus (the boundary between the white sclera and the dark iris) is not distorted by the cornea, but it appears very uniform, slightly blurred, and does not have the distinctive features that classical image processing algorithms require. Therefore, there is a need in the art to provide an eye tracking technique based on limbus tracking. The inventors have found that by triangulating identified stability regions that directly correspond to real, i.e. directly visible anatomical features or virtual features (i.e. computed features), eye tracking of the limbus can be provided.
[0010] According to a broad aspect of the present invention, an eye tracking method is provided, comprising the steps of receiving image data representing at least two images of a user's eye, identifying in each image a region associated with the limbus, determining a geometric representation of the limbus structure, and determining a three-dimensional position and gaze direction of the user's eye (i.e., the full six degrees of freedom of the eye) by triangulating the geometric representations of the limbus structure of the at least two images. Because the limbus maintains a constant relationship and close circularity to the corneal lens, the three-dimensional position and gaze direction of the user's eye can be obtained by triangulating the geometric representations of the limbus structure (i.e., two-dimensional limbus parameters) of the at least two images. The shapes of the at least two images are identified and matched. The three-dimensional distance to the matching regions can be determined using triangulation. Epipolar geometric techniques commonly used in the field can be applied to match corresponding regions and, optionally, to determine the three-dimensional limbus parameters. Based on the three-dimensional limbus parameters, the three-dimensional position and gaze direction of the user's eye is determined.
[0011] In this context, it should be understood that stereo vision algorithms generally rely on matching corresponding points or edges between two images. There are two basic approaches to this. One is the intensity-based approach, where the information of the intensity value of each line is matched at each pixel and the intensity difference is minimized. The other is the feature-based approach, where a group of pixel values and their spatial distribution are used to extract information. The features commonly used are simple features, e.g. edge and corner detectors (Canny, Harris, LoG filters). In general, eye tracking systems that rely on the above-mentioned features have several drawbacks, such as different noises generated at each of the multiple photodetectors as a result of parasitic reflections on the cornea and distortion of iris and pupil features as a result of the curvature of the corneal lens. Therefore, eye tracking based on feature-based approaches does not provide results with sufficient accuracy. Also, methods based on matching corneal reflections and eye features require calibration by the user. Regarding limbus tracking, as mentioned above, the limbus does not have clearly defined features, so classical approaches cannot provide three-dimensional limbus parameters. It should be noted that the techniques of the present invention provide accurate eye tracking with precision and accuracy in the range of approximately 1 / 6 degree to 1 / 60 degree without requiring user calibration of the eye tracking device.
[0012] In some embodiments, the method includes capturing at least two images of the user's eye at different angles.
[0013] In some embodiments, identifying the geometric representation of the limbal structure includes digital image pre-processing, including computing an image intensity gradient map of the limbus based on the pupil direction, identifying in each image at least one region of the limbal structure where the local direction of the gradient is substantially uniform, processing the data indicative of the limbal structure by weighting pixels in such region, and generating a geometric representation of the limbal structure based on matching pixels associated with the corneal limbus.
[0014] In some embodiments, the method includes determining three-dimensional limbal parameters including three coordinates of a center of the limbus and at least one of a direction of a normal to the limbus plane, a position of the limbus plane, and a size of the limbus. Determining the three-dimensional position and gaze direction of the user's eyes can be performed based on the three-dimensional limbal parameters.
[0015] In some embodiments, the method further comprises determining the radius of the annulus and / or the torsional rotation of the annulus.
[0016] In some embodiments, the method further includes identifying image data indicative of an initial limbus region in each image using an iterative pixel filtration process, and generating data indicative of the initial limbus region.
[0017] In some embodiments, in each image, identifying image data indicative of an initial limbal region includes at least one of identifying image data indicative of eye features such as a pupil, eyelid, sclera, iris, and eyelashes, and identifying the initial limbal region based on anatomical parameters. Identifying the image data indicative of eye features can be performed using machine learning.
[0018] In some embodiments, identifying image data indicative of eye features comprises segmenting each image to identify pixels associated with a pupil region.
[0019] In some embodiments, the method further includes performing triangulation between at least two geometric representations of the pupil to determine three-dimensional pupil parameters, estimating a location of an initial limbus region based on the three-dimensional pupil parameters, and generating data indicative of the initial limbus region location in each image, the three-dimensional pupil parameters including at least one of a direction of a normal to a pupil plane, a coordinate of a center of the pupil, and a diameter of the pupil in each image.
[0020] In some embodiments, the method further includes processing the triangulated three-dimensional limbus, reprojecting the triangulated limbus region onto the image plane, and refining the limbus region in each image.
[0021] According to another broad aspect of the present invention, an eye tracking device is provided, comprising a processing unit configured and operable to receive at least two images showing a user's eye, identify in each image an area associated with a limbus, determine a geometric representation of the limbus structure, and determine a three-dimensional position and gaze direction of the user's eye by triangulation of the geometric representation of the limbus structure of the at least two images. The processing unit is configured and operable to determine a three-dimensional position and gaze direction of the user's eye based on the three-dimensional limbus parameters. The eye tracking device of the present invention may be a head-mounted eye tracking device such as eye tracking glasses or an eye tracker integrated into a helmet, or may be integrated into a head-mounted display device, virtual reality glasses, augmented reality glasses or other head-mounted device. The eye tracking device may also be a remote eye tracker, optionally integrated or coupled with other devices such as a computer, a display, a monitor, etc.
[0022] In some embodiments, the eye tracking device further comprises at least two imagers, each imager configured to capture at least one image of the user's eye at a different angle.
[0023] The imager may be a capture unit and may include one or more cameras (i.e., digital or video cameras), optical sensors, such as image sensors such as CCD or CMOS sensors. One imager may be used, moving at high speed on a known trajectory at a known speed. Alternatively, optical imaging with some kind of mirror may be used. In some embodiments, the present invention uses a stereo imager, using two or more imagers with a precisely known relative offset. The two or more imagers may take images simultaneously or with a known time delay (e.g., in an interlaced mode).
[0024] In general, the processing unit may be a processor, controller, microcontroller or any type of integrated circuit. The eye tracking device may be associated with an optical system including any optical element such as one or more lenses, prisms, beam splitters, mirrors, reflectors, light guides, collimators, etc. The eye tracking device is also associated with an illumination source configured to generate illumination that is as distributed as possible, preferably one that does not create or minimizes patterns on the surface of the eye. The eye tracking device comprises a processing unit in data communication with each of the at least two imagers to receive at least two images.
[0025] The novel technique of the present invention uses two or more captured images of the eye, detects three-dimensional limbal parameters in each captured image by an iterative pixel filtering process, and determines eye orientation by triangulation of two-dimensional limbal parameters obtained from the images. The novel technique determines eye orientation based on identification of the limbus of the user's eye in the image data. Two or more imagers can be used to capture two or more images of each of the user's eyes. Each imager is configured to capture the user's eye from a different angle. Each image images the user's iris and adjacent and surrounding areas such as the pupil, sclera, eyelids, etc. For triangulation of the limbal area, multiple images of the eye are captured from two or more different angles, preferably close in time (e.g., simultaneously).
[0026] In some embodiments, the processing unit comprises an area detector, which is configured to receive each of at least two images showing the user's eye and to use an iterative pixel filtering process to identify in each image an initial limbal region, preferably an initial undistorted (i.e. not distorted by the ocular optics itself such as the cornea) area / section (i.e. a real or virtual calculated section) or an area with known distortion corresponding to the same physical area of the eye, and generate data indicative of the initial limbal region. The inventors have found that such identified stable regions can be used for triangulation calculations. In the present invention, such stable regions corresponding to the same physical area of the eye can be generated and identified on the stereo images. The area detector is configured to identify image data indicative of the initial limbal region by at least one of identifying image data indicative of eye features such as the pupil, eyelid, sclera, iris, eyelashes, and identifying the initial limbal region based on anatomical parameters. These regions are identified by projecting a geometric representation of an eye feature (e.g. pupil) onto each image, and then the regions are matched between images taken at different angles. The larger the size of such regions on the image, the more accurately the location of the corresponding physical region can be triangulated, and thus the eye itself can be located. The region detector generates a function that defines a two-dimensional virtual object on the eyeball, using an iterative pixel filtering process that allows the triangulation to be performed. This triangulation defines the orientation of the limbus, which corresponds to the gaze direction. The limbus parameters are defined as a mathematical expression whose variables are (x, y, z, α, β, δ) that represent the six degrees of freedom of a rigid body in three-dimensional space. Specifically, x, y, and z define the change in position due to forward / backward (surge), up / down (heave), and left / right (sway) movements in three perpendicular axes, combined with the change in orientation due to rotation about the three perpendicular axes, yaw (vertical axis), pitch (horizontal axis), and roll (vertical axis).
[0027] In this regard, it should be appreciated that because the limbus has large dimensions and is not substantially distorted by the cornea, identifying three-dimensional limbal parameters allows for finding such distortion-free regions or regions with known distortions that correspond to the same physical region of the eye. However, as previously mentioned, the limbus itself has slightly blurred and poorly defined boundaries, looks different from image to image, and has no identifiable features that can serve as anchor points for such matching. Therefore, matching the limbal region itself on two or more different images is difficult. The inventors have found that instead of matching features of the limbal region itself, digital image pre-processing can be performed to calculate several virtual regions based on the three-dimensional parameters of the limbus in each image that correspond well to the same physical region of the eye. Digital image pre-processing includes the use of complex algorithms such as classification, feature extraction, multi-scale signal analysis, pattern recognition or projective mathematical transformation. The virtual regions should correspond to the same physical region of the eye, independent of the angle at which the images were taken. To this end, the region detector is configured and operable to identify image data indicative of the limbal region in each image and generate data indicative of the limbal region. This can be done by estimating the limbus area using the anatomical relationship between the limbus and identified virtual regions corresponding to specific eye features. For example, the pupil location and center can be calculated by triangulation of the pupil area (region with a defined circular contrast) between the two images, and then the limbus area can be defined as a circular area with a certain radius range (e.g., about 5.5 mm to 6.5 mm) centered on the center of the pupil. This radius range can be based on statistical data that defines a Gaussian distribution of the distance between the limbus and the center of the pupil.
[0028] In some embodiments, a pattern recognition tool is used to identify pupil pixels and eyelid pixels in each image. Pupil image pixels can be identified by a particular contrast in the image. Identified image regions corresponding to the pupil are discarded, and eyelid image regions can be used to determine calibration data (distance / angle of each imager, pupil / limbic center, general orientation, etc.). More specifically, data images associated with possible intersections between the eyelid and the estimated limbal region are discarded, thus further reducing the number of potential limbal pixels. Two-dimensional limbal parameters are then identified based on the calibration data and a three-dimensional model of the eye. An iterative filtering process is then used to discard pixels located at the limbal boundary in each of the two or more captured images. The geometric representation of the limbal structure includes a ring-like or elliptical structure. Assuming the limbus is circular, a complete limbal ring / ellipse structure function (reconstructed by discarding eyelid regions obscuring the limbal region) is defined for each image using the two-dimensional parameters of the limbus obtained from each image, and eye orientation is identified by triangulation of the defined limbal ring / ellipse structure obtained from each image. Filtering the image data corresponding to specific eye features allows certain pixels to be discarded and resolution to be increased. If eye orientation cannot be identified, the process is repeated again, increasing the limbal region to potentially retain pixels related to the limbus.
[0029] In some embodiments, the method includes first isolating the limbal region and performing a mathematical transformation, such as finding a geometric representation of the limbal structure in each of the images (e.g., by projecting a set of elliptical functions through the center of the limbal ring), and triangulating a corresponding circle with six degrees of freedom (6DOF) tightly aligned to the physical eye.
[0030] In some embodiments, the processing unit comprises a limbus detector configured and operable to receive data indicative of the limbal region and identify a geometric representation of the limbal structure by digital image pre-processing such as performing a limbus recognition process on each image and / or performing a mathematical transformation including the use of an intensity gradient map. More specifically, the digital image pre-processing can include computing an image intensity gradient map of the limbal region, identifying at least one region of the limbal structure in which the local direction of the gradient is substantially uniform, processing the data indicative of the limbal structure by weighting pixels of such region, and identifying the geometric representation of the limbal structure based on matching pixels associated with the corneal limbus.
[0031] More specifically, after estimating the limbal area, a ring-shaped area is projected onto the surface of the eye with the estimated limbal area. Most pixels of the image are then discarded, including the pupil, most of the iris, most of the sclera, and most of the eyelids, leaving only a ring around a potential limbal location based on the estimated anatomical characteristics of a normal eye and, optionally, the calculated three-dimensional pupil location. However, corneal distortion of the pupil image can introduce additional estimation errors, which leads to an increase in the initial estimate of the limbal area.
[0032] In some embodiments, the region detector is configured to use machine learning to identify image data indicative of eye features. An iterative pixel filtering process is used to train one or more neural networks to identify limbal regions in each acquired image. The region detector may be configured and operable to identify image data indicative of eye features by segmenting each image to identify pixels associated with the pupil region. Thus, one or more neural networks may be used to directly segment the approximate limbal region. More specifically, the pupil may be tracked to estimate the limbal region. Additionally or alternatively, the neural network may be used to directly estimate the location of other eye features, such as the eyelids and sclera, without tracking the pupil. The neural network may be applied to the image itself, or to a mathematically transformed image, i.e., a gradient map. The neural network may be trained with conventional machine learning algorithms, for example, based on the results of other eye tracking techniques in which characteristic properties of the eye are predefined.
[0033] In some embodiments, the processing unit is configured and operable to determine the size of the annulus.
[0034] In some embodiments, pixels in the identified eyelid region are triangulated to improve the estimation of eye position.
[0035] In some embodiments, the eye tracking device further comprises a limbal triangulation device configured and operable to receive data indicative of a geometric representation of the limbal structure for each image and to perform triangulation of the geometric representations of at least two images to determine three-dimensional limbal parameters. The three-dimensional limbal parameters include at least one of three coordinates of a center of the limbus, a direction of a normal to the limbus plane, a position of the limbus plane, and a size of the limbus. The limbal triangulation device may be configured and operable to determine a radius of the limbus and / or a torsional rotation of the limbus.
[0036] In some embodiments, a limbal triangulation unit is configured to perform triangulation between at least two geometric representations of the pupil to identify three-dimensional pupil parameters, the three-dimensional pupil parameters including at least one of a direction of a normal to a pupil plane, a coordinate of a center of the pupil, and a diameter of the pupil, and the limbal triangulation unit estimates a position of an initial limbal region based on the three-dimensional pupil parameters and generates data indicative of the position of the initial region of the limbus in each image.
[0037] In some embodiments, a limbal triangulation device is configured to process the triangulated three-dimensional limbus, re-project the triangulated limbal region onto the image plane, and refine the limbal region in each image. [Brief description of the drawings]
[0038] In order to better understand the subject matter disclosed herein and to illustrate how it may be carried out in practice, embodiments will now be described, by way of non-limiting example only, with reference to the accompanying drawings, in which: [Figure 1] FIG. 1 is a schematic block diagram showing the main functional parts of an eye tracking device of the present invention. [Diagram 2] FIG. 2 is a schematic flow chart showing the main steps of the eye tracking method of the present invention. [Diagram 3] Figure 3 shows two stereo images of the eye captured at different angles. [Figure 4] 4A-4D are examples of pupil detection stages according to some embodiments of the present invention. [Diagram 5] FIG. 5 is an example of an eye feature detection stage illustrated on the image of FIG. 3 according to some embodiments of the present invention. [Figure 6] FIG. 6 is an example of a projection of the limbal circle illustrated on the image of FIG. 3 according to some embodiments of the present invention. [Figure 7]FIG. 7 is a schematic block diagram illustrating possible functional parts of an eye tracking device according to some embodiments of the present invention. [Figure 8] FIG. 8 shows a two-dimensional eye tracking trajectory obtained using the teachings of the present invention. [Figure 9] FIG. 9 shows the two angular degrees of freedom (i.e., angular measurements) of the eye-tracking direction trajectory in terms of azimuth and pitch as a function of time. [Figure 10] 10A and 10B show five degrees of freedom of eye tracking trajectories obtained using the teachings of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0039] With reference to Fig. 1, a block diagram showing the main functional parts of an eye tracking device of the present invention is illustrated. The eye tracking device 100 comprises a processing unit 106 configured and operable to receive at least two images showing a user's eye, identify in each image an area related to the corneal limbus, determine a geometric representation of the limbus structure, and measure the three-dimensional position and gaze direction of the user's eye by triangulation of the geometric representation of the limbus structure of the at least two images. In this regard, it is noted that, as mentioned above, the present invention triangulates the shape (geometric representation) but not the individual corresponding points or edges.
[0040] The processing unit 106 is typically configured as a computing / electronic utility that includes, among other things, utilities such as data input / output modules / utilities 106A and 106B, memory 106D (i.e., a non-volatile computer readable medium) and analyzer / data processing utility 106C. Thus, the utilities of the processing unit 106 may be performed by suitable circuitry and / or software and / or hardware components that include computer readable code configured to perform the operations of the method 200 illustrated in FIG. 2, described below.
[0041] Features of the present invention may include general purpose or special purpose computer systems including various computer hardware components described in more detail below. Features within the scope of the present invention also include computer readable media for executing or having computer executable instructions, computer readable instructions, or data structures stored thereon. Such computer readable media may be any available medium accessible by a general purpose or special purpose computer system. By way of non-limiting example, such computer readable media may include physical storage media such as RAM, ROM, EPROM, flash disks, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or other media that may be used to hold or store desired program code means in the form of computer executable instructions, computer readable instructions or data structures and that may be accessed by a general purpose or special purpose computer system. Computer readable media may include computer programs or computer applications downloadable to a computer system over a network such as a wide area network (WAN), e.g., the Internet.
[0042] In this specification and the following claims, a "processing unit" is defined as one or more software modules, one or more hardware modules, or a combination thereof, which work together to perform operations on electronic data. For example, the definition of a processing utility includes hardware components of a personal computer as well as software modules, such as the operating system of a personal computer. The physical layout of the modules is irrelevant. A computer system may include one or more computers coupled via a computer network. Similarly, a computer system may include a single physical device whose internal modules (such as memory and processor) work together to perform operations on electronic data. While any computer system may be mobile, the term "mobile computer system" or "mobile computing device" as used herein includes laptop computers, netbook computers, mobile phones, smartphones, wireless phones, personal digital assistants, portable computers with touch-sensitive screens, and the like, among others. The processing unit 106 includes or has a processor attached thereto that executes computer programs. The computer program product may be embodied in one or more computer readable media and have computer readable program code embodied therein. The computer readable media may be computer readable signal media or computer readable storage media. Computer program code for carrying out operations related to aspects of the present invention may be written in any combination of one or more programming languages, and may run entirely on the user's computer, partly on the user's computer as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on a remote computer or server.In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, to result in a machine such that the instructions executed by the processor of the computer or other programmable data processing apparatus create means for performing the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams. The specified functions of the processor may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or a combination of dedicated hardware and computer instructions.
[0043] The eye tracking device 100 may include at least two imagers 110, each configured to capture at least one image of a user's eye at a different angle. Each imager may be focused on the user's iris. In this regard, it is noted that the limbus tracking of the present invention is performed independently for each eye.
[0044] In some embodiments, the processing unit 106 comprises a limbus detector 102 configured and operable to receive data indicative of the limbus region and identify a geometric representation of the limbus structure (e.g., a ring-like or elliptical structure) by digital image pre-processing. In a specific non-limiting example, the limbus detector 102 is configured and operable to perform a limbus recognition process on each image and / or a mathematical transformation of the image including the use of an intensity gradient map and then perform a limbus region recognition process on the transformed image. In other words, the limbus detector 102 can convert the image into an intensity gradient map and then search for the limbus region on the transformed image. Also, an entropy map can be used instead of or in addition to the gradient map, or the processing can be performed directly on the image. If an intensity gradient map is used, the limbus detector 102 may process the data indicative of the limbal structure by computing an image intensity gradient map of the limbal region, identifying at least one region of the limbal structure where the local direction of the gradient is substantially uniform, and weighting the pixels of such region to identify a geometric representation of the limbal structure based on matching pixels associated with the corneal limbus. In addition to collinearity, knowledge of the limbal anatomy (i.e., that the collinearity vector radiates from the center of the limbus and is continuous throughout the limbus) may be used. More specifically, the region of the limbal structure is identified by identifying local uniformity, i.e., that the gradient direction of each point is collinear only with its neighbors.
[0045] Each module of the processing unit 106, such as the limbus detector 102, is not limited to a particular number of modules and may be configured to process multiple images independently, simultaneously, or otherwise. The limbus triangulator 108 is configured and operable to perform triangulation of the geometric representation of the limbus structure in at least two images to determine three-dimensional limbus parameters. The limbus triangulator 108 may also be configured and operable to determine the radius of the limbus and / or the torsional rotation of the limbus. The three-dimensional limbus parameters define at least five degrees of freedom of the position and orientation of the limbus. The three-dimensional limbus parameters include any one of the position of the plane of the limbus and / or the direction of the normal to the plane of the limbus and / or the size of the limbus and / or the center of the limbus or a combination thereof.
[0046] In some embodiments, the processing unit 106 comprises a region detector 104 configured and operable to receive each of at least two images showing each user's eye, identify image data indicative of an initial limbal region in each image by using an iterative pixel filtering process, and generate data indicative of the initial limbal region. This can be performed by identifying image data indicative of eye features such as the pupil, eyelid, sclera, iris, and eyelashes, and / or by identifying the initial limbal region based on anatomical parameters. More specifically, the identification of the initial limbal region can include pupil segmentation and pupil triangulation, and / or an estimation of the limbal region based on anatomical structures, and / or an estimation of the eyelid region, and / or an estimation of the limbal region without the eyelid region. This can be performed by the limbal triangulation 108 or any other processing module. However, the present invention is not limited by the particular module configuration of the processing unit 106. The processing unit 106 can include a pupil detector, a pupil triangulation, and other modules. For example, the identification of image data indicative of eye features may include pupil segmentation. To this end, the region detector 104 may be a pupil detector intended to provide an initial limbal ring. Both of these regions, pupil and limbus, are assumed to be concentric and coplanar. The pupil segmentation may be performed by segmenting each image to identify pixels associated with the pupil region, performing triangulation between at least two images to determine three-dimensional pupil parameters, estimating the location of the initial limbal region based on the three-dimensional pupil parameters, and generating data indicative of the initial region location of the limbus in each image. The three-dimensional pupil parameters include the direction of the normal to the pupil plane, and / or the coordinates of the center of the pupil, and / or the diameter of the pupil. The three-dimensional pupil parameters are used to estimate three-dimensional limbal parameters, thereby defining an initial limbal region that may be further refined.Also, identifying image data indicative of eye features can include identifying eyelids and filtering this image data since image data related to the eyelids occludes a portion of the limbal ring. The present invention is not limited to a particular method of identifying image data indicative of an initial limbus. A neural network based approach can be used to identify image data indicative of an initial limbus. For example, limbus region estimation can be performed using a neural network, but eyelid region can also be estimated with classical algorithms using a pupil detector. Alternatively, limbus region estimation and eyelid region estimation can be performed with a neural network based approach. Alternatively, a neural network can be used only for pupil segmentation.
[0047] In some embodiments, the region detector 104 is configured to use machine learning to identify image data indicative of eye features. Machine learning can self-classify / learn characteristics of input data related to eye features. The region detector 104 can predict three-dimensional limbal parameters using a data recognition model based on a neural network. The network can be trained based on segmentation results of classical approaches or using existing systems. Additionally or alternatively, the three-dimensional limbal parameters obtained by the eye tracking device of the present invention can be used to train the neural network. A deep learning network (DLN), such as an artificial neural network (ANN), executed by the region detector 104 can generate a representation of the limbus based on a series of images. For example, the representation generated by the DLN can include a probability regarding the placement of the limbus. This representation is used to generate a model of the limbus to adapt the recognition classifier to the person.
[0048] After the limbus detector 102 determines the three-dimensional limbus parameters, the region detector 104 may receive the three-dimensional limbus parameters and generate more accurate data indicative of the limbus region. For example, the limbus triangulator 108 is configured to process the triangulated three-dimensional limbus, re-project the triangulated limbus region onto the image plane, and refine the limbus region in each image.
[0049] 2, a flow chart diagram illustrating the main steps of the eye tracking method of the present invention is illustrated. The eye tracking method 200 includes receiving image data indicative of at least two images of a user's eye at 204, identifying an area in each image associated with the corneal limbus at 206, determining a geometric representation of the limbal structure at 208, and performing a triangulation of the geometric representation of the limbal structure of the at least two images at 210, thereby determining a three-dimensional position and gaze direction of the user's eye at 212.
[0050] In some embodiments, step 210 includes performing a triangulation of geometric representations of the limbal structure in at least two images to determine three-dimensional limbal parameters as described above. Determining the three-dimensional limbal parameters can include determining the radius of the limbus and / or the torsional rotation of the limbus.
[0051] In some embodiments, after triangulating the geometric representation of the limbal structure in at least two images at 210, the method 200 may include a step of identifying the geometric representation of the limbal structure by processing the three-dimensional limbal parameters to generate more accurate data indicative of the limbal region.
[0052] In some embodiments, the method 200 may include, at 202, capturing at least two images of each user's eye at different angles.
[0053] In some embodiments, identifying the geometric representation of the limbal structure at 208 may include digital image pre-processing such as performing a limbal recognition process on each image at 218 or performing a mathematical transformation of the image including using an intensity gradient map and then performing a limbal region recognition process on the transformed image. The digital image pre-processing step at 218 may include processing the data indicative of the limbal structure by computing an image intensity gradient map of the limbal region, identifying at least one region of the limbal structure where the local direction of the gradient is substantially uniform, weighting the pixels of such region, and identifying the geometric representation of the limbal structure based on the matching pixels associated with the corneal limbus. More specifically, the digital image pre-processing may include identifying the region of the limbal structure by identifying local uniformity, i.e., where the direction of the gradient at each point is collinear only with its neighboring points. As discussed above, an entropy map may be used as the intensity gradient map (instead of or in addition to the gradient map) or the processing may be performed directly on the image.
[0054] In some embodiments, identifying a region associated with the corneal limbus in each image at 206 may include identifying image data indicative of eye features such as the pupil, eyelid, sclera, iris, and eyelashes, and / or using an iterative pixel filtering process to identify an initial limbal region based on anatomical parameters and generate data indicative of the initial limbal region. For example, estimation of the eyelid region may be performed in parallel with the pupil region and limbal region. The present invention is not limited to the order of estimation of the various regions. The various eye feature regions may be identified based on any geometric shape model (e.g., ellipse or circle).
[0055] In some embodiments, identifying the initial limbal region may include pupil segmentation and triangulation of the pupil, and / or anatomical structure-based limbal region estimation, and / or eyelid region estimation, and / or limbal region estimation without the eyelid region. The method may include segmenting each image to identify pixels associated with the pupil region, performing triangulation between at least two images to determine a three-dimensional pupil parameter, estimating a location of the initial limbal region based on the three-dimensional pupil parameter, and generating data indicative of a location of the initial region of the limbus in each image. Also, identifying image data indicative of eye features may include identifying an eyelid and filtering the image data because image data associated with the eyelid occludes a portion of the limbal ring. As mentioned above, the present invention is not limited to a particular method of identifying image data indicative of the initial limbus. A neural network-based approach may be used to identify image data indicative of the initial limbus. Also, limbal region estimation and eyelid region estimation may be performed with a neural network-based approach. Also, the neural network may be used only for pupil segmentation.
[0056] In some embodiments, machine learning can be used to perform identification of image data indicative of eye features. Determining (i.e., predicting) three-dimensional limbal parameters can include using a data recognition model based on a neural network. The method can include training a network based on segmentation results of classical approaches or using existing systems for training. Generating a representation of the limbus based on a series of images can be accomplished using a deep learning network (DLN), such as an artificial neural network (ANN). For example, generating a representation of the limbus can include calculating probabilities regarding the location of the limbus and / or generating a model of the limbus, adapting a recognition classifier to a person.
[0057] Referring to FIG. 3, two stereo images of a user's eyes taken at different angles are shown.
[0058] With reference to Figures 4A-4D, an example of data processing of the two stereo images of Figure 3 for pupil region detection according to some embodiments of the present invention is shown. Figure 4A shows a segmentation stage where each image is segmented to identify pixels related to the pupil region. As shown in Figure 4B, pixels not related to the pupil region are discarded and resolution is increased. Figure 4C shows the segmentation of the pupil boundary based on the intensity map of each image. Figure 4D shows the refinement of the pupil boundary based on the projection of a geometric representation of the pupil (e.g., a ring-like shape) in each image. The region of Figure 4D is then triangulated between the images to determine the pupil diameter, 3D position and orientation.
[0059] Referring to Figure 5, an example of eye feature data identification for the two stereo images of Figure 3 is shown, according to some embodiments of the present invention. The marked regions represent areas where the local orientation of the image intensity gradient is substantially uniform.
[0060] Referring to FIG. 6, an example of limbus recognition processing based on the projection of an elliptical function onto each of the two stereo images of FIG. 3 is shown according to some embodiments of the present invention.
[0061] Referring to FIG. 7, a block diagram illustrating possible functional parts of an eye tracking device of the present invention is illustrated. In this specific non-limiting example, the eye tracking device 300 comprises two imagers, referred to herein as Cam1 and Cam2, configured to capture at least one image of each user's eye at different angles. Each imager is focused on the user's iris. The eye tracking device 300 comprises a processing unit 310 including a pupil detector 302 and a limbus detector 304. The pupil detector 302 is an example of the area detector defined with respect to FIG. 1 above. The pupil detector 302 includes a number of modules and is configured and operable to receive each of the at least two images showing each user's eye, identify image data indicative of a limbus area in each image, and generate data indicative of the limbus area. This may be performed using eye feature detection, such as pupil area detection, or may be performed using a neural network. Each image is segmented by a segmentation module to identify pixels related to the pupil area. Pixels not related to the pupil area are discarded in each image and the resolution is enhanced. Then, each ellipse module Ell calculates an ellipse curve corresponding to the pupil region on each image and finds the matching ellipse curve. For each image, a three-dimensional equation is generated that describes the three-dimensional pupil region. Then, a first triangulation is performed to match the three-dimensional equations of the two stereo images, given the distance between the two imagers capturing the two stereo images, to find the pupil direction. Following this, an algorithm results in a three-dimensional limbus parameter estimate, using the average size of the limbus and assuming that the pupil and the limbus are concentric and coplanar. This three-dimensional limbus region is projected onto each image, referred to herein as a mask equation, as shown in FIG. 3. For example, the limbus region may be enclosed by two ellipse curves. The mask equation is used by the collinearity map module to give an initial estimate of the projection of the limbus onto each image. The mask equation is also used by the weighting module.
[0062] To determine the three-dimensional limbal parameters, the collinearity module, referred to herein as a collinearity map, performs a mathematical transformation. In a specific, non-limiting example, such mathematical transformation may include calculating an image intensity gradient map of the limbus based on the pupil direction, identifying at least one region of the limbal structure where the gradient direction is substantially uniform, processing the data indicative of the limbal structure by weighting the pixels of such region, and determining the three-dimensional limbal parameters based on the corresponding pixels associated with the corneal limbus. Alternatively, such mathematical transformation may include using the entropy of the image. In a specific, non-limiting example, the collinearity map module generates a gradient collinearity map from the original image masked by the estimated limbal area (calculated from the pupil 3D parameters and the average limbal size). The limbus detector 304 receives the three-dimensional equation indicating the three-dimensional limbal area and the limbal direction. The ring-shaped area is then projected onto the image of each eye to generate an estimated limbal area. Most pixels in the image, including the pupil, most of the iris, most of the sclera, and most of the eyelids, are discarded using a mask equation, leaving only a ring around the potential limbus location based on the estimated anatomical properties of a normal eye.
[0063] The weighting module assigns to each pixel a weighting of the probability that the pixel belongs to the limbus based on the collinearity map module. The weighting module is then used to narrow down potential limbus regions and provides input to the Ell module, which finds an estimate of the matching ellipse for the limbus.
[0064] To perform the second triangulation, several techniques such as cone triangulation or quadratic estimation (linear or non-linear) can be performed. The processing unit 310 is configured and operable to identify the three-dimensional position and gaze direction of the user's eyes by triangulating the geometric representation of the limbus structure of at least two images using linear or non-linear quadratic estimation. In this specific non-limiting example, the cone triangulation can be performed as follows: each ellipse module Ell generates a mathematical function / equation of the geometric representation of the limbus that defines the anatomical relationship between the identified virtual regions (e.g., ellipses with centers corresponding to the centers of the pupils) that correspond to the specific eye features, and the limbus is calculated for each image. The ellipse structures of each image are compared, and the intersection of the cones defined by the ellipse structures defines an ellipse in space whose projection matches the ellipse structures of the two images. This defines three-dimensional limbus parameters, referred to herein as limbusR, Cx, Cy, Cz, azimuth, and pitch. In this context, it should be noted that in the present invention, the three-dimensional limbal parameters are obtained by ellipse triangulation, not pixel triangulation. As mentioned above, pixel triangulation of the limbus is practically impossible since the correspondence between pixels of different images is unknown (as most of the pixels along the epipolar line of the second image are very similar). In classical computer vision, special features of nearby pixel regions, such as different colors, corners, line intersections or texture patches, can be used to characterize the matching between two pixels along the epipolar line of different images. Such features are lacking in the limbal region due to the rough boundary of the limbus, which is generally defined as a wide area, and thus classical natural feature tracking algorithms cannot be used. Then, using a mask, regions related to eye features are discarded. Subsequently, the same procedure as above is repeated using an iterative pixel filtering process to define the limbal region more precisely and reduce the size of the limbal region.
[0065] Alternatively or additionally, the iterative pixel filtering process can be performed using a linear quadratic estimation such as a Kalman filter, or a non-linear quadratic estimation such as an extended Kalman filter and an unscented Kalman filter. The Kalman filter generates an estimate of the limbus equation with five degrees of freedom (e.g., an elliptical structure) as an average of the predicted state of the eye and the new measurements, using a weighted average. The weights are calculated from the covariance, which is a measure of the estimated uncertainty of the prediction of the eye's state. As a result of the weighted average, the estimate of the new state lies between the predicted state and the measured state, and has a better estimated uncertainty than either state if taken alone. This process is repeated every time step, with the new estimate and its covariance informing the prediction used in the next iteration.
[0066] At the end of the processing, the processing unit 310 determines the three-dimensional position and gaze direction of the user's eyes based on the three-dimensional limbus parameters.
[0067] Referring to Figure 8, a two-dimensional eye tracking position trajectory obtained using the teachings of the present invention is illustrated, with different colors distinguishing different parts of the trajectory, i.e., the color changes over time. The axes Xc, Yc are measured in millimeters.
[0068] Referring to Figure 9, there is illustrated the two angular degrees of freedom (i.e., angular measurements measured in degrees) of the eye tracking direction trajectory of Figure 8 in terms of azimuth and pitch as a function of time (measured in milliseconds). Figures 8, 9 and 10 all show data from the same recording.
[0069] With reference to Figures 10A and 10B, five degrees of freedom of the eye tracking trajectory of Figure 8 are illustrated. More specifically, Figure 10A shows two angular degrees of freedom (i.e., angular measurements measured in degrees) of the eye tracking direction trajectory in terms of azimuth and pitch as a function of time. Figure 10A is an enlarged portion of the graph of Figure 9. Figure 10B shows the three-dimensional degrees of freedom of the eye tracking position trajectory in Cartesian space as a function of time (measured in milliseconds).
Claims
1. An eye tracking device comprising a processing unit, the processing unit is configured and operable to receive at least two images showing a user's eye, identify in each image an area associated with a limbus defined as a transition area between the user's cornea and sclera, determine a geometric representation of the limbus structure, and determine a three-dimensional position and orientation of the user's eye by triangulation of the geometric representations of the limbus structure of the at least two images; An eye tracking device, characterized in that the processing unit includes a limbus detector configured and operable to receive data indicative of an area associated with the corneal limbus and to identify a geometric representation of the limbus structure by pre-processing of the digital image.
2. 2. The eye tracking device of claim 1, 11. An eye tracking device, wherein the geometric representation of the limbus structure comprises a ring-like or elliptical structure.
3. 3. The eye tracking device according to claim 1, The eye tracking device further comprising at least two imagers, each imager configured to capture at least one image of a user's eye at a different angle.
4. 4. The eye tracking device according to claim 1, 1. An eye tracking device, characterized in that pre-processing of the digital images is configured to calculate several virtual regions corresponding to physical regions of the eye, independent of the angle at which the at least two images were taken.
5. 5. The eye tracking device according to claim 1, An eye tracking device characterized in that, for each image, the limbus detector is configured and operable for digital image pre-processing, the digital image pre-processing including: calculating an image intensity gradient map of the limbus region; identifying at least one region of the limbus structure in which the local direction of the gradient is substantially uniform; processing data indicative of the limbus structure by weighting pixels in such region; and determining a geometric representation of the limbus structure based on the weighted pixels.
6. 6. The eye tracking device according to claim 4, 11. An eye tracking device, comprising: a limbal triangulator configured and operable to receive data indicative of a geometric representation of a limbal structure for each image, and to perform triangulation of the geometric representations of at least two images to identify three-dimensional limbal parameters, and to generate data indicative of a triangulated three-dimensional limbus.
7. 7. The eye tracking device of claim 6, The eye tracking device, characterized in that the processing unit is configured and operable to determine a three-dimensional position and orientation of a user's eyes based on the three-dimensional limbus parameters.
8. 8. An eye tracking device according to claim 6, An eye tracking device, characterized in that the three-dimensional limbus parameters include at least one of the three coordinates of the center of the limbus, the direction of the normal to the limbus plane, the position of the limbus plane, and the size of the limbus.
9. 9. An eye tracking device according to claim 6, 11. An eye tracking device, wherein the limbal triangulation device is configured and operable to determine annular radius and / or annular torsional rotation.
10. An eye tracking device according to any one of claims 6 to 9, an eye tracking device, characterized in that the limbal triangulation device is configured to process the triangulated three-dimensional limbus, re-project the triangulated limbal region onto an image plane, and refine the limbal region in each image.
11. 11. An eye tracking device according to any one of claims 1 to 10, The eye tracking device further comprises a region detector configured and operable to receive each of at least two images showing a user's eyes, identify image data indicative of an initial limbus region for each image by using an iterative pixel filtering process, and generate data indicative of the initial limbus region.
12. 12. The eye tracking device of claim 11, 13. The eye tracking device, wherein the region detector is configured to identify image data indicative of an initial limbus region by at least one of identifying image data indicative of eye features including at least one of a pupil, an eyelid, a sclera, an iris, and an eyelashes, and identifying an initial limbus region based on anatomical parameters.
13. 13. The eye tracking device of claim 12, 13. An eye tracking device, wherein the region detector is configured to use machine learning to identify image data indicative of eye features.
14. 14. An eye tracking device according to claim 12 or 13, The eye tracking device, wherein the region detector is configured and operable to identify image data indicative of eye features by segmenting each image to identify pixels associated with a pupil region.
15. 15. The eye tracking device of claim 14, a limbal triangulation device configured and operable to receive data indicative of a geometric representation of a limbal structure for each image and to perform triangulation of the geometric representations of at least two images to identify three-dimensional limbal parameters and to generate data indicative of a triangulated three-dimensional limbus; An eye tracking device comprising: a limbal triangulation unit configured to perform triangulation between at least two geometric representations of the pupil to determine three-dimensional pupil parameters, the three-dimensional pupil parameters including at least one of a direction of a normal to a pupil plane, a coordinate of a center of the pupil, and a diameter of the pupil; and a limbal triangulation unit configured to estimate a position of an initial limbal region based on the three-dimensional pupil parameters and generate data indicative of the position of the initial region of the limbus in each image.
16. 16. The eye tracking device of claim 15, an eye tracking device, characterized in that the limbal triangulation device is configured to process the triangulated three-dimensional limbus, re-project the triangulated limbal region onto an image plane, and refine the limbal region in each image.
17. 1. A method for eye tracking, comprising: receiving image data indicative of at least two images of a user's eyes; identifying in each image an area associated with the limbus, defined as the transition area between the user's cornea and sclera; identifying a geometric representation of the limbal structure, the identifying geometric representation of the limbal structure comprising pre-processing of the digital image; and performing triangulation of geometric representations of limbal structures in at least two images to identify a three-dimensional position and orientation of the user's eyes.
18. 18. The method of claim 17, 11. A method comprising capturing at least two images of a user's eye from different angles.
19. 19. The method of claim 17 or 18, 13. A method according to claim 12, wherein pre-processing of the digital images is configured to calculate a number of virtual regions corresponding to physical regions of the eye, independent of the angle at which the at least two images were taken.
20. 20. The method of claim 19, The method, wherein pre-processing the digital images includes calculating an image intensity gradient map of the limbus based on pupil direction, identifying in each image at least one region of the limbus structure in which the local direction of the gradient is substantially uniform, processing data indicative of the limbus structure by weighting pixels in such region, and generating a geometric representation of the limbus structure based on corresponding pixels associated with the corneal limbus.
21. 21. The method of claim 20, A method comprising: determining three-dimensional limbal parameters including at least one of three coordinates of a center of the limbus and an orientation of the limbus; and determining a three-dimensional position and orientation of a user's eyes based on the three-dimensional limbal parameters.
22. 22. The method of claim 21 , 20. A method according to claim 1, wherein determining the three-dimensional position and orientation of a user's eyes comprises processing the three-dimensional limbus parameters.
23. 23. The method according to any one of claims 17 to 22, further comprising: The method further comprising determining an annulus radius and / or annulus torsional rotation.
24. 24. The method according to any one of claims 17 to 23, further comprising: The method, wherein the geometric representation of the limbal structure comprises a ring-like or elliptical structure.
25. 25. The method according to any one of claims 17 to 24, further comprising: The method further comprising the steps of: identifying image data indicative of an initial limbus region in each image using an iterative pixel filtering process; and generating data indicative of the initial limbus region.
26. 26. The method of claim 25, A method, characterized in that in each image, identifying image data indicative of an initial limbal region includes at least one of identifying image data indicative of eye features such as the pupil, eyelid, sclera, iris, and eyelashes, and identifying the initial limbal region based on anatomical parameters.
27. 27. The method of claim 26, A method, wherein identifying image data indicative of eye features is performed using machine learning.
28. 28. The method of claim 26 or 27, A method, wherein identifying image data indicative of eye features comprises segmenting each image to identify pixels associated with a pupil region.
29. 29. The method of claim 28, A method comprising the steps of: performing triangulation between at least two geometric representations of the pupil to determine three-dimensional pupil parameters, the three-dimensional pupil parameters including at least one of a direction of a normal to a pupil plane, a coordinate of a center of the pupil, and a diameter of the pupil in each image; estimating a position of an initial corneal limbus region based on the three-dimensional pupil parameters; and generating data indicating the position of an initial region of the limbus in each image.
30. 30. The method of any one of claims 17 to 29, further comprising: The method further comprises the steps of processing the triangulated three-dimensional limbus, reprojecting the triangulated limbus region onto the image plane, and refining the limbus region in each image.
Citation Information
Patent Citations
Apparatus, method and system for processing information, program and data structure
JP2011113550A
Ophthalmic analysis instrument and ophthalmic analysis method
JP2013048902A
Data processing system, data processing method and data processing program
JP2016062524A
Scanning Tile Image-Based Head Positions for Eye and Gaze Tracking
JP2016500859A
Gesture recognition device, gesture recognition method, projector equipped with gesture recognition device and video signal supply device
WO2018150569A1