![]() |
GestureRecognitionToolkit
Version: 1.0 Revision: 04-03-15
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
|
Public Member Functions | |
GMM (UINT numMixtureModels=2, bool useScaling=false, bool useNullRejection=false, double nullRejectionCoeff=1.0, UINT maxIter=100, double minChange=1.0e-5) | |
GMM (const GMM &rhs) | |
virtual | ~GMM (void) |
GMM & | operator= (const GMM &rhs) |
virtual bool | deepCopyFrom (const Classifier *classifier) |
virtual bool | train_ (ClassificationData &trainingData) |
virtual bool | predict_ (VectorDouble &inputVector) |
virtual bool | clear () |
virtual bool | saveModelToFile (fstream &file) const |
virtual bool | loadModelFromFile (fstream &file) |
virtual bool | recomputeNullRejectionThresholds () |
UINT | getNumMixtureModels () |
vector< MixtureModel > | getModels () |
bool | setNumMixtureModels (UINT K) |
bool | setMinChange (double minChange) |
bool | setMaxIter (UINT maxIter) |
![]() | |
Classifier (void) | |
virtual | ~Classifier (void) |
bool | copyBaseVariables (const Classifier *classifier) |
virtual bool | reset () |
string | getClassifierType () const |
bool | getSupportsNullRejection () const |
bool | getNullRejectionEnabled () const |
double | getNullRejectionCoeff () const |
double | getMaximumLikelihood () const |
double | getBestDistance () const |
double | getPhase () const |
virtual UINT | getNumClasses () const |
UINT | getClassLabelIndexValue (UINT classLabel) const |
UINT | getPredictedClassLabel () const |
VectorDouble | getClassLikelihoods () const |
VectorDouble | getClassDistances () const |
VectorDouble | getNullRejectionThresholds () const |
vector< UINT > | getClassLabels () const |
vector< MinMax > | getRanges () const |
bool | enableNullRejection (bool useNullRejection) |
virtual bool | setNullRejectionCoeff (double nullRejectionCoeff) |
virtual bool | setNullRejectionThresholds (VectorDouble newRejectionThresholds) |
bool | getTimeseriesCompatible () const |
Classifier * | createNewInstance () const |
Classifier * | deepCopy () const |
const Classifier * | getClassifierPointer () const |
const Classifier & | getBaseClassifier () const |
![]() | |
MLBase (void) | |
virtual | ~MLBase (void) |
bool | copyMLBaseVariables (const MLBase *mlBase) |
virtual bool | train (ClassificationData trainingData) |
virtual bool | train (RegressionData trainingData) |
virtual bool | train_ (RegressionData &trainingData) |
virtual bool | train (TimeSeriesClassificationData trainingData) |
virtual bool | train_ (TimeSeriesClassificationData &trainingData) |
virtual bool | train (TimeSeriesClassificationDataStream trainingData) |
virtual bool | train_ (TimeSeriesClassificationDataStream &trainingData) |
virtual bool | train (UnlabelledData trainingData) |
virtual bool | train_ (UnlabelledData &trainingData) |
virtual bool | train (MatrixDouble data) |
virtual bool | train_ (MatrixDouble &data) |
virtual bool | predict (VectorDouble inputVector) |
virtual bool | predict (MatrixDouble inputMatrix) |
virtual bool | predict_ (MatrixDouble &inputMatrix) |
virtual bool | map (VectorDouble inputVector) |
virtual bool | map_ (VectorDouble &inputVector) |
virtual bool | print () const |
virtual bool | save (const string filename) const |
virtual bool | load (const string filename) |
virtual bool | saveModelToFile (string filename) const |
virtual bool | loadModelFromFile (string filename) |
virtual bool | getModel (ostream &stream) const |
double | scale (const double &x, const double &minSource, const double &maxSource, const double &minTarget, const double &maxTarget, const bool constrain=false) |
virtual string | getModelAsString () const |
UINT | getBaseType () const |
UINT | getNumInputFeatures () const |
UINT | getNumInputDimensions () const |
UINT | getNumOutputDimensions () const |
UINT | getMinNumEpochs () const |
UINT | getMaxNumEpochs () const |
UINT | getValidationSetSize () const |
UINT | getNumTrainingIterationsToConverge () const |
double | getMinChange () const |
double | getLearningRate () const |
double | getRootMeanSquaredTrainingError () const |
double | getTotalSquaredTrainingError () const |
bool | getUseValidationSet () const |
bool | getRandomiseTrainingOrder () const |
bool | getTrained () const |
bool | getModelTrained () const |
bool | getScalingEnabled () const |
bool | getIsBaseTypeClassifier () const |
bool | getIsBaseTypeRegressifier () const |
bool | getIsBaseTypeClusterer () const |
bool | enableScaling (bool useScaling) |
bool | setMaxNumEpochs (const UINT maxNumEpochs) |
bool | setMinNumEpochs (const UINT minNumEpochs) |
bool | setMinChange (const double minChange) |
bool | setLearningRate (double learningRate) |
bool | setUseValidationSet (const bool useValidationSet) |
bool | setValidationSetSize (const UINT validationSetSize) |
bool | setRandomiseTrainingOrder (const bool randomiseTrainingOrder) |
bool | registerTrainingResultsObserver (Observer< TrainingResult > &observer) |
bool | registerTestResultsObserver (Observer< TestInstanceResult > &observer) |
bool | removeTrainingResultsObserver (const Observer< TrainingResult > &observer) |
bool | removeTestResultsObserver (const Observer< TestInstanceResult > &observer) |
bool | removeAllTrainingObservers () |
bool | removeAllTestObservers () |
bool | notifyTrainingResultsObservers (const TrainingResult &data) |
bool | notifyTestResultsObservers (const TestInstanceResult &data) |
MLBase * | getMLBasePointer () |
const MLBase * | getMLBasePointer () const |
vector< TrainingResult > | getTrainingResults () const |
![]() | |
GRTBase (void) | |
virtual | ~GRTBase (void) |
bool | copyGRTBaseVariables (const GRTBase *GRTBase) |
string | getClassType () const |
string | getLastWarningMessage () const |
string | getLastErrorMessage () const |
string | getLastInfoMessage () const |
GRTBase * | getGRTBasePointer () |
const GRTBase * | getGRTBasePointer () const |
![]() | |
virtual void | notify (const TrainingResult &data) |
![]() | |
virtual void | notify (const TestInstanceResult &data) |
Protected Member Functions | |
double | computeMixtureLikelihood (const VectorDouble &x, UINT k) |
bool | loadLegacyModelFromFile (fstream &file) |
![]() | |
bool | saveBaseSettingsToFile (fstream &file) const |
bool | loadBaseSettingsFromFile (fstream &file) |
![]() | |
bool | saveBaseSettingsToFile (fstream &file) const |
bool | loadBaseSettingsFromFile (fstream &file) |
![]() | |
double | SQR (const double &x) const |
Protected Attributes | |
UINT | numMixtureModels |
UINT | maxIter |
double | minChange |
vector< MixtureModel > | models |
DebugLog | debugLog |
ErrorLog | errorLog |
WarningLog | warningLog |
![]() | |
string | classifierType |
bool | supportsNullRejection |
bool | useNullRejection |
UINT | numClasses |
UINT | predictedClassLabel |
UINT | classifierMode |
double | nullRejectionCoeff |
double | maxLikelihood |
double | bestDistance |
double | phase |
VectorDouble | classLikelihoods |
VectorDouble | classDistances |
VectorDouble | nullRejectionThresholds |
vector< UINT > | classLabels |
vector< MinMax > | ranges |
![]() | |
bool | trained |
bool | useScaling |
UINT | baseType |
UINT | numInputDimensions |
UINT | numOutputDimensions |
UINT | numTrainingIterationsToConverge |
UINT | minNumEpochs |
UINT | maxNumEpochs |
UINT | validationSetSize |
double | learningRate |
double | minChange |
double | rootMeanSquaredTrainingError |
double | totalSquaredTrainingError |
bool | useValidationSet |
bool | randomiseTrainingOrder |
Random | random |
vector< TrainingResult > | trainingResults |
TrainingResultsObserverManager | trainingResultsObserverManager |
TestResultsObserverManager | testResultsObserverManager |
![]() | |
string | classType |
DebugLog | debugLog |
ErrorLog | errorLog |
InfoLog | infoLog |
TrainingLog | trainingLog |
TestingLog | testingLog |
WarningLog | warningLog |
Static Protected Attributes | |
static RegisterClassifierModule< GMM > | registerModule |
Additional Inherited Members | |
![]() | |
typedef std::map< string, Classifier *(*)() > | StringClassifierMap |
![]() | |
enum | BaseTypes { BASE_TYPE_NOT_SET =0, CLASSIFIER, REGRESSIFIER, CLUSTERER } |
![]() | |
static Classifier * | createInstanceFromString (string const &classifierType) |
static vector< string > | getRegisteredClassifiers () |
![]() | |
static string | getGRTVersion (bool returnRevision=true) |
static string | getGRTRevison () |
![]() | |
enum | ClassifierModes { STANDARD_CLASSIFIER_MODE =0, TIMESERIES_CLASSIFIER_MODE } |
![]() | |
static StringClassifierMap * | getMap () |
GRT::GMM::GMM | ( | UINT | numMixtureModels = 2 , |
bool | useScaling = false , |
||
bool | useNullRejection = false , |
||
double | nullRejectionCoeff = 1.0 , |
||
UINT | maxIter = 100 , |
||
double | minChange = 1.0e-5 |
||
) |
GRT::GMM::GMM | ( | const GMM & | rhs | ) |
|
virtual |
This overrides the clear function in the Classifier base class. It will completely clear the ML module, removing any trained model and setting all the base variables to their default values.
Reimplemented from GRT::Classifier.
|
virtual |
This is required for the Gesture Recognition Pipeline for when the pipeline.setClassifier method is called. It clones the data from the Base Class GRT::Classifier pointer (which should be pointing to an GMM instance) into this instance
Classifier | *classifier: a pointer to the GRT::Classifier Base Class, this should be pointing to another GMM instance |
Reimplemented from GRT::Classifier.
vector< MixtureModel > GRT::GMM::getModels | ( | ) |
This function returns a copy of the MixtureModels estimated during the training phase. Each element in the vector represents a MixtureModel for one class.
UINT GRT::GMM::getNumMixtureModels | ( | ) |
|
protected |
|
virtual |
This loads a trained GMM model from a file. This overrides the loadModelFromFile function in the GRT::Classifier base class.
fstream | &file: a reference to the file the GMM model will be loaded from |
Reimplemented from GRT::MLBase.
|
virtual |
This predicts the class of the inputVector. This overrides the predict function in the GRT::Classifier base class.
VectorDouble | inputVector: the input vector to classify |
Reimplemented from GRT::MLBase.
|
virtual |
This function recomputes the null rejection thresholds for each model. This overrides the recomputeNullRejectionThresholds function in the GRT::Classifier base class.
Reimplemented from GRT::Classifier.
|
virtual |
This saves the trained GMM model to a file. This overrides the saveModelToFile function in the GRT::Classifier base class.
fstream | &file: a reference to the file the GMM model will be saved to |
Reimplemented from GRT::MLBase.
bool GRT::GMM::setMaxIter | ( | UINT | maxIter | ) |
This function sets the maxIter parameter which controls when the maximum number of iterations parameter that controls when the GMM train function should stop. MaxIter must be greater than zero.
double | maxIter: the new maxIter value |
bool GRT::GMM::setMinChange | ( | double | minChange | ) |
This function sets the minChange parameter which controls when the GMM train function should stop. MinChange must be greater than zero.
double | minChange: the new minChange value |
bool GRT::GMM::setNumMixtureModels | ( | UINT | K | ) |
This function sets the number of mixture models used for class. You should call this function before you train the GMM model. The number of mixture models must be greater than 0.
UINT | K: the number of mixture models |
|
virtual |
This trains the GMM model, using the labelled classification data. This overrides the train function in the GRT::Classifier base class. The GMM is an unsupervised learning algorithm, it will therefore NOT use any class labels provided
ClassificationData | trainingData: a reference to the training data |
Reimplemented from GRT::MLBase.