IP Library › Granted Patent US 11,941,875
Granted Patent B2
US 11,941,875 · App. 17/443,674 · Granted Mar 26, 2024

Processing perspective view range images using neural networks

Inventors: Yuning Chai (San Mateo, CA); Pei Sun (Palo Alto, CA); Jiquan Ngiam (Mountain View, CA); Weiyue Wang (Sunnyvale, CA); Vijay Vasudevan (Los Altos Hills, CA); Benjamin James Caine (San Francisco, CA); Xiao Zhang (San Jose, CA); Dragomir Anguelov (San Francisco, CA)
Assignee: Waymo LLC
G06V20/00G01S7/4802G01S17/89G06F18/213G06F18/217G06F18/253G06N3/08G06T3/4046G06T7/70G06V10/95H04N23/10G06T2207/20084
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,941,875
App. No.
17/443,674
Granted
Mar 26, 2024
Kind
B2
Abstract

Methods, computer systems, and apparatus, including computer programs encoded on computer storage media, for processing a perspective view range image generated from sensor measurements of an environment. The perspective view range image includes a plurality of pixels arranged in a two-dimensional grid and including, for each pixel, (i) features of one or more sensor measurements at a location in the environment corresponding to the pixel and (ii) geometry information comprising range features characterizing a range of the location in the environment corresponding to the pixel relative to the one or more sensors. The system processes the perspective view range image using a first neural network to generate an output feature representation. The first neural network comprises a first perspective point-set aggregation layer comprising a geometry-dependent kernel.

Claims (57)

1. A method performed by one or more computers, the method comprising:

obtaining a perspective view range image generated from sensor measurements of an environment by one or more sensors, the perspective view range image comprising a plurality of pixels arranged in a two-dimensional grid and including, for each pixel, (i) features of one or more sensor measurements at a location in the environment corresponding to the pixel and (ii) geometry information comprising range features characterizing a range of the location in the environment corresponding to the pixel relative to the one or more sensors;

processing the perspective view range image using a first neural network to generate an output feature representation, wherein the first neural network comprises a first perspective point-set aggregation layer configured to:

receive an input feature map, the input feature map comprising a respective feature vector for each of a first subset of the pixels; and

generate an output feature map from the input feature map, wherein the output feature map comprises a respective output feature vector for each of the first subset of pixels, and wherein the generating comprises, for each particular pixel in the first subset, generating an initial output feature vector for the particular pixel by applying a geometry-dependent kernel to pixels within a local neighborhood of the particular pixel in the input feature map, wherein the geometry-dependent kernel depends on at least (i) respective input feature vectors for the pixels within the local neighborhood of the particular pixel in the input feature map and (ii) respective range features of the pixels within the local neighborhood of the input feature map; and

processing the output feature representation using an output neural network to generate a network output for a neural network task.

2. The method of claim 1 , wherein the neural network task is object detection and the network output identifies portions of the environment where objects are located.

3. The method of claim 1 wherein the perspective view range image is generated from sensor measurements from a LiDAR sensor sweeping through the environment, wherein one dimension of the two-dimensional grid corresponds to beams of the LiDAR sensor and wherein the other dimension of the two-dimensional grid corresponds to regions of the environment swept through by the LiDAR sensor.

4. The method of claim 1 , wherein the perspective view range image is generated from sensor measurements from an RGBD camera.

5. The method of claim 1 , wherein the first neural network further comprises a two-dimensional convolutional layer that has a kernel that depends only on feature vectors and not on range features.

6. The method of claim 1 , further comprising:

obtaining validity data that indicates, for each pixel in the range image, whether the sensor measurements for the pixel are valid;

wherein the geometry-dependent kernel also depends on, for each pixel in the local neighborhood, whether the sensor measurements for the pixel are valid.

7. The method of claim 6 , wherein the geometry-dependent kernel is a geometry-dependent convolution kernel that, when generating the initial output feature vector for each particular pixel for which the sensor measurements are valid, applies different convolution weights to input feature vectors of pixels depending on a range difference between the pixel and the particular pixel as reflected by the geometry information.

8. The method of claim 7 , wherein the geometry-dependent kernel has k sets of convolution weights, wherein each of the k sets of convolution weights has a respective scalar range, and wherein the convolution weights that are applied to input feature vectors of a given pixel for which the sensor measurements are valid are a combination of sets of convolution weights having respective scalar ranges that are satisfied by the range difference between the pixel and the particular pixel.

9. The method of claim 6 , wherein:

the geometry-dependent kernel is a self-attention kernel that applies a self-attention mechanism over the local neighborhood using queries, keys, and values for the pixels in the local neighborhood that are generated from the input feature vectors for the pixels in the local neighborhood, and

for each pixel in the local neighborhood for which the sensor measurements are valid, at least the key for the pixel is augmented with a positional encoding that represents a relative location of the pixel to the particular pixel as reflected by the geometry information.

10. The method of claim 6 , wherein the geometry-dependent kernel is a kernel that:

for each pixel in the local neighborhood for each particular pixel for which the sensor measurements are valid:

for each pixel in the local neighborhood for which the sensor measurements are valid, processes (i) the input feature vector for the pixel in the local neighborhood and (ii) a positional encoding that represents a relative location of the pixel to the particular pixel as reflected by the respective geometry information for the pixel and the particular pixel using an encoder neural network to generate encoded features for the pixel; and

applies max-pooling to the encoded features for the pixels in the local neighborhood to generate the initial output feature vector for the particular pixel.

11. The method of claim 6 , wherein the geometry-dependent kernel is a kernel that:

for each pixel in the local neighborhood for each particular pixel for which the sensor measurements are valid:

for each pixel in the local neighborhood for which the sensor measurements are valid, processes (i) the input feature vector for the pixel in the local neighborhood, (ii) a positional encoding that represents a relative location of the pixel to the particular pixel as reflected by the respective geometry information for the pixel and the particular pixel, and (iii) the input feature vector for the particular pixel using an encoder neural network to generate encoded features for the pixel; and

applies max-pooling to the encoded features for the pixels in the local neighborhood to generate the initial output feature vector for the particular pixel.

12. The method of claim 1 , further comprising generating the input feature map by fusing camera image features with (i) features from the perspective view range image, (ii) output features generated by another neural network layer in the first neural network, or both.

13. A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising:

obtaining a perspective view range image generated from sensor measurements of an environment by one or more sensors, the perspective view range image comprising a plurality of pixels arranged in a two-dimensional grid and including, for each pixel, (i) features of one or more sensor measurements at a location in the environment corresponding to the pixel and (ii) geometry information comprising range features characterizing a range of the location in the environment corresponding to the pixel relative to the one or more sensors;

processing the perspective view range image using a first neural network to generate an output feature representation, wherein the first neural network comprises a first perspective point-set aggregation layer configured to:

receive an input feature map, the input feature map comprising a respective feature vector for each of a first subset of the pixels; and

generate an output feature map from the input feature map, wherein the output feature map comprises a respective output feature vector for each of the first subset of pixels, and wherein the generating comprises, for each particular pixel in the first subset, generating an initial output feature vector for the particular pixel by applying a geometry-dependent kernel to pixels within a local neighborhood of the particular pixel in the input feature map, wherein the geometry-dependent kernel depends on at least (i) respective input feature vectors for the pixels within the local neighborhood of the particular pixel in the input feature map and (ii) respective range features of the pixels within the local neighborhood of the input feature map; and

processing the output feature representation using an output neural network to generate a network output for a neural network task.

14. The system of claim 13 , wherein:

the stored instructions further cause the one or more computers to perform: obtaining validity data that indicates, for each pixel in the range image, whether the sensor measurements for the pixel are valid; and

the geometry-dependent kernel also depends on, for each pixel in the local neighborhood, whether the sensor measurements for the pixel are valid.

15. The system of claim 14 , wherein the geometry-dependent kernel is a geometry-dependent convolution kernel that, when generating the initial output feature vector for each particular pixel for which the sensor measurements are valid, applies different convolution weights to input feature vectors of pixels depending on a range difference between the pixel and the particular pixel as reflected by the geometry information.

16. The system of claim 14 , wherein

the geometry-dependent kernel is a self-attention kernel that applies a self-attention mechanism over the local neighborhood using queries, keys, and values for the pixels in the local neighborhood that are generated from the input feature vectors for the pixels in the local neighborhood, and

for each pixel in the local neighborhood for which the sensor measurements are valid, at least the key for the pixel is augmented with a positional encoding that represents a relative location of the pixel to the particular pixel as reflected by the geometry information.

17. The system of claim 14 , wherein the geometry-dependent kernel is a kernel that:

for each pixel in the local neighborhood for each particular pixel for which the sensor measurements are valid:

for each pixel in the local neighborhood for which the sensor measurements are valid, processes (i) the input feature vector for the pixel in the local neighborhood and (ii) a positional encoding that represents a relative location of the pixel to the particular pixel as reflected by the respective geometry information for the pixel and the particular pixel using an encoder neural network to generate encoded features for the pixel; and

applies max-pooling to the encoded features for the pixels in the local neighborhood to generate the initial output feature vector for the particular pixel.

18. The system of claim 14 , wherein the geometry-dependent kernel is a kernel that:

for each pixel in the local neighborhood for each particular pixel for which the sensor measurements are valid:

for each pixel in the local neighborhood for which the sensor measurements are valid, processes (i) the input feature vector for the pixel in the local neighborhood, (ii) a positional encoding that represents a relative location of the pixel to the particular pixel as reflected by the respective geometry information for the pixel and the particular pixel, and (iii) the input feature vector for the particular pixel using an encoder neural network to generate encoded features for the pixel; and

applies max-pooling to the encoded features for the pixels in the local neighborhood to generate the initial output feature vector for the particular pixel.

19. One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

obtaining a perspective view range image generated from sensor measurements of an environment by one or more sensors, the perspective view range image comprising a plurality of pixels arranged in a two-dimensional grid and including, for each pixel, (i) features of one or more sensor measurements at a location in the environment corresponding to the pixel and (ii) geometry information comprising range features characterizing a range of the location in the environment corresponding to the pixel relative to the one or more sensors;

processing the perspective view range image using a first neural network to generate an output feature representation, wherein the first neural network comprises a first perspective point-set aggregation layer configured to:

receive an input feature map, the input feature map comprising a respective feature vector for each of a first subset of the pixels; and

generate an output feature map from the input feature map, wherein the output feature map comprises a respective output feature vector for each of the first subset of pixels, and wherein the generating comprises, for each particular pixel in the first subset, generating an initial output feature vector for the particular pixel by applying a geometry-dependent kernel to pixels within a local neighborhood of the particular pixel in the input feature map, wherein the geometry-dependent kernel depends on at least (i) respective input feature vectors for the pixels within the local neighborhood of the particular pixel in the input feature map and (ii) respective range features of the pixels within the local neighborhood of the input feature map; and

processing the output feature representation using an output neural network to generate a network output for a neural network task.

20. The one or more non-transitory computer storage media of claim 19 , the operations further comprising:

obtaining validity data that indicates, for each pixel in the range image, whether the sensor measurement for the pixel is valid; and

wherein the first neural network further comprises one or more down-sampling layers that down-sample an input feature map based in part on the validity data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: CHAI, YUNING; SUN, PEI; NGIAM, JIQUAN; WANG, WEIYUE; VASUDEVAN, VIJAY; CAINE, BENJAMIN JAMES; ZHANG, XIAO; ANGUELOV, DRAGOMIR
To: WAYMO LLC
Reel/Frame 057014/0976 →
Continuity (2)
Provisional Application 63057210 · Jul 27, 2020
Related Publication 20220044068A1 · Feb 10, 2022
Cited By (1)
US 12,307,741