IP Library Granted Patent US 12,223,581
Granted Patent B2
US 12,223,581 · App. 17/936,363 · Granted Feb 11, 2025

Simulation of cloud data for machine learning training

Inventors: Kevin Balkoski (San Mateo, CA); Eleanor Crane (Sunnyvale, CA)
Assignee: Matterport, Inc.
G06T15/06G06F18/214G01S7/4802G06T2210/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,223,581
App. No.
17/936,363
Granted
Feb 11, 2025
Kind
B2
Abstract

An example method comprises simulating an environment including at least one simulated object, a simulated ray source, and a simulated receiver, simulating a plurality of rays emitting from the simulated ray source, tracking each ray in the environment, detecting changes for at least one ray that interacts with the at least one simulated object, the changes for the at least one ray including a reflection from the at least one object, tracking the reflection of the at least part of the ray from the at least one object in the environment, determining measurements for any of the plurality of rays that interact with the simulated receiver in the simulation, the at least part of the ray being received by the receiver, the measurements including intensity for any of the plurality of rays that interact with the receiver, and generating synthetic point cloud data based on the measurements.

Claims (49)

1. A method comprising:

simulating an environment including at least one simulated object, a simulated ray source, and a simulated receiver;

simulating a plurality of rays emitting from the simulated ray source within the environment, wherein simulating the plurality of rays emitting from the simulated ray source within the environment comprises:

retrieving a range of directions and a range of wavelengths from the simulated ray source, the range of directions being a property of the simulated ray source, the range of wavelengths being a property of the simulated ray source;

determining a particular direction for each ray of the plurality of rays randomly from the range of directions;

determining a particular wavelength for each ray of the plurality of rays randomly from the range of wavelengths;

emitting each of the plurality of rays from the particular direction of the simulated ray source in the environment; and

emitting each of the plurality of rays at the particular wavelength from the simulated ray source in the environment;

tracking each ray of the plurality of rays in the environment;

detecting changes for at least one ray that interacts with the at least one simulated object, the changes for the at least one ray including a reflection of at least part of the ray from the at least one simulated object;

tracking the reflection of the at least part of the ray from the at least one simulated object in the environment;

determining measurements for any of the plurality of rays that interact with the simulated receiver in the simulation, the at least part of the ray being received by the receiver, the measurements including intensity for any of the plurality of rays that interact with the receiver; and

generating synthetic point cloud data based on the measurements.

2. The method of claim 1 , wherein the simulated ray source is a simulate LiDAR device.

3. The method of claim 1 , wherein the at least one simulated object includes properties for absorption and reflectivity that define, at least in part, physics of the at least one ray upon interaction with the at least one simulated object in the simulation.

4. The method of claim 3 , wherein direction and energy of the at least one ray is determined in the simulation upon interaction with the at least one simulated object.

5. The method of claim 1 , wherein the simulation continues to emit rays from the simulated ray source until a predetermined number of interactions between rays and the simulated receiver in the simulation are determined.

6. The method of claim 1 , wherein measurements are not determined for one or more rays of the plurality of rays are absorbed by the at least one object when the one or more rays interacts with the at least one simulated object.

7. A non-transitory computer-readable medium readable by at least one processor comprises instructions to configure the at least one processor to perform a method, the method comprising:

simulating an environment including at least one simulated object, a simulated ray source, and a simulated receiver, wherein simulating a plurality of rays emitting from the simulated ray source within the environment comprises:

retrieving a range of directions and a range of wavelengths from the simulated ray source, the range of directions being a property of the simulated ray source, the range of wavelengths being a property of the simulated ray source;

determining a particular direction for each ray of the plurality of rays randomly from the range of directions;

determining a particular wavelength for each ray of the plurality of rays randomly from the range of wavelengths;

emitting each of the plurality of rays from the particular direction of the simulated ray source in the environment; and

emitting each of the plurality of rays at the particular wavelength from the simulated ray source in the environment;

simulating a plurality of rays emitting from the simulated ray source within the environment;

tracking each ray of the plurality of rays in the environment;

detecting changes for at least one ray that interacts with the at least one simulated object, the changes for the at least one ray including a reflection of at least part of the ray from the at least one object;

tracking the reflection of the at least part of the ray from the at least one object in the environment;

determining measurements for any of the plurality of rays that interact with the simulated receiver in the simulation, the at least part of the ray being received by the receiver, the measurements including intensity for any of the plurality of rays that interact with the receiver; and

generating synthetic point cloud data based on the measurements.

8. The non-transitory computer-readable medium of claim 7 , wherein the simulated ray source is a simulate LiDAR device.

9. The non-transitory computer-readable medium of claim 7 , wherein the at least one simulated object includes properties for absorption and reflectivity that define, at least in part, physics of the at least one ray upon interaction with the at least one simulated object in the simulation.

10. The non-transitory computer-readable medium of claim 9 , wherein direction and energy of the at least one ray is determined in the simulation upon interaction with the at least one object.

11. The non-transitory computer-readable medium of claim 7 , wherein the simulation continues to emit rays from the simulated ray source until a predetermined number of interactions between rays and the simulated receiver in the simulation are determined.

12. The non-transitory computer-readable medium of claim 7 , wherein measurements are not determined for one or more rays of the plurality of rays are absorbed by the at least one object when the one or more rays interacts with the at least one object.

13. A non-transitory computer-readable medium by at least one processor comprising instructions to configure the at least one processor to perform a method, the method comprising:

simulating an environment including at least one simulated object, a simulated ray source, and a simulated receiver, wherein simulating a plurality of rays emitting from the simulated ray source within the environment comprises:

retrieving a range of directions and a range of energy from the simulated ray source, the range of directions being a property of the simulated ray source, the range of energy being a property of the simulated ray source;

determining a particular direction for each ray of the plurality of rays randomly from the range of directions;

determining a particular energy for each ray of the plurality of rays randomly from the range of energy;

emitting each of the plurality of rays from the particular direction of the simulated ray source in the environment; and

emitting each of the plurality of rays at the particular energy from the simulated ray source in the environment;

simulating a plurality of rays emitting from the simulated ray source within the environment;

tracking each ray of the plurality of rays in the environment;

detecting changes for at least one ray that interacts with the at least one simulated object, the changes for the at least one ray including a reflection of at least part of the ray from the at least one object;

tracking the reflection of the at least part of the ray from the at least one object in the environment;

determining measurements for any of the plurality of rays that interact with the simulated receiver in the simulation, the at least part of the ray being received by the receiver, the measurements including intensity for any of the plurality of rays that interact with the receiver; and

generating synthetic point cloud data based on the measurements.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2025
From: MATTERPORT, LLC
To: COSTAR REALTY INFORMATION, INC.
Reel/Frame 072938/0375 →
MERGER AND CHANGE OF NAME Recorded Sep 10, 2025
From: MATTERPORT, INC.; MATRIX MERGER SUB II LLC
To: MATTERPORT, LLC
Reel/Frame 072827/0337 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2024
From: BALKOWSKI, KEVIN; CRANE, ELEANOR
To: MATTERPORT, INC.
Reel/Frame 066623/0821 →
Continuity (2)
Provisional Application 63249566 · Sep 28, 2021
Related Publication 20230098138A1 · Mar 30, 2023
References Cited (10)
US 20080088622A1 · Shearer · 2008 [cited by examiner]
US 20080161005A1 · Sato · 2008 [cited by examiner]
US 20090167763A1 · Waechter · 2009 [cited by examiner]
US 20130293545A1 · Moore · 2013 [cited by examiner]
US 20150199838A1 · Itoh · 2015 [cited by examiner]
US 20160125642A1 · Zhu · 2016 [cited by examiner]
US 20180350128A1 · Bakalash · 2018 [cited by examiner]
US 20200250363A1 · Partridge · 2020 [cited by examiner]
US 20200301799A1 · Manivasagam · 2020 [cited by examiner]
Liu, Zongyuan, et al. “Precise optical modeling of blue light-emitting diodes by Monte Carlo ray-tracing.” Optics express 18.9 (2010): 9398-9412. (Year: 2010). [cited by examiner]