![]() |
digiKam
|
#include <opencvdnnfacerecognizer.h>
Classes | |
class | Private |
Public Types | |
enum | Classifier { SVM = 0 , OpenCV_KNN , Tree , DB } |
Public Member Functions | |
void | clearTraining (const QList< int > &idsToClear) |
OpenCVDNNFaceRecognizer (Classifier method, FaceScanSettings::FaceRecognitionModel recModel) | |
OpenCVDNNFaceRecognizer:Master class to control entire recognition using OpenFace algorithm. | |
QVector< int > | recognize (const QList< QPair< QImage *, QString > > &inputImages) |
int | recognize (const QPair< QImage *, QString > &inputImage) |
bool | registerTrainingData (const cv::Mat &preprocessedImage, int label) |
register training data for unit test. | |
bool | remove (const QString &hash) |
void | setNbNeighbors (int k) |
void | setThreshold (int threshold) |
void | train (const QList< QPair< QImage *, QString > > &images, const int label) |
int | verifyTestData (const cv::Mat &preprocessedImage) |
predict label of test data for unit test. | |
~OpenCVDNNFaceRecognizer () | |
Static Public Member Functions | |
static cv::Mat | prepareForRecognition (const cv::Mat &cvinputImage) |
static cv::Mat | prepareForRecognition (QImage &inputImage) |
Enumerator | |
---|---|
SVM | Support Vector Machines (https://docs.opencv.org/4.x/dc/dd6/ml_intro.html#ml_intro_svm) |
OpenCV_KNN | K-Nearest Neighbors (https://docs.opencv.org/4.x/dc/dd6/ml_intro.html#ml_intro_knn) |
Tree | K-Nearest Neighbors Tree (https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm) |
DB | Closest Neighbors Tree from the database. |
|
explicit |
OpenCVDNNFaceRecognizer:Master class to control entire recognition using OpenFace algorithm.
References Digikam::OpenCVDNNFaceRecognizer::Private::ref.
Digikam::OpenCVDNNFaceRecognizer::~OpenCVDNNFaceRecognizer | ( | ) |
References Digikam::OpenCVDNNFaceRecognizer::Private::ref.
void Digikam::OpenCVDNNFaceRecognizer::clearTraining | ( | const QList< int > & | idsToClear | ) |
Clear specified trained data.
References Digikam::FaceDb::clearDNNTraining(), and Digikam::FaceDbAccess::db().
|
static |
Returns a cvMat created from the cvinputImage, optimized for recognition.
|
static |
Returns a cvMat created from the inputImage, optimized for recognition.
Referenced by Digikam::OpenCVDNNFaceRecognizer::Private::ParallelRecognizer::operator()(), Digikam::OpenCVDNNFaceRecognizer::Private::ParallelTrainer::operator()(), and recognize().
QVector< int > Digikam::OpenCVDNNFaceRecognizer::recognize | ( | const QList< QPair< QImage *, QString > > & | inputImages | ) |
Try to recognize a list of given images. Returns a list of identity ids. If an identity cannot be recognized, returns -1.
int Digikam::OpenCVDNNFaceRecognizer::recognize | ( | const QPair< QImage *, QString > & | inputImage | ) |
Try to recognize the given image. Returns the identity id. If the identity cannot be recognized, returns -1. TODO: verify workflow to economize this routine.
References DB, Digikam::OpenCVDNNFaceRecognizer::Private::extractors, Digikam::OpenCVDNNFaceRecognizer::Private::method, OpenCV_KNN, Digikam::OpenCVDNNFaceRecognizer::Private::predictDb(), Digikam::OpenCVDNNFaceRecognizer::Private::predictKDTree(), Digikam::OpenCVDNNFaceRecognizer::Private::predictKNN(), Digikam::OpenCVDNNFaceRecognizer::Private::predictSVM(), prepareForRecognition(), SVM, and Tree.
Referenced by Digikam::FacialRecognitionWrapper::recognizeFaces().
bool Digikam::OpenCVDNNFaceRecognizer::registerTrainingData | ( | const cv::Mat & | preprocessedImage, |
int | label | ||
) |
register training data for unit test.
References Digikam::KDTreeBase::add(), Digikam::OpenCVDNNFaceRecognizer::Private::extractors, Digikam::OpenCVDNNFaceRecognizer::Private::method, Tree, and Digikam::OpenCVDNNFaceRecognizer::Private::tree.
bool Digikam::OpenCVDNNFaceRecognizer::remove | ( | const QString & | hash | ) |
Returns a cvMat of the extracted features from the cvinputImage, optimized for recognition.
References Digikam::FaceDbAccess::db(), Digikam::OpenCVDNNFaceRecognizer::Private::recognizeModel, Digikam::FaceDb::reconstructTree(), Digikam::FaceDb::removeFaceVector(), and Digikam::OpenCVDNNFaceRecognizer::Private::tree.
void Digikam::OpenCVDNNFaceRecognizer::setNbNeighbors | ( | int | k | ) |
Set K parameter of K-Nearest neighbors algorithm.
References Digikam::OpenCVDNNFaceRecognizer::Private::kNeighbors.
Referenced by Digikam::FacialRecognitionWrapper::Private::applyParameters().
void Digikam::OpenCVDNNFaceRecognizer::setThreshold | ( | int | threshold | ) |
Set maximum square distance of 2 vectors.
References Digikam::OpenCVDNNFaceRecognizer::Private::uiThreshold.
Referenced by Digikam::FacialRecognitionWrapper::Private::applyParameters(), and Digikam::FacialRecognitionWrapper::setParameters().
void Digikam::OpenCVDNNFaceRecognizer::train | ( | const QList< QPair< QImage *, QString > > & | images, |
const int | label | ||
) |
Register faces corresponding to an identity.
References Digikam::OpenCVDNNFaceRecognizer::Private::newDataAdded.
Referenced by Digikam::FacialRecognitionWrapper::Private::trainIdentityBatch().
int Digikam::OpenCVDNNFaceRecognizer::verifyTestData | ( | const cv::Mat & | preprocessedImage | ) |
predict label of test data for unit test.
References Digikam::OpenCVDNNFaceRecognizer::Private::extractors, Digikam::OpenCVDNNFaceRecognizer::Private::method, Digikam::OpenCVDNNFaceRecognizer::Private::predictKDTree(), and Tree.