IP Library Granted Patent US 12,054,227
Granted Patent B2
US 12,054,227 · App. 17/385,620 · Granted Aug 6, 2024

Matching meshes for virtual avatars

Inventor: Sean Michael Comer (Encino, CA)
Assignee: Magic Leap, Inc.
B63B21/26B63B35/44B63H21/32F01N13/004G06T13/40G06T17/20G06T19/20G06V40/10F01N2590/02
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 12,054,227
App. No.
17/385,620
Granted
Aug 6, 2024
Kind
B2
Abstract

Examples of systems and methods for matching a base mesh to a target mesh for a virtual avatar or object are disclosed. The systems and methods may be configured to automatically match a base mesh of an animation rig to a target mesh, which may represent a particular pose of the virtual avatar or object. Base meshes may be obtained by manipulating an avatar or object into a particular pose, while target meshes may be obtain by scanning, photographing, or otherwise obtaining information about a person or object in the particular pose. The systems and methods may automatically match a base mesh to a target mesh using rigid transformations in regions of higher error and non-rigid deformations in regions of lower error.

Claims (57)

1. A method for matching a base mesh to a target mesh, the method comprising:

obtaining, using computing equipment, base and target meshes, each of which comprises a plurality of vertices;

matching, using the computing equipment, the base mesh to the target mesh by:

(i) determining distance differences between at least some of the vertices of the base mesh relative to the target mesh;

(ii) identifying a set of vertices in the base mesh that have distance differences above a first threshold;

(iii) applying a rigid transformation to the set of vertices in the base mesh to reduce the distance differences of the vertices in the set of vertices and to produce a first transformed base mesh; and

(iv) applying a non-rigid deformation to the set of vertices in the first transformed base mesh to further reduce the distance differences of the vertices in the set of vertices and to produce a second transformed base mesh; and

providing, using the computing equipment, a blendshape based at least on the second transformed base mesh.

2. The method of claim 1 , wherein the target mesh is determined from photographic scans of a human or animal subject performing a pose.

3. The method of claim 1 , wherein the rigid transformation comprises a rotation and a translation.

4. The method of claim 1 , wherein the rigid transformation comprises a rigid nearest-neighbor transformation.

5. The method of claim 1 , wherein the non-rigid deformation comprises a closest point on surface transformation.

6. The method of claim 1 , further comprising:

determining a first falloff region;

determining a second falloff region outside of and enclosing the first falloff region, the second falloff region associated with a lower error in the distance differences than the first falloff region;

applying the rigid transformation or the non-rigid deformation for base mesh vertices in the first falloff region; and

feathering the rigid transformation or the non-rigid deformation for base mesh vertices in the second falloff region.

7. The method of claim 6 , further comprising not applying a transformation to base mesh vertices outside the second falloff region.

8. The method of claim 1 , further comprising removing one or more artifacts from the second transformed base mesh after completion of operations (iii) and (iv).

9. The method of claim 1 , wherein providing the blendshape is performed responsive to determining that a convergence criterion has been met.

10. A system for matching a base mesh to a target mesh, the system comprising:

non-transitory computer storage configured to store the base and target meshes, each of which comprises a plurality of vertices; and

a hardware processor configured to match the base mesh to the target mesh, the hardware processor in communication with the non-transitory computer storage and the hardware processor programmed to:

(i) determine distance differences between at least some of the vertices of the base mesh relative to the target mesh;

(ii) identify a set of vertices in the base mesh that have distance differences above a first threshold;

(iii) apply a rigid transformation to the set of vertices in the base mesh to reduce the distance differences of the vertices in the set of vertices and to produce a first transformed base mesh;

(iv) apply a non-rigid deformation to the set of vertices in the first transformed base mesh to further reduce the distance differences of the vertices in the set of vertices and to produce a second transformed base mesh; and

(v) provide a blendshape based at least on the second transformed base mesh.

11. The system of claim 10 , wherein the target mesh is determined from photographic scans of a human or animal subject performing a pose.

12. The system of claim 10 , wherein the rigid transformation comprises a rotation and a translation.

13. The system of claim 10 , wherein the rigid transformation comprises a rigid nearest-neighbor transformation.

14. The system of claim 10 , wherein the non-rigid deformation comprises a closest point on surface transformation.

15. The system of claim 10 , wherein the hardware processor is further programmed to:

determine a first falloff region;

determine a second falloff region outside of and enclosing the first falloff region, the second falloff region associated with a lower error in the distance differences than the first falloff region;

apply the rigid transformation or the non-rigid deformation for base mesh vertices in the first falloff region; and

feather the rigid transformation or the non-rigid deformation for base mesh vertices in the second falloff region.

16. The system of claim 15 , wherein the hardware processor is further programmed to not apply a transformation to base mesh vertices outside the second falloff region.

17. The system of claim 10 , wherein the hardware processor is further programmed to remove one or more artifacts from the second transformed base mesh after completion of operations (iii) and (iv).

18. The system of claim 10 , wherein the hardware processor is programmed to provide the blendshape is responsive to a determination that a convergence criterion has been met.

19. A system for generating at least one blendshape for a digital representation of a deformable object, the system comprising:

non-transitory computer storage configured to store first and second meshes, each of which comprises a plurality of mesh vertices; and

a hardware processor configured to match the first mesh to the second mesh, the hardware processor in communication with the non-transitory computer storage and the hardware processor programmed to:

(i) determine distance differences between the mesh vertices of first and second regions of the first mesh relative to the mesh vertices of the second mesh;

(ii) apply a first type of transformation to the mesh vertices in the first region of the first mesh to reduce the distance differences associated with mesh vertices in the first region;

(iii) apply a second type of transformation to the mesh vertices in the second region of the first mesh to reduce the distance differences associated with mesh vertices in the second region; and

(iv) provide a blendshape based at least on the first mesh with transformed mesh vertices.

20. A system for matching a base mesh to a target mesh, the system comprising:

non-transitory computer storage configured to store the base and target meshes, each of which comprises a plurality of vertices; and

a hardware processor configured to match the base mesh to the target mesh, the hardware processor in communication with the non-transitory computer storage and the hardware processor programmed to:

(i) apply at least one iteration of a first type of transformation to at least some of the vertices of the base mesh until distance differences between the base and target meshes are below a first threshold;

(ii) apply at least one iteration of a second type of transformation to at least some of the vertices of the base mesh until the distance differences between the base and target meshes are below a second threshold, wherein the second threshold is smaller than the first threshold; and

(iii) provide an output based at least on the base mesh with transformed vertices,

wherein the first type of transformation comprises a rigid transformation of at least some of the vertices of the base mesh towards corresponding vertices of the target mesh,

wherein the rigid transformation comprises a rigid nearest-neighbor transformation,

wherein the second type of transformation comprises a non-rigid deformation of at least some of the vertices of the base mesh towards corresponding vertices of the target mesh, and

wherein the non-rigid deformation comprises a closest point on the surface (CPOS) deformation.

Assignments (3)
SECURITY INTEREST Recorded Oct 28, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073387/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2024
From: COMER, SEAN MICHAEL
To: MAGIC LEAP, INC.
Reel/Frame 066939/0098 →
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 →
Continuity (3)
Division 16274677 · Feb 13, 2019
Provisional Application 62635939 · Feb 27, 2018
Related Publication 20210358214A1 · Nov 18, 2021