IP Library Granted Patent US 11,657,532
Granted Patent B2
US 11,657,532 · App. 17/103,680 · Granted May 23, 2023

Surface profile estimation and bump detection for autonomous machine applications

Inventors: Minwoo Park (Saratoga, CA); Yue Wu (Mountain View, CA); Michael Grabner (Redmond, WA); Cheng-Chieh Yang (Sunnyvale, CA)
Assignee: NVIDIA Corporation
G06T7/60G06T7/579G06V20/588G06T2200/08G06T2207/10028G06T2207/30256
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 11,657,532
App. No.
17/103,680
Granted
May 23, 2023
Kind
B2
Abstract

In various examples, surface profile estimation and bump detection may be performed based on a three-dimensional (3D) point cloud. The 3D point cloud may be filtered in view of a portion of an environment including drivable free-space, and within a threshold height to factor out other objects or obstacles other than a driving surface and protuberances thereon. The 3D point cloud may be analyzed—e.g., using a sliding window of bounding shapes along a longitudinal or other heading direction—to determine one-dimensional (1D) signal profiles corresponding to heights along the driving surface. The profile itself may be used by a vehicle—e.g., an autonomous or semi-autonomous vehicle—to help in navigating the environment, and/or the profile may be used to detect bumps, humps, and/or other protuberances along the driving surface, in addition to a location, orientation, and geometry thereof.

Claims (58)

1. A processor comprising:

one or more circuits to:

determine a three-dimensional (3D) point cloud of points within a free-space region;

determine, for at least a bounding shape of one or more bounding shapes, a height relative to a surface based at least on one or more points of the 3D point cloud that are associated with the bounding shape;

determine, based at least on the height associated with the bounding shape, a surface profile associated with the surface; and

perform, based at least on the surface profile, one or more operations.

2. The processor of claim 1 , wherein the 3D point cloud is generated using a structure from motion (SfM) algorithm.

3. The processor of claim 2 , wherein the one or more operations further include determining a geometry corresponding to the at least one surface perturbation based at least on the surface profile.

4. The processor of claim 3 , wherein the one or more operations include detecting at least one surface perturbation along the surface using one or more height thresholds in view of the surface profile.

5. The processor of claim 1 , wherein the processor is implemented within at least one of:

a control system for an autonomous or semi-autonomous machine;

a perception system for an autonomous or semi-autonomous machine;

a system for performing simulation operations;

a system for performing deep learning operations;

a system implemented using an edge device;

a system incorporating one or more virtual machines (VMs);

a system implemented using a robot;

a system implemented at least partially in a data center; or

a system implemented at least partially using cloud computing resources.

6. A method comprising:

generating a three-dimensional (3D) point cloud based at least on sensor data generated using one or more sensors;

determining a filtered subset of points of the 3D point cloud at least by filtering out a subset of points from the 3D point cloud that are outside of a free-space boundary;

applying one or more bounding shapes at one or more spaced intervals along the filtered subset of points of the 3D point cloud;

for at least a bounding shape of the one or more bounding shapes, determining a height relative to a surface based at least on one or more points of the filtered subset of points associated with the bounding shape;

generating a surface profile corresponding to one or more portions of the surface associated with the one or more bounding shapes; and

performing one or more operations based at least on the surface profile.

7. The method of claim 6 , wherein the 3D point cloud is generated using a structure from motion (SfM) algorithm, and the sensor data is representative of a plurality of images captured using one or more image sensors.

8. The method of claim 7 , wherein the one or more image sensors includes a single image sensor of a monocular camera, and the plurality of images includes a sequence of images captured using the monocular camera as an object on which the monocular camera is disposed moves along the surface.

9. The method of claim 6 , further comprising generating a densified 3D point cloud from the 3D point cloud using a point cloud densification algorithm, wherein the filtered subset is of the densified 3D point cloud.

10. The method of claim 6 , further comprising generating an estimated ground plane from the 3D point cloud, the estimated ground plane being associated with the surface, and wherein the determining the height is relative to the estimated ground plane.

11. The method of claim 6 , wherein the one or more operations include detecting at least one surface perturbation along the surface using one or more height thresholds in view of the surface profile.

12. The method of claim 11 , wherein the one or more operations further include determining a geometry corresponding to the at least one surface perturbation based at least on the surface profile.

13. The method of claim 6 , wherein the applying the one or more bounding shapes at the one or more spaced intervals along the filtered subset of the 3D point cloud is at least one of:

along a heading direction of an object across the surface; or

along a profile of the surface.

14. The method of claim 6 , wherein the surface profile is a lane profile corresponding to at least one of a shape, a number, or a location of one or more lanes along the surface.

15. The method of claim 6 , wherein one or more bounding shape heights associated with the one or more bounding shapes is determined such that points within the 3D point cloud higher than the bounding shape height relative to the surface are filtered out.

16. The method of claim 6 , wherein the determining the filtered subset of points of the 3D point cloud comprises:

receiving data representative of a real-world location of the free-space boundary;

determining the subset of points within the 3D point cloud that are not within the free-space boundary; and

filtering out or ignoring the subset of points from the 3D point cloud.

17. A method comprising:

receiving image data representative of one or more images, the one or more images depicting a driving surface;

determining one or more portions of the image data corresponding to drivable free-space within an environment;

generating a three-dimensional (3D) point cloud corresponding to the one or more portions of the image data;

applying one or more bounding shapes at one or more intervals along the driving surface;

computing, for at least a bounding shape of the one or more bounding shapes, at least one height value relative to the driving surface based at least on one or more points from the 3D point cloud;

generating a surface profile for the driving surface based at least on the at least one height value associated with the bounding shape; and

performing one or more operations by a vehicle based at least on the surface profile.

18. The method of claim 17 , further comprising:

receiving data representative of a lane profile of at least one lane of the driving surface; and

determining, based at least on a direction of the at least one lane according to the lane profile, a longitudinal direction associated with the driving surface,

wherein the one or more bounding shapes are along the longitudinal direction associated with the driving surface and at the one or more intervals.

19. The method of claim 17 , wherein the one or more bounding shapes include at least a first bounding shape, a second bounding shape, and a third bounding shape, and wherein the first bounding shape is spaced at a pre-determined interval from the second bounding shape and the third bounding shape.

20. The method of claim 17 , wherein the one or more bounding shapes correspond to a first instance, and one or more additional bounding shapes are applied at one or more laterally spaced intervals along the driving surface.

21. The method of claim 17 , wherein the generating the 3D point cloud corresponding to the one or more portions of the image data includes filtering out points of the 3D point cloud that are outside of a free-space boundary defining the drivable free-space.

22. The method of claim 17 , further comprising determining an estimated ground plane corresponding to the driving surface, the estimated ground plane being associated with the driving surface, wherein the at least one height value is relative to the estimated ground plane.

23. The method of claim 22 , wherein the determining the estimated ground plane includes using random sample consensus (RANSAC) with respect to the 3D point cloud.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2020
From: PARK, MINWOO; WU, YUE; GRABNER, MICHAEL; YANG, CHENG-CHIEH
To: NVIDIA CORPORATION
Reel/Frame 054463/0872 →
Continuity (2)
Provisional Application 62946689 · Dec 11, 2019
Related Publication 20210183093A1 · Jun 17, 2021
Cited By (6)
US 12,190,448 US 12,319,271 US 12,620,115 US 12,657,819 US 12,682,549 US 12,728,838