IP Library Granted Patent US 9,934,583
Granted Patent B2
US 9,934,583 · App. 14/982,330 · Granted Apr 3, 2018

Expectation maximization to determine position of ambient glints

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 9,934,583
App. No.
14/982,330
Granted
Apr 3, 2018
Kind
B2
Abstract

Exemplary embodiments may involve analyzing reflections from an eye to help determine where the respective sources of the reflections are located. An exemplary method involves: (a) analyzing eye-image data to determine observed movement of a reflected feature on an eye surface; (b) determining an expected movement of the reflected feature on the eye surface given a value of a z-distance parameter; (c) determining a difference between the observed movement of the reflected feature on the eye surface and the expected movement of the reflected feature on the eye surface; (d) if the difference is less than a threshold, then associating the value of the z-distance parameter with a source of the reflected feature; and (e) if the difference is greater than the threshold, then: (i) making a predetermined adjustment to the value of the z-distance parameter; and (ii) repeating (a) to (d) with the adjusted value of the z-distance parameter.

Claims (51)

1. A computer-implemented method comprising:

(a) analyzing, by a computing device, eye-image data to determine observed movement of a reflected feature on an eye surface;

(b) determining, by the computing device, an expected movement of the reflected feature on the eye surface given a value of a z-distance parameter;

(c) determining, by the computing device, a difference between the observed movement of the reflected feature on the eye surface and the expected movement of the reflected feature on the eye surface;

(d) if the difference is less than a threshold, then associating, by the computing device, the value of the z-distance parameter with a source of the reflected feature; and

(e) if the difference is greater than the threshold, then the computing device:

(i) making a predetermined adjustment to the value of the z-distance parameter; and

(ii) repeating (a) to (d) with the adjusted value of the z-distance parameter.

2. The method of claim 1 , further comprising concurrently performing the method of claim 1 for a plurality of reflected features in the eye-image data.

3. The method of claim 1 , wherein the reflected feature is an ambient glint.

4. The method of claim 1 , wherein the reflected feature is defined at least in part by an ambient glint.

5. The method of claim 1 , wherein an initial default estimate value of the z-distance parameter is infinity.

6. The method of claim 1 , wherein the predetermined adjustment to the value of the z-distance parameter comprises a five to ten percent adjustment to the value of the z-distance parameter.

7. The method of claim 1 , further comprising, initially receiving the eye-image data, wherein the eye-image data comprises at least a first corneal image and a second corneal image.

8. The method of claim 7 , further comprising:

determining a histogram of oriented gradients (HOG) based on at least the first corneal image; and

analyzing the HOG to identify the ambient glint within the first corneal image.

9. The method of claim 7 , wherein determining the observed movement of the ambient glint comprises:

flattening both the first corneal image and the second corneal image; an

determining movement of the ambient glint between the flattened first corneal image and the flattened second corneal image.

10. The method of claim 9 , wherein determining the movement of the ambient glint between the flattened first corneal image and the flattened second corneal image comprises determining a feature-mapping between the flattened first corneal image and the flattened second corneal image, wherein the feature-mapping is mapped to the model of the eye surface.

11. The method of claim 9 , wherein determining the movement of the ambient glint between the flattened first corneal image and the flattened second corneal image comprises determining optical flow between the flattened first corneal image and the flattened second corneal image, wherein the optical flow is mapped to the model of the eye surface.

12. The method of claim 1 , further comprising:

determining an expected eye movement corresponding to the observed movement of the ambient glint in the eye-image data;

wherein the expected movement of the ambient glint is further based on the expected eye movement corresponding to the observed movement of the ambient glint in the eye-image data.

13. The method of claim 1 , wherein the method is carried out at least in part by a server system, wherein the method further comprising the server system receiving the eye-image data from a client device.

14. The method of claim 13 , wherein the client device comprises a head-mounted device.

15. The method of claim 1 , further comprising:

performing the method of claim 1 two or more times for the same eye-image data, wherein a different value for the z-distance parameters is utilized each time the method is performed, wherein a respective value of the z-distance parameter is associated with the reflected feature each time the method is performed with a different value; and

determining whether the respective values of the z-distance parameter that are associated with the reflected feature converge.

16. A system comprising:

a non-transitory computer-readable medium; and

program instructions stored on the non-transitory computer-readable medium and executable by at least one processor to:

(a) analyze eye-image data to determine observed movement of an ambient glint on an eye surface;

(b) determine an expected movement of the ambient glint on the eye surface given a value of a z-distance parameter;

(c) determine a difference between the observed movement of the ambient glint on the eye surface and the expected movement of the ambient glint on the eye surface;

(d) if the difference is less than a threshold, then associate the value of the z-distance parameter with a source of the ambient glint; and

(e) if the difference is greater than the threshold, then:

(i) make a predetermined adjustment to the value of the z-distance parameter; and

(ii) repeat (a) to (d) with the adjusted value of the z-distance parameter.

17. The system of claim 16 , wherein the system further comprises program instructions stored on the non-transitory computer-readable medium and executable by at least one processor to receive the eye-image data, wherein the eye-image data is captured by an inward-facing camera on a head-mountable computing device.

18. A non-transitory computer readable medium having stored therein instructions executable by a computing device to cause the computing device to perform functions comprising:

(a) analyzing eye-image data to determine observed movement of a reflected feature on an eye surface;

(b) determining an expected movement of the reflected feature on the eye surface given a value of a z-distance parameter;

(c) determining a difference between the observed movement of the reflected feature on the eye surface and the expected movement of the reflected feature on the eye surface;

(d) if the difference is less than a threshold, then associating the value of the z-distance parameter with a source of the reflected feature; and

(e) if the difference is greater than the threshold, then:

(i) making a predetermined adjustment to the value of the z-distance parameter; and

(ii) repeating (a) to (d) with the adjusted value of the z-distance parameter.

19. The non-transitory computer readable medium of claim 18 , wherein the functions further comprise concurrently performing functions (a) to (e) for a plurality of reflected features in the corneal image.

20. The non-transitory computer readable medium of claim 18 , wherein the reflected feature is an ambient glint.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2016
From: STARNER, THAD EUGENE
To: GOOGLE INC.
Reel/Frame 037799/0212 →