IP Library › Granted Patent US 10,867,444
Granted Patent B2
US 10,867,444 · App. 16/205,132 · Granted Dec 15, 2020

Synthetic data generation for training a machine learning model for dynamic object compositing in scenes

Inventors: Bryan Russell (San Jose, CA); Daniel Kaufman (San Jose, CA); Carlo Innamorati (San Jose, CA); Niloy Mitra (San Jose, CA)
Assignee: Adobe Inc.
G06T19/00G06F3/017G06K9/6256G06N20/00G06T15/20G06T17/00
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 10,867,444
App. No.
16/205,132
Granted
Dec 15, 2020
Kind
B2
Abstract

This application relates generally to augmenting images and videos with dynamic object compositing, and more specifically, to generating synthetic training data to train a machine learning model to automatically augment an image or video with a dynamic object. The synthetic training data may contain multiple data points from thousands of simulated dynamic object movements within a virtual environment. Based on the synthetic training data, the machine learning model may determine the movement of a new dynamic object within new virtual environment.

Claims (67)

1. A non-transitory computer-readable storage medium having stored thereon instructions for causing at least one computer system to generate synthetic training data for dynamic object compositing, the instructions comprising:

receiving a first model comprising a representation of a first environment and a first viewpoint associated with the first model;

performing a simulation, within the first model and from the first viewpoint of a first dynamic object that is moving away from a virtual camera at a first initial velocity and a contact between a first scene object and the first dynamic object within the first model;

generating first synthetic training data comprising a sequence of video frames depicting the simulation of the first dynamic object, wherein the sequence of video frames includes a change in movement of at least one of the first dynamic object or the first scene object resulting from the contact;

training, based on the first synthetic training data, a machine learning model to simulate changes in movement of dynamic objects resulting from contact with scene objects;

generating movement data of a second dynamic object within a second environment by, at least, applying the trained machine learning model to a second initial velocity and a second viewpoint associated with an image in the second environment; and

superimposing, based on the movement data of the second dynamic object, the second dynamic object into the image.

2. The computer-readable storage medium of claim 1 , wherein the virtual camera is a first virtual camera, and the instructions further comprising:

rendering, from the first viewpoint, a depth map and a surface normal map of the first model; and

receiving, the second viewpoint associated with the image from a second virtual camera.

3. The computer-readable storage medium of claim 2 , wherein the depth map comprises environmental information that includes a relative distance between the first dynamic object and a surface of the first scene object.

4. The computer-readable storage medium of claim 1 , the instructions further comprising:

receiving a third viewpoint associated with the first model, wherein the third and first viewpoints are different; and

simulating within the first model, from the third viewpoint, the first dynamic object moving to generate second synthetic training data.

5. The computer-readable storage medium of claim 1 , the instructions further comprising:

receiving a third model comprising a representation of a third environment;

receiving a fourth viewpoint associated with the third model; and

simulating within the third model, from the fourth viewpoint, the first dynamic object moving to generate third synthetic training data.

6. The computer-readable storage medium of claim 1 , wherein the first model is a three-dimensional model.

7. The computer-readable storage medium of claim 1 , wherein the movement data indicates the first dynamic object interacting with one or more scene objects within the first model.

8. The computer-readable storage medium of claim 1 , the instructions further comprising:

receiving user gesture data associated with a first human gesture; and

determining, based on the user gesture data, the second initial velocity.

9. The computer-readable storage medium of claim 1 , wherein the simulation comprises a change in luminance of one or more surfaces in the first environment that is based on a change in a relative distance between the first dynamic object and the virtual camera during the movement of the first dynamic object.

10. The computer-readable storage medium of claim 9 , wherein the change in luminance is based in part on a focal plane, and wherein the change in luminance of the one or more surfaces is based on a relative distance between the focal plane and the one or more surfaces.

11. A computer-implemented method for generating synthetic training data for dynamic object compositing, the method comprising:

receiving a first model comprising a representation of a first environment and a first viewpoint associated with the first model;

performing a simulation, within the first model and from the first viewpoint of a first dynamic object that is moving away from a virtual camera at a first initial velocity and a contact between a first scene object and the first dynamic object within the first model; and

generating first synthetic training data comprising a sequence of video frames depicting the simulation of the first dynamic object, wherein the sequence of video frames includes a change in movement of at least one of the first dynamic object or the first scene object resulting from the contact.

12. The computer-implemented method of claim 11 , further comprising:

training, based on the first synthetic training data, a machine learning model to simulate changes in movement of dynamic objects resulting from contact with scene objects;

receiving an image comprising a representation of a second environment, wherein the second environment is different from the first environment;

receiving, a second viewpoint associated with the image;

receiving a second dynamic object data associated with a second dynamic object;

generating movement data of the second dynamic object within the second environment by, at least, applying the trained machine learning model to a second initial velocity and the second viewpoint; and

superimposing, based on the movement data of the second dynamic object, the second dynamic object into the image.

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

receiving a third viewpoint associated with the first model, wherein the third and first viewpoints are different; and

simulating within the first model, from the third viewpoint, the first dynamic object moving to generate second synthetic training data.

14. The computer-implemented method of claim 12 , further comprising:

receiving a third model comprising a representation of a third environment;

receiving a fourth viewpoint associated with the third model; and

simulating within the third model, from the fourth viewpoint, the first dynamic object moving to generate third synthetic training data.

15. The computer-implemented method of claim 12 , wherein the first model is a three-dimensional model.

16. A system for generating synthetic training data for dynamic object compositing, comprising:

one or more processors; and

a memory coupled with the one or more processors, the memory configured to store instructions that when executed by the one or more processors cause the one or more processors to:

receive a first model comprising a representation of a first environment;

receive a first viewpoint associated with the first model;

receive a first dynamic object data associated with a first dynamic object;

perform a simulation within the first model, from the first viewpoint of the first dynamic object that is moving away from a virtual camera at a first initial velocity and a contact between a first scene object and the first dynamic object within the first model;

generating first synthetic training data comprising a sequence of video frames depicting the simulation of the first dynamic object, wherein the sequence of video frames includes a change in movement of at least one of the first dynamic object or the first scene object resulting from the contact;

train, based on the first synthetic training data, a machine learning model to simulate changes in movement of dynamic objects resulting from contact with scene objects;

receive an image comprising a representation of a second environment, wherein the second environment is different from the first environment;

receive, a second viewpoint associated with the image;

receive a second dynamic object data associated with a second dynamic object;

generate movement data of the second dynamic object within the second environment by, at least, applying the trained machine learning model to a second initial velocity and the second viewpoint; and

superimpose, based on the movement data of the second dynamic object, the second dynamic object into the image.

17. The system of claim 16 , wherein the instructions that when executed by the one or more processors further cause the one or more processors to:

receive a third viewpoint associated with the first model, wherein the third and first viewpoints are different; and

simulate within the first model, from the third viewpoint, the first dynamic object moving to generate second synthetic training data.

18. The system of claim 16 , wherein the instructions that when executed by the one or more processors further cause the one or more processors to:

receive a third model comprising a representation of a third environment;

receive a fourth viewpoint associated with the third model; and

simulate within the third model, from the fourth viewpoint, the first dynamic object moving to generate third synthetic training data.

19. The system of claim 16 , wherein the first model is a three-dimensional model.

20. The system of claim 16 , wherein the movement data indicates the first dynamic object interacting with one or more scene objects within the first model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2020
From: RUSSELL, BRYAN; KAUFMAN, DANIEL; INNAMORATI, CARLO; MITRA, NILOY
To: ADOBE INC.
Reel/Frame 054290/0047 →
Continuity (1)
Related Publication 20200175759A1 · Jun 4, 2020
Cited By (17)
US 12,198,396 US 12,216,610 US 12,223,428 US 12,236,689 US 12,307,350 US 12,346,816 US 12,367,405 US 12,386,962 US 12,455,739 US 12,462,575 US 12,522,243 US 12,536,131 US 12,554,467 US 12,591,240 US 12,618,976 US 12,623,691 US 12,709,294