IP Library Granted Patent US 12,299,926
Granted Patent B2
US 12,299,926 · App. 17/845,482 · Granted May 13, 2025

Tracking with reference to a world coordinate system

Inventors: Jafar Amiri Parian (Schlieren, CH); Robert E. Bridges (Kennett Square, PA)
Assignee: FARO TECHNOLOGIES, INC.
G06T7/74G01C11/06G01S17/894G06T7/97G06T11/00G06T19/006G06V10/22G06V10/761G06T2207/10028G06T2207/30244G06T2210/56
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 12,299,926
App. No.
17/845,482
Granted
May 13, 2025
Kind
B2
Abstract

Examples described herein provide a method that includes capturing data about an environment. The method further includes generating a database of two-dimensional (2D) features and associated three-dimensional (3D) coordinates based at least in part on the data about the environment. The method further includes determining a position (x, y, z) and an orientation (pitch, roll, yaw) of a device within the environment based at least in part on the database of 2D features and associated 3D coordinates. The method further includes causing the device to display, on a display of the device, an augmented reality element at a predetermined location based at least in part on the position and the orientation of the device.

Claims (56)

1. A method, comprising:

capturing data about an environment, the data about the environment comprising at least one image captured using a camera and a point cloud captured using a three-dimensional coordinate measurement device;

generating a database of two-dimensional (2D) features and associated three-dimensional (3D) coordinates based at least in part on the data about the environment by:

performing feature extraction;

determining a first 3D coordinate for a first feature of a plurality of features; and

in response to determining that a second 3D coordinate cannot be determined for a second feature of the plurality of features using the data, determining the second 3D coordinate for the second feature of the plurality of features using photogrammetry;

determining a position (x, y, z) and an orientation (pitch, roll, yaw) of a device within the environment based at least in part on the database of 2D features and associated 3D coordinates; and

causing the device to display, on a display of the device, an augmented reality element at a predetermined location based at least in part on the position and the orientation of the device.

2. The method of claim 1 , wherein the data about the environment comprises at least two images.

3. The method of claim 2 , wherein generating the database of 2D features and associated 3D coordinates comprises performing photogrammetry using the at least two images.

4. The method of claim 1 , wherein generating the database of 2D features and associated 3D coordinates comprises performing photogrammetry using at least one image.

5. The method of claim 1 , wherein the data about the environment is captured using the camera.

6. The method of claim 1 , wherein the data about the environment is captured using a three-dimensional scanner.

7. The method of claim 1 , wherein the feature extraction is performed on the data about the environment.

8. The method of claim 7 , wherein performing the feature extraction is based at least in part on at least one of an intensity image, a color image, and lidar depth data.

9. The method of claim 7 , wherein generating the database of 2D features and associated 3D coordinates further comprises, subsequent to performing the feature extraction, using an extracted feature to estimate a 3D coordinate for the extracted feature.

10. The method of claim 1 , wherein determining the position and the orientation of the device within the environment comprises:

receiving an image of the environment from the device;

extracting a 2D feature from the image; and

comparing the 2D feature to data stored in the database of 2D features and associated 3D coordinates to determine when a match exists.

11. The method of claim 10 , wherein determining the position and the orientation of the device within the environment comprises:

responsive to determine that a match exists, creating a 3D reference point used for tracking using a 3D coordinate stored in the database of 2D features and associated 3D coordinates that is associated with the match; and

determining the position and the orientation of the device to track the device in the environment.

12. The method of claim 11 , wherein the position and the orientation of the device within the environment is determined using at least one of relative orientation and space resection.

13. The method of claim 10 , wherein determining the position and the orientation of the device within the environment comprises:

responsive to determine that a match does not exist, restarting the method.

14. The method of claim 1 , further comprising:

identifying a difference between a feature captured by the device and a feature of the database of 2D features and associated 3D coordinates to identify a changed region within the environment; and

updating the database of 2D features and associated 3D coordinates based at least in part on the difference.

15. The method of claim 1 , further comprising:

detecting a fiducial feature within the environment;

determining an expected location of the fiducial feature within the environment based at least in part on the database of 2D features and associated 3D coordinates; and

determining whether an actual location of the fiducial feature matches the expected location of the fiducial feature.

16. A system comprising:

a coordinate measurement device to capture data about an environment; and

a processing system comprising first processing circuitry to:

generate a database of 2D features and associated 3D coordinates based at least in part on the data about the environment;

determine a position and an orientation of a user device within the environment based at least in part on the database of 2D features and associated 3D coordinates;

identify a difference between a feature captured by the user device and a feature of the database of 2D features and associated 3D coordinates to identify a changed region within the environment; and

update the database of 2D features and associated 3D coordinates based at least in part on the difference; and

the user device comprising a display and second processing circuitry to:

display, on the display, an augmented reality element at a predetermined location based at least in part on the position and the orientation of the user device.

17. The system of claim 16 , wherein determining the position and the orientation of the user device is further based at least in part on an image captured by a camera associated with the user device.

18. The system of claim 16 , wherein the data about the environment are images of the environment, and wherein generating the database of 2D features and associated 3D coordinates based at least in part on the data about the environment is performed using photogrammetry.

19. The system of claim 16 , wherein generating the database of 2D features and associated 3D coordinates based at least in part on the data about the environment comprises performing feature extraction.

20. The system of claim 16 , wherein the data about the environment is captured using a laser scanner.

21. A method, comprising:

capturing data about an environment;

generating a database of two-dimensional (2D) features and associated three-dimensional (3D) coordinates based at least in part on the data about the environment;

determining a position (x, y, z) and an orientation (pitch, roll, yaw) of a device within the environment based at least in part on the database of 2D features and associated 3D coordinates by:

receiving an image of the environment from the device;

extracting a 2D feature from the image;

comparing the 2D feature to data stored in the database of 2D features and associated 3D coordinates to determine when a match exist;

responsive to determine that a match exists, creating a 3D reference point used for tracking using a 3D coordinate stored in the database of 2D features and associated 3D coordinates that is associated with the match; and

determining the position and the orientation of the device to track the device in the environment; and

causing the device to display, on a display of the device, an augmented reality element at a predetermined location based at least in part on the position and the orientation of the device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2022
From: PARIAN, JAFAR AMIRI; BRIDGES, ROBERT E., DR.
To: FARO TECHNOLOGIES, INC.
Reel/Frame 060277/0129 →
Continuity (3)
Provisional Application 63314027 · Feb 25, 2022
Provisional Application 63215126 · Jun 25, 2021
Related Publication 20220414925A1 · Dec 29, 2022
References Cited (18)
US 8705012B2 · Greiner et al. · 2014 [cited by applicant]
US 10597753B2 · Willcox et al. · 2020 [cited by applicant]
US 20120306850A1 · Balan et al. · 2012 [cited by applicant]
US 20190219409A1 · Tan · 2019 [cited by examiner]
US 20190257642A1 · Hillebrand · 2019 [cited by applicant]
US 20200250889A1 · Li · 2020 [cited by examiner]
US 20210209856A1 · Liukkonen et al. · 2021 [cited by applicant]
WO 2021188741A1 · 2021 [cited by applicant]
Li et al., Camera localization for augmented reality and indoor positioning: a vision-based 3D feature database approach. Int. J. Digital Earth. Jan. 2019; 13(6):15 pages. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/US2022/048402, dated Apr. 14, 2023, 21 pages. [cited by applicant]
Horn; “Relative Orientation”; Massachusetts Institute of Technology; The Artificial Intelligence Laboratory, A.I. Memo No. 994-A; Sep. 1978, Revised Mar. 1989; 38 Pages. [cited by applicant]
Zeng et al.; “A General Solution of a Closed-Form Space Resection”; American Society for Photogrammetry and Remote Sensing; Photogrammetric Engineering & Remote Sensing; vol. 58, No. 3; Mar. 1992; pp. 327-338. [cited by applicant]
Cairo University, Week 7: Feature Extraction, Description and, matching. Retrieved online at: https://sbme-tutorials.github.io/2019/cv/notes/7_week7.html. 5 pages, (2019). [cited by applicant]
Douze et al., Faiss. Retrieved online at: https://github.com/facebookresearch/faiss. 3 pages, (2023). [cited by applicant]
Lee et al., A Proposed Interim Check for Field Testing a Laser Tracker's 3-D Length Measurement Capability Using a Calibrated Scale Bar as a Reference Artifact. NIST, National Institute of Standards and Technology. NIST… [cited by applicant]
Malkov et al., Hnswlib—fast approximate nearest neighbor search. Retrieved online at: https://github.com/nmslib/hnswlib. 11 page, Feb. 5, 2023. [cited by applicant]
Muja et al., FLANN—Fast Library for Approximate Nearest Neighbors. Retrieved online at: https://github.com/flann-lib/flann. 2 pages, Oct. 27, 2022. [cited by applicant]
Wikipedia, k-nearest neighbors algorithm. Retrieved online at: https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm. 11 pages, Sep. 2023. [cited by applicant]