IP Library Granted Patent US 12,347,137
Granted Patent B2
US 12,347,137 · App. 18/504,943 · Granted Jul 1, 2025

Location determination and mapping with 3D line junctions

Inventors: Anvith Ekkati (Santa Clara, CA); Rong Yuan (Foster City, CA); Siddhant Jain (Sunnyvale, CA); Si Ying Diana Hu (Mountain View, CA)
Assignee: Niantic, Inc.
G06T7/73G06V10/44A63F13/25G06T2207/30244G06V20/20
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,347,137
App. No.
18/504,943
Granted
Jul 1, 2025
Kind
B2
Abstract

A system and method for determining a location of a client device is described herein. In particular, a client device receives images captured by a camera at the client device. The client device identifies features in the images. The features may be line junctions, lines, curves, or any other features found in images. The client device retrieves a 3D map of the environment from the map database and compares the identified features to the 3D map of the environment, which includes map features such as map line junctions, map lines, map curves, and the like. The client device identifies a correspondence between the features identified from the images and the map features and determines a location of the client device in the real world based on the correspondence. The client device may display visual data representing a location in a virtual world corresponding to the location in the real world.

Claims (48)

1. A method for locating a camera in an environment, the method comprising:

comparing a feature identified in an image captured by the camera to a 3D map of the environment;

identifying a correspondence between the feature and a 3D line junction in the 3D map by iteratively projecting endpoints from 3D to 2D using respective predicted poses to identify a predicted pose whose calculation error is below a threshold; and

determining a pose of the camera within the environment using the correspondence.

2. The method of claim 1 , wherein the camera is included in a client device, and wherein the method further comprises:

receiving a plurality of images captured by the camera of the client device; and

identifying features in the plurality of images, wherein the identified features are compared to the 3D map of the environment to identify the correspondence.

3. The method of claim 2 , wherein identifying the features in the plurality of images comprises identifying line junctions in the plurality of images, and wherein the method further comprises:

comparing the identified line junctions to the 3D map of the environment by determining endpoints within the 3D map and using the endpoints as vertices for 3D line junctions in the 3D map.

4. The method of claim 3 , wherein identifying the line junctions in the plurality of images comprises:

determining 2D line equations of lines in the plurality of images, wherein each 2D line equation describes a normal vector in 3D space;

determining 2D line junctions in each of the plurality of images, wherein each 2D line junction is comprised of two 2D line equations and an intersection point; and

triangulating the 2D line junctions into 3D space to obtain 3D line junctions.

5. The method of claim 4 , wherein triangulating the 2D line junctions comprises:

converting coordinates of the 2D line junctions from each of the plurality of images to one camera coordinate space; and

transforming the converted 2D line junctions to 3D line junctions.

6. The method of claim 1 , wherein the feature is a line junction identified in the image.

7. The method of claim 6 , wherein the identified line junction has seven degrees of freedom, wherein three degrees of freedom are for a junction point, and two degrees of freedom are for each of two direction vectors.

8. The method of claim 1 , further comprising:

creating a representation of the environment around the camera by projecting the image into a graph of vertices and edges;

wherein the feature is identified from the representation, the feature comprising overlapping edges in the representation.

9. The method of claim 1 , wherein the camera is included in a client device, and wherein the method further comprises:

receiving image data from an additional client device connected to the client device for a virtual game.

10. The method of claim 1 , wherein comparing the feature to the 3D map of the environment comprises:

applying pattern matching to the feature and the 3D map to determine whether the feature and the 3D map overlap or are adjacent.

11. The method of claim 1 , wherein the determined pose corresponds to a location in a virtual world.

12. The method of claim 11 , further comprising:

sending, to a client device including the camera, a view of the location in the virtual world corresponding to the determined pose.

13. A non-transitory computer-readable storage medium comprising instructions for locating a camera in an environment, the instructions, when executed by one or more processors of a client device, cause the client device to perform operations comprising:

comparing a feature identified in an image captured by the camera to a 3D map of the environment;

identifying a correspondence between the feature and a 3D line junction in the 3D map by iteratively projecting endpoints from 3D to 2D using respective predicted poses to identify a predicted pose whose calculation error is below a threshold; and

determining a pose of the camera within the environment using the correspondence.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the camera is included in the client device, and wherein the instructions further cause the client device to perform operations comprising:

receiving a plurality of images captured by the camera of the client device; and

identifying features in the plurality of images, wherein the identified features are compared to the 3D map of the environment to identify the correspondence.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions for identifying the features in the plurality of images comprise instructions for identifying line junctions in the plurality of images, and wherein the instructions further cause the client device to perform an operation comprising:

comparing the identified line junctions to the 3D map of the environment by determining endpoints within the 3D map and using the endpoints as vertices for 3D line junctions in the 3D map.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the feature is a line junction identified in the image.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the identified line junction has seven degrees of freedom, wherein three degrees of freedom are for a junction point, and two degrees of freedom are for each of two direction vectors.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the determined pose corresponds to a location in a virtual world.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the instructions further cause the client device to perform an operation comprising:

sending, to a client device including the camera, a view of the location in the virtual world corresponding to the determined pose.

20. A computer system comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium storing instructions for locating a camera in an environment, the instructions when executed by the one or more computer processors performing actions comprising:

comparing a feature identified in an image captured by the camera to a 3D map of the environment;

identifying a correspondence between the feature and a 3D line junction in the 3D map by iteratively projecting endpoints from 3D to 2D using respective predicted poses to identify a predicted pose whose calculation error is below a threshold; and

determining a pose of the camera within the environment using the correspondence.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2025
From: NIANTIC, INC.
To: NIANTIC SPATIAL, INC.
Reel/Frame 071555/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2023
From: ANVITH, ANVITH; YUAN, RONG; JAIN, SIDDHANT; HU, SI YING DIANA
To: NIANTIC, INC.
Reel/Frame 065526/0257 →
Continuity (3)
Continuation 17127136 · Dec 18, 2020
Provisional Application 62952016 · Dec 20, 2019
Related Publication 20240078701A1 · Mar 7, 2024
References Cited (35)
US 10820172B2 · Hu · 2020 [cited by examiner]
US 10885714B2 · Finman et al. · 2021 [cited by applicant]
US 10904723B2 · Hu et al. · 2021 [cited by applicant]
US 11270148B2 · Li · 2022 [cited by examiner]
US 11847792B2 · Ekkati · 2023 [cited by examiner]
US 20080280676A1 · Distanik et al. · 2008 [cited by applicant]
US 20090128549A1 · Gloudemans et al. · 2009 [cited by applicant]
US 20130117377A1 · Miller · 2013 [cited by applicant]
US 20140368645A1 · Ahuja · 2014 [cited by examiner]
US 20150084951A1 · Boivin et al. · 2015 [cited by applicant]
US 20150213590A1 · Brown · 2015 [cited by examiner]
US 20160026253A1 · Bradski et al. · 2016 [cited by applicant]
US 20190028637A1 · Kolesov et al. · 2019 [cited by applicant]
US 20200126256A1 · Sinha · 2020 [cited by examiner]
US 20200218929A1 · Li · 2020 [cited by examiner]
CN 110322569A · 2019 [cited by applicant]
JP 2007333679A · 2007 [cited by applicant]
JP 2015194373A · 2015 [cited by applicant]
JP 2017182302A · 2017 [cited by applicant]
JP 2019101256A · 2019 [cited by applicant]
KR 1020140058861A · 2014 [cited by applicant]
TW 201939105A · 2019 [cited by applicant]
WO WO2014073841A1 · 2014 [cited by applicant]
WO WO2015192117A1 · 2015 [cited by applicant]
Egodagamage, R., et al., “A Collaborative Augmented Reality Framework Based on Distributed Visual Slam,” 2017 International Conference on Cyberworlds (CW), Sep. 20-22, 2017, pp. 25-32. [cited by applicant]
European Patent Office, Extended European Search Report and Opinion, European Patent Application No. 20902667.3, Sep. 22, 2022, 8 pages. [cited by applicant]
Japan Patent Office, Office Action, Japanese Patent Application No. 2022-538066, Jul. 11, 2023, 12 pages. [cited by applicant]
Kim, H., et al., “A Novel Line Matching Method Based on Intersection Context,” 2010 IEEE International Conference on Robotics and Automation, May 3, 2010, pp. 1014-1021. [cited by applicant]
Lara, C., et al., “Robust Local Localization of a Mobile Robot in Indoor Environments Using Virtual Corners,” Lecture Notes In Computer Science, vol. 4756, Nov. 13, 2007, pp. 901-910. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/1B2020/062238, Mar. 29, 2021, 13 pages. [cited by applicant]
Taiwan Intellectual Property Office, Office Action, TW Patent Application No. 109145174, Sep. 10, 2021, 21 pages. [cited by applicant]
Wagner, D., et al., “Muddleware for Prototyping Mixed Reality Multiuser Games,” 2007 IEEE Virtual Reality Conference, Mar. 10-14, 2007, pp. 235-238. [cited by applicant]
Yu, H., et al., “Monocular Camera Localization in Prior LiDAR Maps with 2D-3D Line Correspondences,” 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Oct. 24, 2020-Jan. 24, 2021, pp. 4588… [cited by applicant]
United States Office Action, U.S. Appl. No. 17/127,136, filed Jan. 17, 2023, 18 pages. [cited by applicant]
Chinese Intellectual Property Office, Office Action, Chinese Patent Application No. 202080097259.6, Mar. 28, 2025, 18 pages. [cited by applicant]