-->

Face Recognition in OpenCV

2019-02-15 15:37发布

问题:

I was trying to build a basic Face Recognition system (PCA-Eigenfaces) using OpenCV 2.2 (from Willow Garage). I understand from many of the previous posts on Face Recognition that there is no standard open source library that can provide all the face recognition for you.

Instead, I would like to know if someone has used the functions(and integrated them):

icvCalcCovarMatrixEx_8u32fR
icvCalcEigenObjects_8u32fR
icvEigenProjection_8u32fR

et.al in the eigenobjects.cpp to form a face recognition system, because the functions seem to provide much of the required functionality along with cvSvd?

I am having a tough time trying to understand to do so since I am new to OpenCV.

回答1:

Update: OpenCV 2.4.2 now comes with the very new cv::FaceRecognizer. Please see the very detailed documentation at:

  • http://docs.opencv.org/trunk/tutorial_face_main.html


回答2:

I worked on a project with CV to recognize facial features. Most people don't understand the difference between Biometrics and Facial Recognition. There is a huge difference based on the fact that Biometrics is mainly based on histogram density matching while Facial Recognition implements this and vector support based on feature recognition from density. Check out the following link. This is the library you want to use if you are pursuing CV and Facial Recognition: www.betaface.com . Oleksander is awesome and based out of Germany, but he answers questions which is nice.



回答3:

With OpenCV it's easy to get started with face detection. It comes with some predefined sets for feature detection, including face detection.

You might already know this one: OpenCV Wiki, FaceDetection

The important functions in this example are cvLoad and cvHaarDetectObjects. The first one loads the classifier and the second one applies it to an image. The standard classifiers work pretty well. Of course you can train your own classifiers, if the standard ones don't fit your purpose.

As you said there are a lot of algorithms for face detection. Some of them might provide better results, but OpenCV is definitively a good start.