The present disclosure relates to systems and methods to localize position and orientation of one or more objects in the context of augmented reality systems.
Modern computing and display technologies have facilitated the development of systems for so called “virtual reality” or “augmented reality” experiences, wherein digitally reproduced images or portions thereof are presented to a user in a manner wherein they seem to be, or may be perceived as, real. A virtual reality, or “VR”, scenario typically involves presentation of digital or virtual image information without transparency to other actual real-world visual input; an augmented reality, or “AR”, scenario typically involves presentation of digital or virtual image information as an augmentation to visualization of the actual world around the user.
For example, referring to
For instance, head-worn AR displays (or helmet-mounted displays, or smart glasses) typically are at least loosely coupled to a user's head, and thus move when the user's head moves. If the user's head motions are detected by the display system, the data being displayed can be updated to take the change in head pose into account.
As an example, if a user wearing a head-worn display views a virtual representation of a three-dimensional (3D) object on the display and walks around the area where the 3D object appears, that 3D object can be re-rendered for each viewpoint, giving the user the perception that he or she is walking around an object that occupies real space. If the head-worn display is used to present multiple objects within a virtual space (for instance, a rich virtual world), measurements of head pose (i.e., the location and orientation of the user's head) can be used to re-render the scene to match the user's dynamically changing head location and orientation and provide an increased sense of immersion in the virtual space.
In AR systems, detection or calculation of head pose can facilitate the display system to render virtual objects such that they appear to occupy a space in the real world in a manner that makes sense to the user. In addition, detection of the position and/or orientation of a real object, such as handheld device (which also may be referred to as a “totem”), haptic device, or other real physical object, in relation to the user's head or AR system may also facilitate the display system in presenting display information to the user to enable the user to interact with certain aspects of the AR system efficiently. As the user's head moves around in the real world, the virtual objects may be re-rendered as a function of head pose, such that the virtual objects appear to remain stable relative to the real world. At least for AR applications, placement of virtual objects in spatial relation to physical objects (e.g., presented to appear spatially proximate a physical object in two- or three-dimensions) may be anon-trivial problem.
For example, head movement may significantly complicate placement of virtual objects in a view of an ambient environment. Such is true whether the view is captured as an image of the ambient environment and then projected or displayed to the end user, or whether the end user perceives the view of the ambient environment directly. For instance, head movement will likely cause a field of view of the end user to change, which will likely require an update to where various virtual objects are displayed in the field of the view of the end user.
Additionally, head movements may occur within a large variety of ranges and speeds. Head movement speed may vary not only between different head movements, but within or across the range of a single head movement. For instance, head movement speed may initially increase (e.g., linearly or not) from a starting point, and may decrease as an ending point is reached, obtaining a maximum speed somewhere between the starting and ending points of the head movement. Rapid head movements may even exceed the ability of the particular display or projection technology to render images that appear uniform and/or as smooth motion to the end user.
Head tracking accuracy and latency (i.e., the elapsed time between when the user moves his or her head and the time when the image gets updated and displayed to the user) have been challenges for VR and AR systems. Especially for display systems that fill a substantial portion of the user's visual field with virtual elements, it is critical that the accuracy of head-tracking is high and that the overall system latency is very low from the first detection of head motion to the updating of the light that is delivered by the display to the user's visual system. If the latency is high, the system can create a mismatch between the user's vestibular and visual sensory systems, and generate a user perception scenario that can lead to motion sickness or simulator sickness. If the system latency is high, the apparent location of virtual objects will appear unstable during rapid head motions.
In addition to head-worn display systems, other display systems can benefit from accurate and low latency head pose detection. These include head-tracked display systems in which the display is not worn on the user's body, but is, e.g., mounted on a wall or other surface. The head-tracked display acts like a window onto a scene, and as a user moves his head relative to the “window” the scene is re-rendered to match the user's changing viewpoint. Other systems include a head-worn projection system, in which a head-worn display projects light onto the real world.
Additionally, in order to provide a realistic augmented reality experience, AR systems may be designed to be interactive with the user. For example, multiple users may play a ball game with a virtual ball and/or other virtual objects. One user may “catch” the virtual ball, and throw the ball back to another user. In another embodiment, a first user may be provided with a totem (e.g., a real bat communicatively coupled to the AR system) to hit the virtual ball. In other embodiments, a virtual user interface may be presented to the AR user to allow the user to select one of many options. The user may use totems, haptic devices, wearable components, or simply touch the virtual screen to interact with the system.
Detecting head pose and orientation of the user, and detecting a physical location of real objects in space enable the AR system to display virtual content in an effective and enjoyable manner. However, although these capabilities are key to an AR system, they are difficult to achieve. In other words, the AR system must recognize a physical location of a real object (e.g., user's head, totem, haptic device, wearable component, user's hand, etc.) and correlate the physical coordinates of the real object to virtual coordinates corresponding to one or more virtual objects being displayed to the user. This requires highly accurate sensors and sensor recognition systems that track a position and orientation of one or more objects at rapid rates. Current approaches do not perform localization at satisfactory speed or precision standards.
There, thus, is a need for a better localization system in the context of AR and VR devices.
The present invention relates to systems and methods to optimally interpret data input from multiple sensors; in other words, embodiments described herein refine multiple inputs into a common coherent output with less computational resources than to correct a single sensor input.
In some embodiments, data input from a first sensor is updated by a correction data input point from a second sensor. As noisy data is collected, such as by a high frequency IMU, it is periodically updated or adjusted to prevent excessive error or drift from negatively affecting system performance or interpretation of that data.
In some embodiments, a first sensor's inputs are reset to originate from a corrective input point as provided by a lower frequency and more accurate second sensor, such as radar or vision system. These more accurate sensors are operated at lower frequency to preserve computing cycles otherwise necessary to operate them at full capacity, as their input need only be to periodically ground, or update and correct the noisier data the lower frequency operation does not affect system performance.
In some embodiments, noisy data is adjusted by a coefficient value to pre-emptively adjust incoming data points a sensor provides. As a corrective data point is received, the system “steers” the incoming noisy data towards the corrective input point rather than completely adjusting the noisy data to the corrective input point. These embodiments are particularly beneficial when there are large changes in both sensor inputs, as a noisy datastream that steers towards a corrective input will not originate from a corrective input point in the past that is substantially different than a current measurement would indicate. In other words, the noisy datastream will not originate from an obsolete corrective input point.
In some embodiments, pose prediction is made by estimating a future position of a user and accessing features and points expected at that future position. For example, if a user is walking around a square table, features such as corners of the table or lines of objects on the table are “fetched” by the system based on where the system estimates the user will be at a future time. When the user is at that location, an image is collected and the fetched features are projected onto that image to determine a correlation and determine a specific pose. This is beneficial as it avoids feature mapping concurrent with receiving an image and reduces computational cycles by completing pre-processing of the fetched features (such as warping) prior to the image being received, so that when the image of current pose is collected the points can be more quickly applied and estimated pose is refined rather than generated, allowing virtual content to either render at that new pose more quickly or with less jitter.
Additional embodiments, advantages, and details are described in greater detail below with specific reference to the following figures as appropriate.
Referring to
As shown in
The local processing and data module (70) may comprise a power-efficient processor or controller, as well as digital memory, such as flash memory, both of which may be utilized to assist in the processing, caching, and storage of data a) captured from sensors which may be operatively coupled to the frame (64), such as image capture devices (such as cameras), microphones, inertial measurement units, accelerometers, compasses, GPS units, radio devices, and/or gyros; and/or b) acquired and/or processed using the remote processing module (72) and/or remote data repository (74), possibly for passage to the display (62) after such processing or retrieval.
The local processing and data module (70) may be operatively coupled (76, 78), such as via a wired or wireless communication links, to the remote processing module (72) and remote data repository (74) such that these remote modules (72, 74) are operatively coupled to each other and available as resources to the local processing and data module (70).
In one embodiment, the remote processing module (72) may comprise one or more relatively powerful processors or controllers configured to analyze and process data and/or image information. In one embodiment, the remote data repository (74) may comprise a relatively large-scale digital data storage facility, which may be available through the internet or other networking configuration in a “cloud” resource configuration. In one embodiment, all data is stored and all computation is performed in the local processing and data module, allowing fully autonomous use from any remote modules.
Referring now to
With efficient local and remote processing coordination, and an appropriate display device for a user, such as the user interface or user display system (62) shown in
With a configuration as described above, wherein there is one world model that can reside on cloud computing resources and be distributed from there, such world can be “passable” to one or more users in a relatively low bandwidth form preferable to trying to pass around real-time video data or the like. The augmented experience of the person standing near the statue (i.e., as shown in
3-D points may be captured from the environment, and the pose (i.e., vector and/or origin position information relative to the world) of the cameras that capture those images or points may be determined, so that these points or images may be “tagged”, or associated, with this pose information. Then points captured by a second camera may be utilized to determine the pose of the second camera. In other words, one can orient and/or localize a second camera based upon comparisons with tagged images from a first camera. Then this knowledge may be utilized to extract textures, make maps, and create a virtual copy of the real world (because then there are two cameras around that are registered).
So at the base level, in one embodiment a person-worn system can be utilized to capture both 3-D points and the 2-D images that produced the points, and these points and images may be sent out to a cloud storage and processing resource. They may also be cached locally with embedded pose information (i.e., cache the tagged images); so the cloud may have on the ready (i.e., in available cache) tagged 2-D images (i.e., tagged with a 3-D pose), along with 3-D points. If a user is observing something dynamic, he may also send additional information up to the cloud pertinent to the motion (for example, if looking at another person's face, the user can take a texture map of the face and push that up at an optimized frequency even though the surrounding world is otherwise basically static). More information on object recognizers and the passable world model may be found in U.S. patent application Ser. No. 14/205,126, entitled “System and method for augmented and virtual reality”, which is incorporated by reference in its entirety herein, along with the following additional disclosures, which related to augmented and virtual reality systems such as those developed by Magic Leap, Inc. of Fort Lauderdale, Fla.; U.S. patent application Ser. No. 14/641,376; U.S. patent application Ser. No. 14/555,585; U.S. patent application Ser. No. 14/212,961; U.S. patent application Ser. No. 14/690,401; U.S. patent application Ser. No. 13/663,466; patent application Ser. No. 13/684,489 and U.S. GPS and other localization information may be utilized as inputs to such processing. Highly accurate localization of the user's head, totems, hand gestures, haptic devices etc. are crucial in displaying appropriate virtual content to the user.
One approach to achieve high precision localization may involve the use of an electromagnetic field coupled with electromagnetic sensors that are strategically placed on the user's AR head set, belt pack, and/or other ancillary devices (e.g., totems, haptic devices, gaming instruments, etc.).
Electromagnetic tracking systems typically comprise at least an electromagnetic field emitter and at least one electromagnetic field sensor. The sensors may measure electromagnetic fields with a known distribution. Based on these measurements a position and orientation of a field sensor relative to the emitter is determined.
Referring now to
In one or more embodiments, the electromagnetic field emitter 402 comprises several coils (e.g., at least three coils positioned perpendicular to each other to produce field in the x, y and z directions) that generate magnetic fields. This magnetic field is used to establish a coordinate space. This allows the system to map a position of the sensors in relation to the known magnetic field, and helps determine a position and/or orientation of the sensors. In one or more embodiments, the electromagnetic sensors 404a, 404b, etc. may be attached to one or more real objects. The electromagnetic sensors 404 may comprise smaller coils in which current may be induced through the emitted electromagnetic field.
Generally the “sensor” components (404) may comprise small coils or loops, such as a set of three differently-oriented (i.e., such as orthogonally oriented relative to each other) coils coupled together within a small structure such as a cube or other container, that are positioned/oriented to capture incoming magnetic flux from the magnetic field emitted by the emitter (402), and by comparing currents induced through these coils, and knowing the relative positioning and orientation of the coils relative to each other, relative position and orientation of a sensor relative to the emitter may be calculated.
One or more parameters pertaining to a behavior of the coils and inertial measurement unit (“IMU”) components operatively coupled to the electromagnetic tracking sensors may be measured to detect a position and/or orientation of the sensor (and the object to which it is attached to) relative to a coordinate system to which the electromagnetic field emitter is coupled. In one or more embodiments, multiple sensors may be used in relation to the electromagnetic emitter to detect a position and orientation of each of the sensors within the coordinate space. The electromagnetic tracking system may provide positions in three directions (i.e., X, Y and Z directions), and further in two or three orientation angles. In one or more embodiments, measurements of the IMU may be compared to the measurements of the coil to determine a position and orientation of the sensors. In one or more embodiments, both electromagnetic (EM) data and IMU data, along with various other sources of data, such as cameras, depth sensors, and other sensors, may be combined to determine the position and orientation. This information may be transmitted (e.g., wireless communication, Bluetooth, etc.) to the controller 406. In one or more embodiments, pose (or position and orientation) may be reported at a relatively high refresh rate in conventional systems.
Conventionally an electromagnetic emitter is coupled to a relatively stable and large object, such as a table, operating table, wall, or ceiling, and one or more sensors are coupled to smaller objects, such as medical devices, handheld gaming components, or the like. Alternatively, as described below in reference to
The controller 406 may control the electromagnetic field generator 402, and may also capture data from the various electromagnetic sensors 404. It should be appreciated that the various components of the system may be coupled to each other through any electro-mechanical or wireless/Bluetooth means. The controller 406 may also comprise data regarding the known magnetic field, and the coordinate space in relation to the magnetic field. This information is then used to detect the position and orientation of the sensors in relation to the coordinate space corresponding to the known electromagnetic field.
One advantage of electromagnetic tracking systems is that they produce highly accurate tracking results with minimal latency and high resolution. Additionally, the electromagnetic tracking system does not necessarily rely on optical trackers, and sensors/objects not in the user's line-of-vision may be easily tracked.
It should be appreciated that the strength of the electromagnetic field v drops as a cubic function of distance r from a coil transmitter (e.g., electromagnetic field emitter 402). Thus, an algorithm may be required based on a distance away from the electromagnetic field emitter. The controller 406 may be configured with such algorithms to determine a position and orientation of the sensor/object at varying distances away from the electromagnetic field emitter.
Given the rapid decline of the strength of the electromagnetic field as one moves farther away from the electromagnetic emitter, best results, in terms of accuracy, efficiency and low latency, may be achieved at closer distances. In typical electromagnetic tracking systems, the electromagnetic field emitter is powered by electric current (e.g., plug-in power supply) and has sensors located within 20 ft radius away from the electromagnetic field emitter. A shorter radius between the sensors and field emitter may be more desirable in many applications, including AR applications.
Referring now to
In one or more embodiments, each of the axes may oscillate at a slightly different frequency. At 504, a coordinate space corresponding to the electromagnetic field may be determined. For example, the control 406 of
At 506, a behavior of the coils at the sensors (which may be attached to a known object) may be detected. For example, a current induced at the coils may be calculated. In other embodiments, a rotation of coils, or any other quantifiable behavior may be tracked and measured. At 508, this behavior may be used to detect a position and orientation of the sensor(s) and/or known object. For example, the controller 406 may consult a mapping table that correlates a behavior of the coils at the sensors to various positions or orientations. Based on these calculations, the position in the coordinate space along with the orientation of the sensors may be determined.
In the context of AR systems, one or more components of the electromagnetic tracking system may need to be modified to facilitate accurate tracking of mobile components. As described above, tracking the user's head pose and orientation is crucial in many AR applications. Accurate determination of the user's head pose and orientation allows the AR system to display the right virtual content to the user. For example, the virtual scene may comprise a monster hiding behind a real building. Depending on the pose and orientation of the user's head in relation to the building, the view of the virtual monster may need to be modified such that a realistic AR experience is provided. Or, a position and/or orientation of a totem, haptic device or some other means of interacting with a virtual content may be important in enabling the AR user to interact with the AR system. For example, in many gaming applications, the AR system must detect a position and orientation of a real object in relation to virtual content. Or, when displaying a virtual interface, a position of a totem, user's hand, haptic device or any other real object configured for interaction with the AR system must be known in relation to the displayed virtual interface in order for the system to understand a command, etc. Conventional localization methods including optical tracking and other methods are typically plagued with high latency and low resolution problems, which makes rendering virtual content challenging in many augmented reality applications.
In one or more embodiments, the electromagnetic tracking system, discussed in relation to
Typical electromagnetic systems tend to have a large and bulky electromagnetic emitters (e.g., 402 in
Referring now to
In one or more embodiments, the electromagnetic sensors 604 may be placed on one or more locations on the user's headset, along with other sensing devices such as one or more IMUs or additional magnetic flux capturing coils 608. For example, as shown in
In one or more embodiments, one or more sensors may also be placed on the belt pack 70 or any other part of the user's body. The sensors (604, 608) may communicate wirelessly or through Bluetooth to a computing apparatus that determines a pose and orientation of the sensors (and the AR headset to which it is attached). In one or more embodiments, the computing apparatus may reside at the belt pack 70. In other embodiments, the computing apparatus may reside at the headset itself, or even the hand-held controller 606. The computing apparatus may in turn comprise a mapping database (e.g., passable world model, coordinate space, etc.) to detect pose, to determine the coordinates of real objects and virtual objects, and may even connect to cloud resources and the passable world model, in one or more embodiments.
As described above, conventional electromagnetic emitters may be too bulky for AR devices. Therefore the electromagnetic field emitter may be engineered to be compact, using smaller coils compared to traditional systems. However, given that the strength of the electromagnetic field decreases as a cubic function of the distance away from the field emitter, a shorter radius between the electromagnetic sensors 604 and the electromagnetic field emitter 602 (e.g., about 3-3.5 ft) may reduce power consumption when compared to conventional systems such as the one detailed in
This aspect may either be utilized to prolong the life of the battery 610 that may power the controller 606 and the electromagnetic field emitter 602, in one or more embodiments. Or, in other embodiments, this aspect may be utilized to reduce the size of the coils generating the magnetic field at the electromagnetic field emitter 602. However, in order to get the same strength of magnetic field, the power may be need to be increased. This allows for a compact electromagnetic field emitter unit 602 that may fit compactly at the hand-held controller 606.
Several other changes may be made when using the electromagnetic tracking system for AR devices. Although this pose reporting rate is rather good, AR systems may require an even more efficient pose reporting rate. To this end, IMU-based pose tracking may be used in the sensors. Crucially, the IMUs must remain as stable as possible in order to increase an efficiency of the pose detection process. The IMUs may be engineered such that they remain stable up to 50-100 milliseconds. It should be appreciated that some embodiments may utilize an outside pose estimator module (i.e., IMUs may drift over time) that may enable pose updates to be reported at a rate of 10-20 Hz. By keeping the IMUs stable at a reasonable rate, the rate of pose updates may be dramatically decreased to 10-20 Hz (as compared to higher frequencies in conventional systems).
If the electromagnetic tracking system can be run at a 10% duty cycle (e.g., only pinging for ground truth every 100 milliseconds), this would be another way to save power at the AR system. This would mean that the electromagnetic tracking system wakes up every 10 milliseconds out of every 100 milliseconds to generate a pose estimate. This directly translates to power consumption savings, which may, in turn, affect size, battery life and cost of the AR device.
In one or more embodiments, this reduction in duty cycle may be strategically utilized by providing two hand-held controllers (not shown) rather than just one. For example, the user may be playing a game that requires two totems, etc. Or, in a multi-user game, two users may have their own totems/hand-held controllers to play the game. When two controllers (e.g., symmetrical controllers for each hand) are used rather than one, the controllers may operate at offset duty cycles. The same concept may also be applied to controllers utilized by two different users playing a multi-player game, for example.
Referring now to
Advantageously, using an electromagnetic tracking system similar to the one outlined in
Referring to
Referring to
Referring to
Referring to
Referring to
In another embodiment wherein a particular system component, such as a head mounted component (58) features two or more electromagnetic coil sensor sets, the system may be configured to selectively utilize the sensor and emitter pairing that are closest to each other to optimize the performance of the system.
Referring to
Referring to
Referring to
Referring back to
Active stereo depth sensors are available from manufacturers such as Intel® and Aquifi®. Stereo with structured light, such as the systems developed by Primesense, Inc.® and available under the tradename Kinect®, as well as the systems available from Mantis Vision, Inc®, generally utilize a single camera/projector pairing, and the projector is specialized in that it is configured to broadcast a pattern of dots that is known apriori. In essence, the system knows the pattern that is broadcasted, and it knows that the variable to be determined is depth. Such configurations may be relatively efficient on compute load, and may be challenged in wide FOV requirement scenarios as well as scenarios with ambient light and patterns broadcasted from other nearby devices, but can be quite effective and efficient in many scenarios. With modulated time of flight type depth sensors, such as those available from PMD Technologies®, A.G. and SoftKinetic Inc.®, an emitter may be configured to send out a wave, such as a sine wave, of amplitude modulated light; a camera component, which may be positioned nearby or even overlapping in some configurations, receives a returning signal on each of the pixels of the camera component and depth mapping may be determined/calculated. Such configurations may be relatively compact in geometry, high in accuracy, and low in compute load, but may be challenged in terms of image resolution (such as at edges of objects), multi-path errors (such as wherein the sensor is aimed at a reflective or shiny corner and the detector ends up receiving more than one return path, such that there is some depth detection aliasing. Direct time of flight sensors, which also may be referred to as the aforementioned LIDAR, are available from suppliers such as LuminAR® and Advanced Scientific Concepts, Inc.®. With these time of flight configurations, generally a pulse of light (such as a picosecond, nanosecond, or femtosecond long pulse of light) is sent out to bathe the world oriented around it with this light ping; then each pixel on a camera sensor waits for that pulse to return, and knowing the speed of light, the distance at each pixel may be calculated. Such configurations may have many of the advantages of modulated time of flight sensor configurations (no baseline, relatively wide FOV, high accuracy, relatively low compute load, etc) and also relatively high framerates, such as into the tens of thousands of Hertz. They may also be relatively expensive, have relatively low resolution, be sensitive to bright light, and susceptible to multi-path errors; they may also be relatively large and heavy.
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring back to
Referring to
Referring to
Referring to
Referring to
The user may align the controller to the targets, and the system calculates position from both the EM response, and from the direction of the virtual targets plus the previously calculated distance. Roll angle calibration may be done by aligning a known feature on the controller with a virtual target projected to the user; yaw and Pitch angle may be calibrated by presenting a virtual target to the user and having the user align two features on the controller with the target (much like sighting a rifle).
Referring to
In one embodiment, one may use an IMU sensor to see if you're on the plus or the negative side of the symmetry axis. In an embodiment such as those described above which feature world cameras and a depth camera, one can use that info to detect whether a handheld component is in the positive side or negative side of the reference axis; if the handheld is outside of the field of view of the camera and/or depth sensor, the system may be configured to decide (or the user may decide) that it must be in the 180 zone directly in back of the user, for example.
Referring back to the embodiments above wherein outward-oriented camera devices (124, 154, 156) are coupled to a system component such as a head mounted component (58), the position and orientation of the head coupled to such head mounted component (58) may be determined using information gathered from these camera devices, using techniques such as simultaneous localization and mapping, or “SLAM” techniques (also known as parallel tracking and mapping, or “PTAM” techniques).
Understanding the position and orientation of the head of the user, also known as the user's “head pose”, in real or near-real time (i.e., preferably with low latency of determination and updating) is valuable in determining where the user is within the actual environment around him or her, and how to place and present virtual content relative to the user and the environment pertinent to the augmented or mixed reality experience of the user. A typical SLAM or PTAM configuration involves extracting features from incoming image information and using this to triangulate 3-D mapping points, and then tracking against those 3-D mapping points. SLAM techniques have been utilized in many implementations, such as in self-driving cars, where computing, power, and sensing resources may be relatively plentiful when compared with those which might be available on board a wearable computing device, such as a head mounted component (58).
Referring to
After moving sufficiently away from the original set of map points (202), one or both camera images (204, 206) may start to lose the map points in the newly incoming images (for example, if the user's head is rotating right in space, the original map points may start to disappear to the left and may only appear in the left image, and then not at all with more rotation). Once the user has rotated too far away from the original set of map points, the system may be configured to create new map points, such as by using a process similar to that described above (detect features, create new map points)—this is how the system may be configured to keep populating the map. In one embodiment, this process may be repeated again every 10 to 20 frames, depending upon how much the user is translating and/or rotating his head relative to his environment, and thereby translating and/or rotating the associated cameras. Frames associated with newly created mapping points may be deemed “key frames,” and the system may be configured to delay the feature detection process with key frames, or alternatively, feature detection may be conducted upon each frame to try to establish matches, and then when the system is ready to create a new key frame, the system already has that associated feature detection completed. Thus, in one embodiment, the basic paradigm is to start off creating a map, and then track, track, track until the system needs to create another map or additional portion thereof.
Referring to
With regard to pretracking (216), the system may be configured to identify which map points project into the image before the image information arrives. In other words, the system may be configured to identify which map points would project into the image given that the system knows where the user was before, and has a sense or where the user is going.
The notion of “sensor fusion” is discussed further below, but it is worth noting here that one of the inputs that the system may get from a sensor fusion module or functionality may be “post estimation” information, at a relatively fast rate, such as at 250 Hz from an inertial measurement unit (“IMU”) or other sensor or device (this is a high rate relative to, say, 30 Hz, at which the vision based pose calculation operation may be providing updates). Thus there may be a much finer temporal resolution of pose information being derived from IMU or other device relative to vision based pose calculation; but it is also noteworthy that the data from devices such as IMUs tends to be somewhat noisy and susceptible to pose estimation drift, as discussed below. For relatively short time windows, such as 10-15 milliseconds, the IMU data may be quite useful in predicting pose, and, again, when combined with other data in a sensor fusion configuration, an optimized overall result may be determined. For example, and as explained in greater detail below with reference to
Pose information coming from a sensor fusion module or functionality may be termed “pose prior”, and this pose prior may be utilized by the system to estimate which sets of points are going to project into the current image. Thus in one embodiment, the system is configured in a “pre tracking” step (216) to pre-fetch those map points and conduct some pre-processing that helps to reduce latency of overall processing. Each of the 3-D map points may be associated with a descriptor, so that the system may identify them uniquely and match them to regions in the image. For example, if a given map point was created by using a feature that has a patch around it, the system may be configured to maintain some semblance of that patch along with the map point, so that when the map point is seen projected onto other images, the system can look back at the original image used to create the map, examine the patch correlation, and determine if they are the same point. Thus in pre-processing, the system may be configured to do some amount of fetching of map points, and some amount of pre-processing associated with the patches associated with those map points. Thus in pre-tracking (216), the system may be configured to pre-fetch map points, and pre-warp image patches (a “warp” of an image may be done to ensure that the system can match the patch associated with the map point with the current image; it's a way to make sure that the data being compared is compatible).
Referring back to
As the user is tracking his head around, coupled to the head mounted component (58), the system preferably is configured to identify if the user is looking at a new region of the environment or not, to determine whether a new key frame is needed. In one embodiment, such analysis of whether a new key frame is needed may be almost purely based upon geometry; for example, the system may be configured to look at the distance (translational distance; also field-of-view capture reorientation—the user's head may be close translationally but re-oriented such that completely new map points are required, for example) from the current frame to the remaining keyframes. Once the system has determined that a new key frame should be inserted, the mapping stage may be started. As noted above, the system may be configured to operate mapping as three different operations (low-latency mapping, latency-tolerant mapping, post/mapping or cleanup), as opposed to a single mapping operation more likely seen in a conventional SLAM or PTAM operation.
Low-latency mapping (220), which may be thought of in a simplistic form as triangulation and creation of new map points, is a critical stage, with the system preferably configured to conduct such stage immediately, because the paradigm of tracking discussed herein relies upon map points, with the system only finding a position if there are map points available to track against. The “low-latency” denomination refers to the notion that there is no tolerance for unexcused latency (in other words, this part of the mapping needs to be conducted as quickly as possible or the system has a tracking problem).
Latency-tolerant mapping (222) may be thought of in a simplistic form as an optimization stage. The overall process does not absolutely require low latency to conduct this operation known as “bundle adjustment”, which provides a global optimization in the result. The system may be configured to examine the positions of 3-D points, as well as where they were observed from. There are many errors that can chain together in the process of creating map points. The bundle adjustment process may take, for example, particular points that were observed from two different view locations and use all of this information to gain a better sense of the actual 3-D geometry.
The result may be that the 3-D points and also the calculated trajectory (i.e., location, path of the capturing cameras) may be adjusted by a small amount. It is desirable to conduct these kinds of processes to not accumulate errors through the mapping/tracking process.
The post mapping/cleanup (224) stage is one in which the system may be configured to remove points on the map that do not provide valuable information in the mapping and tracking analysis. In this stage, these points that do not provide useful information about the scene are removed, and such analysis is helpful in keeping the entire mapping and tracking process scaleable.
During the vision pose calculation process, there is an assumption that features being viewed by the outward-facing cameras are static features (i.e., not moving from frame to frame relative to the global coordinate system). In various embodiments, semantic segmentation and/or object detection techniques may be utilized to remove moving objects from the pertinent field, such as humans, moving vehicles, and the like, so that features for mapping and tracking are not extracted from these regions of the various images. In one embodiment, deep learning techniques, such as those described below, may be utilized for segmenting out these non-static objects.
In some embodiments, a pre-fetching protocol lead to pose estimation according to method (2710) as depicted in
Upon determining an estimated future pose, in some embodiments the system accesses a feature map for that position. For example, if a user is walking while wearing a head mounted component, the system may extrapolate a future position based on the pace of the user and access a feature map for that extrapolated/estimated position. In some embodiments, this step is pre-fetching as described above with reference to step (216) of
At (2760) a real time image (or the current view at the estimated time) is received by the system. The processed points are projected onto the received image at (2770). At 2780 the system establishes correspondences between the received image and the processed points. In some cases, the system has made a perfect estimation and the received image and processed points align perfectly, confirming the estimated pose of (2730). In other cases, the processed points do not perfectly align with features of the received images and the system performs additional warping or adjustments to determine the correct pose based on a degree of correspondence at (2790). Of course, it is possible that none of the processed points align with features in the received image, and the system would have to revert to new tracking and feature mapping as described above with reference to
Referring to
Referring to
Each time the EKF gets a round of IMU measurements, the system may be configured to integrate the angular velocity information to get rotational information (i.e., the integral of angular velocity (change in rotational position over change in time) is angular position (change in angular position)); likewise for translational information (in other words, by doing a double integral of the translational acceleration, the system will get position data). With such calculation the system is configured to get 6 degree-of-freedom (“DOF”) pose information from the head (translation in X, Y, Z; orientation for the three rotational axes)—at the high frequency from the IMU (i.e., 250 Hz in one embodiment). Each time an integration is done, noise is accumulated in the data; doing a double integration on the translational or rotational acceleration can propagate noise.
Generally the system is configured to not rely on such data which is susceptible to “drift” due to noise for too long a time window, such as any longer than about 100 milliseconds in one embodiment. The incoming lower frequency (i.e., updated at about 30 Hz in one embodiment) data from the vision pose measurement (228) may be utilized to operate as a correction factor with the EKF (232), producing a corrected output (230).
In this way, embodiments of the present invention applying corrective “updates” with the vision pose data to the “propagation path” of data coming from the IMU, using an EKF. Such update, as depicted in
For example, as depicted in
For systems employing sensors known to produce compounding error/noise over time and other sensors that produce low error/noise, such sensor fusion provides more economical computing resource management.
In is notable that in some embodiments, the data from the second source (i.e., such as the vision pose data) may come in not only at a lower update frequency, but also with some latency—meaning that the system preferably is configured to navigate a time domain adjustment as the information from IMU and vision pose calculation are integrated. In one embodiment, to ensure that the system is fusing in the vision pose calculation input at the correct time domain position in the IMU data, a buffer of IMU data may be maintained, to go back, to a time (say “Tx”) in the IMU data to do the fusion and calculate the “update” or adjustment at the time pertinent to the input from the vision pose calculation, and then account for that in forward propagation to the current time (say “Tcurrent”), which leaves a gap between the adjusted position and/or orientation data and the most current data coming from the IMU. To ensure that there is not too much of a “jump” or “jitter” in the presentation to the user, the system may be configured to use smoothing techniques. One way to address this issue is to use weighted averaging techniques, which may be linear, nonlinear, exponential, etc., to eventually drive the fused datastream down to the adjusted path. Referring to
In other embodiment, rather than rely directly upon the vision pose measurement, the system may be configured to examine the derivative EKF; in other words, rather than using vision pose calculation result directly, the system uses the change in vision pose from the current time to the previous time. Such a configuration may be pursued, for example, if the amount of noise in the vision pose difference is a lot less than the amount of noise in the absolute vision pose measurement. It is preferable to not have instantaneous errors throwing off the fused result, because the output of all of this is pose, which gets sent back as the “pose prior” values to the vision system.
The external system-based “consumer” of the pose result may be termed the “Pose Service”, and the system may be configured such that all other system components tap into the Pose Service when requesting a pose at any given time. The Pose Service may be configured to be a queue or stack (i.e., a buffer), with data for a sequences of time slices, one end having the most recent data. If a request of the Pose Service is the current pose, or some other pose that is in the buffer, then it may be outputted immediately; in certain configurations, the Pose Service will receive a request for: what is the pose going to be 20 milliseconds forward in time from now (for example, in a video game content rendering scenario—it may be desirable for a related service to know that it needs to be rendering something in a given position and/or orientation slightly in the future from now). In one model for producing a future pose value, the system may be configured to use a constant velocity prediction model (i.e., assume that the user's head is moving with a constant velocity and/or angular velocity); in another model for producing a future pose value, the system may be configured to use a constant acceleration prediction model (i.e. assume that the user's head is translating and/or rotating with constant acceleration).
The data in the data buffer may be utilized to extrapolate where the pose will be using such models. A constant acceleration model uses a bit longer tail into the data of the buffer for prediction than does a constant velocity model, and we have found that the subject systems can predict into the range of 20 milliseconds in the future without substantial degradation. Thus the Pose Service may be configured to have a data buffer going back in time, as well as about 20 milliseconds or more going forward, in terms of data that may be utilized to output pose.
Operationally, content operations generally will be configured to identify when the next frame draw is going to be coming in time (for example, it will either try to draw at a time T, or at a time T+N, the N being the next interval of updated data available from the Pose Service).
The use of user-facing (i.e., inward-facing, such as toward the user's eyes) cameras, such as those depicted in
For example, in one embodiment, a deep learning network may be utilized to conduct the segmentation portion of the aforementioned eye tracking paradigm (i.e., a deep convolutional network may be utilized for robust pixel-wise segmentation of the left and right eye images into iris, pupil, sclera, and rest classes), with everything else remaining the same; such a configuration takes one of the large computationally intensive portions of the process and makes it significantly more efficient. In another embodiment, one joint deep learning model may be trained and utilized to conduct segmentation, pupil detection, and glint detection (i.e., a deep convolutional network may be utilized for robust pixel-wise segmentation of the left and right eye images into iris, pupil, sclera, and rest classes; eye segmentation may then be utilized to narrow down the 2-D glint locations of active inward-facing LED illumination sources); then the geometry calculations to determine gaze may be conducted. Such a paradigm also streamlines computation. In a third embodiment, a deep learning model may be trained and utilized to directly estimate gaze based upon the two images of the eyes coming from the inward-facing cameras (i.e., in such an embodiment, a deep learning model solely using the pictures of the user's eyes may be configured to tell the system where the user is gazing in three dimensional space; a deep convolutional network may be utilized for robust pixel-wise segmentation of the left and right eye images into iris, pupil, sclera, and rest classes; eye segmentation may then be utilized to narrow down the 2-D glint locations of active inward-facing LED illumination sources; the 2-D glint locations along with 3-D LED locations may be utilized to detect the cornea center in 3-D; note that all 3-D locations may be in the respective camera coordinate system; then eye segmentation may also be utilized to detect the pupil center in the 2-D image using ellipse fitting; using offline calibration information, the 2-D pupil center may be mapped to a 3-D gaze point, with depth being determined during calibration; the line connecting the cornea 3-D location and the 3-D gaze point location is the gaze vector for that eye); such a paradigm also streamlines computation, and the pertinent deep network may be trained to directly predict the 3-D gaze point given the left and right images. The loss function for such deep network to perform such a training may be a simple Euclidean loss, or also include the well-known geometric constraints of the eye model.
Further, deep learning models may be included for biometric identification using images of the user's iris from the inward-facing cameras. Such models may also be utilized to determine if a user is wearing a contact lens—because the model will jump out in the Fourier transform of the image data from the inward-facing cameras.
The use of outward-facing cameras, such as those depicted in
In one embodiment, a DeepSLAM network may be utilized to estimate pose between a pair of frames captured from cameras coupled to a component to be tracked, such as the head mounted component (58) of an augmented reality system. The system may comprise a convolutional neural network configured to learn transformation of pose (for example, the pose of a head mounted component 58) and apply this in a tracking manner. The system may be configured to start looking at a particular vector and orientation, such as straight ahead at a known origin (so 0,0,0 as X, Y, Z). Then the user's head may be moved, for example, to the right a bit, then to the left a bit between frame 0 and frame 1 with the goal of seeking the pose transform or relative pose transformation. The associated deep network may be trained on a pair of images, for example, wherein we know pose A and pose B, and image A and image B; this leads to a certain pose transformation. With the pose transformation determined, one may then integrate associated IMU data (from accelerometers, gyros, etc—as discussed above) into the pose transformation and continue tracking as the user moves away from the origin, around the room, and at whatever trajectory. Such a system may be termed a “relative pose net”, which as noted above, is trained based upon pairs of frames wherein the known pose information is available (the transformation is determined from one frame to the other, and based upon the variation in the actual images, the system learns what the pose transformation is in terms of translation and rotation). Deep homography estimation, or relative pose estimation, has been discussed, for example, in U.S. Patent Application Ser. No. 62/339,799, which is incorporated by reference herein in its entirety.
When such configurations are utilized to conduct pose estimation from frame 0 to frame 1, the result generally is not perfect, and the system must have a means for dealing with drift. As the system moves forward from frame 1 to 2 to 3 to 4 and estimates relative pose, there is a small amount of error brought in between each pair of frames. This error generally accumulates and becomes a problem (for example, without addressing this error-based drift, the system can end up placing the user and his or her associated system componentry in the wrong location and orientation with pose estimation). In one embodiment, the notion of “loop closure” may be applied to solve what may be termed the “relocalization” problem. In other words, the system may be configured to determine if it has been in a particular place before—and if so, then the predicted pose information should make sense in view of the previous pose information for the same location. For example, the system may be configured such that anytime it sees a frame on the map that has been seen before, it relocalizes; if the translation is off, say by 5 mm in the X direction, and the rotation is off, say by 5 degrees in the theta direction, then the system fixes this discrepancy along with those of the other associated frames; thus the trajectory becomes the true one, as opposed to the wrong one. Relocalization is discussed in U.S. Patent Application Ser. No. 62/263,529, which is incorporated by reference herein in its entirety.
It also turns out that when pose is estimated, in particular by using IMU information (i.e., such as data from associated accelerometers, gyros, and the like, as described above), there is noise in the determined position and orientation data. If such data is directly utilized by the system without further processing to present images, for example, there is likely to be undesirable jitter and instability experienced by the user; this is why in certain techniques, such as some of those described above, Kalman filters, sensor fusion techniques, and smoothing functions may be utilized.
With deep network solutions, such as those described above using convolutional neural nets to estimate pose, the smoothing issue may be addressed using recurrent neural networks, or RNNs, which are akin to a long short term memory network. In other words, the system may be configured to build up the convolutional neural net, and on top of that, the RNN is placed. Traditional neural nets are feed forward in design, static in time; given an image or pair of images, they give you an answer. With the RNN, the output of a layer is added to the next input and fed back into the same layer again—which typically is the only layer in the net; can be envisioned as a “passage through time”—at each point in time, the same net layer is reconsidering a slightly temporally tuned input, and this cycle is repeated.
Further, unlike feed forward nets, an RNN can receive a sequence of values as an input (i.e., sequenced over time)—and can also produce a sequence of values as output. The simple structure of the RNN with built in feedback loop that allows it to behave like a forecasting engine, and the result when combined with the convolutional neural net in this embodiment is that the system can take relatively noisy trajectory data from the convolutional neural net, push it through the RNN, and it will output a trajectory that is much smoother, much more like human motion, such as motion of a user's head which may be coupled to a head mounted component (58) of a wearable computing system.
The system may also be configured to determine depth of an object from a stereo pair of images, wherein you have a deep network and left and right images are input. The convolutional neural net may be configured to output the disparity between left and right cameras (such as between left eye camera and right eye camera on a head mounted component 58); the determined disparity is the inverse of the depth if the focal distance of the cameras is known, so the system can be configured to efficiently calculate depth having the disparity information; then meshing and other processes may be conducted without involving alternative components for sensing depth, such as depth sensors, which may require relatively high computing and power resource loads.
As regards semantic analysis and the application of deep networks to various embodiments of the subject augmented reality configurations, several areas are of particular interest and applicability, including but not limited to detection of gestures and keypoints, face recognition, and 3-D object recognition.
With regard to gesture recognition, in various embodiments the system is configured to recognize certain gestures by a user's hands to control the system. In one embodiment, the embedded processor may be configured to utilize what are known as “random forests” along with sensed depth information to recognize certain gestures by the user. A random forest model is a nondeterministic model which may require a fairly large library of parameters, and may require a relatively large processing and therefore power demand.
Further, depth sensors may not always be optimally suited for reading hand gestures with certain backgrounds, such as desk or tabletops or walls which are near to the depth of the subject hand, due to noise limitations with certain depth sensors and inabilities to determine differences between, for example, 1 or 2 cm in depth accurately. In certain embodiments, random forest type of gesture recognition may be replaced with deep learning networks. One of the challenges in utilizing deep networks for such a configuration is in labelling portions of the image information, such as pixels, as “hand” or “not hand”; training and utilizing deep networks with such segmentation challenges may require doing segmentations with millions of images, which is very expensive and time consuming. To address this, in one embodiment, during training time, a thermal camera, such as those available for military or security purposes, may be coupled to the conventional outward-facing camera, such that the thermal camera essentially does the segmentation of “hand” and “no hand” itself by showing which portions of the image are hot enough to be human hand, and which are not.
With regard to face recognition, and given that the subject augmented reality system is configured to be worn in a social setting with other persons, understanding who is around the user may be of relatively high value—not only for simply identifying other nearby persons, but also for adjusting the information presented (for example, if the system identifies a nearby person as an adult friend, it may suggest that you play chess and assist in that; if the system identifies a nearby person as your child, it may suggest that you go and play soccer and may assist in that; if the system fails to identify a nearby person, or identifies them as a known danger, the user may be inclined to avoid proximity with such person).
In certain embodiments, deep neural network configurations may be utilized to assist with face recognition, in a manner similar to that discussed above in relation to deep relocalization. The model may be trained with a plurality of different faces pertinent to the user's life, and then when a face comes near the system, such as near the head mounted component (58), the system can take that face image in pixel space, translate it, for example, into a 128-dimensional vector, and then use vectors as points in high dimensional space to figure out whether this person is present in your known list of people or not. In essence, the system may be configured to do a “nearest neighbor” search in that space, and as it turns out, such a configuration can be very accurate, with false positive rates running in the 1 out of 1,000 range.
With regard to 3-D object detection, in certain embodiments, it is useful to have a deep neural network incorporated which will tell the user about the space they are in from a 3-dimensional perspective (i.e., not only walls, floors, ceiling, but also objects populating the room, such as couches, chairs, cabinets, and the like—not just from a traditional 2-dimensional sense, but from a true 3-dimensional sense). For example, in one embodiment it is desirable for a user to have a model which understands the true volumetric bounds of a couch in the room—so that the user knows what volume is occupied by the volume of the couch in the event that a virtual ball or other object is to be thrown, for example. A deep neural network model may be utilized to form a cuboid model with a high level of sophistication.
In certain embodiments, deep reinforcement networks, or deep reinforcement learning, may be utilized to learn effectively what an agent should be doing in a specific context, without the user ever having to directly tell the agent. For example, if a user wants to always have a virtual representation of his dog walking around the room that he is occupying, but he wants the dog representation to always be visible (i.e., not hidden behind a wall or cabinet), a deep reinforcement approach may turn the scenario into a game of sorts, wherein the virtual agent (here a virtual dog) is allowed to roam around in the physical space near the user, but during training time, a reward is given if the dog stays in acceptable locations from, say T0 to T1, and a penalty is given if the user's view of the dog becomes occluded, lost, or bumps into a wall or object. With such an embodiment, the deep network starts learning what it needs to do to win points rather than lose points, and pretty soon it knows what it needs to know to provide the desired function.
The system may also be configured to address lighting of the virtual world in a manner that approximates or matches the lighting of the actual world around the user. For example, to make a virtual perception blend in as optimally as possible with actual perception in augmented reality, lighting color, shadowing, and lighting vectoring is reproduced as realistically as possible with the virtual objects. In other words, if a virtual opaque coffee cup is to be positioned upon an actual tabletop in a room with yellow-ish tinted light coming from one particular corner of the room that creates shadowing from the real world objects on the real world table, then optimally the light tinting and shadowing of the virtual coffee cup would match the actual scenario. In certain embodiments, a deep learning model may be utilized to learn the illumination of an actual environment in which the system component is placed. For example, a model may be utilized that, given an image or sequences of images from the actual environment, learns the illumination of the room to determine factors such as brightness, hue, and vectoring by one or more light sources. Such a model may be trained from synthetic data, and from images captured from the user's device, such as from the user's head mounted component (58).
Referring to
Conventionally, when using deep networks to achieve various tasks, an algorithm will be built for each task. Thus if it desired to recognize automobiles, then an algorithm will be built for that; if it is desired to recognize faces, then an algorithm will be built for that; and these algorithms may be run simultaneously. If unlimited or high levels of power and computation resource are available, then such a configuration will work well and get results; but in many scenarios, such as the scenario of a portable augmented reality system with a limited power supply and limited processing capability in an embedded processor, computing and power resources can be relatively limited, and it may be desirable to process certain aspects of the tasks together. Further, there is evidence that if one algorithm has knowledge from another, then it makes the second algorithm better. For example, if one deep network algorithm knows about dogs and cats, knowledge transfer (also termed “domain adaptation”) from that may help another algorithm recognize shoes better. So there is reason to have some kind of crosstalk between algorithms during training and inference.
Further, there is a consideration related to algorithm design and modification. Preferably if further capabilities are needed relative to an initial version of an algorithm, one won't need to completely rebuild a new one from scratch. The depicted Hydra architecture (272) may be utilized to address these challenges, as well as the computing and power efficiency challenge, because as noted above, it is the case that there are common aspects of certain computing processes that can be shared. For example, in the depicted Hydra architecture (272), inputs (270), such as image information from one or more cameras, may be brought into the lower layers (268) where feature extraction on a relatively low level may be conducted. For example, Gabor functions, derivatives of Gaussians, things that basically effect lines, edges, corners, colors—these are uniform for many problems at the low level. Thus, regardless of task variation, low level feature extraction can be the same, whether it is the objective to extract cats, cars, or cows—and therefore the computation related thereto can be shared. Hydra architecture (272) is a high-level paradigm which allows knowledge sharing across algorithms to make each better, it allows for feature sharing so that computation can be shared, reduced, and not redundant, and allows one to be able to expand the suite of capabilities without having to rewrite everything—rather, new capabilities may be stacked upon the foundation with the existing capabilities.
Thus, as noted above, in the depicted embodiment, the Hydra architecture represents a deep neural network that has one unified pathway. The bottom layers (268) of the network are shared, and they extract basic units of visual primitives from input images and other inputs (270). The system may be configured to go through a few layers of convolutions to extract edges, lines, contours, junctions, and the like. The basic components that programmers used to feature-engineer, now become learned by the deep network. As it turns out, these features are useful for many algorithms, whether the algorithm is face recognition, tracking, etc. Thus once the lower computational work has been done and there is a shared representation from images or other inputs into all of the other algorithms, then there can be individual pathways, one per problem. Thus on top of this shared representation, there is a pathway that leads to face recognition that is very specific to faces, there's a pathway that leads to tracking that is very specific to SLAM, and so on for the other “heads” (264) of the architecture (272). With such an embodiment, one has all of this shared computation that allows for multiplying additions basically, and on the other hand one has very specific pathways that are on top of the general knowledge and allow one to fine tune and find answers to very specific questions.
Also of value with such a configuration is the fact that such neural networks are designed so that the lower layers (268), which are closer to the input (270), require more computation, because at each layer of computation, the system takes the original input and transforms it into some other dimensional space where typically the dimensionality of things is reduced. So once the fifth layer of the network from the bottom layer is achieved, the amount of computation may be in the range of 20 time less than what was required in the lowest level (i.e., because the input was much larger and much larger matrix multiplication was required). In one embodiment, by the time the system has extracted the shared computation, it's fairly agnostic to the problems that need to be solved. A large portion of the computation of almost any algorithm has been completed in the lower layers, so when new pathways are added for face recognition, tracking, depth, lighting, and the like, these contribute relatively little to the computational constraints—and thus such an architecture provides plenty of capability for expansion.
In one embodiment, for the first few layers, they may be no pooling to retain the highest resolution data; mid layers may have pooling processes because at that point, super high resolution is not needed (for example, super high resolution is not needed to know where the wheel of a car is in a middle layer; one really just needs to know where the nut and bolt is located from the lower levels in high resolution, and then the image data can be significantly shrunk as it is passed to the middle layers for location of the wheel of the car).
Further, once the network has all of the learned connections, everything is loosely wired and the connections are advantageously learned through the data. The middle layers (266) may be configured to start learning parts, for example—object parts, face features, and the like; so rather than simple Gabor functions, the middle layers are processing more complex constructs (i.e., squiggly shapes, shading, etc). Then as the process moves higher toward the top, there are split-offs into the unique head components (264), some of which may have many layers, and some of which may have few. Again, the scalability and efficiency is largely due to the fact that a large portion, such as 90%, of the processing flops are within the lower layers (268), then a small portion, such as 5% of the flops, are at the middle layers (266), and another 5% is in the heads (264).
Such networks may be pre-trained using information that already exists. For example, in one embodiment, ImageNet, a large group (in the range of 10 million) of images from a large group of classes (in the range of 1,000) may be utilized to train all of the classes. In one embodiment, once it's trained, the top layer that distinguishes the classes may be thrown out, but all of the weights learned in the training process are kept.
Referring to
Helmholtz coils come in various configuration (here a pair a round coils are shown) and are known for producing a relatively uniform magnetic field through a given volume, such as that depicted in
Referring to
Referring to
Referring to
One of the challenges with certain composite materials is that while some of the materials, typically the fibers or fabric, may have relatively high thermal conductivity properties, matrix materials such as epoxy typically have low thermal conductivity properties, making an overall composite have a somewhat low thermal conductivity. For example, referring to
Referring to
In another embodiment, strands or leads of electrically conductive material may be layered into an overall composite structure to provide not only enhanced thermal conductivity, but also electrical conductivity, to function as a power, signal, or other lead that is built or integrated into such structure. The engineered composite structures disclosed herein may be hand-manufactured layer by layer, or may be robotically constructed. In one embodiment, a mold may be created, into which the various layers of fiber and/or fabric, and matrix material, may be placed for combination and curing. In one embodiment, a powder coating layer may be placed first against the mold, and last against the other side of the mold, such that upon removal of the cured component, both sides of such component are powder coated. Powder coating or other coating, sealing, or painting materials may be specifically selected for relatively high thermal conductivity, to facilitate in the exiting of heat away from such componentry.
As described above in reference to
In one embodiment, the various thermal components may be specifically engineered to not only move heat away from certain components and away from the user, but also to eliminate certain conventional components such as air vents, fans, and the like.
Referring to
For example, referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
As noted above, system configurations such as those known as neural networks, deep networks, deep learning systems, and/or “artificial intelligence” systems may be utilized to assist in facilitating various functionalities of computing systems such as those described herein. Deep neural networks are universal function approximators. As such, the can be incorporated into any functional framework for visual environment understanding, perception, decision making, etc. In the framework of augmented or mixed reality, we may define a very sophisticated paradigm of computing interaction.
Referring to
In the following sections we will describe these components in further detail.
1. MRRE—Mixed Reality Ready Environment:
The mixed reality ready environment consists of the three dimensional semantic world understanding as well as the environment illumination estimation. This may be referred to as “hydra” type functionality, as noted in the descriptions above.
1.1 Semantic World
1.2 Environment Illumination
In one embodiment, all of these tasks may be solved in a unifying model to realize computational, power, and speed constraints. For example, by solving all tasks jointly, the required resources may be amortized and an efficient (such as from computational and power perspectives) solution may be achieved. Furthermore, by sharing features, i.e. intermediate representations, the model may achieve robustness and be able to generalize to novel and unseen contexts. Such a model may be implemented using variations of recurrent convolutional neural networks.
2. AC_V1—Intro to Avatar Computing:
Upon completion of MRRE, the subject system embodiment is able to integrate knowledge of the visual world (MRRE), state of the user (MRRE), and universal knowledge (for example, information from sources such as Google®, Facebook®, etc). First the state of the user and associated avatar may be defined.
The above 3 formulations facilitate integrating the physical environment with its semantic attributes with the users reaction and/or intent to provide the foundations of avatar computing.
This may be achieved with both deep recurrent neural networks and deep reinforcement learning.
3. AC_V2—Intelligent Avatars.
In one embodiment there may be physics-based interactions between a visually coherent virtual avatar and the real world. Through deep reinforcement learning and game theory, the avatar may be configured to navigate the environment it is in. Avatar may interact with the user or other avatars.
4. AC_V3—Touring-Complete Avatar.
1. An avatar may be configured to learn by example. In one embodiment it may be preferred to have many users, such as over 10 million.
Using Generative models, the avatar may be configured to learn enough of the physical world that it is able to adjust its appearance and behavior such that it becomes indistinguishable from other humans in the real world, in one embodiment without haptic feedback (in other embodiments, various haptics may be presented, such as through hand-held device components).
5. ICP—Immersive Co-Presence
1. Telepresence and environment mapping.
Via remote sensors and deep generative models, even more sophisticated models of information transmission may be configured to provide deeper functionalities. For example, in one embodiment, recorded signals in a remote location may be the input to a generative model. The output may be a virtual representation of the remote physical content in the physical world of the user.
6. VI—Immersive Co-Presence.
1. Visualize and interact with the invisible. Replay thoughts and dreams.
In one embodiment, the ability to record and visualize thoughts, conscious and not (dreams), may be configured to greatly affect a user's cognitive abilities (both intelligence and creativity) Using both generative and discriminative deep learning models, activations of the human brain may be recorded with wearable sensors (EEG, MEG, wearable MRI), interpreted with discriminative models, and finally visualized by generative processes. Visual representation of various aspects of thoughts and dreams may be used to understand, share, and interact with a user's own thoughts and ideas.
We now provide some applications and examples of applying such a paradigm to the world; these may be applied to the aforementioned embodiments and configurations, such as those featured in
1. Navigation (inputs may include MRRE, GPS)
2. Communication (inputs may include MRRE, ICP, VI)
3. Entertainment (inputs may include MRRE, AC_V1, AC_V2) Art, Media, Games, Theme Park, Theater, Music, 2d/3d mix Sports.
4. Work Environments (inputs may include MRRE, AC V2, VI)
5. Shopping functionalities (inputs may include MRRE, AC_V1)
6. Advertising functionalities (inputs may include MRRE, AC_V1) In-Home advertising, Billboard (Street), Kiosk, Restaurant (advertising specials etc), in stores, (all contextual).
7. Health-related functionalities (inputs may include MRRE, AC_V1, AC_V3)
8. Efficiency functionalities for daily life of the user (inputs may include MRRE, AC_V1)
9. Education related functionalities (inputs may include MRRE, AC_V2, VI)
10. Additional avatar-related functionalities (inputs may include MRRE, AC_V3, VI)—as noted above and described in relation to
11. Visualizing things that previously were invisible, such as signals detectable within the central nervous system of the user: (inputs may include MRRE, AC_V1, AC_V2, AV_V3, VI)
Various exemplary embodiments of the invention are described herein. Reference is made to these examples in a non-limiting sense. They are provided to illustrate more broadly applicable aspects of the invention. Various changes may be made to the invention described and equivalents may be substituted without departing from the true spirit and scope of the invention. In addition, many modifications may be made to adapt a particular situation, material, composition of matter, process, process act(s) or step(s) to the objective(s), spirit or scope of the present invention. Further, as will be appreciated by those with skill in the art that each of the individual variations described and illustrated herein has discrete components and features which may 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 inventions. All such modifications are intended to be within the scope of claims associated with this disclosure.
The invention includes methods that may be performed using the subject devices. The methods may comprise the act of providing such a suitable device. Such provision may be performed by the end user. In other words, the “providing” act merely requires the end user obtain, access, approach, position, set-up, activate, power-up or otherwise act to provide the requisite device in the subject method. Methods recited herein may be carried out in any order of the recited events which is logically possible, as well as in the recited order of events.
Exemplary aspects of the invention, together with details regarding material selection and manufacture have been set forth above. As for other details of the present invention, these may be appreciated in connection with the above-referenced patents and publications as well as generally known or appreciated by those with skill in the art. The same may hold true with respect to method-based aspects of the invention in terms of additional acts as commonly or logically employed.
In addition, though the invention has been described in reference to several examples optionally incorporating various features, the invention is not to be limited to that which is described or indicated as contemplated with respect to each variation of the invention. Various changes may be made to the invention described and equivalents (whether recited herein or not included for the sake of some brevity) may be substituted without departing from the true spirit and scope of the invention. In addition, where a range of values is provided, it is understood that every intervening value, between the upper and lower limit of that range and any other stated or intervening value in that stated range, is encompassed within the invention.
Also, it is contemplated that any optional feature of the inventive variations described may be set forth 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 plural of the same items present. More specifically, as used herein and in claims associated hereto, the singular forms “a,” “an,” “said,” and “the” include plural referents unless the specifically stated otherwise. In other words, use of the articles allow for “at least one” of the subject item in the description above as well as claims associated with this disclosure. It is further noted that such claims may be drafted to exclude any optional element. As such, this statement is intended to serve as antecedent basis for use of such exclusive terminology as “solely,” “only” and the like in connection with the recitation of claim elements, or use of a “negative” limitation.
Without the use of such exclusive terminology, the term “comprising” in claims associated with this disclosure shall allow for the inclusion of any additional element—irrespective of whether a given number of elements are enumerated in such claims, or the addition of a feature could be regarded as transforming the nature of an element set forth in such claims. Except as specifically defined herein, all technical and scientific terms used herein are to be given as broad a commonly understood meaning as possible while maintaining claim validity.
The breadth of the present invention is not to be limited to the examples provided and/or the subject specification, but rather only by the scope of claim language associated with this disclosure.
This is a continuation of U.S. patent application Ser. No. 16/833,093, filed on Mar. 27, 2020, which is a continuation of U.S. patent application Ser. No. 15/859,277, filed on Dec. 29, 2017 now U.S. Pat. No. 10,650,552, which claims the benefit of priority to U.S. Provisional Patent Application No. 62/440,320, filed on Dec. 29, 2016, entitled “Systems and Methods for Augmented Reality,” all of which are incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
4344092 | Miller | Aug 1982 | A |
4652930 | Crawford | Mar 1987 | A |
4810080 | Grendol et al. | Mar 1989 | A |
4997268 | Dauvergne | Mar 1991 | A |
5007727 | Kahaney et al. | Apr 1991 | A |
5074295 | Willis | Dec 1991 | A |
5240220 | Elberbaum | Aug 1993 | A |
5251635 | Dumoulin et al. | Oct 1993 | A |
5410763 | Bolle | May 1995 | A |
5455625 | Englander | Oct 1995 | A |
5495286 | Adair | Feb 1996 | A |
5497463 | Stein et al. | Mar 1996 | A |
5682255 | Friesem et al. | Oct 1997 | A |
5689669 | Lynch | Nov 1997 | A |
5826092 | Flannery | Oct 1998 | A |
5854872 | Tai | Dec 1998 | A |
5864365 | Sramek et al. | Jan 1999 | A |
5937202 | Crosetto | Aug 1999 | A |
6002853 | De Hond | Dec 1999 | A |
6012811 | Chao et al. | Jan 2000 | A |
6016160 | Coombs et al. | Jan 2000 | A |
6064749 | Hirota et al. | May 2000 | A |
6076927 | Owens | Jun 2000 | A |
6079982 | Meader | Jun 2000 | A |
6117923 | Amagai et al. | Sep 2000 | A |
6119147 | Toomey et al. | Sep 2000 | A |
6124977 | Takahashi | Sep 2000 | A |
6179619 | Tanaka | Jan 2001 | B1 |
6191809 | Hori et al. | Feb 2001 | B1 |
6219045 | Leahy et al. | Apr 2001 | B1 |
6243091 | Berstis | Jun 2001 | B1 |
6271843 | Lection et al. | Aug 2001 | B1 |
6362817 | Powers et al. | Mar 2002 | B1 |
6375369 | Schneider et al. | Apr 2002 | B1 |
6385735 | Wilson | May 2002 | B1 |
6396522 | Vu | May 2002 | B1 |
6414679 | Miodonski et al. | Jul 2002 | B1 |
6538655 | Kubota | Mar 2003 | B1 |
6541736 | Huang et al. | Apr 2003 | B1 |
6570563 | Honda | May 2003 | B1 |
6573903 | Gantt | Jun 2003 | B2 |
6590593 | Robertson et al. | Jul 2003 | B1 |
6621508 | Shiraishi et al. | Sep 2003 | B1 |
6690393 | Heron et al. | Feb 2004 | B2 |
6757068 | Foxlin | Jun 2004 | B2 |
6784901 | Harvfey et al. | Aug 2004 | B1 |
6961055 | Doak | Nov 2005 | B2 |
7046515 | Wyatt | May 2006 | B1 |
7051219 | Hwang | May 2006 | B2 |
7076674 | Cervantes | Jul 2006 | B2 |
7111290 | Yates, Jr. | Sep 2006 | B1 |
7119819 | Robertson et al. | Oct 2006 | B1 |
7219245 | Raghuvanshi | May 2007 | B1 |
7382288 | Wilson | Jun 2008 | B1 |
7414629 | Santodomingo | Aug 2008 | B2 |
7431453 | Hogan | Oct 2008 | B2 |
7467356 | Gettman et al. | Dec 2008 | B2 |
7542040 | Templeman | Jun 2009 | B2 |
7573640 | Nivon et al. | Aug 2009 | B2 |
7653877 | Matsuda | Jan 2010 | B2 |
7663625 | Chartier et al. | Feb 2010 | B2 |
7724980 | Shenzhi | May 2010 | B1 |
7746343 | Charaniya et al. | Jun 2010 | B1 |
7751662 | Kleemann | Jul 2010 | B2 |
7758185 | Lewis | Jul 2010 | B2 |
7788323 | Greenstein et al. | Aug 2010 | B2 |
7804507 | Yang et al. | Sep 2010 | B2 |
7814429 | Buffet et al. | Oct 2010 | B2 |
7817150 | Reichard et al. | Oct 2010 | B2 |
7844724 | Van Wie et al. | Nov 2010 | B2 |
8060759 | Arnan et al. | Nov 2011 | B1 |
8120851 | Iwasa | Feb 2012 | B2 |
8214660 | Capps, Jr. | Jul 2012 | B2 |
8246408 | Elliot | Aug 2012 | B2 |
8353594 | Lewis | Jan 2013 | B2 |
8360578 | Nummela et al. | Jan 2013 | B2 |
8508676 | Silverstein et al. | Aug 2013 | B2 |
8547638 | Levola | Oct 2013 | B2 |
8570274 | McIntosh | Oct 2013 | B1 |
8605764 | Rothaar et al. | Oct 2013 | B1 |
8619365 | Harris et al. | Dec 2013 | B2 |
8696113 | Lewis | Apr 2014 | B2 |
8698701 | Margulis | Apr 2014 | B2 |
8733927 | Lewis | May 2014 | B1 |
8736636 | Kang | May 2014 | B2 |
8759929 | Shiozawa et al. | Jun 2014 | B2 |
8793770 | Lim | Jul 2014 | B2 |
8823855 | Hwang | Sep 2014 | B2 |
8847988 | Geisner et al. | Sep 2014 | B2 |
8874673 | Kim | Oct 2014 | B2 |
9010929 | Lewis | Apr 2015 | B2 |
9015501 | Gee | Apr 2015 | B2 |
9086537 | Iwasa et al. | Jul 2015 | B2 |
9095437 | Boyden et al. | Aug 2015 | B2 |
9239473 | Lewis | Jan 2016 | B2 |
9244293 | Lewis | Jan 2016 | B2 |
9244533 | Friend et al. | Jan 2016 | B2 |
9383823 | Geisner et al. | Jul 2016 | B2 |
9489027 | Ogletree | Nov 2016 | B1 |
9519305 | Wolfe | Dec 2016 | B2 |
9581820 | Robbins | Feb 2017 | B2 |
9582060 | Balatsos | Feb 2017 | B2 |
9658473 | Lewis | May 2017 | B2 |
9671566 | Abovitz et al. | Jun 2017 | B2 |
9671615 | Vallius et al. | Jun 2017 | B1 |
9696795 | Marcolina et al. | Jul 2017 | B2 |
9798144 | Sako et al. | Oct 2017 | B2 |
9874664 | Stevens et al. | Jan 2018 | B2 |
9880441 | Osterhout | Jan 2018 | B1 |
9918058 | Takahasi et al. | Mar 2018 | B2 |
9955862 | Freeman et al. | May 2018 | B2 |
9978118 | Ozgumer et al. | May 2018 | B1 |
9996797 | Holz et al. | Jun 2018 | B1 |
10018844 | Levola et al. | Jul 2018 | B2 |
10082865 | Raynal et al. | Sep 2018 | B1 |
10151937 | Lewis | Dec 2018 | B2 |
10185147 | Lewis | Jan 2019 | B2 |
10218679 | Jawahar | Feb 2019 | B1 |
10241545 | Richards et al. | Mar 2019 | B1 |
10317680 | Richards et al. | Jun 2019 | B1 |
10436594 | Belt et al. | Oct 2019 | B2 |
10516853 | Gibson et al. | Dec 2019 | B1 |
10551879 | Richards et al. | Feb 2020 | B1 |
10578870 | Kimmel | Mar 2020 | B2 |
10698202 | Kimmel et al. | Jun 2020 | B2 |
10856107 | Mycek et al. | Oct 2020 | B2 |
10825424 | Zhang | Nov 2020 | B2 |
10987176 | Poltaretskyi et al. | Apr 2021 | B2 |
11190681 | Brook et al. | Nov 2021 | B1 |
11209656 | Choi et al. | Dec 2021 | B1 |
11236993 | Hall et al. | Feb 2022 | B1 |
20010010598 | Aritake et al. | Aug 2001 | A1 |
20010018667 | Kim | Aug 2001 | A1 |
20020007463 | Fung | Jan 2002 | A1 |
20020108064 | Nunally | Feb 2002 | A1 |
20020063913 | Nakamura et al. | May 2002 | A1 |
20020071050 | Homberg | Jun 2002 | A1 |
20020095463 | Matsuda | Jul 2002 | A1 |
20020113820 | Robinson et al. | Aug 2002 | A1 |
20020122648 | Mule′ et al. | Sep 2002 | A1 |
20020140848 | Cooper et al. | Oct 2002 | A1 |
20030028816 | Bacon | Feb 2003 | A1 |
20030048456 | Hill | Mar 2003 | A1 |
20030067685 | Niv | Apr 2003 | A1 |
20030077458 | Korenaga et al. | Apr 2003 | A1 |
20030115494 | Cervantes | Jun 2003 | A1 |
20030218614 | Lavelle et al. | Nov 2003 | A1 |
20030219992 | Schaper | Nov 2003 | A1 |
20030226047 | Park | Dec 2003 | A1 |
20040001533 | Tran et al. | Jan 2004 | A1 |
20040021600 | Wittenberg | Feb 2004 | A1 |
20040025069 | Gary et al. | Feb 2004 | A1 |
20040042377 | Nikoloai et al. | Mar 2004 | A1 |
20040073822 | Greco | Apr 2004 | A1 |
20040073825 | Itoh | Apr 2004 | A1 |
20040111248 | Granny et al. | Jun 2004 | A1 |
20040113887 | Pair et al. | Jun 2004 | A1 |
20040174496 | Ji et al. | Sep 2004 | A1 |
20040186902 | Stewart | Sep 2004 | A1 |
20040193441 | Altieri | Sep 2004 | A1 |
20040201857 | Foxlin | Oct 2004 | A1 |
20040238732 | State et al. | Dec 2004 | A1 |
20040240072 | Schindler et al. | Dec 2004 | A1 |
20040246391 | Travis | Dec 2004 | A1 |
20040268159 | Aasheim et al. | Dec 2004 | A1 |
20050001977 | Zelman | Jan 2005 | A1 |
20050034002 | Flautner | Feb 2005 | A1 |
20050093719 | Okamoto et al. | May 2005 | A1 |
20050128212 | Edecker et al. | Jun 2005 | A1 |
20050157159 | Komiya et al. | Jul 2005 | A1 |
20050177385 | Hull | Aug 2005 | A1 |
20050231599 | Yamasaki | Oct 2005 | A1 |
20050273792 | Inohara et al. | Dec 2005 | A1 |
20060013435 | Rhoads | Jan 2006 | A1 |
20060015821 | Jacques Parker et al. | Jan 2006 | A1 |
20060019723 | Vorenkamp | Jan 2006 | A1 |
20060038880 | Starkweather et al. | Feb 2006 | A1 |
20060050224 | Smith | Mar 2006 | A1 |
20060090092 | Verhulst | Apr 2006 | A1 |
20060126181 | Levola | Jun 2006 | A1 |
20060129852 | Bonola | Jun 2006 | A1 |
20060132914 | Weiss et al. | Jun 2006 | A1 |
20060179329 | Terechko | Aug 2006 | A1 |
20060221448 | Nivon et al. | Oct 2006 | A1 |
20060228073 | Mukawa et al. | Oct 2006 | A1 |
20060250322 | Hall et al. | Nov 2006 | A1 |
20060259621 | Ranganathan | Nov 2006 | A1 |
20060268220 | Hogan | Nov 2006 | A1 |
20070058248 | Nguyen et al. | Mar 2007 | A1 |
20070103836 | Oh | May 2007 | A1 |
20070124730 | Pytel | May 2007 | A1 |
20070159673 | Freeman et al. | Jul 2007 | A1 |
20070188837 | Shimizu et al. | Aug 2007 | A1 |
20070198886 | Saito | Aug 2007 | A1 |
20070204672 | Huang et al. | Sep 2007 | A1 |
20070213952 | Cirelli | Sep 2007 | A1 |
20070283247 | Brenneman et al. | Dec 2007 | A1 |
20080002259 | Ishizawa et al. | Jan 2008 | A1 |
20080002260 | Arrouy et al. | Jan 2008 | A1 |
20080030429 | Hailpern | Feb 2008 | A1 |
20080043334 | Itzkovitch et al. | Feb 2008 | A1 |
20080046773 | Ham | Feb 2008 | A1 |
20080063802 | Maula et al. | Mar 2008 | A1 |
20080068557 | Menduni et al. | Mar 2008 | A1 |
20080125218 | Collins | May 2008 | A1 |
20080146942 | Dala-Krishna | Jun 2008 | A1 |
20080173036 | Willaims | Jul 2008 | A1 |
20080177506 | Kim | Jul 2008 | A1 |
20080205838 | Crippa et al. | Aug 2008 | A1 |
20080215907 | Wilson | Sep 2008 | A1 |
20080225393 | Rinko | Sep 2008 | A1 |
20080235570 | Sawada et al. | Sep 2008 | A1 |
20080246693 | Hailpern et al. | Oct 2008 | A1 |
20080316768 | Travis | Dec 2008 | A1 |
20090076791 | Rhoades et al. | Mar 2009 | A1 |
20090091583 | McCoy | Apr 2009 | A1 |
20090153797 | Allon et al. | Jun 2009 | A1 |
20090224416 | Laakkonen et al. | Sep 2009 | A1 |
20090245730 | Kleemann | Oct 2009 | A1 |
20090287728 | Martine et al. | Nov 2009 | A1 |
20090300528 | Stambaugh | Dec 2009 | A1 |
20090310633 | Ikegami | Dec 2009 | A1 |
20100005326 | Archer | Jan 2010 | A1 |
20100019962 | Fujita | Jan 2010 | A1 |
20100056274 | Uusitalo et al. | Mar 2010 | A1 |
20100063854 | Purvis et al. | Mar 2010 | A1 |
20100070378 | Trotman et al. | Mar 2010 | A1 |
20100079841 | Levola | Apr 2010 | A1 |
20100115428 | Shuping et al. | May 2010 | A1 |
20100153934 | Lachner | Jun 2010 | A1 |
20100194632 | Raento et al. | Aug 2010 | A1 |
20100205541 | Rappaport et al. | Aug 2010 | A1 |
20100214284 | Rieffel et al. | Aug 2010 | A1 |
20100232016 | Landa et al. | Sep 2010 | A1 |
20100232031 | Batchko et al. | Sep 2010 | A1 |
20100244168 | Shiozawa et al. | Sep 2010 | A1 |
20100274567 | Carlson et al. | Oct 2010 | A1 |
20100274627 | Carlson | Oct 2010 | A1 |
20100277803 | Pockett et al. | Nov 2010 | A1 |
20100284085 | Laakkonen | Nov 2010 | A1 |
20100296163 | Sarikko | Nov 2010 | A1 |
20110010636 | Hamilton, II et al. | Jan 2011 | A1 |
20110021263 | Anderson et al. | Jan 2011 | A1 |
20110022870 | Mcgrane | Jan 2011 | A1 |
20110041083 | Gabai et al. | Feb 2011 | A1 |
20110050640 | Lundback et al. | Mar 2011 | A1 |
20110050655 | Mukawa | Mar 2011 | A1 |
20110122240 | Becker | May 2011 | A1 |
20110145617 | Thomson et al. | Jun 2011 | A1 |
20110170801 | Lu et al. | Jul 2011 | A1 |
20110218733 | Hamza et al. | Sep 2011 | A1 |
20110286735 | Temblay | Nov 2011 | A1 |
20110291969 | Rashid et al. | Dec 2011 | A1 |
20120011389 | Driesen | Jan 2012 | A1 |
20120050535 | Densham et al. | Mar 2012 | A1 |
20120075501 | Oyagi et al. | Mar 2012 | A1 |
20120081392 | Arthur | Apr 2012 | A1 |
20120089854 | Breakstone | Apr 2012 | A1 |
20120113235 | Shintani | May 2012 | A1 |
20120127062 | Bar-Zeev et al. | May 2012 | A1 |
20120154557 | Perez et al. | Jun 2012 | A1 |
20120218301 | Miller | Aug 2012 | A1 |
20120246506 | Knight | Sep 2012 | A1 |
20120249416 | Maciocci et al. | Oct 2012 | A1 |
20120249741 | Maciocci et al. | Oct 2012 | A1 |
20120260083 | Andrews | Oct 2012 | A1 |
20120307075 | Margalit | Dec 2012 | A1 |
20120307362 | Silverstein et al. | Dec 2012 | A1 |
20120314959 | White et al. | Dec 2012 | A1 |
20120320460 | Levola | Dec 2012 | A1 |
20120326948 | Crocco et al. | Dec 2012 | A1 |
20130021486 | Richardon | Jan 2013 | A1 |
20130050642 | Lewis et al. | Feb 2013 | A1 |
20130050833 | Lewis et al. | Feb 2013 | A1 |
20130051730 | Travers et al. | Feb 2013 | A1 |
20130061240 | Yan et al. | Mar 2013 | A1 |
20130077049 | Bohn | Mar 2013 | A1 |
20130077170 | Ukuda | Mar 2013 | A1 |
20130094148 | Sloane | Apr 2013 | A1 |
20130129282 | Li | May 2013 | A1 |
20130162940 | Kurtin et al. | Jun 2013 | A1 |
20130169923 | Schnoll et al. | Jul 2013 | A1 |
20130205126 | Kruglick | Aug 2013 | A1 |
20130222386 | Tannhauser et al. | Aug 2013 | A1 |
20130268257 | Hu | Oct 2013 | A1 |
20130278633 | Ahn et al. | Oct 2013 | A1 |
20130314789 | Saarikko et al. | Nov 2013 | A1 |
20130318276 | Dalal | Nov 2013 | A1 |
20130336138 | Venkatraman et al. | Dec 2013 | A1 |
20130342564 | Kinnebrew et al. | Dec 2013 | A1 |
20130342570 | Kinnebrew et al. | Dec 2013 | A1 |
20130342571 | Kinnebrew et al. | Dec 2013 | A1 |
20130343408 | Cook | Dec 2013 | A1 |
20140002329 | Nishimaki et al. | Jan 2014 | A1 |
20140013098 | Yeung | Jan 2014 | A1 |
20140016821 | Arth et al. | Jan 2014 | A1 |
20140022819 | Oh et al. | Jan 2014 | A1 |
20140078023 | Ikeda et al. | Mar 2014 | A1 |
20140082526 | Park et al. | Mar 2014 | A1 |
20140119598 | Ramachandran et al. | May 2014 | A1 |
20140126769 | Reitmayr et al. | May 2014 | A1 |
20140140653 | Brown et al. | May 2014 | A1 |
20140149573 | Tofighbakhsh et al. | May 2014 | A1 |
20140168260 | O'Brien et al. | Jun 2014 | A1 |
20140266987 | Magyari | Sep 2014 | A1 |
20140267419 | Ballard et al. | Sep 2014 | A1 |
20140274391 | Stafford | Sep 2014 | A1 |
20140282105 | Nordstrom | Sep 2014 | A1 |
20140313228 | Kasahara | Oct 2014 | A1 |
20140340449 | Plagemann et al. | Nov 2014 | A1 |
20140359589 | Kodsky et al. | Dec 2014 | A1 |
20140375680 | Ackerman et al. | Dec 2014 | A1 |
20150005785 | Olson | Jan 2015 | A1 |
20150009099 | Queen | Jan 2015 | A1 |
20150077312 | Wang | Mar 2015 | A1 |
20150097719 | Balachandreswaran et al. | Apr 2015 | A1 |
20150123966 | Newman | May 2015 | A1 |
20150130790 | Vasquez, II et al. | May 2015 | A1 |
20150134995 | Park et al. | May 2015 | A1 |
20150138248 | Schrader | May 2015 | A1 |
20150155939 | Oshima et al. | Jun 2015 | A1 |
20150168221 | Mao et al. | Jun 2015 | A1 |
20150205126 | Schowengerdt | Jul 2015 | A1 |
20150235427 | Nobori et al. | Aug 2015 | A1 |
20150235431 | Schowengerdt | Aug 2015 | A1 |
20150253651 | Russell et al. | Sep 2015 | A1 |
20150256484 | Cameron | Sep 2015 | A1 |
20150269784 | Miyawaki et al. | Sep 2015 | A1 |
20150294483 | Wells et al. | Oct 2015 | A1 |
20150301955 | Yakovenko et al. | Oct 2015 | A1 |
20150302665 | Miller | Oct 2015 | A1 |
20150310657 | Eden | Oct 2015 | A1 |
20150338915 | Publicover et al. | Nov 2015 | A1 |
20150355481 | Hilkes et al. | Dec 2015 | A1 |
20160004102 | Nisper et al. | Jan 2016 | A1 |
20160015470 | Border | Jan 2016 | A1 |
20160027215 | Burns et al. | Jan 2016 | A1 |
20160033770 | Fujimaki et al. | Feb 2016 | A1 |
20160077338 | Robbins et al. | Mar 2016 | A1 |
20160085285 | Mangione-Smith | Mar 2016 | A1 |
20160085300 | Robbins et al. | Mar 2016 | A1 |
20160091720 | Stafford et al. | Mar 2016 | A1 |
20160093099 | Bridges | Mar 2016 | A1 |
20160093269 | Buckley et al. | Mar 2016 | A1 |
20160123745 | Cotier et al. | May 2016 | A1 |
20160139402 | Lapstun | May 2016 | A1 |
20160155273 | Lyren et al. | Jun 2016 | A1 |
20160180596 | Gonzalez del Rosario | Jun 2016 | A1 |
20160187654 | Border et al. | Jun 2016 | A1 |
20160191887 | Casas | Jun 2016 | A1 |
20160202496 | Billetz et al. | Jul 2016 | A1 |
20160217624 | Finn et al. | Jul 2016 | A1 |
20160266412 | Yoshida | Sep 2016 | A1 |
20160267708 | Nistico et al. | Sep 2016 | A1 |
20160274733 | Hasegawa et al. | Sep 2016 | A1 |
20160287337 | Aram et al. | Oct 2016 | A1 |
20160300388 | Stafford et al. | Oct 2016 | A1 |
20160321551 | Priness et al. | Nov 2016 | A1 |
20160327798 | Xiao et al. | Nov 2016 | A1 |
20160334279 | Mittleman et al. | Nov 2016 | A1 |
20160357255 | Lindh et al. | Dec 2016 | A1 |
20160370404 | Quadrat et al. | Dec 2016 | A1 |
20160370510 | Thomas | Dec 2016 | A1 |
20170038607 | Camara | Feb 2017 | A1 |
20170060225 | Zha et al. | Mar 2017 | A1 |
20170061696 | Li et al. | Mar 2017 | A1 |
20170064066 | Das et al. | Mar 2017 | A1 |
20170100664 | Osterhout et al. | Apr 2017 | A1 |
20170102544 | Vallius et al. | Apr 2017 | A1 |
20170115487 | Travis | Apr 2017 | A1 |
20170122725 | Yeoh et al. | May 2017 | A1 |
20170123526 | Trail et al. | May 2017 | A1 |
20170127295 | Black et al. | May 2017 | A1 |
20170131569 | Aschwanden et al. | May 2017 | A1 |
20170147066 | Katz et al. | May 2017 | A1 |
20170160518 | Lanman et al. | Jun 2017 | A1 |
20170161951 | Fix et al. | Jun 2017 | A1 |
20170185261 | Perez et al. | Jun 2017 | A1 |
20170192239 | Nakamura et al. | Jul 2017 | A1 |
20170201709 | Igarashi et al. | Jul 2017 | A1 |
20170205903 | Miller et al. | Jul 2017 | A1 |
20170206668 | Poulos et al. | Jul 2017 | A1 |
20170213388 | Margolis et al. | Jul 2017 | A1 |
20170214907 | Lapstun | Jul 2017 | A1 |
20170219841 | Popovich et al. | Aug 2017 | A1 |
20170232345 | Rofougaran et al. | Aug 2017 | A1 |
20170235126 | DiDomenico | Aug 2017 | A1 |
20170235129 | Kamakura | Aug 2017 | A1 |
20170235142 | Wall et al. | Aug 2017 | A1 |
20170235144 | Piskunov et al. | Aug 2017 | A1 |
20170235147 | Kamakura | Aug 2017 | A1 |
20170243403 | Daniels et al. | Aug 2017 | A1 |
20170246070 | Osterhout et al. | Aug 2017 | A1 |
20170254832 | Ho et al. | Sep 2017 | A1 |
20170256096 | Faaborg et al. | Sep 2017 | A1 |
20170258526 | Lang | Sep 2017 | A1 |
20170266529 | Reikmoto | Sep 2017 | A1 |
20170270712 | Tyson et al. | Sep 2017 | A1 |
20170281054 | Stever et al. | Oct 2017 | A1 |
20170287376 | Bakar et al. | Oct 2017 | A1 |
20170293141 | Schowengerdt et al. | Oct 2017 | A1 |
20170307886 | Stenberg et al. | Oct 2017 | A1 |
20170307891 | Bucknor et al. | Oct 2017 | A1 |
20170312032 | Amanatullah et al. | Nov 2017 | A1 |
20170322418 | Liu et al. | Nov 2017 | A1 |
20170322426 | Tervo | Nov 2017 | A1 |
20170329137 | Tervo | Nov 2017 | A1 |
20170332098 | Rusanovskyy et al. | Nov 2017 | A1 |
20170336636 | Amitai et al. | Nov 2017 | A1 |
20170357332 | Balan et al. | Dec 2017 | A1 |
20170363871 | Vallius | Dec 2017 | A1 |
20170371394 | Chan | Dec 2017 | A1 |
20170371661 | Sparling | Dec 2017 | A1 |
20180014266 | Chen | Jan 2018 | A1 |
20180024289 | Fattal | Jan 2018 | A1 |
20180044173 | Netzer | Feb 2018 | A1 |
20180052007 | Teskey et al. | Feb 2018 | A1 |
20180052501 | Jones, Jr. et al. | Feb 2018 | A1 |
20180059305 | Popovich et al. | Mar 2018 | A1 |
20180067779 | Pillalamarri et al. | Mar 2018 | A1 |
20180070855 | Eichler | Mar 2018 | A1 |
20180082480 | White et al. | Mar 2018 | A1 |
20180084245 | Lapstun | Mar 2018 | A1 |
20180088185 | Woods et al. | Mar 2018 | A1 |
20180102981 | Kurtzman et al. | Apr 2018 | A1 |
20180108179 | Tomlin et al. | Apr 2018 | A1 |
20180114298 | Malaika et al. | Apr 2018 | A1 |
20180129112 | Osterhout | May 2018 | A1 |
20180131907 | Schmirier et al. | May 2018 | A1 |
20180136466 | Ko | May 2018 | A1 |
20180144691 | Choi et al. | May 2018 | A1 |
20180150971 | Adachi et al. | May 2018 | A1 |
20180151796 | Akahane | May 2018 | A1 |
20180172995 | Lee et al. | Jun 2018 | A1 |
20180188115 | Hsu et al. | Jul 2018 | A1 |
20180189568 | Powderly et al. | Jul 2018 | A1 |
20180190017 | Mendez et al. | Jul 2018 | A1 |
20180191990 | Motoyama et al. | Jul 2018 | A1 |
20180218545 | Garcia et al. | Aug 2018 | A1 |
20180250589 | Cossairt et al. | Sep 2018 | A1 |
20180284877 | Klein | Oct 2018 | A1 |
20180292654 | Wall et al. | Oct 2018 | A1 |
20180299678 | Singer et al. | Oct 2018 | A1 |
20180357472 | Dreessen | Dec 2018 | A1 |
20190005069 | Filgueiras de Arajuo et al. | Jan 2019 | A1 |
20190011691 | Peyman | Jan 2019 | A1 |
20190056591 | Tervo et al. | Feb 2019 | A1 |
20190087015 | Lam et al. | Mar 2019 | A1 |
20190101758 | Zhu et al. | Apr 2019 | A1 |
20190107723 | Lee et al. | Apr 2019 | A1 |
20190137788 | Suen | May 2019 | A1 |
20190155034 | Singer et al. | May 2019 | A1 |
20190155439 | Mukherjee et al. | May 2019 | A1 |
20190158926 | Kang et al. | May 2019 | A1 |
20190162950 | Lapstun | May 2019 | A1 |
20190167095 | Krueger | Jun 2019 | A1 |
20190172216 | Ninan et al. | Jun 2019 | A1 |
20190178654 | Hare | Jun 2019 | A1 |
20190182415 | Sivan | Jun 2019 | A1 |
20190196690 | Chong et al. | Jun 2019 | A1 |
20190206116 | Xu et al. | Jul 2019 | A1 |
20190219815 | Price et al. | Jul 2019 | A1 |
20190243123 | Bohn | Aug 2019 | A1 |
20190287270 | Nakamura et al. | Sep 2019 | A1 |
20190318502 | He et al. | Oct 2019 | A1 |
20190318540 | Piemonte et al. | Oct 2019 | A1 |
20190321728 | Imai et al. | Oct 2019 | A1 |
20190347853 | Chen et al. | Nov 2019 | A1 |
20190380792 | Poltaretskyi et al. | Dec 2019 | A1 |
20190388182 | Kumar et al. | Dec 2019 | A1 |
20200066045 | Stahl et al. | Feb 2020 | A1 |
20200098188 | Bar-Zeev et al. | Mar 2020 | A1 |
20200100057 | Galon et al. | Mar 2020 | A1 |
20200110928 | Al Jazaery et al. | Apr 2020 | A1 |
20200117267 | Gibson et al. | Apr 2020 | A1 |
20200117270 | Gibson et al. | Apr 2020 | A1 |
20200184217 | Faulkner | Jun 2020 | A1 |
20200184653 | Faulker | Jun 2020 | A1 |
20200202759 | Ukai et al. | Jun 2020 | A1 |
20200242848 | Ambler et al. | Jul 2020 | A1 |
20200309944 | Thoresen et al. | Oct 2020 | A1 |
20200356161 | Wagner | Nov 2020 | A1 |
20200368616 | Delamont | Nov 2020 | A1 |
20200391115 | Leeper et al. | Dec 2020 | A1 |
20200409528 | Lee | Dec 2020 | A1 |
20210008413 | Asikainen et al. | Jan 2021 | A1 |
20210033871 | Jacoby et al. | Feb 2021 | A1 |
20210041951 | Gibson et al. | Feb 2021 | A1 |
20210053820 | Gurin et al. | Feb 2021 | A1 |
20210093391 | Poltaretskyi et al. | Apr 2021 | A1 |
20210093410 | Gaborit et al. | Apr 2021 | A1 |
20210093414 | Moore et al. | Apr 2021 | A1 |
20210097886 | Kuester et al. | Apr 2021 | A1 |
20210132380 | Wieczorek | May 2021 | A1 |
20210142582 | Jones et al. | May 2021 | A1 |
20210158627 | Cossairt et al. | May 2021 | A1 |
20210173480 | Osterhout et al. | Jun 2021 | A1 |
20220366598 | Azimi et al. | Nov 2022 | A1 |
Number | Date | Country |
---|---|---|
101449270 | Jun 2009 | CN |
104040410 | Sep 2014 | CN |
104603675 | May 2015 | CN |
106662754 | May 2017 | CN |
107683497 | Feb 2018 | CN |
105190427 | Nov 2019 | CN |
0504930 | Mar 1992 | EP |
0535402 | Apr 1993 | EP |
0632360 | Jan 1995 | EP |
1215522 | Jun 2002 | EP |
1494110 | Jan 2005 | EP |
1938141 | Jul 2008 | EP |
1943556 | Jul 2008 | EP |
2290428 | Mar 2011 | EP |
2350774 | Aug 2011 | EP |
1237067 | Jan 2016 | EP |
3139245 | Mar 2017 | EP |
3164776 | May 2017 | EP |
3236211 | Oct 2017 | EP |
2723240 | Aug 2018 | EP |
2896986 | Feb 2021 | EP |
2499635 | Aug 2013 | GB |
2542853 | Apr 2017 | GB |
938DEL2004 | Jun 2006 | IN |
H03-036974 | Apr 1991 | JP |
H10-333094 | Dec 1998 | JP |
2002-529806 | Sep 2002 | JP |
2003-029198 | Jan 2003 | JP |
2003-141574 | May 2003 | JP |
2003-228027 | Aug 2003 | JP |
2003-329873 | Nov 2003 | JP |
2005-303843 | Oct 2005 | JP |
2007-012530 | Jan 2007 | JP |
2007-86696 | Apr 2007 | JP |
2007-273733 | Oct 2007 | JP |
2008-257127 | Oct 2008 | JP |
2009-090689 | Apr 2009 | JP |
2009-244869 | Oct 2009 | JP |
2010-014443 | Jan 2010 | JP |
2011-033993 | Feb 2011 | JP |
2011-257203 | Dec 2011 | JP |
2012-015774 | Jan 2012 | JP |
2012-235036 | Nov 2012 | JP |
2013-525872 | Jun 2013 | JP |
2014-500522 | Jan 2014 | JP |
2014-192550 | Oct 2014 | JP |
2015-191032 | Nov 2015 | JP |
2016-502120 | Jan 2016 | JP |
2016-85463 | May 2016 | JP |
2016-516227 | Jun 2016 | JP |
2017-015697 | Jan 2017 | JP |
2017-153498 | Sep 2017 | JP |
2017-531840 | Oct 2017 | JP |
6232763 | Nov 2017 | JP |
6333965 | May 2018 | JP |
2005-0010775 | Jan 2005 | KR |
10-2006-0059992 | Jun 2006 | KR |
10-1372623 | Mar 2014 | KR |
201219829 | May 2012 | TW |
201803289 | Jan 2018 | TW |
1991000565 | Jan 1991 | WO |
2000030368 | Jun 2000 | WO |
2002071315 | Sep 2002 | WO |
2004095248 | Nov 2004 | WO |
2006132614 | Dec 2006 | WO |
2007037089 | May 2007 | WO |
2007085682 | Aug 2007 | WO |
2007102144 | Sep 2007 | WO |
2008148927 | Dec 2008 | WO |
2009101238 | Aug 2009 | WO |
2014203440 | Dec 2010 | WO |
2012030787 | Mar 2012 | WO |
2013049012 | Apr 2013 | WO |
2013062701 | May 2013 | WO |
2014033306 | Mar 2014 | WO |
2015143641 | Oct 2015 | WO |
2015143641 | Oct 2015 | WO |
2016054092 | Apr 2016 | WO |
2017004695 | Jan 2017 | WO |
2017044761 | Mar 2017 | WO |
2017049163 | Mar 2017 | WO |
2017120475 | Jul 2017 | WO |
2017176861 | Oct 2017 | WO |
2017203201 | Nov 2017 | WO |
2018008232 | Jan 2018 | WO |
2018031261 | Feb 2018 | WO |
2018022523 | Feb 2018 | WO |
2018044537 | Mar 2018 | WO |
2018039273 | Mar 2018 | WO |
2018057564 | Mar 2018 | WO |
2018085287 | May 2018 | WO |
2018087408 | May 2018 | WO |
2018097831 | May 2018 | WO |
2018166921 | Sep 2018 | WO |
2019148154 | Aug 2019 | WO |
2020010226 | Jan 2020 | WO |
Entry |
---|
“ARToolKit: Hardware”, https://web.archive.org/web/20051013062315/http://www.hitl.washington.edu:80/artoolkit/documentation/hardware.htm (downloaded Oct. 26, 2020), Oct. 13, 2015, (3 pages). |
Communication Pursuant to Article 94(3) EPC dated Sep. 4, 2019, European Patent Application No. 10793707.0, (4 pages). |
Communication Pursuant to Article 94(3) EPC dated Oct. 21, 2021, European Patent Application No. 16207441.3, (4 pages). |
Communication Pursuant to Rule 164(1) EPC dated Jul. 27, 2021, European Patent Application No. 19833664.6, (11 pages). |
European Search Report dated Oct. 15, 2020, European Patent Application No. 20180623.9, (10 pages). |
Examination Report dated Jun. 19, 2020, European Patent Application No. 20154750.2, (10 pages). |
Extended European Search Report dated May 20, 2020, European Patent Application No. 20154070.5, (7 pages). |
Extended European Search Report dated Jan. 22, 2021, European Patent Application No. 18890390.0, (11 pages). |
Extended European Search Report dated Nov. 3, 2020, European Patent Application No. 18885707.2, (7 pages). |
Extended European Search Report dated Jun. 30, 2021, European Patent Application No. 19811971.1, (9 pages). |
Extended European Search Report dated Mar. 4, 2021, European Patent Application No. 19768418.6, (9 pages). |
Extended European Search Report dated Nov. 4, 2020, European Patent Application No. 20190980.1, (14 pages). |
Extended European Search Report dated Jun. 12, 2017, European Patent Application No. 16207441.3, (8 pages). |
Extended European Search Report dated Jul. 16, 2021, European Patent Application No. 19810142.0, (14 pages). |
Extended European Search Report dated Jul. 30, 2021, European Patent Application No. 19839970.1, (7 pages). |
Extended European Search Report dated Oct. 27, 2021, European Patent Application No. 19833664.6, (10 pages). |
Extended European Search Report dated Sep. 20, 2021, European Patent Application No. 19851373.1, (8 pages). |
Extended European Search Report dated Sep. 28, 2021, European Patent Application No. 19845418.3, (13 pages). |
Final Office Action dated Aug. 10, 2020, U.S. Appl. No. 16/225,961, (13 pages). |
Final Office Action dated Dec. 4, 2019, U.S. Appl. No. 15/564,517, (15 pages). |
Final Office Action dated Feb. 19, 2020, U.S. Appl. No. 15/552,897, (17 pages). |
Final Office Action dated Jun. 15, 2021, U.S. Appl. No. 16/928,313, (42 pages). |
Final Office Action dated Mar. 1, 2021, U.S. Appl. No. 16/214,575, (29 pages). |
Final Office Action dated Mar. 19, 2021, U.S. Appl. No. 16/530,776, (25 pages). |
Final Office Action dated Nov. 24, 2020, U.S. Appl. No. 16/435,933, (44 pages). |
Final Office Action dated Sep. 17, 2021, U.S. Appl. No. 16/938,782, (44 pages). |
International Search Report and Written Opinion dated Feb. 12, 2021, International Application No. PCT/US20/60555, (25 pages). |
International Search Report and Written Opinion dated Mar. 12, 2020, International PCT Patent Application No. PCT/US19/67919, (14 pages). |
International Search Report and Written Opinion dated Aug. 15, 2019, International PCT Patent Application No. PCT/US19/33987, (20 pages). |
International Search Report and Written Opinion dated Jun. 15, 2020, International PCT Patent Application No. PCT/US2020/017023, (13 pages). |
International Search Report and Written Opinion dated Oct. 16, 2019, International PCT Patent Application No. PCT/US19/43097, (10 pages). |
International Search Report and Written Opinion dated Oct. 16, 2019, International PCT Patent Application No. PCT/US19/36275, (10 pages). |
International Search Report and Written Opinion dated Oct. 16, 2019, International PCT Patent Application No. PCT/US19/43099, (9 pages). |
International Search Report and Written Opinion dated Jun. 17, 2016, International PCT Patent Application No. PCT/FI2016/050172, (9 pages). |
International Search Report and Written Opinion dated Feb. 2, 2021, International PCT Patent Application No. PCT/US20/60550, (9 pages). |
International Search Report and Written Opinion dated Oct. 22, 2019, International PCT Patent Application No. PCT/US19/43751, (9 pages). |
International Search Report and Written Opinion dated Dec. 23, 2019, International PCT Patent Application No. PCT/US19/44953, (11 pages). |
International Search Report and Written Opinion dated May 23, 2019, International PCT Patent Application No. PCT/US18/66514, (17 pages). |
International Search Report and Written Opinion dated Sep. 26, 2019, International PCT Patent Application No. PCT/US19/40544, (12 pages). |
International Search Report and Written Opinion dated Aug. 27, 2019, International PCT Application No. PCT/US2019/035245, (8 pages). |
International Search Report and Written Opinion dated Dec. 27, 2019, International Application No. PCT/US19/47746, (16 pages). |
International Search Report and Written Opinion dated Dec. 3, 2020, International Patent Application No. PCT/US20/43596, (25 pages). |
International Search Report and Written Opinion dated Sep. 30, 2019, International Patent Application No. PCT/US19/40324, (7 pages). |
International Search Report and Written Opinion dated Sep. 4, 2020, International Patent Application No. PCT/US20/31036, (13 pages). |
International Search Report and Written Opinion dated Jun. 5, 2020, International Patent Application No. PCT/US20/19871, (9 pages). |
International Search Report and Written Opinion dated Aug. 8, 2019, International PCT Patent Application No. PCT/US2019/034763, (8 pages). |
International Search Report and Written Opinion dated Oct. 8, 2019, International PCT Patent Application No. PCT/US19/41151, (7 pages). |
International Search Report and Written Opinion dated Jan. 9, 2020, International Application No. PCT/US19/55185, (10 pages). |
International Search Report and Written Opinion dated Feb. 28, 2019, International Patent Application No. PCT/US18/64686, (8 pages). |
International Search Report and Written Opinion dated Feb. 7, 2020, International PCT Patent Application No. PCT/US2019/061265, (11 pages). |
International Search Report and Written Opinion dated Jun. 11, 2019, International PCT Application No. PCT/US19/22620, (7 pages). |
Invitation to Pay Additional Fees dated Aug. 15, 2019, International PCT Patent Application No. PCT/US19/36275, (2 pages). |
Invitation to Pay Additional Fees dated Sep. 24, 2020, International Patent Application No. PCT/US2020/043596, (3 pages). |
Invitation to Pay Additional Fees dated Oct. 22, 2019, International PCT Patent Application No. PCT/US19/47746, (2 pages). |
Invitation to Pay Additional Fees dated Apr. 3, 2020, International Patent Application No. PCT/US20/17023, (2 pages). |
Invitation to Pay Additional Fees dated Oct. 17, 2019, International PCT Patent Application No. PCT/US19/44953, (2 pages). |
“Multi-core processor”, TechTarget , 2013 , (1 page). |
Non Final Office Action dated Nov. 19, 2019, U.S. Appl. No. 16/355,611, (31 pages). |
Non Final Office Action dated Aug. 21, 2019, U.S. Appl. No. 15/564,517, (14 pages). |
Non Final Office Action dated Aug. 4, 2021, U.S. Appl. No. 16/864,721, (51 pages). |
Non Final Office Action dated Jan. 26, 2021, U.S. Appl. No. 16/928,313, (33 pages). |
Non Final Office Action dated Jan. 27, 2021, U.S. Appl. No. 16/225,961, (15 pages). |
Non Final Office Action dated Jul. 27, 2020, U.S. Appl. No. 16/435,933, (16 pages). |
Non Final Office Action dated Jul. 9, 2021, U.S. Appl. No. 17/002,663, (43 pages). |
Non Final Office Action dated Jul. 9, 2021, U.S. Appl. No. 16/833,093, (47 pages). |
Non Final Office Action dated Jun. 10, 2021, U.S. Appl. No. 16/938,782, (40 Pages). |
Non Final Office Action dated Jun. 17, 2020, U.S. Appl. No. 16/682,911, (22 pages). |
Non Final Office Action dated Jun. 19, 2020, U.S. Appl. No. 16/225,961, (35 pages). |
Non Final Office Action dated Jun. 29, 2021, U.S. Appl. No. 16/698,588, (58 pages). |
Non Final Office Action dated Mar. 3, 2021, U.S. Appl. No. 16/427,337, (41 pages). |
Non Final Office Action dated May 26, 2021, U.S. Appl. No. 16/214,575, (19 pages). |
Non Final Office Action dated Nov. 5, 2020, U.S. Appl. No. 16/530,776, (45 pages). |
Non Final Office Action dated Oct. 22, 2019, U.S. Appl. No. 15/859,277, (15 pages). |
Non Final Office Action dated Sep. 1, 2020, U.S. Appl. No. 16/214,575, (40 pages). |
Non Final Office Action dated Sep. 20, 2021, U.S. Appl. No. 17/105,848, (56 pages). |
Non Final Office Action dated Sep. 29, 2021, U.S. Appl. No. 16/748,193, (62 pages). |
Notice of Allowance dated Mar. 25, 2020, U.S. Appl. No. 15/564,517, (11 pages). |
Notice of Allowance dated Oct. 5, 2020, U.S. Appl. No. 16/682,911, (27 pages). |
Notice of Reason of Refusal dated Sep. 11, 2020 with English translation, Japanese Patent Application No. 2019-140435, (6 pages). |
Phototourism Challenge CVPR 2019 Image Matching Workshop. https://image matching-workshop. github.io., (16 pages). |
“Summons to attend oral proceedings pursuant to Rule 115(1) EPC mailed on Jul. 15, 2019”, European Patent Application No. 15162521.7, (7 pages). |
Aarik, J. , et al. , “Effect of crystal structure on optical properties of TiO2 films grown by atomic layer deposition”, Thin Solid Films; Publication [online). May 19, 1998 [retrieved Feb. 19, 2020]. Retrieved from the Internet: <URL: https://www.sciencedirect.com/science/article/pii/S0040609097001351 ?via%3Dihub>; DOI: 10.1016/S0040-6090(97)00135-1; see entire document, (2 pages). |
Altwaijry , et al. , “Learning to Detect and Match Keypoints with Deep Architectures”, Proceedings of the British Machine Vision Conference (BMVC), BMVA Press, Sep. 2016, [retrieved on Jan. 8, 2021 (Jan. 8, 2021 )] <URL: http://www.bmva.org/bmvc/2016/papers/paper049/index.html >, en lire document, especially Abstract. |
Arandjelović, Relja , et al. , “Three things everyone should know to improve object retrieval”, CVPR, 2012, (8 pages). |
Azom, “Silica—Silicon Dioxide (SiO2)”, AZO Materials; Publication [Online]. Dec. 13, 2001 [retrieved Feb. 19, 2020]. Retrieved from the Internet: <URL: https://www.azom.com/article.aspx?Article1D=1114>. |
Azuma, Ronald T. , “A Survey of Augmented Reality”, Presence: Teleoperators and Virtual Environments 6, 4 (Aug. 1997), 355-385; https://web.archive.org/web/20010604100006/http://www.cs.unc.edu/˜azuma/ARpresence.pdf (downloaded Oct. 26, 2020). |
Azuma, Ronald T. , “Predictive Tracking for Augmented Reality”, Department of Computer Science, Chapel Hill NC; TR95-007, Feb. 1995, 262 pages. |
Battaglia, Peter W, et al. , “Relational inductive biases, deep learning, and graph networks”, arXiv:1806.01261, Oct. 17, 2018, pp. 1-40. |
Berg, Alexander C , et al. , “Shape matching and object recognition using low distortion correspondences”, In CVPR, 2005, (8 pages). |
Bian, Jiawang , et al. , “GMS: Grid-based motion statistics for fast, ultra-robust feature correspondence.”, In CVPR (Conference on Computer Vision and Pattern Recognition), 2017, (10 pages). |
Bimber, Oliver , et al. , “Spatial Augmented Reality: Merging Real and Virtual Worlds”, https://web.media.mit.edu/˜raskar/book/BimberRaskarAugmentedRealityBook.pdf; published by A K Peters/CRC Press (Jul. 31, 2005); eBook (3rd Edition, 2007), (393 pages). |
Brachmann, Eric , et al. , “Neural-Guided RANSAC: Learning Where to Sample Model Hypotheses”, In ICCV (International Conference on Computer Vision ), arXiv:1905.04132v2 [cs.CV] Jul. 31, 2019, (17 pages). |
Butail , et al. , “Putting the fish in the fish tank: Immersive VR for animal behavior experiments”, In: 2012 IEEE International Conference on Robotics and Automation. May 18, 2012 (May 18, 2012) Retrieved on Nov. 14, 2020 (Nov. 14, 2020) from <http:/lcdcl.umd.edu/papers/icra2012.pdf> entire document. |
Caetano, Tibério S , et al. , “Learning graph matching” , IEEE TPAMI, 31(6):1048-1058, 2009. |
Cech, Jan , et al. , “Efficient sequential correspondence selection by cosegmentation”, IEEE TPAMI, 32(9):1568-1581, Sep. 2010. |
Cuturi, Marco, “Sinkhorn distances: Lightspeed computation of optimal transport”, NIPS, 2013, (9 pages). |
Dai, Angela , et al. , “ScanNet: Richly-annotated 3d reconstructions of indoor scenes”, In CVPR, arXiv:1702.04405v2 [cs.CV] Apr. 11, 2017, (22 pages). |
Deng, Haowen , et al. , “PPFnet: Global context aware local features for robust 3d point matching”, In CVPR, arXiv:1802.02669v2 [cs.CV] Mar. 1, 2018, (12 pages). |
Detone, Daniel , et al. , “Deep image homography estimation”, In RSS Work-shop: Limits and Potentials of Deep Learning in Robotics, arXiv:1606.03798v1 [cs.CV] Jun. 13, 2016, (6 pages). |
Detone, Daniel , et al. , “Self-improving visual odometry”, arXiv:1812.03245, Dec. 8, 2018, (9 pages). |
Detone, Daniel , et al. , “SuperPoint: Self-supervised interest point detection and description”, In CVPR Workshop on Deep Learning for Visual SLAM, arXiv:1712.07629v4 [cs.CV] Apr. 19, 2018, (13 pages). |
Dusmanu, Mihai , et al. , “D2-net: A trainable CNN for joint detection and description of local features”, CVPR, arXiv:1905.03561v1 [cs.CV] May 9, 2019, (16 pages). |
Ebel, Patrick , et al. , “Beyond cartesian representations for local descriptors”, ICCV, arXiv:1908.05547v1 [cs.CV] Aug. 15, 2019, (11 pages). |
Fischler, Martin A , et al. , “Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography” , Communications of the ACM, 24(6): 1981, pp. 381-395. |
Gilmer, Justin , et al. , “Neural message passing for quantum chemistry”, In ICML, arXiv:1704.01212v2 [cs.LG] Jun. 12, 2017, (14 pages). |
Giuseppe, Donato , et al. , “Stereoscopic helmet mounted system for real time 3D environment reconstruction and indoor ego—motion estimation”, Proc. SPIE 6955, Head- and Helmet-Mounted Displays XIII: Design and Applications, 69550P. |
Goodfellow, “Titanium Dioxide—Titania (TiO2)”, AZO Materials; Publication [online]. Jan. 11, 2002 [retrieved Feb. 19, 2020]. Retrieved from the Internet: <URL: https://www.azom.com/article.aspx?Article1D=1179>. |
Hartley, Richard , et al. , “Multiple View Geometry in Computer Vision”, Cambridge University Press, 2003, pp. 1-673. |
Jacob, Robert J.K., “Eye Tracking in Advanced Interface Design”, Human-Computer Interaction Lab, Naval Research Laboratory, Washington, D.C., date unknown. 2003, pp. 1-50. |
Lee , et al. , “Self-Attention Graph Pooling”, Cornell University Library/Computer Science/Machine Learning, Apr. 17, 2019 [retrieved on Jan. 8, 2021 from the Internet< URL: https://arxiv.org/abs/1904.08082 >, entire document. |
Lee, Juho , et al., “Set transformer: A frame-work for attention-based permutation-invariant neural networks”, ICML, arXiv:1810.00825v3 [cs.LG] May 26, 2019, (17 pages). |
Leordeanu, Marius , et al. , “A spectral technique for correspondence problems using pairwise constraints”, Proceedings of (ICCV) International Conference on Computer Vision, vol. 2, pp. 1482-1489, Oct. 2005, (8 pages). |
Levola, T., “Diffractive Optics for Virtual Reality Displays”, Journal of the SID Eurodisplay 14/05, 2005, XP008093627, chapters 2-3, Figures 2 and 10, pp. 467-475. |
Levola, Tapani, “Invited Paper: Novel Diffractive Optical Components for Near to Eye Displays—Nokia Research Center”, SID 2006 Digest, 2006 SID International Symposium, Society for Information Display, vol. XXXVII, May 24, 2005, chapters 1-3, figures 1 and 3, pp. 64-67. |
Li, Yujia , et al. , “Graph matching networks for learning the similarity of graph structured objects”, ICML, arXiv:1904.12787v2 [cs.LG] May 12, 2019, (18 pages). |
Li, Zhengqi , et al. , “Megadepth: Learning single-view depth prediction from internet photos”, In CVPR, fromarXiv: 1804.00607v4 [cs.CV] Nov. 28, 2018, (10 pages). |
Libovicky , et al. , “Input Combination Strategies for Multi-Source Transformer Decoder”, Proceedings of the Third Conference on Machine Translation (WMT). vol. 1: Research Papers, Belgium, Brussels, Oct. 31-Nov. 1, 2018; retrieved on Jan. 8, 2021 (Jan. 8, 2021 ) from < URL: https://doi.org/10.18653/v1/W18-64026 >, entire document. |
Loiola, Eliane Maria, et al. , “A survey for the quadratic assignment problem”, European journal of operational research, 176(2): 2007, pp. 657-690. |
Lowe, David G , “Distinctive image features from scale-invariant keypoints”, International Journal of Computer Vision, 60(2): 91-110, 2004, (28 pages). |
Luo, Zixin , et al. , “ContextDesc: Local descriptor augmentation with cross-modality context”, CVPR, arXiv:1904.04084v1 [cs.CV] Apr. 8, 2019, (14 pages). |
Memon, F. , et al. , “Synthesis, Characterization and Optical Constants of Silicon Oxycarbide”, EPJ Web of Conferences; Publication [online). Mar. 23, 2017 [retrieved Feb. 19, 2020).<URL: https://www.epj-conferences.org/articles/epjconf/pdf/2017/08/epjconf_nanop2017_00002.pdf>; DOI: 10.1051/epjconf/201713900002, (8 pages). |
Molchanov, Pavlo , et al. , “Short-range FMCW monopulse radar for hand-gesture sensing”, 2015 IEEE Radar Conference (RadarCon) (2015), pp. 1491-1496. |
Mrad , et al. , “A framework for System Level Low Power Design Space Exploration”, , (5 pages). |
Munkres, James, “Algorithms for the assignment and transportation problems”, Journal of the Society for Industrial and Applied Mathematics, 5(1): 1957, pp. 32-38. |
Ono, Yuki , et al. , “LF-Net: Learning local features from images”, 32nd Conference on Neural Information Processing Systems (NIPS 2018), arXiv:1805.09662v2 [cs.CV] Nov. 22, 2018, (13 pages). |
Paszke, Adam , et al. , “Automatic differentiation in Pytorch”, 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA, (4 pages). |
Peyré, Gabriel , et al. , “Computational Optimal Transport”, Foundations and Trends in Machine Learning, 11(5-6):355-607, 2019; arXiv:1803.00567v4 [stat.ML] Mar. 18, 2020, (209 pages). |
Qi, Charles Ruizhongtai, et al. , “Pointnet++: Deep hierarchical feature learning on point sets in a metric space.”, 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA., (10 pages). |
Qi, Charles R , et al. , “Pointnet: Deep Learning on Point Sets for 3D Classification and Segmentation”, CVPR, arXiv:1612.00593v2 [cs.CV] Apr. 10, 201, (19 pages). |
Radenović, Filip , et al. , “Revisiting Oxford and Paris: Large-Scale Image Retrieval Benchmarking”, CVPR, arXiv:1803.11285v1 [cs.CV] Mar. 29, 2018, (10 pages). |
Raguram, Rahul , et al. , “A comparative analysis of ransac techniques leading to adaptive real-time random sample consensus”, Computer Vision—ECCV 2008, 10th European Conference on Computer Vision, Marseille, France, Oct. 12-18, 2008, Proceedings, Part I, (15 pages). |
Ranftl, René, et al. , “Deep fundamental matrix estimation”, European Conference on Computer Vision (ECCV), 2018, (17 pages). |
Revaud, Jerome , et al. , “R2D2: Repeatable and Reliable Detector and Descriptor”, In NeurIPS, arXiv:1906.06195v2 [cs.CV] Jun. 17, 2019, (12 pages). |
Rocco, Ignacio , et al. , “Neighbourhood Consensus Networks”, 32nd Conference on Neural Information Processing Systems (NeurIPS 2018), Montréal, Canada, arXiv:1810.10510v2 [cs.CV] Nov. 29, 2018, (20 pages). |
Rublee, Ethan , et al. , “ORB: An efficient alternative to SIFT or SURF”, Proceedings of the IEEE International Conference on Computer Vision. 2564-2571. 2011; 10.1109/ICCV.2011.612654, (9 pages). |
Sarlin , et al. , “SuperGlue: Learning Feature Matching with Graph Neural Networks”, Cornell University Library/Computer Science/ Computer Vision and Pattern Recognition, Nov. 26, 2019 [retrieved on Jan. 8, 2021 from the Internet< URL: https://arxiv.org/abs/1911.11763 >, entire document. |
Sattler, Torsten , et al. , “SCRAMSAC: Improving RANSAC's efficiency with a spatial consistency filter”, ICCV, 2009: 2090-2097., (8 pages). |
Schonberger, Johannes Lutz, et al. , “Pixelwise view selection for un-structured multi-view stereo”, Computer Vision—ECCV 2016: 14th European Conference, Amsterdam, The Netherlands, Oct. 11-14, 2016, Proceedings, Part III, pp. 501-518, 2016. |
Schonberger, Johannes Lutz, et al. , “Structure-from-motion revisited”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 4104-4113, (11 pages). |
Sheng, Liu , et al. , “Time-multiplexed dual-focal plane head-mounted display with a liquid lens”, Optics Letters, Optical Society of Amer i ca, US, vol. 34, No. 11, Jun. 1, 2009 (Jun. 1, 2009), XP001524475, ISSN: 0146-9592, pp. 1642-1644. |
Sinkhorn, Richard , et al. , “Concerning nonnegative matrices and doubly stochastic matrices.”, Pacific Journal of Mathematics, 1967, pp. 343-348. |
Spencer, T. , et al. , “Decomposition of poly(propylene carbonate) with UV sensitive iodonium 11 salts”, Polymer Degradation and Stability; (online]. Dec. 24, 2010 (retrieved Feb. 19, 2020]., (17 pages). |
Tanriverdi, Vildan , et al. , “Interacting With Eye Movements in Virtual Environments”, Department of Electrical Engineering and Computer Science, Tufts University; Proceedings of the SIGCHI conference on Human Factors in Computing Systems, Apr. 2000, pp. 1-8. |
Thomee, Bart , et al. , “YFCC100m: The new data in multimedia research”, Communications of the ACM, 59(2):64-73, 2016; arXiv:1503.01817v2 [cs.MM] Apr. 25, 2016, (8 pages). |
Torresani, Lorenzo , et al. , “Feature correspondence via graph matching: Models and global optimization”, Computer Vision—ECCV 2008, 10th European Conference on Computer Vision, Marseille, France, Oct. 12-18, 2008, Proceedings, Part II, (15 pages). |
Tuytelaars, Tinne , et al. , “Wide baseline stereo matching based on local, affinely invariant regions”, BMVC, 2000, pp. 1-14. |
Ulyanov, Dmitry , et al. , “Instance normalization: The missing ingredient for fast stylization”, arXiv:1607.08022v3 [cs.CV] Nov. 6, 2017, (6 pages). |
Vaswani, Ashish , et al. , “Attention is all you need”, 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA; arXiv:1706.03762v5 [cs.CL] Dec. 6, 2017, (15 pages). |
Veli{hacek over (c)}kovi{hacek over (c)}, Petar , et al. , “Graph attention networks”, ICLR, arXiv:1710.10903v3 [stat.ML] Feb. 4, 2018, (12 pages). |
Villani, Cédric, “Optimal transport: old and new”, vol. 338. Springer Science & Business Media, Jun. 2008, pp. 1-998. |
Wang, Xiaolong , et al. , “Non-local neural networks”, CVPR, arXiv:1711.07971v3 [cs.CV] Apr. 13, 2018, (10 pages). |
Wang, Yue , et al. , “Deep Closest Point: Learning representations for point cloud registration”, ICCV, arXiv:1905.03304v1 [cs.CV] May 8, 2019, (10 pages). |
Wang, Yue , et al. , “Dynamic Graph CNN for learning on point clouds”, ACM Transactions on Graphics, arXiv:1801.07829v2 [cs.CV] Jun. 11, 2019, (13 pages). |
Weissel , et al. , “Process cruise control: event-driven clock scaling for dynamic power management”, Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems. Oct. 11, 2002 (Oct. 11, 2002) Retrieved on May 16, 2020 (May 16, 2020) from <URL: https://dl.acm.org/doi/pdf/10.1145/581630.581668>. |
Yi, Kwang Moo, et al. , “Learning to find good correspondences”, CVPR, arXiv:1711.05971v2 [cs.CV] May 21, 2018, (13 pages). |
Yi, Kwang Moo , et al. , “Lift: Learned invariant feature transform”, ECCV, arXiv:1603.09114v2 [cs.CV] Jul. 29, 2016, (16 pages). |
Zaheer, Manzil , et al. , “Deep Sets”, 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, USA; arXiv:1703.06114v3 [cs.LG] Apr. 14, 2018, (29 pages). |
Zhang, Jiahui , et al. , “Learning two-view correspondences and geometry using order-aware network”, ICCV; aarXiv:1908.04964v1 [cs.CV] Aug. 14, 2019, (11 pages). |
Zhang, Li , et al. , “Dual graph convolutional net-work for semantic segmentation”, BMVC, 2019; arXiv:1909.06121v3 [cs.CV] Aug. 26, 2020, (18 pages). |
Communication according to Rule 164(1) EPC dated Feb. 23, 2022, European Patent Application No. 20753144.3, (11 pages). |
Communication Pursuant to Article 94(3) EPC dated Jan. 4, 2022, European Patent Application No. 20154070.5, (8 pages). |
Extended European Search Report dated Jan. 28, 2022, European Patent Application No. 19815876.8, (9 pages). |
Extended European Search Report dated Jan. 4, 2022, European Patent Application No. 19815085.6, (9 pages). |
Final Office Action dated Feb. 23, 2022, U.S. Appl. No. 16/748,193, (23 pages). |
Final Office Action dated Feb. 3, 2022, U.S. Appl. No. 16/864,721, (36 pages). |
Non Final Office Action dated Feb. 2, 2022, U.S. Appl. No. 16/783,866, (8 pages). |
Communication Pursuant to Article 94(3) EPC dated Apr. 25, 2022, European Patent Application No. 18885707.2, (5 pages). |
Extended European Search Report dated Jun. 19, 2020, European Patent Application No. 20154750.2, (10 pages). |
Extended European Search Report dated Mar. 22, 2022, European Patent Application No. 19843487.0, (14 pages). |
First Examination Report dated May 13, 2022, Indian Patent Application No. 202047026359, (8 pages). |
First Office Action dated Mar. 14, 2022 with English translation, Chinese Patent Application No. 201880079474.6, (11 pages). |
Non Final Office Action dated Apr. 1, 2022, U.S. Appl. No. 17/256,961, (65 pages). |
Non Final Office Action dated Apr. 11, 2022, U.S. Appl. No. 16/938,782, (52 pages). |
Non Final Office Action dated Apr. 12, 2022, U.S. Appl. No. 17/262,991, (60 pages). |
Non Final Office Action dated Mar. 31, 2022, U.S. Appl. No. 17/257,814, (60 pages). |
Non Final Office Action dated Mar. 9, 2022, U.S. Appl. No. 16/870,676, (57 pages). |
Non Final Office Action dated May 10, 2022, U.S. Appl. No. 17/140,921, (25 pages). |
Non Final Office Action dated May 17, 2022, U.S. Appl. No. 16/748,193, (11 pages). |
“Communication Pursuant to Article 94(3) EPC dated May 30, 2022”, European Patent Application No. 19768418.6, (6 pages). |
“Extended European Search Report dated Aug. 24, 2022”, European Patent Application No. 20846338.0, (13 pages). |
“Extended European Search Report dated Aug. 8, 2022”, European Patent Application No. 19898874.3, (8 pages). |
“Extended European Search Report dated Sep. 8, 2022”, European Patent Application No. 20798769.4, (13 pages). |
“Extended European Search Report dated May 16, 2022”, European Patent Application No. 19871001.4, (9 pages). |
“Extended European Search Report dated May 30, 2022”, European Patent Application No. 20753144.3, (10 pages). |
“Final Office Action dated Jul. 13, 2022”, U.S. Appl. No. 17/262,991, (18 pages). |
“First Examination Report dated Jul. 27, 2022”, Chinese Patent Application No. 201980036675.2, (5 pages). |
“First Examination Report dated Jul. 28, 2022”, Indian Patent Application No. 202047024232, (6 pages). |
“FS_XR5G: Permanent document, v0.4.0”, Qualcomm Incorporated, 3GPP TSG-SA 4 Meeting 103 retrieved from the Internet: URL:http://www.3gpp.org/ftp/Meetings%5F3GP P%5FSYNC/SA4/Docs/S4%2DI90526%2Ezip [retrieved on Apr. 12, 2019], Apr. 12, 2019, (98 pages). |
“Non Final Office Action dated Jul. 26, 2022”, U.S. Appl. No. 17/098,059, (28 pages). |
“Non Final Office Action dated Sep. 19, 2022”, U.S. Appl. No. 17/263,001, (14 pages). |
“Second Office Action dated Jul. 13, 2022 with English Translation”, Chinese Patent Application No. 201880079474.6, (10 pages). |
“Second Office Action dated Jun. 20, 2022 with English Translation”, Chinese Patent Application No. 201880089255.6, (14 pages). |
Anonymous , “Koi Pond: Top iPhone App Store Paid App”, https://web.archive.org/web/20080904061233/https://www.iphoneincanada.ca/reviews /koi-pond-top-iphone-app-store-paid-app/—[retrieved on Aug. 9, 2022], (2 pages). |
Chittineni, C. , et al., “Single filters for combined image geometric manipulation and enhancement”, Proceedings of SPIE vol. 1903, Image and Video Processing, Apr. 8, 1993, San Jose, CA. (Year: 1993), pp. 111-121. |
“Extended European Search Report dated Dec. 14, 2022”, European Patent Application No. 20886547.7, (8 pages). |
“Extended European Search Report dated Nov. 3, 2022”, European Patent Application No. 20770244.0, (23 pages). |
“Final Office Action dated Dec. 29, 2022”, U.S. Appl. No. 17/098,059, (32 pages). |
“First Office Action dated Sep. 16, 2022 with English translation”, Chinese Patent Application No. 201980063642.7, (7 pages). |
“Non Final Office Action dated Dec. 7, 2022”, U.S. Appl. No. 17/357,795, (63 pages). |
“Non Final Office Action dated Feb. 3, 2023”, U.S. Appl. No. 17/429,100, (16 pages). |
“Non Final Office Action dated Feb. 3, 2023”, U.S. Appl. No. 17/497,965, (32 pages). |
“Non Final Office Action dated Jan. 24, 2023”, U.S. Appl. No. 17/497,940, (10 pages). |
“Notice of Reason for Rejection dated Oct. 28, 2022 with English translation”, Japanese Patent Application No. 2020-531452, (3 pages). |
“Office Action dated Nov. 24, 2022 with English Translation”, Japanese Patent Application No. 2020-533730, (11 pages). |
“Decision of Rejection dated Jan. 5, 2023 with English translation”, Chinese Patent Application No. 201880079474.6, (10 pages). |
“Extended European Search Report dated Apr. 5, 2023”, European Patent Application No. 20888716.6, (11 pages). |
“Final Office Action dated Mar. 10, 2023”, U.S. Appl. No. 17/357,795, (15 pages). |
“First Office Action dated Apr. 21, 2023 with English translation”, Japanese Patent Application No. 2021-509779, (26 pages). |
“First Office Action dated Apr. 13, 2023 with English Translation”, Japanese Patent Application No. 2020-567766, (7 pages). |
“First Office Action dated Dec. 22, 2022 with English translation”, Chinese Patent Application No. 201980061450.2, (11 pages). |
“First Office Action dated Jan. 24, 2023 with English translation”, Japanese Patent Application No. 2020-549034, (7 pages). |
“First Office Action dated Jan. 30, 2023 with English translation”, Chinese Patent Application No. 201980082951.9, (5 pages). |
“First Office Action dated Mar. 27, 2023 with English translation”, Japanese Patent Application No. 2020-566617, (6 pages). |
“First Office Action dated Mar. 6, 2023 with English translation”, Korean Patent Application No. 10-2020-7019685, (7 pages). |
“Non Final Office Action dated Apr. 13, 2023”, U.S. Appl. No. 17/098,043, (7 pages). |
“Non Final Office Action dated Mar. 1, 2023”, U.S. Appl. No. 18/046,739, (34 pages). |
“Non Final Office Action dated May 11, 2023”, U.S. Appl. No. 17/822,279, (24 pages). |
“Office Action dated Apr. 13, 2023 with English translation”, Japanese Patent Application No. 2020-533730, (13 pages). |
“Office Action dated Mar. 30, 2023 with English translation”, Japanese Patent Application No. 2020-566620, (10 pages). |
“Second Office Action dated May 2, 2023 with English Translation”, Japanese Patent Application No. 2020-549034, (6 pages). |
Li, Yujia , et al., “Graph Matching Networks for Learning the Similarity of Graph Structured Objects”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, XP081268608, Apr. 29, 2019. |
Luo, Zixin , et al., “ContextDesc: Local Descriptor Augmentation With Cross-Modality Context”, 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), IEEE, XP033686823, DOI: 10.1109/CVPR.2019.00263 [retrieved on Jan. 8, 2020], Jun. 15, 2019, pp. 2522-2531. |
Zhang, Zen , et al., “Deep Graphical Feature Learning for the Feature Matching Problem”, 2019 IEEE/CVF International Conference on Computer Vision (ICCV), IEEE, XP033723985, DOI: 10.1109/ICCV.2019.00519 [retrieved on Feb. 24, 2020], Oct. 27, 2019, pp. 5086-5095. |
“First Examination Report dated Aug. 8, 2023”, Australian Patent Application No. 2018379105, (3 pages). |
“First Office Action dated Jul. 4, 2023 with English translation”, Japanese Patent Application No. 2021-505669, (6 pages). |
“First Office Action dated Jun. 13, 2023 with English translation”, Japanese Patent Application No. 2020-567853, (7 pages). |
“First Office Action dated May 26, 2023 with English translation”, Japanese Patent Application No. 2021-500607, (6 pages). |
“First Office Action dated May 30, 2023 with English translation”, Japanese Patent Application No. 2021-519873, (8 pages). |
“Non Final Office Action dated Aug. 2, 2023”, U.S. Appl. No. 17/807,600, (25 pages). |
“Non Final Office Action dated Jul. 20, 2023”, U.S. Appl. No. 17/650,188, (11 pages). |
“Non Final Office Action dated Jun. 14, 2023”, U.S. Appl. No. 17/516,483, (10 pages). |
“Notice of Allowance dated Jul. 27, 2023 with English translation”, Korean Patent Application No. 10-2020-7019685, (4 pages). |
“Office Action dated Jul. 20, 2023 with English translation”, Japanese Patent Application No. 2021-505884, (6 pages). |
“Office Action dated Jun. 8, 2023 with English translation”, Japanese Patent Application No. 2021-503762, (6 pages). |
Number | Date | Country | |
---|---|---|---|
20220067965 A1 | Mar 2022 | US |
Number | Date | Country | |
---|---|---|---|
62440320 | Dec 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16833093 | Mar 2020 | US |
Child | 17522561 | US | |
Parent | 15859277 | Dec 2017 | US |
Child | 16833093 | US |