IP Library Granted Patent US 9,305,241
Granted Patent B2
US 9,305,241 · App. 13/953,030 · Granted Apr 5, 2016

Systems and methods for reducing a data set

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 9,305,241
App. No.
13/953,030
Granted
Apr 5, 2016
Kind
B2
Abstract

Systems and methods for reducing a point cloud data set are provided. According to aspects of the present disclosure, a method includes receiving a point of a point cloud data set, the point having three-dimensional coordinates. The point's coordinates are mapped to a location to determine whether a different point's coordinates have already been mapped to the location. The point is discarded when a different point's coordinates have been mapped to the location.

Claims (43)

1. A computer-implemented method of reducing a point cloud data set comprising:

receiving, by one or more computing devices, a point of a point cloud data set, the point comprising three-dimensional coordinates, wherein the point is received in the order the point was detected;

mapping, by the one or more computing devices, the point's coordinates to a location to determine whether a different point's coordinates have already been mapped to the location;

discarding by the one or more computing devices, the point when a different point's coordinates have been mapped to the location;

when a different point's coordinates have not been mapped to the location and a number of points added after discarding is equal to a predetermined number of points:

indicating, by the one or more computing devices, an oldest of the points added is no longer occupying the points added and that coordinates of the oldest of the points added are no longer mapped to a location associated with the coordinates of the oldest of the points added; and

indicating, by the one or more computing devices, that the point occupies the points added in the order the point was received and that the point's coordinates are mapped to the location; and

when a different point's coordinates have not been mapped to the location and the number of points added is less than the predetermined number of points:

indicating, by the one or more computing devices, that the point occupies the points added in the order the point was received and that the point's coordinates are mapped to the location.

2. The computer-implemented method of claim 1 , wherein the point cloud data set is acquired from a laser range sensor.

3. The computer-implemented method of claim 1 , wherein the points added are stored in a first in first out queue.

4. The computer-implemented method of claim 1 , wherein the predetermined number of points is between 1,000 and 1,000,000,000 points.

5. The computer-implemented method of claim 1 , wherein a three dimensional occupancy grid comprises the location.

6. The computer-implemented method of claim 5 , wherein the three dimensional occupancy grid comprises an array of voxels.

7. The computer-implemented method of claim 5 , wherein the three dimensional occupancy grid comprises a plurality of grid cells.

8. The computer-implemented method of claim 5 , wherein the point cloud data set is acquired from a laser range sensor having an associated resolution and a resolution of the occupancy grid corresponds to the resolution of the laser range sensor.

9. A computing system comprising:

one or more memory devices storing instructions; and

one or more processors, configured to execute the instructions stored in the one or more memory devices in order to:

receive a point of a point cloud data set, the point comprising three-dimensional coordinates, wherein the point is received in the order the point was detected;

map the point's coordinates to a location to determine whether a different point's coordinates have already been mapped to the location;

discard the point when a different point's coordinates have been mapped to the location;

when a different point's coordinates have not been mapped to the location and a number of points added after discarding is equal to a predetermined number of points:

indicate an oldest of the points added is no longer occupying the points added and that coordinates of the oldest of the points added are no longer mapped to a location associated with the coordinates of the oldest of the points added; and

indicate that the point occupies the points added in the order the point was received and that the point's coordinates are mapped to the location; and

when a different point's coordinates have not been mapped to the location and the number of points added is less than the predetermined number of points:

indicate that the point occupies the points added in the order the point was received and that the point's coordinates are mapped to the location.

10. The computing system of claim 9 , wherein the predetermined number of points is between 1,000 and 1,000,000,000 points.

11. The computing system of claim 9 , wherein a three dimensional occupancy grid comprises the location.

12. The computing system of claim 11 , wherein the three dimensional occupancy grid comprises an array of voxels.

13. The computing system of claim 11 , wherein the three dimensional occupancy grid comprises a plurality of grid cells.

14. The computing system of claim 13 , wherein each grid cell consists of a single bit.

15. The computing system of claim 11 , wherein the point cloud data set is acquired from a laser range sensor having an associated resolution and a resolution of the occupancy grid corresponds to the resolution of the laser range sensor.

16. A computer program product comprising a tangible non-transitory computer readable medium storing computer readable instructions that when executed by a processing device cause the processing device to perform operations, the operations comprising:

receiving a point of a point cloud data set, the point comprising three-dimensional coordinates, wherein the point is received in the order the point was detected;

mapping the point's coordinates to a location to determine whether a different point's coordinates have already been mapped to the location;

discarding the point when a different point's coordinates have been mapped to the location;

when a different point's coordinates have not been mapped to the location and a number of points added after discarding is equal to a predetermined number of points:

indicating an oldest of the points added is no longer occupying the points added and that coordinates of the oldest of the points added are no longer mapped to a location associated with the coordinates of the oldest of the points added; and

indicating that the point occupies the points added in the order the point was received and that the point's coordinates are mapped to the location; and

when a different point's coordinates have not been mapped to the location and the number of points added is less than the predetermined number of points:

indicating that the point occupies the points added in the order the point was received and that the point's coordinates are mapped to the location.

17. The computer program of claim 16 , wherein the predetermined number of points is between 1,000 and 1,000,000,000 points.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2013
From: POPE, ARTHUR ROBERT
To: GOOGLE INC.
Reel/Frame 030895/0427 →