A method of determining a point of regard using electrooculography under non-stationary head pose and position conditions
Patent Information
- Application Number
- EP2023722362
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-03
- Filing Date
- 2023-04-26
- Publication Date
- 2025-03-12
AI Technical Summary
Current methods for determining a point of regard using electrooculography are limited by the inability to accurately model dynamic characteristics of all types of eye movements, leading to inaccurate gaze angle estimation and point of regard determination, especially under non-stationary head pose and position conditions.
A method that measures eye movements using electrooculography, generates EOG signals, and builds a sequence of eye movement models from candidate models to estimate gaze angles and determine the point of regard, incorporating continuous model updating and recursive estimation, while also considering head pose and position, and addressing baseline drift through real-time estimation.
This approach enables accurate and continuous estimation of gaze angles and point of regard, improving interaction with computers and machines by accurately tracking complex eye movements and accounting for head movements, even under non-stationary conditions, with enhanced robustness against baseline drift.
Smart Images

Figure 1.1
Abstract
Description
[0001] A METHOD OF DETERMINING A POINT OF REGARD USING
[0002] ELECTROOCULOGRAPHY UNDER NON-STATIONARY HEAD POSE AND POSITION CO DITIONS
[0003] This invention relates to a method of determining a point of regard and an apparatus for determining a point of regard.
[0004] It is known to measure a movement of an eye using electrooculography, generate an electrooculography (EOG) signal corresponding to the measured eye movement and classify the eye movement direction as one of a discrete set of directions, such as up / down / left / right.
[0005] According to a first aspect of the invention, there is provided a method of determining a point of regard, the method comprising the steps of: measuring an actual eye movement of an eye using electrooculography, and generating at least one electrooculography signal corresponding to the measured actual eye movement; using the or each electrooculography signal to build a sequence of eye movement models that corresponds to actual possible eye movements, wherein each eye movement model in the sequence of eye movement models is selected from a plurality of candidate eye movement models, wherein the plurality of candidate eye movement models represents different types of eye movements; estimating a gaze angle based on the sequence of eye movement models; and determining the point of regard based at least partially on the estimated gaze angle.
[0006] The human eye is capable of many different types of movements for different purposes. For example, a fixation may occur when focusing on a particular point in space, a saccade may occur when shifting focus from one point to another, a vestibulo-ocular reflex may occur to compensate for a head movement and particular characteristics of eye movement are also associated with blinking.
[0007] Many models exist for accurately modelling the dynamic characteristics of different types of eye movements. However, no one model accurately models the dynamic characteristics of ail types of eye movement that are possible. In other words, a model that accurately models one type of eye movement may be less accurate for other types of eye movement. The human eye is also capable of much more complex actions than simply moving in one of a discrete set of directions. If an eye's movement can be tracked continuously, as well as accurately, the potential to interact with computers and machines through eye movement, either alone or in combination with other control mechanisms, may be significantly improved.
[0008] By means of the invention, a gaze angle of a user (i.e., the angle at which an eye is oriented relative to the user's face) may be estimated based on a sequence of eye movement models which may be representative of a plurality of different types of eye movements. In other words, the method involves transitioning between different models so that a user's gaze angle may be estimated according to the type of eye movement actually being performed rather than using a single model which may be accurate for one type of eye movement but inaccurate for other types of eye movement.
[0009] Based on the estimated gaze angle, the user's point of regard, i.e., the point in space that the user is looking at, may also be determined.
[0010] In addition to determining a point of regard at a particular moment, the actual eye movements may be measured continuously using electrooculography. Therefore, the sequence of eye movement models may also be continuously updated. The gaze angle, and subsequently the point of regard, may be estimated / determined recursively based on the most up to date sequence of eye movement models and, hence, the user's gaze angle and point of regard may be estimated / determined continuously.
[0011] In embodiments of the invention, the method may further comprise the step of measuring an actual head pose and / or an actual head position, wherein the step of determining the point of regard may be additionally based on the measured actual head pose and / or the measured actual head position.
[0012] In such embodiments of the invention, a user's actual head pose (i.e., the head's orientation relative to a three-dimensional space) and / or a user's actual head position (i.e., the head's translational position in three-dimensional space) may be measured and the point of regard may be determined by combining this information with the estimated gaze angle.
[0013] The user's actual head pose and position essentially represent the starting point of the user's line of sight. The determined gaze angle then represents the direction of that line of sight. If the contents of the user's field of view is known, then the starting point and direction of the user's line of sight may be sufficient to determine a point of regard. For example, the user may be looking at a fixed screen, the position of which may be known relative to the user's actual head pose and position.
[0014] If the contents of the user's field of view is not known, the orientation of both of the user's eyes may be estimated and the verging point of those gaze angles may also be determined in order to determine the user's point of regard in three-dimensional space.
[0015] In other embodiments of the invention, the user's actual head pose and / or position may be fixed such that it is not necessary to measure the actual head pose and / or position in order to calculate the point of regard. For example, the user may be resting his or her head on a chin rest or the user's head may be secured to a static head brace. In further embodiments of the invention, the user's actual head pose and / or position may be immaterial to the user's point of regard. For example, the user may be viewing a virtual or augmented reality in which the user's actual head pose and / or position has no effect on what is being viewed and, hence, the point of regard.
[0016] In embodiments of the invention, the step of using the or each electrooculography signal to build a sequence of eye movement models that corresponds to actual possible eye movements may comprise the steps of: populating a sequence tree with a plurality of candidate eye movement models based on the or each electrooculography signal; determining an activity probability for each sequence of candidate eye movement models forming part of the sequence tree, each activity probability being representative of the likelihood that the measured actual eye movement includes the type or types of eye movement represented by the respective sequence of candidate eye movement models; selecting a sequence of candidate eye movement models with the highest activity probability as the sequence of candidate eye movement models that corresponds to actual possible eye movements.
[0017] In use, when the method of determining a point of regard is first initiated, a first EOG signal corresponding to an actual eye movement measured for an initial interval of time may be generated. A sequence tree may be populated with a plurality of candidate eye movement models based on an initial electrooculography signal so that the sequence tree comprises a branch per candidate eye movement model. An activity probability for each candidate eye movement model may be determined wherein each activity probability represents the likelihood that the measured actual eye movement corresponding to the initial EOG signal is the same type of eye movement as that represented by the respective candidate eye movement model.
[0018] Over time, the or each EOG signal may be generated continuously and, at respective instants of time, the sequence tree may be populated with a plurality of candidate eye movement models based on the or each most recently generated EOG signal. In other words, at each time instant, a new branch per candidate eye movement model may be added to the end of each existing branch so that the tree grows with each time interval, wherein the newest branches are based on the or each most up to date EOG signal. A plurality of candidate eye movement models added to the sequence tree at a particular time instant may be referred to from here on as a sample.
[0019] Once the sequence tree is populated with more than one sample, an activity probability may be determined for each sequence of candidate eye movement models rather than just the candidate eye movement models forming part of the most recently sample. Each activity probability may therefore be representative of the likelihood that the measured actual eye movement includes the type or types of eye movement represented by the respective sequence of candidate eye movement models. So, if a particular sequence of candidate eye movement models is representative of the measured actual eye movement comprising a sequence of transitions between the various eye movement models, the respective activity probability may represent the likelihood of such transitions occurring according to the timings predicted by the respective sequence of candidate eye movement models.
[0020] Accordingly, particularly as the sequence tree grows, each activity probability that is determined may be dependent on known characteristics of eye movement event occurrence, such as the typical duration of saccades, for example. The determined activity probabilities may also be based on other factors. For example, determined activity probabilities may be at least partially dependent on the correlation of the relevant one or more EOG signals to historical EOG signals corresponding to the respective types of eye movement, or the classification of one or more specific characteristics of an EOG signal and the degree to which those characteristics are associated with the respective types of eye movement.
[0021] At each time instant, the sequence of candidate eye movement models with the highest activity probability may be selected as the sequence of eye movement models corresponding to the actual eye movement and it is this sequence on which the estimation of gaze angle, and hence the determination of point of regard, may be based.
[0022] A user's point of regard may need to be determined over a prolonged period of time. However, if the sequence tree is continually populated without limitation, then the processing power required to calculate the increasing number of activity probabilities associated with every possible sequence forming part of the sequence tree may become impractical.
[0023] To overcome this potential issue, the step of selecting a sequence of candidate eye movement models with the highest activity probability as the sequence of eye movement models that corresponds to actual possible eye movements may comprise pruning the sequence tree if the sequence tree meets a pruning condition or if one or more of a plurality of pruning conditions is met.
[0024] The step of pruning the sequence tree may comprise eliminating all sequences of candidate eye movement models except the sequence of candidate eye movement models with the highest activity probability. Therefore, immediately following a pruning occurrence, the sequence tree consists of a single sequence of candidate eye movement models and the activity probability of that single remaining sequence may be considered to equal 1.
[0025] Also, in some embodiments of the invention, the method may further comprise the step of determining a probability of head movement based on the measured actual head pose and the measured actual head position. Since certain eye movements are carried out when one moves their head, one or more pruning conditions may be dependent on the determined probability of head movement.
[0026] Examples of possible pruning conditions include:
[0027] 1) Is the number of samples in the sequence tree since the last pruning occurrence greater than a minimum pruning threshold?
[0028] 2) Is the sequence of candidate eye movement models with the highest activity probability representative of one or more transitions between different types of eye movement?
[0029] 3) Within the sequence of candidate eye movement models with the highest activity probability comprising a transition to a new candidate eye movement model, has the newly active candidate eye movement model been active for a number of samples greater than a minimum new model threshold? 4) If the sequence of candidate eye movement models with the highest activity probability comprises one or more candidate eye movement models representative of a blink, has an estimated eyelid aperture angle dropped below an eyelid aperture angle threshold?
[0030] 5) Has the sequence of candidate eye movement models with the highest activity probability failed to meet pruning condition 3 or pruning condition 4 for a number of samples exceeding an excessive growth curbing threshold?
[0031] 6) If the sequence of candidate eye movement models with the highest activity probability comprises a blink-to-fixation transition, was the saccade model active just before the blink model became active?
[0032] In embodiments of the invention, if the sequence tree meets an overwriting condition, the method may comprise the step of overwriting the sequence of eye movement models with the highest activity probability with a sequence of eye movement models having the highest activity probability while also having a predetermined characteristic.
[0033] One or more overwriting conditions may be determined to prevent sequences of candidate eye movements that meet no pruning conditions from being selected repeatedly to the extent that the sequence tree is caused to grow excessively large.
[0034] Also, in some embodiments of the invention, one or more overwriting conditions may be dependent on the determined probability of head movement.
[0035] Examples of possible overwriting conditions and associated overwriting actions include:
[0036] 1) Has the sequence of candidate eye movement models with the highest activity probability failed to meet pruning condition 3 for a number of consecutive samples exceeding an excessive growth curbing threshold? If so, overwrite the sequence of candidate eye movement models having the highest activity probability with the sequence of candidate eye movement models which does not feature a transition between different candidate eye movement models.
[0037] 2) If the sequence of candidate eye movement models with the highest activity probability failed to meet pruning condition 4, and the excessive growth curbing threshold in pruning condition 5 is reached : Is a determined probability of head movement greater than or equal to 0.5? If so, overwrite the sequence of candidate eye movement models having the highest activity probability with the sequence of candidate eye movement models having the highest activity probability amongst those sequences which comprise a candidate eye movement model representative of a vestibulo-ocular reflex for a number of samples greater than a minimum new model threshold.
[0038] 3) If the sequence of candidate eye movement models with the highest activity probability failed to meet pruning condition 4, and the excessive growth curbing threshold in pruning condition 5 is reached: Is a determined probability of head movement less than 0.5? If so, overwrite the sequence of candidate eye movement models having the highest activity probability with the sequence of candidate eye movement models having the highest activity probability amongst those sequences which also comprise: o no candidate eye movement models representative of a blink, o no candidate eye movement models representative of a VOR, and o a newly active candidate eye movement model that has been active for a number of samples greater than the minimum new model threshold.
[0039] 4) If the sequence of candidate eye movement models with the highest activity probability comprises a biink-to-fixation transition, and the saccade model was active just before the blink model became active: re-estimate the states during this saccade-blink interval assuming that only the blink model is active during this interval, that is, the transition to the saccade model does not occur but instead a transition to the blink model occurs directly.
[0040] In embodiments of the invention, the types of eye movements may comprise one or more of fixations, saccades, blinks and vestibulo-ocular reflexes.
[0041] In such embodiments of the invention, the plurality of candidate eye movement models may comprise one or more candidate eye movement models respectively representing one or more of fixations, saccades, blinks and vestibulo-ocular reflexes.
[0042] Embodiments of the invention may also be augmented with any number of different candidate eye movement models, including candidate eye movement models representative of types of eye movement other than those listed above, such as smooth pursuits.
[0043] The more candidate eye movement models that are used, the more types of eye movement which may be accurately modelled. Hence, a greater number of candidate eye movement models allows for more accurate estimation of a user's gaze angle and determination of point of regard across a wider spectrum of the user's potential eye movement. EOG signals corresponding to a measured actual eye movement may be considered as comprising three components - a noise component, a baseline component and an ocular movement component. For the purposes of this invention, the noise component may be ignored while the ocular movement component is the component on which eye movement modelling may be based.
[0044] EOG signals corresponding to a measured actual eye movement also suffer from a phenomenon referred to as baseline drift, which is a gradual drift of the baseline component over time. Baseline drift is largely unrelated to an eye's movements and can instead be caused factors such as electrode polarisation or changes in contact impedance due to the user moving and / or sweating.
[0045] Therefore, in order to assess the ocular movement component accurately, the baseline component must be estimated and separated from the ocular movement component. Accordingly, accurate eye movement modelling relies on accurate estimation of the baseline component.
[0046] Known methods for determining a point of regard based on EOG signals use methods to address the baseline drift issue which disrupt the overall morphology of the EOG signals.
[0047] Some known methods mitigate against baseline drift by requiring the EOG data to be zero-centred. For example, a user of such methods may have to return his or her gaze to, and spend the majority of the time gazing at, a pre-determined fixed position (typically aligned with the primary gaze position of the user) after attending to a particular action. This results in recorded EOG signals which are correspondent to gazing at such a pre-determined fixed position and with occasional brief excursions away from this position, that is, possessing zero-centred characteristics. However, such mitigation of baseline drift significantly impacts the efficiency, ease and practicality with which a system can be controlled by a user's point of regard.
[0048] In contrast, in embodiments of the invention, the method may further comprise the step of estimating a baseline component of the or each electrooculography signal based on the sequence of eye movement models.
[0049] In such embodiments of the invention, the baseline component may be estimated in real time and the EOG signal may be interpreted accordingly so that the ocular movement component, on which gaze angle estimation is based, is substantially free from disruption or distortion due to baseline drift.
[0050] Further, the steps of estimating a gaze angle based on the sequence of eye movement models and estimating a baseline component of the or each eiectrooculography signal based on the sequence of eye movement models may be carried out simultaneously and recursively.
[0051] In such embodiments of the invention, each estimation of the gaze angle may be based on a real-time estimation of the baseline component. Similarly, each estimation of the baseline component may be based on a real-time estimation of the gaze angle.
[0052] The simultaneous and recursive estimations of the gaze angle and baseline component may be carried out using any suitable estimation technique. For example, the steps of estimating a gaze angle based on the sequence of eye movement models and estimating a baseline component of the or each electrooculography signal based on the sequence of eye movement models may be carried out using a Dual Kalman Filter.
[0053] In embodiments of the invention the estimated gaze angle comprises one or more of a horizontal gaze angle, a vertical gaze angle and an eyelid aperture angle. The horizontal gaze angle may be considered as the degree to which an eye is looking left or right, relative to the user's head. The vertical gaze angle may be considered as the degree to which an eye is looking up or down, relative to the user's head. The eyelid aperture angle may be considered as the openness of eyelids covering the eye.
[0054] In such embodiments of the invention that also use a Dual Kalman Filter to estimate a baseline component of the or each electrooculography signal, a battery model may be used to map the horizontal gaze angle, the vertical gaze angle and / or the eyelid aperture angle to the electrooculography signal. In further embodiments of the invention, the battery model may be replaced by a suitable alternative.
[0055] In embodiments of the invention, the point of regard may be constrained to a two- dimensional plane. Accordingly, the method of determining a point of regard may be considered as a method of determining a point at which an eye's gaze intersects a two- dimensional plane. Such embodiments of the invention may have particular use if a user's point of regard is to be determined in order to navigate a graphical user interface displayed on a screen.
[0056] According to a second aspect of the invention, there is provided an apparatus for determining a point of regard, the apparatus comprising: an electrooculography device configured to measure an actual eye movement of an eye using electrooculography and generate at least one electrooculography signal corresponding to the measured actual eye movement; and a point of regard determination device programmed to: use the or each electrooculography signal to build a sequence of eye movement models that corresponds to actual possible eye movements, wherein each eye movement model in the sequence of eye movement models is selected from a plurality of candidate eye movement models, wherein the plurality of candidate eye movement models represents different types of eye movements; estimate a gaze angle based on the sequence of eye movement models; and determine the point of regard based at least partially on the estimated gaze angle.
[0057] The features and advantages of the first aspect of the invention and its embodiments apply mutatis mutandis to the second aspect of the invention and its embodiments.
[0058] The point of regard determination device may comprise at least one processor and at least one memory including computer program code. The at least one memory and computer program code may be configured to, with the at least one processor, cause the point of regard determination device to carry out the actions it is programmed for.
[0059] Further, the point of regard determination device may be, may include, may communicate with or may form part of one or more of an electronic device, a portable electronic device, a portable telecommunications device, a microprocessor, a mobile phone, a personal digital assistant, a tablet, a phablet, a desktop computer, a laptop computer, a server, a cloud computing network, a smartphone, a smartwatch, smart eyewear, and a module for one or more of the same.
[0060] By means of the invention, an apparatus is provided that is suitable for carrying out the method of the first aspect of the invention. In embodiments of the invention, the electrooculography device may comprise one or more monopolar electrodes, the or each monopolar electrode configured to measure a potential of the eye. The electrooculography device may also be configured to generate at least one monopolar electrooculography signal based on the or each potential measured by the or each monopolar electrode.
[0061] The apparatus may be configurable to work with any number of monopolar electrodes and the electrooculography device may be configured to simultaneously generate any number of monopolar electrooculography signals based on the potentials simultaneously measured by the monopolar electrodes. Further, the point of regard determination device may be programmed to use any number of monopolar electrooculography signals to build the sequence of eye movement models that corresponds to the actual eye movement.
[0062] The or each monopolar electrode may be placeable anywhere in the periocular region of a user to measure a potential of the eye. The exact placement of the or each monopolar electrode may be immaterial to how the apparatus functions as the point of regard determination device may use the monopolar electrode in conjunction with the potential obtained from the electrode for generating an EOG signal. However, the positioning of the or each monopolar electrode may affect the performance of the apparatus in determining point of regard.
[0063] In embodiments of the invention, the electrooculography device may comprise one or more pairs of bipolar electrodes, the or each pair of bipolar electrodes configured to measure a potential of the eye. The electrooculography device may also be configured to generate at least one bipolar electrooculography signal based on the or each potential measured by the or each bipolar electrode.
[0064] The apparatus may be configurable to work with any number of pairs of bipolar electrodes and the electrooculography device may be configured to simultaneously generate any number of bipolar electrooculography signals based on the potentials simultaneously measured by the bipolar electrodes. Further, the point of regard determination device may be programmed to use bipolar electrooculography signals to build the sequence of eye movement models that corresponds to the actual eye movement.
[0065] In some embodiments of the invention, the apparatus may comprise two pairs of bipolar electrodes. Both pairs may be placeable in the periocular region of a user with one pair arranged in vertical alignment with the eye and the other pair arranged in horizontal alignment with the eye.
[0066] In other embodiments of the invention the apparatus may comprise four pairs of bipolar electrodes, so that two pairs of bipolar electrodes may be arranged to measure potentials of one eye of the user and the other two pairs of bipolar electrodes may be arranged to measure potentials of the user's other eye.
[0067] The apparatus may also comprise a combination of monopolar and bipolar electrodes, and the electrooculography device may be configured to generate both monopolar and bipolar electrooculography signal based on the potentials measured by the respective electrodes.
[0068] Further, the apparatus may comprise a plurality of monopolar electrodes that may be placed around the eye or eyes of a user and the electrooculography device may be configured to generate electrooculography signals based on the potentials measured by the monopolar electrodes. Each electrooculography signal may then be processed as a monopolar channel, thereby generating a monopolar electrooculography signal. Alternatively, a pair of electrooculography signals may be processed as a bipolar channel which, in simple terms, involves taking the electrooculography signal from one electrode and subtracting it from the electrooculography signal of another electrode to provide a bipolar electrooculography signal. Accordingly, a pair of monopolar electrodes may be used as separate monopolar electrodes or may be considered as a bipolar electrode and may be used as such to generate bipolar eiectrooculography signals.
[0069] In embodiments of the invention, the apparatus may comprise a screen for displaying a graphical user interface, wherein the point of regard determination device is programmed to determine a point of regard constrained to a two-dimensional plane corresponding to the screen.
[0070] This is not to say that the user's point of regard is constrained to the dimensions of the screen but, rather, that the apparatus may be configured to determine the user's point of regard as a point at which the user's gaze intersects a two-dimensional plane, wherein the two-dimensional plane and the screen are co-planar.
[0071] Further, the apparatus may be configured to determine the user's point of regard only when it is within the dimensions of the screen. Alternatively, if the user's actual point of regard is beyond the dimensions of the screen, the apparatus may determine a point on the screen that is closest to the determined point of regard of the user and consider this closest point as being the user's point of regard for the purpose of navigating the graphical user interface displayed on the screen.
[0072] In embodiments of the invention, the apparatus may further comprise a head measurement device configurable to measure an actual head pose and an actual head position of a user of the apparatus. Suitable head measurement devices may include an electromagnetic-based tracking system (such as the 3D Guidance TrakSTAR™), or optical-based solutions (such as Vicon®), among others. The point of regard determination device may be programmed to determine the point of regard based on the measured actual head pose and the measured actual head position in addition to the estimated gaze angle.
[0073] In such embodiments of the invention, a user's point of regard may be determined accurately, even if the user moves and / or tilts his or her head.
[0074] However, measurement of an actual head pose and an actual head position of a user of the apparatus is not essential for embodiments of the invention to function properly or accurately. In some instances of use of the apparatus, the user's actual head pose and / or position may be fixed such that it is not necessary to measure the actual head pose and / or position in order to calculate the point of regard. For example, the user may be resting his or her head on a chin rest or the user's head may be secured to a static head brace. In other instances, the user's actual head pose and / or position may be immaterial to the user's point of regard. For example, the user may be viewing a virtual or augmented reality in which the user's actual head pose and / or position has no effect on what is being viewed and, hence, the point of regard.
[0075] Depending on the specific application intended by the user, the apparatus, particularly the point of regard determination device, is capable of functioning under non-stationary head pose and position or under stationary head pose and position conditions. That is, either with or without measuring actual head pose and the measured actual head position.
[0076] In embodiments of the invention, the point of regard determination device may be further programmed to: populate a sequence tree with a plurality of candidate eye movement models based on the or each electroocuiography signal; determine an activity probability for each sequence of candidate eye movement models forming part of the sequence tree, each activity probability being representative of the likelihood that the measured actual eye movement includes the type or types of eye movement represented by the respective candidate eye movement models; select a sequence of candidate eye movement models with the highest activity probability as the sequence of eye movement models that corresponds to actual possible eye movements.
[0077] The point of regard determination device may also be further programmed to: prune the sequence tree if the sequence tree meets a pruning condition; overwrite the sequence of eye movement models having the highest activity probability with a sequence of eye movement models having the highest activity probability amongst those having a predetermined characteristic, if the sequence tree meets an overwriting condition; determine a probability of head movement based on the measured actual head pose and the measured actual head position, wherein the overwriting condition is dependent on the probability of head movement; estimate a baseline component of the or each electrooculography signal based on the sequence of candidate eye movement models; and / or estimate the gaze angle and the baseline component simultaneously and recursively, optionally using a Dual Kalman Filter.
[0078] According to a third aspect of the invention, there is provided a computer-implemented method of determining a point of regard, the computer-implemented method comprising the steps of: receiving at least one electrooculography signal corresponding to a measured actual eye movement; and use the or each electrooculography signal to build a sequence of eye movement models that corresponds to actual possible eye movements, wherein each eye movement model in the sequence of eye movement models is selected from a plurality of candidate eye movement models, wherein the plurality of candidate eye movement models represents different types of eye movements; estimate a gaze angle based on the sequence of eye movement models; and determine the point of regard based at least partially on the estimated gaze angle. The features and advantages of the first and second aspects of the invention and their embodiments apply mutatis mutandis to the features and advantages of the computer- implemented method of the third aspect of the invention and its embodiments.
[0079] According to a fourth aspect of the invention, there is provided a computer program comprising computer code configured to perform the computer-implemented method of any one of the third aspect of the invention and its embodiments.
[0080] The features and advantages of the first, second and third aspects of the invention and their embodiments apply mutatis mutandis to the features and advantages of the computer program of the fourth aspect of the invention and its embodiments.
[0081] It will be appreciated that the use of the terms "first" and "second", and the like, in this patent specification is merely intended to help distinguish between similar features and is not intended to indicate the relative importance of one feature over another feature, unless otherwise specified.
[0082] Within the scope of this application, it is expressly intended that the various aspects, embodiments, examples and alternatives set out in the preceding paragraphs, and the claims and / or the following description and drawings, and in particular the individual features thereof, may be taken independently or in any combination. That is, all embodiments and all features of any embodiment can be combined in any way and / or combination, unless such features are incompatible. The applicant reserves the right to change any originally filed claim or file any new claim accordingly, including the right to amend any originally filed claim to depend from and / or incorporate any feature of any other claim although not originally claimed in that manner.
[0083] Preferred embodiments of the invention will now be described, by way of non-limiting examples, with candidate to the accompanying drawings in which:
[0084] Figure 1 shows schematically an apparatus according to a first embodiment of the invention and a method according to a second embodiment of the invention;
[0085] Figure 2 shows schematically a sequence tree;
[0086] Figure 3 shows schematically an apparatus according to a third embodiment of the invention and a method according to a fourth embodiment of the invention;
[0087] Figure 4 shows schematically the apparatus and method of Figure 3;
[0088] Figure 5 shows schematically a pruning mechanism flowchart; and Figure 6 shows schematically steps of the method shown in Figure 3 carried out using a Dual Kalman Filter.
[0089] The figures are not necessarily to scale, and certain features and certain views of the figures may be shown exaggerated in scale or in schematic form in the interests of clarity and conciseness.
[0090] An apparatus according to a first embodiment of the invention is shown in Figure 1 and is designated generally by the reference numeral 2. The apparatus 2 is for determining a point of regard and comprises an electrooculography device 6 and a point of regard determination device 8.
[0091] The apparatus 2 is suitable for carrying out a method 100 according to a second embodiment of the invention. The method comprises the steps of:
[0092] 130) measuring an actual eye movement of an eye 4 using electrooculography;
[0093] 135) generating at least one electrooculography signal 112 corresponding to the measured actual eye movement;
[0094] 140) using the or each electrooculography signal 112 to build a sequence of eye movement models that corresponds to actual possible eye movements, wherein each eye movement model in the sequence of eye movement models is selected from a plurality of candidate eye movement models, wherein the plurality of candidate eye movement models represents different types of eye movements;
[0095] 150) estimating a gaze angle based on the sequence of eye movement models; and
[0096] 160) determining a point of regard based on the estimated gaze angle.
[0097] In particular, the electrooculography device 6 is configured to carry out steps 130 and 135. Meanwhile, the point of regard determination device 8 is configured to carry out steps 140, 150 and 160.
[0098] In the first and second embodiments of the invention, step 140 comprises the steps of: 141) populating a sequence tree with a plurality of candidate eye movement models based on the or each electrooculography signal;
[0099] 142) determining an activity probability for each sequence of candidate eye movement models forming part of the sequence tree, each activity probability being representative of the likelihood that the measured actual eye movement includes the type or types of eye movement represented by the respective sequence of candidate eye movement models; and
[0100] 143) selecting a sequence of candidate eye movement models with the highest activity probability as the sequence of eye movement models that corresponds to actual possible eye movements.
[0101] Figure 2 shows an example of a sequence tree 14 populated in step 141.
[0102] In the first and second embodiments of the invention, a candidate eye movement model may be built using one of four modelling techniques corresponding to four different types of eye movement: fixations (FIX), saccades (SAC), blinks (BLI) and vestibulo-ocular reflexes (VOR).
[0103] Accordingly, at each time instant (k), the sequence tree is populated with a plurality of candidate eye movement models based on one or more electrooculography signals measured at that time instant such that the sequence tree comprises a branch per candidate eye movement model.
[0104] The sequence tree 14 starts at time instant 0, at which point the user's actual eye movement is either known or considered to be a fixation. This may be because the apparatus's determination of point of regard was initiated at time instant 0 and the user's initial eye movement is assumed to be a fixation, i.e., the activity probability of the fixation eye movement model (p(F)) is assumed to equal 1. Alternatively, a previous sequence tree may have been pruned at time instant 0 and p(F) at time instant 0 is therefore assumed to equal 1.
[0105] At time instant 1, the sequence tree 14 is populated with a plurality of candidate eye movement models representing fixations, saccades, blinks and vestibulo-ocular reflexes. Each of the four resulting branches of the sequence tree, at time instant 1, represent a sequence of candidate eye movement models. For example, the top branch represents a sequence of two consecutive fixation eye movement models whereas the bottom branch represents a sequence comprising a fixation eye movement model followed by a vestibulo-ocular reflex eye movement model.
[0106] An activity probability is determined for each sequence of candidate eye movement models forming part of the sequence tree 14. Each activity probability is representative of the likelihood that the measured actual eye movement includes the type or types of eye movement (FIX / SAC / BLI / VOR) represented by the respective sequence of candidate eye movement models. For example, the activity probability for the top branch / sequence is representative of the likelihood that the measured actual eye movement involved fixation throughout the time period k=0 to k= l. Meanwhile, the activity probability for the bottom branch / sequence is representative of the likelihood that the measured actual eye movement stated as a fixation and transitions to a vestibulo-ocular reflex within the time period k=0 to k= l.
[0107] At time instant 2 and time instant 3 respectively, the sequence tree 14 is populated with a further plurality of candidate eye movement models. Sequences which feature more than one model transition are not considered, as shown. This is acceptable because the sequence tree is pruned regularly (described in further detail below) where the interval between any two successive pruning events is short enough to assume that only a single model transition occurs in this interval. This also reduces the computational demand, which is advantageous from a practical point of view.
[0108] An activity probability for each sequence of candidate eye movement models is also determined at each time instant. The sequence of candidate eye movement models with the highest activity probability is generally selected as the sequence of eye movement models corresponding to actual possible eye movements and it is this sequence on which the estimation of gaze angle and the determination of point of regard is based.
[0109] For example, if the user were fixating on a particular point through the time period k=0 to k=3, analysis of the one or more EOG signals ought to result in an activity probability being determined for the sequence of candidate eye movement models highlighted with dotted borders having the highest value. If so, the highlighted sequence will be selected as the sequence of candidate eye movement models with the highest activity probability and, hence, the sequence of eye movement models on which the estimation of gaze angle and the determination of point of regard will be based at time instant 3. Particularly as the sequence tree 14 grows, the activity probability determined for certain sequences of candidate eye movement models will be very low. For example, if the user is performing an actual saccade, the determined activity probability for sequences of candidate eye movement models featuring the fixation (or blink or VOR) model being active is expected to be very close to 0, whereas those sequences of candidate eye movement models featuring the saccade model being active are expected to have a higher probability.
[0110] If the sequence tree 14 is continually populated without limitation, then the processing power required to calculate the increasing number of activity probabilities associated with every possible sequence forming part of the sequence tree may become impractical.
[0111] Further, the activity probability determined for certain sequences will become increasingly low as it becomes more and more apparent from the one or more EOG signals that those sequences are not representative of the actual eye movement. Hence, it becomes increasingly redundant to determine an activity probability for many of the sequences of candidate eye movement models.
[0112] To overcome this potential issue, the step 143 may comprise pruning the sequence tree if the sequence tree meets a pruning condition or if one or more of a plurality of pruning conditions is met by the sequence tree.
[0113] The step of pruning the sequence tree comprises eliminating all sequences of candidate eye movement models except the sequence of candidate eye movement models generally with the highest activity probability. Therefore, immediately following a pruning occurrence, the sequence tree consists of a single candidate eye movement model and the activity probability of that candidate eye movement model may be considered to equal 1. Such a situation is represented by time instant 0 in Figure 2.
[0114] Referring now to Figure 3, an apparatus 202 and a method 300 are shown which are similar to the apparatus 2 and a method 100 shown in Figure 1.
[0115] In addition to the features of the apparatus 2 shown in Figure 1, the apparatus 202 also comprises a head measurement device 216 configurable to measure an actual head pose and an actual head position of a user of the apparatus 202. The point of regard determination device 208 is programmed to determine the point of regard based on the measured actual head pose and the measured actual head position in addition to the estimated gaze angle. Accordingly, step 360 of the method 300 comprises determining the point of regard based on the estimated gaze angle, the measured actual head pose and the measured actual head position.
[0116] Also, as an example, the eiectrooculography device 206 comprises a plurality of monopolar electrodes 222, 224, 225. At least one monopolar electrode 222 may be configured to generate an electrooculography signal processed as a monopolar channel, thereby generating a monopolar electrooculography signal. Also, at least one pair of monopolar electrodes 224, 225 may be configured to generate pairs of electrooculography signals processed as a bipolar channel (one electrooculography signal is essentially subtracted from the other), thereby generating a bipolar electrooculography signal.
[0117] Each monopolar electrode 222, 224, 225 is configured to measure a potential of the eye 4. Specifically, a first pair of monopolar electrodes 224, 225 may be placed adjacent to the outer canthi and a second pair of monopolar electrodes 224, 225 may be mounted superiorly and inferiorly to one ocular globe.
[0118] The electrooculography device 206 is configured to generate at least one monopolar eiectrooculography signal 212 based on the potential measured by the monopolar electrode 222 and at least one bipolar eiectrooculography signal 213 based on the potential measured by each pair of monopolar electrodes 224, 225.
[0119] The apparatus 202 also comprises a screen 226 for displaying a graphical user interface. The point of regard determination device 208 is programmed to determine a point of regard constrained to a two-dimensional plane corresponding to the screen 226. The determined point of regard may be displayed on the screen 226, similarly to the cursor of a computer mouse.
[0120] Figure 4 shows the apparatus 202 and, in particular shows in more detail the method step 340 to be carried out by the point of regard determination device 208.
[0121] Step 340 itself comprises the following steps:
[0122] 344) Determining a probability of head movement based on a measured actual head pose and a measured actual head position, each of which is measured by the head measuring device 216. 141) Populating a sequence tree with a plurality of candidate eye movement models based on at least one electrooculography signal.
[0123] 142) Determining an activity probability for each sequence of candidate eye movement models forming part of the sequence tree, each activity probability being representative of the likelihood that the measured actual eye movement includes the type or types of eye movement represented by the respective sequence of candidate eye movement models.
[0124] 345) Pruning the sequence tree if one or more of a plurality of pruning conditions is met by the sequence tree.
[0125] 143) Selecting a sequence of candidate eye movement models with the highest activity probability as the sequence of eye movement models that corresponds to actual possible eye movements.
[0126] Upon completion of step 143, as well as step 350 being carried out to estimate a gaze angle for that time instant (similarly to step 150 of the method 100 shown in Figure 1), step 141 is repeated so that method steps are initiated for estimating the gaze angle at the next time instant.
[0127] Figure 5 shows a pruning mechanism flowchart 18. The pruning mechanism flowchart comprises a plurality of pruning conditions and a plurality of overwriting conditions.
[0128] L = the sequence tree depth, that is, the number of samples with which the sequence tree has been populated since the last pruning occurrence. d = a minimum pruning threshold, that is, a predetermined minimum number of samples that must elapse before pruning can occur.
[0129] Pmaxt= the highest activity probability at the current time instant, t.
[0130] St = the sequence of candidate eye movement models with the highest activity probability.
[0131] Each time a sequence tree, such as the sequence tree 14 shown in Figure 2, is populated with a new sample, the point of regard determination device 208 may determine whether a sufficient combination of pruning conditions is fulfilled by the sequence tree, according to the pruning mechanism flowchart.
[0132] According to a first pruning condition 71, pruning 345 may occur if L > d. In other words, pruning may occur if, since the last pruning occurrence, the sequence tree has been populated with a number of samples equal to or exceeding the minimum pruning threshold. If the first pruning condition 71 is not met, no pruning occurs and the sequence tree is populated with a new sample. If the first pruning condition 71 is met, then a second pruning condition 72 must be met.
[0133] According to the second pruning condition 72, pruning 345 may occur if pmaXt> 0.5 or L > 2d. In other words, pruning may occur if either: the sequence of candidate eye movement models with the highest activity probability has an activity probability exceeding 0.5; or, since the last pruning occurrence, the sequence tree has been populated with a number of samples equal to or exceeding double the minimum pruning threshold
[0134] If the second pruning condition 72 is not met, no pruning occurs and the sequence tree is populated with a new sample. If the second pruning condition 72 is met, then a third pruning condition 73 is considered.
[0135] According to the third pruning condition 73, pruning 345 may occur if the sequence of candidate eye movement models with the highest activity probability comprises no transitions between different types of eye movement. If all three of the first, second and third pruning conditions 71, 72, 73 are met, the sequence tree is pruned and the next sample is used to begin populating a new sequence tree.
[0136] However, if the sequence of candidate eye movement models with the highest activity probability comprises a transition between different types of eye movement such that the third pruning condition 73 is not met, pruning is still possible without the sequence tree being populated with a further sample. Rather, a fourth pruning condition 74 is considered.
[0137] According to the fourth pruning condition 74, pruning 345 may occur if, within St*, the newly active candidate eye movement model has been active for a number of samples exceeding a minimum new model threshold, Nsw. The reason for this pruning condition is that blinks are prone to be initially misinterpreted as saccades. By waiting for the sequence tree to be populated with at least Nswsamples since a transition from one type of candidate eye movement model to a different type of candidate eye movement model is deemed to have occurred, the likelihood of misinterpreting a blink as a saccade may be reduced.
[0138] If the fourth pruning condition 74 is met, a fifth pruning condition 75 is considered. Conversely, if the fourth pruning condition 74 is not met then a sixth pruning condition 76 is considered instead. According to the fifth pruning condition 75, pruning 345 may occur if St* comprises no transition to a blink eye movement model.
[0139] If there is no switch to a blink eye movement model such that all of the first, second, fourth and fifth pruning conditions 71, 72, 74, 75 are met, and the third pruning condition 73 is not met, the sequence tree is pruned and the next sample is used to begin populating a new sequence tree. However, before the pruning occurs, a reestimation of the gaze angle, eyelid aperture and baseline component may be required prior to the pruning.
[0140] Accordingly, if the fifth pruning condition 75 is met, a re-estimation condition 98 is imposed.
[0141] According to the re-estimation condition 98, re-estimation of the gaze angle, eyelid aperture and baseline component may occur if st* comprises a blink-to-fixation transition and the saccade eye movement model was active just before the blink model became active.
[0142] If the re-estimation condition 98 is met, the gaze angle, eyelid aperture and baseline component in the sequence tree are re-estimated based on an assumption that there was no transition to the saccade eye movement model and that the transition to the blink eye movement model occurred directly. Following this re-estimation, the sequence tree is pruned and the next sample is used to begin populating a new sequence tree.
[0143] If the re-estimation condition 98 is not met then the sequence tree is pruned without re-estimation being carried out and the next sample is used to begin populating a new sequence tree.
[0144] Meanwhile, if the fifth pruning condition 75 is not met, pruning 345 is still possible without the sequence tree being populated with a further sample. Rather, a seventh pruning condition 77 is considered.
[0145] According to the seventh pruning condition 77, pruning may occur if an estimated eyelid aperture angle, dropped below a blink threshold, Blinks are characterised by a decreasing trajectory of during the lowering of the eyelids before starts increasing again as the eyelids start to re-open. To this end, to stop the sequence tree being pruned to a sequence using a blink eye movement model when the actual eye movement was a fixation, the fifth pruning condition 77 ensures that / ^ is truly indicative of a blink having occurred before pruning is allowed.
[0146] If all of the first, second, fourth and seventh pruning conditions 71, 72, 74, 77 are met, and the third and fifth pruning conditions 73, 75 are not met, the sequence tree is pruned 345 and the next sample is used to begin populating a new sequence tree. Meanwhile, if the seventh pruning condition 77 is not met, pruning 345 is still possible without the sequence tree being populated with a further sample. Rather, an eighth pruning condition 78 is considered.
[0147] The eighth pruning condition is based on Nsw(the minimum new model threshold mentioned above), cband N^. cbis the number of failed attempts at meeting the seventh pruning condition 77 as counted by a first counter 81. Meanwhile, denotes the number of samples while the blink model is active but the estimated eyelid aperture angle, has not dropped below the blink threshold, T
[0148] According to the eighth pruning condition 78, if Cbis less than or equal to 30-Nsw(Nsw= minimum new model threshold) and is less than or equal to 30, no pruning occurs and the sequence tree is populated with a new sample.
[0149] However, if Cbis more than 30-Nsw is more than 30, pruning 345 will occur without the sequence tree being populated with a further sample, but only once st* has been overwritten according to an overwriting condition selected by a qualifier 83.
[0150] The purpose of the eighth pruning condition 78 is to curb excessive growth of the sequence tree. In other embodiments of the invention, cb may be required to exceed a different value predetermined as being a suitable excessive growth curbing threshold.
[0151] According to the qualifier 83, if a determined probability of head movement, pbHM), is greater than or equal to 0.5, a first overwriting condition 91 is selected. Conversely, if the determined probability of head movement, pbHM), is less than 0.5, a second overwriting condition 92 is selected. According to the first overwriting condition 91, the sequence tree is pruned by: selecting the sequence of candidate eye movement with the highest activity probability from any sequences forming part of the sequence tree which feature a transition to the vestibulo-ocular reflex (VOR) eye movement model wherein the VOR eye movement model is active for more than Nswsamples; overwriting st* with the newly selected sequence; and pruning 345 the sequence tree according to the new St*.
[0152] According to the second overwriting condition 92, the sequence tree is pruned by: eliminating sequences which either feature (i) a transition to the blink or VOR model, or (ii) a transition between different types of candidate eye movement model in which the newly active candidate eye movement model is active for less than Nswsamples; selecting, from the remaining sequences of candidate eye movement models, the sequence of candidate eye movement models with the highest activity probability overwriting st* with the newly selected sequence; and pruning 345 the sequence tree according to the new St*.
[0153] Returning now to the sixth pruning condition 76, failed attempts at meeting the fourth pruning condition 74 are counted by a second counter 82, the count equalling Csw. If cswis less than or equal to 10, no pruning occurs and the sequence tree is populated with a new sample. However, if Cswis more than 10, pruning will occur without the sequence tree being populated with a further sample, but only once st* has been overwritten according to a third overwriting condition 93.
[0154] The purpose of the sixth pruning condition 76 is to curb excessive growth of the sequence tree. In other embodiments of the invention, cswmay be required to exceed a different value predetermined as being a suitable excessive growth curbing threshold.
[0155] According to the third overwriting condition 93, the sequence tree is pruned by: selecting the sequence of candidate eye movement with the highest activity probability from any sequences which do not feature a transition between different candidate eye movement models; overwriting st* with the newly selected sequence; and pruning 345 the sequence tree according to the new St*.
[0156] Referring now to Figure 6, step 350 of the method 300 shown in Figure 3 is shown in more detail. Step 350 comprises the steps of:
[0157] 351) estimating a gaze angle based on the sequence of eye movement models; and,
[0158] 352) estimating a baseline component of the or each electrooculography signal based on the sequence of eye movement models.
[0159] Further, step 350 comprises the use of a Dual Kalman Filter (DKF) to carry out steps 351 and 352 simultaneously and recursively. The use of a Dual Kalman Filter is well known in the art. However, for completeness, the use of the Dual Kalman Filter in this embodiment of the invention is described briefly below.
[0160] The Dual Kalman Filter comprises two filters: a parameter filter 353 which is used to estimate the baseline component and a plurality of state filters 354 which are used for gaze angle estimation. Baseline component information is fed from the parameter filter 353 to the state filters 354, of which there are four in this embodiment of the invention. A first state filter 354 models fixations, a second state filter 354 models saccades, a third state filter 354 models blinks and a third state filter 354 models vestibulo-ocular reflexes. Furthermore, gaze angle and eyelid opening information is fed from the state filters 354 to the parameter filter 353. Accordingly, the plurality of state filters 354 generate the candidate eye movement models used to populate the sequence trees referred to above with respect to Figures 3 to 5.
[0161] This process is carried out recursively through a prediction stage and an update stage and hence carries out the estimation of the state vector at each time instant, k. In this case the state vector of each of the state filters consists of a horizontal gaze angle, a vertical gaze angle and an eyelid aperture angle, as well as the difference of these three states.
[0162] It will be appreciated that any aforementioned numerical value is merely intended to help illustrate the working of the invention and may vary depending on the requirements of the invention.
[0163] The listing or discussion of an apparently prior published document or apparently prior published information in this specification should not necessarily be taken as an acknowledgement that the document or information is part of the state of the art or is common general knowledge. Preferences and options for a given aspect, feature or parameter of the invention should, unless the context indicates otherwise, be regarded as having been disclosed in combination with any and all preferences and options for all other aspects, features and parameters of the invention.
Claims
CLAIMS1. A method of determining a point of regard, the method comprising the steps of: measuring an actual eye movement of an eye using eiectrooculography, and generating at least one electrooculography signal corresponding to the measured actual eye movement; using the or each electrooculography signal to build a sequence of eye movement models that corresponds to actual possible eye movements, wherein each eye movement model in the sequence of eye movement models is selected from a plurality of candidate eye movement models, wherein the plurality of candidate eye movement models represents different types of eye movements; estimating a gaze angle based on the sequence of eye movement models; and determining the point of regard based at least partially on the estimated gaze angle.
2. A method according to Claim 1, further comprising the step of estimating a baseline component of the or each electrooculography signal based on the sequence of eye movement models.
3. A method according to Claim 2, wherein the steps of estimating a gaze angle based on the sequence of eye movement models and estimating a baseline component of the or each electrooculography signal based on the sequence of eye movement models are carried out simultaneously and recursively.
4. A method according to Claim 3, wherein the steps of estimating a gaze angle based on the sequence of eye movement models and estimating a baseline component of the or each eiectrooculography signal based on the sequence of eye movement models are carried out using a Dual Kalman Filter.
5. A method according to any one of the preceding claims, further comprising the step of measuring an actual head pose and / or an actual head position, wherein the step of determining the point of regard is additionally based on the measured actual head pose and / or the measured actual head position.
6. A method according to any one of the preceding claims, wherein the step of using the or each eiectrooculography signal to build a sequence of eye movement models that corresponds to actual possible eye movements comprises the steps of:populating a sequence tree with a plurality of candidate eye movement models based on the or each electrooculography signal; determining an activity probability for each sequence of candidate eye movement models forming part of the sequence tree, each activity probability being representative of the likelihood that the measured actual eye movement includes the type or types of eye movement represented by the respective sequence of candidate eye movement models; and selecting a sequence of candidate eye movement models with the highest activity probability as the sequence of eye movement models that corresponds to actual possible eye movements.
7. A method according to Claim 6, wherein the step of selecting a sequence of candidate eye movement models with the highest activity probability as the sequence of eye movement models that corresponds to actual possible eye movements comprises pruning the sequence tree if the sequence tree meets a pruning condition.
8. A method according to Claim 7, wherein the step of pruning the sequence tree if a pruning condition is met comprises pruning the sequence tree if one or more of a plurality of pruning conditions is met.
9. A method according to Claim 7 or Claim 8, wherein the step of pruning the sequence tree comprises eliminating all sequences of candidate eye movement models except the sequence of candidate eye movement models with the highest activity probability.
10. A method according to any one of Claims 7 to 9, wherein, if the sequence tree meets an overwriting condition, the method comprises the step of overwriting the sequence of eye movement models having the highest activity probability with a sequence of eye movement models having the highest activity probability while also having a predetermined characteristic.
11. A method according to Claim 10 when dependent from Claim 5, further comprising the step of determining a probability of head movement based on the measured actual head pose and the measured actual head position, wherein one or more overwriting conditions is dependent on the determined probability of head movement.
12. A method according to any one of the preceding claims, wherein the types of eye movements comprise one or more of fixations, saccades, blinks, vestibulo-ocular reflexes and smooth pursuits.
13. A method according to any one of the preceding claims, wherein the gaze angle comprises one or more of: a horizontal gaze angle; a vertical gaze angle; and an eyelid aperture angle.
14. A method according to any one of the preceding claims, wherein the point of regard is constrained to a two-dimensional plane.
15. An apparatus for determining a point of regard, the apparatus comprising : an electrooculography device configured to measure an actual eye movement of an eye using electrooculography and generate at least one electroocuiography signal corresponding to the measured actual eye movement; and a point of regard determination device programmed to: use the or each electrooculography signal to build a sequence of eye movement models that corresponds to actual possible eye movements, wherein each eye movement model in the sequence of eye movement models is selected from a plurality of candidate eye movement models, wherein the plurality of candidate eye movement models represents different types of eye movements; estimate a gaze angle based on the sequence of eye movement models; and determine the point of regard based at least partially on the estimated gaze angle.
16. An apparatus according to Claim 15, wherein: the electrooculography device comprises one or more monopolar electrodes, the or each monopolar electrode configured to measure a potential of the eye; and the electrooculography device is configured to generate at least one monopolar electrooculography signal based on the or each potential measured by the or each monopolar electrode.
17. An apparatus according to Claim 15 or Claim 16, wherein: the electroocuiography device comprises one or more pairs of bipolar electrodes, the or each pair of bipolar electrodes configured to measure a potential of the eye; andthe electrooculography device is configured to generate at least one bipolar electrooculography signal based on the or each potential measured by the or each bipolar electrode.
18. An apparatus according to any one of Claims 15 to 17, further comprising a screen for displaying a graphical user interface, wherein the point of regard determination device is programmed to determine a point of regard constrained to a two-dimensional plane corresponding to the screen.
19. An apparatus according to any one of Claims 15 to 18, further comprising a head measurement device configurable to measure an actual head pose and an actual head position of a user of the apparatus, wherein the point of regard determination device is programmed to determine the point of regard based on the measured actual head pose and the measured actual head position in addition to the determined gaze angle.
20. An apparatus according to any one of Claims 15 to 19, wherein the point of regard determination device is further programmed to: populate a sequence tree with a plurality of candidate eye movement models based on the or each electrooculography signal; determine an activity probability for each sequence of candidate eye movement models forming part of the sequence tree, each activity probability being representative of the likelihood that the measured actual eye movement includes the type or types of eye movement represented by the respective candidate eye movement models; and select a sequence of candidate eye movement models with the highest activity probability as the sequence of eye movement models that corresponds to actual possible eye movements.
21. An apparatus according to Claim 20, wherein the point of regard determination device is further programmed to: prune the sequence tree if the sequence tree meets a pruning condition.
22. An apparatus according to Claim 20 or Claim 21, wherein the point of regard determination device is further programmed to: overwrite the sequence of eye movement models having the highest activity probability with a sequence of eye movement models having the highest activityprobability while also having a predetermined characteristic if the sequence tree meets an overwriting condition or at least one of a plurality of overwriting conditions.
23. An apparatus according to Claim 22 when dependent on Claim 19, wherein the point of regard determination device is further programmed to: determine a probability of head movement based on the measured actual head pose and the measured actual head position, wherein at least one overwriting condition is dependent on the probability of head movement.
24. An apparatus according to any one of Claims 15 to 23, wherein the point of regard determination device is further programmed to: estimate a baseline component of the or each electrooculography signal based on the sequence of candidate eye movement models.
25. An apparatus according to Claim 24, wherein the point of regard determination device is further programmed to: estimate the gaze angle and the baseline component simultaneously and recursively, optionally using a Dual Kalman Filter.