IP Library › Granted Patent US 10,824,226
Granted Patent B2
US 10,824,226 · App. 16/002,595 · Granted Nov 3, 2020

High speed, high-fidelity face tracking

Inventors: Julien Pascal Christophe Valentin (Mountain View, CA); Jonathan James Taylor (Mountain View, CA); Shahram Izadi (Tiburon, CA)
Assignee: Google LLC
G06F3/012G06F3/011G06K9/00208G06K9/00228G06T7/251G06T7/70G06T2207/10028G06T2207/20076G06T2207/30201G06T2207/30204
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,824,226
App. No.
16/002,595
Granted
Nov 3, 2020
Kind
B2
Abstract

An electronic device estimates a pose of a face by fitting a generative face model mesh to a depth map based on vertices of the face model mesh that are estimated to be visible from the point of view of a depth camera. A face tracking module of the electronic device receives a depth image of a face from a depth camera and generates a depth map of the face based on the depth image. The face tracking module identifies a pose of the face by fitting a face model mesh to the pixels of a depth map that correspond to the vertices of the face model mesh that are estimated to be visible from the point of view of the depth camera.

Claims (36)

1. A method comprising:

capturing, at a depth camera, a depth image of a face, the depth image comprising a three-dimensional (3D) point cloud comprising a plurality of points;

generating, at a processor, a depth map of the face based on the 3D point cloud, the depth map comprising a plurality of pixels; and

estimating, at the processor, a pose of the face by fitting a face model mesh comprising a plurality of vertices to the depth map, the fitting comprising:

estimating which vertices of the face model mesh are visible from a point of view of the depth camera based on an estimation of a degree to which a vector that is normal to each vertex of the face model mesh is facing toward or away from the depth camera; and

minimizing an energy function based on a distance from each pixel of the depth map to a corresponding vertex of a subset of the vertices of the face model mesh, the subset comprising only the vertices that are estimated to be visible from the point of view of the depth camera.

2. The method of claim 1 , wherein estimating which vertices of the face model mesh are visible from the point of view of the depth camera comprises assuming that the face model mesh is more convex than not.

3. The method of claim 1 , wherein the face model mesh is a triangular mesh model.

4. The method of claim 1 , wherein the face model mesh is parameterized by expression weights that indicate how to non-rigidly deform the vertices of the face model mesh to fit the face model mesh to the depth map, and wherein identifying the pose of the face comprises adjusting the expression weights.

5. The method of claim 1 , wherein the face model mesh is parameterized by identity coefficients that indicate how to non-rigidly deform the vertices of the face model mesh to fit the face model mesh to the depth map.

6. The method of claim 1 , further comprising bicubically interpolating the pixels of the depth map associated with the depth image.

7. The method of claim 1 , further comprising regularizing a difference between the pose estimation and an estimate of facial landmarks based on an average depth of the depth map and a focal length of the depth camera.

8. A method, comprising:

generating, at a processor, a depth map of a face based on a depth image of the face captured at a depth camera, the depth map comprising a plurality of pixels;

estimating, at the processor, which vertices of a face model mesh comprising a plurality of vertices are visible from the point of view of the depth camera based on an estimation of a degree to which a vector that is normal to each vertex of the face model mesh is facing toward or away from the depth camera;

minimizing, at the processor, an energy function based on a distance between each pixel of the depth map and a subset of the plurality of vertices comprising the face model mesh, the subset comprising only the vertices that are estimated to be visible from a point of view of the depth camera; and

estimating, at the processor, a current pose of the face based on a pose of the face model mesh that yields the minimized energy function; and

updating graphical data on a display based on the estimated current pose.

9. The method of claim 8 , further comprising estimating, at the processor, which vertices of the face model mesh are visible from the point of view of the depth camera based on assuming that the face model mesh is more convex than not.

10. The method of claim 9 , wherein the face model mesh is a triangular mesh model.

11. The method of claim 8 , wherein the face model mesh is parameterized by expression weights that indicate how to non-rigidly deform the vertices of the face model mesh to fit the face model mesh to the depth map, and wherein identifying the pose of the face comprises adjusting the expression weights.

12. The method of claim 8 , wherein the face model mesh is parameterized by identity coefficients that indicate how to non-rigidly deform the vertices of the face model mesh to fit the face model mesh to the depth map.

13. The method of claim 8 , further comprising bicubically interpolating the pixels of the depth map.

14. An electronic device, comprising:

a user-facing depth camera to capture depth images of a face of a user, each depth image comprising a three-dimensional (3D) point cloud comprising a plurality of points; and

a processor configured to:

generate a depth map of the face based on the 3D point cloud, the depth map comprising a plurality of pixels; and

estimate a pose of the face by fitting a face model mesh comprising a plurality of vertices to the depth map, the fitting comprising:

estimating which vertices of the face model mesh are visible from a point of view of the depth camera based on an estimation of a degree to which a vector that is normal to each vertex of the face model mesh is facing toward or away from the depth camera; and

minimizing an energy function based on a distance from each pixel of the depth map to a corresponding vertex of a subset of the vertices of the face model mesh, the subset comprising only the vertices that are estimated to be visible from the point of view of the depth camera.

15. The electronic device of claim 14 , wherein estimating which vertices of the face model mesh are visible from the point of view of the depth camera comprises assuming that the face model mesh is more convex than not.

16. The electronic device of claim 14 , wherein the face model mesh is a triangular mesh model.

17. The electronic device of claim 14 , wherein the face model mesh is parameterized by expression weights that indicate how to non-rigidly deform the vertices of the face model mesh to fit the face model mesh to the depth map, and wherein identifying the pose of the face comprises adjusting the expression weights.

18. The electronic device of claim 14 , wherein the face model mesh is parameterized by identity coefficients that indicate how to non-rigidly deform the vertices of the face model mesh to fit the face model mesh to the depth map.

19. The electronic device of claim 14 , further comprising bicubically interpolating the pixels of the depth map associated with the depth image.

20. The electronic device of claim 14 , wherein the processor is further configured to regularize a difference between the pose estimation and an estimate of facial landmarks based on an average depth of the depth map and a focal length of the depth camera.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2018
From: VALENTIN, JULIEN PASCAL CHRISTOPHE; TAYLOR, JONATHAN JAMES; IZADI, SHAHRAM
To: GOOGLE LLC
Reel/Frame 046666/0892 →
Continuity (2)
Provisional Application 62516646 · Jun 7, 2017
Related Publication 20180356883A1 · Dec 13, 2018