IP Library Granted Patent US 12,412,300
Granted Patent B2
US 12,412,300 · App. 17/948,158 · Granted Sep 9, 2025

Machine vision determination of location based on recognized surface features and use thereof to support augmented reality

Inventors: Michael Gervautz (Pressbaum, AT); Zsolt Szalavari (Vienna, AT); Emilio Maggio (Vienna, AT); Alessandro Boccalatte (Vienna, AT); Michal Havlena (Vienna, AT); Jiri Hörner (Vienna, AT)
G06T7/73G06T17/20G06T19/003G06T19/006G06T19/20G06V10/25G06V10/44G06V10/761G06T2207/10028G06V2201/07
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,412,300
App. No.
17/948,158
Granted
Sep 9, 2025
Kind
B2
Abstract

A system and method can support image based determination of mobile device location through recognition of surface features for a previously scanned physical environment. The system and method can also support authoring and positioning of augmented reality features in an authoring interface using the same images and positions of surface features that are to be used for subsequent mobile device localization. As a result, mobile devices leveraging those same images and positions of surface features for localization will be more likely to obtain a localization that is consistent with the positioning displayed in the authoring interface. Augmented reality features authored using the same scan of the environment can be reliably displayed to an end user of an augmented reality application in a position consistent with their authoring in a common coordinate system, even though the authoring may have been performed remotely, away from the actual situs of the physical environment.

Claims (56)

1. A method performed by one or more computer systems, each computer system having at least one processor and a memory, the method comprising:

accessing image data comprising a plurality of digital images that have been captured of a physical environment by a scanning camera device, the plurality of images forming a continuous mosaic of overlapping images representing the physical environment, and the image data further comprising positional data for the plurality of digital images;

processing the image data to algorithmically identify a plurality of individual surface features represented in the plurality of digital images;

for each of the plurality of individual surface features:

creating a feature descriptor based on the surface feature as represented in one of the plurality of digital images, and

determining, based on the positional data, and associating with the surface feature, a 3-dimensional location of the surface feature in the physical environment;

organizing the features identified in the plurality of digital images, based on the feature descriptors, in a common feature search structure;

subsequent to the organizing, accessing an image of a portion of the physical environment captured by an end user camera device that is not the scanning camera device;

processing the image to algorithmically identify at least four image features represented in the captured image, and for each feature of the at least four image features:

identifying a 2-dimensional location of the image feature within the captured image,

creating a feature descriptor based on the image feature as represented in the captured image,

searching within the common feature search structure to identify a corresponding surface feature matching the feature descriptor of the image feature, and

accessing the 3-dimensional location of the corresponding surface feature; and

determining a 3-dimensional location or a 6-dimensional pose of the end user camera device based on:

the 3-dimensional locations of the corresponding surface features matching the at least four image features, and

the 2-dimensional locations of the image features within the captured image.

2. The method of claim 1 , further comprising:

displaying, to an authoring user, an authoring interface through which the authoring user can navigate within a visual rendering, based on the image data, of the physical environment;

in response to input from the authoring user with respect to the visual rendering of the physical environment, determining based on the positional data, a 3-dimensional location or a 6-dimensional pose within the physical environment selected by the authoring user;

in response to input from the authoring user, associating an augmented reality feature with the 3-dimensional location or the 6-dimensional pose selected by the authoring user;

displaying the augmented reality feature to the authoring user in the authoring interface in accordance with the 3-dimensional location or the 6-dimensional pose selected by the authoring user;

in real-time and in response to an end user capturing the image from the physical environment using the end user camera device:

determining, based on the 6-dimensional pose of the end user camera device, that the captured image contains the 3-dimensional location or the 6-dimensional pose selected by the authoring user, and

displaying the augmented reality feature to the end user in a location or pose corresponding to the 3-dimensional location or the 6-dimensional pose selected by the authoring user based on the 6-dimensional pose of the end user camera device.

3. The method of claim 2 ,

wherein the augmented reality feature is displayed to the end user superimposed over a display of the captured image on a display screen of the end user camera device in an augmented reality application.

4. The method of claim 2 ,

wherein the end user camera device is a mixed reality device, and

wherein the augmented reality feature is displayed to the end user superimposed over and in alignment with the end user's direct sight view of the physical environment by the end user camera device.

5. The method of claim 2 ,

wherein the image data further comprises a colorized point cloud or a textured polygon mesh created based on the plurality of digital images and the positional data, and

wherein the visual rendering is further based on the colorized point cloud or the textured polygon mesh.

6. The method of claim 1 ,

wherein the positional data comprises, for each of the plurality of digital images:

a 6-dimensional pose of the scanning camera device, and

depths or 3-dimensional locations of pixels.

7. The method of claim 6 ,

wherein the scanning camera device comprises a depth camera configured to measure and record distances of physical surfaces from the depth camera for pixels representing the physical surfaces in the plurality of digital images.

8. The method of claim 1 ,

wherein the image data comprises one or more point clouds defining 3-dimensional locations of physical surfaces represented by pixels of the plurality of digital images.

9. The method of claim 8 ,

wherein the scanning camera device is a 3D scanner configured to generate and register one or more point clouds in alignment with the plurality of digital images.

10. The method of claim 1 ,

wherein the plurality of individual surface features are algorithmically identified with a bias in favor of even spacing between nearest individual surface features.

11. The method of claim 1 ,

wherein the plurality of individual surface features are algorithmically identified with a bias against uneven gaps between nearest individual surface features.

12. The method of claim 1 ,

wherein the common feature search structure is a tree-based search structure indexed based on the feature descriptors.

13. The method of claim 2 ,

wherein the 3-dimensional location or the 6-dimensional pose of the end user camera device is determined in a relative coordinate frame,

wherein the 3-dimensional location or the 6-dimensional pose selected by the authoring user is specified in the relative coordinate frame, and

wherein the relative coordinate frame is not itself specifically located relative to an absolute coordinate frame.

14. The method of claim 13 , wherein the absolute coordinate frame comprises geolocation.

15. A system comprising one or more computers, wherein the one or more computers perform the method of claim 1 .

16. One or more non-transitory computer readable media having instructions stored thereon, wherein the instructions are executed by one or more computers to cause the one or more computers to perform the method of claim 1 .

17. The method of claim 1 , wherein the “determining a 3-dimensional location or a 6-dimensional pose of the end user camera device” is performed without referencing a geographic location of the capture of the image of the portion of the physical environment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2023
From: GERVAUTZ, MICHAEL; SZALAVARI, ZSOLT; MAGGIO, EMILIO; BOCCALATTE, ALESSANDRO; HAVLENA, MICHAL; HÖRNER, JIRI
To: PTC INC.
Reel/Frame 063027/0605 →
SECURITY INTEREST Recorded Jan 3, 2023
From: PTC INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 062257/0311 →
Continuity (3)
Continuation PCTUS2021022856 · Mar 17, 2021
Provisional Application 62990705 · Mar 17, 2020
Related Publication 20230020667A1 · Jan 19, 2023
References Cited (16)
US 20150161476A1 · Kurz · 2015 [cited by examiner]
US 20180139431A1 · Simek · 2018 [cited by examiner]
US 20190147619A1 · Goldman · 2019 [cited by examiner]
US 20190156577A1 · Barros et al. · 2019 [cited by applicant]
US 20190370544A1 · Wright, Jr. · 2019 [cited by examiner]
WO 2018222756A1 · 2018 [cited by applicant]
“Matterport AR Tech Demo | Interactive Augmented Reality”, Web page printout from URL: https://vimeo.com/252569817, Jan. 1, 2019, 2 pages. [cited by applicant]
“NavVis now uses SLAM to automatically remove moving objects from point clouds”, Transcript of video located at URL: https://www.youtube.com/watch?v=ljKSuVao4OE, Feb. 13, 2019, 2 pages. [cited by applicant]
“WGAN-TV Live from Inman Connect—Matterport CEO Bill Brown and GeoCV Co-Founder Anton Yakubenko, PhD”, Printout of web page at URL: https://vimeo.com/252343762?embedded=true&source=vimeo_logo&owner-46849574, Jan. 1, 201… [cited by applicant]
Chokkattu, “How to navigate with the AR mode in Google Maps to find your way”, Web page printout of URL: https://www.digitaltrends.com/mobile/how-to-use-ar-mode-google-maps/, Aug. 8, 2019, 11 pages. [cited by applicant]
Dymczyk, et al., “Will it last? Learning Stable Features for Long-Term Visual Localization”, 3D Vision (3DV), 2016 4th International Conference onAt: Stanford University, California, USA, Oct. 1, 2016, 12 pages. [cited by applicant]
European Patent Office, “International Search Report and Written Opinion”, International Application No. PCT/US2021/022856, 11 Pages. [cited by applicant]
Kavafian, “Google Maps will use your camera to determine your location more accurately”, Web page printout of URL: https://www.androidpolice.com/2019/02/12/google-maps-will-use-your-camera-to-determine-your-location-mor… [cited by applicant]
Klinger, et al., “Street View Motion-from-Structure-from-Motion”, 2013 IEEE International Conference on Computer Vision, Dec. 1, 2013, pp. 953-960. [cited by applicant]
Makarov, “How Augmented Reality Navigation Systems Work”, Web page printout from URL: https://mobidev.biz/blog/augmented reality-indoor-navigation-app-developement-arkit, Jun. 14, 2021, 13 pages. [cited by applicant]
Smigrod, “Chokkattu”, Web page printout of URL: https://www.wegetaroundnetwork.com/topic/6194/matterport-pre-announces-ar-meets-mattertags/, Jan. 1, 2018, 12 pages. [cited by applicant]