Ask Your Question

What are the high level steps to classify a facial expression?

asked 2014-01-15 14:37:55 -0500

_Robert gravatar image

I want to tell if a face in an image is smiling or winking or shouting etc...

I have made an program that works quite well that does the following:

  1. Find the face rectangle using the usual methods (e.g. haarcascade_frontalface_alt.xml)
  2. Crop the face and account for rotations
  3. Resize to a fixed size.
  4. Filter the image (e.g. blur & equalise the histograms etc..)
  5. Run a series of custom HAAR classifiers once on the resultant image (e.g. smile classifier, wink classifier... etc)
  6. Choose the expression with the highest score.

Are there other method I can be using? I have seen SVM and Gabor vector mentioned elsewhere but I don't know how they work.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2014-01-15 15:01:05 -0500

MRDaniel gravatar image

That approach works and has been implemented before. It is the simplest way to do it.

For instance, here is a smile cascade for you to try.

Speed and accuracy will be an issue, but with the right assumptions you _can_ do it.

Other approaches include Eigen/Fisher faces or using an AAM to more finely capture the face and leave hair components out of the image.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-01-15 14:37:55 -0500

Seen: 262 times

Last updated: Jan 15 '14