IP Library Granted Patent US 8,675,926
Granted Patent B2
US 8,675,926 · App. 12/796,470 · Granted Mar 18, 2014

Distinguishing live faces from flat surfaces

Inventors: Zhengyou Zhang (Redmond, WA); Qin Cai (Clyde Hill, WA); Pieter R. Kasselman (Dublin, IE); Arthur H. Baker (Redmond, WA)
Assignee: Microsoft Corporation
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 8,675,926
App. No.
12/796,470
Filed
Jun 8, 2010
Granted
Mar 18, 2014
Kind
B2
Art Unit
2667
USPC
382/118
Abstract

Multiple images including a face presented by a user are accessed. One or more determinations are made based on the multiple images, such as a determination of whether the face included in the multiple images is a 3-dimensional structure or a flat surface and/or a determination of whether motion is present in one or more face components (e.g., eyes or mouth). If it is determined that the face included in the multiple images is a 3-dimensional structure or that that motion is present in the one or more face components, then an indication is provided that the user can be authenticated. However, if it is determined that the face included in the multiple images is a flat surface or that motion is not present in the one or more face components, then an indication is provided that the user cannot be authenticated.

Claims (75)

1. A method comprising:

accessing multiple images including a face presented by a user;

determining, based on the multiple images, whether the face included in the multiple images is a 3-dimensional structure or a flat surface by:

accessing a first image and a second image of the multiple images;

generating a warped image by warping the first image using a homography matrix;

determining an image difference between the warped image and the second image; and

determining that the face included in the multiple images is a 3-dimensional structure if the difference between the warped image and the second image meets a threshold value, and otherwise determining that the face included in the multiple images is a flat surface;

indicating that the user can be authenticated if the face included in the multiple images is a 3-dimensional structure; and

indicating that the user cannot be authenticated if the face included in the multiple images is a flat surface.

2. A method as recited in claim 1 , further comprising:

extracting one or more feature points from the first image and one or more feature points from the second image;

matching feature points across the first image and the second image; and

using feature points matched across the first image and the second image to generate the homography matrix.

3. A method as recited in claim 1 , the determining the image difference comprising identifying a first set of sub-regions in the first image, a second set of sub-regions in the second image, and determining a difference between color values of pixels in the first set of sub-regions and the second set of sub-regions.

4. A method as recited in claim 1 , further comprising:

repeating the accessing a first image and a second image, generating a warped image, and determining an image difference for multiple pairs of images of the multiple images; and

using the image differences determined for the multiple pairs of images in determining whether the face included in the multiple images is a 3-dimensional structure or a flat surface.

5. A method as recited in claim 1 , the multiple images comprising a sequence of three or more images, and one or more intervening images in the sequence of three or more images being between the first image and the second image in the sequence of three or more images.

6. A method as recited in claim 1 , further comprising:

determining, based on the multiple images, whether motion is present in one or more components of the face; and

the indicating that the user can be authenticated comprising indicating that the user can be authenticated only if both the face included in the multiple images is a 3-dimensional structure and if motion is present in the one or more components of the face.

7. A method as recited in claim 6 , the one or more components including an eye of the face.

8. A method comprising:

accessing multiple images including a face presented by a user;

determining, based on the multiple images, whether the face included in the multiple images is a 3-dimensional structure or a flat surface by:

accessing a first image and a second image of the multiple images;

reconstructing a 3-dimensional scene based on the first image and the second image using structure from motion estimation;

fitting the 3-dimensional scene to a plane;

analyzing characteristics of the 3-dimensional scene fitted to the plane; and

determining that the face included in the multiple images is a 3-dimensional structure if the characteristics meet a threshold, and otherwise determining that the face included in the multiple images is a flat surface;

indicating that the user can be authenticated if the face included in the multiple images is a 3-dimensional structure; and

indicating that the user cannot be authenticated if the face included in the multiple images is a flat surface.

9. A method as recited in claim 8 , further comprising:

extracting one or more feature points from the first image and one or more feature points from the second image;

matching feature points across the first image and the second image; and

using feature points matched across the first image and the second image to reconstruct the 3-dimensional scene.

10. A method as recited in claim 8 , the analyzing comprising:

generating a first value that is a distance between a feature in the reconstructed 3D scene and the plane;

generating a second value that is a distance between two facial components on the plane; and

calculating a ratio of the first value to the second value.

11. A method as recited in claim 8 , further comprising:

repeating the accessing a first and a second image, reconstructing the 3-dimensional scene, and determining that the face is a 3-dimensional structure or a flat surface for multiple pairs of images of the multiple images; and

using the determinations that the face is a 3-dimensional structure or a flat surface for the multiple pairs of images in determining whether the face included in the multiple images is a 3-dimensional structure or a flat surface.

12. A method as recited in claim 8 , further comprising:

determining, based on the multiple images, whether motion is present in one or more components of the face; and

the indicating that the user can be authenticated comprising indicating that the user can be authenticated only if both the face included in the multiple images is a 3-dimensional structure and if motion is present in the one or more components of the face.

13. A method as recited in claim 12 , the one or more components including a mouth of the face.

14. A computing device comprising:

an image capture component configured to capture multiple images including a face presented by a user;

a live face detection module, implemented at least in part in hardware, configured to:

access the multiple images;

determine, based on the multiple images, whether the face included in the multiple images is a 3-dimensional structure or a flat surface by:

accessing a first image and a second image of the multiple images;

generating a warped image by warping the first image using a homography matrix;

determining an image difference between the warped image and the second image; and

determining that the face included in the multiple images is a 3-dimensional structure if the difference between the warped image and the second image meets a threshold value, and otherwise determining that the face included in the multiple images is a flat surface;

indicate that the user can be authenticated if the face included in the multiple images is a 3-dimensional structure; and

indicate that the user cannot be authenticated if the face included in the multiple images is a flat surface.

15. A computing device as recited in claim 14 , the live face detection module being further configured to:

extract one or more feature points from the first image and one or more feature points from the second image;

match feature points across the first image and the second image; and

use feature points matched across the first image and the second image to generate the homography matrix.

16. A computing device as recited in claim 14 , the determining the image difference comprising identifying a first set of sub-regions in the first image, a second set of sub-regions in the second image, and determining a difference between color values of pixels in the first set of sub-regions and the second set of sub-regions.

17. A computing device as recited in claim 14 , the live face detection module being further configured to:

repeat the accessing a first image and a second image, generating a warped image, and determining an image difference for multiple pairs of images of the multiple images; and

use the image differences determined for the multiple pairs of images in determining whether the face included in the multiple images is a 3-dimensional structure or a flat surface.

18. A computing device as recited in claim 14 , the multiple images comprising a sequence of three or more images, and one or more intervening images in the sequence of three or more images being between the first image and the second image in the sequence of three or more images.

19. A computing device as recited in claim 14 , the live face detection module being further configured to:

determine, based on the multiple images, whether motion is present in one or more components of the face; and

indicate that the user can be authenticated only if both the face included in the multiple images is a 3-dimensional structure and if motion is present in the one or more components of the face.

20. A computing device as recited in claim 19 , the live face detection module being further configured to determine whether motion is present in one or more components of the face by:

extracting a face component from each of the multiple images;

matching face components across the multiple images;

determining a face component difference between two of the multiple images; and

determining whether motion is present in the one or more components based at least in part on the face component difference between the two of the multiple images.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2016
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ZHIGU HOLDINGS LIMITED
Reel/Frame 040354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2010
From: ZHANG, ZHENGYOU; CAI, QIN; KASSELMAN, PIETER R.; BAKER, ARTHUR H.
To: MICROSOFT CORPORATION
Reel/Frame 024506/0063 →
Continuity (1)
Related Publication 20110299741A1 · Dec 8, 2011