I have started making a system of telling what expression a given face has. This is my method:
TRAIN CLASSIFIERS
- Find and crop the face rectangle.
- Capture sample face rectangles with different facial expressions (Happy, sad, neutral)
Train several cascade classifiers using
opencv_traincascade
currently using:-numStages 1 -stageType BOOST -featureType HAAR -w 42 -h 53 -bt GAB -minHitRate 0.99 -maxFalseAlarmRate 0.009 -weightTrimRate 0.95 -maxDepth 1 -maxWeakCount 100
(I don't totally understand all of these parameters)
USE CLASSIFIERS
- Find and crop the face rectangle.
- Run the face over each cascade classifier.
- Pick the classifier with the highest result.
So far it has worked quite well, however, it is a little sensitive to lighting conditions.
I want add some kind of filter after before training and classification to reduce the effects of lighting conditions, but I am not sure what ones will work best:
- Gabor?
- Laplace?
- Canny edge?
- Gaussian blur?
- Equalise histogram? etc...
- Use LBP?
What filters might improve the results? or are there any other way too improve my face recognition system?