IP Library › Granted Patent US 11,430,225
Granted Patent B2
US 11,430,225 · App. 17/088,447 · Granted Aug 30, 2022

Image embedding for object tracking

Inventors: Bryce A. Evans (San Mateo, CA); James William Vaisey Philbin (Palo Alto, CA); Sarah Tariq (Palo Alto, CA)
Assignee: Zoox, Inc.
G06V20/58G05D1/0246G06K9/6215G06K9/6255G06K9/6256G05D2201/0213
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,430,225
App. No.
17/088,447
Granted
Aug 30, 2022
Kind
B2
Abstract

Techniques are disclosed for implementing a neural network that outputs embeddings. Furthermore, techniques are disclosed for using sensor data to train a neural network to learn such embeddings. In some examples, the neural network may be trained to learn embeddings. The embeddings may be used for object identification, object matching, object classification, and/or object tracking in various examples.

Claims (104)

1. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions executable by the one or more processors, wherein the instructions, when executed, cause the one or more processors to perform operations comprising:

tracking an object in an environment associated with a vehicle, wherein the tracking comprises:

receiving a first image representing a first object in the environment;

inputting a first image portion associated with the first image into a neural network;

receiving, from the neural network and based at least in part on the first image portion, a first multi-dimensional vector associated with the first object;

receiving a second image representing a second object in the environment;

inputting a second image portion associated with the second image into the neural network;

receiving, from the neural network, a second multi-dimensional vector associated with the second object; and

determining, based at least in part on the first multi-dimensional vector and the second multi-dimensional vector, that the first object represented in the first image corresponds to the second object represented in the second image; and

controlling, based at least in part on the tracking, the vehicle.

2. The system of claim 1 , wherein:

the receiving the first image comprises:

receiving the first image from a first camera associated with a first field of view; and

the receiving the second image comprises:

receiving the second image from a second camera associated with a second field of view that is different than the first field of view.

3. The system of claim 1 , wherein:

the receiving the first image comprises:

receiving, during a first time period, the first image from a camera; and

the receiving the second image comprises:

receiving, during a second time period that is different than the first time period, the second image from the camera.

4. The system of claim 1 , the operations further comprising:

training the neural network, the training comprising:

inputting a triplet group of image portions into the neural network, the triplet group of image portions comprising:

a third image portion representing a portion of a third object, the third image portion associated with a third multi-dimensional vector;

a fourth image portion representing a portion of a fourth object, the fourth image portion associated with a fourth multi-dimensional vector, wherein the fourth object represents one of i) a different portion of the third object; ii) a different perspective of the third object; or iii) a same classification as the third object; and

a fifth image portion representing a fifth object that is different than the third object and the fourth object, the fifth image portion associated with a fifth multi-dimensional vector; and

adjusting one or more parameters of the neural network to increase a first distance between the fifth multi-dimensional vector and the third multi-dimensional vector and to decrease a second distance between the fourth multi-dimensional vector and the third multi-dimensional vector.

5. The system of claim 1 , wherein:

the tracking further comprises:

determining that a distance between the first multi-dimensional vector and the second multi-dimensional vector is below a threshold distance;

determining, based at least in part on the distance being below the threshold distance, that the second object corresponds to the first object;

determining, based at least in part on the second object corresponding to the first object, at least one of an orientation of the first object, a classification of the first object, a velocity of the first object, or an acceleration of the first object; and

the controlling comprises:

controlling, based at least in part on the determining that the second object corresponds to the first object, the vehicle.

6. A computer-implemented method comprising:

receiving, from a first sensor associated with a vehicle, first data;

determining, based at least in part on the first data, a first subset of data associated with a first object;

inputting the first subset of data into a neural network;

receiving, from the neural network and based at least in part on the first subset of data, a first n-dimensional representation;

receiving, from a second sensor associated with the vehicle, second data;

determining, based at least in part on the second data, a second subset of data associated with a second object;

inputting the second subset of data into the neural network, wherein the second subset of data is associated with a second object;

receiving, from the neural network and based at least in part on the second subset of data, a second n-dimensional representation;

determining, based at least in part on a distance between the first n-dimensional representation and the second n-dimensional representation, that the second object corresponds to the first object;

determining, based at least in part on the second object corresponding to the first object, a velocity and an orientation of the first object; and

controlling the vehicle based at least in part on one or more of the velocity or the orientation of the first object.

7. The computer-implemented method of claim 6 , wherein the receiving the first data comprises:

receiving, from an image sensor, a first image; and

the computer-implemented method further comprises:

detecting the first object in the first image;

wherein the first subset of data comprises a portion of the first image associated with the first object.

8. The computer-implemented method of claim 6 , further comprising:

determining that the distance between the first n-dimensional representation and the second n-dimensional representation satisfies a threshold distance;

wherein the determining that the second object corresponds to the first object comprises:

determining that the second object is the first object.

9. The computer-implemented method of claim 6 , wherein:

the first sensor comprises a first image sensor of the vehicle; and

the second sensor comprises a second image sensor of the vehicle.

10. The computer-implemented method of claim 6 , wherein:

the first sensor is associated with a first field of view; and

the second sensor is associated with a second field of view that is different than the first field of view.

11. The computer-implemented method of claim 6 , wherein:

the first n-dimensional representation comprises a first vector and the second n-dimensional representation comprises a second vector; and

the computer-implemented method further comprises determining a classification of the first object based at least in part on the first vector.

12. The computer-implemented method of claim 6 , wherein determining the first subset of data is based at least in part on at least one of a bounding box associated with the first object represented in the first data or a pixelwise segmentation associated with the first object represented in the first data.

13. The computer-implemented method of claim 6 , further comprising:

training the neural network, the training comprising:

inputting a triplet group of image portions into the neural network, the triplet group of image portions comprising:

a first image portion representing a portion of a third object, the first image portion associated with a third n-dimensional representation;

a second image portion representing a portion of a fourth object, the second image portion associated with a fourth n-dimensional representation; and

a third image portion representing a fifth object that is different than the third object and the fourth object, the third image portion associated with a fifth n-dimensional representation; and

adjusting a parameter of the neural network to one or more of increase a first distance from the fifth n-dimensional representation to the third n-dimensional representation or decrease a second distance from the fourth n-dimensional representation to the third n-dimensional representation.

14. The computer-implemented method of claim 13 , wherein the fourth object represents one of:

a different portion of the third object;

a different perspective of the third object; or

a same classification as the third object.

15. The computer-implemented method of claim 6 , further comprising:

predicting a motion of the first object based at least in part on determining that the second object corresponds to the first object,

wherein controlling the vehicle is further based at least in part on the motion.

16. The computer-implemented method of claim 6 , wherein the determining that the second object corresponds to the first object comprises determining that the distance is below a threshold distance.

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

receiving, from a sensor associated with a vehicle, first data;

determining, based at least in part on the first data, a first subset of data associated with a first object;

inputting the first subset of data into a neural network;

receiving, from the neural network and based at least in part on the first subset of data, an output associated with a first n-dimensional representation;

receiving, from the sensor associated with the vehicle, second data;

determining, based at least in part on the second data, a second subset of data associated with a second object;

inputting the second subset of data into the neural network;

receiving, from the neural network and based at least in part on the second subset of data, a second n-dimensional representation;

determining, based at least in part on a distance between the first n-dimensional representation and the second n-dimensional representation, that the second object represented in the second data corresponds to the first object represented in the first data;

determining, based at least in part on the second object corresponding to the first object, one or more of a velocity or an orientation of the first object; and

controlling the vehicle based at least in part on one or more of the velocity of the first object or the orientation of the first object.

18. The one or more non-transitory computer-readable media of claim 17 , wherein the first n-dimensional representation and the second n-dimensional representation are associated with multiple classes of objects, and wherein the operations further comprise:

determining, from the multiple classes of objects and based at least in part on the first n-dimensional representation, a classification associated with the first object.

19. The one or more non-transitory computer-readable media of claim 18 , wherein determining the classification comprises determining a smallest classification distance between the first n-dimensional representation and classification embeddings associated with the multiple classes of objects.

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

training the neural network, the training comprising:

inputting a triplet group of image portions into the neural network, the triplet group of image portions comprising:

a first image portion representing a portion of a third object, the first image portion associated with a third n-dimensional representation;

a second image portion representing a portion of a fourth object, the second image portion associated with a fourth n-dimensional representation; and

a third image portion representing a fifth object that is different than the third object and the fourth object, the third image portion associated with a fifth n-dimensional representation; and

adjusting a parameter associated with the neural network to one or more of increase a first distance from the fifth n-dimensional representation to the third n-dimensional representation or decrease a second distance from the fourth n-dimensional representation to the third n-dimensional representation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2020
From: PHILBIN, JAMES WILLIAM VAISEY; EVANS, BRYCE A.; TARIQ, SARAH
To: ZOOX, INC.
Reel/Frame 054372/0111 →
Continuity (2)
Continuation 16147328 · Sep 28, 2018
Related Publication 20210142078A1 · May 13, 2021
Cited By (1)
US 12,387,481