Extended reality (XR) systems such as mixed reality (MR) or augmented reality (AR) systems combine computer generated information (referred to as virtual content) with real world images or a real-world view to augment, or add content to, a user's view of the world. XR systems may thus be utilized to provide an interactive user experience for multiple applications, such as applications that add virtual content to a real-time view of the viewer's environment, interacting with virtual training environments, gaming, remotely controlling drones or other mechanical systems, viewing digital media content, interacting with the Internet, or the like.
Various embodiments of methods and apparatus for multi-representation eye authentication for use of a device, for example head-mounted devices (HMDs) including but not limited to HMDs used in extended reality (XR) applications and systems, are described. HMDs may include wearable devices such as headsets, helmets, goggles, or glasses. An XR system may include an HMD which may include one or more cameras that may be used to capture still images or video frames of the user's environment. The HMD may include lenses positioned in front of the eyes through which the wearer can view the environment. In XR systems, virtual content may be displayed on or projected onto these lenses to make the virtual content visible to the wearer while still being able to view the real environment through the lenses.
In some systems, a user authentication process may be performed based on a user's eye. During the user authentication process, the eye of the user that is trying to be authenticated may be compared to an identified eye that has been authenticated by using a multi-representation eye model. The multi-representation eye model may be based on feature representations of images of the identified eye captured under a plurality of different sets of conditions.
In such systems, to build the multi-representation eye model, images of an eye known as the identified eye may be captured at different times under different sets of conditions. A set of conditions may include one or more of lighting affecting the identified eye, pose of the identified eye, accommodation distance of the identified eye, or indication of force applied to the identified eye. The images may then be transformed into feature representations for the identified eye. A feature representation includes features from the image that represent different 3D topography, structures, or textures of an eye and is made to be inputted into the multi-representation eye model.
The multi-representation eye model for the identified eye may then be generated based on the feature representations. Feature representations of different sets of conditions may be added until the multi-representation eye model reaches a maximum amount of feature representations. Feature representations may also replace existing feature representations in the multi-representation eye model based on a quality indicator or an age of the existing feature representations. In some systems, the multi-representation eye model may be updated during use of the device by the user of the identified eye. The multi-representation eye model may be updated during times when it is unobtrusive for the user.
In some systems, to update the multi-representation eye model, a new set of conditions affecting the identified eye may be determined and whether the new set of conditions are sufficiently represented in the multi-representation eye model may be determined. In such systems that the new set of conditions are not sufficiently represented, a new image of the identified eye may be captured under the new set of conditions and transformed into a new feature representation. The multi-representation eye model may be updated based on the new feature representation and stored for using during a user authentication process.
To perform the user authentication process, an image may be captured of a current eye of a user attempting to login to the account with multi-representation eye model for the identified eye under a first set of conditions. The image may then be transformed into a current feature representation for the current eye. After accessing the multi-representation eye model, the current feature representation may be applied to the multi-representation eye model to determine whether the current eye is a match for the identified eye. Then, an indication of whether the current eye is a match for the identified eye may be provided.
This specification includes references to “one embodiment” or “an embodiment.” The appearances of the phrases “in one embodiment” or “in an embodiment” do not necessarily refer to the same embodiment. Particular features, structures, or characteristics may be combined in any suitable manner consistent with this disclosure.
“Comprising.” This term is open-ended. As used in the claims, this term does not foreclose additional structure or steps. Consider a claim that recites: “An apparatus comprising one or more processor units . . . . ” Such a claim does not foreclose the apparatus from including additional components (e.g., a network interface unit, graphics circuitry, etc.).
“Configured To.” Various units, circuits, or other components may be described or claimed as “configured to” perform a task or tasks. In such contexts, “configured to” is used to connote structure by indicating that the units/circuits/components include structure (e.g., circuitry) that performs those task or tasks during operation. As such, the unit/circuit/component can be said to be configured to perform the task even when the specified unit/circuit/component is not currently operational (e.g., is not on). The units/circuits/components used with the “configured to” language include hardware—for example, circuits, memory storing program instructions executable to implement the operation, etc. Reciting that a unit/circuit/component is “configured to” perform one or more tasks is expressly intended not to invoke 35 U.S.C. § 112, paragraph (f), for that unit/circuit/component. Additionally, “configured to” can include generic structure (e.g., generic circuitry) that is manipulated by software or firmware (e.g., an FPGA or a general-purpose processor executing software) to operate in manner that is capable of performing the task(s) at issue. “Configure to” may also include adapting a manufacturing process (e.g., a semiconductor fabrication facility) to fabricate devices (e.g., integrated circuits) that are adapted to implement or perform one or more tasks.
“First,” “Second,” etc. As used herein, these terms are used as labels for nouns that they precede, and do not imply any type of ordering (e.g., spatial, temporal, logical, etc.). For example, a buffer circuit may be described herein as performing write operations for “first” and “second” values. The terms “first” and “second” do not necessarily imply that the first value must be written before the second value.
It will also be understood that, although the terms 1, 2, N, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a component with the term 1 could be termed a second component, and, similarly, a component with the term 2 could be termed a first component, without departing from the scope of the present invention. The first components and the second component are both components, but they are not the same components. Also, the term N indicates that an Nth amount of the elements may or may not exist depending on the embodiments.
“Based On” or “Dependent On.” As used herein, these terms are used to describe one or more factors that affect a determination. These terms do not foreclose additional factors that may affect a determination. That is, a determination may be solely based on those factors or based, at least in part, on those factors. Consider the phrase “determine A based on B.” While in this case, B is a factor that affects the determination of A, such a phrase does not foreclose the determination of A from also being based on C. In other instances, A may be determined based solely on B.
“Or.” When used in the claims, the term “or” is used as an inclusive or and not as an exclusive or. For example, the phrase “at least one of x, y, or z” means any one of x, y, and z, as well as any combination thereof.
Various embodiments of methods and apparatus for multi-representation user authentication using a multi-representation eye model of a device, for example head-mounted devices (HMDs) including but not limited to HMDs used in extended reality (XR) applications and systems, are described. HMDs may include wearable devices such as headsets, helmets, goggles, or glasses. An XR system may include an HMD which may include one or more cameras that may be used to capture still images or video frames of the user's environment. The HMD may include lenses positioned in front of the eyes through which the wearer can view the environment. In XR systems, virtual content may be displayed on or projected onto these lenses to make the virtual content visible to the wearer while still being able to view the real environment through the lenses.
In at least some systems, the HMD may include user login processes. In some cases, the user login processes may include a user authentication process to ensure the account matches the correct user. In an example, one or more cameras may capture an image of a user's eye. By comparing the user's eye to an identified eye connected to the account and represented in a multi-representation eye model, the user's eye may be determined to be a match for the identified eye and therefore may be logged in to the account on the HMD. If the user's eye is determined to not be a match for the identified eye, then the user may be unable to log in to the account on the HMD using this method or may have to redo the user authentication process using this method.
In such systems, to build the multi-representation eye model, a first image of an eye known as the identified eye may be captured at a first time under a first set of conditions. A set of conditions may include one or more of lighting affecting the identified eye, pose of the identified eye, accommodation distance of the identified eye, or indication of force applied to the identified eye. The first image may then be transformed into a first feature representation for the identified eye. A feature representation includes features from the image that represent different 3D topography, structures, or textures of an eye and is made to be inputted into the multi-representation eye model. A second image of the identified eye may then be captured at a second time after the first time under a second set of conditions different than the first set of conditions. The second image may be transformed into a second feature representation for the identified eye.
The multi-representation eye model for the identified eye may then be generated based on the first feature representation and the second feature representation. Building the multi-representation eye model may be performed during an enrollment process initiated for eye authentication for a user. The multi-representation eye model may be generated at a time during use of the device. The multi-representation eye model may be updated with other feature representations. Feature representations of different sets of conditions may be added until the multi-representation eye model reaches a maximum amount of feature representations. Feature representations may also replace existing feature representations in the multi-representation eye model based on a quality indicator or an age of the existing feature representations. In some systems, the multi-representation eye model may be updated during use of the device by the user of the identified eye. The multi-representation eye model may be updated during times when it is unobtrusive for the user.
In some systems, to update the multi-representation eye model, a new set of conditions affecting the identified eye may be determined and whether the new set of conditions are sufficiently represented in the multi-representation eye model may be determined. In such systems that the new set of conditions are not sufficiently represented, a new image of the identified eye may be captured under the new set of conditions. The new image may be transformed into a new feature representation and then the multi-representation eye model for the identified eye may then be updated based on the new feature representation. The multi-representation eye model may be stored for using during a user authentication process. In some embodiments, to generate or update the multi-representation eye model, a machine learning model may be trained for the multi-representation eye model using the feature representations. In some embodiments, the feature representations may be separately stored as part of the multi-representation eye model.
To perform the user authentication process, an image may be captured of a current eye of a user attempting to login to the account with multi-representation eye model for the identified eye under a first set of conditions. The image may then be transformed into a current feature representation for the current eye. After accessing the multi-representation eye model, the current feature representation may be applied to the multi-representation eye model to determine whether the current eye is a match for the identified eye. Then, an indication of whether the current eye is a match for the identified eye may be provided.
In some embodiments, a device performing a user authentication process by using a multi-representation eye model, such as a multi-representation eye model 110, may resemble embodiments as shown in
In some embodiments, the device 102 may comprise a computing device 104. In such embodiments, a camera 122 may capture an image 120 of an eye 124. A condition detector 118 may receive the set of conditions of the eye. Conditions may include but are not limited to lighting affecting the eye, pose of the eye, accommodation distance for the eye, or indication of force applied to the eye. The image transformer 116 may then receive the image 120.
The image transformer 116 may transform the image 120 into a feature representation that may be sent to the multi-representation recognition engine 114 or the multi-representation model builder 106. During a process of generating or updating the multi-representation eye model 110, the feature representation of the image 120 may be sent to the multi-representation model builder 106. During a process of user authentication, the feature representation of the image 120 may be sent to the multi-representation recognition engine 114. Feature representations may include features that represent different 3D topography, structures, or textures of the eye captured under a set of conditions. The multi-representation model builder 106 may build a multi-representation eye model and store the multi-representation eye model into a multi-representation model storage 108. The multi-representation recognition engine 114 may then access the multi-representation eye model 110 during a user authentication process to determine whether the eye of a current feature representation matches the identified eye of the multi-representation eye model 110.
In some embodiments, the multi-representation recognition engine 114, may access a condition index 112 to determine corresponding one or more feature representations of the multi-representation eye model based on the set of conditions from the current feature representation. The corresponding one ore more feature representations of the multi-representation eye model 110 may then be compared to the current feature representation to determine whether the eye of the current feature representation matches the identified eye of the multi-representation eye model 110. For example, if two feature representations of the multi-representations eye model have the same lighting affecting the eye and accommodation of the eye as the current feature representation, then these two feature representations may be accessed and compared to the current feature representation using the condition index 112.
Some embodiments, such as shown in
Features, as described above, of a current feature representation may be compared to features of the multi-representation model 110 to determine whether a current eye of the current feature representation is a match for an identified eye of the multi-representation model. In some embodiments, a feature representation may include dependent features that are dependent on the feature representation's set of conditions and independent features that are independent of the feature representation's set of conditions. In some embodiments, to compare the features of a current feature representations to features of the multi-representation model 110, dependent current features may be compared to dependent model features and independent current features may be compared to independent model features.
Some embodiments, such as shown in
In some embodiments, a model generator 304 may generate the multi-representation eye model 110 based on the condition-dependent feature representations A, B, and N (308A, 308B, 308N) and may store the multi-representation eye model 110 into the multi-representation model storage 108. In some embodiments, a model updater 306 may update the multi-representation eye model 110 into the multi-representation model storage 108 based on the condition-dependent feature representations A, B, and N (308A, 308B, 308N). The condition index 112 that contains data indicating which sets of conditions apply to each of the condition-dependent feature representations may also be stored into the multi-representation model storage 108.
Some embodiments, such as shown in
The condition index 112 may include condition IDs that indicate the conditions that each of the condition-dependent feature representations are dependent on. In some embodiments, to apply the current feature representation to the multi-representation model storage 108, the condition-independent feature representation 402, the condition-dependent feature representation A 308 A, the condition-dependent feature representation B 308, and the condition-dependent feature representation N 308N may be compared to the current feature representation.
In some embodiments, a select amount of the condition-dependent feature representations may be chosen in addition to the condition-independent feature representation 402 to be compared to the current feature representation. In such embodiments, the selected condition-dependent feature representations may be selected based on the set of conditions of the current feature representation. The selection may be performed by accessing the condition index 112 to determine condition-dependent feature representations that have sets of conditions that correspond to the current feature's set of conditions. For example, if the current feature representation's set of conditions included a high brightness of light affecting the current eye, then condition-dependent feature representations that have a high brightness of light affecting the identified eye included in their sets of conditions may be selected for comparison to the current feature representation.
Some embodiments, such as shown in
The HMD may include lens(es) 1030, mounted in a wearable housing or frame 1010. The HMD may be worn on a user's head (the “wearer”) so that the lens(es) is disposed in front of the wearer's eyes. In some embodiments, an HMD may implement any of various types of display technologies or display systems. For example, the HMD may include a display system that directs light that forms images (virtual content) through one or more layers of waveguides in the lens(es) 1020; output couplers of the waveguides (e.g., relief gratings or volume holography) may output the light towards the wearer to form images at or near the wearer's eyes.
As another example, the HMD may include a direct retinal projector system that directs light towards reflective components of the lens(es); the reflective lens(es) is configured to redirect the light to form images at the wearer's eyes. In some embodiments the display system may change what is displayed to at least partially affect the conditions and features of the eye for the purpose of generating or updating the multi-representation eye model. For example, the display may increase the brightness to change the conditions of the eye such as lighting that is affecting the eye. Another example, the display may change the distance an object appears on the display to affect the conditions of the eye such as the accommodation distance of the eye.
In some embodiments, HMD may also include one or more sensors that collect information about the wearer's environment (video, depth information, lighting information, etc.) and about the wearer (e.g., eye or gaze sensors). The sensors may include one or more of, but are not limited to one or more eye cameras 1020 (e.g., infrared (IR) cameras) that capture views of the user's eyes, one or more world-facing or PoV cameras 1050 (e.g., RGB video cameras) that can capture images or video of the real-world environment in a field of view in front of the user, and one or more ambient light sensors that capture lighting information for the environment. Cameras 1020 and 1050 may be integrated in or attached to the frame 1010. The HMD may also include one or more light sources 1080 such as LED or infrared point light sources that emit light (e.g., light in the IR portion of the spectrum) towards the user's eye or eyes.
A controller 1060 for the XR system may be implemented in the HMD, or alternatively may be implemented at least in part by an external device (e.g., a computing system or handheld device) that is communicatively coupled to the HMD via a wired or wireless interface. Controller 1060 may include one or more of various types of processors, image signal processors (ISPs), graphics processing units (GPUs), coder/decoders (codecs), system on a chip (SOC), CPUs, and/or other components for processing and rendering video and/or images. In some embodiments, controller 1060 may render frames (each frame including a left and right image) that include virtual content based at least in part on inputs obtained from the sensors and from an eye authentication system, and may provide the frames to the display system.
Memory 1070 for the XR system may be implemented in the HMD, or alternatively may be implemented at least in part by an external device (e.g., a computing system) that is communicatively coupled to the HMD via a wired or wireless interface. The memory 1070 may, for example, be used to record video or images captured by the one or more cameras 1050 integrated in or attached to frame 1010. Memory 1070 may include any type of memory, such as dynamic random-access memory (DRAM), synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM (including mobile versions of the SDRAMs such as mDDR3, etc., or low power versions of the SDRAMs such as LPDDR2, etc.), RAMBUS DRAM (RDRAM), static RAM (SRAM), etc.
In some embodiments, one or more memory devices may be coupled onto a circuit board to form memory modules such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc. Alternatively, the devices may be mounted with an integrated circuit implementing system in a chip-on-chip configuration, a package-on-package configuration, or a multi-chip module configuration. In some embodiments DRAM may be used as temporary storage of images or video for processing, but other storage options may be used in an HMD to store processed data, such as Flash or other “hard drive” technologies. This other storage may be separate from the externally coupled storage mentioned below.
While
Embodiments of an HMD as illustrated in
The sensors may include one or more visible light cameras 1050 (e.g., RGB video cameras) that capture video of the wearer's environment that, in some embodiments, may be used to provide the wearer with a virtual view of their real environment. In some embodiments, video streams of the real environment captured by the visible light cameras 1050 may be processed by the controller 1060 of the HMD to render augmented or mixed reality frames that include virtual content overlaid on the view of the real environment, and the rendered frames may be provided to the display system.
In some embodiments, a process of generating a multi-representation eye model may resemble a process such as that which is shown in
In some embodiments, a process of updating the multi-representation eye model may resemble a process such as that which is shown in
Block 850 checks if the multi-representation eye model has reached a maximum feature representation capacity. If the multi-representation eye model has not reached a maximum, the new feature representation may be added to the multi-representation eye model as shown in block 870. If the multi-representation eye model has reached a maximum, then block 860 checks if the new feature representation is better than a similar existing feature representation, such as by quality or age. A similar existing feature representation may include a feature representation with similar sets of conditions. If the new feature representation is not better than a similar existing feature representation, the process may begin again at block 810.
If the new feature representation is better than a similar existing feature representation, the new feature representation may replace the similar existing feature representation, such as shown in block 880. For example, if the quality of the new feature representation is higher than a similar existing feature representation, then the new feature representation may take the place of the similar existing feature representation in the multi-representation eye model. Both block 870 and block 880 proceed to block 890 that checks if enough conditions have been sufficiently represented in the multi-representation eye model. If not enough conditions have been sufficiently represented, then the process proceeds to block 810. If enough conditions have been sufficiently represented, then the process ends.
In some embodiments, a process of user authentication based on applying a current feature representation to a multi-representation eye model may resemble a process such as shown in
In block 950, a current feature representation may be applied to the multi-representation eye model to determine whether the current eye is a match for the identified eye. In block 950, an indication of whether the current eye is a match for the identified eye may be provided. For example, if the current eye is a match for the identified eye, indication that the current eye is a match for the identified eye may be provided to a display of the device.
In some embodiments, a process of applying the current feature representation to the multi-representation eye model by determining whether a current eye is a match for an identified eye of the multi-representation eye model may resemble a process such as shown in
In block 1030, a subset of the feature representations that correspond to the current feature representation may be selected. In block 1040, the current feature representation may be compared to the subset of corresponding feature representations and to an independent set of features. For example, corresponding feature representations may include feature representations that were formed under sets of conditions that are similar to the first set of conditions of the current feature representation.
A real environment refers to an environment that a person can perceive (e.g., see, hear, feel) without use of a device. For example, an office environment may include furniture such as desks, chairs, and filing cabinets; structural items such as doors, windows, and walls; and objects such as electronic devices, books, and writing instruments. A person in a real environment can perceive the various aspects of the environment, and may be able to interact with objects in the environment.
An extended reality (XR) environment, on the other hand, is partially or entirely simulated using an electronic device. In an XR environment, for example, a user may see or hear computer generated content that partially or wholly replaces the user's perception of the real environment. Additionally, a user can interact with an XR environment. For example, the user's movements can be tracked and virtual objects in the XR environment can change in response to the user's movements. As a further example, a device presenting an XR environment to a user may determine that a user is moving their hand toward the virtual position of a virtual object, and may move the virtual object in response. Additionally, a user's head position and/or eye gaze can be tracked and virtual objects can move to stay in the user's line of sight.
Examples of XR include augmented reality (AR), virtual reality (VR) and mixed reality (MR). XR can be considered along a spectrum of realities, where VR, on one end, completely immerses the user, replacing the real environment with virtual content, and on the other end, the user experiences the real environment unaided by a device. In between are AR and MR, which mix virtual content with the real environment.
VR generally refers to a type of XR that completely immerses a user and replaces the user's real environment. For example, VR can be presented to a user using a head mounted device (HMD), which can include a near-eye display to present a virtual visual environment to the user and headphones to present a virtual audible environment. In a VR environment, the movement of the user can be tracked and cause the user's view of the environment to change. For example, a user wearing a HMD can walk in the real environment and the user will appear to be walking through the virtual environment they are experiencing. Additionally, the user may be represented by an avatar in the virtual environment, and the user's movements can be tracked by the HMD using various sensors to animate the user's avatar.
AR and MR refer to a type of XR that includes some mixture of the real environment and virtual content. For example, a user may hold a tablet that includes a camera that captures images of the user's real environment. The tablet may have a display that displays the images of the real environment mixed with images of virtual objects. AR or MR can also be presented to a user through an HMD. An HMD can have an opaque display, or can use a see-through display, which allows the user to see the real environment through the display, while displaying virtual content overlaid on the real environment.
The methods described herein may be implemented in software, hardware, or a combination thereof, in different embodiments. In addition, the order of the blocks of the methods may be changed, and various elements may be added, reordered, combined, omitted, modified, etc. Various modifications and changes may be made as would be obvious to a person skilled in the art having the benefit of this disclosure. The various embodiments described herein are meant to be illustrative and not limiting. Many variations, modifications, additions, and improvements are possible. Accordingly, plural instances may be provided for components described herein as a single instance. Boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of claims that follow. Finally, structures and functionality presented as discrete components in the example configurations may be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements may fall within the scope of embodiments as defined in the claims that follow.
This application claims benefit of priority to U.S. Provisional Application Ser. No. 63/476,930, entitled “Biometric Multi-Representation Eye Authentication,” filed Dec. 22, 2022, and which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63476930 | Dec 2022 | US |