| cv.LBPHFaceRecognizer - MATLAB File Help | Go to online doc for cv.LBPHFaceRecognizer |
Face Recognition based on Local Binary Patterns
All face recognition models in OpenCV are derived from the abstract base
class FaceRecognizer, which provides a unified access to all face
recongition algorithms in OpenCV.
Every FaceRecognizer supports the:
train on a given set of
images (your face database!).Sometimes you run into the situation, when you want to apply a threshold on the prediction. A common scenario in face recognition is to tell, whether a face belongs to the training dataset or if it is unknown. You can set the thresholds in the constructor. You can also get/set the thresholds at runtime!
Here is an example of setting a threshold for the Eigenfaces method, when creating the model:
% Let's say we want to keep 10 Eigenfaces and have a threshold value of 10.0
num_components = 10;
threshold = 10.0;
% Then if you want to have a face recognizer with a confidence threshold,
% create the concrete implementation with the appropiate parameters:
model = cv.BasicFaceRecognizer('Eigenfaces', ...
'NumComponents',num_components, 'Threshold',threshold);
Sometimes it's impossible to train the model, just to experiment with threshold values. It's possible to set model thresholds during runtime. Let's see how we would set/get the prediction for the Eigenface model, we've created above:
% The following line reads the threshold from the Eigenfaces model:
current_threshold = model.Threshold;
% And this line sets the threshold to 0.0:
model.Threshold = 0.0;
If you've set the threshold to 0.0 as we did above, then:
img = cv.imread('person1/3.jpg', 'Grayscale',true);
% Get a prediction from the model. Note: We've set a threshold of 0.0 above,
% since the distance is almost always larger than 0.0, you'll get -1 as
% label, which indicates, this face is unknown
predicted_label = model.predict(img);
% ...
is going to yield -1 as predicted label, which states this face is unknown.
[AHP06]:
Ahonen T., Hadid A. and Pietikainen M. "Face description with local binary patterns: Application to face recognition." IEEE Transactions on Pattern Analysis and Machine Intelligence, 28(12):2037-2041.
| Superclasses | handle |
| Sealed | false |
| Construct on load | false |
| LBPHFaceRecognizer | Constructor |
| GridX | The number of cells in the horizontal direction. |
| GridY | The number of cells in the vertical direction. |
| Neighbors | The number of sample points to build a Circular LBP from. |
| Radius | The radius used for building the Circular LBP. |
| Threshold | parameter, required for default BestMinDist collector. |
| id | Object ID |
| addlistener | Add listener for event. | |
| clear | Clears the algorithm state | |
| delete | Destructor | |
| empty | Checks if detector object is empty | |
| eq | == (EQ) Test handle equality. | |
| findobj | Find objects matching specified conditions. | |
| findprop | Find property of MATLAB handle object. | |
| ge | >= (GE) Greater than or equal relation for handles. | |
| getDefaultName | Returns the algorithm string identifier | |
| getHistograms | Get calculated LBP histograms | |
| getLabelInfo | Gets string information by label | |
| getLabels | Get labels | |
| getLabelsByString | Gets vector of labels by string | |
| gt | > (GT) Greater than relation for handles. | |
| Sealed | isvalid | Test handle validity. |
| le | <= (LE) Less than or equal relation for handles. | |
| listener | Add listener for event without binding the listener to the source object. | |
| load | Loads a FaceRecognizer and its model state | |
| lt | < (LT) Less than relation for handles. | |
| ne | ~= (NE) Not equal relation for handles. | |
| notify | Notify listeners of event. | |
| predict | Predicts a label and associated confidence (e.g. distance) for a given input image | |
| predict_collect | send all result of prediction to collector for custom result handling | |
| save | Saves a FaceRecognizer and its model state | |
| setLabelInfo | Sets string info for the specified model's label | |
| train | Trains a FaceRecognizer with given data and associated labels | |
| typeid | Name of the C++ type (RTTI) | |
| update | Updates a FaceRecognizer with given data and associated labels |
| ObjectBeingDestroyed | Notifies listeners that a particular object has been destroyed. |