I've done the detection part. But when it comes to recognition, When another unknown person comes in front of the camera it should display "unknown person," but it is displaying the database person's name instead. Means for all other users it is displaying the same name of the person stored in DB.
Please help me out.
When it comes to a good, all-purpose face detector, I suggest using OpenCV's DNN face detector: It achieves a nice balance of speed and accuracy. As a deep learning-based detector, it's more accurate than its Haar cascade and HOG + Linear SVM counterparts.
Eigenfaces is a method that is useful for face recognition and detection by determining the variance of faces in a collection of face images and use those variances to encode and decode a face in a machine learning way without the full information reducing computation and space complexity.
I don't know how the API is working in java android. But as face recognition is a training algorithm, it will retreive you the closest face from the one you put in entry, even if you did not put it in the training database. However you can set a threshold on the eigenfacerecognizer method in order to determine if a face is in your database. Here is the documentation, "Settings the Threshold" part: http://docs.opencv.org/trunk/modules/contrib/doc/facerec/facerec_api.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With