IP Library › Granted Patent US 11,308,321
Granted Patent B2
US 11,308,321 · App. 16/915,233 · Granted Apr 19, 2022

Method and system for 3D cornea position estimation

Inventors: David Masko (Danderyd, SE); Magnus Ivarsson (Danderyd, SE); Niklas Ollesson (Danderyd, SE); Anna Redz (Danderyd, SE)
Assignee: Tobii AB
G06K9/00604G06K9/00201G06K9/52G06T7/277G06T7/70G06T2200/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,308,321
App. No.
16/915,233
Granted
Apr 19, 2022
Kind
B2
Abstract

There is provided a method, system, and non-transitory computer-readable storage medium for performing three-dimensional, 3D, position estimation for the cornea center of an eye of a user, using a remote eye tracking system, wherein the position estimation is reliable and robust also when the cornea center moves over time in relation to an imaging device associated with the eye tracking system. This is accomplished by generating, using, and optionally also updating, a cornea movement filter, CMF, in the cornea center position estimation.

Claims (60)

1. A method for performing three-dimensional, 3D, position estimation for a cornea center of an eye of a user, using a remote eye tracking system, when the cornea center moves over time in relation to an imaging device associated with the eye tracking system, the method comprising:

generating, using processing circuitry associated with the eye tracking system, a cornea movement filter, CMF, comprising an estimated initial 3D position and an estimated initial 3D velocity of the cornea center of the eye at a first time instance, wherein the cornea movement filter, CMF, is a Kalman filter;

predicting, using the processing circuitry:

a first two-dimensional, 2D, glint position in an image captured at a second time instance by applying the cornea movement filter, CMF, wherein the predicted first glint position represents a position where a first glint is predicted to be generated by a first illuminator associated with the eye tracking system; and

a second 2D glint position in the image captured at the second time instance by applying the cornea movement filter, CMF, wherein the predicted second glint position represents a position where a glint is predicted to be generated by a second illuminator associated with the eye tracking system;

performing image processing, using the processing circuitry, including the steps of:

identifying at least one first candidate glint in a first image captured by the imaging device at the second time instance wherein the first image comprises at least part of the cornea of the eye and at least one glint generated by the first illuminator; and

identifying at least one second candidate glint in the first image or in a second image captured by the imaging device at a third time instance and comprising at least part of the cornea of the eye and at least one glint generated by the second illuminator;

selecting, using the processing circuitry, a pair of a first and second candidate glint, out of all possible pairs of a first candidate glint and a second candidate glint, that has a highest probability of corresponding to the predicted first and second glint positions, based on a probability estimation function;

estimating a current 3D position of the cornea, using the processing circuitry, based on positions of the selected pair of first and second candidate glints; and updating the cornea movement filter, CMF, using the processing circuitry, by setting the estimated initial 3D position, of the cornea center to the current 3D position of the cornea center; and

determining a current estimated 3D velocity of the cornea center based on the estimated initial 3D position of the cornea center and the current 3D position of the cornea center; and

setting the estimated initial 3D velocity of the cornea center to the current estimated 3D velocity of the cornea center.

2. The method of claim 1 , comprising performing the method steps of claim 1 repeatedly.

3. The method of claim 1 , wherein updating the cornea movement filter, CMF, is done using an Extended Kalman Filter equation and a linearized version of cornea-to-glint-pair equations.

4. The method of claim 1 , wherein selecting, using the processing circuitry, the pair of a first and second candidate glint, out of all possible pairs of a first candidate glint and a second candidate glint, that has the highest probability of corresponding to the predicted first and second glint positions comprises:

determining a probability that the positions of the first and second candidate glint in the glint pair correspond to the predicted first and second glint positions P 1 , P 2 ;

determining a closeness of the glint pair to a selected part of the eye; and

selecting the glint pair from the possible glint pairs based on a result from the probability determination and the closeness determination.

5. The method of claim 1 , the method further comprising, if the at least one second candidate glint is identified in the second image captured by the imaging device at a third time instance compensating for a movement of the at least one second candidate glint from the second time instance to the third time instance by applying the cornea movement filter, CMF, before updating the cornea movement filter, CMF.

6. The method of claim 1 , further comprising, before updating the cornea movement filter, CMF:

comparing the probability of the selected pair of candidate glints to a preset threshold value; and

if the probability of the selected pair of candidate glints exceeds the preset threshold value, setting the predicted first and second glint positions to the positions of the selected pair of candidate glints.

7. The method of claim 1 , further comprising, the first time the method is performed, setting a respective start value for the estimated initial 3D position and the estimated initial 3D velocity of the cornea center of the eye at the first time instance based on a respective estimated 3D position and velocity of the eye or head of the user.

8. The method of claim 1 , further comprising predicting, by the eye tracking system, a gaze of the user based on the estimated current 3D position of the cornea.

9. An eye tracking system for performing three-dimensional, 3D, position estimation for a cornea center of an eye of a user when the cornea center moves over time in relation to an imaging device associated with the eye tracking system, the eye tracking system comprising processing circuitry configured to:

generate a cornea movement filter, CMF, comprising an estimated initial 3D position and an estimated initial 3D velocity of the cornea center of the eye at a first time instance, wherein the cornea movement filter, CMF, is a Kalman filter;

predict a first two-dimensional, 2D, glint position in an image captured at a second time instance by applying the cornea movement filter, CMF, wherein the predicted first glint position represents a position where a first glint is predicted to be generated by a first illuminator associated with the eye tracking system; and

predict a second 2D glint position in the image captured at the second time instance by applying the cornea movement filter, CMF, wherein the predicted second glint position represents a position where a glint is predicted to be generated by a second illuminator associated with the eye tracking system;

perform image processing to:

identify at least one first candidate glint in a first image captured by the imaging device at the second time instance, wherein the first image comprises at least part of the cornea of the eye and at least one glint generated by the first illuminator; and

identify at least one second candidate glint in the first image or in a second image captured by the imaging device at a third time instance and comprising at least part of the cornea of the eye and at least one glint generated by the second illuminator;

select a pair of a first and second candidate glint, out of all possible pairs of a first candidate glint and a second candidate glint, that has a highest probability of corresponding to the predicted first and second glint positions, based on a probability estimation function;

estimate a current 3D position of the cornea based on positions of the selected pair of first and second candidate glints; and

update the cornea movement filter, CMF, by setting the estimated initial 3D position of the cornea center to the current 3D position of the cornea center; and

determine a current estimated 3D velocity of the cornea center based on the estimated initial 3D position of the cornea center and the current 3D position of the cornea center; and

set the estimated initial 3D velocity of the cornea center to the current estimated 3D velocity of the cornea center.

10. The eye tracking system of claim 9 , wherein the processing circuitry is configured to perform the steps repeatedly.

11. The eye tracking system of claim 9 , wherein the processing circuitry is configured to select the pair of a first and second candidate glint, out of all possible pairs of a first candidate glint and a second candidate glint, that has the highest probability of corresponding to the predicted first and second glint positions, by:

determining a probability that the positions of the first and second candidate glint in the glint pair correspond to the predicted first and second glint positions;

determine a closeness of the glint pair to a selected part of the eye; and

selecting the glint pair from the possible glint pairs based on a result from the probability determination and the closeness determination.

12. The eye tracking system of claim 9 , wherein the processing circuitry is further configured to:

if the at least one second candidate glint is identified in the second image captured by the imaging device at a third time instance, compensating for a movement of the at least one second candidate glint from the second time instance to the third time instance by applying the cornea movement filter, CMF, before updating the cornea movement filter, CMF.

13. The eye tracking system of claim 9 , wherein the processing circuitry is further configured to, before updating the cornea movement filter, CMF:

compare the probability of the selected pair of candidate glints to a preset threshold value; and

if the probability of the selected pair of candidate glints exceeds the preset threshold value, setting the predicted first and second glint positions to the positions of the selected pair of candidate glints.

14. The eye tracking system of claim 9 , wherein the processing circuitry is further configured to, the first time the method is performed, set a respective start value for the estimated initial 3D position and the estimated initial 3D velocity of the cornea center of the eye at the first time instance based on a respective estimated 3D position and velocity of the eye or head of the user.

15. The eye tracking system of claim 9 , wherein the eye tracking system is further configured to predict a gaze of the user based on the estimated current 3D position of the cornea.

16. A non-transitory computer-readable storage medium storing instructions which, when executed by processing circuitry of an eye tracking system, cause the eye tracking system to:

generate a cornea movement filter, CMF, comprising an estimated initial 3D position and an estimated initial 3D velocity of a cornea center of an eye at a first time instance, wherein the cornea movement filter, CMF, is a Kalman filter; and

predict a first two-dimensional, 2D, glint position in an image captured at a second time instance by applying the cornea movement filter, CMF, wherein the predicted first glint position represents a position where a first glint is predicted to be generated by a first illuminator associated with the eye tracking system;

predict a second 2D glint position in the image captured at the second time instance by applying the cornea movement filter, CMF, wherein the predicted second glint position represents a position where a glint is predicted to be generated by a second illuminator associated with the eye tracking system;

perform image processing to:

identify at least one first candidate glint in a first image captured by an imaging device at the second time instance wherein the first image comprises at least part of the cornea of the eye and at least one glint generated by the first illuminator; and

identify at least one second candidate glint in the first image or in a second image captured by the imaging device at a third time instance and comprising at least part of the cornea of the eye and at least one glint generated by the second illuminator;

select a pair of a first and second candidate glint, out of all possible pairs of a first candidate glint and a second candidate glint that has a highest probability of corresponding to the predicted first and second glint positions, based on a probability estimation function;

estimate a current 3D position of the cornea based on positions of the selected pair of first and second candidate glints; and

update the cornea movement filter, CMF, by setting the estimated initial 3D position of the cornea center to the current 3D position of the cornea center;

determine a current estimated 3D velocity of the cornea center based on the estimated initial 3D position of the cornea center and the current 3D position of the cornea center; and

set the estimated initial 3D velocity of the cornea center to the current estimated 3D velocity of the cornea center.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2024
From: MASKO, DAVID; IVARSSON, MAGNUS; OLLESON, NIKLAS; REDZ, ANNA
To: TOBII AB
Reel/Frame 069295/0616 →
Priority Claims (1)
SE 1950825-8 · Jun 28, 2019 · national
Continuity (1)
Related Publication 20210012105A1 · Jan 14, 2021
Cited By (2)
US 12,204,689 US 12,730,510