IP Library Granted Patent US 11,361,449
Granted Patent B2
US 11,361,449 · App. 17/013,446 · Granted Jun 14, 2022

Neural network for object detection and tracking

Inventors: Vahid R. Ramezani (Los Altos, CA); Akshay Rangesh (San Diego, CA); Benjamin Englard (Palo Alto, CA); Siddhesh S. Mhatre (Foster City, CA); Meseret R. Gebre (Palo Alto, CA); Pranav Maheshwari (Palo Alto, CA)
Assignee: Luminar, LLC
G06T7/246G06N3/0445G06N3/08G06T7/73G06T2207/10016G06T2207/20081G06T2207/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,361,449
App. No.
17/013,446
Filed
Sep 4, 2020
Granted
Jun 14, 2022
Kind
B2
Art Unit
2663
USPC
382/103
Abstract

A method for multi-object tracking includes receiving a sequence of images generated at respective times by one or more sensors configured to sense an environment through which objects are moving relative to the one or more sensors, and constructing a message passing graph in which each of a multiplicity of layers corresponds to a respective one in the sequence of images. The method also includes tracking multiple features through the sequence of images, including passing messages in a forward direction and a backward direction through the message passing graph to share information across time.

Claims (67)

1. A method of multi-object tracking, the method comprising:

receiving, by processing hardware, a sequence of images generated at respective times by one or more sensors configured to sense an environment through which objects are moving relative to the one or more sensors;

constructing, by the processing hardware, a message passing graph in which each of a multiplicity of layers corresponds to a respective one in the sequence of images, the constructing including:

generating, for each of the layers, a plurality of feature nodes to represent features detected in the corresponding image, and

generating edges that interconnect at least some of the feature nodes across adjacent layers of the graph neural network to represent associations between the features; and

tracking, by the processing hardware, multiple features through the sequence of images, including:

passing messages in a forward direction and a backward direction through the message passing graph to share information across time,

limiting the passing of the messages to only those layers that are currently within a rolling window of a finite size, and

advancing the rolling window in the forward direction in response to generating a new layer of the message passing graph, based on a new image.

2. The method of claim 1 , wherein constructing the message passing graph further includes:

generating edge nodes associated with the respective edges, each node connected to exactly one feature node in a first layer and exactly one feature node in a second layer, the first layer immediately preceding the second layer.

3. The method of claim 2 , including passing the messages from feature nodes to edge nodes.

4. The method of claim 2 , wherein the tracking includes:

identifying a plurality of tracks, wherein each track is a sequence of connections between edge nodes and feature nodes representing associated features of a same object, through the multiple layers of the message passing graph.

5. The method of claim 2 , wherein constructing the message passing graph further includes:

generating, for each of the feature nodes, at least one respective memory unit configured to output a probability that a detection of the corresponding feature is correct; and

generating, for each of the edge nodes, at least one respective memory unit configured to output a probability that a connection between the two corresponding feature nodes is correct.

6. The method of claim 5 , wherein the memory units are implemented as Long Short Term Memories (LSTMs).

7. The method of claim 5 , wherein the memory units are implemented as Gated Recurrent Units (GRUs).

8. The method of claim 1 , wherein the tracking further includes:

in response to advancing the rolling window past a layer: (i) fixing parameters of the layer, and (ii) excluding any further change to the layer.

9. The method of claim 1 , wherein the size of the rolling window is between 3 and 10, measured in a number of layers.

10. The method of claim 1 , further comprising:

training a neural network supported by the message passing graph, the training including:

performing a pass through the message passing graph in the forward direction, including calculating a total cross-entropy loss; and

performing a pass through the message passing graph in the backward direction, including updating at least some of the edge nodes based on the calculated total cross-entropy loss.

11. The method of claim 10 , wherein performing the pass in the forward direction includes adding new feature nodes based on detections and new edge nodes.

12. The method of claim 10 , wherein performing the pass in the forward direction includes pruning low-probability feature nodes and edge nodes.

13. The method of claim 1 , further comprising:

generating an inference using a neural network supported by the message passing graph, the generating including:

performing a pass through the message passing graph in the forward direction to generate probabilities, and

producing one or more tracks through the message passing graph using the generated probabilities.

14. The method of claim 1 , wherein the constructing further includes, for each feature node:

generating a feature vector for a detection of the corresponding feature, using an objector detector;

initializing a hidden state of the feature node using the feature vector; and

performing an end-to-end training of a neural network supported by the message passing graph to jointly optimize object detection and object tracking.

15. The method of claim 1 , wherein receiving the sequence of images includes receiving sensor data from at least one of a LIDAR or a camera.

16. The method of claim 15 , wherein each of the plurality features represents a cluster of pixels.

17. A non-transitory computer-readable medium storing thereon instructions executable by one or more processors to implement a multi-object tracking architecture for multi-object tracking, the multi-object tracking architecture being configured to:

receive a sequence of images generated at respective times by one or more sensors configured to sense an environment through which objects are moving relative to the one or more sensors;

construct a message passing graph in which each of a multiplicity of layers corresponds to a respective one in the sequence of images, the constructing including:

generating, for each of the layers, a plurality of feature nodes to represent features detected in the corresponding image, and

generating edges that interconnect at least some of the feature nodes across adjacent layers of the graph neural network to represent associations between the features; and

track multiple features through the sequence of images, including:

pass messages in a forward direction and a backward direction through the message passing graph to share information across time, and

limit the passing of the messages to only those layers that are currently within a rolling window of a finite size,

wherein the size of the rolling window is between 3 and 10, measured in a number of layers.

18. The non-transitory computer-readable medium of claim 17 , wherein the multi-tracking architecture is configured to construct the message passing graph by:

generating edge nodes associated with the respective edges, each node connected to exactly one feature node in a first layer and exactly one feature node in a second layer, the first layer immediately preceding the second layer.

19. A method of multi-object tracking, the method comprising:

receiving, by processing hardware, a sequence of images generated at respective times by one or more sensors configured to sense an environment through which objects are moving relative to the one or more sensors;

constructing, by the processing hardware, a message passing graph in which each of a multiplicity of layers corresponds to a respective one in the sequence of images, the constructing including:

generating, for each of the layers, a plurality of feature nodes to represent features detected in the corresponding image, and

generating edges that interconnect at least some of the feature nodes across adjacent layers of the graph neural network to represent associations between the features;

training a neural network supported by the message passing graph, the training including:

performing a pass through the message passing graph in a forward direction, including: (i) calculating a total cross-entropy loss and (ii) adding new feature nodes based on detections and new edge nodes, and

performing a pass through the message passing graph in a backward direction, including updating at least some of the edge nodes based on the calculated total cross-entropy loss, the method further comprising:

tracking, by the processing hardware, multiple features through the sequence of images, including passing messages in the forward direction and the backward direction through the message passing graph to share information across time.

20. A method of multi-object tracking, the method comprising:

receiving, by processing hardware, a sequence of images generated at respective times by one or more sensors configured to sense an environment through which objects are moving relative to the one or more sensors;

constructing, by the processing hardware, a message passing graph in which each of a multiplicity of layers corresponds to a respective one in the sequence of images, the constructing including:

generating, for each of the layers, a plurality of feature nodes to represent features detected in the corresponding image, and

generating edges that interconnect at least some of the feature nodes across adjacent layers of the graph neural network to represent associations between the features;

training a neural network supported by the message passing graph, the training including:

performing a pass through the message passing graph in a forward direction, including: (i) calculating a total cross-entropy loss and (ii) pruning low-probability feature nodes and edge nodes, and

performing a pass through the message passing graph in a backward direction, including updating at least some of the edge nodes based on the calculated total cross-entropy loss, the method further comprising:

tracking, by the processing hardware, multiple features through the sequence of images, including passing messages in a forward direction and a backward direction through the message passing graph to share information across time.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NAME OF THE FIRST CONVEYING PARTY PREVIOUSLY RECORDED AT REEL: 69312 FRAME: 713. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 27, 2024
From: LUMINAR TECHNOLOGIES, INC; LUMINAR , LLC; FREEDOM PHOTONICS LLC
To: GLAS TRUST COMPANY LLC
Reel/Frame 069990/0772 →
SECURITY INTEREST Recorded Nov 6, 2024
From: LUMINAR TECHNOLOGIES, INC; LUMINAR , LLC; FREEDOM PHOTONICS LLC
To: GLAS TRUST COMPANY LLC
Reel/Frame 069312/0669 →
SECURITY INTEREST Recorded Nov 6, 2024
From: LIMINAR TECHNOLOGIES, INC; LUMINAR, LLC; FREEDOM PHOTONICS LLC
To: GLAS TRUST COMPANY LLC
Reel/Frame 069312/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2023
From: LUMINAR, LLC
To: LUMINAR TECHNOLOGIES, INC.
Reel/Frame 064371/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2022
From: RAMEZANI, VAHID R.; RANGESH, AKSHAY; ENGLARD, BENJAMIN; MHATRE, SIDDHESH S.; GEBRE, MESERET B.; MAHESHWARI, PRANAV
To: LUMINAR TECHNOLOGIES, INC.
Reel/Frame 060227/0733 →
MERGER Recorded Apr 13, 2021
From: LAZR, INC.
To: LUMINAR HOLDCO, LLC
Reel/Frame 055899/0450 →
CHANGE OF NAME Recorded Apr 13, 2021
From: LUMINAR TECHNOLOGIES, INC.
To: LAZR, INC.
Reel/Frame 055909/0361 →
CHANGE OF NAME Recorded Apr 13, 2021
From: LUMINAR HOLDCO, LLC
To: LUMINAR, LLC
Reel/Frame 055909/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2020
From: RAMEZANI, VAHID R.; RANGESH, AKSHAY; ENGLARD, BENJAMIN; MHATRE, SIDDHESH S.; GEBRE, MESERET R.; MAHESHWARI, PRANAV
To: LUMINAR TECHNOLOGIES, INC.
Reel/Frame 053710/0221 →