IP Library › Granted Patent US 11,335,008
Granted Patent B2
US 11,335,008 · App. 17/026,084 · Granted May 17, 2022

Training multi-object tracking models using simulation

Inventors: Ishani Chakraborty (Seattle, WA); Jonathan C. Hanzelka (Kenmore, WA); Lu Yuan (Redmond, WA); Pedro Urbina Escos (Seattle, WA); Thomas M. Soemo (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06T7/20G06N20/00G06T17/00G06T19/20G06T2207/10016G06T2207/20081G06T2207/30196G06T2207/30241G06T2219/2004
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,335,008
App. No.
17/026,084
Granted
May 17, 2022
Kind
B2
Abstract

Training a multi-object tracking model includes: generating a plurality of training images based at least on scene generation information, each training image comprising a plurality of objects to be tracked; generating, for each training image, original simulated data based at least on the scene generation information, the original simulated data comprising tag data for a first object; locating, within the original simulated data, tag data for the first object, based on at least an anomaly alert (e.g., occlusion alert, proximity alert, motion alert) associated with the first object in the first training image; based at least on locating the tag data for the first object, modifying at least a portion of the tag data for the first object from the original simulated data, thereby generating preprocessed training data from the original simulated data; and training a multi-object tracking model with the preprocessed training data to produce a trained multi-object tracker.

Claims (66)

1. A system for training a multi-object tracking model, the system comprising:

a processor; and

a computer-readable medium storing instructions that are operative upon execution by the processor to:

generate a plurality of training images based at least on scene generation information, each training image comprising a plurality of objects to be tracked, the plurality of training images forming a sequence of images in time;

generate, for each training image, original simulated data based at least on the scene generation information, the original simulated data comprising tag data for a first object of the plurality of objects;

locate, within the original simulated data for a first training image of the plurality of training images, tag data for the first object, based on at least one of an occlusion alert, a proximity alert, or a motion alert associated with the first object in the first training image;

based at least on locating the tag data for the first object, modify at least a portion of the tag data for the first object from the original simulated data for the first training image, thereby generating preprocessed training data from the original simulated data; and

train a multi-object tracking model with the preprocessed training data to produce a trained multi-object tracker.

2. The system of claim 1 , wherein the instructions are further operative to:

input a plurality of captured live images into the trained multi-object tracker, the plurality of captured live images forming a sequence of images in time; and

based at least on the plurality of captured live images, output tracking results from the trained multi-object tracker.

3. The system of claim 1 , wherein the first object comprises a human avatar.

4. The system of claim 1 , wherein the plurality of training images further comprises:

a second training image preceding the first training image in time, wherein the first object is not occluded by the threshold measure in the second training image, and wherein the preprocessed training data for the second training image retains tag data for the first object; and

a third training image following the first training image in time, wherein the first object is not occluded by the threshold measure in the third training image, and wherein the preprocessed training data for the third training image retains tag data for the first object.

5. The system of claim 1 , wherein the tag data comprises at least one data item selected from the list consisting of:

a bounding box, a segmentation mask, an occlusion mask, a landmark data set, and a trajectory identification.

6. The system of claim 1 , wherein generating the plurality of training images comprises:

collecting a photographic image of a real-world scene;

generating a synthetic three dimensional (3D) model comprising at least one surface;

compositing a rendering of the 3D model with the photographic image; and

inserting the first object into the synthetic 3D model at a position at least partially determined by the surface.

7. The system of claim 6 , wherein generating the plurality of training images further comprises:

calibrating a camera model with respect to a position and orientation relative to the 3D model.

8. A method of training a multi-object tracking model, the method comprising:

generating a plurality of training images based at least on scene generation information, each training image comprising a plurality of objects to be tracked, the plurality of training images forming a sequence of images in time;

generating, for each training image, original simulated data based at least on the scene generation information, the original simulated data comprising tag data for a first object of the plurality of objects;

locating, within the original simulated data for a first training image of the plurality of training images, tag data for the first object, based on at least one of an occlusion alert, a proximity alert, or a motion alert associated with the first object in the first training image;

based at least on locating the tag data for the first object, modifying at least a portion of the tag data for the first object from the original simulated data for the first training image, thereby generating preprocessed training data from the original simulated data; and

training a multi-object tracking model with the preprocessed training data to produce a trained multi-object tracker.

9. The method of claim 8 , further comprising:

inputting a plurality of captured live images into the trained multi-object tracker, the plurality of captured live images forming a sequence of images in time; and

based at least on the plurality of captured live images, outputting tracking results from the trained multi-object tracker.

10. The method of claim 8 , wherein the first object comprises a human avatar.

11. The method of claim 8 , wherein the plurality of training images further comprises:

a second training image preceding the first training image in time, wherein the first object is not occluded by the threshold measure in the second training image, and wherein the preprocessed training data for the second training image retains tag data for the first object; and

a third training image following the first training image in time, wherein the first object is not occluded by the threshold measure in the third training image, and wherein the preprocessed training data for the third training image retains tag data for the first object.

12. The method of claim 8 , wherein the tag data comprises at least one data item selected from the list consisting of:

a bounding box, a segmentation mask, an occlusion mask, a landmark data set, and a trajectory identification.

13. The method of claim 8 , wherein generating the plurality of training images comprises:

collecting a photographic image of a real-world scene;

generating a synthetic three dimensional (3D) model comprising at least one surface;

compositing a rendering of the 3D model with the photographic image; and

inserting the first object into the synthetic 3D model at a position at least partially determined by the surface.

14. The method of claim 13 , wherein generating the plurality of training image further comprises:

calibrating a camera model with respect to a position and orientation relative to the 3D model.

15. One or more computer storage devices having computer-executable instructions stored thereon, which, on execution by a computer, cause the computer to perform operations comprising:

generating a plurality of training images based at least on scene generation information, each training image comprising a plurality of objects to be tracked, the plurality of training images forming a sequence of images in time;

generating, for each training image, original simulated data based at least on the scene generation information, the original simulated data comprising tag data for a first object of the plurality of objects;

locating, within the original simulated data for a first training image of the plurality of training images, tag data for the first object, based on at least one of an occlusion alert, a proximity alert, or a motion alert associated with the first object in the first training image;

based at least on locating the tag data for the first object, modifying at least a portion of the tag data for the first object from the original simulated data for the first training image, thereby generating preprocessed training data from the original simulated data; and

training a multi-object tracking model with the preprocessed training data to produce a trained multi-object tracker.

16. The one or more computer storage devices of claim 15 , wherein the operations further comprise

inputting a plurality of captured live images into the trained multi-object tracker, the plurality of captured live images forming a sequence of images in time; and

based at least on the plurality of captured live images, outputting tracking results from the trained multi-object tracker.

17. The one or more computer storage devices of claim 15 , wherein the first object comprises a human avatar.

18. The one or more computer storage devices of claim 15 , wherein the plurality of training images further comprises:

a second training image preceding the first training image in time, wherein the first object is not occluded by the threshold measure in the second training image, and wherein the preprocessed training data for the second training image retains tag data for the first object; and

a third training image following the first training image in time, wherein the first object is not occluded by the threshold measure in the third training image, and wherein the preprocessed training data for the third training image retains tag data for the first object.

19. The one or more computer storage devices of claim 15 , wherein the tag data comprises at least one data item selected from the list consisting of:

a bounding box, a segmentation mask, an occlusion mask, a landmark data set, and a trajectory identification.

20. The one or more computer storage devices of claim 15 , wherein generating the plurality of training images comprises:

collecting a photographic image of a real-world scene;

generating a synthetic three dimensional (3D) model comprising at least one surface;

compositing a rendering of the 3D model with the photographic image; and

inserting the first object into the synthetic 3D model at a position at least partially determined by the surface.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2020
From: CHAKRABORTY, ISHANI; HANZELKA, JONATHAN C.; YUAN, LU; ESCOS, PEDRO URBINA; SOEMO, THOMAS M.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053955/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2020
From: BARKAN, OREN; ARMSTRONG, OMRI; KATZ, ORI; KOENIGSTEIN, NOAM
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053955/0421 →
Continuity (1)
Related Publication 20220092792A1 · Mar 24, 2022
Cited By (2)
US 12,230,021 US 12,598,440