-2

I'm trying to build a face recognizer with OpenCV. The basic setup is that the phone will take a picture, generate the feature vector, and send it to a server. The server will be the one that does that actual recognizing.

I have followed the tutorial listed here. With this, I was able to correctly obtain keypoints and create a descriptor based off an image.

So now I have what I believe is the feature vector (descriptor... right?). However, I have been unable to find any tutorial to recognize faces based on this value. I found tutorials based on using the raw images, but I'm trying to not use the image on the server.

Is there any way to do face recognition (eigenfaces, fisherfaces, lbp) using the generated feature vector?

Community
  • 1
  • 1
user3709119
  • 107
  • 11

1 Answers1

0

I still don't know exactly what the descriptors and keypoints are used for... but it's not for face recognition.

I found out what I need to do on the phone side by reviewing the code found online. I just need to do the following to get ready for the face recognition:

Mat lbp_image = elbp(src, _radius, _neighbors);
Mat query = spatial_histogram(
        lbp_image, /* lbp_image */
        static_cast<int>(std::pow(2.0, static_cast<double>(_neighbors))), /* number of possible patterns */
        _grid_x, /* grid size x */
        _grid_y, /* grid size y */
        true /* normed histograms */);

The above code can be found at different locations on the link provided above. Hopefully this will help anyone else trying to work with this in the future.

user3709119
  • 107
  • 11