IP Library › Granted Patent US 10,943,361
Granted Patent B2
US 10,943,361 · App. 16/656,043 · Granted Mar 9, 2021

Mapping optimization in autonomous and non-autonomous platforms

Inventors: Grace Tsai (Campbell, CA); Zhe Zhang (Sunnyvale, CA); Shaoshan Liu (Fremont, CA)
Assignee: Trifo, Inc.
G06T7/70G01C21/20G01C21/206G05D1/0246G05D1/0274G06K9/4604G06T7/246G06T7/579G01P15/18G06T2207/30244G06T2207/30252
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,943,361
App. No.
16/656,043
Granted
Mar 9, 2021
Kind
B2
Abstract

The described positional awareness techniques employing visual-inertial sensory data gathering and analysis hardware with reference to specific example implementations implement improvements in the use of sensors, techniques and hardware design that can enable specific embodiments to provide positional awareness to machines with improved speed and accuracy.

Claims (49)

1. A system, including:

a mobile platform having disposed thereon:

at least one camera; and

an interface to a host including one or more processors coupled to memory storing computer instructions, which computer instructions, when executed on the one or more processors, implement actions comprising:

collecting sets of image data including 2D feature points and pose information, the pose information including a location of the mobile platform and view of the camera that captured the sets of image data, wherein sets comprised of image data and pose information are referred to collectively as keyrigs;

receiving a selected keyrig; wherein the keyrig is selected to include in a map defined from 3D points, based upon comparisons of keyrigs with other selected keyrigs, the selected keyrig being selected by:

apportioning freedom among keyrigs by selecting, from among keyrigs to include in a map, a set of free keyrigs available to be refined including a first subset of keyrigs chosen at random and a second subset of keyrigs that (i) are within a radius of at least one of the first subset of keyrigs and (ii) share a field of view with the at least one of the first subset of keyrigs; wherein keyrigs not selected comprise a set of fixed keyrigs that are not available to be refined; and

determining for select 3D points in the map and within a field of view of at least one keyrig, a group identity including one selected from a set of: (i) a free point that is available to be refined; wherein a 3D point that is within a viewpoint of more than two keyrigs, including at least one keyrig that is free is a free point; (ii) a semi-free point that is not available to be refined but can be changed in location during course of refining a free point; wherein a 3D point that is within a viewpoint of at most one keyrig that is free is a semi-free point; and a (iii) fixed point that is not available to be changed; wherein a 3D point that is within a viewpoint of a keyrig that is fixed is a fixed point; and

obtaining a map refined using selected keyrigs to correct at least some estimated poses and locations of at least some of the free points; and

using corrected estimated poses and locations of the map as refined to provide guidance to the mobile platform.

2. The system of claim 1 , the map being refined by:

selecting sets of at least some of image data and pose information of the map defined from 3D points;

reprojecting 3D points from the map into reprojected points on a 2D image plane using the pose information;

calculating image coordinates for the reprojected points on the 2D image plane and comparing the image coordinates calculated for the reprojected points on the 2D image plane to actual coordinates of corresponding observed points obtained directly from image data selected to compute a plurality of re-projection errors; and

minimizing a weighted sum of the re-projection errors for the sets of at least some of image data and pose information selected.

3. The system of claim 1 , wherein the set of fixed keyrigs requires at least one fixed keyrig that maintains a global coordinate system for the map.

4. The system of claim 1 , further comprising triggering apportioning freedom among keyrigs into “fixed” and “free” subsets whenever a new refinement process is applied to adjust at least some portion of the map.

5. The system of claim 1 , further comprising triggering refining the map at intervals of N seconds.

6. The system of claim 5 , wherein N includes 1 second.

7. The system of claim 1 , further comprising triggering refining the map when a current location or orientation and a last triggering pose is larger than a threshold.

8. The system of claim 7 , wherein location or orientation and a last triggering pose is larger than a threshold includes device has moved more than X meter or has changed orientation direction more than Y degree.

9. The system of claim 8 , wherein X is 0.5 meter.

10. The system of claim 1 , further comprising triggering refining the map when a current pose is sufficiently distinct enough in comparison to a plurality of keyrigs in the map.

11. The system of claim 10 , wherein sufficiently distinct includes greater than 0.5 meter.

12. The system of claim 10 , wherein sufficiently distinct includes greater than 40 degrees.

13. A non-transitory computer readable storage medium storing instructions, which instructions, when executed on one or more processors, implement actions comprising:

collecting sets of image data including 2D feature points and pose information, the pose information including a location of the mobile platform and view of the camera that captured the sets of image data, wherein sets comprised of image data and pose information are referred to collectively as keyrigs;

receiving a selected keyrig; wherein the keyrig is selected to include in a map defined from 3D points, based upon comparisons of keyrigs with other selected keyrigs, the selected keyrig being selected by:

apportioning freedom among keyrigs by selecting, from among keyrigs to include in a map, a set of free keyrigs available to be refined including a first subset of keyrigs chosen at random and a second subset of keyrigs that (i) are within a radius of at least one of the first subset of keyrigs and (ii) share a field of view with the at least one of the first subset of keyrigs; wherein keyrigs not selected comprise a set of fixed keyrigs that are not available to be refined; and

determining for select 3D points in the map and within a field of view of at least one keyrig, a group identity including one selected from a set of: (i) a free point that is available to be refined; wherein a 3D point that is within a viewpoint of more than two keyrigs, including at least one keyrig that is free is a free point; (ii) a semi-free point that is not available to be refined but can be changed in location during course of refining a free point; wherein a 3D point that is within a viewpoint of at most one keyrig that is free is a semi-free point; and a (iii) fixed point that is not available to be changed; wherein a 3D point that is within a viewpoint of a keyrig that is fixed is a fixed point; and

obtaining a map refined using selected keyrigs to correct at least some estimated poses and locations of at least some of the free points; and

using corrected estimated poses and locations of the map as refined to provide guidance to the mobile platform.

14. The non-transitory computer readable storage medium of claim 13 , the map being refined by:

selecting sets of at least some of image data and pose information of the map defined from 3D points;

reprojecting 3D points from the map into reprojected points on a 2D image plane using the pose information;

calculating image coordinates for the reprojected points on the 2D image plane and comparing the image coordinates calculated for the reprojected points on the 2D image plane to actual coordinates of corresponding observed points obtained directly from image data selected to compute a plurality of re-projection errors; and

minimizing a weighted sum of the re-projection errors for the sets of at least some of image data and pose information selected.

15. The non-transitory computer readable storage medium of claim 13 , wherein the set of fixed keyrigs requires at least one fixed keyrig that maintains a global coordinate system for the map.

16. The non-transitory computer readable storage medium of claim 13 , further implementing actions comprising triggering apportioning freedom among keyrigs into “fixed” and “free” subsets whenever a new refinement process is applied to adjust at least some portion of the map.

17. The non-transitory computer readable storage medium of claim 13 , further implementing actions comprising triggering refining the map at intervals of N seconds.

18. The non-transitory computer readable storage medium of claim 13 , further implementing actions comprising triggering refining the map when a current location or orientation and a last triggering pose is larger than a threshold that includes device has moved more than X meter or has changed orientation direction more than Y degree.

19. The non-transitory computer readable storage medium of claim 13 , further implementing actions comprising triggering refining the map when a current pose is at least one of greater than 0.5 meter and greater than 40 degrees in comparison to a plurality of keyrigs in the map.

20. A method for guiding a mobile platform that includes a camera and a multi-axis inertial measuring unit (IMU), the method comprising:

collecting sets of image data including 2D feature points and pose information, the pose information including a location of the mobile platform and view of the camera that captured the sets of image data, wherein sets comprised of image data and pose information are referred to collectively as keyrigs;

receiving a selected keyrig; wherein the keyrig is selected to include in a map defined from 3D points, based upon comparisons of keyrigs with other selected keyrigs, the selected keyrig being selected by:

apportioning freedom among keyrigs by selecting, from among keyrigs to include in a map, a set of free keyrigs available to be refined including a first subset of keyrigs chosen at random and a second subset of keyrigs that (i) are within a radius of at least one of the first subset of keyrigs and (ii) share a field of view with the at least one of the first subset of keyrigs; wherein keyrigs not selected comprise a set of fixed keyrigs that are not available to be refined; and

determining for select 3D points in the map and within a field of view of at least one keyrig, a group identity including one selected from a set of: (i) a free point that is available to be refined; wherein a 3D point that is within a viewpoint of more than two keyrigs, including at least one keyrig that is free is a free point; (ii) a semi-free point that is not available to be refined but can be changed in location during course of refining a free point; wherein a 3D point that is within a viewpoint of at most one keyrig that is free is a semi-free point; and a (iii) fixed point that is not available to be changed; wherein a 3D point that is within a viewpoint of a keyrig that is fixed is a fixed point; and

obtaining a map refined using selected keyrigs to correct at least some estimated poses and locations of at least some of the free points; and

using corrected estimated poses and locations of the map as refined to provide guidance to the mobile platform.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2022
From: ZHANG, ZHE; TSAI, GRACE; LIU, SHAOSHAN
To: PERCEPTIN, INC
Reel/Frame 059544/0869 →
CHANGE OF NAME Recorded Apr 8, 2022
From: PERCEPTIN, INC
To: TRIFO, INC.
Reel/Frame 059657/0790 →
Continuity (3)
Continuation 15648372 · Jul 12, 2017
Continuation In Part 15250581 · Aug 29, 2016
Related Publication 20200151898A1 · May 14, 2020
Cited By (2)
US 12,387,502 US 12,699,394