IP Library Granted Patent US 11,763,509
Granted Patent B2
US 11,763,509 · App. 17/454,906 · Granted Sep 19, 2023

Frame calibration for robust video synthesis

Inventors: Ikhwan Mohammad Iqbal (Kanagawa, JP); Qiang Yao (Kanagawa, JP)
Assignee: Lenovo (Singapore) Pte. Ltd.
G06T13/40G06T3/40G06T7/74G06T7/80G06T15/205G06V20/46G06V40/165G06V40/171G06V40/172G06T2207/10016G06T2207/30201G06T2215/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,763,509
App. No.
17/454,906
Granted
Sep 19, 2023
Kind
B2
Abstract

A method for calibrating an animation includes obtaining a static source image of a source face; capturing, by an image capturing device, a driving video of a human; determining whether a driving face, of the human, is present in each of the video frames; measuring a driving face position and a driving face size in a calibration reference frame of the driving video; generating each of one or more modified video frames based on the calibration reference frame and each of one or more subsequent video frames; and outputting, for each of the driving video frames, the source image in response to determining that the driving face is not present, and outputting the source image and the modified video frame in response to determining that the driving face is present.

Claims (92)

1. A method for calibrating an animation, the method comprising:

obtaining a static source image of a source face;

capturing, by an image capturing device, a driving video of a human, wherein the driving video comprises a plurality of driving video frames;

determining whether a driving face, of the human, is present in each of the video frames;

measuring a driving face position and a driving face size in a calibration reference frame of the driving video;

generating each of one or more modified video frames based on the calibration reference frame and each of one or more subsequent video frames, wherein the generating comprises:

determining whether a measured offset, between the driving face position and an ideal face position, has a magnitude greater than a translation threshold,

determining whether a measured scale factor, between the driving face size and an ideal face size, is greater than a scaling threshold,

translating the one or more subsequent video frames, by a corrective offset, with respect to a fixed boundary box, in response to determining that the magnitude of the measured offset is greater than the translation threshold, and

scaling the one or more subsequent video frames by a corrective scale factor, with respect to the fixed boundary box, in response to determining that the measured scale factor is greater than the scaling threshold, and

outputting, for each of the driving video frames, the source image in response to determining that the driving face is not present, and outputting the source image and the modified video frame in response to determining that the driving face is present.

2. The method of claim 1 , wherein the determining of whether the driving face is present further comprises:

setting a score by determining an average value of a feature map from a keypoint detection; and

determining that the driving face is present if the score is greater than a predetermined value, and determining that the driving face is not present if the score is less than or equal to the predetermined value.

3. The method of claim 1 , wherein the calibration reference frame is selected by a keystroke on a keyboard.

4. The method of claim 1 , wherein the calibration reference frame is continuously updated with a predetermined periodicity.

5. The method of claim 1 , wherein the measurement of the driving face position and size further comprises:

specifying, within the calibration reference frame, the fixed boundary box that is defined by parameters including:

a boundary box width,

a boundary box height, and

a boundary box position defined by a corner of the fixed boundary box;

determining, by facial recognition, a driving face box that encloses the driving face and is defined by parameters including:

a driving face box width,

a driving face box height, and

a driving face box position defined by a corner of the driving face box that corresponds to the similar corner of the fixed boundary box, wherein

the driving face size is determined by the driving face box width and the driving face box height, and

the driving face position is determined by the driving face box position.

6. The method of claim 5 , wherein

the ideal face position is defined by a condition where the driving face box position is located at a predetermined ideal offset from the boundary box position, and

the ideal face size is defined by a condition where the driving face box width is a predetermined fraction of the boundary box width, and the driving face box height is a predetermined fraction of the boundary box height within an error tolerance.

7. A non-transitory computer readable medium (CRM) storing computer readable program code for calibrating an animation, the computer readable program code causes a computer to:

obtain a static source image of a source face;

capture, by an image capturing device, a driving video of a human, wherein the driving video comprises a plurality of driving video frames;

determine whether a driving face, of the human, is present in each of the video frames;

measure a driving face position and a driving face size in a calibration reference frame of the driving video;

generate each of one or more modified video frames based on the calibration reference frame and each of one or more subsequent video frames, wherein the generating comprises:

determining whether a measured offset, between the driving face position and an ideal face position, has a magnitude greater than a translation threshold,

determining whether a measured scale factor, between the driving face size and an ideal face size, is greater than a scaling threshold,

translating the one or more subsequent video frames, by a corrective offset, with respect to a fixed boundary box, in response to determining that the magnitude of the measured offset is greater than the translation threshold, and

scaling the one or more subsequent video frames by a corrective scale factor, with respect to the fixed boundary box, in response to determining that the measured scale factor is greater than the scaling threshold, and

output, for each of the driving video frames, the source image in response to determining that the driving face is not present, and output the source image and the modified video frame in response to determining that the driving face is present.

8. The non-transitory CRM of claim 7 , wherein the determining of whether the driving face is present further comprises:

setting a score by determining an average value of a feature map from a keypoint detection; and

determining that the driving face is present if the score is greater than a predetermined value, and determining that the driving face is not present if the score is less than or equal to the predetermined value.

9. The non-transitory CRM of claim 7 , wherein the calibration reference frame is selected by a keystroke on a keyboard.

10. The non-transitory CRM of claim 7 , wherein the calibration reference frame is continuously updated with a predetermined periodicity.

11. The non-transitory CRM of claim 7 , wherein the measurement of the driving face position and size further comprises:

specifying, within the calibration reference frame, the fixed boundary box that is defined by parameters including:

a boundary box width,

a boundary box height, and

a boundary box position defined by a corner of the fixed boundary box;

determining, by facial recognition, a driving face box that encloses the driving face and is defined by parameters including:

a driving face box width,

a driving face box height, and

a driving face box position defined by a corner of the driving face box that corresponds to the similar corner of the fixed boundary box, wherein

the driving face size is determined by the driving face box width and the driving face box height, and

the driving face position is determined by the driving face box position.

12. The non-transitory CRM of claim 11 , wherein

the ideal face position is defined by a condition where the driving face box position is located at a predetermined ideal offset from the boundary box position, and

the ideal face size is defined by a condition where the driving face box width is a predetermined fraction of the boundary box width, and the driving face box height is a predetermined fraction of the boundary box height within an error tolerance.

13. A system for calibrating an animation, the system comprising:

a memory that stores a static source image of a source face;

an image capturing device that captures a driving video of a human, wherein the driving video comprises a plurality of driving video frames;

a processor coupled to the image capturing device and the memory, wherein the processor:

obtains the static source image;

determines whether a driving face, of the human, is present in each of the video frames;

measures a driving face position and a driving face size in a calibration reference frame of the driving video;

generates each of one or more modified video frames based on the calibration reference frame and each of one or more subsequent video frames, wherein the generating comprises:

determining whether a measured offset, between the driving face position and an ideal face position, has a magnitude greater than a translation threshold,

determining whether a measured scale factor, between the driving face size and an ideal face size, is greater than a scaling threshold,

translating the one or more subsequent video frames, by a corrective offset, with respect to a fixed boundary box, in response to determining that the magnitude of the measured offset is greater than the translation threshold, and

scaling the one or more subsequent video frames by a corrective scale factor, with respect to the fixed boundary box, in response to determining that the measured scale factor is greater than the scaling threshold; and

outputs, for each of the driving video frames, the source image in response to determining that the driving face is not present, and outputs the source image and the modified video frame in response to determining that the driving face is present.

14. The system of claim 13 , wherein the determining of whether the driving face is present further comprises:

setting a score by determining an average value of a feature map from a keypoint detection; and

determining that the driving face is present if the score is greater than a predetermined value, and determining that the driving face is not present if the score is less than or equal to the predetermined value.

15. The system of claim 13 , wherein the calibration reference frame is selected by a keystroke on a keyboard.

16. The system of claim 13 , wherein the calibration reference frame is continuously updated with a predetermined periodicity.

17. The system of claim 13 , wherein the measurement of the driving face position and size further comprises:

specifying, within the calibration reference frame, the fixed boundary box that is defined by parameters including:

a boundary box width,

a boundary box height, and

a boundary box position defined by a corner of the fixed boundary box;

determining, by facial recognition, a driving face box that encloses the driving face and is defined by parameters including:

a driving face box width,

a driving face box height, and

a driving face box position defined by a corner of the driving face box that corresponds to the similar corner of the fixed boundary box, wherein

the driving face size is determined by the driving face box width and the driving face box height, and

the driving face position is determined by the driving face box position.

18. The system of claim 17 , wherein

the ideal face position is defined by a condition where the driving face box position is located at a predetermined ideal offset from the boundary box position, and

the ideal face size is defined by a condition where the driving face box width is a predetermined fraction of the boundary box width, and the driving face box height is a predetermined fraction of the boundary box height within an error tolerance.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2022
From: LENOVO (UNITED STATES) INC.
To: LENOVO (SINGAPORE) PTE. LTD
Reel/Frame 059730/0212 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2021
From: IQBAL, IKHWAN MOHAMMAD; YAO, QIANG
To: LENOVO (UNITED STATES) INC.
Reel/Frame 058193/0004 →
Continuity (1)
Related Publication 20230154087A1 · May 18, 2023