Hi,
I can detect the human faces with OpenCV. I would like to detect the accurate locations of facial feature points like eyes and corners of the mouth. Is that possible with OpenCV or other free/open source libraries?
Haar cascades can be found here: http://code.opencv.org/projects/opencv/repository/show/trunk/opencv/data/haarcascades. Also check this tutorial: http://docs.opencv.org/doc/tutorials/objdetect/cascadeclassifier/cascadeclassifier.html#cascade-classifier. But if you're going to train your own, you should prefer LBP features, check this guide.
But you should understand that detector returns you only a rectangle, not exact positions of eye/mouth corners. For this you should use something like ASM or AAM. Here is a couple of implementations:
The Flandmark Facial point detector (with code) can be found here: http://cmp.felk.cvut.cz/~uricamic/flandmark/
It will return you the four corner points of the eyes, corner of mouth, center of nose, and center of face. It does however require you to give it a bounding box of the face so you will probably have to use the Viola Jones face detector in OpenCV (or any other method) to locate the face first, which you are already doing.
I've compiled the code on Ubuntu and it works very well, provided the bounding box you give it is "just right". If it is too tightly cropped it might miss the feature points near the border of the image. For such cases, you can try to extend the border and specify the bounding box as the "inner" image (excluding border) and sometimes it works. On the other hand when the bounding box is too large it might converge to some nonsense points. But on the whole it works really well, even on rotated faces, faces with glasses, and those that are close to side profile.
You can use HaarCascades for eyes, nose, mouth, ears, face, etc detection. And by that you can get the position of the facial features.
This paper shows how to detect the eyes.
Bolme, D.S. "Average of Synthetic Exact Filters", IEEE Conference on Computer Vision and Pattern Recognition, 2009. CVPR 2009. PDF and C source code
Asked: 2012-07-13 05:12:26 -0500
Seen: 2,260 times
Last updated: Jan 08