US 12,444,067 B2
Visual odometry for mixed reality devices
Evan Gregory Levine, Seattle, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jan. 30, 2023, as Appl. No. 18/102,920.
Prior Publication US 2024/0257371 A1, Aug. 1, 2024
Int. Cl. G06K 9/00 (2022.01); G06T 7/50 (2017.01); G06T 7/55 (2017.01); G06T 7/70 (2017.01); G06T 7/77 (2017.01); G06V 10/44 (2022.01); G06V 10/46 (2022.01); G06V 10/74 (2022.01); G06V 10/77 (2022.01)
CPC G06T 7/55 (2017.01) [G06T 7/50 (2017.01); G06T 7/70 (2017.01); G06T 7/77 (2017.01); G06V 10/44 (2022.01); G06V 10/46 (2022.01); G06V 10/761 (2022.01); G06V 10/77 (2022.01); G06T 2207/30244 (2013.01); G06V 2201/12 (2022.01)] 20 Claims
OG exemplary drawing
 
1. A computer system that (i) determines, from a number of approximated states included in a storage buffer, a level of depth uncertainty for a selected three-dimensional (3D) feature represented in a set of images, (ii) ejects one of the approximated states from the storage buffer, resulting in a modification of available data that is usable to determine a depth for the selected 3D feature, and (iii) attempts to preserve the level of depth uncertainty even after the one approximated state has been ejected, said computer system comprising:
at least one processor; and
at least one hardware storage device that stores instructions that are executable by the at least one processor to cause the computer system to:
access a buffer of estimated states that are generated based on visual observations derived from multiple images, wherein the estimated states comprise pose information as reflected in the multiple images;
identify a 3D feature that is commonly represented in the multiple images;
within each one of the multiple images, identify a two-dimensional (2D) feature point that is an observation of the 3D feature such that multiple 2D feature points are identified,
wherein the multiple images provide data this is usable to determine a depth for the 3D feature;
determine that a first estimated state of the estimated states is to be ejected from the buffer;
for at least one of the 2D feature points, compute a corresponding representative measurement comprising a corresponding depth and a corresponding uncertainty value for that depth such that one or more representative measurements are computed;
determine a first joint uncertainty for the depth of the 3D feature using at least the one or more representative measurements;
eject the first estimated state from the buffer, resulting in a modification to the data that is usable to determine the depth for the 3D feature; and
after the first estimated state is ejected, tune the one or more representative measurements until a resulting second joint uncertainty, which is based on the tuned one or more representative measurements, is within a threshold level of similarity to the first joint uncertainty despite there being the modification to the data that is usable to determine the depth for the 3D feature.