US 11,921,291 B2
Systems and methods for performing self-improving visual odometry
Daniel Detone, San Francisco, CA (US); Tomasz Jan Malisiewicz, Mountain View, CA (US); and Andrew Rabinovich, San Francisco, CA (US)
Assigned to Magic Leap, Inc., Plantation, FL (US)
Appl. No. 17/293,772
Filed by MAGIC LEAP, INC., Plantation, FL (US)
PCT Filed Nov. 13, 2019, PCT No. PCT/US2019/061272
§ 371(c)(1), (2) Date May 13, 2021,
PCT Pub. No. WO2020/102417, PCT Pub. Date May 22, 2020.
Claims priority of provisional application 62/913,378, filed on Oct. 10, 2019.
Claims priority of provisional application 62/767,887, filed on Nov. 15, 2018.
Prior Publication US 2022/0028110 A1, Jan. 27, 2022
Int. Cl. G06T 7/73 (2017.01); G02B 27/01 (2006.01); G06N 3/08 (2023.01); G06T 7/33 (2017.01); G06V 10/40 (2022.01)
CPC G02B 27/0172 (2013.01) [G06N 3/08 (2013.01); G06T 7/33 (2017.01); G06T 7/74 (2017.01); G06V 10/40 (2022.01); G06T 2207/10016 (2013.01); G06T 2207/20081 (2013.01); G06T 2207/20084 (2013.01); G06T 2207/30244 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method of training a neural network for performing visual odometry, the method comprising:
receiving, by the neural network implemented using one or more computer systems, a plurality of images of an environment;
determining, by the neural network, for each image, a respective set of interest points and a respective descriptor;
determining, by the neural network, a correspondence between the plurality of images based on the sets of interest points and the descriptors of the plurality of images, wherein determining the correspondence between the plurality of images comprises:
determining one or more point correspondences between the sets of interest points, wherein each point correspondence indicates a respective correspondence between an interest point of one image and an interest point of another image, and
determining, based on the one or more point correspondences, a set of candidate interest points, each candidate interest point indicating a respective feature in the environment in three-dimensional space; and
determining, for each candidate interest point, a respective stability metric, including determining that a first candidate interest point is stable, wherein determining that the first candidate interest point is stable comprises:
determining that the first candidate interest point is depicted in a number of images of the plurality of images exceeding a first threshold number, and
determining that a re-projection error associated with the first candidate interest point is less than a first threshold error level; and
modifying the neural network based on the one or more candidate interest points.