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 Types | |
enum | FilterModes { ALL_CLASS_LABELS =0, INDEPENDENT_CLASS_LABELS } |
Public Types inherited from PostProcessing | |
enum | PostprocessingInputModes { INPUT_MODE_NOT_SET =0, INPUT_MODE_PREDICTED_CLASS_LABEL, INPUT_MODE_CLASS_LIKELIHOODS } |
enum | PostprocessingOutputModes { OUTPUT_MODE_NOT_SET =0, OUTPUT_MODE_PREDICTED_CLASS_LABEL, OUTPUT_MODE_CLASS_LIKELIHOODS } |
typedef std::map< std::string, PostProcessing *(*)() > | StringPostProcessingMap |
Public Types inherited from MLBase | |
enum | BaseTypes { BASE_TYPE_NOT_SET =0, CLASSIFIER, REGRESSIFIER, CLUSTERER } |
Public Member Functions | |
ClassLabelTimeoutFilter (unsigned long timeoutDuration=1000, UINT filterMode=ALL_CLASS_LABELS) | |
ClassLabelTimeoutFilter (const ClassLabelTimeoutFilter &rhs) | |
virtual | ~ClassLabelTimeoutFilter () |
ClassLabelTimeoutFilter & | operator= (const ClassLabelTimeoutFilter &rhs) |
virtual bool | deepCopyFrom (const PostProcessing *postProcessing) |
virtual bool | process (const VectorDouble &inputVector) |
virtual bool | reset () |
virtual bool | saveModelToFile (std::string filename) const |
virtual bool | saveModelToFile (std::fstream &file) const |
virtual bool | loadModelFromFile (std::string filename) |
virtual bool | loadModelFromFile (std::fstream &file) |
bool | init (unsigned long timeoutDuration, UINT filterMode=ALL_CLASS_LABELS) |
UINT | filter (UINT predictedClassLabel) |
UINT | getFilteredClassLabel () |
bool | isTimeoutActive () |
bool | setTimeoutDuration (unsigned long timeoutDuration) |
bool | setFilterMode (UINT filterMode) |
Public Member Functions inherited from PostProcessing | |
PostProcessing (void) | |
virtual | ~PostProcessing (void) |
bool | copyBaseVariables (const PostProcessing *postProcessingModule) |
std::string | getPostProcessingType () const |
UINT | getPostProcessingInputMode () const |
UINT | getPostProcessingOutputMode () const |
UINT | getNumInputDimensions () const |
UINT | getNumOutputDimensions () const |
bool | getInitialized () const |
bool | getIsPostProcessingInputModePredictedClassLabel () const |
bool | getIsPostProcessingInputModeClassLikelihoods () const |
bool | getIsPostProcessingOutputModePredictedClassLabel () const |
bool | getIsPostProcessingOutputModeClassLikelihoods () const |
VectorFloat | getProcessedData () const |
PostProcessing * | createNewInstance () 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_ (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_ (VectorFloat &inputVector) |
virtual bool | predict (MatrixFloat inputMatrix) |
virtual bool | predict_ (MatrixFloat &inputMatrix) |
virtual bool | map (VectorFloat inputVector) |
virtual bool | map_ (VectorFloat &inputVector) |
virtual bool | clear () |
virtual bool | print () const |
virtual bool | save (const std::string filename) const |
virtual bool | load (const 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 Attributes | |
UINT | filteredClassLabel |
UINT | filterMode |
unsigned long | timeoutDuration |
Vector< ClassLabelAndTimer > | classLabelTimers |
Protected Attributes inherited from PostProcessing | |
std::string | postProcessingType |
bool | initialized |
UINT | postProcessingInputMode |
UINT | postProcessingOutputMode |
VectorFloat | processedData |
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 RegisterPostProcessingModule< ClassLabelTimeoutFilter > | registerModule |
Additional Inherited Members | |
Static Public Member Functions inherited from PostProcessing | |
static PostProcessing * | createInstanceFromString (std::string const &postProcessingType) |
Static Public Member Functions inherited from GRTBase | |
static std::string | getGRTVersion (bool returnRevision=true) |
static std::string | getGRTRevison () |
Protected Member Functions inherited from PostProcessing | |
bool | init () |
bool | savePostProcessingSettingsToFile (std::fstream &file) const |
bool | loadPostProcessingSettingsFromFile (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 |
Static Protected Member Functions inherited from PostProcessing | |
static StringPostProcessingMap * | getMap () |
Definition at line 73 of file ClassLabelTimeoutFilter.h.
ClassLabelTimeoutFilter::ClassLabelTimeoutFilter | ( | unsigned long | timeoutDuration = 1000 , |
UINT | filterMode = ALL_CLASS_LABELS |
||
) |
Default Constructor. Sets the timeoutDuration and filterMode parameters.
The timeoutDuration sets how long (in milliseconds) the Class Label Timeout Filter will debounce valid predicted class labels for, after it has viewed the first valid predicted class label which triggers the debounce mode to be activated. A valid predicted class label is simply a predicted class label that is not the default null rejection class label (i.e. a label with the class value of 0). The filterMode parameter sets how the Class Label Timeout Filter reacts to different predicted class labels (different from the predicted class label that triggers the debounce mode to be activated). There are two options for the filterMode: ALL_CLASS_LABELS or INDEPENDENT_CLASS_LABELS. In the ALL_CLASS_LABELS filterMode, after the debounce mode has been activated, all class labels will be ignored until the current timeoutDuration period has elapsed, regardless of which class actually triggered the timeout. Alternatively, in the INDEPENDENT_CLASS_LABELS mode, the debounce mode will be reset if a different predicted class label is detected that is different from the predicted class label that initially triggered the debounce mode to be activated. For instance, if the debounce mode was activated with the class label of 1, and then class 2 was input into the class label filter, then the debounce mode would be reset to class 2, even if the timeoutDuration for class 1 had not expired.
timeoutDuration | sets the timeoutDuration value (in milliseconds). Default value timeoutDuration=1000 |
filterMode | sets the filterMode parameter. Default value filterMode=ALL_CLASS_LABELS |
Definition at line 28 of file ClassLabelTimeoutFilter.cpp.
ClassLabelTimeoutFilter::ClassLabelTimeoutFilter | ( | const ClassLabelTimeoutFilter & | rhs | ) |
Copy Constructor.
Copies the values from the rhs ClassLabelTimeoutFilter to this instance of the ClassLabelTimeoutFilter.
rhs | the rhs from which the values will be copied to this this instance of the ClassLabelTimeoutFilter |
Definition at line 39 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
Default Destructor
Definition at line 59 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
Sets the PostProcessing deepCopyFrom function, overwriting the base PostProcessing function. This function is used to deep copy the values from the input pointer to this instance of the PostProcessing module. This function is called by the GestureRecognitionPipeline when the user adds a new PostProcessing module to the pipeline.
postProcessing | a pointer to another instance of a ClassLabelTimeoutFilter, the values of that instance will be cloned to this instance |
Reimplemented from PostProcessing.
Definition at line 78 of file ClassLabelTimeoutFilter.cpp.
UINT ClassLabelTimeoutFilter::filter | ( | UINT | predictedClassLabel | ) |
This is the main filter function which filters the input predictedClassLabel.
predictedClassLabel | the predictedClassLabel which should be filtered return returns the filtered class label |
Definition at line 142 of file ClassLabelTimeoutFilter.cpp.
|
inline |
Get the most recently filtered class label value.
Definition at line 206 of file ClassLabelTimeoutFilter.h.
bool ClassLabelTimeoutFilter::init | ( | unsigned long | timeoutDuration, |
UINT | filterMode = ALL_CLASS_LABELS |
||
) |
This function initializes the ClassLabelTimeoutFilter.
timeoutDuration | sets the timeoutDuration value (in milliseconds) |
filterMode | sets the filterMode parameter |
Definition at line 125 of file ClassLabelTimeoutFilter.cpp.
bool ClassLabelTimeoutFilter::isTimeoutActive | ( | ) |
Get if the filter is currently ignorning new inputs because the timeout is active.
Definition at line 220 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
This loads the post processing settings from a file. This overrides the loadSettingsFromFile function in the PostProcessing base class.
filename | the name of the file to load the settings from |
Reimplemented from PostProcessing.
Definition at line 267 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
This loads the post processing settings from a file. This overrides the loadSettingsFromFile function in the PostProcessing base class.
filename | the name of the file to load the settings from |
Reimplemented from PostProcessing.
Definition at line 283 of file ClassLabelTimeoutFilter.cpp.
ClassLabelTimeoutFilter & ClassLabelTimeoutFilter::operator= | ( | const ClassLabelTimeoutFilter & | rhs | ) |
Assigns the equals operator setting how the values from the rhs instance will be copied to this instance.
rhs | the rhs instance from which the values will be copied to this this instance of the ClassLabelTimeoutFilter |
Definition at line 63 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
Sets the PostProcessing process function, overwriting the base PostProcessing function. This function is called by the GestureRecognitionPipeline when any new input data needs to be processed (during the prediction phase for example). This function calls the ClassLabelTimeoutFilter's filter(...) function.
inputVector | the inputVector that should be processed. This should be a 1-dimensional vector containing a predicted class label |
Reimplemented from PostProcessing.
Definition at line 98 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
Sets the PostProcessing reset function, overwriting the base PostProcessing function. This function is called by the GestureRecognitionPipeline when the pipelines main reset() function is called. This function resets the ClassLabelTimeoutFilter by re-initiliazing the instance.
Reimplemented from PostProcessing.
Definition at line 117 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
This saves the post processing settings to a file. This overrides the saveSettingsToFile function in the PostProcessing base class.
filename | the name of the file to save the settings to |
Reimplemented from PostProcessing.
Definition at line 231 of file ClassLabelTimeoutFilter.cpp.
|
virtual |
This saves the post processing settings to a file. This overrides the saveSettingsToFile function in the PostProcessing base class.
filename | the name of the file to save the settings to |
Reimplemented from PostProcessing.
Definition at line 251 of file ClassLabelTimeoutFilter.cpp.
bool ClassLabelTimeoutFilter::setFilterMode | ( | UINT | filterMode | ) |
Sets the filterMode parameter, must be a value greater than 0.
The filterMode parameter sets how the Class Label Timeout Filter reacts to different predicted class labels (different from the predicted class label that triggers the debounce mode to be activated). There are two options for the filterMode: ALL_CLASS_LABELS or INDEPENDENT_CLASS_LABELS. In the ALL_CLASS_LABELS filterMode, after the debounce mode has been activated, all class labels will be ignored until the current timeoutDuration period has elapsed, regardless of which class actually triggered the timeout. Alternatively, in the INDEPENDENT_CLASS_LABELS mode, the debounce mode will be reset if a different predicted class label is detected that is different from the predicted class label that initially triggered the debounce mode to be activated.
For instance, if the debounce mode was activated with the class label of 1, and then class 2 was input into the class label filter, then the debounce mode would be reset to class 2, even if the timeoutDuration for class 1 had not expired. If the Class Label Filter has been initialized then the module will be reset.
filterMode | the new filterMode parameter |
Definition at line 342 of file ClassLabelTimeoutFilter.cpp.
bool ClassLabelTimeoutFilter::setTimeoutDuration | ( | unsigned long | timeoutDuration | ) |
Sets the timeoutDuration parameter, must be a value greater than 0.
The timeoutDuration sets how long (in milliseconds) the Class Label Timeout Filter will debounce valid predicted class labels for, after it has viewed the first valid predicted class label which triggers the debounce mode to be activated. A valid predicted class label is simply a predicted class label that is not the default null rejection class label (i.e. a label with the class value of 0). If the Class Label Filter has been initialized then the module will be reset.
timeoutDuration | the new timeoutDuration parameter |
Definition at line 334 of file ClassLabelTimeoutFilter.cpp.