IP Library Granted Patent US 11,341,703
Granted Patent B2
US 11,341,703 · App. 17/118,479 · Granted May 24, 2022

Methods and systems for generating an animation control rig

Inventors: Niall J. Lenihan (Wellington, NZ); Sander van der Steen (Wellington, NZ); Richard Chi Lei (Wellington, NZ); Florian Deconinck (Wellington, NZ)
Assignee: UNITY TECHNOLOGIES SF
G06T13/40G06N3/08G06T7/251G06T7/254G06T2207/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,341,703
App. No.
17/118,479
Granted
May 24, 2022
Kind
B2
Abstract

An aspect provides a computer-implemented method for training controls for an animation control rig using a neural network. The method comprises receiving 502 a combination of training data, wherein the combination of training data includes a first set of training data derived from image capture poses of a physical object and a second set of training data derived from posing an animation version of the physical object; receiving 504 a set of coarse error data derived from a first training process of the combination of training data, the first training process comprising passing at least some of the combination of training data to the neural network as a sequence of training steps; determining 506 a rate of change of training errors associated with the coarse error data; in response to detecting 512 a rate of change of training errors that crosses a rate of change threshold, during a second processing of the combination of training data, varying 514 a learning rate over time based on a slope of the rate of change of training errors.

Claims (50)

1. A computer-implemented method for training a computer system to use motion capture data to animate an animation control rig describing a model in a plurality of poses, the method comprising:

receiving training data, the training data including motion capture data associated with a target animation sequence;

selecting parameters;

generating a test animation sequence from the training data by using a matching system configured with the selected parameters;

determining an error value by comparing the test animation sequence to the target animation sequence and accumulating positional differences of corresponding components;

generating a set of error values by repeating the above selecting, generating and determining, wherein each iteration of selecting parameters varies at least one parameter by a step amount;

analyzing the set of error values to identify a group of two or more error values that decrease more than a predetermined rate threshold;

identifying parameters used to generate the identified group of error values;

using a smaller step amount to vary one or more of the identified parameters in a second sequence of selecting, generating and determining, until a lower error value is found; and

using the selected parameters corresponding to the lower error value to configure the matching system to use the motion capture data to animate the animation control rig.

2. The computer-implemented method of claim 1 , further comprising:

employing an initial training setting of one type of member of the model to set an initial state of training for another type of member of the model.

3. The computer-implemented method of claim 1 , wherein the training data is derived at least in part using forward kinematics.

4. The computer-implemented method of claim 1 , wherein the training data is derived at least in part using inverse kinematics.

5. The computer-implemented method of claim 1 , wherein determining the decrease in error values includes analyzing a rate of change of error values from an output of a neural network.

6. The computer-implemented method of claim 1 , wherein the decreasing the step amount is based on a slope of a rate of change of error values.

7. An apparatus comprising:

one or more processors;

a non-transitory storage medium including instructions which, when executed by the one or more processors, implement training a computer system to use motion capture data to animate an animation control rig describing a model in a plurality of poses, the instructions comprising:

receiving training data, the training data including motion capture data associated with a target animation sequence;

selecting parameters;

generating a test animation sequence from the training data by using a matching system configured with the selected parameters;

determining an error value by comparing the test animation sequence to the target animation sequence and accumulating positional differences of corresponding components;

generating a set of error values by repeating the above selecting, generating and determining, wherein each iteration of selecting parameters varies at least one parameter by a step amount;

analyzing the set of error values to identify a group of two or more error values that decrease more than a predetermined rate threshold;

identifying parameters used to generate the identified group of error values;

using a smaller step amount to vary one or more of the identified parameters in a second sequence of selecting, generating and determining, until a lower error value is found; and

using the selected parameters corresponding to the lower error value to configure the matching system to use the motion capture data to animate the animation control rig.

8. The apparatus of claim 7 , the instructions further comprising:

employing an initial training setting of one type of member of the model to set an initial state of training for another type of member of the model.

9. The apparatus of claim 7 , wherein the training data is derived at least in part using forward kinematics.

10. The apparatus of claim 7 , wherein the training data is derived at least in part using inverse kinematics.

11. The apparatus of claim 7 , wherein determining the decrease in error values includes analyzing a rate of change of error values from an output of a neural network.

12. The apparatus of claim 7 , wherein the decreasing the step amount is based on a slope of a rate of change of error values.

13. A non-transitory storage medium including instructions which, when executed by one or more processors, implement training a computer system to use motion capture data to animate an animation control rig describing a model in a plurality of poses, the instructions comprising:

receiving training data, the training data including motion capture data associated with a target animation sequence;

selecting parameters;

generating a test animation sequence from the training data by using a matching system configured with the selected parameters;

determining an error value by comparing the test animation sequence to the target animation sequence and accumulating positional differences of corresponding components;

generating a set of error values by repeating the above selecting, generating and determining, wherein each iteration of selecting parameters varies at least one parameter by a step amount;

analyzing the set of error values to identify a group of two or more error values that decrease more than a predetermined rate threshold;

identifying parameters used to generate the identified group of error values;

using a smaller step amount to vary one or more of the identified parameters in a second sequence of selecting, generating and determining, until a lower error value is found; and

using the selected parameters corresponding to the lower error value to configure the matching system to use the motion capture data to animate the animation control rig.

14. The non-transitory storage medium of claim 13 , the instructions further comprising:

employing an initial training setting of one type of member of the model to set an initial state of training for another type of member of the model.

15. The non-transitory storage medium of claim 13 , wherein the training data is derived at least in part using forward kinematics.

16. The non-transitory storage medium of claim 13 , wherein the training data is derived at least in part using inverse kinematics.

17. The non-transitory storage medium of claim 13 , wherein determining the decrease in error values includes analyzing a rate of change of error values from an output of a neural network.

18. The non-transitory storage medium of claim 13 , wherein the decreasing the step amount is based on a slope of a rate of change of error values.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2021
From: LENIHAN, NIALL J; VAN DER STEEN, SANDER; LEI, RICHARD CHI; DECONINCK, FLORIAN
To: WETA DIGITAL LIMITED
Reel/Frame 057314/0544 →
Continuity (2)
Provisional Application 63056429 · Jul 24, 2020
Related Publication 20220028144A1 · Jan 27, 2022