IP Library Granted Patent US 10,229,534
Granted Patent B2
US 10,229,534 · App. 15/441,760 · Granted Mar 12, 2019

Modeling of a user's face

Inventor: Michael Wang (Saratoga, CA)
Assignee: Ditto Technologies, Inc.
G06T17/10G06K9/00228G06T11/00G06T15/04G06K9/209G06T7/269G06T7/571G06T7/80G06T2215/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 10,229,534
App. No.
15/441,760
Granted
Mar 12, 2019
Kind
B2
Abstract

Modeling of a user's face is disclosed, including: receiving an input image of a user's face to be modeled; and generating a set of parameter values to a statistical model that corresponds to the input image by evaluating candidate parameter values using a cost function that is determined based at least in part on optical flow.

Claims (56)

1. A system, comprising:

a processor is configured to:

receive a two-dimensional (2D) input image of a user's face to be modeled; and

generate a desired set of parameter values for a statistical model and a camera that correspond to the 2D input image by evaluating candidate parameter values using a cost function that is determined based at least in part on optical flow, wherein to generate the desired set of parameter values includes to:

determine a first candidate set of parameter values;

generate a three-dimensional (3D) model of a face using a first subset of parameter values associated with the statistical model from the first candidate set of parameter values;

generate a first 2D candidate synthetic image using the 3D model of the face and a second subset of parameter values associated with the camera from the first candidate set of parameter values;

determine an aggregated cost between the first 2D candidate synthetic image and the 2D input image based at least in part on one or more optical flow related cost functions determined based on optical flow results from the first 2D candidate synthetic image to the 2D input image;

use the aggregated cost to determine whether the first candidate set of parameter values is the desired set of parameter values; and

in response to the determination that the first candidate set of parameter values is not the desired set of parameter values, use the aggregated cost to determine a second candidate set of parameter values; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the statistical model comprises a Principal Component Analysis model comprising a set of shape components and a set of texture components.

3. The system of claim 2 , wherein the desired set of parameter values comprises a desired subset of shape coefficients corresponding to respective ones of the set of shape components and a set of texture coefficients corresponding to respective ones of the set of texture components.

4. The system of claim 1 , wherein one or more parameter values included in the desired set of parameter values associated with the camera describes one or more of the following: a focal length associated with the camera, a rotation associated with the camera, and a translation associated with the camera.

5. The system of claim 1 , wherein the optical flow results from the first 2D candidate synthetic image to the 2D input image include a corresponding displacement that indicates a new location in the 2D input image that each pixel that is visible in the first 2D candidate synthetic image has moved.

6. The system of claim 1 , wherein the processor is further configured to determine the one or more optical flow related cost functions determined based on the optical flow results from the first 2D candidate synthetic image to the 2D input image, including to:

for a synthetic pixel of the first 2D candidate synthetic image, use the optical flow results to determine a corresponding pixel in the 2D input image;

determine a target landmark associated with the corresponding pixel in the 2D input image;

determine an optical flow landmarks cost based at least in part on a difference between a synthetic landmark of the synthetic pixel in the first 2D candidate synthetic image and the target landmark of the corresponding pixel in the 2D input image;

determine a target color associated with the corresponding pixel in the 2D input image;

determine an optical flow color cost associated with the synthetic pixel based at least in part on a difference between a synthetic color of the synthetic pixel in the first 2D candidate synthetic image and the target color of the corresponding pixel in the 2D input image; and

determine an optical flow cost associated with the first 2D candidate synthetic image based at least in part on optical flow landmarks costs and optical flow color costs associated with synthetic pixels of the first 2D candidate synthetic image.

7. The system of claim 6 , wherein to determine the aggregated cost between the first 2D candidate synthetic image and the 2D input image comprises to combine the optical flow cost associated with the first 2D candidate synthetic image with a Gaussian prior cost associated with the first 2D candidate synthetic image.

8. The system of claim 1 , wherein the processor is configured to:

input a plurality of 3D scans of users' faces into a Principal Component Analysis; and

receive from the Principal Component Analysis the statistical model comprising a set of shape components and a set of texture components.

9. A method, comprising:

receiving a two-dimensional (2D) input image of a user's face to be modeled; and

generating a desired set of parameter values for a statistical model and a camera that correspond to the 2D input image by evaluating candidate parameter values using a cost function that is determined based at least in part on optical flow, wherein generating the desired set of parameter values includes:

determining a first candidate set of parameter values;

generating a three-dimensional (3D) model of a face using a first subset of parameter values associated with the statistical model from the first candidate set of parameter values;

generating a first 2D candidate synthetic image using the 3D model of the face and a second subset of parameter values associated with the camera from the first candidate set of parameter values;

determining an aggregated cost between the first 2D candidate synthetic image and the 2D input image based at least in part on one or more optical flow related cost functions determined based on optical flow results from the first 2D candidate synthetic image to the 2D input image;

using the aggregated cost to determine whether the first candidate set of parameter values is the desired set of parameter values; and

in response to the determination that the first candidate set of parameter values is not the desired set of parameter values, using the aggregated cost to determine a second candidate set of parameter values.

10. The method of claim 9 , wherein the statistical model comprises a Principal Component Analysis model comprising a set of shape components and a set of texture components.

11. The method of claim 10 , wherein the desired set of parameter values comprises a desired subset of shape coefficients corresponding to respective ones of the set of shape components and a set of texture coefficients corresponding to respective ones of the set of texture components.

12. The method of claim 9 , wherein one or more parameter values included in the desired set of parameter values associated with the camera describes one or more of the following: a focal length associated with the camera, a rotation associated with the camera, and a translation associated with the camera.

13. The method of claim 9 , wherein the optical flow results from the first 2D candidate synthetic image to the 2D input image include a corresponding displacement that indicates a new location in the 2D input image that each pixel that is visible in the first 2D candidate synthetic image has moved.

14. The method of claim 9 , further determining the one or more optical flow related cost functions determined based on the optical flow results from the first 2D candidate synthetic image to the 2D input image, including:

for a synthetic pixel of the first 2D candidate synthetic image, using the optical flow results to determine a corresponding pixel in the 2D input image;

determining a target landmark associated with the corresponding pixel in the 2D input image;

determining an optical flow landmarks cost based at least in part on a difference between a synthetic landmark of the synthetic pixel in the first 2D candidate synthetic image and the target landmark of the corresponding pixel in the 2D input image;

determining a target color associated with the corresponding pixel in the 2D input image;

determining an optical flow color cost associated with the synthetic pixel based at least in part on a difference between a synthetic color of the synthetic pixel in the first 2D candidate synthetic image and the target color of the corresponding pixel in the 2D input image; and

determining an optical flow cost associated with the first 2D candidate synthetic image based at least in part on optical flow landmarks costs and optical flow color costs associated with synthetic pixels of the first 2D candidate synthetic image.

15. The method of claim 14 , wherein determining the aggregated cost between the first 2D candidate synthetic image and the 2D input image comprises combining the optical flow cost associated with the first 2D candidate synthetic image with a Gaussian prior cost associated with the first 2D candidate synthetic image.

16. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a two-dimensional (2D) input image of a user's face to be modeled; and

generating a desired set of parameter values for a statistical model and a camera that correspond to 2D the input image by evaluating candidate parameter values using a cost function that is determined based at least in part on optical flow, wherein generating the desired set of parameter values includes:

determining a first candidate set of parameter values;

generating a three-dimensional (3D) model of a face using a first subset of parameter values associated with the statistical model from the first candidate set of parameter values;

generating a first 2D candidate synthetic image using the 3D model of the face and a second subset of parameter values associated with the camera from the first candidate set of parameter values;

determining an aggregated cost between the first 2D candidate synthetic image and the 2D input image based at least in part on one or more optical flow related cost functions determined based on optical flow results from the first 2D candidate synthetic image to the 2D input image;

using the aggregated cost to determine whether the first candidate set of parameter values is the desired set of parameter values; and

in response to the determination that the first candidate set of parameter values is not the desired set of parameter values, using the aggregated cost to determine a second candidate set of parameter values.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jun 26, 2023
From: MATERIALISE NV
To: DITTO TECHNOLOGIES, INC.
Reel/Frame 064064/0210 →
SECURITY INTEREST Recorded Aug 14, 2020
From: DITTO TECHNOLOGIES, INC
To: MATERIALISE NV
Reel/Frame 053504/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2017
From: WANG, MICHAEL
To: DITTO TECHNOLOGIES, INC.
Reel/Frame 042010/0103 →
Continuity (2)
Provisional Application 62444754 · Jan 10, 2017
Related Publication 20180197330A1 · Jul 12, 2018