Improved eye tracking techniques based on neural network analysis of images.
Patent Information
- Application Number
- JP2022574156
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-05
- Filing Date
- 2021-05-28
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2041-05-28
Smart Images

Figure 0007635264000001 
Figure 0007635264000002 
Figure 0007635264000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to display systems, and more particularly to augmented and virtual reality systems and devices. [Background technology]
[0002] Modern computing and display technologies have facilitated the development of systems for so-called "virtual reality" or "augmented reality" experiences, in which digitally reproduced images or portions thereof are presented to a user in a manner that appears or may be perceived as real. Virtual reality, or "VR", scenarios typically involve the presentation of digital or virtual image information without transparency to other actual real-world visual inputs, and augmented reality, or "AR", scenarios typically involve the presentation of digital or virtual image information as an extension to the visualization of the real world around the user. Mixed reality, or "MR", scenarios are a type of AR scenario that typically involve virtual objects that are integrated into and responsive to the natural world. For example, MR scenarios may include AR image content that appears blocked by or is perceived to otherwise interact with objects in the real world.
[0003] Referring to FIG. 1, an AR scene 10 is depicted. A user of the AR technology sees a real-world park-like setting 20 featuring people, trees, buildings in the background, and a concrete platform 30. The user also perceives that they are "seeing" "virtual content," such as a robotic figure 40 standing on the real-world platform 30 and a flying cartoon-like avatar character 50 that appears to be an anthropomorphic bumblebee. These elements 50, 40 are "virtual" in that they do not exist in the real world. Because the human visual perception system is complex, it is difficult to produce AR technology that facilitates a comfortable, natural-feeling, and rich presentation of virtual image elements among other virtual or real-world image elements. Summary of the Invention [Means for solving the problem]
[0004] An exemplary embodiment includes a method implemented by an augmented or virtual reality wearable system of one or more processors, the method including acquiring an image of an eye of a user of the wearable system, the image depicting phosphenes on the eye caused by a discrete light emitter, the image being a low dynamic range (LDR) image, using the image to generate a high dynamic range (HDR) image via a forward pass computation of a machine learning model, and determining location information associated with the phosphenes as depicted in the HDR image, the location information being usable to inform an eye posture of the eye.
[0005] Exemplary embodiments include a method implemented by a system of one or more processors, the method including: setting one or more parameters associated with an eye-control rig, the eye-control rig comprising a representation of an eye (or an "eye replica"), a plurality of light emitters, and one or more imaging devices, the one or more parameters indicating at least an orientation associated with the representation of the eye; acquiring a plurality of images of the representation of the eye, the images being low dynamic range (LDR) images acquired at different exposures; generating a high dynamic range (HDR) image based on the acquired images; and training a machine learning model based on the acquired images and the HDR images, the machine learning model being trained to generate the HDR image from the input LDR image. The present invention provides, for example, the following: (Item 1) 1. A method implemented by an augmented or virtual reality wearable system of one or more processors, the method comprising: acquiring an image of an eye of a user of the wearable system, the image depicting a flash of light on the eye caused by a discrete light emitter, the image being a low dynamic range (LDR) image; using the image to generate a high dynamic range (HDR) image via a forward pass computation of a machine learning model; determining location information associated with the flash of light as depicted in the HDR image, the location information being usable to inform an eye posture of the eye; A method comprising: (Item 2) 2. The method of claim 1, wherein the image is acquired using a particular exposure associated with an imaging device of the wearable system. (Item 3) 2. The method of claim 1, wherein the light emitter is a light emitting diode. (Item 4) 2. The method of claim 1, wherein the light emitter is an infrared emitting diode. (Item 5) 2. The method of claim 1, wherein the machine learning model is a convolutional neural network. (Item 6) 2. The method of claim 1, wherein the machine learning model is an autoencoder with multiple convolutional layers, the autoencoder including an encoder portion that generates a latent feature representation associated with the image, and a decoder portion that generates the HDR image based on the latent feature representation. (Item 7) 7. The method of claim 6, wherein one or more skip connections connect the encoder portion and the decoder portion, the skip connections providing domain transfer information from the encoder portion to the decoder portion. (Item 8) 8. The method of claim 7, wherein the domain transfer information comprises logarithmic HDR values generated from LDR display values of the image. (Item 9) 2. The method of claim 1, wherein the flash of light is imaged onto the pupil of the eye. (Item 10) 2. The method of claim 1, wherein the size of the glint depicted in the image exceeds the size of the glint depicted in the HDR image. (Item 11) 2. The method of claim 1, wherein each flash depicted in the image contains a larger irregular portion than a corresponding flash contained in the HDR image. (Item 12) Item 12. The method of item 11, wherein the irregular portion is a tail extending from an oval or circular portion of the flash. (Item 13) 2. The method of claim 1, wherein the machine learning model is trained to generate HDR images from corresponding LDR images based on training data, the training data comprising a number of LDR and HDR image pairs, the LDR and HDR image pairs being generated using an eye camera rig. (Item 14) Item 14. The method of item 13, wherein the eye camera rig comprises a representation of an eye, a number of light emitters, and one or more imaging devices. (Item 15) The method of claim 14, wherein the eye camera rig is controllable by a system of one or more processors, the system defining parameters for controlling the eye camera rig, the parameters comprising one or more of the orientation of the eye replica, pulse width modulation of the light emitter, or exposure information for the imaging device. (Item 16) Item 15. The method of item 14, wherein the training data comprises a plurality of first LDR images and a first HDR image, the first LDR images being acquired from the eye camera rig with the eye replica in a particular orientation, and the first LDR images being acquired using different exposures. (Item 17) Item 17. The method of item 16, wherein the first HDR image is generated via combining the first LDR images, and the machine learning model is trained to generate the first HDR image from each of the first LDR images. (Item 18) Determining the location of the flash identifying a region of interest associated with the flash, the region of interest representing a boundary of the flash as depicted in the HDR image; determining a respective distribution along two axes of the HDR image, the distribution being determined based on pixel values contained within the region of interest; assigning locations based on the determined distribution; and The method according to item 1, comprising: (Item 19) 20. The method of claim 18, wherein the assigned location corresponds to the highest value of the distribution along the two axes. (Item 20) 20. The method of claim 18, wherein the distribution is a Gaussian distribution. (Item 21) 2. The method of claim 1, wherein the eye pose is usable for eye tracking of the eye. (Item 22) 2. The method according to claim 1, wherein an eye posture is determined for each of the user's two eyes. (Item 23) 1. A display system of one or more processors, the display system comprising: a plurality of light emitters positioned to provide light onto an eye of a user of the display system; an imaging device configured to acquire one or more images of the eye; one or more processors and a non-transitory computer storage medium, the non-transitory computer storage medium storing instructions that, when executed by the one or more processors, cause the one or more processors to perform the method of any one of items 1-22; A display system comprising: (Item 24) 1. A method implemented by a system of one or more processors, the method comprising: - configuring one or more parameters associated with an eye-control rig, the eye-control rig comprising a representation of an eye, a plurality of light emitters, and one or more imaging devices, the one or more parameters indicating at least an orientation associated with the eye replica; acquiring a plurality of images of the eye replica, the images being low dynamic range (LDR) images acquired at different exposures; generating a high dynamic range (HDR) image based on the captured image; training a machine learning model based on at least one of the captured image and the HDR image, the machine learning model being trained to generate an HDR image from an input LDR image; A method comprising: (Item 25) 25. The method of claim 24, wherein the parameters further comprise pulse width modulation of the light emitter or exposure information regarding the imaging device. (Item 26) 25. The method of claim 24, wherein the HDR image is generated through combining the acquired images. (Item 27) 25. The method of claim 24, wherein the machine learning model is an autoencoder with multiple convolutional layers, the autoencoder including an encoder portion that generates a latent feature representation associated with the image, and a decoder portion that generates an HDR image based on the latent feature representation. (Item 28) 28. The method of claim 27, wherein one or more skip connections connect the encoder portion and the decoder portion, the skip connections providing domain transfer information from the encoder portion to the decoder portion. (Item 29) 29. The method of claim 28, wherein the domain transfer information comprises logarithmic HDR values generated from LDR display values of the acquired image. (Item 30) 25. The method of claim 24, wherein the light emitters are depicted as flashes in each of the acquired images, the flashes being at different locations on the eye replica. (Item 31) 31. The method of claim 30, wherein the different locations of the flashes are determined based on location information of the light emitter and an orientation of the eye replica, and the machine learning model is trained to label flashes at the different locations. (Item 32) 25. The method of claim 24, wherein the system is configured to adjust the orientation of the eye replica. (Item 33) Training a machine learning model based on at least one of the captured image and the HDR image includes: selecting a particular image of the captured images with an exposure associated with an imaging device of an augmented or virtual reality display system; training the machine learning model based on the selected specific image and the HDR image; 25. The method according to item 24, comprising: (Item 34) A system comprising one or more processors and a non-transitory computer storage medium storing instructions that, when executed by the one or more processors, cause the processor to perform the method of any one of items 24-33. (Item 35) A system, method, apparatus, and computer-readable storage medium disclosed herein. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 illustrates a user's view of an augmented reality (AR) device.
[0007] [Diagram 2] FIG. 2 illustrates a conventional display system for simulating a three-dimensional image for a user.
[0008] [Diagram 3] 3A-3C illustrate the relationship between the radius of curvature and the radius of focus.
[0009] [Figure 4A] Figure 4A illustrates a representation of the accommodation-vergence-divergence motor response of the human visual system.
[0010] [Figure 4B] FIG. 4B illustrates examples of different accommodation and convergence states of a pair of a user's eyes.
[0011] [Figure 4C] FIG. 4C illustrates an example of a top-down view representation of a user viewing content through a display system.
[0012] [Figure 4D] FIG. 4D illustrates another example of a top-down view representation of a user viewing content through a display system.
[0013] [Diagram 5]FIG. 5 illustrates aspects of an approach for simulating a three-dimensional image by modifying wavefront divergence.
[0014] [Figure 6] FIG. 6 illustrates an embodiment of a waveguide stack for outputting image information to a user.
[0015] [Figure 7] FIG. 7 illustrates an example of an output beam output by a waveguide.
[0016] [Figure 8] FIG. 8 illustrates an example of a stacked eyepiece where each depth plane contains an image formed using multiple different primary colors.
[0017] [Figure 9A] FIG. 9A illustrates a cross-sectional side view of an example of a set of stacked waveguides, each of which includes an internal coupling optical element.
[0018] [Figure 9B] FIG. 9B illustrates a perspective view of the multiple stacked waveguide embodiment of FIG. 9A.
[0019] [Figure 9C] FIG. 9C illustrates a top-down plan view of the multiple stacked waveguide embodiment of FIGS. 9A and 9B.
[0020] [Figure 9D] FIG. 9D illustrates a top-down plan view of another embodiment of multiple stacked waveguides.
[0021] [Figure 9E] FIG. 9E illustrates an example of a wearable display system.
[0022] [Figure 10A] FIG. 10A illustrates an image of the eye acquired through an imaging device of a display system.
[0023] [Figure 10B] FIG. 10B illustrates a block diagram of a high dynamic range (HDR) conversion model that can be used to generate an HDR image from a low dynamic range (LDR) image.
[0024] [Figure 11] FIG. 11 illustrates an example machine learning model that can be used to generate an HDR image from an LDR image.
[0025] [Figure 12] FIG. 12 is a flowchart of an example process for determining location information associated with a flash of light depicted in an LDR image.
[0026] [Figure 13] FIG. 13 is a flowchart of an example process for training an HDR conversion model.
[0027] [Figure 14A] FIG. 14A illustrates an example of an LDR image of an eye camera rig in accordance with the techniques described herein.
[0028] [Figure 14B] FIG. 14B illustrates an example of an HDR image of an eye camera rig according to the techniques described herein.
[0029] [Figure 15] FIG. 15 is an example of an image of an eye camera rig based on adjusting parameters of the eye camera rig. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0030] Detailed Description This specification describes techniques for improving eye tracking as used within an augmented or virtual reality display system. As will be described below, machine learning models may be used to increase the accuracy associated with eye tracking. Exemplary machine learning models may include neural networks, such as convolutional neural networks. These convolutional neural networks may be used to analyze input images, such as images of the eyes of a user of an augmented or virtual reality display system. For example, convolutional neural networks may be used to generate high dynamic range (HDR) images from low or standard dynamic range (LDR) images of the user's eyes. In this example, the HDR images may reduce the occurrence of over-exposed or under-exposed portions of the LDR images. These portions may correspond to reflections of light (e.g., flashes of light) in the user's eye from LEDs fixed to the augmented or virtual reality display system (and / or other light sources). Based on the location of these flashes of light and / or other image data, the orientation of the user's eye may be determined. Thus, reducing the over-exposed portions of these flashes of light may enable increased accuracy in determining the location of the flashes of light, and thus improved eye pose determination. Exemplary Eye Tracking Techniques
[0031] To provide visually realistic virtual content, it is advantageous for an augmented or virtual reality display system or wearable system (hereinafter referred to as a "display system") to accurately track (e.g., monitor) the user's eyes. For example, accurate determination of the orientation of each eye (referred to herein as eye posture) may improve the realism of the presented virtual content. Indeed, a virtual scene (e.g., an augmented reality scene 10 illustrated in FIG. 1) may be rendered by the display system based on the user's eyes being assigned as the "rendering camera" for the scene. For example, the center of the user's eyes may be assigned as the rendering camera. Thus, the location of the virtual content within the virtual scene may be tied to the center of the user's eyes along with the gaze direction and vergence-divergence movement of the eyes. As the user moves their eyes, e.g., viewing virtual or real-world content, the display system may adjust the virtual content accordingly. Thus, improved techniques for tracking the user's eyes may substantially improve the functionality of such display systems and provide a better viewing experience for the user.
[0032] Tracking the user's eyes may include determining convergence and divergence movements, gaze direction, individual centers of the user's eyes, etc. At least some of these determinations may result based on identifying individual eye postures for the user's eyes. For example, based on the orientation of the eyes, the display system may determine an axis (e.g., an optical and / or visual axis) extending from the eyes. This axis may represent the gaze direction of the user's eyes. Using the eye postures for both of the user's eyes, the display system may identify a location in three-dimensional space where the user's eyes are convergent.
[0033] It should be appreciated that gaze tracking may be utilized to determine virtual content to display to a user. For example, virtual content that is tied to the real world may be adjusted to provide correct correspondence with the real world by tracking where the user is looking. Additionally, in display systems that provide virtual content on different depth planes, the point at which the user's eyes are converged may be utilized to determine the appropriate depth plane on which to display the virtual content.
[0034] Some existing techniques for determining eye posture utilize one or more cameras positioned on a display system to capture images of a user's eye. Such camera-based systems may use a number of light-emitting diodes (LEDs) to project light onto the user's eye. The LEDs may be positioned on the display system such that light from the LEDs is reflected off a particular portion of the user's eye (e.g., the pupil). A camera may be positioned on the display system to image the eye and determine the position of the reflected light. As the user moves their eye (e.g., changes eye posture), the image and position of the reflected light may change as well. Based on an analysis of the captured images of the eye, the display system may determine the eye posture.
[0035] To determine the location of the reflected light, the display system may determine the center of gravity of the light from each LED as it is reflected into the user's eye. For example, the display system may determine the center of gravity in the X and Y axes of an image acquired from the user's eye. In this manner, the display system may determine a location associated with each LED. Based on a number of these locations relative to the image, the display system may determine an eye pose associated with the user's eye.
[0036] Further discussion related to eye tracking is included within U.S. Provisional Patent Application No. 62 / 940785 and U.S. Patent Publication No. 2019 / 0324276, which are incorporated by reference in their entireties herein. Example HDR conversion
[0037] The exemplary techniques described above may allow for accurate determination of a user's eye posture. However, they present certain technical challenges. For example, the light from the LED may undergo different reflections within the user's eye. This may introduce certain optical artifacts, such that the light reflected from the LED may be imaged to be irregularly shaped. For example, the reflected light may not be approximately oval, but may include a tail extending from a circular or oval portion. An example of reflected light is included in FIG. 10B.
[0038] These optical artifacts may arise, at least in part, because the image of the user's eye is in a low dynamic range (LDR). Thus, some of the images may result in a loss of detail with respect to highlights and shadows. As can be appreciated, some of the images depicting light from the LEDs may represent highlights in the image. For example, the luminosity of the light as reproduced in the image of the user's pupil may exceed that of other parts of the image. Thus, the dynamic range available for the light may be limited such that there may be a loss of detail in these highlights. This loss of detail may result in poorly defined or irregularly shaped light representing the reflection of the LEDs in the image of the user's eye. Determining the location of the reflected light may therefore be adversely affected.
[0039] High dynamic range (HDR) images allow reproduction of a better dynamic range of luminosity compared to LDR images. For an HDR image of a user's eye, the light reflected from the LED may have more details compared to an LDR image. Therefore, it may be advantageous to use HDR images when implementing eye tracking techniques.
[0040] An exemplary technique for generating an HDR image may include acquiring multiple LDR images of a substantially fixed scene. The LDR images may be acquired with different exposures and then combined together. Although this exemplary technique is commonly used, in some embodiments, it may be disadvantageous for an augmented or virtual reality display system. For accurate eye tracking, the display system may be required to determine eye pose at a frequency above a threshold (e.g., 60 Hz, 120 Hz, 1,000 Hz). To combine multiple LDR images, the camera may be required to acquire multiple images at a rate substantially above the threshold frequency. As can be appreciated, a user's eyes are unlikely to be able to remain substantially fixed for a sufficient period of time to acquire multiple images. Eyes are capable of such high speed movement that acquiring multiple images of a substantially fixed eye may be impractical. Thus, an HDR image generated from multiple LDR images may reflect the smearing or movement of light reflected from the LEDs as depicted in the LDR images.
[0041] As described herein, a machine learning model may be utilized to generate an HDR image from an LDR image. An exemplary machine learning model may include a neural network, such as a convolutional neural network. An exemplary convolutional neural network may include an autoencoder that is trained to encode the LDR image into a latent feature representation. The autoencoder may then code the representation into an HDR image. A skip connection may optionally be utilized to provide domain transformation information from the encoder network to the decoder network. An exemplary network is described in further detail below with respect to FIG. 11.
[0042] Through machine learning models, the display system can utilize a single LDR image while obtaining the benefits of an HDR image, as an example. In this way, the display system can more accurately determine the position of the light reflected from the LEDs. Exemplary Wearable System
[0043] FIG. 2 illustrates a conventional display system for simulating a three-dimensional image for a user. It should be understood that when a user's eyes are spaced apart and viewing a real object in space, each eye may have a slightly different view of the object and form an image of the object at a different location on each eye's retina. This may be referred to as binocular disparity and may be exploited by the human visual system to provide a perception of depth. Conventional display systems simulate binocular disparity by presenting two distinctly different images 190, 200 with slightly different views of the same virtual object, one for each eye 210, 220, corresponding to the view of the virtual object as it would appear by each eye as if the virtual object were a real object at a desired depth. These images provide binocular cues that the user's visual system may interpret to derive a perception of depth.
[0044] Continuing with reference to FIG. 2, the images 190, 200 are spaced from the eyes 210, 220 by a distance 230 on the z-axis, which is parallel to the optical axis of the viewer when that eye is fixating on an object at optical infinity directly in front of the viewer. The images 190, 200 are flat and at a fixed distance from the eyes 210, 220. Based on slightly different views of the virtual object in the images presented to the eyes 210, 220, respectively, the eyes may necessarily rotate such that the image of the object falls on a corresponding point on the eye's respective retina to maintain single binocular vision. This rotation may cause the line of sight of each of the eyes 210, 220 to converge on a point in space where the virtual object is perceived to reside. As a result, providing three-dimensional images traditionally involves manipulating the convergence and divergence movements of the user's eyes 210, 220 to provide binocular cues that the human visual system interprets to provide the perception of depth.
[0045] However, creating a realistic and comfortable perception of depth is difficult. It should be understood that light from an object at different distances from the eye has a wavefront with different amounts of divergence. Figures 3A-3C illustrate the relationship between distance and divergence of light rays. The distance between the object and the eye 210 is represented in the order of decreasing distances R1, R2, and R3. As shown in Figures 3A-3C, the light rays become more divergent as the distance to the object decreases. Conversely, as the distance increases, the light rays become more collimated. In other words, the light field generated by a point (an object or part of an object) can be said to have a spherical wavefront curvature that is a function of the distance the point is away from the user's eye. The curvature increases with decreasing distance between the object and the eye 210. Although only a single eye 210 is illustrated in Figures 3A-3C and various other figures herein for clarity of illustration, the discussion regarding the eye 210 may apply to both eyes 210 and 220 of a viewer.
[0046] 3A-3C, light from an object that a viewer's eye is fixating on may have different wavefront divergences. Due to the different wavefront divergences, the light may be focused differently by the eye's lens, which in turn may require the lens to assume a different shape and form a focused image on the eye's retina. If a focused image is not formed on the retina, the resulting retinal blur acts as an accommodative cue, causing the shape of the eye's lens to change until a focused image is formed on the retina. For example, the accommodative cue may trigger the relaxation or contraction of the ciliary muscle surrounding the eye's lens, thereby modulating the force applied to the suspensory ligament that holds the lens, thus changing the shape of the eye's lens, thereby forming a focused image of the fixated object on the eye's retina (e.g., the fovea) until retinal blur of the fixated object is eliminated or minimized. The process by which the eye lens changes shape may be referred to as accommodation, and the shape of the eye lens required to form a focused image of a fixated object on the eye's retina (e.g., the fovea) may be referred to as the state of accommodation.
[0047] Referring now to FIG. 4A, a representation of the accommodation-vergence response of the human visual system is illustrated. A movement of the eye to fixate an object causes the eye to receive light from the object, which forms an image on each of the eye's retinas. The presence of retinal blur in the image formed on the retina may provide a cue for accommodation, and the relative location of the image on the retina may provide a cue for vergence. A cue for accommodation causes accommodation, resulting in a particular accommodation state in which each of the eye's lenses forms a focused image of the object on the eye's retina (e.g., the fovea). On the other hand, a cue for vergence causes a vergence movement (eye rotation) such that the image formed on each retina of each eye is at a corresponding retinal point that maintains single binocular vision. In these positions, the eyes may be said to be in a particular vergence state. Continuing with reference to FIG. 4A, accommodation can be understood to be the process by which the eye achieves a particular accommodation state, and convergence can be understood to be the process by which the eye achieves a particular convergence state. As shown in FIG. 4A, the accommodation and convergence state of the eye can change when the user fixates a different object. For example, the accommodated state can change when the user fixates a new object at a different depth on the z-axis.
[0048] Without being limited by theory, it is believed that a viewer of an object may perceive the object as being "three-dimensional" due to a combination of vergence-divergence and accommodation. As described above, vergence-divergence movements of the two eyes relative to one another (e.g., rotation of the eyes such that the pupils move toward or away from one another, converging the gaze of the eyes to fixate on an object) are closely coupled to accommodation of the eye's lenses. Under normal conditions, a change in the shape of the eye's lenses to change focus from one object to another at a different distance will automatically produce a corresponding change in vergence-divergence to the same distance, in a relationship known as the "accommodation-vergence-divergence reflex." Similarly, a change in vergence-divergence will induce a corresponding change in lens shape under normal conditions.
[0049] 4B, an example of different accommodation and convergence-divergence states of the eyes is illustrated. Paired eye 222a fixates an object at optical infinity, while paired eye 222b fixates an object 221 at less than optical infinity. Notably, the convergence-divergence states of each pair of eyes are different, paired eye 222a points straight ahead, while paired eye 222 converges on object 221. The accommodation states of the eyes forming each pair of eyes 222a and 222b are also different, as represented by the different shapes of the lenses 210a, 220a.
[0050] Unfortunately, many users of conventional "3-D" display systems may find such conventional systems uncomfortable or may not perceive any depth sensation due to a mismatch between accommodation and vergence states in these displays. As described above, many stereoscopic or "3-D" display systems display a scene by providing a slightly different image to each eye. Such systems are uncomfortable for many viewers because, among other things, they simply provide different presentations of a scene, causing changes in the vergence states of the eyes, but without a corresponding change in the accommodation state of those eyes. Rather, images are presented by the display at a fixed distance from the eyes, such that the eyes view all image information in a single accommodation state. Such an arrangement counters the "accommodation-vergence-divergence reflex" by causing changes in vergence states without a matching change in accommodation state. This mismatch is believed to cause viewer discomfort. By providing better matching between accommodation and convergence-divergence movements, display systems may form a more realistic and comfortable simulation of three-dimensional images.
[0051] Without being limited by theory, it is believed that the human eye is typically capable of interpreting a finite number of depth planes to provide depth perception. As a result, a highly realistic simulation of perceived depth may be achieved by providing the eye with different presentations of images corresponding to each of these limited number of depth planes. In some embodiments, the different presentations may provide both vergence cues and matching cues for accommodation, thereby providing physiologically correct accommodation-vergence divergence matching.
[0052] 4B, two depth planes 240 are illustrated, corresponding to different distances in space from the eyes 210, 220. For a given depth plane 240, vergence-divergence cues may be provided by displaying appropriately different perspective images for each eye 210, 220. In addition, for a given depth plane 240, the light forming the image provided to each eye 210, 220 may have a wavefront divergence corresponding to the light field generated by a point at the distance of that depth plane 240.
[0053] In the illustrated embodiment, the distance along the z-axis of the depth plane 240 containing the point 221 is 1 m. As used herein, the distance or depth along the z-axis may be measured with the zero point located at the exit pupil of the user's eye. Thus, the depth plane 240 located at a depth of 1 m corresponds to a distance of 1 m away from the exit pupil of the user's eye on the optical axis of those eyes with the eyes pointed towards optical infinity. As an approximation, the depth or distance along the z-axis may be measured from the display (e.g., the surface of the waveguide) in front of the user's eye and a value for the distance between the device and the exit pupil of the user's eye may be added. That value may be called the pupil distance and may correspond to the distance between the exit pupil of the user's eye and the display worn by the user in front of the eye. In practice, the value for the pupil distance may be a normalized value that is generally used for all viewers. For example, the pupil distance may be assumed to be 20 mm and the depth plane at a depth of 1 m may be at a distance of 980 mm in front of the display.
[0054] 4C and 4D, examples of matched accommodation-vergence-divergence distances and mismatched accommodation-vergence-divergence distances are illustrated, respectively. As illustrated in FIG. 4C, the display system may provide an image of a virtual object to each eye 210, 220. The image may cause the eyes 210, 220 to assume a convergence-divergence state in which the eyes converge on point 15 on the depth plane 240. In addition, the image may be formed by light having a wavefront curvature corresponding to a real object in that depth plane 240. As a result, the eyes 210, 220 assume an accommodation state in which the image is focused on the retinas of those eyes. Thus, the user may perceive the virtual object as being at point 15 on the depth plane 240.
[0055] It should be appreciated that each of the accommodation and convergence states of the eyes 210, 220 is associated with a particular distance on the z-axis. For example, an object at a particular distance from the eyes 210, 220 will cause those eyes to assume a particular accommodation state based on the distance of the object. The distance associated with a particular accommodation state is referred to as the accommodation distance A. d Similarly, a particular convergence-divergence distance V associated with the eyes in a particular convergence-divergence state or position relative to one another may be referred to as d If the accommodation distance and the vergence distance match, the relationship between accommodation and vergence can be said to be physiologically correct. This is considered the most comfortable scenario for the viewer.
[0056] However, in a stereoscopic display, the accommodation distance and the vergence distance may not always match. For example, as illustrated in FIG. 4D, the images displayed to the eyes 210, 220 may be displayed with a wavefront divergence corresponding to the depth plane 240, and the eyes 210, 220 may be in a particular accommodation state in which the points 15a, 15b on that depth plane are in focus. However, the images displayed to the eyes 210, 220 may provide a cue for vergence that causes the eyes 210, 220 to converge on a point 15 that is not located on the depth plane 240. As a result, in some embodiments, the accommodation distance corresponds to the distance from the exit pupils of the eyes 210, 220 to the depth plane 240, while the vergence distance corresponds to a larger distance from the exit pupils of the eyes 210, 220 to the point 15. The accommodation distance is different from the vergence distance. As a result, there is an accommodation-vergence-divergence mismatch. Such a mismatch may be considered undesirable and may cause discomfort to the user. The mismatch may be related to distance (e.g., V d -A d ) and can be characterized in terms of diopters.
[0057] It should be understood that in some embodiments, a reference point other than the exit pupil of the eye 210, 220 may be utilized to determine the distance for determining the accommodation-vergence-divergence mismatch, so long as the same reference point is utilized for the accommodation distance and the vergence-divergence distance. For example, the distance may be measured from the cornea to the depth plane, from the retina to the depth plane, from the eyepiece (e.g., a waveguide in a display device) to the depth plane, etc.
[0058] Without being limited by theory, it is believed that a user may still perceive an accommodation-vergence-divergence mismatch of up to about 0.25 diopters, up to about 0.33 diopters, and up to about 0.5 diopters as physiologically correct without the mismatch itself causing significant discomfort. In some embodiments, a display system disclosed herein (e.g., display system 250, FIG. 6) presents an image to a viewer having an accommodation-vergence-divergence mismatch of about 0.5 diopters or less. In some other embodiments, the accommodation-vergence-divergence mismatch of an image provided by the display system is about 0.33 diopters or less. In still other embodiments, the accommodation-vergence-divergence mismatch of an image provided by the display system is about 0.25 diopters or less, including about 0.1 diopters or less.
[0059] FIG. 5 illustrates aspects of an approach for simulating a three-dimensional image by modifying wavefront divergence. The display system includes a waveguide 270 configured to receive light 770 encoded with image information and output the light to a user's eye 210. The waveguide 270 may output light 650 with a defined amount of wavefront divergence that corresponds to the wavefront divergence of a light field generated by a point on a desired depth plane 240. In some embodiments, the same amount of wavefront divergence is provided for all objects presented on that depth plane. In addition, the user's other eye will be illustrated as being provided with image information from a similar waveguide.
[0060] In some embodiments, a single waveguide may be configured to output light with a set wavefront divergence corresponding to a single or limited number of depth planes, and / or the waveguide may be configured to output light in a limited range of wavelengths. As a result, in some embodiments, multiple or stacked waveguides may be utilized to provide different wavefront divergence for different depth planes and / or output light in different ranges of wavelengths. As used herein, it should be understood that a depth plane may be flat or may follow the contour of a curved surface.
[0061] 6 illustrates an example of a waveguide stack for outputting image information to a user. The display system 250 includes a stack of waveguides or a stacked waveguide assembly 260 that can be utilized to provide a three-dimensional perception to the eye / brain using multiple waveguides 270, 280, 290, 300, 310. It should be understood that the display system 250 may be considered a light field display in some embodiments. Additionally, the waveguide assembly 260 may also be referred to as an eyepiece.
[0062] In some embodiments, the display system 250 may be configured to provide a substantially continuous cue for convergence and multiple discrete cues for accommodation. The cues for convergence may be provided by displaying different images to each of the user's eyes, and the cues for accommodation may be provided by outputting light forming images with selectable discrete amounts of wavefront divergence. In other words, the display system 250 may be configured to output light with variable levels of wavefront divergence. In some embodiments, each discrete level of wavefront divergence corresponds to a particular depth plane and may be provided by a particular one of the waveguides 270, 280, 290, 300, 310.
[0063] Continuing with reference to FIG. 6, the waveguide assembly 260 may also include a number of features 320, 330, 340, 350 between the waveguides. In some embodiments, the features 320, 330, 340, 350 may be one or more lenses. The waveguides 270, 280, 290, 300, 310 and / or the number of lenses 320, 330, 340, 350 may be configured to transmit image information to the eye with various levels of wavefront curvature or light beam divergence. Each waveguide level may be associated with a particular depth plane and may be configured to output image information corresponding to that depth plane. The image input devices 360, 370, 380, 390, 400 may act as light sources for the waveguides and may be utilized to input image information into the waveguides 270, 280, 290, 300, 310, each of which may be configured to distribute incident light across each individual waveguide for output towards the eye 210, as described herein. Light exits output surfaces 410, 420, 430, 440, 450 of the image input devices 360, 370, 380, 390, 400 and is input into corresponding input surfaces 460, 470, 480, 490, 500 of the waveguides 270, 280, 290, 300, 310. In some embodiments, each of the input surfaces 460, 470, 480, 490, 500 may be an edge of the corresponding waveguide or may be a portion of a major surface of the corresponding waveguide (i.e., one of the waveguide surfaces that directly faces the world 510 or the viewer's eye 210). In some embodiments, a single beam of light (e.g., a collimated beam) may be launched into each waveguide and output an entire field of cloned collimated beams that are directed towards the eye 210 at a particular angle (and divergence) corresponding to the depth plane associated with the particular waveguide. In some embodiments, a single one of the image launch devices 360, 370, 380, 390, 400 may be associated with and launch light into multiple (e.g., three) waveguides 270, 280, 290, 300, 310.
[0064] In some embodiments, each of the image input devices 360, 370, 380, 390, 400 is a discrete display that generates image information for input into a corresponding waveguide 270, 280, 290, 300, 310, respectively. In some other embodiments, the image input devices 360, 370, 380, 390, 400 are the output of a single multiplexed display that may send image information to each of the image input devices 360, 370, 380, 390, 400, for example, via one or more optical conduits (such as fiber optic cables). It should be understood that the image information provided by the image input devices 360, 370, 380, 390, 400 may include light of different wavelengths or colors (e.g., different primary colors as discussed herein).
[0065] In some embodiments, the light injected into the waveguides 270, 280, 290, 300, 310 is provided by an optical projection system 520, which includes an optical module 530, which may include an optical emitter such as a light emitting diode (LED). The light from the optical module 530 may be directed and modified by an optical modulator 540, e.g., a spatial light modulator, via a beam splitter 550. The optical modulator 540 may be configured to vary the perceived intensity of the light injected into the waveguides 270, 280, 290, 300, 310 and encode the light with image information. Examples of spatial light modulators include liquid crystal displays (LCDs), including liquid crystal on silicon (LCOS) displays. In some other embodiments, the spatial light modulator may be a MEMS device, such as a digital light processing (DLP) device. It should be understood that image injection devices 360, 370, 380, 390, 400 are illustrated diagrammatically and in some embodiments these image injection devices may represent different light paths and locations within a common projection system configured to output light into associated ones of waveguides 270, 280, 290, 300, 310. In some embodiments, the waveguides of the waveguide assembly 260 may act as ideal lenses, relaying light injected into the waveguides to the user's eye. In this concept, the object may be a spatial light modulator 540 and the image may be an image on a depth plane.
[0066] In some embodiments, the display system 250 may be a scanning fiber display comprising one or more scanning fibers configured to project light in various patterns (e.g., raster scan, spiral scan, Lissajous pattern, etc.) into one or more waveguides 270, 280, 290, 300, 310 and ultimately to the viewer's eye 210. In some embodiments, the illustrated image injection devices 360, 370, 380, 390, 400 may diagrammatically represent a single scanning fiber or a bundle of scanning fibers configured to inject light into one or more waveguides 270, 280, 290, 300, 310. In some other embodiments, the illustrated image injection devices 360, 370, 380, 390, 400 may diagrammatically represent multiple scanning fibers or multiple bundles of scanning fibers, each configured to inject light into an associated one of the waveguides 270, 280, 290, 300, 310. It is understood that one or more optical fibers may be configured to transmit light from the optical module 530 to one or more waveguides 270, 280, 290, 300, 310. It is understood that one or more intervening optical structures may be provided between the scanning fiber or fibers and the one or more waveguides 270, 280, 290, 300, 310, for example, to redirect light exiting the scanning fiber into the one or more waveguides 270, 280, 290, 300, 310.
[0067] The controller 560 controls the operation of one or more of the stacked waveguide assemblies 260, including the operation of the image input devices 360, 370, 380, 390, 400, the light source 530, and the light modulator 540. In some embodiments, the controller 560 is part of the local data processing module 140. The controller 560 includes programming (e.g., instructions in a non-transient medium) that coordinates the timing and provision of image information to the waveguides 270, 280, 290, 300, 310, for example, according to any of the various schemes disclosed herein. In some embodiments, the controller may be a single integrated device or a distributed system connected by wired or wireless communication channels. The controller 560 may be part of the processing module 140 or 150 (FIG. 9E) in some embodiments.
[0068] Continuing with reference to FIG. 6, the waveguides 270, 280, 290, 300, 310 may be configured to propagate light within each individual waveguide by total internal reflection (TIR). Each of the waveguides 270, 280, 290, 300, 310 may be planar or have another shape (e.g., curved) with major top and bottom surfaces and edges extending between the major top and bottom surfaces. In the illustrated configuration, each of the waveguides 270, 280, 290, 300, 310 may include an out-coupling optical element 570, 580, 590, 600, 610 configured to extract light from the waveguide by redirecting light propagating within each individual waveguide out of the waveguide and outputting image information to the eye 210. The extracted light may also be referred to as out-coupled light, and the out-coupling optical element may also be referred to as a light extraction optical element. The extracted beam of light may be output by the waveguide at a location where the light propagating within the waveguide strikes the light extraction optical element. The outcoupling optical element 570, 580, 590, 600, 610 may be a grating, for example, including diffractive optical features as further discussed herein. Although shown disposed on the bottom major surface of the waveguide 270, 280, 290, 300, 310 for ease of explanation and clarity of drawing, in some embodiments the outcoupling optical element 570, 580, 590, 600, 610 may be disposed on the top and / or bottom major surfaces and / or directly within the volume of the waveguide 270, 280, 290, 300, 310, as further discussed herein. In some embodiments, the outcoupling optical elements 570, 580, 590, 600, 610 may be formed within a layer of material that is attached to a transparent substrate and forms the waveguide 270, 280, 290, 300, 310. In some other embodiments, the waveguide 270, 280, 290, 300, 310 may be a monolithic piece of material and the outcoupling optical elements 570, 580, 590, 600, 610 may be formed on and / or within that piece of material.
[0069] With continued reference to FIG. 6, as discussed herein, each waveguide 270, 280, 290, 300, 310 is configured to output light and form an image corresponding to a particular depth plane. For example, the waveguide 270 closest to the eye may be configured to deliver collimated light (injected into such waveguide 270) to the eye 210. The collimated light may represent an optical infinity focal plane. The next upper waveguide 280 may be configured to send collimated light that passes through a first lens 350 (e.g., a negative lens) before it can reach the eye 210. Such a first lens 350 may be configured to generate a slight convex wavefront curvature such that the eye / brain interprets the light originating from the next upper waveguide 280 as originating from a first focal plane closer inward from optical infinity toward the eye 210. Similarly, the third upper waveguide 290 passes its output light through both the first lens 350 and the second lens 340 before reaching the eye 210. The combined refractive powers of the first lens 350 and the second lens 340 may be configured to produce another incremental amount of wavefront curvature such that the eye / brain interprets the light emerging from the third waveguide 290 as originating from a second focal plane that is closer inward from optical infinity towards the person than was the light from the next upper waveguide 280.
[0070] The other waveguide layers 300, 310 and lenses 330, 320 are similarly configured, with the highest waveguide 310 in the stack sending its output through all of the lenses between it and the eye for an aggregate focal force that represents the focal plane closest to the person. To compensate the stack of lenses 320, 330, 340, 350 when viewing / interpreting light originating from the world 510 on the other side of the stacked waveguide assembly 260, a compensating lens layer 620 may be placed on top of the stack to compensate for the aggregate force of the lens stacks 320, 330, 340, 350 below. Such a configuration provides as many perceived focal planes as there are waveguide / lens pairs available. Both the outcoupling optical elements of the waveguides and the focusing sides of the lenses may be static (i.e., not dynamic or electroactive). In some alternative embodiments, one or both may be dynamic using electroactive features.
[0071] In some embodiments, two or more of the waveguides 270, 280, 290, 300, 310 may have the same associated depth plane. For example, multiple waveguides 270, 280, 290, 300, 310 may be configured to output images set at the same depth plane, or multiple subsets of the waveguides 270, 280, 290, 300, 310 may be configured to output images set at the same depth planes, with one set per depth plane. This may provide the advantage of forming tiled images to provide an extended field of view at those depth planes.
[0072] Continuing with reference to FIG. 6, the outcoupling optical elements 570, 580, 590, 600, 610 may be configured to redirect light from their respective waveguides and output the light with an appropriate amount of divergence or collimation for a particular depth plane associated with the waveguide. As a result, waveguides with different associated depth planes may have different configurations of outcoupling optical elements 570, 580, 590, 600, 610 that output light with different amounts of divergence depending on the associated depth plane. In some embodiments, the light extraction optical elements 570, 580, 590, 600, 610 may be solid or surface features that may be configured to output light at a specific angle. For example, the light extraction optical elements 570, 580, 590, 600, 610 may be solid holograms, surface holograms, and / or diffraction gratings. In some embodiments, the features 320, 330, 340, 350 may not be lenses. Rather, they may simply be spacers (e.g., cladding layers and / or structures to form an air gap).
[0073] In some embodiments, the outcoupling optical elements 570, 580, 590, 600, 610 are diffractive features or "diffractive optical elements" (also referred to herein as "DOEs") that form a diffraction pattern. Preferably, the DOEs have a sufficiently low diffraction efficiency so that only a portion of the light in the beam is deflected toward the eye 210 at each intersection of the DOE, while the remainder continues to travel through the waveguide via TIR. The light carrying the image information is thus split into several related exit beams that exit the waveguide at various locations, resulting in a very uniform pattern of exit emission toward the eye 210 for this particular collimated beam bouncing within the waveguide.
[0074] In some embodiments, one or more DOEs may be switchable between an "on" state in which they actively diffract and an "off" state in which they do not significantly diffract. For example, a switchable DOE may comprise a layer of polymer dispersed liquid crystal in which the microdroplets comprise a diffractive pattern in a host medium, and the refractive index of the microdroplets may be switched to substantially match the refractive index of the host material (in which case the pattern does not significantly diffract incident light), or the microdroplets may be switched to a refractive index that does not match that of the host medium (in which case the pattern actively diffracts incident light).
[0075] In some embodiments, a camera assembly 630 (e.g., a digital camera, including visible and infrared light cameras) may be provided to capture images of the eye 210 and / or tissue surrounding the eye 210, for example, to detect user input and / or monitor a physiological condition of the user. As used herein, a camera may be any image capture device. In some embodiments, the camera assembly 630 may include an image capture device and a light source that projects light (e.g., infrared light) onto the eye, which may then be reflected by the eye and detected by the image capture device. In some embodiments, the camera assembly 630 may be mounted to a frame or support structure 80 (FIG. 9E) and may be in electrical communication with processing modules 140 and / or 150, which may process image information from the camera assembly 630. In some embodiments, one camera assembly 630 may be utilized per eye, monitoring each eye separately.
[0076] The camera assembly 630 may, in some embodiments, observe the movements of the user, such as the user's eye movements. As an example, the camera assembly 630 may capture images of the eye 210 and determine the size, position, and / or orientation of the pupil of the eye 210 (or some other structure of the eye 210). The camera assembly 630 may obtain images (processed by processing circuitry of the type described herein) that are used to determine the direction in which the user is looking (e.g., eye pose or gaze direction), as desired. In some embodiments, the camera assembly 630 may include multiple cameras, at least one of which may be utilized for each eye and independently determine the eye pose or gaze direction of each eye separately. The camera assembly 630, in some embodiments, in combination with processing circuitry, such as the controller 560 or the local data processing module 140, may determine the eye pose or gaze direction based on a flash (e.g., reflection) of light (e.g., infrared light) reflected from a light source contained within the camera assembly 630.
[0077] 7, an example of an exit beam output by a waveguide is shown. Although one waveguide is shown, it should be understood that other waveguides in the waveguide assembly 260 (FIG. 6) may function similarly and that the waveguide assembly 260 includes multiple waveguides. Light 640 is launched into the waveguide 270 at the input surface 460 of the waveguide 270 and propagates within the waveguide 270 by TIR. At the point where the light 640 impinges on the DOE 570, a portion of the light exits the waveguide as exit beam 650. Exit beam 650 is shown as approximately parallel, but may be redirected to propagate to the eye 210 at an angle (e.g., forming a diverging exit beam) as discussed herein and depending on the depth plane associated with the waveguide 270. It should be understood that a nearly collimated exit beam may refer to a waveguide with outcoupling optics that outcouples light to form an image that appears to be set at a depth plane at a large distance (e.g., optical infinity) from the eye 210. Other waveguides or other sets of outcoupling optics may output a more divergent exit beam pattern, which would require the eye 210 to accommodate to a closer distance and focus on the retina, and would be interpreted by the brain as light from a distance closer to the eye 210 than optical infinity.
[0078] In some embodiments, a full color image may be formed at each depth plane by overlaying an image on each of the primary colors, for example, three or more primary colors. FIG. 8 illustrates an example of a stacked waveguide assembly, where each depth plane includes an image formed using multiple different primary colors. The illustrated embodiment shows depth planes 240a-240f, but more or less depths are also contemplated. Each depth plane may have three or more primary color images associated with it, including a first image of a first color G, a second image of a second color R, and a third image of a third color B. The different depth planes are indicated in the diagram by different numbers for diopters (dpt) following the letters G, R, and B. Merely by way of example, the numbers following each of these letters indicate the diopters (1 / m), i.e., the inverse distance of the depth plane from the viewer, and each box in the diagram represents an individual primary color image. In some embodiments, the exact locations of the depth planes for the different primary colors may be varied to account for differences in the eye's focusing of light of different wavelengths. For example, different primary color images for a given depth plane may be placed on depth planes that correspond to different distances from the user. Such an arrangement may increase visual acuity and user comfort, and / or reduce chromatic aberration.
[0079] In some embodiments, the light of each primary color may be output by a single dedicated waveguide, such that each depth plane may have multiple waveguides associated with it. In such embodiments, each box in the figure containing the letter G, R, or B may be understood to represent an individual waveguide, and three waveguides may be provided per depth plane, with three primary color images provided per depth plane. The waveguides associated with each depth plane are shown adjacent to each other in this drawing for ease of illustration, but it should be understood that in a physical device, the waveguides may all be arranged in a stack with one waveguide per level. In some other embodiments, multiple primary colors may be output by the same waveguide, such that, for example, only a single waveguide may be provided per depth plane.
[0080] 8, in some embodiments, G is green, R is red, and B is blue. In some other embodiments, other colors associated with other wavelengths of light, including magenta and cyan, may be used in addition to or replace one or more of the red, green, or blue colors.
[0081] It should be understood that references throughout this disclosure to a given color of light are understood to encompass light of one or more wavelengths within the range of wavelengths of light that are perceived by a viewer as that given color. For example, red light may include one or more wavelengths of light that are within the range of about 620-780 nm, green light may include one or more wavelengths of light that are within the range of about 492-577 nm, and blue light may include one or more wavelengths of light that are within the range of about 435-493 nm.
[0082] In some embodiments, the light source 530 (FIG. 6) may be configured to emit light at one or more wavelengths outside the range of a viewer's visual perception, such as infrared and / or ultraviolet wavelengths. Additionally, the waveguide in-coupling, out-coupling, and other light redirecting structures of the display 250 may be configured to direct and emit this light from the display toward the user's eye 210, for example, for imaging and / or user stimulation applications.
[0083] 9A, in some embodiments, light impinging on a waveguide may need to be redirected to in-couple the light into the waveguide. An in-coupling optical element may be used to redirect and in-couple the light into its corresponding waveguide. FIG. 9A illustrates a cross-sectional side view of an example of a plurality or set 660 of stacked waveguides, each including an in-coupling optical element. Each of the waveguides may be configured to output light of one or more different wavelengths or one or more different wavelength ranges. The stack 660 may correspond to the stack 260 (FIG. 6), and the illustrated waveguides of the stack 660 may correspond to a portion of the plurality of waveguides 270, 280, 290, 300, 310, but it should be understood that light from one or more of the image input devices 360, 370, 380, 390, 400 is input into the waveguide from a position that requires the light to be redirected for in-coupling.
[0084] The illustrated set 660 of stacked waveguides includes waveguides 670, 680, and 690. Each waveguide includes an associated incoupling optical element (which may also be referred to as the light input area on the waveguide), for example, incoupling optical element 700 is disposed on a major surface (e.g., the top major surface) of waveguide 670, incoupling optical element 710 is disposed on a major surface (e.g., the top major surface) of waveguide 680, and incoupling optical element 720 is disposed on a major surface (e.g., the top major surface) of waveguide 690. In some embodiments, one or more of the incoupling optical elements 700, 710, 720 may be disposed on the bottom major surface of the respective waveguides 670, 680, 690 (particularly, one or more of the incoupling optical elements are reflective polarizing optical elements). As shown, the incoupling optical elements 700, 710, 720 may be disposed on the upper major surface of the respective waveguide 670, 680, 690 (or on top of the next lower waveguide), and in particular, the incoupling optical elements are transmissive deflecting optical elements. In some embodiments, the incoupling optical elements 700, 710, 720 may be disposed within the body of the respective waveguide 670, 680, 690. In some embodiments, as discussed herein, the incoupling optical elements 700, 710, 720 are wavelength selective such that they selectively redirect one or more wavelengths of light while transmitting other wavelengths of light. Although illustrated on one side or corner of the respective waveguide 670, 680, 690, it should be understood that the incoupling optical elements 700, 710, 720 may be disposed within other areas of the respective waveguide 670, 680, 690 in some embodiments.
[0085] As shown, the in-coupling optical elements 700, 710, 720 may be laterally offset from one another as seen in the illustrated front view in the direction of light propagating to these in-coupling optical elements. In some embodiments, each in-coupling optical element may be offset to receive light without that light passing through another in-coupling optical element. For example, each in-coupling optical element 700, 710, 720 may be configured to receive light from different image input devices 360, 370, 380, 390, and 400 as shown in FIG. 6, and may be separated (e.g., laterally spaced) from the other in-coupling optical elements 700, 710, 720 so as to substantially not receive light from others of the in-coupling optical elements 700, 710, 720.
[0086] Each waveguide also includes an associated optically dispersive element, for example, optically dispersive element 730 is disposed on a major surface (e.g., a top major surface) of waveguide 670, optically dispersive element 740 is disposed on a major surface (e.g., a top major surface) of waveguide 680, and optically dispersive element 750 is disposed on a major surface (e.g., a top major surface) of waveguide 690. In some other embodiments, optically dispersive elements 730, 740, 750 may be disposed on the bottom major surfaces of associated waveguides 670, 680, 690, respectively. In some other embodiments, optically dispersive elements 730, 740, 750 may be disposed on both the top and bottom major surfaces of associated waveguides 670, 680, 690, respectively, or optically dispersive elements 730, 740, 750 may be disposed on different ones of the top and bottom major surfaces in different associated waveguides 670, 680, 690, respectively.
[0087] The waveguides 670, 680, 690 may be spaced apart and separated by, for example, gas, liquid, and / or solid layers of material. For example, as shown, layer 760a may separate the waveguides 670 and 680, and layer 760b may separate the waveguides 680 and 690. In some embodiments, layers 760a and 760b are formed from a low index material (i.e., a material having a lower index of refraction than the material forming the immediate neighbors of the waveguides 670, 680, 690). Preferably, the index of refraction of the material forming layers 760a, 760b is 0.05 or greater, or 0.10 or less, than the index of refraction of the material forming the waveguides 670, 680, 690. Advantageously, the lower refractive index layers 760a, 760b may act as cladding layers to promote total internal reflection (TIR) of light through the waveguides 670, 680, 690 (e.g., TIR between the top and bottom major surfaces of each waveguide). In some embodiments, the layers 760a, 760b are formed from air. Although not shown, it should be understood that the top and bottom of the illustrated set of waveguides 660 may include immediate cladding layers.
[0088] Preferably, for ease of manufacturing and other considerations, the materials forming the waveguides 670, 680, 690 are similar or identical, and the materials forming the layers 760a, 760b are similar or identical. In some embodiments, the materials forming the waveguides 670, 680, 690 may differ between one or more of the waveguides, and / or the materials forming the layers 760a, 760b may differ while still maintaining the various refractive index relationships discussed above.
[0089] 9A, light rays 770, 780, 790 are incident on the set of waveguides 660. It should be understood that light rays 770, 780, 790 may be injected into the waveguides 670, 680, 690 by one or more image injection devices 360, 370, 380, 390, 400 (FIG. 6).
[0090] In some embodiments, the light beams 770, 780, 790 have different properties, e.g., different wavelengths or different wavelength ranges, that may correspond to different colors. Each of the incoupling optical elements 700, 710, 720 deflects the incident light such that the light propagates through a respective one of the waveguides 670, 680, 690 by TIR. In some embodiments, each of the incoupling optical elements 700, 710, 720 selectively deflects one or more particular wavelengths of light while transmitting other wavelengths to the underlying waveguide and associated incoupling optical element.
[0091] For example, incoupling optical element 700 may be configured to deflect light beam 770 having a first wavelength or wavelength range while transmitting light beams 780 and 790 having different second and third wavelengths or wavelength ranges, respectively. The transmitted light beam 780 impinges on and is deflected by incoupling optical element 710, which is configured to deflect light of the second wavelength or wavelength range. Light beam 790 is deflected by incoupling optical element 720, which is configured to selectively deflect light of the third wavelength or wavelength range.
[0092] 9A, the deflected light rays 770, 780, 790 are deflected to propagate through the corresponding waveguides 670, 680, 690. That is, the incoupling optical element 700, 710, 720 of each waveguide deflects the light into its corresponding waveguide 670, 680, 690 and incouplings the light into the corresponding waveguide. The light rays 770, 780, 790 are deflected at an angle that causes the light to propagate through the respective waveguides 670, 680, 690 by TIR. The light rays 770, 780, 790 propagate through the respective waveguides 670, 680, 690 by TIR until they impinge on the corresponding optical dispersive element 730, 740, 750 of the waveguide.
[0093]
[0046] Referring now to Figure 9B, a perspective view of the multiple stacked waveguide embodiment of Figure 9A is illustrated. As described above, the in-coupled light rays 770, 780, 790 are deflected by the in-coupling optical elements 700, 710, 720, respectively, and then propagate by TIR within the waveguides 670, 680, 690, respectively. The light rays 770, 780, 790 then impinge on the optically dispersive elements 730, 740, 750, respectively. The optically dispersive elements 730, 740, 750 deflect the light rays 770, 780, 790 to propagate towards the out-coupling optical elements 800, 810, 820, respectively.
[0094] In some embodiments, the optically dispersive elements 730, 740, 750 are orthogonal pupil expanders (OPEs). In some embodiments, the OPEs deflect or disperse the light to the out-coupling optical elements 800, 810, 820, and in some embodiments may also increase the beam or spot size of this light as it propagates to the out-coupling optical elements. In some embodiments, the optically dispersive elements 730, 740, 750 may be omitted and the in-coupling optical elements 700, 710, 720 may be configured to deflect the light directly to the out-coupling optical elements 800, 810, 820. For example, referring to FIG. 9A, the optically dispersive elements 730, 740, 750 may be replaced with the out-coupling optical elements 800, 810, 820, respectively. In some embodiments, the outcoupling optical elements 800, 810, 820 are exit pupils (EPs) or exit pupil expanders (EPEs) that direct light to the viewer's eye 210 (FIG. 7). It should be understood that the OPEs may be configured to increase the size of the eyebox in at least one axis, and the EPEs may increase the eyebox in an axis that intersects, e.g., orthogonal to, the axis of the OPE. For example, each OPE may be configured to redirect a portion of the light striking the OPE to an EPE of the same waveguide, while allowing the remaining portion of the light to continue propagating down the waveguide. In response to striking the OPE, again, another portion of the remaining light is redirected to the EPE, which continues to propagate further down the waveguide, etc. Similarly, in response to striking the EPE, a portion of the striking light is directed out of the waveguide towards the user, and the remaining portion of the light continues to propagate through the waveguide until it strikes the EP again, at which point another portion of the striking light is directed out of the waveguide, etc. As a result, a single beam of internally coupled light may be "replicated" each time a portion of that light is redirected by an OPE or EPE, thereby forming a cloned beam field of light, as shown in Figure 6. In some embodiments, the OPE and / or EPE may be configured to modify the size of the beam of light.
[0095] Thus, referring to Figures 9A and 9B, in some embodiments, a set of waveguides 660 includes, for each primary color, a waveguide 670, 680, 690, an in-coupling optical element 700, 710, 720, an optical dispersion element (e.g., OPE) 730, 740, 750, and an out-coupling optical element (e.g., EP) 800, 810, 820. The waveguides 670, 680, 690 may be stacked with an air gap / cladding layer between each one. The in-coupling optical element 700, 710, 720 redirects or deflects the incoming light into its waveguide (with different in-coupling optical elements receiving different wavelengths of light). The light then propagates at an angle that will result in TIR within the individual waveguides 670, 680, 690. In the illustrated embodiment, light ray 770 (e.g., blue light) is deflected by the first in-coupling optical element 700 in the manner described above, then continues to bounce back down the waveguide, interacting with the optically dispersive element (e.g., OPE) 730 and then the out-coupling optical element (e.g., EP) 800. Light rays 780 and 790 (e.g., green and red light, respectively) pass through the waveguide 670, where light ray 780 impinges on and is deflected by the in-coupling optical element 710. Light ray 780 will then proceed via TIR back down the waveguide 680, to its optically dispersive element (e.g., OPE) 740 and then the out-coupling optical element (e.g., EP) 810. Finally, light ray 790 (e.g., red light) passes through the waveguide 690 and impinges on the optically in-coupling optical element 720 of the waveguide 690. The light in-coupling optical element 720 deflects the light beam 790 such that it propagates by TIR to a light dispersive element (e.g., OPE) 750 and then by TIR to an out-coupling optical element (e.g., EP) 820. The out-coupling optical element 820 then finally out-couples the light beam 790 to a viewer, who also receives the out-coupled light from the other waveguides 670, 680.
[0096] 9C illustrates a top-down plan view of the multiple stacked waveguide embodiment of FIGS. 9A and 9B. It should be understood that this top-down view may also be referred to as a head-on view, as viewed in the direction of light propagation toward the in-coupling optical elements 800, 810, 820, i.e., the top-down view is a view of the waveguide with image light incident normal to the page. As shown, the waveguides 670, 680, 690 may be vertically aligned, along with each waveguide's associated light dispersive element 730, 740, 750 and associated out-coupling optical elements 800, 810, 820. However, as discussed herein, the in-coupling optical elements 700, 710, 720 are not vertically aligned. Rather, the in-coupling optical elements are preferably non-overlapping (e.g., laterally spaced apart, as viewed in the top-down view). As discussed further herein, this non-overlapping spatial arrangement facilitates the injection of light from different sources into different waveguides on a one-to-one basis, thereby allowing a specific light source to be uniquely coupled to a specific waveguide. In some embodiments, arrangements that include non-overlapping, spatially separated in-coupling optical elements may be referred to as shifted pupil systems, and the in-coupling optical elements in these arrangements may correspond to sub-pupils.
[0097] It should be understood that the spatially overlapping areas may have 70% or more, 80% or more, or 90% or more of their area overlapping sideways as seen in the top and bottom views. On the other hand, the laterally shifted areas overlap less than 30%, overlap less than 20%, or overlap less than 10% of their area as seen in the top and bottom views. In some embodiments, the laterally shifted areas have no overlap.
[0098] FIG. 9D illustrates a top-down plan view of another example of multiple stacked waveguides. As shown, the waveguides 670, 680, 690 may be vertically aligned. However, compared to the configuration of FIG. 9C, the separate light dispersive elements 730, 740, 750 and associated outcoupling optical elements 800, 810, 820 are omitted. Instead, the light dispersive elements and outcoupling optical elements are effectively overlapped and occupy the same area as seen in the top-down view. In some embodiments, the light dispersive elements (e.g., OPE) may be disposed on one major surface of the waveguides 670, 680, 690, and the outcoupling optical elements (e.g., EPE) may be disposed on the other major surface of those waveguides. Thus, each waveguide 670, 680, 690 may have superimposed light dispersing and out-coupling optical elements, collectively referred to as combined OPE / EPE 1281, 1282, 1283, respectively. Further details regarding such combined OPE / EPE may be found in U.S. Patent Application No. 16 / 221,359, filed December 14, 2018, the entire disclosure of which is incorporated herein by reference. The in-coupling optical elements 700, 710, 720 in-couple and direct light to the combined OPE / EPE 1281, 1282, 1283, respectively. In some embodiments, as illustrated, the in-coupling optical elements 700, 710, 720 may be laterally offset (e.g., they are laterally spaced apart, as seen in the top-down view shown) when having a shifted pupil spatial arrangement. Similar to the configuration of FIG. 9C, this laterally offset spatial arrangement facilitates the injection of different wavelengths of light (eg, from different light sources) into different waveguides on a one-to-one basis.
[0099] 9E illustrates an example of a wearable display system 60 into which the various waveguide and associated systems disclosed herein may be integrated. In some embodiments, the display system 60 is the system 250 of FIG. 6, which diagrammatically illustrates some portions of the system 60 in greater detail. For example, the waveguide assembly 260 of FIG. 6 may be part of the display 70.
[0100] 9E, the display system 60 includes a display 70 and various mechanical and electronic modules and systems to support the functionality of the display 70. The display 70 may be coupled to a frame 80, which is wearable by a display system user or viewer 90 and configured to position the display 70 in front of the eye of the user 90. The display 70 may be considered eyewear in some embodiments. The display 70 may include one or more waveguides, such as waveguide 270, configured to relay the in-coupled image light and output the image light to the eye of the user 90. In some embodiments, a speaker 100 is coupled to the frame 80 and configured to be positioned adjacent to the ear canal of the user 90 (in some embodiments, another speaker, not shown, may also be optionally positioned adjacent the other ear canal of the user to provide stereo / shapeable sound control). The display system 60 may also include one or more microphones 110 or other devices to detect sound. In some embodiments, the microphone may be configured to allow a user to provide input or commands to the system 60 (e.g., voice menu command selections, natural language questions, etc.) and / or enable audio communication with other persons (e.g., other users of similar display systems). The microphone may further be configured as an ambient sensor to collect audio data (e.g., sounds from the user and / or the environment). In some embodiments, the display system 60 may further include one or more outwardly directed environmental sensors 112 configured to detect objects, stimuli, people, animals, places, or other aspects of the world around the user. For example, the environmental sensors 112 may include one or more cameras, which may be positioned, for example, facing outward, to capture images similar to at least a portion of the user's 90 normal field of view.In some embodiments, the display system may also include an ambient sensor 120a, which may be separate from the frame 80 and mounted on the body of the user 90 (e.g., the head, torso, limbs, etc. of the user 90). The ambient sensor 120a, in some embodiments, may be configured to obtain data characterizing a physiological state of the user 90. For example, the sensor 120a may be an electrode.
[0101] 9E, the display 70 is operably coupled by a communication link 130, such as wired or wireless connectivity, to a local data processing module 140, which may be mounted in a variety of configurations, such as fixedly attached to the frame 80, fixedly attached to a helmet or hat worn by the user, built into headphones, or otherwise removably attached to the user 90 (e.g., in a backpack configuration, in a belt-connected configuration). Similarly, the sensor 120a may be operably coupled to the local processor and data module 140 by a communication link 120b, such as wired or wireless connectivity. The local processing and data module 140 may comprise a hardware processor and digital memory, such as non-volatile memory (e.g., flash memory or hard disk drive), both of which may be utilized to aid in processing, caching, and storing data. Optionally, the local processor and data module 140 may include one or more central processing units (CPUs), graphics processing units (GPUs), dedicated processing hardware, and the like. The data may include a) data captured from sensors (such as image capture devices (such as cameras), microphones, inertial measurement units, accelerometers, compasses, GPS units, wireless devices, gyroscopes, and / or other sensors disclosed herein (e.g., which may be operatively coupled to the frame 80 or otherwise attached to the user 90)) and / or b) data obtained and / or processed using the remote processing module 150 and / or remote data repository 160 (including data related to virtual content), possibly for passing to the display 70 after processing or retrieval. The local processing and data module 140 may be operatively coupled to the remote processing module 150 and the remote data repository 160 by communication links 170, 180, such as via wired or wireless communication links, such that these remote modules 150, 160 are operatively coupled to each other and available as resources to the local processing and data module 140.In some embodiments, local processing and data module 140 may include one or more of an image capture device, a microphone, an inertial measurement unit, an accelerometer, a compass, a GPS unit, a wireless device, and / or a gyroscope. In some other embodiments, one or more of these sensors may be attached to frame 80 or may be a freestanding structure that communicates with local processing and data module 140 by a wired or wireless communication path.
[0102] 9E , in some embodiments, the remote processing module 150 may comprise one or more processors configured to analyze and process the data and / or image information, including, for example, one or more central processing units (CPUs), graphics processing units (GPUs), special purpose processing hardware, etc. In some embodiments, the remote data repository 160 may comprise a digital data storage facility, which may be available through the Internet or other networking configurations in a “cloud” resource configuration. In some embodiments, the remote data repository 160 may include one or more remote servers, which provide information, for example, information for generating virtual content, to the local processing and data module 140 and / or the remote processing module 150. In some embodiments, all data is stored and all calculations are performed in the local processing and data module, allowing for fully autonomous use from the remote modules. Optionally, an external system (e.g., one or more processors, one or more computer systems), including a CPU, GPU, etc., may perform at least a portion of the processing (e.g., generating image information, processing data) and provide information to and receive information from modules 140, 150, 160, e.g., via a wireless or wired connection. Improved Eye Tracking Techniques
[0103] As described above, a display system (e.g., display system 60) may track the user's eyes and inform the presentation of virtual content to the user. An exemplary technique for tracking the user's eyes may include the use of multiple light emitting diodes (LEDs). For example, the LEDs may be positioned on the display system such that light from the LEDs is projected onto the user's eye. In some embodiments, the light may be projected onto the user's pupil. One or more imaging devices (e.g., cameras) may be used to capture an image of the user's eye. The image of the user's eye would thus include light reflected onto the eye from at least some of the LEDs. This reflected light may represent a flash of light from the LEDs, which may be reproduced in the image. Based on the location of the flash, an eye posture of the eye may be determined. For example, an orientation of the eye may be determined.
[0104] The imaging device used to capture the image of the user's eye may have a limited dynamic range. For example, the image may be a low dynamic range (LDR) image captured using a particular exposure (e.g., a particular exposure time, F-number, ISO value, etc.). Thus, certain portions of the LDR image may be under-exposed or over-exposed given the limited dynamic range. These portions may be assigned pixel values that are the same or similar, and thus have a loss of detail.
[0105] The above-described portions may generally include flashes from LEDs. For example, the flashes may include reflections through disparate parts of the user's eye. In the LDR image, these reflections may not be assigned as the same or similar pixel values based on the limited dynamic range. Thus, accurate determination of consistent identification of the flashes and their non-corresponding reflections in the eye may be difficult. Thus, the flashes contained in the LDR image may be inaccurately extended in size or include irregular details (e.g., tails). The accuracy associated with determining the location of the flashes may therefore be reduced. This reduced accuracy may translate into a loss of accuracy associated with determining eye posture.
[0106] As will be described, the display system may utilize exemplary machine learning techniques to generate high dynamic range (HDR) images from the LDR images. These HDR images may enable better dynamic range, at least with respect to the flash described above. Thus, the display system may more accurately determine the location of the flash. For example, shapes associated with the flash may be more accurately reproduced in the HDR image. As another example, certain irregular features (e.g., tails) may be reduced compared to the LDR image.
[0107] Advantageously, the display system may utilize a machine learning model that is pre-trained to generate HDR images. For example, the display system may compute a forward pass of a convolutional neural network that may be pre-trained using a variety of images. In this embodiment, the convolutional neural network may enable increased accuracy for eye tracking while allowing the network to be easily obtained (e.g., from a third party) and utilized within the display system.
[0108] In some embodiments, as will be described, the system may train a machine learning model using images depicting flashes. To train the machine learning model, the system may obtain an LDR image and a corresponding HDR image. The machine learning model may then be trained to reproduce an HDR image given the LDR image as input. As an example, the machine learning model may represent an autoencoder as illustrated in FIG. 11. Obtaining an LDR image and a corresponding HDR image may be impractical when imaging a user's eye. For example, to generate an HDR image, the system may require multiple LDR images with different exposures. As described above, the user's eye moves so rapidly that it may not be possible to obtain multiple LDR images in which the eye is substantially fixed.
[0109] Advantageously, the system may acquire an LDR image using an eye camera rig. The eye camera rig may include a representation of a human eye (e.g., a fake eye) along with an LED and one or more imaging devices. The eye camera rig may be arranged to substantially mimic a user's eye in a display system described herein. The eye camera rig may be controlled to set parameters such as eye orientation. In this way, the system may cause the representation of the human eye to be set to a particular orientation. The system may then acquire multiple LDR images at the particular orientation. These LDR images may then be combined into an HDR image.
[0110] In this manner, the system may obtain training data that can be used to train a machine learning model. Because the training data is specific to augmented or virtual reality eye tracking, the resulting accuracy of generating HDR images may be improved compared to "off the shelf" machine learning models. Further description of the eye camera rig is included, for example, in U.S. Provisional Patent Application No. 62 / 873,641 for the system 100 described therein. U.S. Provisional Patent Application No. 62 / 873,641 is incorporated herein by reference in its entirety.
[0111] 10A depicts an image 1000 of an eye 1002 acquired via an imaging device of a display system. The image 1000 of the eye 1002 depicts light reflected from a light emitting diode (LED) of the display system. In some embodiments, the LED may output infrared light. As described herein, the light reflected from the LED may be referred to as a flash (e.g., flashes 1004-1006).
[0112] To determine the pose associated with eye 1002, the display system may determine the locations of the flashes 1004-1006. In some embodiments, an LED may provide light to a pupil 1008 of eye 1002. Thus, pupil 1008 may represent a contrasting background onto which the flashes 1004-1006 may be imaged.
[0113] The flashes of light 1004-1006 may be overexposed in the image 1000. For example, the image 1000 may be a low dynamic range (LDR) image of the eye 1002. In this example, the image of the eye 1002 may be acquired at a particular exposure such that the dynamic range of the image 1000 may be limited. Because the pupil may be substantially darker than the flashes of light 1004-1006 in some embodiments, the flashes of light may be assigned similar pixel values in the image 1000.
[0114] This similar assignment of pixel values may introduce inaccuracies into the resulting flashes in image 1000. For example, the LED light may be reflected within the eye (e.g., different layers or portions of the eye). Due to the limited dynamic range, image 1000 may depict the light and its various reflections with similar pixel values. For example, the light and reflections may be depicted as glittering areas in image 1000. In this manner, the depiction of the LED light may be expanded due to reflections. Additionally, reflections may result in irregular features being added to the flashes depicted in image 1000. For example, the LED light may be depicted in image 1000 as a flash with a tail extending from an oval or circular portion of the flash.
[0115] Thus, the individual shapes associated with the flashes 1004-1006 may be incorrect due, at least in part, to the addition of these reflections. Given the LDR image, the display system may not be able to distinguish between the light of the LED as reflected onto a particular surface of the eye (e.g., the top surface layer) and the light of the LED as reflected off other surfaces within the eye 1002. Thus, the display system may be limited in the accuracy associated with determining the location of the flashes 1004-1006.
[0116] 10B illustrates a block diagram of a high dynamic range (HDR) conversion model 1010 that can be used to generate an HDR image 1014 from a low dynamic range (LDR) image 1012. In some embodiments, the HDR conversion model 1010 may be the model illustrated in FIG.
[0117] In the illustrated example, the LDR image 1012 includes a representation of a flash of light 1016, which is overexposed. The flash of light 1016 is illustrated in the image 1012 with a tail 1018, which may result from reflection of the light of the LED in the user's eye. The size of the tail may be irregular and may vary with the orientation of the eye relative to the LED.
[0118] The display system may generate an HDR image 1014 via the HDR conversion model 1010 to simulate the expansion of the dynamic range. As shown, the flash 1016 has been reduced in size. For example, the upper oval or circular portion has been reduced in area. Additionally, the tail 1012 has been reduced in size compared to the LDR image 1012.
[0119] 12, the HDR image 1014 may enable a more accurate determination of eye posture. For example, the location of a flash of light 1016 may be more accurately determined in the HDR image 1014 compared to the LDR image 1012.
[0120] 11 illustrates an example machine learning model 1100 that can be used to generate an HDR image from an LDR image. The example model 1100 may represent an autoencoder, in which an encoder portion 1102 generates a latent feature representation of the LDR image. A decoder portion 1104 may then generate the HDR image based on the latent feature representation.
[0121] The encoder portion 1102 includes multiple layers. Exemplary layers include convolutional layers and pooling layers. In some embodiments, the input layer 1106 may receive an LDR image that is a particular width and height (e.g., 320x320). The LDR image may additionally include color information such that there is a threshold number of channels (e.g., 320x320x3). A system, such as the display system described herein, may then compute a forward pass and generate a latent feature representation.
[0122] The input layer 1106 is illustrated in some embodiments as receiving an LDR image of a certain size (e.g., 320x320x3), but the width and height may vary. As an example, the width and height may correspond to the width and height of an image acquired via an imaging device of a display system. In some embodiments, the width and height may be 400x400. This increased width and height may enable better model prediction accuracy by increasing the size of the potential spatial representation. In addition, matching the input layer to the size of the image generated by the imaging device may result in increased accuracy. Optionally, in some embodiments, the input LDR image may be monochrome. Thus, the input image may be 400x400x1. In some embodiments, a bit depth associated with the value of the input image may be set. For example, 8 bits may be used as the bit depth.
[0123] In the example model 1100, skip connections are included (e.g., connection 1108). These skip connections may be used to provide information generated from the input LDR image to the decoder portion 1104. For example, the skip connections may include a domain transformation from LDR display values to logarithmic HDR. A fusion of the skip connections may be initialized to implement the addition in a skip layer (e.g., layer 1110). For example, the skip layer 1110 may concatenate information received from 1108 and a layer of the decoder portion 1104 along a feature dimension.
[0124] It should be understood that the model 1100 illustrated in Figure 11 is an example. Thus, layers may be added or removed and still fall within the scope of the present disclosure herein. Additionally, filter sizes, activation functions, etc. may be adjusted and still fall within the scope of the present disclosure herein.
[0125] 12 is a flow chart of an example process 1200 for determining location information associated with a flash of light depicted in an LDR image. For convenience, the process 1200 will be described as being performed by a display system of one or more processors (e.g., display system 60). The process 1200 may also be performed during a calibration process and may be performed by a system of one or more processors. The system may control an eye camera rig, as described in more detail below.
[0126] In block 1202, the display system acquires an LDR image. As described above, the display system may include an image capture assembly 630 to acquire an image of a user's eye. The image capture assembly 630 may include one or more image capture devices, such as a camera. The image from the camera may be an LDR image, such as a standard image, with a constrained dynamic range.
[0127] During operation of the display system, the display system may acquire an LDR image for use in eye tracking. For example, an LED may be positioned on the display system such that light from the LED is provided on the user's eye. The LDR image may thus include a flash of light, representing light reflected from the LED. An example image depicting a flash of light is described above with respect to FIG. 10A.
[0128] At block 1204, the display system calculates the forward pass of the HDR transformation model. The display system may store the HDR transformation model (e.g., model 1100) so that it may calculate the forward pass locally. In some embodiments, the display system may provide the LDR image to an external device or system (e.g., via a wired or wireless connection). The external device or system may then calculate the forward pass.
[0129] In some embodiments, the display system may use machine learning or other techniques that do not require a forward pass through layers of a neural network. For example, techniques that rely on the application of tone maps may be employed.
[0130] In block 1206, the display system obtains a resulting HDR image. Based on the HDR transformation model, the display system may obtain an HDR image that has been adjusted to simulate an extended dynamic range. In some embodiments, the display system may perform additional processing of the HDR image. For example, the image may be sharpened (e.g., unmasked sharpening may be applied). As another example, the display system may correct for certain types of distortion. In this example, the display system may correct for distortions (e.g., lens distortions) that are known to be associated with the imaging device of the display system. For example, barrel or pincushion distortions may be corrected. Optionally, the additional processing described above may be performed on the LDR image.
[0131] At block 1208, the display system determines location information associated with the flashes. In some embodiments, the display system can determine a region of interest associated with each flash in the HDR image. For example, the display system may determine a separation between the flashes and the background eye. It should be understood that in this example, the eye may be substantially darker than the flash. The display system may then determine an average X value and an average Y value associated with the particular region of interest. The particular region of interest may represent a boundary of the associated flash. For example, the particular region of interest may be a bounding box, or may be a polygon or curve, indicating the boundary of the associated flash.
[0132] For example, for a particular region of interest, the display system may add pixel values in the Y direction. In this embodiment, the display system may determine a distribution (e.g., a Gaussian distribution) based on these values. The display system may then select the highest pixel value based on the distribution, where the highest pixel value corresponds to the center of gravity in the Y direction. In this manner, the display system may determine an X value and a Y value that correspond to the location of the flash.
[0133] In some embodiments, the display system may use machine learning techniques to assign a location to each flash represented in the HDR image. For example, a neural network may be trained based on images of the flashes and ground truth indicators indicating the location of the flashes. Additional discussion related to the use of training machine learning models is included below.
[0134] FIG. 12 illustrates the use of a display system to generate an HDR image from an LDR image of a user's eye. In some embodiments, the process 1200 may be performed as part of a calibration process. For example, the positions of LEDs, imaging devices, etc. may be calibrated. This calibration process may be performed by a user during an initial setup process. The calibration process may also be performed by the system to inform the settings to be used by the display system or the positions of the LEDs or imaging devices of the display system. For example, the system may control an eye camera rig for calibration.
[0135] With respect to the example of an eye camera rig, an LDR image of the eye camera rig may be acquired. As will be described, the eye camera rig may include a representation of an eye, which may be set by the system to a particular eye pose (e.g., orientation). The eye camera rig may further include an LED and one or more imaging devices. Thus, the system may cause the eye camera rig to acquire an LDR image of the representation of the eye. The system may then generate an HDR image and determine the location of the phosphene within the HDR image.
[0136] In some embodiments, the system may perform a calibration process based on the determined positions. For example, the system may determine that certain LEDs need to be adjusted in location (e.g., for certain eye postures where they may be outside the pupil of the representation). As another example, the system may update the pulse width modulation associated with each LED. For example, the system may determine that the brightness of an LED is too high or too low. As another example, the system may determine exposure information for an imaging device. For example, the system may determine that the shutter speed should be higher or that the ISO value should be adjusted.
[0137] The calibration process may allow for in-factory calibration, for example, which may improve finding the flash centroid as described herein, and therefore improve calibration accuracy. To avoid possible over-exposure or under-exposure on the manufacturing line, the techniques described herein may help adjust the flash intensity to a better range, and thus find better dot centroids and more accurate calibration. Techniques for generating training data
[0138] A pre-trained machine learning model may be used to generate the HDR image. For example, the display system may obtain pre-trained weights for the machine learning model. In this example, the weights may have been determined using training data comprising LDR and HDR images of variable subject matter. This may provide improved accuracy in determining the location of the phosphene, but in some embodiments, training data specific to eye tracking may be used.
[0139] For example, as will be described, an LDR image of a flash of light and a corresponding HDR image may be acquired. In this example, an eye camera rig may be used. Exemplary images acquired using the eye camera rig are illustrated in FIGS. 14A-14B. The eye camera rig may include a representation of the eye and may be adjustable to define an orientation (e.g., eye pose) for the representation. In this example, multiple LDR images may be acquired from the eye camera rig at a particular orientation. A resulting HDR image may then be generated from these LDR images. The LDR images and the resulting HDR images may then be used as training data.
[0140] In some embodiments, transfer learning techniques may be used to adjust the pre-trained weights of the machine learning model. For example, the system may use backpropagation techniques to update the values of the weights.
[0141] Optionally, the machine learning model may be initially trained using a number of training images obtained from a third-party source. In this example, the training images may be identified as sharing certain similarities with the eye tracking images described herein. As an example, they may be identified as depicting a substantially dark background with highlights. In this example, the machine learning model may be used to identify these images via analyzing a large publicly available dataset of images. Optionally, indicators associated with the images may be used to inform the selection of the initial training images.
[0142] The initial training images may then be used to train a machine learning model. The system may then update the weights based on images acquired using the eye camera described above. In this way, as an example, due to variations in the training images, the resulting model may provide a more robust network to generate HDR images.
[0143] 13 is a flow chart of an exemplary process for training an HDR conversion model. For convenience, the process 1300 will be described as being performed by a system of one or more processors. In some embodiments, the system may generate weights associated with the machine learning model. The system may additionally enable access to the generated weights by one or more display systems.
[0144] In block 1302, the system sets parameters of an eye camera rig. As described above, an eye camera rig may refer to a system that can be used to acquire images that mimic images of a real (e.g., human) eye that can be acquired from a display system. For example, the eye camera rig may include a representation of an eye (also referred to as an "eye replica") that may be formed from one or more lenses and / or other optical components that closely resemble a human eye. As another example, the eye camera rig may include an LED and one or more imaging devices. Additional description related to eye camera rigs is included in U.S. Provisional Patent Application No. 62 / 873,641, which is incorporated herein by reference in its entirety.
[0145] The eye camera rig may be controlled by the system to define the orientation (e.g., "pose") of the eye replica. For example, the system may indicate that the eye replica is to translate and / or rotate about one or more axes. Additional parameters that may be controlled by the system include pulse width modulation of each LED, exposure information of the imaging device (e.g., shutter speed, ISO values such as gain, and F-stop), background light (e.g., intensity of background light outside the eye camera rig, position of background light, color or wavelength spectrum information of background light), etc.
[0146] To create sufficient training data, the system may periodically adjust parameters and acquire a wide range of training images. For example, the system may adjust the eye representation in discrete steps and acquire images with multiple orientations. For example, the pose of the eye replica may be adjusted to a slightly different pose every X seconds (e.g., 1, 2, 10, 30, 60 seconds, or more) while images of the eye replica are acquired at known eye poses. As another example, for each orientation, the system may adjust the intensity of each LED. As another example, for each orientation, the display system may adjust the exposure value. As another example, for each orientation, the display system may adjust the background light to simulate different real-world environments in which a user may be located.
[0147] In block 1304, the system acquires multiple images for the parameters. At a particular orientation of the eye replica, the system may acquire multiple images (e.g., two images, three images, five images). As explained above, the parameters may indicate different exposure values. Thus, the system may acquire multiple LDR images with different exposure values.
[0148] In block 1306, the system generates an HDR image. Using multiple LDR images for a particular orientation, the system may generate an HDR image. For example, the LDR images may be combined to increase the dynamic range that can be represented.
[0149] In block 1308, the system trains an HDR conversion model. For the autoencoder illustrated in FIG. 11, the system may train the model 1100 to reproduce an HDR image generated given an LDR image. Optionally, the system may train the model 1100 to reproduce an HDR image generated given only an LDR image, which also uses an exposure used in a production environment. For example, the system may select an LDR image that corresponds to the same or substantially similar exposure used by an imaging device when imaging an end user of a display system. As an example of training, a backpropagation technique may be used to update the weights of the model 1100. In addition, a distribution (e.g., a Gaussian distribution) associated with the latent feature variables may be updated.
[0150] 14A illustrates an example of an LDR image 1400 of an eye camera rig 1402 including an eye replica 1406 according to the techniques described herein. The LDR image 1400 may represent an image acquired by an imaging device of the eye camera rig 1402. For example, the system described in FIG. 13 may have configuration parameters to cause the eye camera rig 1402 to define the translation and / or rotation of the eye replica 1406. The system may then trigger the imaging device and acquire the LDR image 1400.
[0151] Image 1400 includes multiple flashes 1404A-1404D that are rendered on eye replica 1406. As illustrated in FIG. 13, LDR image 1400 may be used as training information for an HDR conversion model. For example, LDR image 1400 may be acquired at a particular exposure. The system may have one or more other LDR images acquired at different exposures while eye replica 1406 remains in the same pose.
[0152] In some embodiments, the LDR image 1400 may be processed prior to being used as training data. For example, the eye replica 1406 may be retained in the LDR image 1400 while other portions may be removed, such as through various digital image processing techniques.
[0153] 14B illustrates an example of an HDR image 1410 of an eye camera rig according to the techniques described herein. The HDR image 1410 may represent an HDR image generated by the system from multiple LDR images. The HDR image 1410 may also represent an HDR image generated by the system using the LDR image 1400 as an input to an HDR conversion model. As shown, a flash 1404D in the LDR image 1400 may be updated in the HDR image 1410. For example, a corresponding flash 1414D may be adjusted so that the location of the flash 1414D may be more easily determined.
[0154] Although the description of Figs. 13-14B focuses on generating training data and generating HDR images, in some embodiments, the training data may reflect the location of the phosphene. For example, in addition to generating an LDR image, the system may mark the location of the phosphene in the LDR image. In this example, the location may be determined based on parameters set by the system. For example, the system may set parameters indicating a particular translation and / or rotation of the eye replica. The system may also have access to known locations of the LEDs. Thus, the system may identify locations where the LEDs should be visible in an image acquired by the imaging device. As an example, the system may translate the LEDs into an image space associated with the imaging device.
[0155] These locations may be used as ground truth indicators by a machine learning model, such as an HDR conversion model. In this manner, the model may be trained to mark the location of the flash as corresponding to a location. Optionally, in some embodiments, the machine learning model may be trained to mark the location of the flash without converting the LDR image to an HDR image. Techniques for marking the location of the flash without an HDR image are described in more detail below with respect to FIG.
[0156] 15 is an example of an image 1500 of an eye camera rig with imaging parameters set to obtain a ground truth image for training a neural network. For example, imaging parameters (e.g., camera exposure, gain, PWM, etc.) may be set to obtain an image that is very dark and substantially excludes features other than the center of the flash. Optionally, such an image may be used in CNN training to develop a neural network that can more accurately convert LDR images to HDR images. Image 1500 may be used as part of an end-to-end training technique in which a neural network is trained to generate HDR images from an input LDR image and assign locations to flashes in the input image.
[0157] In some embodiments, the machine learning model may be trained to label the location of the flash based on input images depicting the flash. In these embodiments, the eye camera rig may be utilized to set the orientation of the eye of the eye camera rig. For example, a rotation and / or a translation about one or more axes may be set.
[0158] Once the orientation is set, the system described above may adjust parameters until the flashes in the captured image are sufficiently dark. To dim the flashes, the system may reduce the pulse width modulation of the LEDs and / or adjust the exposure of the imaging device. For example, image 1500 depicts flashes 1502A-1502D that are sufficiently dark to preclude overexposure of the flashes. In addition, as shown, flashes 1502A-1502D do not include the irregular portions (e.g., tail portions) included in FIG. 10B.
[0159] The system may thus determine the centroid of each flash in the X and Y dimensions. For example, the system may determine a Gaussian distribution along each dimension and identify the location in image 1500 with the highest value. This may allow the system to determine the location of each flash with sub-pixel accuracy.
[0160] The system may then increase the pulse width modulation or exposure to make the flash brighter. The system may acquire one or more images depicting the flash becoming more similar to flash 1016 shown in Figure 10B. Because having a dark flash may be impractical during production and user use of the display system, the system may increase the brightness of the flash until it resembles that of flash 1016.
[0161] A machine learning model, such as a convolutional or fully connected neural network, may then be trained to assign the determined flash locations to each of the images. Thus, the machine learning model may associate the flashes 1502A-1502D with the respective determined locations. In addition, the machine learning model may also associate the respective determined locations with the flashes that light up in subsequent images. Because these lightened flashes may have irregularities, such as tails, the machine learning model may learn to determine the correct location regardless of the irregularities.
[0162] The resulting machine learning model can then be provided to a display system for implementation. Example Implementation
[0163] The systems, methods, and devices described herein each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of the present disclosure, some non-limiting features will now be briefly discussed. The following paragraphs describe various exemplary implementations of the devices, systems, and methods described herein. One or more computer systems can be configured to perform certain operations or actions by having software, firmware, hardware, or a combination thereof installed on the system that, when in operation, causes the system to perform the actions. One or more computer programs can be configured to perform certain operations or actions by including instructions that, when executed by a data processing device, cause the device to perform the actions.
[0164] Example 1: A method implemented by an augmented or virtual reality wearable system of one or more processors, comprising: acquiring an image of an eye of a user of the wearable system, the image depicting a flash of light on the eye caused by a separate light emitter, the image being a low dynamic range (LDR) image; using the image to generate a high dynamic range (HDR) image via a forward pass calculation of a machine learning model; and determining location information associated with the flash of light as depicted in the HDR image, the location information being usable to indicate an eye posture of the eye.
[0165] Example 2: The method of example 1, wherein the image is acquired using a specific exposure associated with an imaging device of the wearable system.
[0166] Example 3: The method of example 1, wherein the light emitter is a light emitting diode.
[0167] Example 4: The method of example 1, wherein the light emitter is an infrared emitting diode.
[0168] Example 5: The method of example 1, wherein the machine learning model is a convolutional neural network.
[0169] Example 6: The method described in Example 1, wherein the machine learning model is an autoencoder with multiple convolutional layers, the autoencoder including an encoder portion that generates a latent feature representation associated with an image, and a decoder portion that generates an HDR image based on the latent feature representation.
[0170] Example 7: The method of example 6, wherein one or more skip connections connect the encoder portion and the decoder portion, the skip connections providing domain transfer information from the encoder portion to the decoder portion.
[0171] Example 8: The method of example 7, wherein the domain transfer information comprises logarithmic HDR values generated from LDR display values of the image.
[0172] Example 9: The method of example 1, wherein the flash is imaged onto the pupil of the eye.
[0173] Example 10: The method of example 1, wherein the size of the glint depicted in the image exceeds the size of the glint depicted in the HDR image.
[0174] Example 11: The method of example 1, wherein each flash depicted in the image includes a larger irregular portion than a corresponding flash contained in the HDR image.
[0175] Example 12: The method of example 11, wherein the irregular portion is a tail extending from an oval or circular portion of the flash.
[0176] Example 13: The method described in Example 1, wherein the machine learning model is trained to generate HDR images from corresponding LDR images based on training data, the training data comprising a number of LDR image and HDR image pairs, and the LDR image and HDR image pairs are generated using an eye camera rig.
[0177] Example 14: The method of example 13, wherein the eye camera rig comprises a representation of an eye, a plurality of light emitters, and one or more imaging devices.
[0178] Example 15: The method described in Example 14, wherein the eye camera rig is controllable by a system of one or more processors, which defines parameters for controlling the eye camera rig, the parameters comprising one or more of the orientation of the eye replica, pulse width modulation of the light emitter, or exposure information for the imaging device.
[0179] Example 16: The method described in Example 14, wherein the training data comprises a plurality of first LDR images and a first HDR image, the first LDR images being acquired from an eye camera rig with an eye replica in a particular orientation, and the first LDR images being acquired using different exposures.
[0180] Example 17: The method described in Example 16, wherein the first HDR image is generated through combining first LDR images, and the machine learning model is trained to generate the first HDR image from each of the first LDR images.
[0181] Example 18: The method described in Example 1, wherein determining the location of the flash includes identifying a region of interest associated with the flash, the region of interest representing a boundary of the flash as depicted in the HDR image, determining a respective distribution along two axes of the HDR image, the distribution being determined based on pixel values contained within the region of interest, and assigning a location based on the determined distribution.
[0182] Example 19: The method of example 18, wherein the assigned location corresponds to the highest value of the distribution along two axes.
[0183] Example 20: The method of example 18, wherein the distribution is a Gaussian distribution.
[0184] Example 21: The method of example 1, wherein eye pose can be used for eye tracking of the eye.
[0185] Example 22: The method described in example 1, wherein eye posture is determined for each of the user's two eyes.
[0186] Example 23: A display system of one or more processors comprising: a plurality of light emitters positioned to provide light onto an eye of a user of the display system; an imaging device configured to acquire one or more images of the eye; one or more processors; and a non-transitory computer storage medium storing instructions that, when executed by the one or more processors, cause the one or more processors to perform the methods described in Examples 1-22.
[0187] Example 24: A method implemented by a system of one or more processors, comprising: setting one or more parameters associated with an eye control rig, the eye control rig comprising a representation of an eye, a plurality of light emitters, and one or more imaging devices, the one or more parameters indicating at least an orientation associated with the eye replica; acquiring a plurality of images of the eye replica, the images being low dynamic range (LDR) images acquired at different exposures; generating a high dynamic range (HDR) image based on the acquired images; and training a machine learning model based on at least one of the acquired images and the HDR images, the machine learning model being trained to generate an HDR image from an input LDR image.
[0188] Example 25: The method of example 24, wherein the parameters further comprise exposure information regarding pulse width modulation of the light emitter or an imaging device.
[0189] Example 26: The method of example 24, wherein the HDR image is generated through combining acquired images.
[0190] Example 27: The method described in Example 24, wherein the machine learning model is an autoencoder with multiple convolutional layers, the autoencoder including an encoder portion that generates a latent feature representation associated with an image, and a decoder portion that generates an HDR image based on the latent feature representation.
[0191] Example 28: The method described in Example 27, wherein one or more skip connections connect the encoder portion and the decoder portion, and the skip connections provide domain transfer information from the encoder portion to the decoder portion.
[0192] Example 29: The method described in Example 28, wherein the domain transfer information comprises logarithmic HDR values generated from LDR display values of the acquired image.
[0193] Example 30: The method of example 24, wherein the light emitters are depicted as flashes in each of the acquired images, the flashes being at different locations on the eye replica.
[0194] Example 31: The method described in Example 30, wherein different positions of the flashes are determined based on the location information of the light emitter and the orientation of the eye replica, and a machine learning model is trained to label the flashes at the different positions.
[0195] Example 32: The method described in Example 24, wherein the system is configured to adjust the orientation of the eye replica.
[0196] Example 33: The method described in Example 24, wherein training the machine learning model based on at least one of the acquired image and the HDR image includes selecting a particular image of the acquired image with an exposure associated with an imaging device of the augmented or virtual reality display system, and training the machine learning model based on the selected particular image and the HDR image.
[0197] Example 34: A system comprising one or more processors and a non-transitory computer storage medium storing instructions that, when executed by the one or more processors, cause the processor to perform the methods described in Examples 24-33. Other embodiments
[0198] Various exemplary embodiments of the present invention are described herein. Reference is made to these examples in a non-limiting sense. They are provided to illustrate the broader and more applicable aspects of the present invention. Various modifications may be made to the invention described, and equivalents may be substituted without departing from the true spirit and scope of the invention.
[0199] For example, while advantageously utilized in conjunction with an AR display that provides images across multiple depth planes, the virtual content disclosed herein may also be displayed by a system that provides images on a single depth plane.
[0200] In addition, many modifications may be made to adapt a particular situation, material, composition of matter, process, process acts, or steps to the objective, spirit, or scope of the present invention. Moreover, as will be understood by those skilled in the art, each of the individual variations described and illustrated herein has discrete components and features that can be readily separated from or combined with the features of any of the other several embodiments without departing from the scope or spirit of the present invention. All such modifications are intended to be within the scope of the claims associated with this disclosure.
[0201] The present invention includes methods that may be implemented using the subject devices. The methods may include the act of providing such a suitable device. Such provisioning may be implemented by an end user. In other words, the act of "providing" merely requires that the user obtain, access, approach, locate, configure, activate, power on, or otherwise act to provide the device required in the subject methods. The methods recited herein may be performed in any order of the recited events and the recited sequence of events that is logically possible.
[0202] In addition, it should be understood that each of the processes, methods, and algorithms described herein and / or depicted in the accompanying figures may be embodied in code modules executed by one or more physical computing systems, hardware computer processors, application-specific circuits, and / or electronic hardware configured to execute specific and particular computer instructions, and thereby may be fully or partially automated. For example, a computing system may include a general-purpose computer (e.g., a server) or a special-purpose computer programmed with specific computer instructions, special-purpose circuits, etc. Code modules may be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language. In some implementations, certain operations and methods may be performed by circuitry specific to a given function.
[0203] Furthermore, certain implementations of the functionality of the present disclosure may be sufficiently mathematically, computationally, or technically complex that application-specific hardware (utilizing appropriate specialized executable instructions) or one or more physical computing devices may be required to implement the functionality, e.g., due to the amount or complexity of the calculations involved, or to provide results in substantially real-time. For example, a video may contain many frames, each frame may have millions of pixels, and specifically programmed computer hardware may be required to process the video data to provide the desired image processing task or application in a commercially reasonable amount of time.
[0204] The code modules or any type of data may be stored on any type of non-transitory computer readable medium, such as physical computer storage devices, including hard drives, solid state memory, random access memory (RAM), read only memory (ROM), optical disks, volatile or non-volatile storage devices, combinations of the same, and / or the like. In some embodiments, the non-transitory computer readable medium may be part of one or more of the local processing and data module (140), the remote processing module (150), and the remote data repository (160). The methods and modules (or data) may also be transmitted as a data signal generated (e.g., as part of a carrier wave or other analog or digital propagated signal) over a variety of computer readable transmission media, including wireless-based and wired / cable-based media, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). The results of the disclosed processes or process steps may be stored persistently or otherwise in any type of non-transitory tangible computer storage device, or communicated via a computer readable transmission medium.
[0205] Any process, block, state, step, or functionality described herein and / or depicted in the accompanying figures should be understood as potentially representing a code module, segment, or portion of code that includes one or more executable instructions for implementing a specific function (e.g., logical or arithmetic) or step in a process. Various processes, blocks, states, steps, or functionality may be combined, rearranged, added to, removed from, modified, or otherwise altered from the illustrative examples provided herein. In some embodiments, additional or different computing systems or code modules may perform some or all of the functionality described herein. The methods and processes described herein are also not limited to any particular sequence, and the blocks, steps, or states associated therewith may be performed in other sequences, e.g., serially, in parallel, or in some other manner, as appropriate. Tasks or events may be added to or removed from the disclosed exemplary embodiments. Furthermore, the separation of various system components in the embodiments described herein is for illustrative purposes and should not be understood as requiring such separation in all embodiments. It should be understood that the program components, methods, and systems described may generally be integrated together in a single computer product or packaged into multiple computer products.
[0206] Exemplary aspects of the invention have been described above, together with details regarding material selection and manufacturing. As for other details of the invention, these may be understood in conjunction with the above-referenced patents and publications, and are generally known or may be understood by those skilled in the art. The same may be true with respect to method-based embodiments of the invention in terms of additional acts as typically or logically adopted.
[0207] In addition, the present invention has been described with reference to several embodiments, optionally incorporating various features, but the present invention is not limited to those described and indicated as being considered with respect to each variation of the present invention. Various modifications may be made to the invention described, and equivalents (whether recited herein or not included for purposes of some brevity) may be substituted without departing from the true spirit and scope of the invention. In addition, when a range of values is provided, it is to be understood that all intervening values between the upper and lower limits of the range, and any other stated value or intervening values within the stated range, are encompassed within the present invention.
[0208] It is also contemplated that any optional features of the described inventive variations may be described and claimed independently or in combination with any one or more of the features described herein. Reference to a singular item includes the possibility that there are multiple identical items present. More specifically, as used in this specification and the claims associated herewith, the singular forms "a," "an," "said," and "the" include plural references unless specifically stated otherwise. In other words, the use of articles allows for "at least one" of the items of the subject matter in the above description and in the claims associated herewith. Furthermore, it is noted that such claims may be drafted to exclude any optional element. Thus, this language is intended to serve as a predicate for the use of exclusive terminology such as "solely," "only," and the like in connection with the recitation of claim elements, or the use of a "negative" limitation. Without using such exclusive language, the term "comprising" in the claims associated with this disclosure is intended to permit the inclusion of any additional elements, regardless of whether a given number of elements are recited in such claim or whether the addition of a feature can be considered as a transformation of the nature of the elements recited in such claim.
[0209] Thus, the claims are not intended to be limited to the embodiments shown herein but are to be accorded the widest scope consistent with the present disclosure, the principles and novel features disclosed herein.
Claims
1. A method executed by one or more processors of an augmented reality or virtual reality wearable system, the method comprising: acquiring an image of an eye of a user of the augmented reality or virtual reality wearable system, the image depicting a flash of light on the eye caused by a discrete light emitter, the image being a low dynamic range (LDR) image; using the image to generate a high dynamic range (HDR) image via a forward pass computation of a machine learning model; determining location information associated with the flash depicted in the HDR image, the location information being usable to inform an eye posture of the eye; A method comprising:
2. The method of claim 1 , wherein the image is acquired using a specific exposure associated with an imaging device of the augmented reality or virtual reality wearable system.
3. The method of claim 1 , wherein the individual light emitters are light emitting diodes.
4. The method of claim 1 , wherein the individual light emitters are infrared emitting diodes.
5. The method of claim 1 , wherein the machine learning model is a convolutional neural network.
6. 2. The method of claim 1 , wherein the machine learning model is an autoencoder with multiple convolutional layers, the autoencoder including an encoder portion that generates a latent feature representation associated with the image, and a decoder portion that generates the HDR image based on the latent feature representation.
7. The method of claim 6 , wherein one or more skip connections connect the encoder portion and the decoder portion, the skip connections providing domain transfer information from the encoder portion to the decoder portion.
8. The method of claim 7 , wherein the domain transfer information comprises logarithmic HDR values generated from LDR display values of the image.
9. The method of claim 1 , wherein the flash of light is imaged onto the pupil of the eye.
10. The method of claim 1 , wherein a size of the glimmer depicted in the image is greater than a size of the glimmer depicted in the HDR image.
11. The method of claim 1 , wherein each glint depicted in the image includes a larger irregular portion than a corresponding glint contained in the HDR image.
12. The method of claim 11 , wherein the larger irregular portion is a tail extending from an oval or circular portion of the flash.
13. 2. The method of claim 1, wherein the machine learning model is trained to generate HDR images from corresponding LDR images based on training data, the training data comprising a number of LDR and HDR image pairs, the LDR and HDR image pairs being generated using an eye camera rig.
14. The method of claim 13 , wherein the eye camera rig comprises a representation of an eye, a number of light emitters, and one or more imaging devices.
15. 15. The method of claim 14, wherein the eye camera rig is controllable by a system having one or more processors, the system defining parameters for controlling the eye camera rig, the parameters comprising one or more of an orientation of the eye representation, pulse width modulation of the plurality of light emitters, or exposure information for the imaging device.
16. 15. The method of claim 14, wherein the training data comprises a plurality of first LDR images and a first HDR image, the plurality of first LDR images being acquired from the eye camera rig having a representation of the eye in a particular orientation, and the plurality of first LDR images being acquired using a plurality of different exposures.
17. 17. The method of claim 16, wherein the first HDR image is generated via combining the plurality of first LDR images, and the machine learning model is trained to generate the first HDR image from each of the plurality of first LDR images.
18. Determining the location of the flash identifying a region of interest associated with the flash, the region of interest representing a boundary of the flash depicted in the HDR image; determining a respective distribution along two axes of the HDR image, the respective distribution being determined based on pixel values contained within the region of interest; assigning locations based on said determined individual distributions; The method of claim 1 , comprising:
19. 1. A display system having one or more processors, the display system comprising: a plurality of light emitters positioned to provide light onto an eye of a user of the display system; an imaging device configured to acquire one or more images of the eye; one or more processors and a non-transitory computer storage medium; Equipped with The non-transitory computer storage medium stores instructions; The instructions, when executed by the one or more processors, acquiring an image of an eye of a user of the display system, the image depicting a flash of light on the eye caused by a discrete light emitter, the image being a low dynamic range (LDR) image; using the image to generate a high dynamic range (HDR) image via a forward pass computation of a machine learning model; determining location information associated with the depicted phosphene on the eye in the HDR image, the location information being usable to inform an eye posture of the eye; causing the one or more processors to perform operations including:
20. A method executed by one or more processors of a system, the method comprising: - configuring one or more parameters associated with an eye-control rig, the eye-control rig comprising a representation of an eye, a plurality of light emitters, and one or more imaging devices, the one or more parameters indicative of at least an orientation associated with the representation of the eye; acquiring a plurality of images of the representation of the eye, the plurality of images being a plurality of low dynamic range (LDR) images acquired at a plurality of different exposures; generating a high dynamic range (HDR) image based on the captured images; causing a machine learning model to be trained based on at least one of the captured images and the HDR image, the machine learning model being trained to generate an HDR image from an input LDR image; A method comprising:
Citation Information
Patent Citations
Image display device
JP2017135605A
System and Method for On-Axis Eye Gaze Tracking
US20150160726A1