GestureRecognitionToolkit
Version: 0.1.0
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, Float nullRejectionCoeff=1.0, UINT maxIter=100, Float 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_ (VectorFloat &inputVector) |
virtual bool | clear () |
virtual bool | saveModelToFile (std::fstream &file) const |
virtual bool | loadModelFromFile (std::fstream &file) |
virtual bool | recomputeNullRejectionThresholds () |
UINT | getNumMixtureModels () |
Vector< MixtureModel > | getModels () |
bool | setNumMixtureModels (UINT K) |
bool | setMinChange (Float minChange) |
bool | setMaxIter (UINT maxIter) |
Public Member Functions inherited from Classifier | |
Classifier (void) | |
virtual | ~Classifier (void) |
bool | copyBaseVariables (const Classifier *classifier) |
virtual bool | reset () |
std::string | getClassifierType () const |
bool | getSupportsNullRejection () const |
bool | getNullRejectionEnabled () const |
Float | getNullRejectionCoeff () const |
Float | getMaximumLikelihood () const |
Float | getBestDistance () const |
Float | getPhase () const |
virtual UINT | getNumClasses () const |
UINT | getClassLabelIndexValue (UINT classLabel) const |
UINT | getPredictedClassLabel () const |
VectorFloat | getClassLikelihoods () const |
VectorFloat | getClassDistances () const |
VectorFloat | getNullRejectionThresholds () const |
Vector< UINT > | getClassLabels () const |
Vector< MinMax > | getRanges () const |
bool | enableNullRejection (bool useNullRejection) |
virtual bool | setNullRejectionCoeff (Float nullRejectionCoeff) |
virtual bool | setNullRejectionThresholds (VectorFloat newRejectionThresholds) |
bool | getTimeseriesCompatible () const |
Classifier * | createNewInstance () const |
Classifier * | deepCopy () const |
const Classifier * | getClassifierPointer () const |
const Classifier & | getBaseClassifier () const |
Public Member Functions inherited from MLBase | |
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 (ClassificationDataStream trainingData) |
virtual bool | train_ (ClassificationDataStream &trainingData) |
virtual bool | train (UnlabelledData trainingData) |
virtual bool | train_ (UnlabelledData &trainingData) |
virtual bool | train (MatrixFloat data) |
virtual bool | train_ (MatrixFloat &data) |
virtual bool | predict (VectorFloat inputVector) |
virtual bool | predict (MatrixFloat inputMatrix) |
virtual bool | predict_ (MatrixFloat &inputMatrix) |
virtual bool | map (VectorFloat inputVector) |
virtual bool | map_ (VectorFloat &inputVector) |
virtual bool | print () const |
virtual bool | save (const std::string filename) const |
virtual bool | load (const std::string filename) |
virtual bool | saveModelToFile (std::string filename) const |
virtual bool | loadModelFromFile (std::string filename) |
virtual bool | getModel (std::ostream &stream) const |
Float | scale (const Float &x, const Float &minSource, const Float &maxSource, const Float &minTarget, const Float &maxTarget, const bool constrain=false) |
virtual std::string | getModelAsString () const |
DataType | getInputType () const |
DataType | getOutputType () 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 |
Float | getMinChange () const |
Float | getLearningRate () const |
Float | getRootMeanSquaredTrainingError () const |
Float | getTotalSquaredTrainingError () const |
Float | getValidationSetAccuracy () const |
VectorFloat | getValidationSetPrecision () const |
VectorFloat | getValidationSetRecall () 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 (const bool useScaling) |
bool | setMaxNumEpochs (const UINT maxNumEpochs) |
bool | setMinNumEpochs (const UINT minNumEpochs) |
bool | setMinChange (const Float minChange) |
bool | setLearningRate (const Float learningRate) |
bool | setUseValidationSet (const bool useValidationSet) |
bool | setValidationSetSize (const UINT validationSetSize) |
bool | setRandomiseTrainingOrder (const bool randomiseTrainingOrder) |
bool | setTrainingLoggingEnabled (const bool loggingEnabled) |
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 |
Public Member Functions inherited from GRTBase | |
GRTBase (void) | |
virtual | ~GRTBase (void) |
bool | copyGRTBaseVariables (const GRTBase *GRTBase) |
std::string | getClassType () const |
std::string | getLastWarningMessage () const |
std::string | getLastErrorMessage () const |
std::string | getLastInfoMessage () const |
bool | setInfoLoggingEnabled (const bool loggingEnabled) |
bool | setWarningLoggingEnabled (const bool loggingEnabled) |
bool | setErrorLoggingEnabled (const bool loggingEnabled) |
GRTBase * | getGRTBasePointer () |
const GRTBase * | getGRTBasePointer () const |
Public Member Functions inherited from Observer< TrainingResult > | |
virtual void | notify (const TrainingResult &data) |
Public Member Functions inherited from Observer< TestInstanceResult > | |
virtual void | notify (const TestInstanceResult &data) |
Protected Member Functions | |
Float | computeMixtureLikelihood (const VectorFloat &x, UINT k) |
bool | loadLegacyModelFromFile (std::fstream &file) |
Protected Member Functions inherited from Classifier | |
bool | saveBaseSettingsToFile (std::fstream &file) const |
bool | loadBaseSettingsFromFile (std::fstream &file) |
Protected Member Functions inherited from MLBase | |
bool | saveBaseSettingsToFile (std::fstream &file) const |
bool | loadBaseSettingsFromFile (std::fstream &file) |
Protected Member Functions inherited from GRTBase | |
Float | SQR (const Float &x) const |
Protected Attributes | |
UINT | numMixtureModels |
UINT | maxIter |
Float | minChange |
Vector< MixtureModel > | models |
DebugLog | debugLog |
ErrorLog | errorLog |
WarningLog | warningLog |
Protected Attributes inherited from Classifier | |
std::string | classifierType |
bool | supportsNullRejection |
bool | useNullRejection |
UINT | numClasses |
UINT | predictedClassLabel |
UINT | classifierMode |
Float | nullRejectionCoeff |
Float | maxLikelihood |
Float | bestDistance |
Float | phase |
VectorFloat | classLikelihoods |
VectorFloat | classDistances |
VectorFloat | nullRejectionThresholds |
Vector< UINT > | classLabels |
Vector< MinMax > | ranges |
Protected Attributes inherited from MLBase | |
bool | trained |
bool | useScaling |
DataType | inputType |
DataType | outputType |
UINT | baseType |
UINT | numInputDimensions |
UINT | numOutputDimensions |
UINT | numTrainingIterationsToConverge |
UINT | minNumEpochs |
UINT | maxNumEpochs |
UINT | validationSetSize |
Float | learningRate |
Float | minChange |
Float | rootMeanSquaredTrainingError |
Float | totalSquaredTrainingError |
Float | validationSetAccuracy |
bool | useValidationSet |
bool | randomiseTrainingOrder |
VectorFloat | validationSetPrecision |
VectorFloat | validationSetRecall |
Random | random |
std::vector< TrainingResult > | trainingResults |
TrainingResultsObserverManager | trainingResultsObserverManager |
TestResultsObserverManager | testResultsObserverManager |
Protected Attributes inherited from GRTBase | |
std::string | classType |
DebugLog | debugLog |
ErrorLog | errorLog |
InfoLog | infoLog |
TrainingLog | trainingLog |
TestingLog | testingLog |
WarningLog | warningLog |
Static Protected Attributes | |
static RegisterClassifierModule< GMM > | registerModule |
Additional Inherited Members | |
Public Types inherited from Classifier | |
typedef std::map< std::string, Classifier *(*)() > | StringClassifierMap |
Public Types inherited from MLBase | |
enum | BaseTypes { BASE_TYPE_NOT_SET =0, CLASSIFIER, REGRESSIFIER, CLUSTERER } |
Static Public Member Functions inherited from Classifier | |
static Classifier * | createInstanceFromString (std::string const &classifierType) |
static Vector< std::string > | getRegisteredClassifiers () |
Static Public Member Functions inherited from GRTBase | |
static std::string | getGRTVersion (bool returnRevision=true) |
static std::string | getGRTRevison () |
Protected Types inherited from Classifier | |
enum | ClassifierModes { STANDARD_CLASSIFIER_MODE =0, TIMESERIES_CLASSIFIER_MODE } |
Static Protected Member Functions inherited from Classifier | |
static StringClassifierMap * | getMap () |
GMM::GMM | ( | UINT | numMixtureModels = 2 , |
bool | useScaling = false , |
||
bool | useNullRejection = false , |
||
Float | nullRejectionCoeff = 1.0 , |
||
UINT | maxIter = 100 , |
||
Float | minChange = 1.0e-5 |
||
) |
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 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 | a pointer to the GRT::Classifier Base Class, this should be pointing to another GMM instance |
Reimplemented from Classifier.
Vector< MixtureModel > 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 GMM::getNumMixtureModels | ( | ) |
|
protected |
|
virtual |
|
virtual |
This predicts the class of the inputVector. This overrides the predict function in the GRT::Classifier base class.
inputVector | the input vector to classify |
Reimplemented from 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 Classifier.
|
virtual |
bool 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.
maxIter | the new maxIter value |
bool GMM::setMinChange | ( | Float | minChange | ) |
This function sets the minChange parameter which controls when the GMM train function should stop. MinChange must be greater than zero.
minChange | the new minChange value |
bool 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.
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
trainingData | a reference to the training data |
Reimplemented from MLBase.