IP Library Granted Patent US 11,625,905
Granted Patent B2
US 11,625,905 · App. 17/203,583 · Granted Apr 11, 2023

System and method for tracking occluded objects

Inventors: Pavel V. Tokmakov (San Francisco, CA); Rares A. Ambrus (San Francisco, CA); Wolfram Burgard (Mountain View, CA); Adrien David Gaidon (Mountain View, CA)
Assignee: TOYOTA RESEARCH INSTITUTE, INC.
G06V10/255G06V10/469G06V20/56G06V10/16
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,625,905
App. No.
17/203,583
Granted
Apr 11, 2023
Kind
B2
Abstract

A method for tracking an object performed by an object tracking system includes encoding locations of visible objects in an environment captured in a current frame of a sequence of frames. The method also includes generating a representation of a current state of the environment based on an aggregation of the encoded locations and an encoded location of each object visible in one or more frames of the sequence of frames occurring prior to the current frame. The method further includes predicting a location of an object occluded in the current frame based on a comparison of object centers decoded from the representation of the current state to object centers saved from each prior representation associated with a different respective frame of the sequence of frames occurring prior to the current frame. The method still further includes adjusting a behavior of an autonomous agent in response to identifying the location of the occluded object.

Claims (53)

1. A method for tracking occluded objects performed by an object tracking system, comprising:

encoding locations of visible objects in an environment captured in a current frame of a sequence of frames;

generating a representation of a current state of the environment based on an aggregation of the encoded locations and an encoded location of each object visible in one or more frames of the sequence of frames occurring prior to the current frame;

predicting a location of an object occluded in the current frame based on a comparison of object centers decoded from the representation of the current state to object centers saved from each prior representation associated with a different respective frame of the sequence of frames occurring prior to the current frame; and

adjusting a behavior of an autonomous agent in response to predicting the location of the object occluded in the current frame.

2. The method of claim 1 , further comprising decoding, from the generated representation of the current state, a location in the environment of each object center for each visible object in the current frame, a bounding box size for each visible object in the current frame, and a displacement vector for each visible object in the current frame.

3. The method of claim 2 , further comprising:

dividing the current frame into a plurality of locations; and

assigning a value to each location of the plurality of locations based on whether the location comprises an object center, a value of a location comprising the object center being different than a value of a location without the object center.

4. The method of claim 2 , further comprising storing, for each prior representation, a location in the environment of each object center, a displacement vector, and a bounding box size corresponding to each different respective visible object in a frame associated with a respective prior representation.

5. The method of claim 4 , wherein predicting the location of the object occluded in the current frame comprises:

comparing the location in the environment of each object center for each visible object in the current frame with the location in the environment of each object center for each prior representation;

identifying an object center of a prior representation that is not visible in the current frame based on comparing the location in the environment of each object center for each visible object in the current frame with the location in the environment of each object center for each prior representation;

determining an object corresponding to the identified object center is occluded in the current frame; and

predicting the location of the object occluded in the current frame based on a location in the environment of the identified object center and a velocity predicted based on a displacement vector of the object corresponding to the identified object center.

6. The method of claim 1 , further comprising capturing the sequence of frames via one or more sensors of the autonomous agent, wherein the sequence of frames comprises a plurality of consecutive frames.

7. The method of claim 1 , further comprising training the object tracking system with a combination of synthetic data and real data.

8. An apparatus for tracking an object at an autonomous agent via an object tracking system, comprising:

a processor;

a memory coupled with the processor; and

instructions stored in the memory and operable, when executed by the processor, to cause the apparatus to:

encode locations of visible objects in an environment captured in a current frame of a sequence of frames;

generate a representation of a current state of the environment based on an aggregation of the encoded locations and an encoded location of each object visible in one or more frames of the sequence of frames occurring prior to the current frame;

predict a location of an object occluded in the current frame based on a comparison of object centers decoded from the representation of the current state to object centers saved from each prior representation associated with a different respective frame of the sequence of frames occurring prior to the current frame; and

adjust a behavior of the autonomous agent in response to predicting the location of the object occluded in the current frame.

9. The apparatus of claim 8 , wherein execution of the instructions further causes the apparatus to decode, from the generated representation of the current state, a location in the environment of each object center for each visible object in the current frame, a bounding box size for each visible object in the current frame, and a displacement vector for each visible object in the current frame.

10. The apparatus of claim 9 , wherein execution of the instructions further causes the apparatus to:

divide the current frame into a plurality of locations; and

assign a value to each location of the plurality of locations based on whether the location comprises an object center, a value of a location comprising the object center being different than a value of a location without the object center.

11. The apparatus of claim 9 , wherein execution of the instructions further causes the apparatus to store, for each prior representation, a location in the environment of each object center, a displacement vector, and a bounding box size corresponding to each different respective visible object in a frame associated with a respective prior representation.

12. The apparatus of claim 11 , wherein execution of the instructions to predict the location of the object occluded in the current frame further causes the apparatus to:

compare the location in the environment of each object center for each visible object in the current frame with the location in the environment of each object center for each prior representation;

identify an object center of a prior representation that is not visible in the current frame based on comparing the location in the environment of each object center for each visible object in the current frame with the location in the environment of each object center for each prior representation;

determine an object corresponding to the identified object center is occluded in the current frame; and

predict the location of the object occluded in the current frame based on a location in the environment of the identified object center and a velocity predicted based on a displacement vector of the object corresponding to the identified object center.

13. The apparatus of claim 8 , wherein execution of the instructions further causes the apparatus to capture the sequence of frames via one or more sensors of the autonomous agent, wherein the sequence of frames comprises a plurality of consecutive frames.

14. The apparatus of claim 8 , wherein execution of the instructions further causes the apparatus to train the object tracking system with a combination of synthetic data and real data.

15. A non-transitory computer-readable medium having program code recorded thereon for tracking an object, the program code executed by a processor and comprising:

program code to encode locations of visible objects in an environment captured in a current frame of a sequence of frames;

program code to generate a representation of a current state of the environment based on an aggregation of the encoded locations and an encoded location of each object visible in one or more frames of the sequence of frames occurring prior to the current frame;

program code to predict a location of an object occluded in the current frame based on a comparison of object centers decoded from the representation of the current state to object centers saved from each prior representation associated with a different respective frame of the sequence of frames occurring prior to the current frame; and

program code to adjust a behavior of an autonomous agent in response to predicting the location of the object occluded in the current frame.

16. The non-transitory computer-readable medium of claim 15 , wherein the program code further comprises program code to decode, from the generated representation of the current state, a location in the environment of each object center for each visible object in the current frame, a bounding box size for each visible object in the current frame, and a displacement vector for each visible object in the current frame.

17. The non-transitory computer-readable medium of claim 16 , wherein the program code further comprises:

program code to divide the current frame into a plurality of locations; and

program code to assign a value to each location of the plurality of locations based on whether the location comprises an object center, a value of a location comprising the object center being different than a value of a location without the object center.

18. The non-transitory computer-readable medium of claim 16 , wherein the program code further comprises program code to store for each prior representation a location in the environment of each object center, a displacement vector, and a bounding box size corresponding to each different respective visible object in a frame associated with a respective prior representation.

19. The non-transitory computer-readable medium of claim 18 , wherein the program code to predict the location of the object occluded in the current frame further comprises:

program code to compare the location in the environment of each object center for each visible object in the current frame with the location in the environment of each object center for each prior representation;

program code to identify an object center of a prior representation that is not visible in the current frame based on comparing the location in the environment of each object center for each visible object in the current frame with the location in the environment of each object center for each prior representation;

program code to determine an object corresponding to the identified object center is occluded in the current frame; and

program code to predict the location of the object occluded in the current frame based on a location in the environment of the identified object center and a velocity predicted based on a displacement vector of the object corresponding to the identified object center.

20. The non-transitory computer-readable medium of claim 15 , wherein the program code further comprises program code to capture the sequence of frames via one or more sensors of the autonomous agent, wherein the sequence of frames comprises a plurality of consecutive frames.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: TOYOTA RESEARCH INSTITUTE, INC.
To: TOYOTA JIDOSHA KABUSHIKI KAISHA
Reel/Frame 063735/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2021
From: TOKMAKOV, PAVEL V.; AMBRUS, RARES A.; BURGARD, WOLFRAM; GAIDON, ADRIEN DAVID
To: TOYOTA RESEARCH INSTITUTE, INC.
Reel/Frame 056553/0482 →
Continuity (1)
Related Publication 20220300748A1 · Sep 22, 2022