IP Library Granted Patent US 11,915,365
Granted Patent B2
US 11,915,365 · App. 16/949,781 · Granted Feb 27, 2024

3D body model generation

Inventors: Riza Alp Guler (London, GB); Haoyang Wang (London, GB); Iason Kokkinos (London, GB); Stefanos Zafeiriou (London, GB)
Assignee: Snap Inc.
G06T17/00G06V20/64
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,915,365
App. No.
16/949,781
Granted
Feb 27, 2024
Kind
B2
Abstract

Aspects of the present disclosure involve a system and a method for performing operations comprising: receiving a plurality of bone scale coefficients each corresponding to respective bones of a skeleton model; receiving a plurality of joint angle coefficients that collectively define a pose for the skeleton model; generating the skeleton model based on the received bone scale coefficients and the received joint angle coefficients; generating a base surface based on the plurality of bone scale coefficients; generating an identity surface by deformation of the base surface; and generating the 3D body model by mapping the identity surface onto the posed skeleton model.

Claims (60)

1. A computer-implemented method of generating a 3D body model, the method comprising:

receiving a plurality of bone scale coefficients each corresponding to respective bones of a skeleton model;

receiving a plurality of joint angle coefficients that collectively define a pose for the skeleton model;

obtaining a mean skeleton and a body template that represents an average population;

adjusting each individual bone length of the mean skeleton based on the plurality of bone scale coefficients to generate a scaled skeleton model in parallel with correcting the body template based on the plurality of bone scale coefficients, wherein some components of the mean skeleton are reduced in size to match the respective bones of the skeleton model while other components of the mean skeleton remain unchanged in size;

after adjusting each individual bone length of the mean skeleton model to generate the scaled skeleton model, generating a posed skeleton model based on the scaled skeleton model and the received joint angle coefficients;

generating an identity surface by deformation of a base surface comprising the corrected body template;

generating the 3D body model by mapping the identity surface onto the posed skeleton model; and

training a 3D model generator to generate the 3D body model by performing training operations comprising:

obtaining a collection of 3D scans that depict various persons in different poses and shapes, each 3D scan of the collection of 3D scans being associated with a set of anatomical landmarks that have been localized in 3D;

fitting an individual template to the set of landmarks by gradient descent on joint angles and bone scales to minimize 3D distances between landmark positions and respective template vertices to generate a collection of bone scales and parameters;

refining the fitting of the individual template by registering a prediction of each of the parameters to each 3D scan; and

minimizing a function based on a difference between a ground truth template and the refined fitted individual template.

2. The method of claim 1 , wherein the skeleton model comprises a tree-structured graph, and generating the skeleton model comprises a recursive generation of a root bone element and a plurality of leaf bone elements.

3. The method of claim 2 , wherein the skeleton model comprises a resting position for each bone element, and a rotation matrix and a scaling factor for each bone element, wherein the rotation matrix and the scaling factor are applied recursively to each bone element in sequence.

4. The method of claim 3 , wherein the resting position for each bone element is represented by a template rotation matrix and a translation vector for the respective bone element.

5. The method of claim 1 , wherein the plurality of joint angle coefficients are each restrained to a kinematically valid angular range.

6. The method of claim 5 , wherein each of the plurality of joint angle coefficients is restrained by mapping a corresponding unconstrained variable to the kinematically valid angular range.

7. The method of claim 1 , wherein the joint angle coefficients comprise 47 joint angle coefficients.

8. The method of claim 1 , wherein generating the base surface comprises generating a mean surface and applying a correction to the mean surface based on a bone-length dependent deformation.

9. The method of claim 1 , wherein generating the identity surface comprises deformation of the base surface based on a plurality of linear identity parameters.

10. The method of claim 1 , wherein mapping the identity surface onto the posed skeleton model comprises mapping using a linear blend skinning process, wherein the 3D body model corresponds to a human or an animal.

11. The method of claim 10 , wherein the linear blend skinning process comprises mapping a surface point on the identity surface based on a bone element of the skeleton model, by charting the surface point with respect to a resting position for the bone element, and transporting the charted point based on a posed position for the respective bone element.

12. The method of claim 11 , wherein the linear blend skinning process comprises mapping the surface point on the identity surface based on each bone element of the skeleton model, and calculating a weighting factor for each respective mapping.

13. The method of claim 1 , wherein the plurality of bone scale coefficients and the plurality of joint angle coefficients are determined based on image processing of an input 2D image, the input 2D image comprising a representation of at least one body.

14. The method of claim 13 , further comprising processing, using a deep convolutional neural network, the 2D image to detect presence of at least one body, and to estimate the plurality of bone scale coefficients and the plurality of joint angle coefficients for the at least one detected body.

15. The method of claim 14 , further comprising generating an output 2D image based on the input 2D image and the generated 3D body model, wherein the representation of a body in the input image is replaced with a corresponding 2D representation of the 3D body model.

16. The method of claim 15 , wherein generating the output 2D image comprises:

generating the 3D body model based on the plurality of bone scale coefficients and the plurality of joint angle coefficients determined from the input 2D image;

generating a 2D projection of the 3D body model, based on the input 2D image; and

overlaying the 2D projection onto the representation of a body in the input image.

17. A system for generating a 3D body model comprising:

at least one processor configured to perform operations comprising:

receiving a plurality of bone scale coefficients each corresponding to respective bones of a skeleton model;

receiving a plurality of joint angle coefficients that collectively define a pose for the skeleton model;

obtaining a mean skeleton and a body template that represents an average population;

adjusting each individual bone length of the mean skeleton based on the plurality of bone scale coefficients to generate a scaled skeleton model in parallel with correcting the body template based on the plurality of bone scale coefficients, wherein some components of the mean skeleton are reduced in size to match the respective bones of the skeleton model while other components of the mean skeleton remain unchanged in size;

after adjusting each individual bone length of the mean skeleton model to generate the scaled skeleton model generating a posed skeleton model based on the scaled skeleton model and the received joint angle coefficients;

generating an identity surface by deformation of a base surface comprising the corrected body template;

generating the 3D body model by mapping the identity surface onto the posed skeleton model; and

training a 3D model generator to generate the 3D body model by performing training operations comprising:

obtaining a collection of 3D scans that depict various persons in different poses and shapes, each 3D scan of the collection of 3D scans being associated with a set of anatomical landmarks that have been localized in 3D;

fitting an individual template to the set of landmarks by gradient descent on joint angles and bone scales to minimize 3D distances between landmark positions and respective template vertices to generate a collection of bone scales and parameters;

refining the fitting of the individual template by registering a prediction of each of the parameters to each 3D scan; and

minimizing a function based on a difference between a ground truth template and the refined fitted individual template.

18. The system of claim 17 , wherein the skeleton model comprises a tree-structured graph, and generating the skeleton model comprises a recursive generation of a root bone element and a plurality of leaf bone elements.

19. The system of claim 18 , wherein the skeleton model comprises a resting position for each bone element, and a rotation matrix and a scaling factor for each bone element, wherein the rotation matrix and the scaling factor are applied recursively to each bone element in sequence.

20. A non-transitory machine-readable storage medium that includes instructions that, when executed by one or more processors of a machine, cause the machine to perform operations for generating a 3D body model comprising:

receiving a plurality of bone scale coefficients each corresponding to respective bones of a skeleton model;

receiving a plurality of joint angle coefficients that collectively define a pose for the skeleton model;

obtaining a mean skeleton and a body template that represents an average population;

adjusting each individual bone length of the mean skeleton based on the plurality of bone scale coefficients to generate a scaled skeleton model in parallel with correcting the body template based on the plurality of bone scale coefficients, wherein some components of the mean skeleton are reduced in size to match the respective bones of the skeleton model while other components of the mean skeleton remain unchanged in size;

after adjusting each individual bone length of the mean skeleton model to generate the scaled skeleton model generating a posed skeleton model based on the scaled skeleton model and the received joint angle coefficients;

generating an identity surface by deformation of a base surface comprising the corrected body template;

generating the 3D body model by mapping the identity surface onto the posed skeleton model; and

training a 3D model generator to generate the 3D body model by performing training operations comprising:

obtaining a collection of 3D scans that depict various persons in different poses and shapes, each 3D scan of the collection of 3D scans being associated with a set of anatomical landmarks that have been localized in 3D;

fitting an individual template to the set of landmarks by gradient descent on joint angles and bone scales to minimize 3D distances between landmark positions and respective template vertices to generate a collection of bone scales and parameters;

refining the fitting of the individual template by registering a prediction of each of the parameters to each 3D scan; and

minimizing a function based on a difference between a ground truth template and the refined fitted individual template.

Assignments (5)
MERGER Recorded May 17, 2023
From: ARIEL AI, LLC
To: SNAP INTERMEDIATE INC.
Reel/Frame 063674/0019 →
CHANGE OF NAME Recorded May 17, 2023
From: ARIEL AI, INC.
To: ARIEL AI, LLC.
Reel/Frame 063674/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2023
From: SNAP INTERMEDIATE INC.
To: SNAP INC.
Reel/Frame 063674/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: GULER, RIZA ALP; WANG, HAOYANG; KOKKINOS, IASON; ZAFEIRIOU, STEFANOS
To: ARIEL AI LTD
Reel/Frame 056803/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: ARIEL AI LTD
To: ARIEL AI, INC.
Reel/Frame 056803/0322 →
Continuity (2)
Provisional Application 62936272 · Nov 15, 2019
Related Publication 20210150806A1 · May 20, 2021
Cited By (3)
US 12,318,661 US 12,364,905 US 12,524,963