IP Library Granted Patent US 10,540,054
Granted Patent B2
US 10,540,054 · App. 15/710,686 · Granted Jan 21, 2020

Navigation point selection for navigating through virtual environments

Inventors: Gunnar Hovden (Los Gatos, CA); David V. Buchhofer, Jr. (Blackwood, NJ); Matthew Bell (Palo Alto, CA)
Assignee: Matterport, Inc.
G06F3/04815G06F16/954G06T19/003G06T19/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 10,540,054
App. No.
15/710,686
Granted
Jan 21, 2020
Kind
B2
Abstract

Techniques are disclosed for automated selection of navigation points for navigating through a computer-generated virtual environment such as, for example, a virtual reality (VR) environment. Specifically, an input set of connected navigation points in a virtual environment is automatically pruned to a connected subset thereof, according to one or more selection factors where at least one of the selection factors is whether the subset will continue to be “connected” after pruning a navigation point from the input set. In addition to whether the pruning of a navigation point will allow the remaining navigation points to remain connected, techniques for pruning based on one or more additional selection factors are also disclosed. According to one additional selection factor, navigation point pruning is based on the degree to which coverage of an input set of navigation points would be reduced by pruning any given navigation point from the input set.

Claims (47)

1. A method comprising:

using a processor to execute the following computer executable instructions stored in a memory to perform the following acts:

obtaining a set of connected navigation points in a virtual environment;

selecting a first subset of navigation points from the set of connected navigation points that provide a threshold amount of coverage of the virtual environment;

identifying a second subset of navigation points included in the set of connected navigation points that are excluded from the first subset;

selecting one or more navigation points included in the second subset for removal from the set of connected navigation points based on a determination that a reduced set of navigation points resulting from the removal of the one or more navigation points from the set of connected navigation points will be connected;

determining positions at which to display navigation-point-markers in the virtual environment based on the reduced set of navigation points; and

displaying the navigation-point-markers at the positions in association with navigation of the virtual environment.

2. The method of claim 1 , wherein the selecting the one or more navigation points for removal comprises:

determining navigation quality scores for respective navigation points included in the second subset; and

selecting the one or more navigation points based on the navigation quality scores.

3. The method of claim 2 , wherein the determining the navigation quality scores comprises computing the navigation quality scores based on numerical weights assigned to navigation point quality characteristics of the respective navigation.

4. The method of claim 3 , wherein the numerical weights are learned according to a supervised machine learning process based on training data comprising navigation quality labels assigned to available navigation points based on historical dwell times of navigation visits to the available navigation points.

5. The method of claim 2 , wherein the navigation point quality characteristics comprise at least one of:

net coverage in the virtual environment,

proximity to a boundary of an object in the virtual environment,

proximity to another navigation point in the virtual environment, and

quality of photo images captured at a real-world image-capture positions that corresponds to the respective navigation points.

6. The method of claim 2 , wherein the selecting the one or more navigation points for removal based on the navigation quality scores comprises evaluating whether to remove or keep the respective navigation points in an order from lowest navigation quality score to highest navigation quality score; and

removing a navigation point of the respective navigation points in response to a determination to remove the navigation point prior to evaluating a subsequent navigation point with a higher navigation quality score.

7. The method of claim 1 , wherein the virtual environment is based on a three-dimensional model constructed based on photo images of a real-world location, and wherein each navigation point in the set corresponds to an image-capture position in the real-world location at which one or more of the photo images was captured.

8. The method of claim 1 , wherein the selecting the one or more navigation points for removal is based on quality of photo images captured at positions that correspond to respective navigation points included in the second subset of navigation points.

9. The method of claim 1 , wherein the selecting the one or more navigation points for removal is based on an amount by which a total amount coverage of the virtual environment provided by the set of navigation points is reduced by removal of the one or more navigation points.

10. The method of claim 1 , wherein the selecting the one or more navigation points for removal is based on proximity of the one or more navigation points to boundaries of objects in the virtual environment.

11. The method of claim 1 , wherein the selecting the one or more navigation points for removal is based on proximity of the one or more navigation points to other navigation points in the set.

12. The method of claim 1 , wherein selecting the first subset comprises selecting a combination of navigation points included in the set of navigation points that provides at least the threshold amount of coverage with the fewest number of navigation points.

13. The method of claim 1 , wherein selecting the first subset comprises:

randomly selecting a first combination of N navigation points from the set of navigation points;

determining a first coverage of the first combination of N navigation points;

randomly selecting a second combination of N navigation points from the input set of navigation points;

determining a second coverage of the second combination of N navigation points; and

selecting the second combination of N navigation points as the first subset based on a first determination that the second coverage is greater than the first coverage, and a second determination that the second coverage is greater than the threshold coverage.

14. A system comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:

identifying a first subset of navigation points included in a set of connected navigation points for a virtual environment that provide a threshold amount of coverage of the virtual environment;

classifying remaining navigation points included in the set of connected navigation points yet excluded from the first subset of navigation of navigation points as pruning candidate navigation points;

selecting one or more of the pruning candidate navigation points for removal from the set of navigation points based on a determination that a reduced set of navigation points resulting from the removal of the one or more pruning candidate navigation points from the set of connected navigation points will be connected; and

determining a position at which to display a navigation-point-marker in the virtual environment based on the reduced set of navigation points.

15. The system of claim 14 , wherein the operations further comprise:

displaying the navigation-point-marker at the positions in association with navigation of the virtual environment.

16. The system of claim 14 , wherein the selecting further comprises:

scoring the pruning candidate navigation points with navigation quality scores based on scoring criteria reflective of a degree of navigation quality provided by respective pruning candidate navigation points of the pruning candidate navigation points; and

selecting the one or more pruning candidate navigation points based on the navigation quality scores associated therewith.

17. The system of claim 16 , wherein the scoring criteria comprises coverage in the virtual environment provided by the respective pruning candidate navigation points.

18. The system of claim 16 , wherein the scoring criteria comprises proximity of the respective pruning candidate navigation points to a boundary of an object in the virtual environment.

19. The system of claim 16 , wherein the scoring criteria comprises quality of photo images captured at a real-world image-capture positions that corresponds to the respective pruning candidate navigation points.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2025
From: MATTERPORT, LLC
To: COSTAR REALTY INFORMATION, INC.
Reel/Frame 072938/0425 →
MERGER AND CHANGE OF NAME Recorded Sep 10, 2025
From: MATTERPORT, INC.; MATRIX MERGER SUB II LLC
To: MATTERPORT, LLC
Reel/Frame 072827/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2017
From: HOVDEN, GUNNAR; BUCHHOFER, DAVID V., JR.; BELL, MATTHEW
To: MATTERPORT, INC.
Reel/Frame 043644/0388 →
Continuity (1)
Related Publication 20190087067A1 · Mar 21, 2019
Cited By (1)
US 12,217,311