Systems and methods for augmented reality preparation, processing, and application
First Claim
1. A device to facilitate an augmented reality (AR) experience, the device comprising:
- a depth sensor;
at least one processor;
at least one memory comprising instructions configured to cause the at least one processor to perform a method comprising;
receiving depth information, the depth information comprising distances from the depth sensor to surfaces in a real-world environment;
determining a final pose, wherein determining the final pose comprises;
determining a first pose;
determining at least one neighborhood based upon the first pose; and
iteratively, through two or more iterations;
selecting a new pose from a plurality of poses within a neighborhood of a plurality of neighborhoods, each neighborhood of the plurality of neighborhoods covering a portion of a search space associated with a virtual model of the real-world environment;
pruning a neighborhood from the plurality of neighborhoods, at least in part, by determining correspondences between the depth information oriented using a pose from the pruned neighborhood and at least a portion of the virtual model of the real-world environment; and
setting a size of at least one neighborhood in a subsequent iteration to be smaller than a size of at least one neighborhood in a preceding iteration, whereinthe final pose is the new pose so iteratively determined to more closely correspond to the virtual model than a pose of a previous iteration; and
making the final pose available to an AR application.
5 Assignments
0 Petitions
Accused Products
Abstract
Various of the disclosed embodiments provide systems and methods for acquiring and applying a depth determination of an environment in e.g., various augmented reality applications. A user may passively or actively scan a device (e.g., a tablet device, a mobile phone device, etc.) about the environment acquiring depth data for various regions. The system may integrate these scans into an internal three-dimensional model. This model may then be used in conjunction with subsequent data acquisitions to determine a device'"'"'s location and orientation within the environment with high fidelity. In some embodiments, these determinations may be accomplished in real-time or near-real-time. Using the high-fidelity orientation and position determination, various augmented reality applications may then be possible using the same device used to acquire the depth data or a new device.
105 Citations
22 Claims
-
1. A device to facilitate an augmented reality (AR) experience, the device comprising:
-
a depth sensor; at least one processor; at least one memory comprising instructions configured to cause the at least one processor to perform a method comprising; receiving depth information, the depth information comprising distances from the depth sensor to surfaces in a real-world environment; determining a final pose, wherein determining the final pose comprises; determining a first pose; determining at least one neighborhood based upon the first pose; and iteratively, through two or more iterations; selecting a new pose from a plurality of poses within a neighborhood of a plurality of neighborhoods, each neighborhood of the plurality of neighborhoods covering a portion of a search space associated with a virtual model of the real-world environment; pruning a neighborhood from the plurality of neighborhoods, at least in part, by determining correspondences between the depth information oriented using a pose from the pruned neighborhood and at least a portion of the virtual model of the real-world environment; and setting a size of at least one neighborhood in a subsequent iteration to be smaller than a size of at least one neighborhood in a preceding iteration, wherein the final pose is the new pose so iteratively determined to more closely correspond to the virtual model than a pose of a previous iteration; and making the final pose available to an AR application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A device to determine a final pose, the device comprising:
-
an interface configured to receive data from an augmented reality (AR) experience device; at least one processor; at least one memory comprising instructions configured to cause the at least one processor to perform a method comprising; receiving depth information from the AR experience device via the interface, the depth information comprising distances from a depth sensor to surfaces in a real-world environment; determining a final pose, wherein determining the final pose comprises; determining a first pose; determining at least one neighborhood based upon the first pose; and iteratively, through two or more iterations; selecting a new pose from a plurality of poses within a neighborhood of a plurality of neighborhoods, each neighborhood of the plurality of neighborhoods covering a portion of a search space associated with a virtual model of the real-world environment; pruning a neighborhood from the plurality of neighborhoods, at least in part, by determining correspondences between the depth information oriented using a pose from the pruned neighborhood and at least a portion of the virtual model of the real-world environment; and setting a size of at least one neighborhood in a subsequent iteration to be smaller than a size of at least one neighborhood in a preceding iteration, wherein the final pose is the new pose so iteratively determined to more closely correspond to the virtual model than a pose of a previous iteration; and making the final pose available to the AR experience device. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-implemented method for determining a pose of a device relative to a real-world environment, comprising:
-
receiving depth information associated with the device, the depth information comprising distances from the device to surfaces in a real-world environment; and determining a final pose, wherein determining the final pose comprises applying a Pose Search Algorithm (PSA) to a virtual model of the real-world environment and a first pose determined from the depth information, wherein the PSA comprises; determining at least one neighborhood based upon the first pose; and iteratively, through two or more iterations; selecting a new pose from a plurality of poses within a neighborhood of a plurality of neighborhoods, each neighborhood of the plurality of neighborhoods covering a portion of a search space associated with the virtual model of the real-world environment; pruning a neighborhood from the plurality of neighborhoods, at least in part, by determining correspondences between the depth information oriented using a pose from the pruned neighborhood and at least a portion of the virtual model of the real-world environment; and setting a size of at least one neighborhood in a subsequent iteration to be smaller than a size of at least one neighborhood in a preceding iteration, and wherein the final pose is the new pose so iteratively determined to more closely correspond to the virtual model than a pose of a previous iteration. - View Dependent Claims (18, 19)
-
-
20. A non-transitory computer-readable medium comprising instructions configured to cause a device to perform a method, the method comprising:
-
receiving depth information associated with the device, the depth information comprising distances from the device to surfaces in a real-world environment; and determining a final pose, wherein determining the final pose comprises applying a Pose Search Algorithm (PSA) to a virtual model of the real-world environment and a first pose determined from the depth information, wherein the PSA comprises; determining at least one neighborhood based upon the first pose; and iteratively, through two or more iterations; selecting a new pose from a plurality of poses within a neighborhood of a plurality of neighborhoods, each neighborhood of the plurality of neighborhoods covering a portion of a search space associated with the virtual model of the real-world environment; pruning a neighborhood from the plurality of neighborhoods, at least in part, by determining correspondences between the depth information oriented using a pose from the pruned neighborhood and at least a portion of the virtual model of the real-world environment; and setting a size of at least one neighborhood in a subsequent iteration to be smaller than a size of at least one neighborhood in a preceding iteration, wherein the final pose is the new pose so iteratively determined to more closely correspond to the virtual model than a pose of a previous iteration. - View Dependent Claims (21, 22)
-
Specification