The present disclosure generally relates to providing improved user experiences on electronic devices, and in particular, to systems, methods, and devices that detect eye accommodation (i.e., focus) during use of electronic devices.
Various eye tracking techniques exist. For example, some gaze tracking techniques are based on detecting reflections on outer portions of the eye. Light is directed toward an eye to cause detectable reflections on the pupil and cornea and these reflections are tracked by a camera to determine gaze direction, for example, by determining a vector between the cornea and pupil that corresponds to gaze direction. Existing eye tracking techniques may not provide adequate tracking of eye accommodation (i.e., focus).
Some implementations disclosed herein provide systems, methods, and devices that use a retinal imaging technique to assess a user's eye accommodation (i.e., focus) during use of an electronic device, e.g., in real time. One or more light sources direct lights toward one or more spots on the retina that are detectable via a sensor. The size and shape of the spot(s) depend upon the eye accommodation/focus and thus are used to identify an accommodation/focus change or measure the eye's accommodation/focus. Eye accommodation may be determined in real time while a user is viewing, interacting with, or otherwise experiencing electronic content via the electronic device.
Some implementations involve a method that is performed via a processer executing instructions stored in a non-transitory memory of an electronic device. Such a method may involve, at an electronic device having a processor and a light source, producing light (e.g., infrared or visible light) using the light source to direct light toward a spot on a retina of an eye. For example, one or more collimated illuminators may be used to direct light toward one or more spots on the retina. The light sources may be oriented in an off-axis manner relative to an axis of the eye. The method receives sensor data (e.g., an image) at a sensor (e.g., a camera). The sensor data corresponds to the illuminated spot on the retina. For example, the sensor data may include one or more camera images having image portions, e.g., pixels that correspond to a retinal appearance including light reflected at an illuminated spot.
The method determines an eye accommodation characteristic based on the sensor data. In some implementations, the eye accommodation characteristic is determined based on a size or a position of the illuminated spot on the retina. Determining the eye accommodation characteristic may involve detecting a change in accommodation or finding an estimate (e.g., a numerical value representing) the accommodation of the eye. In some implementations, determining the eye accommodation characteristic involves comparing an image of the retina to a previous image of the retina to identify a change in size and/or position of an illuminated spot. In some implementations, a spot is identified (e.g., its size, shaped, and/or position) and/or distinguished from other less-illuminated portions of the retina. A spot may be identified via an algorithm (e.g. based on a threshold) and/or using a machine learning (ML) model. A ML model may be used to assess/compare the size and/or position of the spot and/or a relationship between multiple spots.
In accordance with some implementations, a non-transitory computer readable storage medium has stored therein instructions that are computer-executable to perform or cause performance of any of the methods described herein. In accordance with some implementations, a device includes one or more processors, a non-transitory memory, and one or more programs; the one or more programs are stored in the non-transitory memory and configured to be executed by the one or more processors and the one or more programs include instructions for performing or causing performance of any of the methods described herein.
So that the present disclosure can be understood by those of ordinary skill in the art, a more detailed description may be had by reference to aspects of some illustrative implementations, some of which are shown in the accompanying drawings.
In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may not depict all of the components of a given system, method or device. Finally, like reference numerals may be used to denote like features throughout the specification and figures.
Numerous details are described in order to provide a thorough understanding of the example implementations shown in the drawings. However, the drawings merely show some example aspects of the present disclosure and are therefore not to be considered limiting. Those of ordinary skill in the art will appreciate that other effective aspects or variants do not include all of the specific details described herein. Moreover, well-known systems, methods, components, devices and circuits have not been described in exhaustive detail so as not to obscure more pertinent aspects of the example implementations described herein.
In the example of
In some implementations, the device 10 includes an eye tracking system for detecting eye position and eye movements. The eye tracking system may include one or more illuminators 30 (e.g., one or more infrared (IR) light-emitting diodes (LEDs)) that emit light 40 that is reflected off of eye 45 and captured via sensor 35 (e.g., a near-IR (NIR) camera). In one example, the one or more illuminators 30 of the device 10 may emit NIR light directed toward one or more spots on the retina of the eye 45 of the user 25 and the sensor 35 capture images of the eye 45 of the user 25 including the illuminated spot. In some implementations, images captured by the eye tracking system may be analyzed to detect position and movements of the eyes of the user 25, to detect other information about the eyes such as gaze direction, and/or to detect accommodation/focus of the eye. Moreover, the point of gaze estimated from the eye tracking images may enable gaze-based interaction with content.
In some implementations, the device 10 has a user interface (e.g., a graphical user interface GUI), one or more processors, memory and one or more modules, programs or sets of instructions stored in the memory for performing multiple functions. In some implementations, the user 25 interacts with the user interface through finger contacts and gestures on the touch-sensitive surface. In some implementations, the functions include image editing, drawing, presenting, word processing, website creating, disk authoring, spreadsheet making, game playing, telephoning, video conferencing, e-mailing, instant messaging, workout support, digital photographing, digital videoing, web browsing, digital music playing, and/or digital video playing. Executable instructions for performing these functions may be included in a computer readable storage medium or other computer program product configured for execution by one or more processors.
At block 210, the method 200 produces light (e.g., infrared or visible light) using a light source toward a spot on a retina of an eye. For example, one or more collimated illuminators may be used to direct light toward one or more spots on the retina. In some implementations, multiple light sources may simultaneously direct light toward multiple, separate spots on the retina. In some implementations, the light source has collimated illuminators that simultaneously direct light toward multiple spots on the retina. In some implementations, the light source provides light in a variety of different wavelengths and/or polarization states.
The light source(s) may be oriented in an off-axis manner relative to an axis of the eye. Using an off-axis light source may increase the impact of differences in accommodation upon one or more spots illuminated on a retina, i.e., the more off axis the greater the change in size and/or location of a spot as eye accommodation changes. In some implementations, off-axis illumination may facilitate use of a dedicated camera for accommodation detection without interfering with the retina eye tracking.
At block 220, the method 200 receives sensor data (e.g., an image) at a sensor (e.g., a camera). The sensor data corresponds to the illuminated spot on the retina. For example, the sensor data may include one or more camera images having image portions, e.g., pixels that correspond to a retinal appearance including light reflected at an illuminated spot. In some implementations, the sensor data corresponds to multiple spots.
At block 230, the method 200 determines an eye accommodation characteristic based on the sensor data. In some implementations, the eye accommodation characteristic is determined based on a size or a position of the illuminated spot on the retina. Eye accommodation may be determined in real time during presentation of content via the electronic device, e.g., while a user is viewing, interacting with, or otherwise experiencing electronic content via the electronic device. In an implementation in which multiple spots are illuminated, one or more of those spots may be used to determine the eye accommodation characteristic. In one example, one of multiple spots is selected for use in determining the eye accommodation characteristic based on an attribute (e.g., size, shape, position, etc.) of the spot relative to attributes of other spots.
Determining the eye accommodation characteristic may involve detecting a change in accommodation or finding an estimate (e.g., a numerical value representing) the accommodation of the eye. In some implementations, determining the eye accommodation characteristic involves comparing an image of the retina to a previous image of the retina to identify a change in size and/or position of an illuminated spot or multiple illuminated spots. In some implementations, an eye accommodation characteristic is determined based on a distance between two or more simultaneously illuminated spots on a retina or a size of an illuminated spot's pattern on a retina.
In some implementations, a spot is identified (e.g., its size, shaped, and/or position) and/or distinguished from other less-illuminated portions of the retina. A spot may be identified via an algorithm (e.g. based on a threshold) and/or using a machine learning (ML) model. A ML model may be used to assess/compare the size and/or position of the spot and/or a relationship between multiple spots. In one example, thresholds (e.g., thresholds of pixel brightness of pixels, relationship to nearby pixels, etc.) are used to identify a spot and/or its size, position, and/or other detectable attributes. One example of this is to vary the divergence of a point illumination source or sources until the smallest possible spot appears in the imaging camera. When that occurs and/or is detected, the eye accommodation exactly cancels a calibrated divergence of the source. Examples of machine learning models include but are not limited to neural networks (e.g., an artificial neural networks), decision trees, support vector machines, or Bayesian networks.
In some implementations, the light source provides light in a variety of different wavelengths and/or polarization states and these differences are used to aid interpretation of an image obtained via a sensor, e.g., by facilitating identification of a spot (e.g., its size, shaped, and/or position) and/or distinguished a spot from other portions of the retina.
Eye accommodation determinations may be used for a variety for a variety of purposes. In some implementations, for example, method 200 further involves determining an object upon which the eye is focused based on the eye accommodation characteristic. In some implementations, method 200 further involves improving user comfort during a user experience, for example, by positioning a virtual object in a graphical environment at a depth determined based on the eye accommodation characteristic. For example, a virtual object may be placed at approximately the depth/distance from the user that the user is focused upon.
Eye accommodation may be used to provide information, messages, feedback, or to otherwise enhance content provided to a user. For example, content may be highlighted or distinguished based on detecting what a user is focused upon. In some implementations, method 300 further involves tracking a gaze direction of the eye based on the eye accommodation characteristic. Gaze direction may be used to identify real or virtual object upon which a user is focusing.
In some implementations, the method 300 further involves changing an optical focus of an outward facing camera based on a determined eye accommodation characteristic. Information obtained from such a camera include image data that can be presented to the user, modified and presented by the user, or otherwise used by the method 300 to provide content to the user.
In some implementations, eye accommodation is used to enhance foveated rendering provided on a display. For example, eye accommodation may be used to determine what the user is focused upon or where, relative to a display, a user is focusing. Such information may be used to configure the display for optimal or efficient display, for example, by adjusting display settings for different portions of the display accordingly.
In some implementations, eye accommodation and/or an identification of what a user is focused upon is used to improve communication, efficiency, or other aspects of the system that provides the method 300. For example, content associated with an object (e.g., augmentations, supplemental information, related objects, etc.) may be fetched or processed based on determining that the user is focused upon the object.
In some implementations, the one or more communication buses 704 include circuitry that interconnects and controls communications between system components. In some implementations, the one or more I/O devices and sensors 706 include at least one of an inertial measurement unit (IMU), an accelerometer, a magnetometer, a gyroscope, a thermometer, one or more physiological sensors (e.g., blood pressure monitor, heart rate monitor, blood oxygen sensor, blood glucose sensor, electroencephalography (EEG) sensor, electrocardiography (ECG) sensor, electromyography (EMG) sensor, functional near infrared spectroscopy signal (fNIRS) sensor, skin conductance sensor, or image sensor, e.g., for pupillary response, etc.), one or more microphones, one or more speakers, a haptics engine, one or more depth sensors (e.g., a structured light, a time-of-flight, or the like), and/or the like.
In some implementations, the one or more displays 712 are configured to present a user experience to the user 25. In some implementations, the one or more displays 712 correspond to holographic, digital light processing (DLP), liquid-crystal display (LCD), liquid-crystal on silicon (LCoS), organic light-emitting field-effect transitory (OLET), organic light-emitting diode (OLED), surface-conduction electron-emitter display (SED), field-emission display (FED), quantum-dot light-emitting diode (QD-LED), microelectromechanical system (MEMS), a retinal projection system, and/or the like display types. In some implementations, the one or more displays 712 correspond to diffractive, reflective, polarized, holographic, etc. waveguide displays. In one example, the device 10 includes a single display. In another example, the device 10 includes a display for each eye of the user 25, e.g., an HMD. In some implementations, the one or more displays 712 are capable of presenting extended reality (XR) content, e.g., augmented reality content, virtual reality content, etc.
In some implementations, the one or more image sensor systems 714 are configured to obtain image data that corresponds to at least a portion of the face of the user 25 that includes the eyes of the user 25. For example, the one or more image sensor systems 714 include one or more RGB camera (e.g., with a complimentary metal-oxide-semiconductor (CMOS) image sensor or a charge-coupled device (CCD) image sensor), monochrome camera, IR camera, event-based camera, and/or the like. In various implementations, the one or more image sensor systems 714 further include illumination sources that emit light upon the portion of the face of the user 25, such as a flash or a glint source.
The memory 720 includes high-speed random-access memory, such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices. In some implementations, the memory 720 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 720 optionally includes one or more storage devices remotely located from the one or more processing units 702. The memory 720 comprises a non-transitory computer readable storage medium. In some implementations, the memory 720 or the non-transitory computer readable storage medium of the memory 720 stores the following programs, modules and data structures, or a subset thereof including an optional operating system 720 and instruction set(s) 740.
The operating system 730 includes procedures for handling various basic system services and for performing hardware dependent tasks. In some implementations, the instruction set(s) 740 is/are configured to implement gaze tracking and/or related features. To that end, in various implementations, the instruction set(s) 740 includes a light producer 742 and a tracker 744.
In some implementations, the light producer 742 is configured to control the production of illuminated spots on the retina of a user, for example, by determining when and/or how an illumination source will be operated to produce such spots. To these ends, in various implementations, the light producer 742 includes instructions and/or logic therefor, and heuristics and metadata therefor.
In some implementations, the tracker 744 is configured to determine accommodation/focus of an eye based on sensor data. This may involve detecting one or more illuminated spots on the retina via a sensor and using the size and/or shape of the spot(s) to determine an eye accommodation/focus characteristic, e.g., state, changes, etc. To these ends, in various implementations, the tracker 744 includes instructions and/or logic therefor, and heuristics and metadata therefor.
Although the units and modules of
Moreover,
The housing 1001 houses a display 1010 that displays an image, emitting light toward or onto the eye of a user 25. In various implementations, the display 1010 emits the light through an eyepiece having one or more lenses 1005 that refracts the light emitted by the display 1010, making the display appear to the user 25 to be at a virtual distance farther than the actual distance from the eye to the display 1010. For the user 25 to be able to focus on the display 1010, in various implementations, the virtual distance is at least greater than a minimum focal distance of the eye (e.g., 7 cm). Further, in order to provide a better user experience, in various implementations, the virtual distance is greater than 1 meter.
The housing 1001 also houses a tracking system including one or more light sources 1022, camera 1024, and a controller 1080. The one or more light sources 1022a-d emit light toward the eye 45 of the user that reflects and can be detected by the camera 1024. Based on the reflections, the controller 1080 can determine an eye tracking characteristic such as an eye accommodation characteristic of the user. In some implementations, the controller 1080 can determine a gaze direction and/or a blinking state (eyes open or eyes closed) of the user. As another example, the controller 1080 can determine a pupil center, a pupil size, or a point of regard. As another example, the controller 1080 can determine an eye accommodation characteristic of the user. Thus, in various implementations, the light is emitted by the one or more light sources 1022a-d, reflects off the eye 45 of the user, and is detected by the camera 1024. In various implementations, the light from the eye 45 of the user is reflected off a hot mirror or passed through an eyepiece before reaching the camera 1024.
The display 1010 emits light in a first wavelength range and the one or more light sources 1022a-d emit light in a second wavelength range. Similarly, the camera 1024 detects light in the second wavelength range. In various implementations, the first wavelength range is a visible wavelength range (e.g., a wavelength range within the visible spectrum of approximately 400-700 nm) and the second wavelength range is a near-infrared wavelength range (e.g., a wavelength range within the near-infrared spectrum of approximately 700-1400 nm).
In various implementations, eye tracking (or, in particular, a determined gaze direction and/or accommodation) is used to enable user interaction (e.g., the user 25 selects an option on the display 1010 by looking at it and focusing on it), provide foveated rendering (e.g., present a higher resolution in an area of the display 1010 the user 25 is looking at and a lower resolution elsewhere on the display 1010), or correct distortions (e.g., for images to be provided on the display 1010).
In various implementations, the camera 1024 is a frame/shutter-based camera that, at a particular point in time or multiple points in time at a frame rate, generates an image of the eye of the user 25. Each image includes a matrix of pixel values corresponding to pixels of the image which correspond to locations of a matrix of light sensors of the camera. In implementations, each image is used to measure or track pupil dilation by measuring a change of the pixel intensities associated with one or both of a user's pupils.
It will be appreciated that the implementations described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope includes both combinations and sub combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.
As described above, one aspect of the present technology is the gathering and use of physiological data to improve a user's experience of an electronic device. The present disclosure contemplates that in some instances, this gathered data may include personal information data that uniquely identifies a specific person or can be used to identify interests, traits, or tendencies of a specific person. Such personal information data can include physiological data, demographic data, location-based data, telephone numbers, email addresses, home addresses, device characteristics of personal devices, or any other personal information.
The present disclosure recognizes that the use of such personal information data, in the present technology, can be used to the benefit of users. For example, the personal information data can be used to improve the content viewing experience. Accordingly, use of such personal information data may enable calculated control of the electronic device. Further, other uses for personal information data that benefit the user are also contemplated by the present disclosure.
The present disclosure further contemplates that the entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information and/or physiological data will comply with well-established privacy policies and/or privacy practices. In particular, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining personal information data private and secure. For example, personal information from users should be collected for legitimate and reasonable uses of the entity and not shared or sold outside of those legitimate uses. Further, such collection should occur only after receiving the informed consent of the users. Additionally, such entities would take any needed steps for safeguarding and securing access to such personal information data and ensuring that others with access to the personal information data adhere to their privacy policies and procedures. Further, such entities can subject themselves to evaluation by third parties to certify their adherence to widely accepted privacy policies and practices.
Despite the foregoing, the present disclosure also contemplates implementations in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware or software elements can be provided to prevent or block access to such personal information data. For example, in the case of user-tailored content delivery services, the present technology can be configured to allow users to select to “opt in” or “opt out” of participation in the collection of personal information data during registration for services. In another example, users can select not to provide personal information data for targeted content delivery services. In yet another example, users can select to not provide personal information, but permit the transfer of anonymous information for the purpose of improving the functioning of the device.
Therefore, although the present disclosure broadly covers use of personal information data to implement one or more various disclosed embodiments, the present disclosure also contemplates that the various embodiments can also be implemented without the need for accessing such personal information data. That is, the various embodiments of the present technology are not rendered inoperable due to the lack of all or a portion of such personal information data. For example, content can be selected and delivered to users by inferring preferences or settings based on non-personal information data or a bare minimum amount of personal information, such as the content being requested by the device associated with a user, other non-personal information available to the content delivery services, or publicly available information.
In some embodiments, data is stored using a public/private key system that only allows the owner of the data to decrypt the stored data. In some other implementations, the data may be stored anonymously (e.g., without identifying and/or personal information about the user, such as a legal name, username, time and location data, or the like). In this way, other users, hackers, or third parties cannot determine the identity of the user associated with the stored data. In some implementations, a user may access their stored data from a user device that is different than the one used to upload the stored data. In these instances, the user may be required to provide login credentials to access their stored data.
Numerous specific details are set forth herein to provide a thorough understanding of the claimed subject matter. However, those skilled in the art will understand that the claimed subject matter may be practiced without these specific details. In other instances, methods, apparatuses, or systems that would be known by one of ordinary skill have not been described in detail so as not to obscure claimed subject matter.
Unless specifically stated otherwise, it is appreciated that throughout this specification discussions utilizing the terms such as “processing,” “computing,” “calculating,” “determining,” and “identifying” or the like refer to actions or processes of a computing device, such as one or more computers or a similar electronic computing device or devices, that manipulate or transform data represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the computing platform.
The system or systems discussed herein are not limited to any particular hardware architecture or configuration. A computing device can include any suitable arrangement of components that provides a result conditioned on one or more inputs. Suitable computing devices include multipurpose microprocessor-based computer systems accessing stored software that programs or configures the computing system from a general-purpose computing apparatus to a specialized computing apparatus implementing one or more implementations of the present subject matter. Any suitable programming, scripting, or other type of language or combinations of languages may be used to implement the teachings contained herein in software to be used in programming or configuring a computing device.
Implementations of the methods disclosed herein may be performed in the operation of such computing devices. The order of the blocks presented in the examples above can be varied for example, blocks can be re-ordered, combined, or broken into sub-blocks. Certain blocks or processes can be performed in parallel.
The use of “adapted to” or “configured to” herein is meant as open and inclusive language that does not foreclose devices adapted to or configured to perform additional tasks or steps. Additionally, the use of “based on” is meant to be open and inclusive, in that a process, step, calculation, or other action “based on” one or more recited conditions or values may, in practice, be based on additional conditions or value beyond those recited. Headings, lists, and numbering included herein are for ease of explanation only and are not meant to be limiting.
It will also be understood that, although the terms “first,” “second,” etc. may be used herein to describe various objects, these objects should not be limited by these terms. These terms are only used to distinguish one object from another. For example, a first node could be termed a second node, and, similarly, a second node could be termed a first node, which changing the meaning of the description, so long as all occurrences of the “first node” are renamed consistently and all occurrences of the “second node” are renamed consistently. The first node and the second node are both nodes, but they are not the same node.
The terminology used herein is for the purpose of describing particular implementations only and is not intended to be limiting of the claims. As used in the description of the implementations and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, objects, or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, objects, components, or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true]” or “if [a stated condition precedent is true]” or “when [a stated condition precedent is true]” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
The foregoing description and summary of the invention are to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined only from the detailed description of illustrative implementations but according to the full breadth permitted by patent laws. It is to be understood that the implementations shown and described herein are only illustrative of the principles of the present invention and that various modification may be implemented by those skilled in the art without departing from the scope and spirit of the invention.
This patent application is the national stage of International Application No. PCT/US2021/049778 filed on Sep. 10, 2021, which claims the benefit of U.S. Provisional Patent Application No. 63/081,498 filed on Sep. 22, 2020, entitled “RETINAL IMAGING-BASED EYE ACCOMMODATION DETECTION,” each of which is incorporated herein by this reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2021/049778 | 9/10/2021 | WO |
Number | Date | Country | |
---|---|---|---|
63081498 | Sep 2020 | US |