IP Library Granted Patent US 11,017,560
Granted Patent B1
US 11,017,560 · App. 16/384,694 · Granted May 25, 2021

Controllable video characters with natural motions extracted from real-world videos

Inventors: Oran Gafni (Tel Aviv, IL); Lior Wolf (Herzliya, IL); Yaniv Taigman (Batzra, IL)
Assignee: Facebook Technologies, LLC
G06T7/75G06N3/0454G06N3/08G06N20/20G06T7/20G06T2207/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,017,560
App. No.
16/384,694
Granted
May 25, 2021
Kind
B1
Abstract

A video generation system is described that extracts one or more characters or other objects from a video, re-animates the character, and generates a new video in which the extracted characters. The system enables the extracted character(s) to be positioned and controlled within a new background scene different from the original background scene of the source video. In one example, the video generation system comprises a pose prediction neural network having a pose model trained with (i) a set of character pose training images extracted from an input video of the character and (ii) a simulated motion control signal generated from the input video. In operation, the pose prediction neural network generates, in response to a motion control input from a user, a sequence of images representing poses of a character. A frame generation neural network generates output video frames that render the character within a scene.

Claims (55)

1. A video generation system comprising:

a pose prediction neural network trained to generate, in response to a motion control input, a sequence of poses of a character, wherein each of the poses comprises image data representing a pose for the character, and wherein the pose prediction neural network comprises a pose model trained with (i) a set of character pose training images extracted from an input video of the character and (ii) a simulated motion control signal computed from the input video and representative of changes to a position for the character over the character pose training images; and

a frame generation neural network trained to generate output video frames that render the character within a scene.

2. The video generation system of claim 1 , further comprising:

a video processor configured to process the input video to extract the character pose training images from the input video by separating image data associated with the character from background image data for a plurality of frames of the input video.

3. The video generation system of claim 1 , further comprising:

a video processor configured to process the input video to compute the simulated motion control signal as a sequence of two-dimensional displacement vectors representing changes to a center of mass for the character over the character pose training images.

4. The video generation system of claim 1 , wherein the pose prediction neural network comprises a plurality of residual blocks conditioned by linear projection of the motion control input.

5. The video generation system of claim 1 , wherein the pose model of the pose prediction neural network is configured to apply autoregression to compute a next pose for the character based on a current pose for the character and the motion control input.

6. The video generation system of claim 1 , wherein the pose prediction neural network comprises a down-sampling encoder to generate the set of character pose training images as down-sampled lower-resolution images from the image data extracted from the input video to efficiently train the pose model of the pose prediction neural network.

7. The video generation system of claim 1 , the video generation system configured to:

process the input video to extract pose information from each frame of the training video sequence to generate the character pose training images, the pose information comprising image data of the character for a set of frames of the input video;

apply a binary threshold over the character pose training images to create a binary mask of the character for each of character pose training images;

determine a pixel location of a center of mass of the character as a coordinate within each of the character pose training images;

determine the simulated motion control signal as changes to the pixel location of the center of mass between each consecutive pair of the character pose training images; and

apply the simulated motion control signal and the character pose training images as inputs to train the pose model.

8. The video generation system of claim 1 , wherein the frame generation neural network is configured to:

receive, as input, the sequence of poses of the character generated by the pose prediction neural network in response to the motion control signal;

generate, for the sequence of poses and from a frame generation model, a sequence of raw image frames depicting respective poses of the character and a set of respective blending mask images; and

generate the output video as a sequence of composite images by application of each blending mask image to a background image and the corresponding raw image frame.

9. The video generation system of claim 8 , wherein the set of blending mask images comprise a sequence of spatial masks configured to determine which regions of the background image are replaced by image data from the raw image frame produced by the frame generation neural network.

10. The video generation system of claim 8 , wherein the frame generation model of the frame generation neural network is trained, using the set of character pose training images extracted from the input video of the character, to learn the set of blending masks and the raw output frames.

11. The video generation system of claim 8 ,

wherein the frame generation neural network comprises a multi-scale discriminator that is trained to discriminate between visual effects in the input video that are due to the character and visual effects that are independent from the character, and

wherein the frame generation neural network generates the blending mask to prioritize inclusion of character-based effects on the background within the composite image and to exclude character-independent effects on the background.

12. The video generation system of claim 1 ,

wherein the pose prediction neural network is further trained to generate, in response to the motion control input, a sequence of pairs of poses of the character and an object, wherein each of the pairs comprises image data representing a pose for the character and representing the object, and wherein the pose model is further trained with (iii) a set of object images extracted from the input video, and

wherein, to generate the output video frames, the frame generation neural network is trained to generate output video frames that render the character and the object within the scene.

13. A method comprising:

generating, with a pose prediction neural network and in response to a motion control input, a sequence of poses of a character, wherein each of the poses comprises image data representing a pose for the character, and wherein the pose prediction neural network comprises a pose model trained with (i) a set of character pose training images extracted from an input video of the character and (ii) a simulated motion control signal computed from the input video and representative of changes to a position for the character over the character pose training images; and

generating, with a frame generation neural network, output video frames that render the character within a scene.

14. The method of claim 13 , further comprising processing the input video to extract the set of character pose training images from the input video by separating image data associated with the character from background image data for a plurality of frames of the input video.

15. The method of claim 13 , further comprising processing the input video to compute the simulated motion control signal as a sequence of two-dimensional displacement vectors representing changes to a center of mass for the character over the character pose training images.

16. The method of claim 13 , wherein generating a sequence of poses of a character comprises applying autoregression with the pose model of the pose prediction neural network to compute a next pose for the character based on a current pose for the character and the motion control input.

17. The method of claim 13 , further comprising generating the set of character pose training images as down-sampled lower-resolution images from image data extracted from the input video to efficiently train the pose model of the pose prediction neural network.

18. The method of claim 13 , further comprising:

processing the input video to extract pose information from each frame of the training video sequence to generate the character pose training images, the pose information comprising image data of the character for a set of frames of the input video;

applying a binary threshold over the character pose training images to create a binary mask of the character for each of character pose training images;

determining a pixel location of a center of mass of the character as a coordinate within each of the character pose training images;

determining the simulated motion control signal as changes to the pixel location of the center of mass between each consecutive pair of the character pose training images; and

applying the simulated motion control signal and the character pose training images as inputs to train the pose model.

19. The method of claim 13 , further comprising:

receiving, as input, the sequence of poses of the character generated by the pose prediction neural network for the character in response to the motion control signal;

generating, for the set of poses and from a frame generation model, a sequence of raw image frames depicting respective poses of the character and respective blending mask images; and

generating the output video as a sequence of composite images by application of each blending mask image to a background image and the corresponding raw image frame.

20. The method of claim 19 , wherein the set of blending mask images comprise a sequence of spatial masks configured to determine which regions of the background image are replaced by image data from the raw image frame produced by the frame generation neural network.

21. The method of claim 13 ,

wherein generating the sequence of poses of the character further comprises generating, in response to the motion control input, a sequence of pairs of poses of the character and an object, wherein each of the pairs comprises image data representing a pose for the character and representing the object, and wherein the pose model is further trained with (iii) a set of object images extracted from the input video, and

wherein generating the output video frames comprises generating output video frames that render the character and the object within the scene.

22. A non-transitory computer-readable storage medium comprising instructions that configure one or more programmable processors to:

process an input video to extract a set of character pose training images from an input video of a character by separating image data associated with the character from background image data for a plurality of frames of the input video;

process the input video to compute a simulated motion control signal as a sequence of two-dimensional displacement vectors representing changes to a center of mass for the character over the character pose training images;

apply, as inputs, (i) the set of character pose training images extracted from the input video and (ii) the simulated motion control signal generated from the input video to train a pose model of a pose prediction neural network;

generate, with the pose prediction neural network and in response to a motion control input from a user, a sequence of poses of the character, wherein each of the poses comprises image data representing a pose for the character; and

generate, with a frame generation neural network, output video frames that render the character within a scene.

Assignments (2)
CHANGE OF NAME Recorded Jul 21, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060802/0799 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2019
From: GAFNI, ORAN; WOLF, LIOR; TAIGMAN, YANIV
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 049175/0956 →
Cited By (17)
US 12,205,214 US 12,236,510 US 12,322,015 US 12,333,638 US 12,354,304 US 12,374,014 US 12,387,409 US 12,403,400 US 12,444,115 US 12,456,245 US 12,508,508 US 12,518,170 US 12,569,761 US 12,574,471 US 12,639,873 US 12,688,649 US 12,718,450