IP Library › Granted Patent US 11,798,238
Granted Patent B2
US 11,798,238 · App. 17/447,614 · Granted Oct 24, 2023

Blending body mesh into external mesh

Inventors: Matan Zohar (Rishon LeZion, IL); Yanli Zhao (London, GB); Brian Fulkerson (London, GB)
Assignee: Snap Inc.
G06T19/006G06T7/251G06T13/40G06T13/80G06T17/20G06T19/20G06T2200/24G06T2207/10016G06T2219/2021
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,798,238
App. No.
17/447,614
Granted
Oct 24, 2023
Kind
B2
Abstract

Methods and systems are disclosed for performing operations comprising: receiving a video that includes a depiction of a real-world object; generating a three-dimensional (3D) body mesh associated with the real-world object that tracks movement of the real-world object across frames of the video; obtaining an external mesh associated with an augmented reality (AR) element; automatically establishing a correspondence between a portion of the 3D body mesh associated with the real-world object and the external mesh; blending the portion of the 3D body mesh into the external mesh according to a blending parameter; and as the portion of the 3D body mesh is being blended into the external mesh, modifying the video to depict a portion of the real-world object being changed into the AR element.

Claims (61)

1. A method comprising:

receiving, by one or more processors of a client device, a video that includes a depiction of a real-world object;

generating, by the one or more processors, a three-dimensional (3D) mesh associated with the real-world object that tracks movement of the real-world object across frames of the video;

obtaining an external mesh associated with an augmented reality (AR) element;

automatically establishing a correspondence between a portion of the 3D mesh associated with the real-world object and the external mesh;

blending the portion of the 3D mesh into the external mesh according to a blending parameter comprising a function selected from a group consisting of a linear function and non-linear function that controls progression of blending the portion of the 3D mesh into the external mesh over time; and

as the portion of the 3D mesh is being blended into the external mesh, modifying the video to depict a portion of the real-world object being changed into the AR element.

2. The method of claim 1 , wherein the real-world object comprises a person, wherein the portion of the 3D mesh represents a body part of the person depicted in the video, and wherein modifying the video to depict the portion of the real-world object being changed into the AR element comprises animating the body part of the person depicted in the video being morphed into the AR element.

3. The method of claim 1 , further comprising deforming the external mesh based on movement information of the 3D mesh and based on a pose of the real-world object.

4. The method of claim 3 , wherein the portion of the 3D mesh is blended into the external mesh as the external mesh is being deformed based on the movement information of the 3D mesh such that the video is modified in real time to depict the portion of the real-world object being changed into the AR element while the real-world object moves around a depicted real-world environment.

5. The method of claim 1 , further comprising animating the blending of the portion of the 3D mesh into the external mesh according to the selected function.

6. The method of claim 5 , wherein the blending is performed over a given time interval, further comprising:

linearly blending the portion of the 3D mesh into the external mesh at a first rate for a first portion of the given time interval to create a partially morphed 3D mesh; and

after the first portion of the given time interval elapses, continuing to blend the partially morphed 3D mesh into the external mesh at a second rate for a second portion of the given time interval.

7. The method of claim 5 , wherein the blending further comprises:

computing blending completion progress representing how much of the 3D mesh has been blended into the external mesh over a time period;

determining that the blending completion progress is less than a threshold value; and

in response to determining that the blending completion progress is less than the threshold value, linearly blending the portion of the 3D mesh into the external mesh at a first rate to create a partially morphed 3D mesh.

8. The method of claim 7 , further comprising:

determining that the blending completion progress has reached the threshold value as the portion of the 3D mesh is blended into the external mesh at the first rate; and

in response to determining that the blending completion progress has reached the threshold value, modifying the first rate at which the partially morphed 3D mesh continues to be blended into the external mesh.

9. The method of claim 8 , further comprising increasing the first rate to cause the partially morphed 3D mesh to continue to be blended into the external mesh at a faster pace.

10. The method of claim 8 , further comprising decreasing the first rate to cause the partially morphed 3D mesh to continue to be blended into the external mesh at a slower pace.

11. The method of claim 7 , further comprising:

determining that the blending completion progress has reached the threshold value as the portion of the 3D mesh is blended into the external mesh at the first rate; and

in response to determining that the blending completion progress has reached the threshold value, causing the partially morphed 3D mesh to be blended into the external mesh according to a springing effect.

12. The method of claim 1 , further comprising obtaining placement information for the external mesh that describes where to position the external mesh relative to the 3D mesh and that includes the blending parameter.

13. The method of claim 1 , further comprising:

computing a change in body shape, body state, or body properties of the real-world object across the frames of the video; and

adjusting a shape of the external mesh based on the change in the shape, body state, or body properties.

14. The method of claim 1 , further comprising:

computing a change in position or scale of the real-world object across the frames of the video; and

adjusting a position or scale of the external mesh based on the change in the position or scale.

15. The method of claim 1 , further comprising:

computing a change in rotation of the real-world object across the frames of the video; and

rotating the external mesh in 3D based on the change in the rotation.

16. The method of claim 1 , further comprising:

determining a first set of coordinates of the 3D mesh in a normal-tangent space for a first frame of the frames of the video;

determining a second set of coordinates of the mesh in the normal-tangent space for a second frame of the frames of the video;

computing, in real time, a change between the first and second sets of coordinates in the normal-tangent space; and

transferring the change between the first and second sets of coordinates in the normal-tangent space to the external mesh as the 3D mesh continues to be blended into the external mesh.

17. The method of claim 1 , further comprising:

receiving, by a messaging application, placement information for the external mesh from a third-party designer of the external mesh; and

adding the external mesh to the 3D mesh based on the placement information.

18. A system comprising:

a processor of a client device; and

a memory component having instructions stored thereon that, when executed by the processor, cause the processor to perform operations comprising:

receiving a video that includes a depiction of a real-world object;

generating a three-dimensional (3D) mesh associated with the real-world object that tracks movement of the real-world object across frames of the video;

obtaining an external mesh associated with an augmented reality (AR) element;

automatically establishing a correspondence between a portion of the 3D mesh associated with the real-world object and the external mesh;

blending the portion of the 3D mesh into the external mesh according to a blending parameter comprising a linear or non-linear function that controls progression of blending the portion of the 3D mesh into the external mesh over time; and

as the portion of the 3D mesh is being blended into the external mesh, modifying the video to depict a portion of the real-world object being changed into the AR element.

19. The system of claim 18 , the operations comprising animating the blending of the portion of the 3D mesh into the external mesh according to the selected function.

20. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by a processor of a client device, cause the processor to perform operations comprising:

receiving a video that includes a depiction of a real-world object;

generating a three-dimensional (3D) mesh associated with the real-world object that tracks movement of the real-world object across frames of the video;

obtaining an external mesh associated with an augmented reality (AR) element;

automatically establishing a correspondence between a portion of the 3D mesh associated with the real-world object and the external mesh;

blending the portion of the 3D mesh into the external mesh according to a blending parameter comprising a linear or non-linear function that controls progression of blending the portion of the 3D mesh into the external mesh over time; and

as the portion of the 3D mesh is being blended into the external mesh, modifying the video to depict a portion of the real-world object being changed into the AR element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2023
From: ZOHAR, MATAN; ZHAO, YANLI; FULKERSON, BRIAN
To: SNAP INC.
Reel/Frame 063282/0631 →
Continuity (1)
Related Publication 20230080584A1 · Mar 16, 2023
Cited By (5)
US 12,198,281 US 12,217,453 US 12,299,830 US 12,380,649 US 12,561,914