IP Library › Granted Patent US 11,587,278
Granted Patent B1
US 11,587,278 · App. 17/403,730 · Granted Feb 21, 2023

Systems and methods for computer animation of an artificial character using facial poses from a live actor

Inventors: Wan-duo Kurt Ma (Wellington, NZ); Muhammad Ghifary (Bandung, ID)
Assignee: UNITY TECHNOLOGIES SF
G06T13/40G06N3/08G06T7/73G06T2200/24G06T2207/30201G06T2207/30204
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,587,278
App. No.
17/403,730
Granted
Feb 21, 2023
Kind
B1
Abstract

Embodiments described herein provide an approach of animating a character face of an artificial character based on facial poses performed by a live actor. Geometric characteristics of the facial surface corresponding to each facial pose performed the live actor may be learnt by a machine learning system, which in turn build a mesh of a facial rig of an array of controllable elements applicable on a character face of an artificial character.

Claims (50)

1. A computer-implemented method for generating a first data structure usable for representing an animated facial pose applicable in an animation system to an artificial character, the method comprising:

receiving, via a plurality of markers placed on a face of a human actor, data relating to one or more facial poses performed by the human actor;

transforming, by a deep learning network, control values corresponding to a set of controllable elements that are distributed on an animated character face based on the data relating to the one or more facial poses performed by the human actor,

wherein changes of the control values cause a pose change from a first animated facial pose to a second animated facial pose on the animated character face;

obtaining a plurality of animation control curves over a period of time corresponding to the set of controllable elements;

jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points, wherein each snapshot represents a plurality of salient data points on the plurality of animation control curves at the respective time point;

applying the selected sets of snapshots of salient data points as joint time-varying control values to the set of controllable elements over the period of time; and

generating, from application of the selected sets of snapshots, one or more animated facial poses of the character face of the artificial character.

2. The method of claim 1 , wherein the selected sets of snapshots of salient data points contain fewer data points on each animation control curve compared to an original count of control values on the respective animation control curve.

3. The method of claim 1 , wherein the data relating to the one or more facial poses performed by the human actor includes a set of geometric parameters corresponding to positions of the plurality of markers placed on the face of the human actor, and wherein each set of the positions of the plurality of markers represents a respective facial pose performed by the human actor.

4. The method of claim 1 , wherein the data relating to the one or more facial poses performed by the human actor includes a plurality of facial scans obtained from the face of the human actor, and wherein each facial scan includes a set of muscle strain values and a corresponding set of skin surface values that correspond to a respective facial pose.

5. The method of claim 1 , wherein each animation control curve from the plurality of animation control curves takes a form of a time series of muscle strain values evolving over the time period.

6. The method of claim 1 , wherein each animation control curve from the plurality of animation control curves takes a form of a time series of geometric parameter depicting a time-varying position of a respective controllable element over the time period.

7. The method of claim 1 , wherein the jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points further comprises:

receiving, via a user interface, a user input that indicates a density of the salient data points on each animation control curve.

8. The method of claim 1 , wherein the jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points further comprises:

receiving, a user interface, a user input that indicates one or more salient data points on a particular amination control curve are to be chosen from the respective animation control curve.

9. The method of claim 1 , wherein the jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points further comprises:

sampling a discrete-time series of data points from the respective animation control curve; and

computing a salient point on the respective animation control curve to approximate a cluster of adjacent data points from the discrete-time series of data points.

10. The method of claim 9 , wherein the salient point is computed as a data point on the respective animation control curve corresponding to an average time instance among the cluster of adjacent data points.

11. The method of claim 9 , wherein the salient point is computed as a data point at which a first order derivative of the respective animation control curve changes a sign among a time range spanned by the cluster of adjacent data points.

12. The method of claim 1 , wherein the jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points further comprises:

generating, by a machine learning module, an output of the set of snapshots based on an input of the plurality of animation control curves.

13. The method of claim 1 , wherein the operation of jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points further comprises:

generating, by a machine learning module, an output of the set of snapshots based on an input of the plurality of animation control curves.

14. A system for generating a first data structure usable for representing an animated facial pose applicable in an animation system to an artificial character, the system comprising:

a data interface receiving, via a plurality of markers placed on a face of a human actor, data relating to one or more facial poses performed by the human actor;

a memory storing a deep learning network; and

a processor executing processor-executed instructions to perform operations comprising: transforming, by the deep learning network, control values corresponding to a set of controllable elements that are distributed on an animated character face based on the data relating to the one or more facial poses performed by the human actor,

wherein changes of the control values cause a pose change from a first animated facial pose to a second animated facial pose on the animated character face;

obtaining a plurality of animation control curves over a period of time corresponding to the set of controllable elements;

jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points, wherein each snapshot represents a plurality of salient data points on the plurality of animation control curves at the respective time point;

applying the selected sets of snapshots of salient data points as joint time-varying control values to the set of controllable elements over the period of time; and

generating, from application of the selected sets of snapshots, one or more animated facial poses of the character face of the artificial character.

15. The method of claim 14 , wherein the selected sets of snapshots of salient data points contain fewer data points on each animation control curve compared to an original count of control values on the respective animation control curve.

16. The method of claim 14 , wherein the data relating to the one or more facial poses performed by the human actor includes a set of geometric parameters corresponding to positions of the plurality of markers placed on the face of the human actor, and wherein each set of the positions of the plurality of markers represents a respective facial pose performed by the human actor.

17. The method of claim 14 , wherein each animation control curve from the plurality of animation control curves takes a form of a time series of geometric parameter depicting a time-varying position of a respective controllable element over the time period.

18. The method of claim 14 , wherein the operation of jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points further comprises:

receiving, via a user interface, a user input that indicates a density of the salient data points on each animation control curve.

19. The method of claim 14 , wherein the operation of jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points further comprises:

receiving, a user interface, a user input that indicates one or more salient data points on a particular amination control curve are to be chosen from the respective animation control curve.

20. A processor-readable non-transitory storage medium storing a plurality of processor-executable instructions for generating a first data structure usable for representing an animated facial pose applicable in an animation system to an artificial character, the instructions being executed by a processor to perform operations comprising:

receiving, via a plurality of markers placed on a face of a human actor, data relating to one or more facial poses performed by the human actor;

transforming, by a deep learning network, control values corresponding to a set of controllable elements that are distributed on an animated character face based on the data relating to the one or more facial poses performed by the human actor,

wherein changes of the control values cause a pose change from a first animated facial pose to a second animated facial pose on the animated character face;

obtaining a plurality of animation control curves over a period of time corresponding to the set of controllable elements;

jointly selecting, across the plurality of animation control curves over the period of time, a set of snapshots corresponding to a plurality of time points, wherein each snapshot represents a plurality of salient data points on the plurality of animation control curves at the respective time point;

applying the selected sets of snapshots of salient data points as joint time-varying control values to the set of controllable elements over the period of time; and

generating, from application of the selected sets of snapshots, one or more animated facial poses of the character face of the artificial character.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2022
From: MA, WAN-DUO KURT; GHIFARY, MUHAMMAD; LEWIS, JOHN P.
To: UNITY TECHNOLOGIES SF
Reel/Frame 059211/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: UNITY SOFTWARE INC.
To: UNITY TECHNOLOGIES SF
Reel/Frame 058980/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2022
From: WETA DIGITAL LIMITED
To: UNITY SOFTWARE INC.
Reel/Frame 058978/0905 →
Continuity (1)
Provisional Application 63233611 · Aug 16, 2021