Rapid computer modeling of faces for animation
First Claim
1. A method of processing two or more images to distinguish a head in the images from other portions of the images, comprising the following actions:
- predicting portions of the images that form facial portions of the images;
calculating one or more skin colors by sampling the images at the predicted portions;
computing a first mask image that marks any image pixels whose colors are different in the two or more images;
creating a second mask image that marks any image pixels whose colors correspond to the calculated one or more skin colors;
combining the first and second mask images to create a final mask image.
3 Assignments
0 Petitions
Accused Products
Abstract
Described herein is a technique for creating a 3D face model using images obtained from an inexpensive camera associated with a general-purpose computer. Two still images of the user are captured, and two video sequences. The user is asked to identify five facial features, which are used to calculate a mask and to perform fitting operations. Based on a comparison of the still images, deformation vectors are applied to a neutral face model to create the 3D model. The video sequences are used to create a texture map. The process of creating the texture map references the previously obtained 3D model to determine poses of the sequential video images.
133 Citations
45 Claims
-
1. A method of processing two or more images to distinguish a head in the images from other portions of the images, comprising the following actions:
-
predicting portions of the images that form facial portions of the images;
calculating one or more skin colors by sampling the images at the predicted portions;
computing a first mask image that marks any image pixels whose colors are different in the two or more images;
creating a second mask image that marks any image pixels whose colors correspond to the calculated one or more skin colors;
combining the first and second mask images to create a final mask image. - View Dependent Claims (2, 3, 4, 5)
-
-
6. One or more computer-readable media containing a program that is executable by a computer to process two or more images for distinguishing a head in the images from other portions of the images, the program comprising the following actions:
-
identifying locations of a plurality of distinct facial features in the images;
predicting an outer area that corresponds to the head, based on the indicated locations of facial features;
predicting an inner area within the outer area that corresponds to a face portion of the head, based on the indicated locations of facial features;
calculating one or more skin colors by sampling the images at locations that are specified relative to the indicated locations of facial features;
creating a first mask image that marks any image pixels whose colors are different in the two images;
creating a second mask image that marks any image pixels whose colors correspond to the calculated one or more skin colors;
within the inner area, noting all of the marked pixels on the first mask image and also noting any unmarked pixels of the first mask image that correspond in location to marked pixels in the second mask image;
forming a final mask image that marks the noted pixels as being part of the head. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. One or more computer-readable media containing a program that is executable by a computer to create a three-dimensional model of a face, the program comprising the following actions:
-
constructing a three-dimensional face model from two or more two-dimensional face images, wherein the constructed face model comprises a plurality of points specified in three dimensions;
applying a combination of deformation vectors to a pre-specified face model to deform the pre-specified face model approximately to the constructed face model, wherein the pre-specified face model comprises a plurality points specified in three dimensions and each deformation vector specifies a plurality of displacements corresponding respectively to the plurality of points of the pre-specified face model. - View Dependent Claims (17, 18, 19, 20)
-
- 21. A method of creating a three-dimensional model of a face, comprising applying a combination of deformation vectors to a pre-specified face model to deform the pre-specified face model approximately to a reconstructed face model, wherein the pre-specified face model comprises a plurality of points specified in three dimensions and each deformation vector specifies a plurality of displacements corresponding respectively to the plurality of three dimensional points of the pre-specified face model.
-
26. A method of creating a three-dimensional model of a face, comprising:
-
specifying a neutral face model in terms of three dimensional points;
specifying a plurality of deformation vectors, wherein each deformation vector indicates a plurality of displacements corresponding respectively to the points of the neutral face model, and wherein each deformation vector deforms the neutral face model in a particular way when applied to the neutral face model;
specifying degree of deformation for each deformation vector in terms of a multiplicative constant;
deforming the neutral face model by calculating a linear combination of the neutral face model and the deformation vectors, each deformation vector being multiplied by its multiplicative constant; and
selecting the multiplicative constants to minimize a summation of distances between the deformed face model and the points of the constructed face model. - View Dependent Claims (27, 28)
-
-
29. A method of determining the pose of an object in a given 2D image relative to a 3D model of the object, comprising:
-
matching points of the object in the given image with corresponding points of a base image, wherein each matched point has a corresponding 3D position in the 3D model, the 3D positions being determined by the poses of the images, wherein the pose of the base image is known; and
calculating the pose of the given image such that projections of 3D positions of matched points of the base image onto the given image coincide approximately with the corresponding matched points of the given image. - View Dependent Claims (30, 31, 32, 35)
-
-
33. One or more computer-readable media containing a program that is executable by a computer to determine poses of an object in a succession of 2D images, relative to a 3D model of the object;
- the program comprising the following actions, for each 2D image in succession;
matching points of the object in the 2D image with corresponding points of a previous 2D image whose pose is already known, wherein the matched points of the previous image has corresponding 3D positions in the 3D model;
calculating a pose for the 2D image that minimizes differences between the projections of 3D positions of matched points of the previous image onto the given image and the corresponding matched points of the given image. - View Dependent Claims (34)
- the program comprising the following actions, for each 2D image in succession;
-
36. A method for creating a 3D model of a face, comprising:
-
capturing at least two 2D images of the face;
identifying locations of a plurality of distinct facial features in the two images;
identifying head regions of the images, based on the identified positions of the plurality of distinct facial features;
matching points of the head regions between the images;
estimating rotation and translation of the head regions based on the matched points in the images;
determining 3D positions of the matched points based on the estimated rotation and translation to create a 3D representation of the face; and
fitting a neutral face model to the 3D representation by applying deformation vectors to the neutral face model. - View Dependent Claims (37, 38, 39, 40, 41)
-
-
42. One or more computer-readable media containing a program that is executable by a computer to create a 3D model of a face, the program comprising the following actions:
-
capturing at least two 2D images of the face;
identifying locations of a plurality of distinct facial features in the two images;
identifying head regions of the images, based on the identified positions of the plurality of distinct facial features;
matching points of the head regions between the images;
estimating rotation and translation of the head regions based on the matched points in the images;
determining 3D positions of the matched points based on the estimated rotation and translation to create a 3D representation of the face;
fitting a neutral face model to the 3D representation by applying deformation vectors to the neutral face model;
capturing a succession of 2D images containing the face in a range of poses;
determining poses of the face in each of the 2D images by performing the following actions for each 2D image in succession;
matching points of the object in the 2D image with corresponding points of a previous 2D image whose pose is already known, wherein the matched points of the images have corresponding 3D positions in fitted neutral face model, the 3D positions being determined by the poses of the images;
calculating a pose for the face of the 2D image that minimizes differences between the projections of 3D positions of matched points of the previous image onto the given image and the corresponding matched points of the given image; and
creating a texture map from the succession of 2D images in conjunction with the calculated poses of the 2D images. - View Dependent Claims (43, 44, 45)
-
Specification