IP Library › Granted Patent US 12,254,685
Granted Patent B2
US 12,254,685 · App. 18/094,933 · Granted Mar 18, 2025

Eye gaze tracking using neural networks

Inventors: Dmitry Lagun (San Jose, CA); Junfeng He (Fremont, CA); Pingmei Xu (Mountain View, CA)
Assignee: Google LLC
G06V10/82G06F3/013G06F18/211G06F18/24133G06T7/74G06T7/80G06V10/764G06V40/19G06F18/214G06T2207/20081G06T2207/20084G06T2207/30201G06V40/161
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 12,254,685
App. No.
18/094,933
Granted
Mar 18, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for characterizing a gaze position of a user in a query image. One of the methods includes obtaining a query image of a user captured by a camera of a mobile device; obtaining device characteristics data specifying (ii) characteristics of the mobile device, (ii) characteristics of the camera of the mobile device, or (iii) both; and processing a neural network input comprising (i) one or more images derived from the query image and (ii) the device characteristics data using a gaze prediction neural network, wherein the gaze prediction neural network is configured to, at run time and after the gaze prediction neural network has been trained, process the neural network input to generate a neural network output that characterizes a gaze position of the user in the query image.

Claims (57)

1. A method performed by one or more computers, the method comprising:

obtaining, by a mobile device, a query image of a user captured by a camera of the mobile device;

obtaining, by the mobile device, device characteristics data characterizing one or more of a manufacturer of the mobile device, a model of the mobile device, a current orientation of the camera, or an indication of whether certain settings of the camera or enabled or disabled;

maintaining, by the mobile device, data associating the device characteristics data with current values for a plurality of device-dependent parameters of a gaze prediction neural network, wherein the current values of the plurality of device-dependent parameters have been determined by training the gaze prediction neural network on calibration examples each including the device characteristics data;

processing, by the mobile device, a neural network input comprising one or more images derived from the query image using the gaze prediction neural network, wherein:

the gaze prediction neural network has a plurality of parameters comprising i) a plurality of device-independent parameters that have been determined by training the gaze prediction neural network on training examples each including respective device characteristics data and ii) the plurality of device-dependent parameters, wherein device-independent parameters are parameters that, after training, have the same values regardless of the device characteristics data, and device-dependent parameters are parameters that have different values for different device characteristics of the mobile device;

the gaze prediction neural network is configured to, at run time and after the gaze prediction neural network has been trained, process the neural network input to generate a neural network output that characterizes a gaze position of the user in the query image; and

processing the neural network input comprises setting the values of the device-dependent parameters to the current values associated with the device characteristics data; and

controlling, by the mobile device, one or more functions of the mobile device based on the neural network output.

2. The method of claim 1 , wherein controlling one or more functions of the mobile device comprises providing an input to an operating system of the mobile device.

3. The method of claim 1 ,

wherein the gaze prediction neural network comprises a plurality of neural network layers configured to apply the device independent-parameters to generate an initial neural network output that characterizes an initial predicted gaze position of the user, and

wherein the gaze prediction neural network is configured to adjust the initial neural network output in accordance with at least some of the device-specific parameters to generate the neural network output.

4. The method of claim 3 , wherein adjusting the initial neural network output comprises:

applying a linear device dependent parameters transformation to the initial neural network output.

5. The method of claim 1 , wherein the neural network input further comprises data specifying a location of one or more eye landmarks in the query image.

6. The method of claim 5 , wherein the gaze prediction neural network is configured to:

apply at least some of the device-specific parameters to adjust the location of the eye landmarks; and

process the adjusted location of the eye landmarks and the one or more images in accordance with the device-independent parameters to generate an initial neural network output.

7. The method of claim 1 , further comprising:

obtaining one or more calibration images of the user captured using the camera of the mobile device and, for each of the calibration images, a respective calibration label that labels a known gaze position of the user in the calibration image; and

training the gaze prediction neural network using the one or more calibration images to determine the current values for the set of device-dependent parameters from initial values for the set of device-dependent parameters while holding the device-independent parameters fixed.

8. The method of claim 1 , wherein the one or more images derived from the query image comprise a respective image crop corresponding to each of one or more eyes of the user.

9. A method comprising:

obtaining, by a mobile device, a query image of a user captured by a camera of the mobile device;

obtaining, by the mobile device, device characteristics data characterizing one or more of a manufacturer of the mobile device, a model of the mobile device, a current orientation of the camera, or an indication of whether certain settings of the camera or enabled or disabled;

processing, by the mobile device, a neural network input comprising (i) one or more images derived from the query image, (ii) the device characteristics data, and (iii) data specifying respective locations of one or more eye landmarks in the query image using a gaze prediction neural network to generate a neural network output that characterizes a gaze position of the user in the query image, the processing comprising:

adjusting the locations of the eye landmarks in the query image according to the device characteristics data, and

processing the adjusted locations of the eye landmarks in the query image and the one or more images to generate the neural network output that characterizes the gaze position of the user in the query image; and

controlling, by the mobile device, one or more functions of the mobile device based on the neural network output.

10. The method of claim 9 , wherein controlling one or more functions of the mobile device comprises providing an input to an operating system of the mobile device.

11. The method of claim 9 , wherein the gaze prediction neural network has a plurality of device-independent parameters and a plurality of device-dependent parameters, the method further comprising:

maintaining data associating the device characteristics data with current values for the plurality of device-dependent parameters,

wherein processing the neural network input comprises setting the values of the device-dependent parameters to the current values associated with the device characteristics data.

12. The method of claim 9 , wherein processing the adjusted locations of the eye landmarks and the one or more images to generate the neural network output comprises:

processing the adjusted locations of the eye landmarks and the one or more images in accordance with the device characteristics data to generate the neural network output.

13. The method of claim 9 , further comprising:

obtaining one or more calibration images of the user captured using the camera of the mobile device and, for each of the calibration images, a respective calibration label that labels a known gaze position of the user in the calibration image; and

training the gaze prediction neural network using the one or more calibration images.

14. The method of claim 9 , wherein the one or more images derived from the query image comprise a respective image crop corresponding to each of one or more eyes of the user.

15. The method of claim 9 , wherein the neural network output comprises a measure of central tendency and a measure of variance of a distribution over possible gaze positions of the user in the query image.

16. A mobile device comprising one or more storage devices storing instructions that when executed by the mobile cause the mobile device to perform operations comprising:

obtaining, by a mobile device, a query image of a user captured by a camera of the mobile device;

obtaining, by the mobile device, device characteristics data characterizing one or more of a manufacturer of the mobile device, a model of the mobile device, a current orientation of the camera, or an indication of whether certain settings of the camera or enabled or disabled;

maintaining, by the mobile device, data associating the device characteristics data with current values for a plurality of device-dependent parameters of a gaze prediction neural network, wherein the current values of the plurality of device-dependent parameters have been determined by training the gaze prediction neural network on calibration examples each including the device characteristics data;

processing, by the mobile device, a neural network input comprising one or more images derived from the query image using the gaze prediction neural network, wherein:

the gaze prediction neural network has a plurality of parameters comprising i) a plurality of device-independent parameters that have been determined by training the gaze prediction neural network on training examples each including respective device characteristics data and ii) the plurality of device-dependent parameters, wherein device-independent parameters are parameters that, after training, have the same values regardless of the device characteristics data, and device-dependent parameters are parameters that have different values for different device characteristics of the mobile device;

the gaze prediction neural network is configured to, at run time and after the gaze prediction neural network has been trained, process the neural network input to generate a neural network output that characterizes a gaze position of the user in the query image; and

processing the neural network input comprises setting the values of the device-dependent parameters to the current values associated with the device characteristics data; and

controlling, by the mobile device, one or more functions of the mobile device based on the neural network output.

17. The system of claim 16 , wherein controlling one or more functions of the mobile device comprises providing an input to an operating system of the mobile device.

18. The system of claim 16 ,

wherein the gaze prediction neural network comprises a plurality of neural network layers configured to apply the device independent-parameters to generate an initial neural network output that characterizes an initial predicted gaze position of the user, and

wherein the gaze prediction neural network is configured to adjust the initial neural network output in accordance with at least some of the device-specific parameters to generate the neural network output.

19. The system of claim 18 , wherein adjusting the initial neural network output comprises:

applying a linear device dependent parameters transformation to the initial neural network output.

20. The system of claim 16 , wherein the neural network input further comprises data specifying a location of one or more eye landmarks in the query image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2023
From: LAGUN, DMITRY; HE, JUNFENG; XU, PINGMEI
To: GOOGLE LLC
Reel/Frame 062494/0856 →
Continuity (4)
Continuation 17102337 · Nov 23, 2020
Continuation 16188255 · Nov 12, 2018
Continuation In Part 15195942 · Jun 28, 2016
Related Publication 20230274537A1 · Aug 31, 2023
References Cited (26)
US 10016130B2 · Ganesan · 2018 [cited by applicant]
US 10127680B2 · Lagun et al. · 2018 [cited by applicant]
US 20030218672A1 · Zhang et al. · 2003 [cited by applicant]
US 20070011609A1 · Adjouadi et al. · 2007 [cited by applicant]
US 20130058529A1 · Levin · 2013 [cited by applicant]
US 20140145935A1 · Sztuk et al. · 2014 [cited by applicant]
US 20170372487A1 · Lagun et al. · 2017 [cited by applicant]
US 20200058136A1 · Morishita · 2020 [cited by applicant]
CN 102930252A · 2013 [cited by applicant]
CN 104951084A · 2015 [cited by applicant]
CN 104978548A · 2015 [cited by applicant]
WO WO199926126 · 1999 [cited by applicant]
WO WO2014061017 · 2014 [cited by applicant]
“Samsung Galaxy S8—Full phone specifications”, Gsmarena, website https://www.gsmarena.com/samsung_galaxy_s8-8161.php, 3 pages, downloaded Jan. 25, 2024. Gsmarena describes the “device characteristics” of the Samsung Gal… [cited by examiner]
“Samsung Galaxy S8 Review—Specifications”, ePhotozine, website https://www.ephotozine.com/article/samsung-galaxy-s8-review-30876/specifications, 7 pages, downloaded Jan. 25, 2024. ePhotozine describes the “camera charac… [cited by examiner]
Abdel-Hamid et al., “Convolutional Neural Networks for Speech Recognition,” IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2014, 22(10):1-13. [cited by applicant]
Bleicher, “Eye-Tracking Software Goes Mobile,” IEEE Spectrum, Apr. 23, 2013, retrieved on Jul. 15, 2016, retrieved from URL<http://spectrum.ieee.org/computing/software/eyetracking-software-goes-mobile>, 2 pages. [cited by applicant]
Office Action in Chinese Application No. 201780033419.9, dated Aug. 6, 2019, 17 pages (with English Translation). [cited by applicant]
Office Action in Chinese Application No. 201780033419.9, dated Mar. 9, 2020, 16 pages (with English Translation). [cited by applicant]
Demjén et al., “Eye Tracking Using Artificial Neural Networks for Human Computer Interaction,” Physiol. Res., Aug. 2011, 60(5):841-844. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2017/039651, mailed on Jan. 10, 2019, 9 pages. [cited by applicant]
International Search Report and Written Opinion issued in International Application No. PCT/US2017/039651, mailed on Sep. 6, 2017, 14 pages. [cited by applicant]
Pomerleau et al., “Non-Intrusive Gaze Tracking Using Artificial Neural Networks,” AAAI Technical Report FS-93-04, 1993, pp. 153-156. [cited by applicant]
Pomplun et al., “An Artificial Neural Network for High Precision Eye Movement Tracking,” KI-94: Advances in Artificial Intelligence, vol. 861 of the series Lecture Notes in Computer Science, Jun. 2005, pp. 63-69. [cited by applicant]
Sesin et al., “Adaptive eye-gaze tracking using neural-network-based user profiles to assist people with motor disability,” Journal of Rehabilitation Research & Development, 2008, 45(6):801-818. [cited by applicant]
Zhang et al. “Appearance-Based Gaze Estimation in the Wild,” CVPR2015, Computer Vision Foundation, 2015, pp. 4511-4520. [cited by applicant]