IP Library Granted Patent US 10,210,286
Granted Patent B1
US 10,210,286 · App. 15/856,527 · Granted Feb 19, 2019

Systems and methods for detecting curbs in three-dimensional point clouds descriptive of streets

Inventors: Arthur Robert Pope (Palo Alto, CA); Ioannis Stamos (Brooklyn, NY)
Assignee: Google LLC
G06F17/5004G06T17/05G06T2210/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 10,210,286
App. No.
15/856,527
Granted
Feb 19, 2019
Kind
B1
Abstract

Computer-implemented methods and systems of detecting curbs include receiving a cloud of three-dimensional (3D) data points acquired along street locations. A plurality of vertical scanlines (e.g., arrays of 3D data points obtained at given horizontal locations) are identified within the cloud of 3D data points. One or more curb points indicating the potential presence of a curb in the plurality of vertical scanlines are identified. A synthesized set of non-overlapping curb curves are generated in order to close gaps between certain curb points while removing certain other outlier curb points. Successive curb curves in the synthesized set of non-overlapping curb curves are then identified as belonging to one or more curb segments.

Claims (58)

1. A computer-implemented method of detecting curbs, comprising:

receiving, by one or more computing devices, a cloud of three-dimensional data points acquired along one or more street locations;

identifying, by the one or more computing devices, a plurality of vertical scanlines within the cloud of three-dimensional data points, each vertical scanline comprising an array of three-dimensional data points obtained at a given horizontal location along the one or more street locations;

identifying, by the one or more computing devices, one or more curb points in at least one of the plurality of vertical scanlines, wherein the one or more curb points are indicative of the potential presence of a curb along the one or more street locations; and

generating, by the one or more computing devices, a curb model of the curb based at least in part on the one or more curb points.

2. The computer-implemented method of claim 1 , wherein receiving, by the one or more computing devices, the cloud of three-dimensional data points comprises receiving, by the one or more computing devices, the cloud of three-dimensional LIDAR data points acquired by a LIDAR system along the one or more street locations.

3. The computer-implemented method of claim 1 , wherein identifying, by the one or more computing devices, the one or more curb points in at least one of the plurality of vertical scanlines comprises:

determining, by the one or more computing devices, at least one of a slope and a height difference for each of one or more data points included in the vertical scanline based at least in part on a vector describing a spatial difference between such data point and a next sequential data point; and

identifying, by the one or more computing devices, the one or more curb points by identifying changes in the slope or height difference of the one or more data points included in the vertical scanline.

4. The computer implemented method of claim 1 , wherein generating, by the one or more computing devices, the curb model comprises:

generating, by the one or more computing devices, a synthesized set of non-overlapping curb curves based at least in part on the one or more curb points identified in nearby vertical scanlines to close gaps between one or more of the curb points.

5. The computer-implemented method of claim 4 , wherein generating, by the one or more computing devices, the synthesized set of non-overlapping curb curves comprises connecting together, by the one or more computing devices, one or more pairs of curb points that are within a predetermined distance from each other.

6. The computer-implemented method of claim 4 , wherein generating, by the one or more computing devices, the curb model further comprises:

identifying, by the one or more computing devices, successive curb curves in the synthesized set of non-overlapping curb curves as belonging to one or more curb segments.

7. The computer-implemented method of claim 6 , wherein identifying, by the one or more computing devices, the successive curb curves as belonging to one or more curb segments comprises:

determining, by the one or more computing devices, a respective distance between endpoints of each pair of successive curb curves; and

comparing, by the one or more computing devices, the respective distance between the endpoints of each pair of successive curb curves to a predetermined curb connection parameter.

8. The computer-implemented method of claim 7 , wherein the predetermined curb connection parameter is a variable dependent at least in part on a lane width of streets associated with the one or more street locations.

9. The method of claim 6 , wherein identifying, by the one or more computing devices, successive curb curves in the synthesized set of non-overlapping curb curves as belonging to one or more curb segments comprises:

generating a connecting curve that closes a gap between successive curb curves;

calculating a number of vertical obstacles detected in front of the connecting curve and a number of vertical obstacles detected behind the connecting curve; and

determining whether the successive curb curves should be connected as part of the same curb segment based at least in part on the number of vertical obstacles detected in front of the connecting curve and the number of vertical obstacles detected behind the connecting curve.

10. The computer-implemented method of claim 6 , wherein generating, by the one or more computing devices, the curb model further comprises:

fitting, by the one or more computing devices, each of the one or more curb segments to one or more curb model shape representations to generate the curb model.

11. The computer-implemented method of claim 1 , further comprising:

using, by the one or more computing devices, the generated curb model to classify a ground object within the cloud of three-dimensional data points.

12. The computer-implemented method of claim 1 , further comprising:

using, by the one or more computing devices, the generated curb model to provide real-time navigational information.

13. A computing system, comprising:

one or more processors; and

one or more memory devices, the one or more memory devices storing computer-readable instructions that when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising:

receiving a cloud of three-dimensional data points acquired along one or more street locations;

identifying a plurality of vertical scanlines within the cloud of three-dimensional data points, each vertical scanline comprising an array of three-dimensional data points obtained at a given horizontal location along the one or more street locations;

identifying one or more curb points in the plurality of vertical scanlines, wherein the one or more curb points are indicative of the potential presence of a curb along the one or more street locations;

generating a curb model of the curb based at least in part on the one or more curb points; and

generating a three-dimensional model of the one or more street locations based at least in part on the generated curb model.

14. The computing system of claim 13 , wherein the operation of identifying one or more curb points in the plurality of vertical scan lines comprises:

determining the slope of three-dimensional data points and characterizing the three-dimensional data points as one of a predetermined set of classification types including at least horizontal points and vertical points based at least in part on the determined slope;

identifying a transition within each vertical scanline from a horizontal point to a vertical point followed by a sequence of vertical points having a vertical distance that is less than a predetermined maximum height for a curb; and

identifying a spike in the height difference among data points in each vertical scanline, wherein the height difference is calculated as the difference between vertical distance measurements obtained at successive scan points in each vertical scanline.

15. The computing system of claim 13 , wherein the operation of generating the curb model of the curb comprises calculating a distance between endpoints of successive curb curves in a synthesized set of non-overlapping curb curves and comparing the calculated distance between endpoints to a predetermined curb connection parameter that is dependent at least in part on lane width of the one or more street locations.

16. The computing system of claim 13 , wherein the operation of generating the curb model of the curb comprises one or more of:

generating a connecting curve that closes a gap between successive first and second curb curves;

determining a number of vertical obstacles detected in front of the connecting curve and a number of vertical obstacles detected behind the connecting curve;

determining whether the first and second successive curb curves should be connected as part of the same curb segment based at least in part on the number of vertical obstacles detected in front of the connecting curve and the number of vertical obstacles detected behind the connecting curve.

17. One or more tangible, non-transitory computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform operations, the operations comprising:

receiving a cloud of three-dimensional data points acquired along one or more street locations;

identifying a plurality of vertical scanlines within the cloud of three-dimensional data points, each vertical scanline comprising an array of three-dimensional data points obtained at a given horizontal location along the one or more street locations;

identifying one or more curb points in the plurality of vertical scanlines, wherein the one or more curb points are indicative of the potential presence of a curb along the one or more street locations;

generating a curb model of the curb based at least in part on the one or more curb points.

18. The one or more tangible, non-transitory computer-readable media of claim 17 , wherein the operation of identifying the one or more curb points in the plurality of vertical scan lines comprises:

determining, by the one or more computing devices, at least one of a slope and a height difference for each of one or more data points included in at least one vertical scanline based at least in part on a vector describing a spatial difference between such data point and a next sequential data point; and

identifying, by the one or more computing devices, the one or more curb points by identifying changes in the slope or height difference of the one or more data points included in the vertical scanline.

19. The one or more tangible, non-transitory computer-readable media of claim 17 , wherein the operation of identifying the one or more curb points in the plurality of vertical scan lines comprises:

determining the slope of three-dimensional data points and characterizing the three-dimensional data points as one of a predetermined set of classification types including at least horizontal points and vertical points based at least in part on the determined slope;

identifying a transition within each vertical scanline from a horizontal point to a vertical point followed by a sequence of vertical points having a vertical distance that is less than a predetermined maximum height for a curb; and

identifying a spike in the height difference among data points in each vertical scanline, wherein the height difference is calculated as the difference between vertical distance measurements obtained at successive scan points in each vertical scanline.

20. The one or more tangible, non-transitory computer-readable media of claim 17 , wherein the operation of generating the curb model of the curb based at least in part on the one or more curb points comprises comparing a calculated value for each of one or more pairs of first and second successive curb curves to a predetermined threshold parameter dependent at least in part on the distance between endpoints of the first and second successive curb curves.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2017
From: POPE, ARTHUR ROBERT; STAMOS, IOANNIS
To: GOOGLE INC.
Reel/Frame 044969/0239 →
CHANGE OF NAME Recorded Dec 28, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044969/0244 →
Continuity (1)
Continuation 14551502 · Nov 24, 2014
Cited By (1)
US 12,292,507