IP Library Granted Patent US 10,950,024
Granted Patent B2
US 10,950,024 · App. 16/522,540 · Granted Mar 16, 2021

Pose space dimensionality reduction for pose space deformation of a virtual character

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,950,024
App. No.
16/522,540
Granted
Mar 16, 2021
Kind
B2
Abstract

Systems and methods for reducing pose space dimensionality. A plurality of example poses can define an input pose space. Each of the example poses can include a set of joint rotations for a virtual character. The joint rotations can be expressed with a singularity-free mathematical representation. The plurality of example poses can then be clustered into one or more clusters. A representative pose can be determined for each cluster. An output pose space with a reduced dimensionality, as compared to the input pose space, can then be provided.

Claims (44)

1. A system comprising:

non-transitory computer storage for storing a plurality of example poses of a skeletal system for a virtual character; and

a hardware computer processor in communication with the non-transitory computer storage, the hardware computer processor being configured to reduce a dimensionality of an input pose space by executing a method comprising:

clustering the plurality of example poses into one or more clusters, the plurality of example poses defining the input pose space, each of the plurality of example poses comprising a set of joint rotations, the joint rotations having a singularity-free mathematical representation;

determining a representative pose for each cluster; and

providing an output pose space with a reduced dimensionality as compared to the input pose space.

2. The system of claim 1 , wherein the singularity-free mathematical representation of the joint rotations comprises a quaternion representation.

3. The system of claim 2 , further comprising:

receiving the plurality of example poses with the joint rotations having an Euler angle representation; and

converting the Euler angle representation to the quaternion representation.

4. The system of claim 1 , wherein the example poses are clustered into the one or more clusters based on a metric to determine similarity between each example pose and each cluster.

5. The system of claim 1 , wherein clustering the example poses comprises mapping each of the example poses to a point in multi-dimensional space.

6. The system of claim 5 , wherein clustering the example poses further comprises:

determining a centroid for each cluster;

determining a distance between the point for each example pose and the centroid of each cluster; and

assigning each example pose to a nearest cluster.

7. The system of claim 6 , further comprising iteratively determining the centroid for each cluster and assigning each example pose to the nearest cluster.

8. The system of claim 6 , wherein the representative pose for each cluster comprises one of the example poses assigned to that respective cluster or an example pose associated with the centroid of that respective cluster.

9. The system of claim 1 , further comprising determining the number of clusters.

10. The system of claim 9 , wherein determining the number of clusters comprises:

clustering the plurality of example poses into the one or more clusters for each of a plurality of different candidate numbers of clusters;

calculating an error metric associated with each candidate numbers of clusters; and

selecting one of the candidate numbers of clusters based on the error metrics associated with the candidate numbers of clusters.

11. The system of claim 10 , wherein the error metric comprises a sum, for all of the example poses in the input pose space, of a squared distance between a point corresponding to each example pose and a centroid of its assigned cluster.

12. The system of claim 10 , wherein selecting one of the candidate numbers of clusters comprises determining whether the error metric associated with said one of the candidate numbers of clusters satisfies a selected criterion.

13. The system of claim 12 , wherein the criterion is that a rate of change of the error metric passes a designated threshold.

14. The system of claim 1 , further comprising training a pose space deformer using the output pose space.

15. The system of claim 14 , further comprising calculating mesh deformations for a virtual character using the pose space deformer.

16. The system of claim 14 , further comprising controlling a plurality of blendshapes in an output deformation matrix using the pose space deformer.

17. The system of claim 16 , wherein the output deformation matrix is generated by reducing a dimensionality of an input deformation matrix using Principal Component Analysis.

18. The system of claim 17 , wherein reducing the dimensionality of the input deformation matrix comprises:

determining principal components of the input deformation matrix;

omitting one or more of the principal components to leave one or more remaining principal components;

generating the output deformation matrix using one or more blendshapes associated with the one or more remaining principal components.

19. The system of claim 1 , wherein the output pose space is at least 30% smaller than the input pose space.

20. The system of claim 1 , wherein the system comprises a virtual reality, augmented reality, or mixed reality display system.

21. The system of claim 1 ,

wherein the hardware computer processor is further configured to remove one or more of the example poses in each cluster from the pose space after determining the representative pose for each cluster, and

wherein the output pose space with the reduced dimensionality consists of the representative pose for each cluster.

22. A method comprising:

obtaining a plurality of example poses of a skeletal system for a virtual character, the plurality of example poses defining an input pose space, each of the plurality of example poses comprising a set of joint rotations, the joint rotations having a singularity-free mathematical representation;

clustering the plurality of example poses into one or more clusters;

determining a representative pose for each cluster; and

providing an output pose space with a reduced dimensionality as compared to the input pose space.

Assignments (4)
SECURITY INTEREST Recorded May 24, 2022
From: MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC; MAGIC LEAP, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060338/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: COMER, SEAN MICHAEL; WEDIG, GEOFFREY
To: MAGIC LEAP, INC.
Reel/Frame 055789/0520 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2021
From: COMER, SEAN MICHAEL; WEDIG, GEOFFREY
To: MAGIC LEAP, INC.
Reel/Frame 055137/0905 →
SECURITY INTEREST Recorded May 21, 2020
From: MAGIC LEAP, INC.; MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 052729/0791 →