IP Library Granted Patent US 8,798,374
Granted Patent B2
US 8,798,374 · App. 12/548,294 · Granted Aug 5, 2014

Automated facial action coding system

Inventors: Marian Stewart Bartlett (San Diego, CA); Gwen Littlewort-Ford (Solana Beach, CA); Javier Movellan (La Jolla, CA); Ian Fasel (Tucson, AZ); Mark Frank (East Amherst, NY)
Assignees: The Regents of the University of California; The Research Foundation of State University of New York
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,798,374
App. No.
12/548,294
Granted
Aug 5, 2014
Kind
B2
Abstract

An automatic facial action coding system and method can include processing an image to identify a face in the image, to detect and align one or more facial features shown in the image, and to define one or more windows on the image. One or more distributions of pixels and color intensities can be quantified in each of the one or more windows to derive one or more two-dimensional intensity distributions of one or more colors within the window. The one or more two-dimensional intensity distributions can be processed to select image features appearing in the one or more windows and to classify one or more predefined facial actions on the face in the image. A facial action code score that includes a value indicating a relative amount of the predefined facial action occurring in the face in the image can be determined for the face in the image for each of the one or more predefined facial actions.

Claims (39)

1. A method comprising:

applying a plurality of image filters to each of a plurality of image windows defined at a plurality of locations in a face in an image to produce a set of descriptors representing contents of each of the plurality of image windows;

processing outputs of the plurality of image filters for the plurality of image windows using a feature selection stage, the feature selection stage comprising choosing a subset of the set of descriptors for each of the plurality of image windows;

estimating a first relative likelihood of a predefined facial action unit occurring in each of the plurality of image windows, the first relative likelihood for each of the plurality of image windows being based on the subset of the set of descriptors for each of the plurality of image windows; and

producing a facial action code score for the face for the predefined facial action unit, the facial action code score quantifying a second relative likelihood of a presence of the predefined facial action unit in the face, the quantifying comprising combining the estimated first relative likelihoods for the plurality of image windows;

wherein the applying, the processing, the estimating, and the producing are performed using computer hardware.

2. A method as in claim 1 , wherein estimating the first relative likelihood of the predefined facial action unit for each of the plurality of image windows comprises using a machine learning technique trained on a database of spontaneous expressions by subjects that have been labeled for facial actions based on a facial action coding system.

3. A method as in claim 1 , wherein the producing further comprises using machine learning on a database of spontaneous facial expressions to determine the facial action code score.

4. A method as in claim 1 , wherein the predefined facial action unit comprises a plurality of predefined facial action units, the method further comprising applying a machine learning algorithm to a score vector to classify an emotion and/or cognitive state indicated by the face in the image, the machine learning algorithm having been trained on a database of facial expressions that links target emotions and/or cognitive states to the facial expressions in the database, the score vector comprising the facial action code score for the face for each of the plurality of predefined facial action units.

5. A method as in claim 4 , wherein the machine learning algorithm is selected from a support vector machine, AdaBoost, discriminant analysis, and regression.

6. A method as in claim 1 , wherein the plurality of image filters are selected from a pool of image filters comprising at least one of Gabor filters, Box filters, Local Orientation Statistics filters, spatiotemporal filters, and spatiotemporal Gabor filters.

7. A method as in claim 1 , further comprising modeling the facial action code score of each of a plurality of images in a series of images, the series of images comprising the image, the modeling comprising a spatio-temporal modeling technique.

8. A method as in claim 7 , wherein the spatio-temporal modeling technique comprises temporal segmentation and event spotting of the plurality of images in the series of images to define and extract facial expression events from the series of images.

9. A method as in claim 8 , wherein the facial expression events comprise one or more of onset, apex, and offset of an expression on the face in the series of images.

10. A method as in claim 7 , wherein the spatio-temporal modeling technique estimates a third relative likelihood that a facial behavior occurred within a time window.

11. A method as in claim 7 , further comprising removing one or more artifacts from the series of images by predicting an effect of a facial movement and removing the effect from a signal generated from the series of images.

12. A method as in claim 11 , wherein the facial movement comprises at least one of a head pose and a blink.

13. A method as in claim 1 , wherein the feature selection stage comprises choosing the subset of the set of descriptors using a machine learning technique trained on a database comprising spontaneous facial expressions by subjects that have been labeled for facial actions based on a facial action coding system.

14. A method as in claim 1 , further comprising:

detecting automatically, in the image, a face location and one or more facial features;

extracting from the image at least part of the image corresponding to the face;

aligning the at least part of the image based on the one or more detected facial features; and

defining the plurality of image windows at the plurality of locations in the face.

15. A method as in claim 1 , wherein the plurality of image windows comprise image windows having two or more different scales.

16. A method as in claim 1 , wherein the set of descriptors comprise at least one of characteristics and parameters.

17. A method as in claim 1 , wherein the predefined facial action unit comprises a plurality of predefined facial action units, wherein the first relative likelihood for each image window comprises the first relative likelihood for each of the plurality of predefined facial action units, and wherein the facial action score comprises a score vector quantifying the second relative likelihood for each of the plurality of predefined facial action units.

18. A method as in claim 1 , wherein the first relative likelihood comprises a first discriminant function, and wherein the second relative likelihood comprises a second discriminant function.

19. A method as in claim 1 , wherein the plurality of image windows comprise at least two image windows that at least partially overlap such that the at least two image windows both include a same part of the face.

20. A non-transitory machine readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

applying a plurality of image filters to each of a plurality of image windows defined at a plurality of locations in a face in an image to produce a set of descriptors representing contents of each of the plurality of image windows;

processing outputs of the plurality of image filters for the plurality of image windows using a feature selection stage, the feature selection stage comprising choosing a subset of the set of descriptors for each of the plurality of image windows;

estimating a first relative likelihood of a predefined facial action unit occurring in each of the plurality of image windows, the first relative likelihood for each of the plurality of image windows being based on the subset of the set of descriptors for each of the plurality of image windows; and

producing a facial action code score for the face for the predefined facial action unit, the facial action code score quantifying a second relative likelihood of a presence of the predefined facial action unit in the face, the quantifying comprising combining the estimated first relative likelihoods for the plurality of image windows.

21. A system comprising computer hardware providing operations comprising:

applying a plurality of image filters to each of a plurality of image windows defined at a plurality of locations in a face in an image to produce a set of descriptors representing contents of each of the plurality of image windows;

processing outputs of the plurality of image filters for the plurality of image windows using a feature selection stage, the feature selection stage comprising choosing a subset of the set of descriptors for each of the plurality of image windows;

estimating a first relative likelihood of a predefined facial action unit occurring in each of the plurality of image windows, the first relative likelihood for each of the plurality of image windows being based on the subset of the set of descriptors for each of the plurality of image windows; and

producing a facial action code score for the face for the predefined facial action unit, the facial action code score quantifying a second relative likelihood of a presence of the predefined facial action unit in the face, the quantifying comprising combining the estimated first relative likelihoods for the plurality of image windows.

22. A system as in claim 21 , wherein the computer hardware comprises a programmable processor and a non-transitory machine readable medium storing instructions that, when executed by the programmable processor, cause the programmable processor to provide the operations.

Assignments (4)
CONFIRMATORY LICENSE Recorded Jan 9, 2015
From: UNIVERSITY OF CALIFORNIA SAN DIEGO
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 034750/0079 →
CONFIRMATORY LICENSE Recorded Jun 16, 2010
From: UNIVERSITY OF CALIFORNIA, SAN DIEGO
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 024541/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2010
From: FRANK, MARK
To: RESEARCH FOUNDATION OF STATE UNIVERSITV OF NEW YORK, THE
Reel/Frame 023805/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2010
From: BARTLETT, MARIAN STEWART; LITTLEWORT-FORD, GWEN; MOVELLAN, JAVIER; FASEL, IAN
To: REGENTS OF THE UNIVERSITY OF CALIFORNIA, THE
Reel/Frame 023805/0479 →
Continuity (2)
Provisional Application 61092032 · Aug 26, 2008
Related Publication 20100086215A1 · Apr 8, 2010