IP Library › Granted Patent US 11,544,867
Granted Patent B2
US 11,544,867 · App. 17/194,180 · Granted Jan 3, 2023

Mapping optimization in autonomous and non-autonomous platforms

Inventors: Zhe Zhang (Sunnyvale, CA); Grace Tsai (Campbell, CA); Shaoshan Liu (Fremont, CA)
Assignee: Trifo, Inc.
G06T7/70G01C21/20G01C21/206G05D1/0246G05D1/0274G06T7/246G06T7/579G06V10/44G01P15/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 11,544,867
App. No.
17/194,180
Granted
Jan 3, 2023
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 (41)

1. A system, including:

one or more processors coupled to memory storing computer instructions for correcting at least some estimated poses and locations of at least some 3D points that define a map, the map used to provide guidance to a mobile platform, which computer instructions, when executed on the processors, implement actions comprising:

selecting, from among a set comprised of image data and location information and view information for a camera that captured the image data, a first subset chosen at random and a second subset that (i) includes location information within a radius of at least one of the first subset and (ii) shares a field of view with the at least one of the first subset; wherein image data and location information and view information not selected comprise a set that are not available to be refined; and

determining for select 3D points in the map and within a field of view of a camera that captured at least one image data and location information and view information, a group identity selected from a set of: (i) a free point that is available to be refined; (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; and a (iii) fixed point that is not available to be changed; and

refining the map to correct at least some estimated poses and locations of at least some of the free points to provide guidance to the mobile platform.

2. The system of claim 1 , further implementing actions comprising refining the map defined from 3D points corresponding to 2D features 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 at least one instance of image data and location information and view information that is fixed maintains a global coordinate system for the map.

4. The system of claim 1 , further comprising apportioning freedom among instances of image data and location information and view information 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 , wherein sufficiently distinct includes 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 instances of image data and location information and view information in the map.

8. A non-transitory computer readable storage medium storing instructions to correct at least some estimated poses and locations of at least some 3D points that define a map, the map used to provide guidance to a mobile platform, which instructions, when executed on one or more processors, implement actions comprising:

selecting, from among a set comprised of image data and location information and view information for a camera that captured the image data, a first subset chosen at random and a second subset that (i) includes location information within a radius of at least one of the first subset and (ii) shares a field of view with the at least one of the first subset; wherein image data and location information and view information not selected comprise a set that are not available to be refined; and

determining for select 3D points in the map and within a field of view of a camera that captured at least one instance of image data and location information and view information, a group identity selected from a set of: (i) a free point that is available to be refined; (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; and a (iii) fixed point that is not available to be changed; and

refining the map to correct at least some estimated poses and locations of at least some of the free points to provide guidance to the mobile platform.

9. The non-transitory computer readable storage medium of claim 8 , further implementing actions comprising refining the map defined from 3D points corresponding to 2D features 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.

10. The non-transitory computer readable storage medium of claim 8 , wherein at least one instance of image data and location information and view information that is fixed maintains a global coordinate system for the map.

11. The non-transitory computer readable storage medium of claim 8 , further implementing actions comprising apportioning freedom among instances of image data and location information and view information into “fixed” and “free” subsets whenever a new refinement process is applied to adjust at least some portion of the map.

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

13. The non-transitory computer readable storage medium of claim 12 , wherein N includes 1 second.

14. The non-transitory computer readable storage medium of claim 8 , 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 a movement of more than X meter or has changed orientation direction more than Y degree.

15. The non-transitory computer readable storage medium of claim 8 , 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 instances of image data and location information and view information in the map.

16. A method for correcting at least some estimated poses and locations of at least some 3D points that define a map, the map used to provide guidance to a mobile platform that includes a camera with distance calculation, the method comprising:

selecting, from among a set comprised of image data and location information and view information for a camera that captured the image data, a first subset chosen at random and a second subset that (i) includes location information within a radius of at least one of the first subset and (ii) shares a field of view with the at least one of the first subset; wherein image data and location information and view information not selected comprise a set that are not available to be refined; and

determining for select 3D points in the map and within a field of view of a camera that captured at least one instance of image data and location information and view information, a group identity selected from a set of: (i) a free point that is available to be refined; (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; and a (iii) fixed point that is not available to be changed; and

refining the map to correct at least some estimated poses and locations of at least some of the free points to provide guidance to the mobile platform.

17. The system of claim 1 , wherein a 3D point that is within more than two instances of the image data and location information and view information, including at least one instance that is a member of the second subset free is a free point.

18. The system of claim 1 , wherein a 3D point that is within at most one instance of image data and location information and view information that is free is a semi-free point.

19. The system of claim 1 , wherein a 3D point that is within an instance of image data and location information and view information that is fixed is a fixed point.

20. The non-transitory computer readable storage medium of claim 8 ,

wherein a 3D point that is within more than two instances of the image data and location information and view information, including at least one instance that is a member of the second subset free is a free point;

wherein a 3D point that is within at most one instance of image data and location information and view information that is free is a semi-free point; and

wherein a 3D point that is within an instance of image data and location information and view information that is fixed is a fixed point.

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 (4)
Continuation 16656043 · Oct 17, 2019
Continuation 15648372 · Jul 12, 2017
Continuation In Part 15250581 · Aug 29, 2016
Related Publication 20210192774A1 · Jun 24, 2021
Cited By (1)
US 12,724,822