IP Library Granted Patent US 11,222,474
Granted Patent B2
US 11,222,474 · App. 16/830,848 · Granted Jan 11, 2022

Methods and systems for applying machine learning to volumetric capture of a body in a real-world scene

Inventors: Daniel Kopeinigg (Palo Alto, CA); Andrew Walkingshaw (San Mateo, CA); Arthur van Hoff (Palo Alto, CA); Charles LePere (San Mateo, CA); Christopher Redmann (San Mateo, CA); Philip Lee (Palo Alto, CA); Solmaz Hajmohammadi (Palo Alto, CA); Sourabh Khire (Palo Alto, CA); Simion Venshtain (San Mateo, CA)
Assignee: Verizon Patent and Licensing Inc.
G06T19/006G06K9/00208G06N20/00G06T7/70G06T13/40G06T15/04G06T15/08G06T17/205G06K9/00342G06T2200/08G06T2207/30196G06T2207/30244G06T2215/16
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,222,474
App. No.
16/830,848
Granted
Jan 11, 2022
Kind
B2
Abstract

An illustrative volumetric capture system accesses a machine learning model associated with bodies of a particular body type, as well as a two-dimensional (2D) image captured by a capture device located at a real-world scene. The 2D image depicts a body of the particular body type that is present at the real-world scene. Using the machine learning model and based on the 2D image, the volumetric capture system identifies a 2D joint location, from a perspective of the capture device, of a particular joint of the body. The volumetric capture system also generates a three-dimensional (3D) reference model of the body that represents the particular joint of the body at a 3D joint location that is determined based on the 2D joint location identified using the machine learning model. Corresponding methods and systems are also disclosed.

Claims (91)

1. A method comprising:

accessing, by a volumetric capture system, a machine learning model associated with bodies of a particular body type;

accessing, by the volumetric capture system, a two-dimensional (2D) image captured by a capture device located at a real-world scene, the 2D image depicting a body present at the real-world scene, the body being of the particular body type;

identifying, by the volumetric capture system using the machine learning model and based on the 2D image, a 2D joint location, from a perspective of the capture device, of a particular joint of the body;

generating, by the volumetric capture system, a three-dimensional (3D) reference model of the body over a time period during which the body undergoes a deformation, the 3D reference model including a mesh having a plurality of vertices and representing the particular joint of the body at a 3D joint location that is determined based on the 2D joint location identified using the machine learning model; and

compressing, by the volumetric capture system, the 3D reference model by generating:

a key frame that independently represents the 3D reference model at a first point in time during the time period, the key frame including vertex position data for the mesh at the first point in time, and further including vertex connectivity data and texture map data for the mesh at the first point in time and throughout the time period; and

an update frame associated with the key frame and that dependently represents the 3D reference model at a second point in time during the time period, the update frame including updated vertex position data for the mesh at the second point in time, excluding vertex connectivity data for the mesh at the second point in time, and excluding texture map data for the mesh at the second point in time.

2. The method of claim 1 , wherein:

the particular joint joins two body parts included in a set of body parts of the body, the set of body parts corresponding to analogous sets of body parts of each of the bodies of the particular body type;

the method further comprises:

generating, by the volumetric capture system using the machine learning model and based on the 2D image, a 2D segmentation dataset for the body, the 2D segmentation dataset indicative of respective 2D segment locations, from the perspective of the capture device, for each body part in the set of body parts, and

assigning, by the volumetric capture system to each segmented body part represented in the 2D segmentation dataset, a respective body part label; and

the generating of the 3D reference model is performed based on the respective body part labels assigned to each segmented body part.

3. The method of claim 1 , wherein:

the 2D image is captured by the capture device at the first point in time and depicts the body in a first pose;

the 2D joint location is identified for the first point in time; and

the method further comprises:

accessing, by the volumetric capture system, an additional 2D image captured by the capture device at the second point in time subsequent to the first point in time, the additional 2D image depicting the body in a second pose that is related to the first pose by the deformation that the body undergoes over the time period,

identifying, by the volumetric capture system using the machine learning model and based on the additional 2D image, the 2D joint location, from the perspective of the capture device, for the second point in time, and

updating, by the volumetric capture system based on the 2D joint location for the second point in time, the 3D reference model of the body from simulating the first pose to simulating the second pose.

4. The method of claim 1 , wherein the deformation that the body undergoes during the time period is a non-rigid deformation.

5. The method of claim 1 , wherein:

the compressed 3D reference model includes geometry data, texture data, and audio data; and

the compressing of the 3D reference model data includes bifurcating the geometry data from the texture and audio data such that a geometry data compression technique is used for compressing the geometry data while one or more compression techniques distinct from the geometry data compression technique are used for compressing the texture and audio data.

6. The method of claim 5 , wherein:

the geometry data includes the vertex position data, the vertex connectivity data, and the texture map data;

the vertex position data is representative of a respective location of each vertex in the plurality of vertices of the mesh;

the vertex connectivity data is representative of how each vertex in the plurality of vertices is connected to other vertices in the plurality of vertices to form a plurality of geometric shapes forming the mesh; and

the texture map data is representative of a respective segment of texture data that is to be used for each of the plurality of geometric shapes forming the mesh.

7. The method of claim 1 , wherein the generating of the 3D reference model comprises:

generating a skeletal model for the body, the skeletal model including model bones connected by a set of joints positioned at respective 3D joint locations, the set of joints including the particular joint positioned at the 3D joint location;

generating, based on the skeletal model, the mesh for the 3D reference model; and

texturing the mesh with texture data based on the 2D image.

8. The method of claim 1 , wherein:

the method further comprises:

accessing, by the volumetric capture system, an additional 2D image depicting the body, the additional 2D image captured by an additional capture device located at the real-world scene and having a perspective distinct from the perspective of the capture device, and

identifying, by the volumetric capture system using the machine learning model and based on the additional 2D image, an additional 2D joint location, from the perspective of the additional capture device, of the particular joint of the body; and

the generating of the 3D reference model representing the particular joint of the body at the 3D joint location is performed based on the 2D joint location from the perspective of the capture device and based on the additional 2D joint location from the perspective of the additional capture device.

9. The method of claim 1 , wherein the particular body type is a human, the bodies of the particular body type associated with the machine learning model include one or more human bodies of one or more people, and the body present at the real-world scene is a body of a particular person.

10. The method of claim 1 , wherein the capture device capturing the 2D image at the real-world scene is calibrated using a fixture with a plurality of faces each depicting a calibration pattern featuring a chessboard pattern including squares of a first color that alternate with squares of a second color, the chessboard pattern including a binary fiducial marker associated with each square of the first color.

11. A system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

access a machine learning model associated with bodies of a particular body type;

access a two-dimensional (2D) image captured by a capture device located at a real-world scene, the 2D image depicting a body present at the real-world scene, the body being of the particular body type;

identify, using the machine learning model and based on the 2D image, a 2D joint location, from a perspective of the capture device, of a particular joint of the body;

generate a three-dimensional (3D) reference model of the body over a time period during which the body undergoes a deformation, the 3D reference model including a mesh having a plurality of vertices and representing the particular joint of the body at a 3D joint location that is determined based on the 2D joint location identified using the machine learning model; and

compress the 3D reference model by generating:

a key frame that independently represents the 3D reference model at a first point in time during the time period, the key frame including vertex position data for the mesh at the first point in time, and further including vertex connectivity data and texture map data for the mesh at the first point in time and throughout the time period; and

an update frame associated with the key frame and that dependently represents the 3D reference model at a second point in time during the time period, the update frame including updated vertex position data for the mesh at the second point in time, excluding vertex connectivity data for the mesh at the second point in time, and excluding texture map data for the mesh at the second point in time.

12. The system of claim 11 , wherein:

the particular joint joins two body parts included in a set of body parts of the body, the set of body parts corresponding to analogous sets of body parts of each of the bodies of the particular body type;

the processor is further configured to execute the instructions to:

generate, using the machine learning model and based on the 2D image, a 2D segmentation dataset for the body, the 2D segmentation dataset indicative of respective 2D segment locations, from the perspective of the capture device, for each body part in the set of body parts, and

assign, to each segmented body part represented in the 2D segmentation dataset, a respective body part label; and

the generating of the 3D reference model is performed based on the respective body part labels assigned to each segmented body part.

13. The system of claim 11 , wherein:

the 2D image is captured by the capture device at the first point in time and depicts the body in a first pose;

the 2D joint location is identified for the first point in time; and

the processor is further configured to execute the instructions to:

access an additional 2D image captured by the capture device at the second point in time subsequent to the first point in time, the additional 2D image depicting the body in a second pose that is related to the first pose by the deformation that the body undergoes over the time period,

identify, using the machine learning model and based on the additional 2D image, the 2D joint location, from the perspective of the capture device, for the second point in time, and

update, based on the 2D joint location for the second point in time, the 3D reference model of the body from simulating the first pose to simulating the second pose.

14. The system of claim 11 , wherein the deformation that the body undergoes during the time period is a non-rigid deformation.

15. The system of claim 11 , wherein:

the compressed 3D reference model includes geometry data, texture data, and audio data; and

the compressing of the 3D reference model data includes bifurcating the geometry data from the texture and audio data such that a geometry data compression technique is used for compressing the geometry data while one or more compression techniques distinct from the geometry data compression technique are used for compressing the texture and audio data.

16. The system of claim 15 , wherein:

the geometry data includes the vertex position data, the vertex connectivity data, and the texture map data;

the vertex position data is representative of a respective location of each vertex in the plurality of vertices of the mesh;

the vertex connectivity data is representative of how each vertex in the plurality of vertices is connected to other vertices in the plurality of vertices to form a plurality of geometric shapes forming the mesh; and

the texture map data is representative of a respective segment of texture data that is to be used for each of the plurality of geometric shapes forming the mesh.

17. The system of claim 11 , wherein the generating of the 3D reference model comprises:

generating a skeletal model for the body, the skeletal model including model bones connected by a set of joints positioned at respective 3D joint locations, the set of joints including the particular joint positioned at the 3D joint location;

generating, based on the skeletal model, the mesh for the 3D reference model; and

texturing the mesh with texture data based on the 2D image.

18. The system of claim 11 , wherein:

the processor is further configured to execute the instructions to:

access an additional 2D image depicting the body, the additional 2D image captured by an additional capture device located at the real-world scene and having a perspective distinct from the perspective of the capture device, and

identify, using the machine learning model and based on the additional 2D image, an additional 2D joint location, from the perspective of the additional capture device, of the particular joint of the body; and

the generating of the 3D reference model representing the particular joint of the body at the 3D joint location is performed based on the 2D joint location from the perspective of the capture device and based on the additional 2D joint location from the perspective of the additional capture device.

19. The system of claim 11 , wherein the particular body type is a human, the bodies of the particular body type associated with the machine learning model include one or more human bodies of one or more people, and the body present at the real-world scene is a body of a particular person.

20. A non-transitory computer-readable medium storing instructions that, when executed, direct a processor of a computing device to:

access a machine learning model associated with bodies of a particular body type;

access a two-dimensional (2D) image captured by a capture device located at a real-world scene, the 2D image depicting a body present at the real-world scene, the body being of the particular body type;

identify, using the machine learning model and based on the 2D image, a 2D joint location, from a perspective of the capture device, of a particular joint of the body;

generate a three-dimensional (3D) reference model of the body over a time period during which the body undergoes a deformation, the 3D reference model including a mesh having a plurality of vertices and representing the particular joint of the body at a 3D joint location that is determined based on the 2D joint location identified using the machine learning model; and

compress the 3D reference model by generating:

a key frame that independently represents the 3D reference model at a first point in time during the time period, the key frame including vertex position data for the mesh at the first point in time, and further including vertex connectivity data and texture map data for the mesh at the first point in time and throughout the time period; and

an update frame associated with the key frame and that dependently represents the 3D reference model at a second point in time during the time period, the update frame including updated vertex position data for the mesh at the second point in time, excluding vertex connectivity data for the mesh at the second point in time, and excluding texture map data for the mesh at the second point in time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: KOPEINIGG, DANIEL; WALKINGSHAW, ANDREW; VAN HOFF, ARTHUR; LEPERE, CHARLES; REDMANN, CHRISTOPHER; LEE, PHILIP; HAJMOHAMMADI, SOLMAZ; KHIRE, SOURABH; VENSHTAIN, SIMION
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 052452/0403 →
Continuity (2)
Provisional Application 62824459 · Mar 27, 2019
Related Publication 20200312011A1 · Oct 1, 2020
Cited By (1)
US 12,579,748